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