#

# Index of the `dbconnection` module

- m `sqlobject.dbconnection` ...
  - a `__package__` ...
  - a `TheURIOpener` ...
  - C `DBConnection` ...
    - f `expireAll` ... - Expire all instances of objects for this connection.
    - f `soClassAdded` ... - This is called for each new class; we use this opportunity to create an instance method that is bound to the class and this connection.
    - f `uri` ...
    - f `connectionFromOldURI` ...
    - f `connectionFromURI` ...
    - f `oldUri` ...
    - f `__init__` ...
  - C `ConnectionURIOpener` ...
    - f `connectionForURI` ...
    - f `registerConnectionInstance` ...
  - C `ConnectionHub` ... - This object serves as a hub for connections, so that you can pass in a ConnectionHub to a SQLObject subclass as though it was a connection, but actually bind a real database connection later. You can also bind connections on a per-thread basis.
    - a `threadConnection` ...
    - f `__set__` ...
    - f `getConnection` ...
    - f `doInTransaction` ... - This routine can be used to run a function in a transaction, rolling the transaction back if any exception is raised from that function, and committing otherwise.
    - f `__init__` ...
  - C `LogWriter` ...
    - f `write` ...
  - C `ConnWrapper` ... - This represents a SQLObject class that is bound to a specific connection (instances have a connection instance variable, but classes are global, so this is binds the connection variable lazily when a class method is accessed)
    - f `__call__` ...
    - f `__init__` ...
  - C `Transaction` ...
    - f `begin` ...
    - f `rollback` ...
    - f `queryInsertID` ...
    - f `__del__` ...
    - f `assertActive` ...
    - f `iterSelect` ...
    - f `commit` ...
    - f `close` ...
    - f `queryAll` ...
    - f `__init__` ...
  - C `Iteration` ...
    - f `next` ...
    - f `__init__` ...
  - C `ConnMethodWrapper` ...
    - f `__call__` ...
  - C `ConsoleWriter` ...
  - C `Boolean` ... - A bool class that also understands some special string keywords (yes/no, true/false, on/off, 1/0)
  - C `DBAPI` ... - Subclass must define a makeConnection() method, which returns a newly-created connection object.
    - a `dbName` ...
    - f `createReferenceConstraint` ...
    - f `getConnection` ...
    - f `accumulateSelect` ... - Apply an accumulate function(s) (SUM, COUNT, MIN, AVG, MAX, etc...) to the select object.
    - f `transaction` ...
    - f `query` ...
    - f `close` ...
    - f `createBinary` ... - Create a binary object wrapper for the given database.
    - f `queryAll` ...
    - f `__init__` ...
    - f `createTableSQL` ...
    - f `expireAll` ... - Expire all instances of objects for this connection.
    - f `uri` ...
    - f `printDebug` ...
    - f `iterSelect` ...
    - f `queryAllDescription` ...
    - f `createTable` ...
    - f `connectionFromURI` ...
    - f `oldUri` ...
    - f `createIndexSQL` ...
    - f `createColumn` ...
    - f `createReferenceConstraints` ...
    - f `dropTable` ...
    - f `clearTable` ...
    - f `__del__` ...
    - f `queryForSelect` ...
    - f `sqlrepr` ...
    - f `queryOne` ...
    - f `queryInsertID` ...
    - f `soClassAdded` ... - This is called for each new class; we use this opportunity to create an instance method that is bound to the class and this connection.
    - f `createColumns` ...
    - f `connectionFromOldURI` ...
    - f `createSQL` ...
    - f `releaseConnection` ...
    - f `createEmptyDatabase` ... - Create an empty database.
  - f `dbConnectionForScheme` ...
  - f `makeDebugWriter` ...
  - f `registerConnection` ...
  - f `registerConnectionInstance` ...
  - f `connectionForURI` ...