IBM Db2
Db2 keeps DDL inside the transaction but needs an explicit commit afterwards, and stores unquoted identifiers upper-cased in the catalog.
type
db2
Driver
ibm_db_sa
DDL
Transactional
Identifiers
Upper-cased
Install
pip install "dblift[db2]"Connection URL
ibm_db_sa://user:password@localhost:50000/APPdb2:// and db2+<driver>:// URLs are accepted and normalised to ibm_db_sa.
dblift.yaml
database:
type: db2
url: "ibm_db_sa://db.internal:50000/APP"
schema: "APP"
connection_timeout: 30Engine settings
KeyDefaultEffect
schema—Sent as currentSchema on the connection.collection—Package collection, sent as collection.connection_timeout30Sent as connectTimeout.extra_params{}Any other driver parameter, appended to the URL query.Behaviour notes
DDL is transactional, with an explicit commit.
DBLift commits after DDL rather than relying on the driver.
Unquoted identifiers are upper-cased in the catalog.
Introspection compares against the upper-cased form.
Catalog reads end in a rollback.
Introspection closes its transaction explicitly.
The session is not put in autocommit.
Transactions are managed by DBLift.