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
- abstractmethod acquire()
- 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()
- 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()
- 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)