Class: Baza::Driver::Sqlite3Java::UnbufferedResult

Inherits:
ResultBase
  • Object
show all
Defined in:
lib/baza/drivers/sqlite3_java/unbuffered_result.rb

Instance Method Summary collapse

Methods inherited from ResultBase

#to_a, #to_a_enum, #to_enum

Constructor Details

#initialize(driver, result_set) ⇒ UnbufferedResult



2
3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/baza/drivers/sqlite3_java/unbuffered_result.rb', line 2

def initialize(driver, result_set)
  @result_set = result_set

  if @result_set
     = @result_set.
    @columns_count = .column_count

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

Instance Method Details

#eachObject



28
29
30
31
32
# File 'lib/baza/drivers/sqlite3_java/unbuffered_result.rb', line 28

def each
  while data = fetch
    yield data
  end
end

#fetchObject



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/baza/drivers/sqlite3_java/unbuffered_result.rb', line 16

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

  return hash
end