aiosqlite
aiosqlite copied to clipboard
asyncio bridge to the standard sqlite3 module
### Description sqlite3's Connection object includes a factory kwarg while aiosqlite doesn't. https://github.com/omnilib/aiosqlite/blob/cd1861cb0fdbc8ee075aec20a517952bfb518424/aiosqlite/core.py#L155-L158 ### Details * OS: * Python version: 3.9 * aiosqlite version: * Can you repro on 'main'...
### Description It seems that I cannot set the `row_factory` attribute if I want to use the connection with `async with` later. 1. If I don't `await` the connection, I...
### Description I'm seeing somewhat unreliable behaviour with the `lastrowid` property of a cursor. I'm doing `INSERT ... ON CONFLICT DO UPDATE` statements on multiple rows: ```python for rel in...
DB error
i am using aiosqlite in my system, when i start the application the DB works correctly, after a while the application crashes because the db stops producing the following error...
cursor.fetchall() marked as "return Iterable[sqlite3.Row]" what is misleading analyzer  may be better `List[sqlite3.Row]`, because [list is always returned there ](https://docs.python.org/3/library/sqlite3.html#sqlite3.Cursor.fetchall) the same for `fetchmany`
### Description In projects where aiosqlite is used just as an async replacement for the `sqlite3` module, it's not always possible to refactor downstream codebases to use async context managers...
### Description A minor point that lead to a little confusion. sqlite3's Connection's context manager is documented as handling committing and rolling back of transactions: https://docs.python.org/3.9/library/sqlite3.html#using-the-connection-as-a-context-manager ```python import sqlite3 con...
### Description Currently aiosqlite relies upon importing the standard sqlite3 module from the python library. For many users, that is OK, but if you want to deploy your code on...
### Description Add `cls` kwarg to `core.connect` that is a subclass or Connection (or a `Callable[[Callable[[Any], sqlite3.Connection], int], Connection]`) (default: `Connection`) Example usage: ```py class MyConnection(aiosqlite.Connection): ... async def main():...
### Description Use `concurrent.futures.ThreadPoolExecutor` instead of an own `threading.Thread`-based implementation. Fixes hanging when connection is not closed before exiting Python.