class

DB::Connection

Inherits DB::BeginTransaction / DB::SessionMethods / DB::QueryMethods / DB::Disposable / Reference / Object

Database driver implementors must subclass Connection.

Represents one active connection to a database.

Users should never instantiate a Connection manually. Use DB#open or Database#connection.

Refer to QueryMethods for documentation about querying the database through this connection.

Note to implementors

The connection must be initialized in #initialize and closed in #do_close.

Override #build_prepared_statement method in order to return a prepared Statement to allow querying. Override #build_unprepared_statement method in order to return a unprepared Statement to allow querying. See also Statement to define how the statements are executed.

If at any give moment the connection is lost a DB::ConnectionLost should be raised. This will allow the connection pool to try to reconnect or use another connection if available.

Constructors

new(options : Options)
Source

Instance methods

begin_transaction

Creates a transaction from the current context. If is expected that either Transaction#commit or Transaction#rollback are called explicitly to release the context.

Source
prepared_statements?

Returns whether by default the statements should be prepared or not.

Source
prepared_statements_cache?
Source
release

return this connection to the pool managed by the database. Should be used only if the connection was obtained by Database#checkout.

Source

Nested types