class Sequel::Firebird::Database
Constants
- DISCONNECT_ERRORS
- DatasetClass
Public Instance Methods
connect(server)
click to toggle source
# File lib/sequel/adapters/firebird.rb, line 15 def connect(server) opts = server_opts(server) Fb::Database.new( :database => "#{opts[:host]}:#{opts[:database]}", :username => opts[:user], :password => opts[:password]).connect end
disconnect_connection(conn)
click to toggle source
# File lib/sequel/adapters/firebird.rb, line 24 def disconnect_connection(conn) begin conn.close rescue Fb::Error nil end end
execute(sql, opts=OPTS) { |r| ... }
click to toggle source
# File lib/sequel/adapters/firebird.rb, line 32 def execute(sql, opts=OPTS) begin synchronize(opts[:server]) do |conn| if conn.transaction_started && !_trans(conn) conn.rollback raise DatabaseDisconnectError, "transaction accidently left open, rolling back and disconnecting" end r = log_yield(sql){conn.execute(sql)} yield(r) if block_given? r end rescue Fb::Error => e raise_error(e, :disconnect=>DISCONNECT_ERRORS.match(e.message)) end end
Private Instance Methods
adapter_initialize()
click to toggle source
Add the primary_keys instance variable so we can get the correct return values for inserted rows.
# File lib/sequel/adapters/firebird.rb, line 51 def adapter_initialize @primary_keys = {} end
begin_transaction(conn, opts=OPTS)
click to toggle source
# File lib/sequel/adapters/firebird.rb, line 55 def begin_transaction(conn, opts=OPTS) log_yield(TRANSACTION_BEGIN) do begin conn.transaction rescue Fb::Error => e conn.rollback raise_error(e, :disconnect=>true) end end end
commit_transaction(conn, opts=OPTS)
click to toggle source
# File lib/sequel/adapters/firebird.rb, line 66 def commit_transaction(conn, opts=OPTS) log_yield(TRANSACTION_COMMIT){conn.commit} end
database_error_classes()
click to toggle source
# File lib/sequel/adapters/firebird.rb, line 70 def database_error_classes [Fb::Error] end
rollback_transaction(conn, opts=OPTS)
click to toggle source
# File lib/sequel/adapters/firebird.rb, line 74 def rollback_transaction(conn, opts=OPTS) log_yield(TRANSACTION_ROLLBACK){conn.rollback} end