Class: PGlite::Result

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/active_record/connection_adapters/pglite_adapter.rb

Instance Method Summary collapse

Constructor Details

#initialize(res) ⇒ Result

Returns a new instance of Result.



16
17
18
# File 'lib/active_record/connection_adapters/pglite_adapter.rb', line 16

def initialize(res)
  @res = res
end

Instance Method Details

#clearObject



54
55
# File 'lib/active_record/connection_adapters/pglite_adapter.rb', line 54

def clear
end

#cmd_tuplesObject



50
51
52
# File 'lib/active_record/connection_adapters/pglite_adapter.rb', line 50

def cmd_tuples
  @res[:affectedRows].to_i
end

#eachObject



59
60
61
62
63
64
65
66
67
68
69
# File 'lib/active_record/connection_adapters/pglite_adapter.rb', line 59

def each
  columns = self.fields
  @res[:rows].to_a.each do |raw_row|
    row = {}
    columns.each do |col|
      value = raw_row[col]
      row[col.to_s] = translate_value(value)
    end
    yield row
  end
end

#fieldsObject



38
39
40
# File 'lib/active_record/connection_adapters/pglite_adapter.rb', line 38

def fields
  @res[:fields].to_a.map { |col| col[:name].to_s }
end

#fmod(index) ⇒ Object



46
47
48
# File 'lib/active_record/connection_adapters/pglite_adapter.rb', line 46

def fmod(index)
  0
end

#ftype(index) ⇒ Object



42
43
44
# File 'lib/active_record/connection_adapters/pglite_adapter.rb', line 42

def ftype(index)
  @res[:fields][index][:dataTypeID]
end

#map_types!(map) ⇒ Object



20
21
22
# File 'lib/active_record/connection_adapters/pglite_adapter.rb', line 20

def map_types!(map)
  self
end

#valuesObject



24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/active_record/connection_adapters/pglite_adapter.rb', line 24

def values
  results = []
  columns = self.fields
  @res[:rows].to_a.each do |raw_row|
    row = []
    columns.each do |col|
      value = raw_row[col]
      row << translate_value(value)
    end
    results << row
  end
  results
end