async_db
- class mautrix.util.async_db.Database
 Bases:
ABC- __init__(url, upgrade_table, db_args=None, log=None, owner_name=None, ignore_foreign_tables=True)
 - Parameters:
 url (URL)
upgrade_table (UpgradeTable | None)
log (TraceLogger | None)
owner_name (str | None)
ignore_foreign_tables (bool)
- Return type:
 None
- acquire()
 - Return type:
 LoggingConnection
- abstractmethod acquire_direct()
 - Return type:
 AsyncContextManager[LoggingConnection, bool | None]
- classmethod create(url, *, db_args=None, upgrade_table=None, log=None, owner_name=None, ignore_foreign_tables=True)
 
- async execute(query, *args, timeout=None)
 
- async executemany(query, *args, timeout=None)
 
- async fetch(query, *args, timeout=None)
 
- async fetchrow(query, *args, timeout=None)
 
- async fetchval(query, *args, column=0, timeout=None)
 
- schemes: dict[str, Type[Database]] = {'cockroach': <class 'mautrix.util.async_db.PostgresDatabase'>, 'cockroachdb': <class 'mautrix.util.async_db.PostgresDatabase'>, 'postgres': <class 'mautrix.util.async_db.PostgresDatabase'>, 'postgresql': <class 'mautrix.util.async_db.PostgresDatabase'>, 'sqlite': <class 'mautrix.util.async_db.SQLiteDatabase'>, 'sqlite3': <class 'mautrix.util.async_db.SQLiteDatabase'>}
 
- async start()
 - Return type:
 None
- abstractmethod async stop()
 - Return type:
 None
- log: TraceLogger
 
- url: URL
 
- upgrade_table: UpgradeTable | None
 
- class mautrix.util.async_db.UpgradeTable
 Bases:
object- __init__(allow_unsupported=False, version_table_name='version', database_name='database', log=None)
 - Parameters:
 allow_unsupported (bool)
version_table_name (str)
database_name (str)
log (Logger | TraceLogger | None)
- Return type:
 None
- register(_outer_fn=None, *, index=-1, description='', transaction=True, upgrades_to=None)
 
- log: TraceLogger
 
- mautrix.util.async_db.register_upgrade(index=-1, description='')
 
- class mautrix.util.async_db.PostgresDatabase
 Bases:
Database- __init__(url, upgrade_table, db_args=None, log=None, owner_name=None, ignore_foreign_tables=True)
 
- acquire_direct()
 - Return type:
 LoggingConnection
- override_pool(db)
 - Parameters:
 db (PostgresDatabase)
- Return type:
 None
- property pool: Pool
 
- scheme = 'postgres'
 
- async start()
 - Return type:
 None
- async stop()
 - Return type:
 None
- class mautrix.util.async_db.SQLiteDatabase
 Bases:
Database- __init__(url, upgrade_table, db_args=None, log=None, owner_name=None, ignore_foreign_tables=True)
 
- acquire_direct()
 - Return type:
 AsyncContextManager[LoggingConnection, bool | None]
- scheme = 'sqlite'
 
- async start()
 - Return type:
 None
- async stop()
 - Return type:
 None
- mautrix.util.async_db.SQLiteCursor
 alias of
Cursor
- mautrix.util.async_db.Connection
 alias of
LoggingConnection
- class mautrix.util.async_db.Scheme
 Bases:
Enum- POSTGRES = 'postgres'
 
- COCKROACH = 'cockroach'
 
- SQLITE = 'sqlite'
 
- exception mautrix.util.async_db.DatabaseException
 Bases:
RuntimeError
- exception mautrix.util.async_db.DatabaseNotOwned
 Bases:
DatabaseException
- exception mautrix.util.async_db.UnsupportedDatabaseVersion
 Bases:
DatabaseException- __init__(name, version, latest)