class ActiveRecord::ConnectionAdapters::NuoDBAdapter::StatementPool

Attributes

connection[R]
max[R]

Public Class Methods

new(connection, max) click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/nuodb_adapter.rb, line 193
def initialize(connection, max)
  super
  @cache = Hash.new { |h, pid| h[pid] = {} }
end

Public Instance Methods

[](key) click to toggle source
# File lib/active_record/connection_adapters/nuodb_adapter.rb, line 206
def [](key)
  cache[key]
end
[]=(sql, key) click to toggle source
# File lib/active_record/connection_adapters/nuodb_adapter.rb, line 210
def []=(sql, key)
  while max <= cache.size
    dealloc cache.shift.last[:stmt]
  end
  cache[sql] = key
end
clear() click to toggle source
# File lib/active_record/connection_adapters/nuodb_adapter.rb, line 226
def clear
  cache.each_value do |hash|
    dealloc hash[:stmt]
  end
  cache.clear
end
delete(key) click to toggle source
# File lib/active_record/connection_adapters/nuodb_adapter.rb, line 221
def delete(key)
  dealloc cache[key][:stmt]
  cache.delete(key)
end
each(&block) click to toggle source
# File lib/active_record/connection_adapters/nuodb_adapter.rb, line 198
def each(&block)
  cache.each(&block)
end
key?(key) click to toggle source
# File lib/active_record/connection_adapters/nuodb_adapter.rb, line 202
def key?(key)
  cache.key?(key)
end
length() click to toggle source
# File lib/active_record/connection_adapters/nuodb_adapter.rb, line 217
def length
  cache.length
end

Private Instance Methods

cache() click to toggle source
# File lib/active_record/connection_adapters/nuodb_adapter.rb, line 235
def cache
  @cache[Process.pid]
end
dealloc(stmt) click to toggle source
# File lib/active_record/connection_adapters/nuodb_adapter.rb, line 239
def dealloc(stmt)
  # todo
  #stmt.finish if connection.ping
end