Included modules
Constants
DISCONNECT_ERRORS | = | /Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements/ |
Public Instance methods
connect
(server)
[show 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)
[show 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)
[show 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