class DB::Postgres::Connection
This implements the interface between the underlying
Public Class Methods
new(**options)
click to toggle source
Calls superclass method
# File lib/db/postgres/connection.rb, line 32 def initialize(**options) @native = Native::Connection.connect(**options) super() end
Public Instance Methods
append_identifier(value, buffer = String.new)
click to toggle source
# File lib/db/postgres/connection.rb, line 67 def append_identifier(value, buffer = String.new) case value when Array first = true value.each do |part| buffer << '.' unless first first = false buffer << @native.escape_identifier(part) end else buffer << @native.escape_identifier(value) end return buffer end
append_literal(value, buffer = String.new)
click to toggle source
# File lib/db/postgres/connection.rb, line 50 def append_literal(value, buffer = String.new) case value when Numeric buffer << value.to_s when TrueClass buffer << 'TRUE' when FalseClass buffer << 'FALSE' when nil buffer << 'NULL' else append_string(value, buffer) end return buffer end
append_string(value, buffer = String.new)
click to toggle source
# File lib/db/postgres/connection.rb, line 44 def append_string(value, buffer = String.new) buffer << @native.escape_literal(value) return buffer end
close()
click to toggle source
Calls superclass method
# File lib/db/postgres/connection.rb, line 38 def close @native.close super end
key_column(name = 'id', primary: true, null: false)
click to toggle source
# File lib/db/postgres/connection.rb, line 84 def key_column(name = 'id', primary: true, null: false) buffer = String.new append_identifier(name, buffer) if primary buffer << " BIGSERIAL" else buffer << " BIGINT" end if primary buffer << " PRIMARY KEY" elsif !null buffer << " NOT NULL" end return buffer end
next_result()
click to toggle source
# File lib/db/postgres/connection.rb, line 114 def next_result @native.next_result end
send_query(statement)
click to toggle source
# File lib/db/postgres/connection.rb, line 108 def send_query(statement) @native.discard_results @native.send_query(statement) end
status()
click to toggle source
# File lib/db/postgres/connection.rb, line 104 def status @native.status end