Class Sequel::Firebird::Database
In: lib/sequel/adapters/firebird.rb
Parent: Sequel::Database

Methods

Included Modules

Sequel::Firebird::DatabaseMethods

Constants

DISCONNECT_ERRORS = /Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements/

Public Instance methods

[Source]

    # File lib/sequel/adapters/firebird.rb, line 15
15:       def connect(server)
16:         opts = server_opts(server)
17: 
18:         Fb::Database.new(
19:           :database => "#{opts[:host]}:#{opts[:database]}",
20:           :username => opts[:user],
21:           :password => opts[:password]).connect
22:       end

[Source]

    # File lib/sequel/adapters/firebird.rb, line 24
24:       def disconnect_connection(conn)
25:         begin
26:           conn.close
27:         rescue Fb::Error
28:           nil
29:         end
30:       end

[Source]

    # File lib/sequel/adapters/firebird.rb, line 32
32:       def execute(sql, opts=OPTS)
33:         begin
34:           synchronize(opts[:server]) do |conn|
35:             if conn.transaction_started && !_trans(conn)
36:               conn.rollback
37:               raise DatabaseDisconnectError, "transaction accidently left open, rolling back and disconnecting"
38:             end
39:             r = log_yield(sql){conn.execute(sql)}
40:             yield(r) if block_given?
41:             r
42:           end
43:         rescue Fb::Error => e
44:           raise_error(e, :disconnect=>DISCONNECT_ERRORS.match(e.message))
45:         end
46:       end

[Validate]