module ActiveRecord::ConnectionAdapters::DatabaseStatements

Public Instance Methods

do_exec_query(sql, name, binds) click to toggle source
# File lib/active_record/connection_adapters/crate/database_statements.rb, line 33
def do_exec_query(sql, name, binds)
  params = []
  binds.each_with_index do |(column, value), index|
    ar_column = column.is_a?(ActiveRecord::ConnectionAdapters::Column)
    # only quote where clause values
    unless ar_column # && column.sql_type == 'timestamp'
      v = value
      quoted_value = ar_column ? quote(v, column) : quote(v, nil)
      params << quoted_value
    else
      params << value
    end

  end
  @connection.execute sql, params
end
exec_query(sql, name = 'SQL', binds = []) click to toggle source
# File lib/active_record/connection_adapters/crate/database_statements.rb, line 24
def exec_query(sql, name = 'SQL', binds = [])
  result = nil
  log(sql, name, binds) {
    result = do_exec_query(sql, name, binds)
  }
  fields = result.cols
  ActiveRecord::Result.new(fields, result.values)
end
execute(sql, name = nil) click to toggle source

Executes an SQL statement, returning a ResultSet object on success or raising a CrateError exception otherwise.

# File lib/active_record/connection_adapters/crate/database_statements.rb, line 58
def execute(sql, name = nil)
  log(sql, name) do
    @connection.execute(sql)
  end
end
sql_key(sql) click to toggle source

Returns the statement identifier for the client side cache of statements

# File lib/active_record/connection_adapters/crate/database_statements.rb, line 52
def sql_key(sql)
  sql
end

Protected Instance Methods

select(sql, name, binds) click to toggle source
# File lib/active_record/connection_adapters/crate/database_statements.rb, line 65
def select(sql, name, binds)
  exec_query(sql, name, binds)
end