class Baza::Driver::Sqlite3Java::UnbufferedResult

Public Class Methods

new(_driver, result_set) click to toggle source
# File lib/baza/driver/sqlite3_java/unbuffered_result.rb, line 2
def initialize(_driver, result_set)
  @result_set = result_set
  return unless @result_set

  metadata = @result_set.meta_data
  @columns_count = metadata.column_count

  @columns = []
  1.upto(@columns_count) do |count|
    @columns << metadata.column_name(count).to_sym
  end
end

Public Instance Methods

each() { |data| ... } click to toggle source
# File lib/baza/driver/sqlite3_java/unbuffered_result.rb, line 27
def each
  loop do
    data = fetch

    if data
      yield data
    else
      break
    end
  end
end
fetch() click to toggle source
# File lib/baza/driver/sqlite3_java/unbuffered_result.rb, line 15
def fetch
  result = @result_set.next if @result_set
  return nil unless result

  hash = {}
  @columns_count.times do |count|
    hash[@columns[count]] = @result_set.string(count + 1)
  end

  hash
end