# File lib/dbi/handles/statement.rb, line 207 def fetch(&p) sanity_check({ :fetchable => true, :prepared => true, :executed => true }) if block_given? while (res = @handle.fetch) != nil @row = @row.dup @row.set_values(res) yield @row end @handle.cancel @fetchable = false return nil else res = @handle.fetch if res.nil? @handle.cancel @fetchable = false else @row = @row.dup @row.set_values(res) res = @row end return res end end