abstract class DB::Connection
- DB::Connection
- Reference
- Object
Overview
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.
Included Modules
Defined in:
db/connection.crClass Method Summary
Instance Method Summary
- #begin_transaction
- #prepared_statements? : Bool
-
#release
return this connection to the pool managed by the database.
Instance methods inherited from module DB::BeginTransaction
begin_transaction : Transaction
begin_transaction,
transaction(&block)
transaction
Instance methods inherited from module DB::SessionMethods(DB::Connection, DB::Statement)
build(query) : Stmt
build,
build_unprepared_statement(query) : Stmt
build_unprepared_statement,
fetch_or_build_prepared_statement(query) : Stmt
fetch_or_build_prepared_statement,
prepared(query)prepared prepared, prepared_statements? : Bool prepared_statements?, unprepared(query)
unprepared unprepared
Instance methods inherited from module DB::QueryMethods
exec(query, *args)
exec,
query(query, *args)query(query, *args, &block) query, query_all(query, *args, &block : ResultSet -> U) : Array(U) forall U
query_all(query, *args, as types : Tuple)
query_all(query, *args, as type : Class) query_all, query_each(query, *args, &block) query_each, query_one(query, *args, &block : ResultSet -> U) : U forall U
query_one(query, *args, as types : Tuple)
query_one(query, *args, as type : Class) query_one, query_one?(query, *args, &block : ResultSet -> U) : U? forall U
query_one?(query, *args, as types : Tuple)
query_one?(query, *args, as type : Class) query_one?, scalar(query, *args) scalar
Instance methods inherited from module DB::Disposable
close
close,
closed?
closed?
Class Method Detail
Instance Method Detail
return this connection to the pool
managed by the database. Should be used
only if the connection was obtained by Database#checkout.