cql_access_token_hook(+AccessToken, -UserId)
can be
defined to map the generic’AccessToken’passed to cql_transaction/3
to a user ID. If not defined, the AccessToken is assumed to be the user
ID. This UserID is used in logging.cql_execution_hook(+Statement, +OdbcParameters, +OdbcParameterDataTypes, -Row)
can be defined if you want to implement the exeuction yourself (for
example, to add extra debugging)cql_log_hook(+Topics, +Level, +Format, +Args)
can
be defined to redirect CQL logging.
[]
and [debug(deadlocks)
]
sql_gripe_hook(+Level, +Format, +Args)
is called
when suspect SQL is found by the SQL parsercql_normalize_atom_hook(+DBMS, +ApplciationAtom, -DBMSAtom)
can be used to create a map for atoms in a specific DBMS. For example,
your schema may have arbitrarily long table names, but your DBMS may
only allow names up to 64 bytes long. In this case, you can create a
scheme for mapping the application-level atom to the DBMS. Other uses
include deleting or normalizing illegal characters in namescql_error_hook(+ErrorId, +Format, +Args)
can be
defined to generate a specific exception term from the given arguments.
If not defined (or if it does not throw an exception, or fails), you
will get cql_error(ErrorId, FormattedMessage)
.cql_max_db_connections_hook(-Max)
can be defined to
limit the number of simultaneous connections each thread will attempt to
haveodbc_connection_complete_hook(+Schema, +Details, +Connection)
can be hooked if you want to know every time a connection is madecql_transaction_info_hook(+AccessToken, +Connection, +DBMS, +Goal, -Info)
can be defined if you want to define any application-defined information
on a per-transaction level. This can be recovered via
database_transaction_query_info(?ThreadId, ?Goal, ?Info)
.