Connection
Bases: AbstractAsyncContextManager[Transaction]
Async database connection that assembles t-string queries and parses results.
Use as an async context manager to start a fassung.connection.Transaction:
async with connection as txn:
await txn.execute(t"...")
add_listener(channel, payload_type, callback)
async
Subscribe to PostgreSQL LISTEN/NOTIFY notifications on channel.
The raw notification payload is parsed into payload_type before being passed to callback.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
channel
|
str
|
The notification channel name. |
required |
payload_type
|
type[T]
|
The type to parse the payload into. |
required |
callback
|
Listener[T]
|
The listener to invoke on each notification. |
required |
cursor(type_, query, *, prefetch=None, timeout=None)
Create a cursor factory for iterating over query results.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
type_
|
type[T]
|
The row type to parse each result into. |
required |
query
|
Template
|
A t-string template containing the SQL query. |
required |
prefetch
|
int | None
|
Number of rows to prefetch. |
None
|
timeout
|
float | None
|
Optional query timeout in seconds. |
None
|
execute(query, *, timeout=None)
async
fetch(type_, query, *, timeout=None)
async
fetchrow(type_, query, *, timeout=None)
async
fetchval(type_, query, column=0, *, timeout=None)
async
Execute a query and return a single scalar value.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
type_
|
type[T]
|
The expected type of the returned value. |
required |
query
|
Template
|
A t-string template containing the SQL query. |
required |
column
|
int
|
Zero-based column index to extract. |
0
|
timeout
|
float | None
|
Optional query timeout in seconds. |
None
|