module ArJdbc::Mimer

Public Class Methods

extended(mod) click to toggle source
# File lib/arjdbc/mimer/adapter.rb, line 3
def self.extended(mod)
  require 'arjdbc/jdbc/quoted_primary_key'
  ActiveRecord::Base.extend ArJdbc::QuotedPrimaryKeyExtension
end

Public Instance Methods

_execute(sql, name = nil) click to toggle source
# File lib/arjdbc/mimer/adapter.rb, line 126
def _execute(sql, name = nil)
    if sql =~ /^select/i
      @offset ||= 0
      if !@limit || @limit == -1
        range = @offset..-1
      else
        range = @offset...(@offset+@limit)
      end
      @connection.execute_query(sql)[range]
    else
      @connection.execute_update(sql)
    end
ensure
  @limit = @offset = nil
end
execute_prepared_insert(sql, id) click to toggle source
# File lib/arjdbc/mimer/adapter.rb, line 61
def execute_prepared_insert(sql, id)
  @stmts ||= {}
  @stmts[sql] ||= @connection.ps(sql)
  stmt = @stmts[sql]
  stmt.setLong(1,id)
  stmt.executeUpdate
  id
end
modify_types(tp) click to toggle source
# File lib/arjdbc/mimer/adapter.rb, line 8
def modify_types(tp)
  tp[:primary_key] = "INTEGER NOT NULL PRIMARY KEY"
  tp[:boolean][:limit] = nil
  tp[:string][:limit] = 255
  tp[:binary] = {:name => "BINARY VARYING", :limit => 4096}
  tp[:text] = {:name => "VARCHAR", :limit => 4096}
  tp[:datetime] = { :name => "TIMESTAMP" }
  tp[:timestamp] = { :name => "TIMESTAMP" }
  tp[:time] = { :name => "TIMESTAMP" }
  tp[:date] = { :name => "TIMESTAMP" }
  tp
end
quoted_false() click to toggle source
# File lib/arjdbc/mimer/adapter.rb, line 98
def quoted_false
  '0'
end
quoted_true() click to toggle source
# File lib/arjdbc/mimer/adapter.rb, line 94
def quoted_true
  '1'
end
select_all(sql, name = nil, binds = []) click to toggle source
# File lib/arjdbc/mimer/adapter.rb, line 107
def select_all(sql, name = nil, binds = [])
  @offset ||= 0
  if !@limit || @limit == -1
    range = @offset..-1
  else
    range = @offset...(@offset+@limit)
  end
  select(sql, name, binds)[range]
ensure
  @limit = @offset = nil
end
select_one(sql, name = nil) click to toggle source
# File lib/arjdbc/mimer/adapter.rb, line 119
def select_one(sql, name = nil)
  @offset ||= 0
  select(sql, name)[@offset]
ensure
  @limit = @offset = nil
end