Hey There! Went through a really nice post by Craig Freedman on "Blocking/ Non Blocking Iterators", find below the link to it:
http://blogs.msdn.com/b/craigfr/archive/2006/06/19/637048.aspx After reading the above post, i was curious to get a comprehensive list of all Blocking/Non Blocking iterators, but could'nt find anything anywhere! Can someone help me to put this list together? Just Curious! :) -Yasub
The fully-blocking iterators that consume their entire input in `Open()` are: - Sort (including TopN Sort and Sort Distinct) - Eager Hash Distinct (*not* Flow Distinct) - Hash Join (build input only, probe is pipelined) - Eager Table Spool - Eager Index Spool - Eager Row Count Spool - UDX (check, compile, and serialize) - Scalar (no group by clause) aggregate - Batch Hash Table Build (columnstore) - Remote Range - Remote Scan - Remote Query - Remote Fetch - Remote Modify Other iterators are either fully pipelined or semi-blocking (a *group* of rows is consumed before producing output).