Main BLR codes¶
|
|
|
|
|
|
|
__version__: | Current driver version, string. |
---|
apilevel: | String constant stating the supported DB API level (2.0). |
---|---|
threadsafety: | Integer constant stating the level of thread safety the interface supports. Curretly 1 = Threads may share the module, but not connections. |
paramstyle: | String constant stating the type of parameter marker formatting expected by the interface. ‘qmark’ = Question mark style, e.g. ‘…WHERE name=?’ |
Cursor.description
content¶ISOLATION_LEVEL_READ_COMMITED_LEGACY: | |
---|---|
R/W WAIT READ COMMITTED NO RECORD VERSION transaction. | |
ISOLATION_LEVEL_READ_COMMITED: | |
R/W WAIT READ COMMITTED RECORD VERSION transaction. | |
ISOLATION_LEVEL_REPEATABLE_READ: | |
Same as ISOLATION_LEVEL_SNAPSHOT. | |
ISOLATION_LEVEL_SNAPSHOT: | |
R/W WAIT SNAPSHOT transaction. | |
ISOLATION_LEVEL_SERIALIZABLE: | |
R/W WAIT SERIALIZABLE transaction. | |
ISOLATION_LEVEL_SNAPSHOT_TABLE_STABILITY: | |
Same as ISOLATION_LEVEL_SERIALIZABLE. | |
ISOLATION_LEVEL_READ_COMMITED_RO: | |
R/O WAIT READ COMMITTED RECORD VERSION transaction. | |
MAX_BLOB_SEGMENT_SIZE: | |
charset_map: | Python dictionary that maps Firebird character set names (key) to Python character sets (value). |
IMPLEMENTATION_NAMES: | |
---|---|
Dictionary to map Implementation codes to names | |
PROVIDER_NAMES: | Dictionary to map provider codes to names |
DB_CLASS_NAMES: | Dictionary to map database class codes to names |
|
|
|
|
|
fdb.
Error
¶Bases: exceptions.Exception
Exception that is the base class of all other error exceptions. You can use this to catch all errors with one single ‘except’ statement. Warnings are not considered errors and thus should not use this class as base.
fdb.
InterfaceError
¶Bases: fdb.fbcore.Error
Exception raised for errors that are related to the database interface rather than the database itself.
fdb.
DatabaseError
¶Bases: fdb.fbcore.Error
Exception raised for errors that are related to the database.
fdb.
DataError
¶Bases: fdb.fbcore.DatabaseError
Exception raised for errors that are due to problems with the processed data like division by zero, numeric value out of range, etc.
fdb.
OperationalError
¶Bases: fdb.fbcore.DatabaseError
Exception raised for errors that are related to the database’s operation and not necessarily under the control of the programmer, e.g. an unexpected disconnect occurs, the data source name is not found, a transaction could not be processed, a memory allocation error occurred during processing, etc.
fdb.
IntegrityError
¶Bases: fdb.fbcore.DatabaseError
Exception raised when the relational integrity of the database is affected, e.g. a foreign key check fails.
fdb.
InternalError
¶Bases: fdb.fbcore.DatabaseError
Exception raised when the database encounters an internal error, e.g. the cursor is not valid anymore, the transaction is out of sync, etc.
fdb.
ProgrammingError
¶Bases: fdb.fbcore.DatabaseError
Exception raised for programming errors, e.g. table not found or already exists, syntax error in the SQL statement, wrong number of parameters specified, etc.
fdb.
NotSupportedError
¶Bases: fdb.fbcore.DatabaseError
Exception raised in case a method or database API was used which is not supported by the database
fdb.
TransactionConflict
¶Bases: fdb.fbcore.DatabaseError
fdb.
ParseError
¶Bases: exceptions.Exception
This is the exception inheritance layout:
StandardError
|__Warning
|__Error
|__InterfaceError
|__ParseError
|__DatabaseError
|__DataError
|__OperationalError
|__IntegrityError
|__InternalError
|__ProgrammingError
|__NotSupportedError
fdb.
connect
(dsn='', user=None, password=None, host=None, port=None, database=None, sql_dialect=3, role=None, charset=None, buffers=None, force_write=None, no_reserve=None, db_key_scope=None, isolation_level='\x03\t\x06\x0f\x11', connection_class=None, fb_library_name=None, no_gc=None, no_db_triggers=None, no_linger=None)¶Establish a connection to database.
Parameters: |
|
---|---|
Returns: | Connection to database. |
Return type: |
|
Raises: |
|
Important
You may specify the database using either dns or database (with optional host), but not both.
Examples:
con = fdb.connect(dsn='host:/path/database.fdb', user='sysdba',
password='pass', charset='UTF8')
con = fdb.connect(host='myhost', database='/path/database.fdb',
user='sysdba', password='pass', charset='UTF8')
Hooks:
Event HOOK_DATABASE_ATTACH_REQUEST: Executed after all parameters
are preprocessed and before Connection
is created. Hook
must have signature: hook_func(dsn, dpb) where dpb is
ParameterBuffer
instance.
Hook may return Connection
(or subclass) instance or None.
First instance returned by any hook will become the return value
of this function and other hooks are not called.
Event HOOK_DATABASE_ATTACHED: Executed before Connection
(or subclass) instance is returned. Hook must have signature:
hook_func(connection). Any value returned by hook is ignored.
fdb.
create_database
(sql='', sql_dialect=3, dsn='', user=None, password=None, host=None, port=None, database=None, page_size=None, length=None, charset=None, files=None, connection_class=None, fb_library_name=None)¶Creates a new database. Parameters could be specified either by supplied “CREATE DATABASE” statement, or set of database parameters.
Parameters: |
|
---|---|
Returns: | Connection to the newly created database. |
Return type: |
|
Raises: |
|
Example:
con = fdb.create_database("create database '/temp/db.fdb' user 'sysdba' password 'pass'")
con = fdb.create_database(dsn='/temp/db.fdb',user='sysdba',password='pass',page_size=8192)
Hooks:
Event` HOOK_DATABASE_ATTACHED`: Executed before Connection
(or subclass) instance is returned. Hook must have signature:
hook_func(connection). Any value returned by hook is ignored.
fdb.
load_api
(fb_library_name=None)¶Initializes bindings to Firebird Client Library unless they are already initialized.
Called automatically by fdb.connect()
and fdb.create_database()
.
Parameters: | fb_library_name (string) – (optional) Path to Firebird Client Library. When it’s not specified, FDB does its best to locate appropriate client library. |
---|---|
Returns: | fdb.ibase.fbclient_API instance. |
Hooks:
Event HOOK_API_LOADED: Executed after api is initialized. Hook routine must have signature: hook_func(api). Any value returned by hook is ignored.
fdb.
Connection
(db_handle, dpb=None, sql_dialect=3, charset=None, isolation_level='x03tx06x0fx11')¶Represents a connection between the database client (the Python process) and the database server.
Important
DO NOT create instances of this class directly! Use only
connect()
or create_database()
to get Connection instances.
Parameters: |
|
---|
DataError
¶Exception raised for errors that are due to problems with the processed data like division by zero, numeric value out of range, etc.
args
¶message
¶DatabaseError
¶Exception raised for errors that are related to the database.
args
¶message
¶Error
¶Exception that is the base class of all other error exceptions. You can use this to catch all errors with one single ‘except’ statement. Warnings are not considered errors and thus should not use this class as base.
args
¶message
¶IntegrityError
¶Exception raised when the relational integrity of the database is affected, e.g. a foreign key check fails.
args
¶message
¶InterfaceError
¶Exception raised for errors that are related to the database interface rather than the database itself.
args
¶message
¶InternalError
¶Exception raised when the database encounters an internal error, e.g. the cursor is not valid anymore, the transaction is out of sync, etc.
args
¶message
¶NotSupportedError
¶Exception raised in case a method or database API was used which is not supported by the database
args
¶message
¶OperationalError
¶Exception raised for errors that are related to the database’s operation and not necessarily under the control of the programmer, e.g. an unexpected disconnect occurs, the data source name is not found, a transaction could not be processed, a memory allocation error occurred during processing, etc.
args
¶message
¶ProgrammingError
¶Exception raised for programming errors, e.g. table not found or already exists, syntax error in the SQL statement, wrong number of parameters specified, etc.
args
¶message
¶begin
(tpb=None)¶Starts a transaction explicitly.
Operates on main_transaction
.
See Transaction.begin()
for details.
Parameters: | tpb (TPB instance, list/tuple of isc_tpb_* constants
or bytestring) – (Optional) Transaction Parameter Buffer for newly started
transaction. If not specified, default_tpb is used. |
---|
close
()¶Close the connection now (rather than whenever __del__ is called).
The connection will be unusable from this point forward; an Error
(or subclass) exception will be raised if any operation is attempted
with the connection. The same applies to all cursor and transaction
objects trying to use the connection.
Also closes all EventConduit
, Cursor
and Transaction
instances associated with this connection.
Raises: | ProgrammingError – When connection is a member of a ConnectionGroup . |
---|
Hooks:
Event HOOK_DATABASE_DETACH_REQUEST: Executed before connection is closed. Hook must have signature: hook_func(connection). If any hook function returns True, connection is not closed.
Event HOOK_DATABASE_CLOSED: Executed after connection is closed. Hook must have signature: hook_func(connection). Any value returned by hook is ignored.
commit
(retaining=False)¶Commit pending transaction to the database.
Operates on main_transaction
.
See Transaction.commit()
for details.
Parameters: | retaining (boolean) – (Optional) Indicates whether the transactional context of the transaction being resolved should be recycled. |
---|---|
Raises: | ProgrammingError – If Connection is closed . |
cursor
()¶Return a new Cursor
instance using the connection
associated with main_transaction
.
See Transaction.cursor()
for details.
Raises: | ProgrammingError – If Connection is closed . |
---|
database_info
(info_code, result_type, page_number=None)¶Wraps the Firebird C API function isc_database_info.
For documentation, see the IB 6 API Guide section entitled “Requesting information about an attachment” (p. 51).
Note that this method is a VERY THIN wrapper around the FB C API function isc_database_info. This method does NOT attempt to interpret its results except with regard to whether they are a string or an integer.
For example, requesting isc_info_user_names will return a string containing a raw succession of length-name pairs. A thicker wrapper might interpret those raw results and return a Python tuple, but it would need to handle a multitude of special cases in order to cover all possible isc_info_* items.
Parameters: |
|
---|---|
Raises: |
|
See also
Extracting data with the database_info function is rather
clumsy. See db_info()
for higher-level means of accessing the
same information.
Note
Some of the information available through this method would be
more easily retrieved with the Services API (see submodule
fdb.services
).
db_info
(request)¶Higher-level convenience wrapper around the database_info()
method
that parses the output of database_info into Python-friendly objects
instead of returning raw binary buffers in the case of complex result types.
Parameters: | request – Single fdb.isc_info_* info request code or a sequence of such codes. |
---|---|
Returns: | Mapping of (info request code -> result). |
Raises: |
|
drop_database
()¶Drops the database to which this connection is attached.
Unlike plain file deletion, this method behaves responsibly, in that it removes shadow files and other ancillary files for this database.
Raises: |
|
---|
event_conduit
(event_names)¶Creates a conduit through which database event notifications will flow into the Python program.
Parameters: | event_names – A sequence of string event names. |
---|---|
Returns: | An EventConduit instance. |
execute_immediate
(sql)¶Executes a statement in context of main_transaction
without
caching its prepared form.
Automatically starts transaction if it’s not already started.
Parameters: | sql (string) – SQL statement to execute. |
---|
Important
The statement must not be of a type that returns a result set. In most cases (especially cases in which the same statement – perhaps a parameterized statement – is executed repeatedly), it is better to create a cursor using the connection’s cursor method, then execute the statement using one of the cursor’s execute methods.
Parameters: | sql (string) – SQL statement to execute. |
---|---|
Raises: |
|
get_active_transaction_count
()¶Return count of currently active transactions.
get_active_transaction_ids
()¶Return list of transaction IDs for all currently active transactions.
get_page_contents
(page_number)¶Return content of specified database page as binary string.
Parameters: | page_number (int) – Page sequence number. |
---|
get_table_access_stats
()¶Return current stats for access to tables.
Returns: | List of fbcore._TableAccessStats instances. |
---|
isreadonly
()¶Returns True if database is read-only.
rollback
(retaining=False, savepoint=None)¶Causes the the database to roll back to the start of pending transaction.
Operates on main_transaction
.
See Transaction.rollback()
for details.
Parameters: |
|
---|---|
Raises: | ProgrammingError – If Connection is |
savepoint
(name)¶Establishes a named SAVEPOINT for current transaction.
Operates on main_transaction
.
See Transaction.savepoint()
for details.
Parameters: | name (string) – Name for savepoint. |
---|---|
Raises: | ProgrammingError – If Connection is closed . |
Example:
con.savepoint('BEGINNING_OF_SOME_SUBTASK')
...
con.rollback(savepoint='BEGINNING_OF_SOME_SUBTASK')
trans
(default_tpb=None)¶Creates a new Transaction
that operates within the context
of this connection. Cursors can be created within that Transaction via
its cursor()
method.
Parameters: | default_tpb (TPB instance, list/tuple of isc_tpb_* constants
or bytestring) – (optional) Transaction Parameter Block for newly created
Transaction. If not specified, default_tpb is used. |
---|---|
Raises: | ProgrammingError – If Connection is closed . |
trans_info
(request)¶Pythonic wrapper around transaction_info()
call.
Operates on main_transaction
.
See Transaction.trans_info()
for details.
transaction_info
(info_code, result_type)¶Returns information about active transaction.
Thin wrapper around Firebird API isc_transaction_info call.
Operates on main_transaction
.
See Transaction.transaction_info()
for details.
attachment_id
¶charset
¶closed
¶creation_date
¶current_memory
¶database_name
¶database_sql_dialect
¶db_class_id
¶default_tpb
¶engine_version
¶firebird_version
¶forced_writes
¶group
¶implementation_id
¶io_stats
¶main_transaction
¶max_memory
¶monitor
¶next_transaction
¶oat
¶ods
¶ods_minor_version
¶ods_version
¶oit
¶ost
¶page_cache_size
¶page_size
¶pages_allocated
¶provider_id
¶query_transaction
¶schema
¶server_version
¶site_name
¶space_reservation
¶sql_dialect
¶sweep_interval
¶transactions
¶version
¶fdb.
ConnectionWithSchema
(db_handle, dpb=None, sql_dialect=3, charset=None, isolation_level='x03tx06x0fx11')¶Connection
descendant that exposes all attributes of encapsulated
Schema
instance directly as connection attributes, except
close()
and bind()
, and
those attributes that are already defined by Connection class.
Note
Use connection_class parametr of connect()
or create_database()
to create connections with direct schema interface.
Note
For list of methods see fdb.schema.Schema
.
fdb.
Cursor
(connection, transaction)¶Represents a database cursor, which is used to execute SQL statement and manage the context of a fetch operation.
Important
DO NOT create instances of this class directly! Use only
Connection.cursor()
, Transaction.cursor()
and
ConnectionGroup.cursor()
to get Cursor instances that operate in
desired context.
Note
Cursor is actually a high-level wrapper around PreparedStatement
instance(s) that handle the actual SQL statement execution and result
management.
Tip
Cursor supports the iterator protocol, yielding tuples of values like
fetchone()
.
Important
The association between a Cursor and its Transaction
and
Connection
is set when the Cursor is created, and cannot be
changed during the lifetime of that Cursor.
Parameters: |
|
---|
callproc
(procname, parameters=None)¶Call a stored database procedure with the given name.
The result of the call is available through the standard fetchXXX() methods.
Parameters: |
|
---|---|
Returns: | parameters, as required by Python DB API 2.0 Spec. |
Raises: |
|
close
()¶Close the cursor now (rather than whenever __del__ is called).
Closes any currently open PreparedStatement
. However, the cursor
is still bound to Connection
and Transaction
, so it
could be still used to execute SQL statements.
Warning
FDB’s implementation of Cursor somewhat violates the Python DB API 2.0, which requires that cursor will be unusable after call to close; and an Error (or subclass) exception should be raised if any operation is attempted with the cursor.
If you’ll take advantage of this anomaly, your code would be less portable to other Python DB API 2.0 compliant drivers.
execute
(operation, parameters=None)¶Prepare and execute a database operation (query or command).
Note
Execution is handled by PreparedStatement
that is either
supplied as operation parameter, or created internally when
operation is a string. Internally created PreparedStatements are
stored in cache for later reuse, when the same operation string is
used again.
Returns: | self, so call to execute could be used as iterator. |
---|---|
Parameters: |
|
Raises: |
|
executemany
(operation, seq_of_parameters)¶Prepare a database operation (query or command) and then execute it against all parameter sequences or mappings found in the sequence seq_of_parameters.
Note
This function simply calls execute()
in a loop, feeding it with
parameters from seq_of_parameters. Because execute caches
PreparedStatements, calling executemany is equally efective as
direct use of prepared statement and calling execute in a loop
directly in application.
Returns: | self, so call to executemany could be used as iterator. |
---|---|
Parameters: |
|
Raises: |
|
fetchall
()¶Fetch all (remaining) rows of a query result.
Returns: | List of tuples, where each tuple is one row of returned values. |
---|---|
Raises: |
|
fetchallmap
()¶Fetch all (remaining) rows of a query result like fetchall()
,
except that it returns a list of mappings of field name to field
value, rather than a list of tuples.
Returns: | List of |
---|---|
Raises: |
|
fetchmany
(size=1)¶Fetch the next set of rows of a query result, returning a sequence of sequences (e.g. a list of tuples). An empty sequence is returned when no more rows are available. The number of rows to fetch per call is specified by the parameter. If it is not given, the cursor’s arraysize determines the number of rows to be fetched. The method does try to fetch as many rows as indicated by the size parameter. If this is not possible due to the specified number of rows not being available, fewer rows may be returned.
Parameters: | size (integer) – Max. number of rows to fetch. |
---|---|
Returns: | List of tuples, where each tuple is one row of returned values. |
Raises: |
|
fetchmanymap
(size=1)¶Fetch the next set of rows of a query result, like fetchmany()
,
except that it returns a list of mappings of field name to field
value, rather than a list of tuples.
Parameters: | size (integer) – Max. number of rows to fetch. |
---|---|
Returns: | List of |
Raises: |
|
fetchone
()¶Fetch the next row of a query result set.
Returns: | tuple of returned values, or None when no more data is available. |
---|---|
Raises: |
|
fetchonemap
()¶Fetch the next row of a query result set like fetchone()
,
except that it returns a mapping of field name to field value, rather
than a tuple.
Returns: |
|
---|---|
Raises: |
|
iter
()¶Equivalent to the fetchall()
, except that it returns iterator
rather than materialized list.
Returns: | Iterator that yields tuple of values like fetchone() . |
---|
itermap
()¶Equivalent to the fetchallmap()
, except that it returns iterator
rather than materialized list.
Returns: | Iterator that yields fbcore._RowMapping instance
like fetchonemap() . |
---|
next
()¶Return the next item from the container. Part of iterator protocol.
Raises: | StopIteration – If there are no further items. |
---|
prep
(operation)¶Create prepared statement for repeated execution.
Note
Returned PreparedStatement
instance is bound to its Cursor
instance via strong reference, and is not stored in Cursor’s
internal cache of prepared statements.
Parameters: | operation (string) – SQL command |
---|---|
Returns: |
|
Raises: |
|
set_stream_blob
(blob_name)¶Specify a BLOB column(s) to work in stream mode instead classic, materialized mode for already executed statement.
Parameters: | blob_name (string or list) – Single name or sequence of column names. Name must
be in format as it’s stored in database (refer
to description for real value). |
---|
Important
BLOB name is permanently added to the list of BLOBs handled
as stream BLOBs by current PreparedStatement
instance.
If instance is stored in internal cache of prepared statements,
the same command executed repeatedly will retain this setting.
Parameters: | blob_name (string) – Name of BLOB column. |
---|---|
Raises: | ProgrammingError – |
set_stream_blob_treshold
(size)¶Specify max. blob size for materialized blobs.
If size of particular blob exceeds this threshold, returns streamed blob
(BlobReader
) instead string. Value -1 means no size limit (use
at your own risk). Default value is 64K
Parameters: | size (integer) – Max. size for materialized blob. |
---|
setinputsizes
(sizes)¶Required by Python DB API 2.0, but pointless for Firebird, so it does nothing.
setoutputsize
(size, column=None)¶Required by Python DB API 2.0, but pointless for Firebird, so it does nothing.
arraysize
= 1¶connection
¶description
¶name
¶plan
¶rowcount
¶transaction
¶fdb.
Transaction
(connections, default_tpb=None, default_action='commit')¶Represents a transaction context, which is used to execute SQL statement.
Important
DO NOT create instances of this class directly! Connection
and
ConnectionGroup
manage Transaction internally, surfacing all
important methods directly in their interfaces. If you want additional
transactions independent from Connection.main_transaction
,
use Connection.trans()
method to obtain such Transaction instance.
Parameters: |
|
---|---|
Raises: | ProgrammingError – When zero or more than 16 connections are given. |
begin
(tpb=None)¶Starts a transaction explicitly.
Parameters: | tpb (TPB instance, list/tuple of isc_tpb_* constants
or bytestring) – (optional) Transaction Parameter Block for newly created
Transaction. If not specified, default_tpb is used. |
---|
Note
Calling this method directly is never required; a transaction will be started implicitly if necessary.
Important
If the physical transaction is unresolved when this method is called,
a commit()
or rollback()
will be performed first, accordingly
to default_action
value.
Raises: |
|
---|
close
()¶Permanently closes the Transaction object and severs its associations
with other objects (Cursor
and Connection
instances).
Important
If the physical transaction is unresolved when this method is called,
a commit()
or rollback()
will be performed first, accordingly
to default_action
value.
commit
(retaining=False)¶Commit any pending transaction to the database.
Note
If transaction is not active, this method does nothing, because the consensus among Python DB API experts is that transactions should always be started implicitly, even if that means allowing a commit() or rollback() without an actual transaction.
Parameters: | retaining (boolean) – Indicates whether the transactional context of the transaction being resolved should be recycled. |
---|---|
Raises: | DatabaseError – When error is returned by server as response to commit. |
cursor
(connection=None)¶Creates a new Cursor
that will operate in the context of this
Transaction.
Parameters: | connection (Connection instance) – Required only when Transaction is bound to multiple
Connections, to specify to which Connection the
returned Cursor should be bound. |
---|---|
Raises: | ProgrammingError – When transaction operates on multiple Connections and: connection parameter is not specified, or specified connection is not among Connections this Transaction is bound to. |
execute_immediate
(sql)¶Automatically starts transaction if it’s not already started.
Parameters: | sql (string) – SQL statement to execute. |
---|
Important
The statement must not be of a type that returns a result set. In most cases (especially cases in which the same statement – perhaps a parameterized statement – is executed repeatedly), it is better to create a cursor using the connection’s cursor method, then execute the statement using one of the cursor’s execute methods.
Parameters: | sql (string) – SQL statement to execute. |
---|---|
Raises: | DatabaseError – When error is returned from server. |
isreadonly
()¶Returns True if transaction is Read Only.
prepare
()¶Manually triggers the first phase of a two-phase commit (2PC).
Note
Direct use of this method is optional; if preparation is not triggered manually, it will be performed implicitly by commit() in a 2PC.
rollback
(retaining=False, savepoint=None)¶Rollback any pending transaction to the database.
Note
If transaction is not active, this method does nothing, because the consensus among Python DB API experts is that transactions should always be started implicitly, even if that means allowing a commit() or rollback() without an actual transaction.
Parameters: |
|
---|---|
Raises: |
|
savepoint
(name)¶Establishes a savepoint with the specified name.
Note
If transaction is bound to multiple connections, savepoint is created on all of them.
Important
Because savepoint is created not through Firebird API (there is no such API call), but by executing SAVEPOINT <name> SQL statement, calling this method starts the transaction if it was not yet started.
Parameters: | name (string) – Savepoint name. |
---|
trans_info
(request)¶Pythonic wrapper around transaction_info()
call.
Parameters: | request – One or more information request codes (see
transaction_info() for details). Multiple codes
must be passed as tuple. |
---|---|
Returns: | Decoded response(s) for specified request code(s). When multiple requests are passed, returns a dictionary where key is the request code and value is the response from server. |
transaction_info
(info_code, result_type)¶Return information about active transaction.
This is very thin wrapper around Firebird API isc_transaction_info call.
Parameters: |
|
---|---|
Raises: |
|
active
¶closed
¶cursors
¶default_action
¶default_tpb
= '\x03\t\x06\x0f\x11'¶isolation
¶lock_timeout
¶oat
¶oit
¶ost
¶transaction_id
¶fdb.
PreparedStatement
(operation, cursor, internal=True)¶Represents a prepared statement, an “inner” database cursor, which is used to manage the SQL statement execution and context of a fetch operation.
Important
DO NOT create instances of this class directly! Use only Cursor.prep()
to get PreparedStatement instances.
Note
PreparedStatements are bound to Cursor
instance that created them,
and using them with other Cursor would report an error.
close
()¶Drops the resources associated with executed prepared statement, but keeps it prepared for another execution.
set_stream_blob
(blob_spec)¶Specify a BLOB column(s) to work in stream mode instead classic, materialized mode.
Parameters: | blob_spec (string or list) – Single name or sequence of column names. Name must
be in format as it’s stored in database (refer
to description for real value). |
---|
Important
BLOB name is permanently added to the list of BLOBs handled as stream BLOBs by this instance.
Parameters: | blob_spec (string) – Name of BLOB column. |
---|
set_stream_blob_treshold
(size)¶Specify max. blob size for materialized blobs.
If size of particular blob exceeds this threshold, returns streamed blob
(BlobReader
) instead string. Value -1 means no size limit (use
at your own risk). Default value is 64K
Parameters: | size (integer) – Max. size for materialized blob. |
---|
NO_FETCH_ATTEMPTED_YET
= -1¶RESULT_SET_EXHAUSTED
= 100¶closed
¶cursor
= None¶description
¶n_input_params
= 0¶n_output_params
= 0¶name
¶plan
¶rowcount
¶sql
¶statement_type
= 0¶fdb.
ConnectionGroup
(connections=())¶Manager for distributed transactions, i.e. transactions that span multiple databases.
Tip
ConnectionGroup supports in operator to check membership of connections.
Parameters: | connections (iterable) – Sequence of Connection instances. |
---|
See also
See add()
for list of exceptions the constructor may throw.
add
(con)¶Adds active connection to the group.
Parameters: | con – A |
---|---|
Raises: |
|
begin
(tpb=None)¶Starts distributed transaction over member connections.
Parameters: | tpb (TPB instance, list/tuple of isc_tpb_* constants
or bytestring) – (Optional) Transaction Parameter Buffer for newly started
transaction. If not specified, default_tpb is used. |
---|---|
Raises: | ProgrammingError – When group is empty or has active transaction. |
clear
()¶Removes all connections from group.
Raises: | ProgrammingError – When transaction is active. |
---|
commit
(retaining=False)¶Commits distributed transaction over member connections using 2PC.
Note
If transaction is not active, this method does nothing, because the consensus among Python DB API experts is that transactions should always be started implicitly, even if that means allowing a commit() or rollback() without an actual transaction.
Parameters: | retaining (boolean) – Indicates whether the transactional context of the transaction being resolved should be recycled. |
---|---|
Raises: | ProgrammingError – When group is empty. |
contains
(con)¶Returns True if specified connection belong to this group.
Parameters: | con – Connection instance. |
---|
count
()¶Returns number of Connection
objects that belong to this group.
cursor
(connection)¶Creates a new Cursor
that will operate in the context of
distributed transaction and specific Connection
that belongs
to this group.
Note
Automatically starts transaction if it’s not already started.
Parameters: | connection – Connection instance. |
---|---|
Raises: | ProgrammingError – When group is empty or specified connection doesn’t belong to this group. |
disband
()¶Forcefully deletes all connections from connection group.
Note
If transaction is active, it’s canceled (rollback).
Note
Any error during transaction finalization doesn’t stop the disband process, however the exception catched is eventually reported.
execute_immediate
(sql)¶Executes a statement on all member connections without caching its prepared form.
Automatically starts transaction if it’s not already started.
Parameters: | sql (string) – SQL statement to execute. |
---|
Important
The statement must not be of a type that returns a result set. In most cases (especially cases in which the same statement – perhaps a parameterized statement – is executed repeatedly), it is better to create a cursor using the connection’s cursor method, then execute the statement using one of the cursor’s execute methods.
Parameters: | sql (string) – SQL statement to execute. |
---|---|
Raises: | DatabaseError – When error is returned from server. |
members
()¶Returns list of connection objects that belong to this group.
prepare
()¶Manually triggers the first phase of a two-phase commit (2PC). Use of this method is optional; if preparation is not triggered manually, it will be performed implicitly by commit() in a 2PC.
remove
(con)¶Removes specified connection from group.
Parameters: | con – A Connection instance to remove. |
---|---|
Raises: | ProgrammingError – When con doesn’t belong to this group or transaction is active. |
rollback
(retaining=False, savepoint=None)¶Rollbacks distributed transaction over member connections.
Note
If transaction is not active, this method does nothing, because the consensus among Python DB API experts is that transactions should always be started implicitly, even if that means allowing a commit() or rollback() without an actual transaction.
Parameters: | retaining (boolean) – Indicates whether the transactional context of the transaction being resolved should be recycled. |
---|---|
Raises: | ProgrammingError – When group is empty. |
savepoint
(name)¶Establishes a named SAVEPOINT on all member connections.
See Transaction.savepoint()
for details.
Parameters: | name (string) – Name for savepoint. |
---|---|
Raises: | ProgrammingError – When group is empty. |
default_tpb
¶fdb.
TransactionContext
(transaction)¶Context Manager that manages transaction for object passed to constructor.
Performs rollback if exception is thrown inside code block, otherwise performs commit at the end of block.
Example:
with TransactionContext(my_transaction):
cursor.execute('insert into tableA (x,y) values (?,?)',(x,y))
cursor.execute('insert into tableB (x,y) values (?,?)',(x,y))
Parameters: | transaction – Any object that supports begin(), commit() and rollback(). |
---|
transaction
= None¶fdb.
EventConduit
(db_handle, event_names)¶Represents a conduit through which database event notifications will flow into the Python program.
Important
DO NOT create instances of this class directly! Use only
Connection.event_conduit()
to get EventConduit instances.
Notifications of any events are not accumulated until begin()
method is called.
From the moment the begin()
method is called, notifications of any events that
occur will accumulate asynchronously within the conduit’s internal queue until the conduit
is closed either explicitly (via the close()
method) or implicitly
(via garbage collection).
EventConduit implements context manager protocol to call method begin()
and
close()
automatically.
Example:
with connection.event_conduit( ('event_a', 'event_b') ) as conduit:
events = conduit.wait()
process_events(events)
Parameters: |
|
---|
begin
()¶Starts listening for events.
Must be called directly or through context manager interface.
close
()¶Cancels the standing request for this conduit to be notified of events.
After this method has been called, this EventConduit object is useless, and should be discarded.
flush
()¶Clear any event notifications that have accumulated in the conduit’s internal queue.
wait
(timeout=None)¶Wait for events.
Blocks the calling thread until at least one of the events occurs, or the specified timeout (if any) expires.
Parameters: | timeout (integer or float) – Number of seconds (use a float to indicate fractions of seconds). If not even one of the relevant events has occurred after timeout seconds, this method will unblock and return None. The default timeout is infinite. |
---|---|
Returns: | None if the wait timed out, otherwise a dictionary that maps event_name -> event_occurrence_count. |
Example:
>>>conduit = connection.event_conduit( ('event_a', 'event_b') )
>>>conduit.begin()
>>>conduit.wait()
{
'event_a': 1,
'event_b': 0
}
In the example above event_a occurred once and event_b did not occur at all.
closed
¶fdb.
BlobReader
(blobid, db_handle, tr_handle, is_text, charset)¶BlobReader is a “file-like” class, so it acts much like a file instance opened in rb mode.
Important
DO NOT create instances of this class directly! BlobReader instances are
returned automatically in place of output BLOB values when stream
BLOB access is requested via PreparedStatement.set_stream_blob()
.
Tip
BlobReader supports iterator protocol, yielding lines like readline()
.
close
()¶Closes the Reader. Like file.close()
.
Raises: | DatabaseError – When error is returned by server. |
---|
flush
()¶Flush the internal buffer. Like file.flush()
. Does nothing as
it’s pointless for reader.
get_info
()¶Return information about BLOB.
Returns: | Tuple with values: blob_length, segment_size, num_segments, blob_type |
---|
Meaning of individual values:
Blob_length: | Total blob length in bytes |
---|---|
Segment_size: | Size of largest segment |
Num_segments: | Number of segments |
Blob_type: | isc_bpb_type_segmented or isc_bpb_type_stream |
next
()¶Return the next line from the BLOB. Part of iterator protocol.
Raises: | StopIteration – If there are no further lines. |
---|
read
(size=-1)¶Read at most size bytes from the file (less if the read hits EOF
before obtaining size bytes). If the size argument is negative or omitted,
read all data until EOF is reached. The bytes are returned as a string
object. An empty string is returned when EOF is encountered immediately.
Like file.read()
.
Raises: | ProgrammingError – When reader is closed. |
---|
Note
Performs automatic conversion to unicode for TEXT BLOBs, if used Python is v3 or connection charset is defined.
readline
()¶Read one entire line from the file. A trailing newline character is
kept in the string (but may be absent when a file ends with an incomplete
line). An empty string is returned when EOF is encountered immediately.
Like file.readline()
.
Raises: | ProgrammingError – When reader is closed. |
---|
Note
Performs automatic conversion to unicode for TEXT BLOBs, if used Python is v3 or connection charset is defined.
readlines
(sizehint=None)¶Read until EOF using readline()
and return a list containing
the lines thus read. The optional sizehint argument (if present) is ignored.
Like file.readlines()
.
Note
Performs automatic conversion to unicode for TEXT BLOBs, if used Python is v3 or connection charset is defined.
seek
(offset, whence=0)¶Set the file’s current position, like stdio‘s fseek().
See file.seek()
details.
Parameters: |
|
---|---|
Raises: | ProgrammingError – When reader is closed. |
Warning
If BLOB was NOT CREATED as stream BLOB, this method raises
DatabaseError
exception. This constraint is set by Firebird.
tell
()¶Return current position in BLOB, like stdio‘s ftell()
and file.tell()
.
closed
¶mode
¶fdb.
TPB
¶Helper class for convenient and safe construction of custom Transaction Parameter Blocks.
clear
()¶copy
()¶Returns a copy of self.
render
()¶Create valid transaction parameter block according to current values of member attributes.
Returns: | (string) TPB block. |
---|
access_mode
¶isolation_level
¶lock_resolution
¶lock_timeout
¶table_reservation
¶fdb.
TableReservation
¶A dictionary-like helper class that maps “TABLE_NAME”: (sharingMode, accessMode). It performs validation of values assigned to keys.
copy
()¶get
(key, default=None)¶items
()¶iteritems
()¶iterkeys
()¶itervalues
()¶keys
()¶render
()¶Create valid table access parameter block according to current key/value pairs.
Returns: | (string) Table access definition block. |
---|
values
()¶fdb.
ParameterBuffer
(charset)¶Helper class for construction of Database (and other) parameter buffers. Parameters are stored in insertion order.
add_byte
(byte)¶Add byte value to buffer.
Parameters: | byte – Value to be added. |
---|
add_byte_parameter
(code, value)¶Add byte value to parameter buffer.
Parameters: |
|
---|
add_integer_parameter
(code, value)¶Add integer value to parameter buffer.
Parameters: |
|
---|
add_parameter_code
(code)¶Add parameter code to parameter buffer.
Parameters: | code – Firebird code for the parameter |
---|
add_string
(value)¶Add string value to buffer.
Parameters: | value – String to be added. |
---|
add_string_parameter
(code, value)¶Add string to parameter buffer.
Parameters: |
|
---|
add_word
(word)¶Add two byte value to buffer.
Parameters: | word – Value to be added. |
---|
clear
()¶Clear all parameters stored in parameter buffer.
get_buffer
()¶Get parameter buffer content.
Returns: | Byte string with all inserted parameters. |
---|
get_length
()¶Returns actual total length of parameter buffer.
fdb.fbcore.
_RowMapping
(description, row)¶An internal dictionary-like class that wraps a row of results in order to map field name to field value.
Warning
We make ABSOLUTELY NO GUARANTEES about the return value of the fetch(one|many|all) methods except that it is a sequence indexed by field position, and no guarantees about the return value of the fetch(one|many|all)map methods except that it is a mapping of field name to field value.
Therefore, client programmers should NOT rely on the return value being an instance of a particular class or type.
get
(field_name, default_value=None)¶items
()¶iteritems
()¶iterkeys
()¶itervalues
()¶keys
()¶values
()¶fdb.fbcore.
EventBlock
(queue, db_handle, event_names)¶Represents Firebird API structure for block of events.
close
()¶Close this block canceling managed events.
count_and_reregister
()¶Count event occurences and reregister interest in futrther notifications.
buf_length
= 0¶closed
¶event_buf
= None¶event_id
= 0¶event_names
= []¶result_buf
= None¶fdb.fbcore.
_TableAccessStats
(table_id)¶An internal class that wraps results from get_table_access_stats()
Connection.shutdown()
and Connection.bring_online()
¶Connection.shutdown()
¶Connection.setWriteMode()
¶Connection.setAccessMode()
¶Connection.get_server_capabilities()
return codes¶Connection.backup()
/Connection.restore()
¶fdb.services.
connect
(host='service_mgr', user=None, password=None)¶Establishes a connection to the Services Manager.
Parameters: |
|
---|
Note
By definition, a Services Manager connection is bound to a particular host. Therefore, the database specified as a parameter to methods such as getStatistics MUST NOT include the host name of the database server.
Hooks:
Event HOOK_SERVICE_ATTACHED: Executed before Connection
instance is returned. Hook must have signature:
hook_func(connection). Any value returned by hook is ignored.
fdb.services.
Connection
(host, user, password, charset=None)¶Represents a sevice connection between the database client (the Python process) and the database server.
Important
DO NOT create instances of this class directly! Use only connect()
to get Connection instances.
Tip
Connection supports the iterator protocol, yielding lines of result like
readline()
.
activate_shadow
(database)¶Activate Database Shadow(s).
Parameters: | database (string) – Database filename or alias. |
---|
add_user
(user)¶Add new user.
Parameters: | user (User ) – Instance of User with at least its
name and password attributes specified
as non-empty values. All other attributes are optional. |
---|
Note
This method ignores the user_id
and group_id
attributes of User
regardless of their values.
backup
(source_database, dest_filenames, dest_file_sizes=(), ignore_checksums=0, ignore_limbo_transactions=0, metadata_only=0, collect_garbage=1, transportable=1, convert_external_tables=0, compressed=1, no_db_triggers=0, callback=None, stats=None)¶Request logical (GBAK) database backup. (ASYNC service)
Parameters: |
|
---|
If callback is not specified, backup log could be retrieved through
readline()
, readlines()
, iteration over Connection or
ignored via call to wait()
.
Note
Until backup report is not fully fetched from service (or ignored via
wait()
), any attempt to start another asynchronous service will
fail with exception.
bring_online
(database, online_mode=0)¶Bring previously shut down database back online.
Parameters: |
|
---|
See also
See also shutdown()
method.
close
()¶Close the connection now (rather than whenever __del__ is called).
The connection will be unusable from this point forward; an Error
(or subclass) exception will be raised if any operation is attempted
with the connection.
commit_limbo_transaction
(database, transaction_id)¶Resolve limbo transaction with commit.
Parameters: |
|
---|
get_architecture
()¶Get Firebird Server architecture.
Returns string: | Architecture (example: ‘Firebird/linux AMD64’). |
---|
get_attached_database_names
()¶Get list of attached databases.
Returns list: | Filenames of attached databases. |
---|
get_connection_count
()¶Get number of attachments to server.
Returns integer: | |
---|---|
Number of attachments. |
get_home_directory
()¶Get Firebird Home (installation) Directory.
Returns string: | Directory path. |
---|
get_limbo_transaction_ids
(database)¶Get list of transactions in limbo.
Parameters: | database (string) – Database filename or alias. |
---|---|
Returns list: | Transaction IDs. |
Raises: | InternalError – When can’t process the result buffer. |
get_lock_file_directory
()¶Get directory location for Firebird lock files.
Returns string: | Directory path. |
---|
get_log
(callback=None)¶Request content of Firebird Server log. (ASYNC service)
Parameters: | callback (function) – Function to call back with each output line. Function must accept only one parameter: line of output. |
---|
If callback is not specified, log content could be retrieved through
readline()
, readlines()
, iteration over Connection or
ignored via call to wait()
.
Note
Until log content is not fully fetched from service (or ignored via
wait()
), any attempt to start another asynchronous service will
fail with exception.
get_message_file_directory
()¶Get directory with Firebird message file.
Returns string: | Directory path. |
---|
get_security_database_path
()¶Get full path to Firebird security database.
Returns string: | Path (path+filename) to security database. |
---|
get_server_capabilities
()¶Get list of Firebird capabilities.
Returns tuple: | Capability info codes for each capability reported by server. |
---|
Next fdb.services constants define possible info codes returned:
CAPABILITY_MULTI_CLIENT
CAPABILITY_REMOTE_HOP
CAPABILITY_SERVER_CONFIG
CAPABILITY_QUOTED_FILENAME
CAPABILITY_NO_SERVER_SHUTDOWN
Example:
>>>fdb.services.CAPABILITY_REMOTE_HOP in svc.get_server_capabilities()
True
get_server_version
()¶Get Firebird version.
Returns string: | Firebird version (example: ‘LI-V2.5.2.26536 Firebird 2.5’). |
---|
get_service_manager_version
()¶Get Firebird Service Manager version number.
Returns integer: | |
---|---|
Version number. |
get_statistics
(database, show_only_db_log_pages=0, show_only_db_header_pages=0, show_user_data_pages=1, show_user_index_pages=1, show_system_tables_and_indexes=0, show_record_versions=0, callback=None, tables=None)¶Request database statisctics. (ASYNC service)
Parameters: |
|
---|
If callback is not specified, statistical report could be retrieved
through readline()
, readlines()
, iteration over Connection
or ignored via call to wait()
.
Note
Until report is not fully fetched from service (or ignored via
wait()
), any attempt to start another asynchronous service will
fail with exception.
get_users
(user_name=None)¶Get information about user(s).
Parameters: | user_name (string) – (Optional) When specified, returns information only about user with specified user name. |
---|---|
Returns list: | User instances. |
isrunning
()¶Returns True if service is running.
local_backup
(source_database, backup_stream, ignore_checksums=0, ignore_limbo_transactions=0, metadata_only=0, collect_garbage=1, transportable=1, convert_external_tables=0, compressed=1, no_db_triggers=0)¶Request logical (GBAK) database backup into local byte stream. (SYNC service)
Parameters: |
|
---|
local_restore
(backup_stream, dest_filenames, dest_file_pages=(), page_size=None, cache_buffers=None, access_mode_read_only=0, replace=0, deactivate_indexes=0, do_not_restore_shadows=0, do_not_enforce_constraints=0, commit_after_each_table=0, use_all_page_space=0, no_db_triggers=0, metadata_only=0)¶Request database restore from logical (GBAK) backup stored in local byte stream. (SYNC service)
Parameters: |
|
---|
modify_user
(user)¶Modify user information.
Parameters: | user (User ) – Instance of User with at least its
name attribute specified as non-empty value. |
---|
Note
This method sets first_name
, middle_name
and last_name
to their actual values, and ignores
the user_id
and group_id
attributes
regardless of their values. password
is set only
when it has value.
nbackup
(source_database, dest_filename, nbackup_level=0, no_db_triggers=0)¶Perform physical (NBACKUP) database backup.
Parameters: |
|
---|
Note
Method call will not return until action is finished.
next
()¶Return the next result line from service manager. Part of iterator protocol.
Raises: | StopIteration – If there are no further lines. |
---|
no_linger
(database)¶Set one-off override for database linger.
Parameters: | database (string) – Database filename or alias. |
---|
nrestore
(source_filenames, dest_filename, no_db_triggers=0)¶Perform restore from physical (NBACKUP) database backup.
Parameters: |
|
---|
Note
Method call will not return until action is finished.
readline
()¶Get next line of textual output from last service query.
Returns string: | Output line. |
---|
readlines
()¶Get list of remaining output lines from last service query.
Returns list: | Service output. |
---|---|
Raises: | ProgrammingError – When service is not in fetching mode. |
remove_user
(user)¶Remove user.
Parameters: | user (string or User ) – User name or Instance of User with at least its
name attribute specified as non-empty value. |
---|
repair
(database, read_only_validation=0, ignore_checksums=0, kill_unavailable_shadows=0, mend_database=0, validate_database=1, validate_record_fragments=1)¶Database Validation and Repair.
Parameters: |
|
---|
Note
Method call will not return until action is finished.
restore
(source_filenames, dest_filenames, dest_file_pages=(), page_size=None, cache_buffers=None, access_mode_read_only=0, replace=0, deactivate_indexes=0, do_not_restore_shadows=0, do_not_enforce_constraints=0, commit_after_each_table=0, use_all_page_space=0, no_db_triggers=0, metadata_only=0, callback=None, stats=None)¶Request database restore from logical (GBAK) backup. (ASYNC service)
Parameters: |
|
---|
If callback is not specified, restore log could be retrieved through
readline()
, readlines()
, iteration over Connection or
ignored via call to wait()
.
Note
Until restore report is not fully fetched from service (or ignored via
wait()
), any attempt to start another asynchronous service will
fail with exception.
rollback_limbo_transaction
(database, transaction_id)¶Resolve limbo transaction with rollback.
Parameters: |
|
---|
set_access_mode
(database, mode)¶Set Database Access mode: Read Only or Read/Write
Parameters: |
|
---|
set_default_page_buffers
(database, n)¶Set individual page cache size for Database.
Parameters: |
|
---|
set_reserve_page_space
(database, reserve_space)¶Set data page space reservation policy.
Parameters: |
|
---|
set_sql_dialect
(database, dialect)¶Set SQL Dialect for Database.
Parameters: |
|
---|
set_sweep_interval
(database, n)¶Set treshold for automatic sweep.
Parameters: |
|
---|
set_write_mode
(database, mode)¶Set Disk Write Mode: Sync (forced writes) or Async (buffered).
Parameters: |
|
---|
shutdown
(database, shutdown_mode, shutdown_method, timeout)¶Database shutdown.
Parameters: |
|
---|
See also
See also bring_online()
method.
sweep
(database)¶Perform Database Sweep.
Note
Method call will not return until sweep is finished.
Parameters: | database (string) – Database filename or alias. |
---|
trace_list
()¶Get information about existing trace sessions.
Returns dictionary: | |||||||||
---|---|---|---|---|---|---|---|---|---|
Mapping SESSION_ID -> SESSION_PARAMS Session parameters is another dictionary with next keys:
|
|||||||||
Raises: | OperationalError – When server can’t perform requested operation. |
trace_resume
(trace_id)¶Resume trace session.
Parameters: | trace_id (integer) – Trace session ID. |
---|---|
Returns string: | Text with confirmation that session was resumed. |
Raises: |
|
trace_start
(config, name=None)¶Start new trace session. (ASYNC service)
Parameters: |
|
---|---|
Returns integer: | |
Trace session ID. |
|
Raises: | fdb.DatabaseError – When session ID is not returned on start. |
Trace session output could be retrieved through readline()
,
readlines()
, iteration over Connection or ignored via call to
wait()
.
Note
Until session output is not fully fetched from service (or ignored
via wait()
), any attempt to start another asynchronous service
including call to any trace_ method will fail with exception.
trace_stop
(trace_id)¶Stop trace session.
Parameters: | trace_id (integer) – Trace session ID. |
---|---|
Returns string: | Text with confirmation that session was stopped. |
Raises: |
|
trace_suspend
(trace_id)¶Suspend trace session.
Parameters: | trace_id (integer) – Trace session ID. |
---|---|
Returns string: | Text with confirmation that session was paused. |
Raises: |
|
user_exists
(user)¶Check for user’s existence.
Parameters: | user (string or User ) – User name or Instance of User with at least its
name attribute specified as non-empty value. |
---|---|
Returns boolean: | |
True when the specified user exists. |
validate
(database, include_tables=None, exclude_tables=None, include_indices=None, exclude_indices=None, lock_timeout=None, callback=None)¶On-line database validation.
Parameters: |
|
---|
Note
Patterns are regular expressions, processed by the same rules as SIMILAR TO expressions. All patterns are case-sensitive, regardless of database dialect. If the pattern for tables is omitted then all user tables will be validated. If the pattern for indexes is omitted then all indexes of the appointed tables will be validated. System tables are not validated.
If callback is not specified, validation log could be retrieved through
readline()
, readlines()
, iteration over Connection or
ignored via call to wait()
.
Note
Until validate report is not fully fetched from service (or ignored via
wait()
), any attempt to start another asynchronous service will
fail with exception.
wait
()¶Wait until running service completes, i.e. stops sending data.
QUERY_TYPE_PLAIN_INTEGER
= 1¶QUERY_TYPE_PLAIN_STRING
= 2¶QUERY_TYPE_RAW
= 3¶closed
¶engine_version
¶fetching
¶version
¶fdb.services.
User
(name=None)¶load_information
(svc)¶Load information about user from server.
Parameters: | svc (Connection ) – Open service connection. |
---|---|
Returns: | True if information was successfuly retrieved, False otherwise. |
Raises: | ProgrammingError – If user name is not defined. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schema.get_metadata_ddl()
¶
|
|
|
|
COLUMN_TYPES: | Dictionary map from filed type codes to type names |
---|---|
INTEGRAL_SUBTYPES: | |
List of integral type names, works as map | |
INDEX_TYPES: | List of index types |
BLOB_SUBTYPES: | List of blob type names, works as map |
TRIGGER_PREFIX_TYPES: | |
List of trigger prefix type names, works as map | |
TRIGGER_SUFFIX_TYPES: | |
List of trigger suffix type names, works as map | |
TRIGGER_DB_TYPES: | |
List of db trigger type names, works as map | |
TRIGGER_DDL_TYPES: | |
List of DLL trigger type names, works as map | |
RESERVED: | List of reserved Firebird words |
NON_RESERVED: | List of non-reserved Firebird words |
SCRIPT_DEFAULT_ORDER: | |
List of default sections (in order) for Schema.get_metadata_ddl() |
fdb.schema.
get_grants
(privileges, grantors=None)¶Get list of minimal set of SQL GRANT statamenets necessary to grant specified privileges.
Parameters: |
|
---|
fdb.schema.
Schema
¶Bases: fdb.utils.Visitable
This class represents database schema.
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
bind
(connection)¶Bind this instance to specified Connection
.
Parameters: | connection – Connection instance. |
---|---|
Raises: | ProgrammingError – If Schema object was set as internal (via
_set_as_internal() ). |
clear
()¶Drop all cached metadata objects.
close
()¶Sever link to Connection
.
Raises: | ProgrammingError – If Schema object was set as internal (via
_set_as_internal() ). |
---|
get_character_set
(name)¶Get CharacterSet
by name.
Parameters: | name (string) – Character set name. |
---|---|
Returns: | CharacterSet with specified name or None. |
get_character_set_by_id
(id)¶Get CharacterSet
by ID.
Parameters: | name (integer) – CharacterSet ID. |
---|---|
Returns: | CharacterSet with specified ID or None. |
get_collation
(name)¶Get Collation
by name.
Parameters: | name (string) – Collation name. |
---|---|
Returns: | Collation with specified name or None. |
get_collation_by_id
(charset_id, collation_id)¶Get Collation
by ID.
Parameters: |
|
---|---|
Returns: |
|
get_constraint
(name)¶Get Constraint
by name.
Parameters: | name (string) – Constraint name. |
---|---|
Returns: | Constraint with specified name or None. |
get_domain
(name)¶Get Domain
by name.
Parameters: | name (string) – Domain name. |
---|---|
Returns: | Domain with specified name or None. |
get_exception
(name)¶Get DatabaseException
by name.
Parameters: | name (string) – Exception name. |
---|---|
Returns: | DatabaseException with specified name or None. |
get_function
(name)¶Get Function
by name.
Parameters: | name (string) – Function name. |
---|---|
Returns: | Function with specified name or None. |
get_generator
(name)¶Get Sequence
by name.
Parameters: | name (string) – Sequence name. |
---|---|
Returns: | Sequence with specified name or None. |
get_index
(name)¶Get Index
by name.
Parameters: | name (string) – Index name. |
---|---|
Returns: | Index with specified name or None. |
get_metadata_ddl
(sections=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 21, 23, 24, 25])¶Return list of DDL SQL commands for creation of specified categories of database objects.
Parameters: | sections (list) – List of section identifiers. |
---|---|
Returns: | List with SQL commands. |
Sections identifiers are represented by SCRIPT_* contants defined in schema module.
Sections are created in the order of occerence in list. Uses SCRIPT_DEFAULT_ORDER list when sections are not specified.
get_package
(name)¶Get Package
by name.
Parameters: | name (string) – Package name. |
---|---|
Returns: | Package with specified name or None. |
get_privileges_of
(user, user_type=None)¶Get list of all privileges granted to user/database object.
Parameters: | |
---|---|
Returns: | List of |
Raises: | ProgrammingError – For unknown user_type code. |
get_procedure
(name)¶Get Procedure
by name.
Parameters: | name (string) – Procedure name. |
---|---|
Returns: | Procedure with specified name or None. |
get_role
(name)¶Get Role
by name.
Parameters: | name (string) – Role name. |
---|---|
Returns: | Role with specified name or None. |
get_sequence
(name)¶Get Sequence
by name.
Parameters: | name (string) – Sequence name. |
---|---|
Returns: | Sequence with specified name or None. |
get_table
(name)¶Get Table
by name.
Parameters: | name (string) – Table name. |
---|---|
Returns: | Table with specified name or None. |
get_trigger
(name)¶Get Trigger
by name.
Parameters: | name (string) – Trigger name. |
---|---|
Returns: | Trigger with specified name or None. |
get_view
(name)¶Get View
by name.
Parameters: | name (string) – View name. |
---|---|
Returns: | View with specified name or None. |
ismultifile
()¶Returns true if database has multiple files.
reload
(data=None)¶Drop all or specified category of cached metadata objects, so they’re reloaded from database on next reference.
Parameters: | data (string) – None, metadata category code or iterable with category codes. |
---|
Note
Category codes are defined by SCHEMA_* globals.
Raises: | fdb.ProgrammingError – For undefined metadata category. |
---|
Note
Also commits query transaction.
backup_history
¶ObjectList
of all nbackup hisotry records.
Items are BackupHistory
objects.
character_sets
¶ObjectList
of all character sets in database.
Items are CharacterSet
objects.
closed
¶collations
¶ObjectList
of all collations in database.
Items are Collation
objects.
constraints
¶ObjectList
of all constraints in database.
Items are Constraint
objects.
default_character_set
¶Default CharacterSet
for database
dependencies
¶ObjectList
of all dependencies in database.
Items are Dependency
objects.
description
¶Database description or None if it doesn’t have a description.
domains
¶ObjectList
of all user domains in database.
Items are Domain
objects.
enum_character_set_names
= {}¶enum_determinism_flags
= {}¶enum_field_subtypes
= {}¶enum_field_types
= {}¶enum_function_types
= {}¶enum_grant_options
= {}¶enum_index_activity_flags
= {}¶enum_index_unique_flags
= {}¶enum_legacy_flags
= {}¶enum_mechanism_types
= {}¶enum_object_type_codes
= {}¶enum_object_types
= {}¶enum_page_types
= {}¶enum_param_type_from
= {0: 'DATATYPE', 1: 'DOMAIN', 2: 'TYPE OF DOMAIN', 3: 'TYPE OF COLUMN'}¶enum_parameter_mechanism_types
= {}¶enum_parameter_types
= {}¶enum_privacy_flags
= {}¶enum_procedure_types
= {}¶enum_relation_types
= {}¶enum_system_flag_types
= {}¶enum_transaction_state_types
= {}¶enum_trigger_activity_flags
= {}¶enum_trigger_types
= {}¶exceptions
¶ObjectList
of all exceptions in database.
Items are DatabaseException
objects.
files
¶ObjectList
of all extension files defined for database.
Items are DatabaseFile
objects.
filters
¶ObjectList
of all user-defined BLOB filters.
Items are Filter
objects.
functions
¶ObjectList
of all user functions defined in database.
Items are Function
objects.
generators
¶ObjectList
of all user generators in database.
Items are Sequence
objects.
indices
¶ObjectList
of all user indices in database.
Items are Index
objects.
linger
¶Database linger value.
opt_always_quote
= False¶opt_generator_keyword
= 'SEQUENCE'¶owner_name
¶Database owner name.
packages
¶ObjectList
of all packages defined for database.
Items are Package
objects.
privileges
¶ObjectList
of all privileges defined for database.
Items are Privilege
objects.
procedures
¶ObjectList
of all user procedures in database.
Items are Procedure
objects.
roles
¶ObjectList
of all roles in database.
Items are Role
objects.
security_class
¶Can refer to the security class applied as databasewide access control limits.
sequences
¶ObjectList
of all user generators in database.
Items are Sequence
objects.
shadows
¶ObjectList
of all shadows defined for database.
Items are Shadow
objects.
sysdomains
¶ObjectList
of all system domains in database.
Items are Domain
objects.
sysfunctions
¶ObjectList
of all system functions defined in database.
Items are Function
objects.
sysgenerators
¶ObjectList
of all system generators in database.
Items are Sequence
objects.
sysindices
¶ObjectList
of all system indices in database.
Items are Index
objects.
sysprocedures
¶ObjectList
of all system procedures in database.
Items are Procedure
objects.
syssequences
¶ObjectList
of all system generators in database.
Items are Sequence
objects.
systables
¶ObjectList
of all system tables in database.
Items are Table
objects.
systriggers
¶ObjectList
of all system triggers in database.
Items are Trigger
objects.
sysviews
¶ObjectList
of all system views in database.
Items are View
objects.
tables
¶ObjectList
of all user tables in database.
Items are Table
objects.
triggers
¶ObjectList
of all user triggers in database.
Items are Trigger
objects.
views
¶ObjectList
of all user views in database.
Items are View
objects.
fdb.schema.
BaseSchemaItem
(schema, attributes)¶Bases: fdb.utils.Visitable
Base class for all database schema objects.
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
issystemobject
()¶Returns True if this database object is system object.
actions
¶List of supported SQL operations on metadata object instance.
description
¶Database object description or None if object doesn’t have a description.
name
¶Database object name or None if object doesn’t have a name.
schema
= None¶fdb.schema.
Collation
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents collation.
Supported SQL actions:
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
isaccentinsensitive
()¶Returns True if collation has ACCENT INSENSITIVE attribute.
isbasedonexternal
()¶Returns True if collation is based on external collation definition.
iscaseinsensitive
()¶Returns True if collation has CASE INSENSITIVE attribute.
ispadded
()¶Returns True if collation has PAD SPACE attribute.
issystemobject
()¶Returns True if this database object is system object.
actions
¶List of supported SQL operations on metadata object instance.
attributes
¶Collation attributes.
base_collation
¶Base Collation object that’s extended by this one or None.
character_set
¶Character set object associated with collation.
description
¶Database object description or None if object doesn’t have a description.
function_name
¶Not currently used.
id
¶Collation ID.
name
¶Database object name or None if object doesn’t have a name.
owner_name
¶Creator user name.
schema
= None¶security_class
¶Security class name or None.
specific_attributes
¶Collation specific attributes.
fdb.schema.
CharacterSet
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents character set.
Supported SQL actions: alter(collation=Collation instance or collation name), comment
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_collation
(name)¶Return Collation
object with specified name that belongs to
this character set.
get_collation_by_id
(id)¶Return Collation
object with specified id that belongs to
this character set.
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
issystemobject
()¶Returns True if this database object is system object.
actions
¶List of supported SQL operations on metadata object instance.
bytes_per_character
¶Size of characters in bytes.
collations
¶ObjectList
of Collations associated with character set.
default_collate
¶Collate object of default collate.
description
¶Database object description or None if object doesn’t have a description.
id
¶Character set ID.
name
¶Database object name or None if object doesn’t have a name.
owner_name
¶Creator user name.
schema
= None¶security_class
¶Security class name or None.
fdb.schema.
DatabaseException
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents database exception.
Supported SQL actions:
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
issystemobject
()¶Returns True if this database object is system object.
actions
¶List of supported SQL operations on metadata object instance.
description
¶Database object description or None if object doesn’t have a description.
id
¶System-assigned unique exception number.
message
¶Custom message text.
name
¶Database object name or None if object doesn’t have a name.
owner_name
¶Creator user name.
schema
= None¶security_class
¶Security class name or None.
fdb.schema.
Sequence
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents database generator/sequence.
Supported SQL actions:
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
isidentity
()¶Returns True for system generators created for IDENTITY columns.
issystemobject
()¶Returns True if this database object is system object.
actions
¶List of supported SQL operations on metadata object instance.
description
¶Database object description or None if object doesn’t have a description.
id
¶Internal ID number of the sequence.
increment
¶Sequence increment.
inital_value
¶Initial sequence value.
name
¶Database object name or None if object doesn’t have a name.
owner_name
¶Creator user name.
schema
= None¶security_class
¶Security class name or None.
value
¶Current sequence value.
fdb.schema.
Index
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents database index.
Supported SQL actions:
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
isenforcer
()¶Returns True if index is used to enforce a constraint.
isexpression
()¶Returns True if index is expression index.
isinactive
()¶Returns True if index is INACTIVE.
issystemobject
()¶Returns True if this database object is system object.
isunique
()¶Returns True if index is UNIQUE.
actions
¶List of supported SQL operations on metadata object instance.
constraint
¶Constraint
instance that uses this index or None.
description
¶Database object description or None if object doesn’t have a description.
expression
¶Source of an expression or None.
id
¶Internal number ID of the index.
index_type
¶ASCENDING or DESCENDING.
name
¶Database object name or None if object doesn’t have a name.
schema
= None¶segment_names
¶List of index segment names.
segment_statistics
¶List of index segment statistics (for ODS 11.1 and higher).
segments
¶ObjectList
of index segments as TableColumn
instances.
statistics
¶Latest selectivity of the index.
fdb.schema.
TableColumn
(schema, table, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents table column.
Supported SQL actions:
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_computedby
()¶Returns (string) extression for column computation or None.
get_dependencies
()¶Return list of database objects that this object depend on.
get_dependents
()¶Return list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
has_default
()¶Returns True if column has default value.
iscomputed
()¶Returns True if column is computed.
isdomainbased
()¶Returns True if column is based on user domain.
isidentity
()¶Returns True for identity type column.
isnullable
()¶Returns True if column can accept NULL values.
issystemobject
()¶Returns True if this database object is system object.
iswritable
()¶Returns True if column is writable (i.e. it’s not computed etc.).
actions
¶List of supported SQL operations on metadata object instance.
collation
¶Collation object or None.
datatype
¶Comlete SQL datatype definition.
default
¶Default value for column or None.
description
¶Database object description or None if object doesn’t have a description.
domain
¶Domain object this column is based on.
generator
¶Internal flags.
id
¶Internam number ID for the column.
identity_type
¶Internal flags.
name
¶Database object name or None if object doesn’t have a name.
position
¶Column’s sequence number in row.
privileges
¶ObjectList
of Privilege
objects granted to this object.
schema
= None¶security_class
¶Security class name or None.
table
¶The Table object this column belongs to.
fdb.schema.
ViewColumn
(schema, view, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents view column.
Supported SQL actions: comment
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Return list of database objects that this object depend on.
get_dependents
()¶Return list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
isnullable
()¶Returns True if column is NULLABLE.
issystemobject
()¶Returns True if this database object is system object.
iswritable
()¶Returns True if column is writable.
actions
¶List of supported SQL operations on metadata object instance.
base_field
¶The source column from the base relation. Result could be either TableColumn
, ViewColumn
or ProcedureParameter
instance or None.
collation
¶Collation object or None.
datatype
¶Comlete SQL datatype definition.
description
¶Database object description or None if object doesn’t have a description.
domain
¶Domain object this column is based on.
name
¶Database object name or None if object doesn’t have a name.
position
¶Column’s sequence number in row.
privileges
¶ObjectList
of Privilege
objects granted to this object.
schema
= None¶security_class
¶Security class name or None.
view
¶View object this column belongs to.
fdb.schema.
Domain
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents SQl Domain.
Supported SQL actions:
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
has_default
()¶Returns True if domain has default value.
isarray
()¶Returns True if domain defines an array.
iscomputed
()¶Returns True if domain is computed.
isnullable
()¶Returns True if domain is not defined with NOT NULL.
issystemobject
()¶Return True if this database object is system object.
isvalidated
()¶Returns True if domain has validation constraint.
actions
¶List of supported SQL operations on metadata object instance.
character_length
¶Length of CHAR and VARCHAR column, in characters (not bytes).
character_set
¶CharacterSet object for a character or text BLOB column, or None.
collation
¶Collation object for a character column or None.
datatype
¶Comlete SQL datatype definition.
default
¶Expression that defines the default value or None.
description
¶Database object description or None if object doesn’t have a description.
dimensions
¶List of dimension definition pairs if column is an array type. Always empty for non-array columns.
expression
¶Expression that defines the COMPUTED BY column or None.
external_length
¶Length of field as it is in an external table. Always 0 for regular tables.
external_scale
¶Scale factor of an integer field as it is in an external table.
external_type
¶Data type of the field as it is in an external table.
field_type
¶Number code of the data type defined for the column.
length
¶Length of the column in bytes.
name
¶Database object name or None if object doesn’t have a name.
owner_name
¶Creator user name.
precision
¶Indicates the number of digits of precision available to the data type of the column.
scale
¶Negative number representing the scale of NUMBER and DECIMAL column.
schema
= None¶security_class
¶Security class name or None.
segment_length
¶For BLOB columns, a suggested length for BLOB buffers.
sub_type
¶BLOB subtype.
validation
¶CHECK constraint for the domain or None.
fdb.schema.
Dependency
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Maps dependency between database objects.
Supported SQL actions: none
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns empty list because Dependency object never has dependencies.
get_dependents
()¶Returns empty list because Dependency object never has dependents.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
ispackaged
()¶Returns True if dependency is defined in package.
issystemobject
()¶Returns True as dependency entries are considered as system objects.
actions
¶List of supported SQL operations on metadata object instance.
depended_on
¶Database object on which dependent depends.
depended_on_name
¶Name of db object on which dependent depends.
depended_on_type
¶Type of db object on which dependent depends.
dependent
¶Dependent database object.
dependent_name
¶Dependent database object name.
dependent_type
¶Dependent database object type.
description
¶Database object description or None if object doesn’t have a description.
field_name
¶Name of one column in depended on object.
name
¶Database object name or None if object doesn’t have a name.
schema
= None¶fdb.schema.
Constraint
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents table or column constraint.
Supported SQL actions:
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
ischeck
()¶Returns True if it’s CHECK constraint.
isdeferrable
()¶Returns True if it’s DEFERRABLE constraint.
isdeferred
()¶Returns True if it’s INITIALLY DEFERRED constraint.
isfkey
()¶Returns True if it’s FOREIGN KEY constraint.
isnotnull
()¶Returns True if it’s NOT NULL constraint.
ispkey
()¶Returns True if it’s PRIMARY KEY constraint.
issystemobject
()¶Returns True if this database object is system object.
isunique
()¶Returns True if it’s UNIQUE constraint.
actions
¶List of supported SQL operations on metadata object instance.
column_name
¶For a NOT NULL constraint, this is the name of the column to which the constraint applies.
constraint_type
¶primary key/unique/foreign key/check/not null.
delete_rule
¶For a FOREIGN KEY constraint, this is the action applicable to when primary key is deleted.
description
¶Database object description or None if object doesn’t have a description.
index
¶Index
instance that enforces the constraint.
None if constraint is not primary key/unique or foreign key.
match_option
¶For a FOREIGN KEY constraint only. Current value is FULL in all cases.
name
¶Database object name or None if object doesn’t have a name.
partner_constraint
¶For a FOREIGN KEY constraint, this is the unique or primary key Constraint
referred.
schema
= None¶trigger_names
¶For a CHECK constraint contains trigger names that enforce the constraint.
update_rule
¶For a FOREIGN KEY constraint, this is the action applicable to when primary key is updated.
fdb.schema.
Table
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents Table in database.
Supported SQL actions:
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_column
(name)¶Return TableColumn
object with specified name.
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
has_fkey
()¶Returns True if table has any FOREIGN KEY constraint.
has_pkey
()¶Returns True if table has PRIMARY KEY defined.
isexternal
()¶Returns True if table is external table.
isgtt
()¶Returns True if table is GLOBAL TEMPORARY table.
ispersistent
()¶Returns True if table is persistent one.
issystemobject
()¶Returns True if this database object is system object.
actions
¶List of supported SQL operations on metadata object instance.
columns
¶Returns ObjectList
of columns defined for table.
Items are TableColumn
objects.
constraints
¶Returns ObjectList
of constraints defined for table.
Items are Constraint
objects.
dbkey_length
¶Length of the RDB$DB_KEY column in bytes.
default_class
¶Default security class.
description
¶Database object description or None if object doesn’t have a description.
external_file
¶Full path to the external data file, if any.
flags
¶Internal flags.
foreign_keys
¶ObjectList
of FOREIGN KEY Constraint
instances for this table.
format
¶Internal format ID for the table.
id
¶Internam number ID for the table.
indices
¶Returns ObjectList
of indices defined for table.
Items are Index
objects.
name
¶Database object name or None if object doesn’t have a name.
owner_name
¶User name of table’s creator.
primary_key
¶PRIMARY KEY Constraint
for this table or None.
privileges
¶ObjectList
of Privilege
objects granted to this object.
schema
= None¶security_class
¶Security class that define access limits to the table.
table_type
¶Table type.
triggers
¶Returns ObjectList
of triggers defined for table.
Items are Trigger
objects.
fdb.schema.
View
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents database View.
Supported SQL actions:
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_column
(name)¶Return TableColumn
object with specified name.
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
has_checkoption
()¶Returns True if View has WITH CHECK OPTION defined.
issystemobject
()¶Returns True if this database object is system object.
actions
¶List of supported SQL operations on metadata object instance.
columns
¶Returns ObjectList
of columns defined for view.
Items are ViewColumn
objects.
dbkey_length
¶Length of the RDB$DB_KEY column in bytes.
default_class
¶Default security class.
description
¶Database object description or None if object doesn’t have a description.
flags
¶Internal flags.
format
¶Internal format ID for the view.
id
¶Internal number ID for the view.
name
¶Database object name or None if object doesn’t have a name.
owner_name
¶User name of view’s creator.
privileges
¶ObjectList
of Privilege
objects granted to this object.
schema
= None¶security_class
¶Security class that define access limits to the view.
sql
¶The query specification.
triggers
¶Returns ObjectList
of triggers defined for view.
Items are Trigger
objects.
fdb.schema.
Trigger
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents trigger.
Supported SQL actions:
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
get_type_as_string
()¶Return string with action and operation specification.
isactive
()¶Returns True if this trigger is active.
isafter
()¶Returns True if this trigger is set for AFTER action.
isbefore
()¶Returns True if this trigger is set for BEFORE action.
isdbtrigger
()¶Returns True if this trigger is database trigger.
isddltrigger
()¶Returns True if this trigger is DDL trigger.
isdelete
()¶Returns True if this trigger is set for DELETE operation.
isinsert
()¶Returns True if this trigger is set for INSERT operation.
issystemobject
()¶Returns True if this database object is system object.
isupdate
()¶Returns True if this trigger is set for UPDATE operation.
actions
¶List of supported SQL operations on metadata object instance.
description
¶Database object description or None if object doesn’t have a description.
engine_name
¶Engine name.
entrypoint
¶Entrypoint.
flags
¶Internal flags.
name
¶Database object name or None if object doesn’t have a name.
schema
= None¶sequence
¶Sequence (position) of trigger. Zero usually means no sequence defined.
source
¶PSQL source code.
trigger_type
¶Numeric code for trigger type that define what event and when are covered by trigger.
valid_blr
¶Trigger BLR invalidation flag. Coul be True/False or None.
fdb.schema.
ProcedureParameter
(schema, proc, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents procedure parameter.
Supported SQL actions: comment
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_definition
()¶Returns SQL definition for parameter.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
has_default
()¶Returns True if parameter has default value.
isinput
()¶Returns True if parameter is INPUT parameter.
isnullable
()¶Returns True if parameter allows NULL.
ispackaged
()¶Returns True if procedure parameter is defined in package.
issystemobject
()¶Returns True if this database object is system object.
actions
¶List of supported SQL operations on metadata object instance.
column
¶TableColumn
for this parameter.
datatype
¶Comlete SQL datatype definition.
default
¶Default value.
description
¶Database object description or None if object doesn’t have a description.
mechanism
¶Parameter mechanism code.
name
¶Database object name or None if object doesn’t have a name.
procedure
¶Name of the stored procedure.
schema
= None¶sequence
¶Sequence (position) of parameter.
type_from
¶Numeric code. See Schema.enum_param_type_from
.`
fdb.schema.
Procedure
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents stored procedure.
Supported SQL actions:
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_param
(name)¶Returns ProcedureParameter
with specified name or None
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
has_input
()¶Returns True if procedure has any input parameters.
has_output
()¶Returns True if procedure has any output parameters.
ispackaged
()¶Returns True if procedure is defined in package.
issystemobject
()¶Returns True if this database object is system object.
actions
¶List of supported SQL operations on metadata object instance.
description
¶Database object description or None if object doesn’t have a description.
engine_name
¶Engine name.
entrypoint
¶Entrypoint.
id
¶Internal unique ID number.
input_params
¶ObjectList
of input parameters.
Instances are ProcedureParameter
instances.
name
¶Database object name or None if object doesn’t have a name.
output_params
¶ObjectList
of output parameters.
Instances are ProcedureParameter
instances.
owner_name
¶User name of procedure’s creator.
privacy
¶Privacy flag.
privileges
¶ObjectList
of Privilege
objects granted to this object.
proc_type
¶Procedure type code. See enum_procedure_types
.
schema
= None¶security_class
¶Security class that define access limits to the procedure.
source
¶PSQL source code.
valid_blr
¶Procedure BLR invalidation flag. Coul be True/False or None.
fdb.schema.
Role
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents user role.
Supported SQL actions:
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
issystemobject
()¶Returns True if this database object is system object.
actions
¶List of supported SQL operations on metadata object instance.
description
¶Database object description or None if object doesn’t have a description.
name
¶Database object name or None if object doesn’t have a name.
owner_name
¶User name of role owner.
privileges
¶ObjectList
of Privilege
objects granted to this object.
schema
= None¶security_class
¶Security class name or None.
fdb.schema.
FunctionArgument
(schema, function, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represets UDF argument.
Supported SQL actions: none.
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_definition
()¶Returns SQL definition for parameter.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
has_default
()¶Returns True if parameter has default value.
isbydescriptor
(any=False)¶Returns True if argument is passed by descriptor.
Parameters: | any (bool) – If True, method returns True if any kind of descriptor is used (including BLOB and ARRAY descriptors). |
---|
isbyreference
()¶Returns True if argument is passed by reference.
isbyvalue
()¶Returns True if argument is passed by value.
isfreeit
()¶Returns True if (return) argument is declared as FREE_IT.
isnullable
()¶Returns True if parameter allows NULL.
ispackaged
()¶Returns True if function argument is defined in package.
isreturning
()¶Returns True if argument represents return value for function.
issystemobject
()¶Returns True if this database object is system object.
iswithnull
()¶Returns True if argument is passed by reference with NULL support.
actions
¶List of supported SQL operations on metadata object instance.
argument_mechanism
¶Argument mechanism.
argument_name
¶Argument name.
character_length
¶Length of CHAR and VARCHAR column, in characters (not bytes).
character_set
¶CharacterSet
for a character/text BLOB argument, or None.
column
¶TableColumn
for this parameter.
datatype
¶Comlete SQL datatype definition.
default
¶Default value.
description
¶Database object description or None if object doesn’t have a description.
field_type
¶Number code of the data type defined for the argument.
length
¶Length of the argument in bytes.
mechanism
¶How argument is passed.
name
¶Database object name or None if object doesn’t have a name.
position
¶Argument position.
precision
¶Indicates the number of digits of precision available to the data type of the argument.
scale
¶Negative number representing the scale of NUMBER and DECIMAL argument.
schema
= None¶sub_type
¶BLOB subtype.
type_from
¶Numeric code. See Schema.enum_param_type_from
.`
fdb.schema.
Function
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents user defined function.
Supported SQL actions:
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
has_arguments
()¶Returns True if function has input arguments.
has_return
()¶Returns True if function returns a value.
has_return_argument
()¶Returns True if function returns a value in input argument.
isexternal
()¶Returns True if function is external UDF, False for PSQL functions.
ispackaged
()¶Returns True if function is defined in package.
issystemobject
()¶Returns True if this database object is system object.
actions
¶List of supported SQL operations on metadata object instance.
arguments
¶ObjectList
of function arguments. Items are FunctionArgument
instances.
description
¶Database object description or None if object doesn’t have a description.
deterministic_flag
¶Deterministic flag.
engine_mame
¶Engine name.
entrypoint
¶Entrypoint in module.
id
¶Function ID.
legacy_flag
¶Legacy flag.
module_name
¶Module name.
name
¶Database object name or None if object doesn’t have a name.
owner_name
¶Owner name.
private_flag
¶Private flag.
returns
¶Returning FunctionArgument
or None.
schema
= None¶security_class
¶Security class.
source
¶Function source.
valid_blr
¶BLR validity flag.
fdb.schema.
DatabaseFile
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents database extension file.
Supported SQL actions: create
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
issystemobject
()¶Returns True.
actions
¶List of supported SQL operations on metadata object instance.
description
¶Database object description or None if object doesn’t have a description.
filename
¶File name.
length
¶File length in pages.
name
¶Database object name or None if object doesn’t have a name.
schema
= None¶sequence
¶File sequence number.
start
¶File start page number.
fdb.schema.
Shadow
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents database shadow.
Supported SQL actions: create, drop(preserve=bool)
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
isconditional
()¶Returns True if it’s CONDITIONAL shadow.
isinactive
()¶Returns True if it’s INACTIVE shadow.
ismanual
()¶Returns True if it’s MANUAL shadow.
issystemobject
()¶Returns False.
SHADOW_CONDITIONAL
= 16¶SHADOW_INACTIVE
= 2¶SHADOW_MANUAL
= 4¶actions
¶List of supported SQL operations on metadata object instance.
description
¶Database object description or None if object doesn’t have a description.
files
¶List of shadow files. Items are DatabaseFile
instances.
flags
¶Shadow flags.
id
¶Shadow ID number.
name
¶Database object name or None if object doesn’t have a name.
schema
= None¶fdb.schema.
Privilege
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents priviledge to database object.
Supported SQL actions: grant(grantors),revoke(grantors,grant_option)
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
has_grant
()¶Returns True if privilege comes with GRANT OPTION.
isdelete
()¶Returns True if this is DELETE privilege.
isexecute
()¶Returns True if this is EXECUTE privilege.
isinsert
()¶Returns True if this is INSERT privilege.
ismembership
()¶Returns True if this is ROLE membership privilege.
isreference
()¶Returns True if this is REFERENCE privilege.
isselect
()¶Returns True if this is SELECT privilege.
issystemobject
()¶Returns True.
isupdate
()¶Returns True if this is UPDATE privilege.
actions
¶List of supported SQL operations on metadata object instance.
description
¶Database object description or None if object doesn’t have a description.
field_name
¶Field name.
grantor_name
¶Grantor name.
name
¶Database object name or None if object doesn’t have a name.
privilege
¶Privilege code.
schema
= None¶subject_name
¶Subject name.
subject_type
¶Subject type.
user_name
¶User name.
user_type
¶User type.
fdb.schema.
Package
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents PSQL package.
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
has_valid_body
()¶issystemobject
()¶Returns True if this database object is system object.
actions
¶List of supported SQL operations on metadata object instance.
body
¶Package body source.
description
¶Database object description or None if object doesn’t have a description.
functions
¶ObjectList
of package functions. Items are Function
instances.
header
¶Package header source.
name
¶Database object name or None if object doesn’t have a name.
owner_name
¶User name of package creator.
procedures
¶ObjectList
of package procedures. Items are Procedure
instances.
schema
= None¶security_class
¶Security class name or None.
fdb.schema.
BackupHistory
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents entry of history for backups performed using the nBackup utility.
Supported SQL actions: None
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
issystemobject
()¶Returns True.
actions
¶List of supported SQL operations on metadata object instance.
backup_id
¶The identifier assigned by the engine.
created
¶Backup date and time.
description
¶Database object description or None if object doesn’t have a description.
filename
¶Full path and file name of backup file.
guid
¶Unique identifier.
level
¶Backup level.
name
¶Database object name or None if object doesn’t have a name.
schema
= None¶scn
¶System (scan) number.
fdb.schema.
Filter
(schema, attributes)¶Bases: fdb.schema.BaseSchemaItem
Represents userdefined BLOB filter.
Supported SQL actions:
accept
(visitor)¶Visitor Pattern support. Calls visit(self) on parameter object.
Parameters: | visitor – Visitor object of Visitor Pattern. |
---|
get_dependencies
()¶Returns list of database objects that this object depend on.
get_dependents
()¶Returns list of all database objects that depend on this one.
get_quoted_name
()¶Returns quoted (if necessary) name.
get_sql_for
(action, **params)¶Returns SQL command for specified action on metadata object.
Supported actions are defined by actions
list.
Raises: | ProgrammingError – For unsupported action or wrong parameters passed. |
---|
issystemobject
()¶Returns True if this database object is system object.
actions
¶List of supported SQL operations on metadata object instance.
description
¶Database object description or None if object doesn’t have a description.
entrypoint
¶The exported name of the BLOB filter in the filter library.
input_sub_type
¶The BLOB subtype of the data to be converted by the function.
module_name
¶The name of the dynamic library or shared object where the code of the BLOB filter is located.
name
¶Database object name or None if object doesn’t have a name.
output_sub_type
¶The BLOB subtype of the converted data.
schema
= None¶DatabaseInfo.shutdown_mode
¶DatabaseInfo.backup_state
¶AttachmentInfo.state
, TransactionInfo.state
and StatementInfo.state
¶TransactionInfo.isolation_mode
¶TransactionInfo.lock_timeout
¶IOStatsInfo.group
¶fdb.monitor.
Monitor
¶Class for access to Firebird monitoring tables.
bind
(connection)¶Bind this instance to specified Connection
.
Parameters: | connection – Connection instance. |
---|---|
Raises: | fdb.ProgrammingError – If Monitor object was set as internal (via
_set_as_internal() ) or database has ODS lower than 11.1. |
clear
()¶Drop all cached information objects. Force reload of fresh monitoring information on next reference.
close
()¶Sever link to Connection
.
Raises: | fdb.ProgrammingError – If Monitor object was set as internal (via
_set_as_internal() ). |
---|
get_attachment
(id)¶Get AttachmentInfo
by ID.
Parameters: | id (int) – Attachment ID. |
---|---|
Returns: | AttachmentInfo with specified ID or None. |
get_call
(id)¶Get CallStackInfo
by ID.
Parameters: | id (int) – Callstack ID. |
---|---|
Returns: | CallStackInfo with specified ID or None. |
get_statement
(id)¶Get StatementInfo
by ID.
Parameters: | id (int) – Statement ID. |
---|---|
Returns: | StatementInfo with specified ID or None. |
get_transaction
(id)¶Get TransactionInfo
by ID.
Parameters: | id (int) – Transaction ID. |
---|---|
Returns: | TransactionInfo with specified ID or None. |
refresh
()¶Reloads fresh monitoring information.
attachments
¶ObjectList
of all attachments.
Items are AttachmentInfo
objects.
callstack
¶ObjectList
with complete call stack.
Items are CallStackInfo
objects.
closed
¶db
¶DatabaseInfo
object for attached database.
iostats
¶ObjectList
of all I/O statistics.
Items are IOStatsInfo
objects.
statements
¶ObjectList
of all statements.
Items are StatementInfo
objects.
tablestats
¶ObjectList
of all table record I/O statistics.
Items are TableStatsInfo
objects.
this_attachment
¶AttachmentInfo
object for current connection.
transactions
¶ObjectList
of all transactions.
Items are TransactionInfo
objects.
variables
¶ObjectList
of all context variables.
Items are ContextVariableInfo
objects.
fdb.monitor.
DatabaseInfo
(monitor, attributes)¶Bases: fdb.monitor.BaseInfoItem
Information about attached database.
backup_state
¶Current state of database with respect to nbackup physical backup.
cache_size
¶Number of pages allocated in the page cache.
created
¶Creation date and time, i.e., when the database was created or last restored.
crypt_page
¶Number of page being encrypted.
forced_writes
¶True if database uses synchronous writes.
iostats
¶IOStatsInfo
for this object.
monitor
= None¶name
¶Database pathname or alias.
next_transaction
¶Transaction ID of the next transaction that will be started.
oat
¶Transaction ID of the oldest active transaction.
ods
¶On-Disk Structure (ODS) version number.
oit
¶Transaction ID of the oldest [interesting] transaction.
ost
¶Transaction ID of the Oldest Snapshot, i.e., the number of the OAT when the last garbage collection was done.
owner
¶User name of database owner.
page_size
¶Size of database page in bytes.
pages
¶Number of pages allocated on disk.
read_only
¶True if database is Read Only.
reserve_space
¶True if database reserves space on data pages.
security_database
¶Type of security database (Default, Self or Other).
shutdown_mode
¶Current shutdown mode.
sql_dialect
¶SQL dialect of the database.
stat_id
¶Internal ID.
sweep_interval
¶The sweep interval configured in the database header. Value 0 indicates that sweeping is disabled.
tablestats
¶Dictionary of TableStatsInfo
instances for this object.
fdb.monitor.
AttachmentInfo
(monitor, attributes)¶Bases: fdb.monitor.BaseInfoItem
Information about attachment (connection) to database.
isactive
()¶Returns True if attachment is active.
isgcallowed
()¶Returns True if Garbage Collection is enabled for this attachment.
isidle
()¶Returns True if attachment is idle.
isinternal
()¶Returns True if attachment is internal system attachment.
terminate
()¶Terminates client session associated with this attachment.
Raises: | fdb.ProgrammingError – If database has ODS lower than 11.2 or this attachement is current session. |
---|
auth_method
¶Authentication method.
character_set
¶CharacterSet
for this attachment.
client_version
¶Client library version.
id
¶Attachment ID.
iostats
¶IOStatsInfo
for this object.
monitor
= None¶name
¶Database pathname or alias.
remote_address
¶Remote address.
remote_host
¶Name of remote host.
remote_os_user
¶OS user name of client process.
remote_pid
¶Remote client process ID.
remote_process
¶Remote client process pathname.
remote_protocol
¶Remote protocol name.
remote_version
¶Remote protocol version.
role
¶Role name.
server_pid
¶Server process ID.
stat_id
¶Internal ID.
state
¶Attachment state (idle/active).
statements
¶ObjectList
of statements associated with attachment.
Items are StatementInfo
objects.
system
¶True for system attachments.
tablestats
¶Dictionary of TableStatsInfo
instances for this object.
timestamp
¶Attachment date/time.
transactions
¶ObjectList
of transactions associated with attachment.
Items are TransactionInfo
objects.
user
¶User name.
variables
¶ObjectList
of variables associated with attachment.
Items are ContextVariableInfo
objects.
fdb.monitor.
TransactionInfo
(monitor, attributes)¶Bases: fdb.monitor.BaseInfoItem
Information about transaction.
isactive
()¶Returns True if transaction is active.
isautocommit
()¶Returns True for autocommited transaction.
isautoundo
()¶Returns True for transaction with automatic undo.
isidle
()¶Returns True if transaction is idle.
isreadonly
()¶Returns True if transaction is Read Only.
attachment
¶AttachmentInfo
instance to which this transaction belongs.
id
¶Transaction ID.
iostats
¶IOStatsInfo
for this object.
isolation_mode
¶Transaction isolation mode code.
lock_timeout
¶Lock timeout.
monitor
= None¶oldest
¶Oldest transaction (local OIT).
oldest_active
¶Oldest active transaction (local OAT).
stat_id
¶Internal ID.
state
¶Transaction state (idle/active).
statements
¶ObjectList
of statements associated with transaction.
Items are StatementInfo
objects.
tablestats
¶Dictionary of TableStatsInfo
instances for this object.
timestamp
¶Transaction start date/time.
top
¶Top transaction.
variables
¶ObjectList
of variables associated with transaction.
Items are ContextVariableInfo
objects.
fdb.monitor.
StatementInfo
(monitor, attributes)¶Bases: fdb.monitor.BaseInfoItem
Information about executed SQL statement.
isactive
()¶Returns True if statement is active.
isidle
()¶Returns True if statement is idle.
terminate
()¶Terminates execution of statement.
Raises: | fdb.ProgrammingError – If this attachement is current session. |
---|
attachment
¶AttachmentInfo
instance to which this statement belongs.
callstack
¶ObjectList
with call stack for statement.
Items are CallStackInfo
objects.
id
¶Statement ID.
iostats
¶IOStatsInfo
for this object.
monitor
= None¶plan
¶Explained execution plan.
sql_text
¶Statement text, if appropriate.
stat_id
¶Internal ID.
state
¶Statement state (idle/active).
tablestats
¶Dictionary of TableStatsInfo
instances for this object.
timestamp
¶Statement start date/time.
transaction
¶TransactionInfo
instance to which this statement belongs or None.
fdb.monitor.
CallStackInfo
(monitor, attributes)¶Bases: fdb.monitor.BaseInfoItem
Information about PSQL call (stack frame).
caller
¶Call stack entry (CallStackInfo
) of the caller.
column
¶SQL source column number.
id
¶Call ID.
iostats
¶IOStatsInfo
for this object.
line
¶SQL source line number.
monitor
= None¶package_name
¶Package name.
stat_id
¶Internal ID.
statement
¶Top-level StatementInfo
instance to which this call stack entry belongs.
timestamp
¶Request start date/time.
fdb.monitor.
IOStatsInfo
(monitor, attributes)¶Bases: fdb.monitor.BaseInfoItem
Information about page and row level I/O operations, and about memory consumption.
backouts
¶Number of records where a new primary record version or a change to an existing primary record version is backed out due to rollback or savepoint undo.
backversion_reads
¶Number of record backversion reads.
conflits
¶Number of record conflits.
deletes
¶Number of deleted records.
expunges
¶Number of records where record version chain is being deleted due to deletions by transactions older than OAT.
fetches
¶Number of page fetches.
fragment_reads
¶Number of record fragment reads.
group
¶Object group code.
idx_reads
¶Number of records read via an index.
inserts
¶Number of inserted records.
locks
¶Number of record locks.
marks
¶Number of pages with changes pending.
max_memory_allocated
¶Maximum number of bytes allocated from the operating system by this object.
max_memory_used
¶Maximum number of bytes used by this object.
memory_allocated
¶Number of bytes currently allocated at the OS level.
memory_used
¶Number of bytes currently in use.
monitor
= None¶owner
¶Object that owns this IOStats instance. Could be either
DatabaseInfo
, AttachmentInfo
, TransactionInfo
,
StatementInfo
or CallStackInfo
instance.
purges
¶Number of records where record version chain is being purged of versions no longer needed by OAT or younger transactions.
reads
¶Number of page reads.
repeated_reads
¶Number of repeated record reads.
seq_reads
¶Number of records read sequentially.
stat_id
¶Internal ID.
updates
¶Number of updated records.
waits
¶Number of record waits.
writes
¶Number of page writes.
fdb.monitor.
TableStatsInfo
(monitor, attributes)¶Bases: fdb.monitor.BaseInfoItem
Information about row level I/O operations on single table.
backouts
¶Number of records where a new primary record version or a change to an existing primary record version is backed out due to rollback or savepoint undo.
backversion_reads
¶Number of record backversion reads.
conflits
¶Number of record conflits.
deletes
¶Number of deleted records.
expunges
¶Number of records where record version chain is being deleted due to deletions by transactions older than OAT.
fragment_reads
¶Number of record fragment reads.
group
¶Object group code.
idx_reads
¶Number of records read via an index.
inserts
¶Number of inserted records.
locks
¶Number of record locks.
monitor
= None¶owner
¶Object that owns this TableStats instance. Could be either
DatabaseInfo
, AttachmentInfo
, TransactionInfo
,
StatementInfo
or CallStackInfo
instance.
purges
¶Number of records where record version chain is being purged of versions no longer needed by OAT or younger transactions.
repeated_reads
¶Number of repeated record reads.
row_stat_id
¶Internal ID.
seq_reads
¶Number of records read sequentially.
stat_id
¶Internal ID.
table_name
¶Table name.
updates
¶Number of updated records.
waits
¶Number of record waits.
fdb.monitor.
ContextVariableInfo
(monitor, attributes)¶Bases: fdb.monitor.BaseInfoItem
Information about context variable.
isattachmentvar
()¶Returns True if variable is associated to attachment context.
istransactionvar
()¶Returns True if variable is associated to transaction context.
attachment
¶AttachmentInfo
instance to which this context variable belongs or None.
monitor
= None¶name
¶Context variable name.
stat_id
¶Internal ID.
transaction
¶TransactionInfo
instance to which this context variable belongs or None.
value
¶Value of context variable.
|
|
|
|
|
EVENTS: | List of trace event names in order matching their numeric codes |
---|
fdb.trace.
AttachmentInfo
(attachment_id, database, charset, protocol, address, user, role, remote_process, remote_pid)¶fdb.trace.
TransactionInfo
(attachment_id, transaction_id, options)¶fdb.trace.
ServiceInfo
(service_id, user, protocol, address, remote_process, remote_pid)¶fdb.trace.
SQLInfo
(sql_id, sql, plan)¶fdb.trace.
ParamInfo
(par_id, params)¶fdb.trace.
AccessTuple
(table, natural, index, update, insert, delete, backout, purge, expunge)¶fdb.trace.
EventTraceInit
(event_id, timestamp, session_name)¶fdb.trace.
EventTraceSuspend
(event_id, timestamp, session_name)¶fdb.trace.
EventTraceFinish
(event_id, timestamp, session_name)¶fdb.trace.
EventCreate
(event_id, timestamp, status, attachment_id, database, charset, protocol, address, user, role, remote_process, remote_pid)¶fdb.trace.
EventDrop
(event_id, timestamp, status, attachment_id, database, charset, protocol, address, user, role, remote_process, remote_pid)¶fdb.trace.
EventAttach
(event_id, timestamp, status, attachment_id, database, charset, protocol, address, user, role, remote_process, remote_pid)¶fdb.trace.
EventDetach
(event_id, timestamp, status, attachment_id, database, charset, protocol, address, user, role, remote_process, remote_pid)¶fdb.trace.
EventTransactionStart
(event_id, timestamp, status, attachment_id, transaction_id, options)¶fdb.trace.
EventCommit
(event_id, timestamp, status, attachment_id, transaction_id, options, run_time, reads, writes, fetches, marks)¶fdb.trace.
EventRollback
(event_id, timestamp, status, attachment_id, transaction_id, options, run_time, reads, writes, fetches, marks)¶fdb.trace.
EventCommitRetaining
(event_id, timestamp, status, attachment_id, transaction_id, options, run_time, reads, writes, fetches, marks)¶fdb.trace.
EventRollbackRetaining
(event_id, timestamp, status, attachment_id, transaction_id, options, run_time, reads, writes, fetches, marks)¶fdb.trace.
EventPrepareStatement
(event_id, timestamp, status, attachment_id, transaction_id, statement_id, sql_id, prepare_time)¶fdb.trace.
EventStatementStart
(event_id, timestamp, status, attachment_id, transaction_id, statement_id, sql_id, param_id)¶fdb.trace.
EventStatementFinish
(event_id, timestamp, status, attachment_id, transaction_id, statement_id, sql_id, param_id, records, run_time, reads, writes, fetches, marks, access)¶fdb.trace.
EventFreeStatement
(event_id, timestamp, attachment_id, transaction_id, statement_id, sql_id)¶fdb.trace.
EventCloseCursor
(event_id, timestamp, attachment_id, transaction_id, statement_id, sql_id)¶fdb.trace.
EventTriggerStart
(event_id, timestamp, status, attachment_id, transaction_id, trigger, table, event)¶fdb.trace.
EventTriggerFinish
(event_id, timestamp, status, attachment_id, transaction_id, trigger, table, event, run_time, reads, writes, fetches, marks, access)¶fdb.trace.
EventProcedureStart
(event_id, timestamp, status, attachment_id, transaction_id, procedure, param_id)¶fdb.trace.
EventProcedureFinish
(event_id, timestamp, status, attachment_id, transaction_id, procedure, param_id, run_time, reads, writes, fetches, marks, access)¶fdb.trace.
EventServiceAttach
(event_id, timestamp, status, service_id)¶fdb.trace.
EventServiceDetach
(event_id, timestamp, status, service_id)¶fdb.trace.
EventServiceStart
(event_id, timestamp, status, service_id, action, parameters)¶fdb.trace.
EventServiceQuery
(event_id, timestamp, status, service_id, action, parameters)¶fdb.trace.
EventSetContext
(event_id, timestamp, attachment_id, transaction_id, context, key, value)¶fdb.trace.
EventError
(event_id, timestamp, attachment_id, place, details)¶fdb.trace.
EventServiceError
(event_id, timestamp, service_id, place, details)¶fdb.trace.
EventWarning
(event_id, timestamp, attachment_id, place, details)¶fdb.trace.
EventServiceWarning
(event_id, timestamp, service_id, place, details)¶fdb.trace.
EventSweepStart
(event_id, timestamp, attachment_id, oit, oat, ost, next)¶fdb.trace.
EventSweepProgress
(event_id, timestamp, attachment_id, run_time, reads, writes, fetches, marks, access)¶fdb.trace.
EventSweepFinish
(event_id, timestamp, attachment_id, oit, oat, ost, next, run_time, reads, writes, fetches, marks)¶fdb.trace.
EventSweepFailed
(event_id, timestamp, attachment_id)¶fdb.trace.
EventBLRCompile
(event_id, timestamp, status, attachment_id, statement_id, content, prepare_time)¶fdb.trace.
EventBLRExecute
(event_id, timestamp, status, attachment_id, transaction_id, statement_id, content, run_time, reads, writes, fetches, marks, access)¶fdb.trace.
EventDYNExecute
(event_id, timestamp, status, attachment_id, transaction_id, content, run_time)¶fdb.trace.
EventUnknown
(event_id, timestamp, data)¶fdb.trace.
TraceParser
¶Parser for standard textual trace log. Produces named tuples describing individual trace log entries/events.
Attributes:
Seen_attachments: | |
---|---|
Set of attachment ids that were already processed. | |
Seen_transactions: | |
Set of transaction ids that were already processed. | |
Seen_services: | Set of service ids that were already processed. |
Sqlinfo_map: | Dictionary that maps (sql_cmd,plan) keys to internal ids |
Param_map: | Dictionary that maps parameters (statement or procedure) keys to internal ids |
Next_event_id: | Sequence id that would be assigned to next parsed event (starts with 1). |
Next_sql_id: | Sequence id that would be assigned to next parsed unique SQL command (starts with 1). |
Next_param_id: | Sequence id that would be assigned to next parsed unique parameter (starts with 1). |
parse
(lines)¶Parse output from Firebird trace session and yield named tuples describing individual trace log entries/events.
Parameters: | lines – Iterable that return lines produced by firebird trace session. |
---|---|
Raises: | ParseError – When any problem is found in input stream. |
parse_event
(trace_block)¶Parse single trace event.
Parameters: | trace_block (list) – List with trace entry lines for single trace event. |
---|---|
Returns: | Named tuple with parsed event. |
Note
Also works as index to ATTRIBUTES.
ATTRIBUTES: | List with database attribute names |
---|
fdb.gstat.
empty_str
(str_)¶Return True if string is empty (whitespace don’t count) or None
fdb.gstat.
parse
(lines)¶Parse output from Firebird gstat utility.
Parameters: | lines – Iterable of lines produced by Firebird gstat utility. |
---|---|
Returns: | StatDatabase instance with parsed results. |
Raises: | ParseError – When any problem is found in input stream. |
fdb.gstat.
FillDistribution
(d20, d40, d50, d80, d100)¶fdb.gstat.
Encryption
(pages, encrypted, unencrypted)¶fdb.gstat.
StatDatabase
¶Bases: object
Firebird database statistics (produced by gstat).
has_encryption_stats
()¶Return True if instance contains information about database encryption.
has_index_stats
()¶Return True if instance contains information about indices.
has_row_stats
()¶Return True if instance contains information about table rows.
has_system
()¶Return True if instance contains information about system tables.
has_table_stats
()¶Return True if instance contains information about tables.
Important
This is not the same as check for empty tables
list. When gstat is run with -i without
-d option, tables
list contains instances that does not have any other information about table
but table name and its indices.
fdb.gstat.
StatTable3
¶Bases: fdb.gstat.StatTable
Statisctics for single database table (Firebird 3 and above).
fdb.gstat.
StatIndex3
(table)¶Bases: fdb.gstat.StatIndex
Statisctics for single database index (Firebird 3 and above).
fdb.log.
parse
(lines)¶Parse Firebird server log and yield named tuples describing individual log entries/events.
Parameters: | lines – Iterable of lines from Firebird server log. |
---|---|
Raises: | ParseError – When any problem is found in input stream. |
fdb.utils.
update_meta
(self, other)¶Helper function for LateBindingProperty
class.
fdb.utils.
iter_class_properties
(cls)¶Iterator that yields name, property pairs for all properties in class.
Parameters: | cls (class) – Class object. |
---|
fdb.utils.
iter_class_variables
(cls)¶Iterator that yields names of all non-callable attributes in class.
Parameters: | cls (class) – Class object. |
---|
fdb.utils.
embed_attributes
(from_class, attr)¶Class decorator that injects properties and attributes from another class instance embedded in class instances. Only attributes and properties that are not already defined in decorated class are injected.
param class from_class: Class that should extend decorated class. param string attr: Attribute name that holds instance of embedded class within decorated class instance.
fdb.utils.
LateBindingProperty
¶Bases: property
Property class that binds to getter/setter/deleter methods when instance of class that define the property is created. This allows you to override these methods in descendant classes (if they are not private) without necessity to redeclare the property itself in descendant class.
Recipe from Tim Delaney, 2005/03/31 http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/408713
class C(object):
def getx(self):
print 'C.getx'
return self._x
def setx(self, x):
print 'C.setx'
self._x = x
def delx(self):
print 'C.delx'
del self._x
x = LateBindingProperty(getx, setx, delx)
class D(C):
def setx(self, x):
print 'D.setx'
super(D, self).setx(x)
def delx(self):
print 'D.delx'
super(D, self).delx()
c = C()
c.x = 1
c.x
c.x
del c.x
print
d = D()
d.x = 1
d.x
d.x
del d.x
This has the advantages that:
fdb.utils.
EmbeddedProperty
(obj, prop)¶Bases: property
Property class that forwards calls to getter/setter/deleter methods to respective property methods of another object. This class allows you to “inject” properties from embedded object into class definition of parent object.
Parameters: |
|
---|
fdb.utils.
EmbeddedAttribute
(obj, attr)¶Bases: property
Property class that gets/sets attribute of another object. This class allows you to “inject” attributes from embedded object into class definition of parent object.
Parameters: |
|
---|
fdb.utils.
ObjectList
(items=None, _cls=None, key_expr=None)¶Bases: list
List of objects with additional functionality.
New in version 2.0.
Parameters: |
|
---|---|
Raises: | ValueError – When initialization sequence contains invalid instance. |
all
(expr)¶Return True if expr is evaluated as True for all list elements.
Parameters: | expr – Boolean expression, a callable accepting one parameter or expression as string referencing list item as item. |
---|
Example:
all(lambda x: x.name.startswith("ABC"))
all('item.name.startswith("ABC")')
any
(expr)¶Return True if expr is evaluated as True for any list element.
Parameters: | expr – Boolean expression, a callable accepting one parameter or expression as string referencing list item as item. |
---|
Example:
any(lambda x: x.name.startswith("ABC"))
any('item.name.startswith("ABC")')
append
(item)¶Add an item to the end of the list.
Raises: | TypeError – When list is frozen or item is not an instance of allowed class |
---|
clear
()¶Remove all items from the list.
Raises: | TypeError – When list is frozen. |
---|
contains
(value, expr=None)¶Return True if list has any item with default or specified key expression equal to given value.
Parameters: |
|
---|
Examples:
# Search using default key expression
contains('ITEM_NAME')
# Search using callable key expression
contains('ITEM_NAME',lambda x: x.name.upper())
# Search using string key expression
contains('ITEM_NAME','item.name.upper()')
ecount
(expr)¶Return number of items for which expr is evaluated as True.
Parameters: | expr – Boolean expression, a callable accepting one parameter or expression as string referencing list item as item. |
---|
Example:
ecount(lambda x: x.name.startswith("ABC"))
ecount('item.name.startswith("ABC")')
extend
(iterable)¶Extend the list by appending all the items in the given iterable.
Raises: | TypeError – When list is frozen or item is not an instance of allowed class |
---|
extract
(expr)¶Move items for which expr is evaluated as True into new ObjectLists.
Parameters: | expr – Boolean expression, a callable accepting one parameter or expression as string referencing list item as item. |
---|---|
Raises: | TypeError – When list is frozen. |
Example:
extract(lambda x: x.name.startswith("ABC"))
extract('item.name.startswith("ABC")')
filter
(expr)¶Return new ObjectList of items for which expr is evaluated as True.
Parameters: | expr – Boolean expression, a callable accepting one parameter or expression as string referencing list item as item. |
---|
Example:
filter(lambda x: x.name.startswith("ABC"))
filter('item.name.startswith("ABC")')
freeze
()¶Set list to immutable (frozen) state.
get
(value, expr=None)¶Return item with given key value using default or specified key expression, or None if there is no such item.
Uses very fast method to look up value of default key expression in frozen list, otherwise it uses slower list traversal.
Parameters: |
|
---|---|
Raises: | TypeError – If key expression is not defined. |
Examples:
# Search using default key expression
get('ITEM_NAME')
# Search using callable key expression
get('ITEM_NAME',lambda x: x.name.upper())
# Search using string key expression
get('ITEM_NAME','item.name.upper()')
ifilter
(expr)¶Return generator that yields items for which expr is evaluated as True.
Parameters: | expr – Boolean expression, a callable accepting one parameter or expression as string referencing list item as item. |
---|
Example:
ifilter(lambda x: x.name.startswith("ABC"))
ifilter('item.name.startswith("ABC")')
ifilterfalse
(expr)¶Return generator that yields items for which expr is evaluated as False.
Parameters: | expr – Boolean expression, a callable accepting one parameter or expression as string referencing list item as item. |
---|
Example:
ifilter(lambda x: x.name.startswith("ABC"))
ifilter('item.name.startswith("ABC")')
insert
(index, item)¶Insert item before index.
Raises: | TypeError – When list is frozen or item is not an instance of allowed class |
---|
ireport
(*args)¶Return generator that yields data produced by expression(s) evaluated on list items.
Parameter(s) could be one from:
Examples:
# generator of tuples with item.name and item.size
report(lambda x: (x.name, x.size))
report('item.name','item.size')
# generator of item names
report(lambda x: x.name)
report('item.name')
report
(*args)¶Return list of data produced by expression(s) evaluated on list items.
Parameter(s) could be one from:
Examples:
# returns list of tuples with item.name and item.size
report(lambda x: (x.name, x.size))
report('item.name','item.size')
# returns list of item names
report(lambda x: x.name)
report('item.name')
reverse
()¶Reverse the elements of the list, in place.
Raises: | TypeError – When list is frozen. |
---|
sort
(attrs=None, expr=None, reverse=False)¶Sort items in-place, optionaly using attribute values as key or key expression.
Parameters: |
|
---|
Important
Only one parameter (attrs or expr) could be specified. If none is present then uses default list sorting rule.
Raises: | TypeError – When list is frozen. |
---|
Examples:
sort(attrs=['name','degree']) # Sort by item.name, item.degree
sort(expr=lambda x: x.name.upper()) # Sort by upper item.name
sort(expr='item.name.upper()') # Sort by upper item.name
split
(expr)¶Return two new ObjectLists, first with items for which expr is evaluated as True and second for expr evaluated as False.
Parameters: | expr – Boolean expression, a callable accepting one parameter or expression as string referencing list item as item. |
---|
Example:
split(lambda x: x.size > 100)
split('item.size > 100')
frozen
¶True if list is immutable
key
¶Key expression
fdb.utils.
Visitor
¶Base class for Visitor Pattern visitors.
New in version 2.0.
Descendants may implement methods to handle individual object types that follow naming pattern visit_<class_name>.
Calls default_action()
if appropriate special method is not defined.
Important
This implementation uses Python Method Resolution Order (__mro__) to find special handling method, so special method for given class is used also for its decendants.
Example:
class Node(object): pass
class A(Node): pass
class B(Node): pass
class C(A,B): pass
class MyVisitor(object):
def default_action(self, obj):
print 'default_action '+obj.__class__.__name__
def visit_B(self, obj):
print 'visit_B '+obj.__class__.__name__
a = A()
b = B()
c = C()
visitor = MyVisitor()
visitor.visit(a)
visitor.visit(b)
visitor.visit(c)
Will create output:
default_action A
visit_B B
visit_B C
default_action
(obj)¶Default handler for visited objects.
Parameters: | obj (object) – Object to be handled. |
---|
Note
This implementation does nothing!
visit
(obj)¶Dispatch to method that handles obj.
First traverses the obj.__mro__ to try find method with name following visit_<class_name> pattern and calls it with
obj. Otherwise it calls default_action()
.
Parameters: | obj (object) – Object to be handled by visitor. |
---|
ctypes interface to fbclient.so/dll is defined in submodule fdb.ibase
and fdb.blr
.
The fdb.ibase
is the main module for Firebird API. The fdb.blr
module contains only constants related to Firebird’s low-level Binary Language Representation (BLR).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
isc_info_db_id: | [db_filename,site_name[,site_name…]] |
---|---|
isc_info_reads: | number of page reads |
isc_info_writes: | |
number of page writes | |
isc_info_fetches: | |
number of reads from the memory buffer cache | |
isc_info_marks: | number of writes to the memory buffer cache |
isc_info_implementation: | |
(implementation code, implementation class) | |
isc_info_isc_version: | |
interbase server version identification string | |
isc_info_base_level: | |
capability version of the server | |
isc_info_page_size: | |
database page size | |
isc_info_num_buffers: | |
number of memory buffers currently allocated | |
isc_info_limbo: | limbo transactions |
isc_info_current_memory: | |
amount of server memory (in bytes) currently in use | |
isc_info_max_memory: | |
maximum amount of memory (in bytes) used at one time since the first process attached to the database | |
isc_info_allocation: | |
number of last database page allocated | |
isc_info_attachment_id: | |
attachment id number |
all *_count codes below return {[table_id]=operation_count,…}; table IDs are in the system table RDB$RELATIONS.
isc_info_read_seq_count: | |
---|---|
number of sequential table scans (row reads) done on each table since the database was last attached | |
isc_info_read_idx_count: | |
number of reads done via an index since the database was last attached | |
isc_info_insert_count: | |
number of inserts into the database since the database was last attached | |
isc_info_update_count: | |
number of database updates since the database was last attached | |
isc_info_delete_count: | |
number of database deletes since the database was last attached | |
isc_info_backout_count: | |
number of removals of a version of a record | |
isc_info_purge_count: | |
number of removals of old versions of fully mature records (records that are committed, so that older ancestor versions are no longer needed) | |
isc_info_expunge_count: | |
number of removals of a record and all of its ancestors, for records whose deletions have been committed | |
isc_info_sweep_interval: | |
number of transactions that are committed between sweeps to remove database record versions that are no longer needed | |
isc_info_ods_version: | |
On-disk structure (ODS) minor major version number | |
isc_info_ods_minor_version: | |
On-disk structure (ODS) minor version number | |
isc_info_no_reserve: | |
20% page space reservation for holding backup versions of modified records: 0=yes, 1=no | |
isc_info_forced_writes: | |
mode in which database writes are performed: 0=sync, 1=async | |
isc_info_user_names: | |
array of names of all the users currently attached to the database | |
isc_info_page_errors: | |
number of page level errors validate found | |
isc_info_record_errors: | |
number of record level errors validate found | |
isc_info_bpage_errors: | |
number of blob page errors validate found | |
isc_info_dpage_errors: | |
number of data page errors validate found | |
isc_info_ipage_errors: | |
number of index page errors validate found | |
isc_info_ppage_errors: | |
number of pointer page errors validate found | |
isc_info_tpage_errors: | |
number of transaction page errors validate found | |
isc_info_set_page_buffers: | |
number of memory buffers that should be allocated | |
isc_info_db_sql_dialect: | |
dialect of currently attached database | |
isc_info_db_read_only: | |
whether the database is read-only (1) or not (0) | |
isc_info_db_size_in_pages: | |
number of allocated pages | |
frb_info_att_charset: | |
charset of current attachment | |
isc_info_db_class: | |
server architecture | |
isc_info_firebird_version: | |
firebird server version identification string | |
isc_info_oldest_transaction: | |
ID of oldest transaction | |
isc_info_oldest_active: | |
ID of oldest active transaction | |
isc_info_oldest_snapshot: | |
ID of oldest snapshot transaction | |
isc_info_next_transaction: | |
ID of next transaction | |
isc_info_db_provider: | |
for firebird is ‘isc_info_db_code_firebird’ | |
isc_info_active_transactions: | |
array of active transaction IDs | |
isc_info_active_tran_count: | |
number of active transactions | |
isc_info_creation_date: | |
time_t struct representing database creation date & time | |
isc_info_db_file_size: | |
added in FB 2.1, nbackup-related - size (in pages) of locked db | |
fb_info_page_contents: | |
added in FB 2.5, get raw page contents; takes page_number as parameter; | |
fb_info_implementation: | |
(cpu code, OS code, compiler code, flags, implementation class) | |
fb_info_page_warns: | |
number of page level warnings validate found | |
fb_info_record_warns: | |
number of record level warnings validate found | |
fb_info_bpage_warns: | |
number of blob page level warnings validate found | |
fb_info_dpage_warns: | |
number of data page level warnings validate found | |
fb_info_ipage_warns: | |
number of index page level warnings validate found | |
fb_info_ppage_warns: | |
number of pointer page level warnings validate found | |
fb_info_tpage_warns: | |
number of trabsaction page level warnings validate found | |
fb_info_pip_errors: | |
number of pip page level errors validate found | |
fb_info_pip_warns: | |
number of pip page level warnings validate found | |
isc_info_version: | |
= isc_info_isc_version |
|
|
|
|
|
|
|
|
isc_info_tra_isolation responses:
isc_info_tra_read_committed options:
isc_info_tra_access responses:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Parameters for isc_action_{add|del|mod|disp)_user:
|
|
|
|
|
|
Parameters for isc_action_svc_backup:
|
|
|
|
Parameters for isc_action_svc_properties:
|
|
|
|
Parameters for isc_spb_prp_shutdown_mode and isc_spb_prp_online_mode:
|
|
|
|
Parameters for isc_spb_prp_reserve_space:
|
|
Parameters for isc_spb_prp_write_mode:
|
|
Parameters for isc_action_svc_validate:
|
|
|
|
|
Parameters for isc_spb_prp_access_mode:
|
|
|
|
|
Parameters for isc_action_svc_restore:
|
|
|
|
Parameters for isc_spb_res_access_mode:
|
|
Parameters for isc_info_svc_svr_db_info:
|
|
Parameters for isc_info_svc_db_stats:
|
|
|
|
Parameters for isc_action_svc_nbak:
|
|
|
|
Parameters for trace:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
flags set in fb_info_crypt_state:
FB_API_VER: | (int) Firebird API version number |
---|---|
MAX_BLOB_SEGMENT_SIZE: | |
(int) Max size for BLOB segment |
fdb.ibase.
STRING
¶alias of ctypes.c_char_p
fdb.ibase.
WSTRING
¶alias of ctypes.c_wchar_p
fdb.ibase.
FB_API_HANDLE
¶alias of ctypes.c_uint
fdb.ibase.
ISC_STATUS
¶alias of ctypes.c_long
fdb.ibase.
ISC_STATUS_PTR
¶alias of fdb.ibase.LP_c_long
fdb.ibase.
ISC_STATUS_ARRAY
¶alias of fdb.ibase.c_long_Array_20
fdb.ibase.
FB_SQLSTATE_STRING
¶alias of fdb.ibase.c_char_Array_6
fdb.ibase.
ISC_LONG
¶alias of ctypes.c_int
fdb.ibase.
ISC_ULONG
¶alias of ctypes.c_uint
fdb.ibase.
ISC_SHORT
¶alias of ctypes.c_short
fdb.ibase.
ISC_USHORT
¶alias of ctypes.c_ushort
fdb.ibase.
ISC_UCHAR
¶alias of ctypes.c_ubyte
fdb.ibase.
ISC_SCHAR
¶alias of ctypes.c_char
fdb.ibase.
ISC_INT64
¶alias of ctypes.c_long
fdb.ibase.
ISC_UINT64
¶alias of ctypes.c_ulong
fdb.ibase.
ISC_DATE
¶alias of ctypes.c_int
fdb.ibase.
ISC_TIME
¶alias of ctypes.c_uint
fdb.ibase.
ISC_TIMESTAMP
¶timestamp_date
¶Structure/Union member
timestamp_time
¶Structure/Union member
fdb.ibase.
GDS_QUAD_t
¶gds_quad_high
¶Structure/Union member
gds_quad_low
¶Structure/Union member
fdb.ibase.
GDS_QUAD
¶alias of fdb.ibase.GDS_QUAD_t
fdb.ibase.
ISC_QUAD
¶alias of fdb.ibase.GDS_QUAD_t
fdb.ibase.
ISC_ARRAY_BOUND
¶array_bound_lower
¶Structure/Union member
array_bound_upper
¶Structure/Union member
fdb.ibase.
ISC_ARRAY_DESC
¶array_desc_bounds
¶Structure/Union member
array_desc_dimensions
¶Structure/Union member
array_desc_dtype
¶Structure/Union member
array_desc_field_name
¶Structure/Union member
array_desc_flags
¶Structure/Union member
array_desc_length
¶Structure/Union member
array_desc_relation_name
¶Structure/Union member
array_desc_scale
¶Structure/Union member
fdb.ibase.
ISC_BLOB_DESC
¶blob_desc_charset
¶Structure/Union member
blob_desc_field_name
¶Structure/Union member
blob_desc_relation_name
¶Structure/Union member
blob_desc_segment_size
¶Structure/Union member
blob_desc_subtype
¶Structure/Union member
fdb.ibase.
isc_blob_ctl
¶ctl_bpb
¶Structure/Union member
ctl_bpb_length
¶Structure/Union member
ctl_buffer
¶Structure/Union member
ctl_buffer_length
¶Structure/Union member
ctl_data
¶Structure/Union member
ctl_from_sub_type
¶Structure/Union member
ctl_max_segment
¶Structure/Union member
ctl_number_segments
¶Structure/Union member
ctl_segment_length
¶Structure/Union member
ctl_source
¶Structure/Union member
ctl_source_handle
¶Structure/Union member
ctl_status
¶Structure/Union member
ctl_to_sub_type
¶Structure/Union member
ctl_total_length
¶Structure/Union member
fdb.ibase.
bstream
¶bstr_blob
¶Structure/Union member
bstr_buffer
¶Structure/Union member
bstr_cnt
¶Structure/Union member
bstr_length
¶Structure/Union member
bstr_mode
¶Structure/Union member
bstr_ptr
¶Structure/Union member
fdb.ibase.
BSTREAM
¶alias of fdb.ibase.bstream
fdb.ibase.
FB_BLOB_STREAM
¶alias of fdb.ibase.LP_bstream
fdb.ibase.
XSQLVAR
¶aliasname
¶Structure/Union member
aliasname_length
¶Structure/Union member
ownname
¶Structure/Union member
ownname_length
¶Structure/Union member
relname
¶Structure/Union member
relname_length
¶Structure/Union member
sqldata
¶Structure/Union member
sqlind
¶Structure/Union member
sqllen
¶Structure/Union member
sqlname
¶Structure/Union member
sqlname_length
¶Structure/Union member
sqlscale
¶Structure/Union member
sqlsubtype
¶Structure/Union member
sqltype
¶Structure/Union member
fdb.ibase.
XSQLDA
¶sqld
¶Structure/Union member
sqldabc
¶Structure/Union member
sqldaid
¶Structure/Union member
sqln
¶Structure/Union member
sqlvar
¶Structure/Union member
version
¶Structure/Union member
fdb.ibase.
XSQLDA_PTR
¶alias of fdb.ibase.LP_XSQLDA
fdb.ibase.
USER_SEC_DATA
¶dba_password
¶Structure/Union member
dba_user_name
¶Structure/Union member
first_name
¶Structure/Union member
gid
¶Structure/Union member
group_name
¶Structure/Union member
last_name
¶Structure/Union member
middle_name
¶Structure/Union member
password
¶Structure/Union member
protocol
¶Structure/Union member
sec_flags
¶Structure/Union member
server
¶Structure/Union member
uid
¶Structure/Union member
user_name
¶Structure/Union member
fdb.ibase.
FB_SHUTDOWN_CALLBACK
¶ctypes.CFUNCTYPE(UNCHECKED(c_int), c_int, c_int, POINTER(None))
fdb.ibase.
ISC_CALLBACK
¶ctypes.CFUNCTYPE(None)
fdb.ibase.
ISC_PRINT_CALLBACK
¶ctypes.CFUNCTYPE(None, c_void_p, c_short, STRING)
fdb.ibase.
ISC_VERSION_CALLBACK
¶ctypes.CFUNCTYPE(None, c_void_p, STRING)
fdb.ibase.
ISC_EVENT_CALLBACK
¶ctypes.CFUNCTYPE(None, POINTER(ISC_UCHAR), c_ushort, POINTER(ISC_UCHAR))
fdb.ibase.
blobcallback
¶blob_get_segment
¶Structure/Union member
blob_handle
¶Structure/Union member
blob_lseek
¶Structure/Union member
blob_max_segment
¶Structure/Union member
blob_number_segments
¶Structure/Union member
blob_put_segment
¶Structure/Union member
blob_total_length
¶Structure/Union member
charset_map: | Dictionary that maps DB CHAR SET NAME to PYTHON CODEC NAME (CANONICAL) |
---|
fdb.ibase.
ISC_TRUE
¶fdb.ibase.
ISC_FALSE
¶fdb.ibase.
fbclient_API
(fb_library_name=None)¶Firebird Client API interface object. Loads Firebird Client Library and exposes API functions as member methods. Uses ctypes for bindings.
isc_event_block
(event_buffer, result_buffer, *args)¶Injects variable number of parameters into C_isc_event_block call
Note
BLR data types are defined in fdb.ibase
|
|
|
|
|
|
|
|
|
|
|
|
|