Sha256: 96b434fe0257a1eaa9678f5229d8fca61dca9063663c7c92da8e49ff422be71f
Contents?: true
Size: 929 Bytes
Versions: 1
Compression:
Stored size: 929 Bytes
Contents
module PgStream class Stream def initialize(db_conn, body) @db_conn = db_conn @db_conn.send_query(body) @db_conn.set_single_row_mode end def headers @headers ||= get_headers end def each_row(&block) headers # ensure that headers has been called so we have the first row return unless @first_row # dont yield any rows if the query returns no results yield(@first_row) loop do res = @db_conn.get_result || break res.check res.each_row do |row| yield(row) end end end private def get_headers first_row_result = @db_conn.get_result first_row_result.check # values is method on the result object, which can have many rows, # but which will only return one row in single_row_mode @first_row = first_row_result.values[0] first_row_result.fields end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pg_stream-0.1.0 | lib/pg_stream/stream.rb |