Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | bpo-45512: Raise exception if sqlite3.Connection.__init__ is called with bad ↵ | Erlend Egeberg Aasland | 2021-11-15 | 1 | -3/+3 | |
| | | | | | | | | | | | | | | | isolation level (#29561) * bpo-45512: Raise sqlite3.Connection.__init__ is called with bad isolation level * Also explicitly test allowed isolation levels * Use subTest for better error messages if something goes wrong * Update Lib/test/test_sqlite3/test_dbapi.py Co-authored-by: Dong-hee Na <donghee.na92@gmail.com> Co-authored-by: Dong-hee Na <donghee.na92@gmail.com> | |||||
* | bpo-45512: Simplify isolation_level handling in `sqlite3` (GH-29053) | Erlend Egeberg Aasland | 2021-11-15 | 3 | -63/+84 | |
| | ||||||
* | bpo-45754: Use correct SQLite limit when checking statement length (GH-29489) | Erlend Egeberg Aasland | 2021-11-10 | 2 | -4/+4 | |
| | ||||||
* | bpo-45731: Handle --enable-loadable-sqlite-extensions in configure (GH-29434) | Christian Heimes | 2021-11-06 | 2 | -6/+6 | |
| | ||||||
* | bpo-45613: Set `sqlite3.threadsafety` dynamically (GH-29227) | Erlend Egeberg Aasland | 2021-11-03 | 1 | -0/+30 | |
| | | | | | | | | | Use the compile-time selected default SQLite threaded mode to set the DB-API 2.0 attribute 'threadsafety' Mappings: - SQLITE_THREADSAFE=0 => threadsafety=0 - SQLITE_THREADSAFE=1 => threadsafety=3 - SQLITE_THREADSAFE=2 => threadsafety=1 | |||||
* | bpo-24139: Add support for SQLite extended result codes (GH-28076) | Erlend Egeberg Aasland | 2021-11-02 | 2 | -3/+131 | |
| | ||||||
* | bpo-42064: Adapt `sqlite3` to multi-phase init (PEP 489) (GH-29234) | Erlend Egeberg Aasland | 2021-11-02 | 1 | -20/+99 | |
| | ||||||
* | bpo-45243: Add support for setting/getting `sqlite3` connection limits ↵ | Erlend Egeberg Aasland | 2021-11-01 | 3 | -1/+146 | |
| | | | | (GH-28463) | |||||
* | bpo-45634: Don't combine error checks when adding `sqlite3` int constants ↵ | Erlend Egeberg Aasland | 2021-10-31 | 1 | -41/+48 | |
| | | | | (GH-29251) | |||||
* | bpo-45581: Raise `MemoryError` in `sqlite3.connect` if SQLite signals memory ↵ | Erlend Egeberg Aasland | 2021-10-29 | 1 | -0/+4 | |
| | | | | error (GH-29171) | |||||
* | bpo-42064: Convert `sqlite3` global state to module state (GH-29073) | Erlend Egeberg Aasland | 2021-10-27 | 8 | -55/+36 | |
| | ||||||
* | bpo-42064: Add module backref to `sqlite3` callback context (GH-28242) | Erlend Egeberg Aasland | 2021-10-19 | 3 | -125/+91 | |
| | ||||||
* | bpo-44991: Normalise function and collation callback naming (GH-28209) | Erlend Egeberg Aasland | 2021-10-12 | 1 | -7/+5 | |
| | ||||||
* | bpo-45439: Move _PyObject_CallNoArgs() to pycore_call.h (GH-28895) | Victor Stinner | 2021-10-12 | 1 | -2/+2 | |
| | | | | | | | * Move _PyObject_CallNoArgs() to pycore_call.h (internal C API). * _ssl, _sqlite and _testcapi extensions now call the public PyObject_CallNoArgs() function, rather than _PyObject_CallNoArgs(). * _lsprof extension is now built with Py_BUILD_CORE_MODULE macro defined to get access to internal _PyObject_CallNoArgs(). | |||||
* | bpo-45439: Rename _PyObject_CallNoArg() to _PyObject_CallNoArgs() (GH-28891) | Victor Stinner | 2021-10-11 | 1 | -2/+2 | |
| | | | | | Fix typo in the private _PyObject_CallNoArg() function name: rename it to _PyObject_CallNoArgs() to be consistent with the public function PyObject_CallNoArgs(). | |||||
* | bpo-45041: Restore `sqlite3` executescript behaviour for `SELECT` queries ↵ | Erlend Egeberg Aasland | 2021-10-07 | 1 | -1/+1 | |
| | | | | | | | (GH-28509) * bpo-45041: Restore sqlite3 executescript behaviour for select queries * Add regression test | |||||
* | bpo-44958: Revert GH-27844 (GH-28574) | Erlend Egeberg Aasland | 2021-09-26 | 3 | -40/+39 | |
| | | | | This reverts commit 050d1035957379d70e8601e6f5636637716a264b, but keeps the tests. | |||||
* | bpo-44958: Only reset `sqlite3` statements when needed (GH-27844) | Erlend Egeberg Aasland | 2021-09-21 | 3 | -39/+40 | |
| | ||||||
* | bpo-45041: Simplify `sqlite3.Cursor.executescript()` (GH-28020) | Erlend Egeberg Aasland | 2021-09-19 | 1 | -42/+25 | |
| | ||||||
* | bpo-45040: Simplify sqlite3 transaction control functions (GH-28019) | Erlend Egeberg Aasland | 2021-09-19 | 2 | -63/+28 | |
| | ||||||
* | bpo-45126: Fix ref. leak in `sqlite3.Connection.__init__` (GH-28231) | Erlend Egeberg Aasland | 2021-09-12 | 2 | -13/+49 | |
| | ||||||
* | bpo-43413: Fix handling keyword arguments in subclasses of some buitin ↵ | Serhiy Storchaka | 2021-09-12 | 2 | -4/+6 | |
| | | | | | | | | classes (GH-26456) * Constructors of subclasses of some buitin classes (e.g. tuple, list, frozenset) no longer accept arbitrary keyword arguments. * Subclass of set can now define a __new__() method with additional keyword parameters without overriding also __init__(). | |||||
* | bpo-42064: Pass module state to trace, progress, and authorizer callbacks ↵ | Erlend Egeberg Aasland | 2021-09-07 | 2 | -73/+111 | |
| | | | | | | | | (GH-27940) - add print-or-clear traceback helper - add helpers to clear and visit saved contexts - modify callbacks to use the new callback_context struct | |||||
* | bpo-44991: Normalise `sqlite3` callback naming (GH-28088) | Erlend Egeberg Aasland | 2021-09-07 | 2 | -52/+59 | |
| | | | | | | | | - all callbacks are now named xxx_callback - normalise callable naming in set_*() functions - normalise context argument naming in callbacks The sqlite code is being "touched" in bpo-42064 (and related issues); this style change makes it easier to work with and review. | |||||
* | Remove unused macros from Modules/_sqlite/microprotocols.h (GH-28171) | Erlend Egeberg Aasland | 2021-09-05 | 1 | -6/+0 | |
| | ||||||
* | bpo-42064: Offset arguments for PyObject_Vectorcall in the _sqlite module ↵ | Petr Viktorin | 2021-08-31 | 2 | -10/+14 | |
| | | | | | | | (GH-27931) This allows e.g. methods to be called efficiently by providing space for a "self" argument; see PY_VECTORCALL_ARGUMENTS_OFFSET docs. | |||||
* | bpo-44991: Make GIL handling more explicit in `sqlite3` callbacks (GH-27934) | Erlend Egeberg Aasland | 2021-08-31 | 1 | -35/+27 | |
| | | | | | | | | - acquire the GIL at the very start[1] - release the GIL at the very end [1] The trace callback performs a sanity check before acquiring the GIL Automerge-Triggered-By: GH:encukou | |||||
* | bpo-16379: expose SQLite error codes and error names in `sqlite3` (GH-27786) | Erlend Egeberg Aasland | 2021-08-30 | 3 | -29/+153 | |
| | ||||||
* | bpo-27334: Fix reference leak introduced by GH-26202 (GH-27942) | Erlend Egeberg Aasland | 2021-08-25 | 1 | -0/+1 | |
| | ||||||
* | bpo-27334: roll back transaction if sqlite3 context manager fails to commit ↵ | Erlend Egeberg Aasland | 2021-08-25 | 1 | -7/+21 | |
| | | | | | | (GH-26202) Co-authored-by: Luca Citi Co-authored-by: Berker Peksag <berker.peksag@gmail.com> | |||||
* | bpo-44976: Lazy creation of sqlite3 result rows (GH-27884) | Erlend Egeberg Aasland | 2021-08-25 | 2 | -58/+29 | |
| | ||||||
* | bpo-42064: Pass module state to `sqlite3` UDF callbacks (GH-27456) | Erlend Egeberg Aasland | 2021-08-24 | 2 | -31/+64 | |
| | | | | - Establish common callback context struct - Convert UDF callbacks to fetch module state from callback context | |||||
* | Remove unused UNKNOWN macros from cursor.h and prepare_protocol.h (GH-27885) | Erlend Egeberg Aasland | 2021-08-22 | 2 | -2/+0 | |
| | ||||||
* | bpo-44965: Early exit for non-DML statements in sqlite3.Cursor.executemany() ↵ | Erlend Egeberg Aasland | 2021-08-21 | 1 | -8/+7 | |
| | | | | (GH-27865) | |||||
* | bpo-44079: Strip superfluous statement cache from sqlite3.Connection (GH-25998) | Erlend Egeberg Aasland | 2021-08-18 | 4 | -116/+18 | |
| | ||||||
* | bpo-44859: Improve error handling in sqlite3 and and raise more accurate ↵ | Serhiy Storchaka | 2021-08-08 | 4 | -33/+52 | |
| | | | | | | | | | | | | | | | | | | | | exceptions. (GH-27654) * MemoryError is now raised instead of sqlite3.Warning when memory is not enough for encoding a statement to UTF-8 in Connection.__call__() and Cursor.execute(). * UnicodEncodeError is now raised instead of sqlite3.Warning when the statement contains surrogate characters in Connection.__call__() and Cursor.execute(). * TypeError is now raised instead of ValueError for non-string script argument in Cursor.executescript(). * ValueError is now raised for script containing the null character instead of truncating it in Cursor.executescript(). * Correctly handle exceptions raised when getting boolean value of the result of the progress handler. * Add many tests covering different corner cases. Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no> | |||||
* | bpo-44839: Raise more specific errors in sqlite3 (GH-27613) | Serhiy Storchaka | 2021-08-06 | 1 | -36/+31 | |
| | | | | | | MemoryError raised in user-defined functions will now preserve its type. OverflowError will now be converted to DataError. Previously both were converted to OperationalError. | |||||
* | bpo-44822: Don't truncate `str`s with embedded NULL chars returned by ↵ | Erlend Egeberg Aasland | 2021-08-05 | 1 | -3/+10 | |
| | | | | `sqlite3` UDF callbacks (GH-27588) | |||||
* | bpo-31746: Fix broken call in GH-27431 (GH-27464) | Erlend Egeberg Aasland | 2021-07-29 | 1 | -1/+1 | |
| | ||||||
* | bpo-31746: Prevent segfaults when sqlite3.Connection is uninitialised (GH-27431) | Erlend Egeberg Aasland | 2021-07-29 | 1 | -7/+23 | |
| | ||||||
* | bpo-42064: Optimise `sqlite3` state access, part 1 (GH-27273) | Erlend Egeberg Aasland | 2021-07-29 | 13 | -66/+103 | |
| | | | | | | | | | | Prepare for module state: - Add "get state by defining class" and "get state by module def" stubs - Add AC defining class when needed - Add state pointer to connection context - Pass state as argument to utility functions Automerge-Triggered-By: GH:encukou | |||||
* | bpo-44688: Remove ASCII limitation from `sqlite3` collation names (GH-27395) | Erlend Egeberg Aasland | 2021-07-29 | 2 | -57/+22 | |
| | ||||||
* | bpo-42064: Migrate to `sqlite3_create_collation_v2` (GH-27156) | Erlend Egeberg Aasland | 2021-07-27 | 2 | -27/+17 | |
| | | | | | | This implies that SQLite now takes care of destroying the callback context (the PyObject callable it has been passed), so we can strip the collation dict from the connection object. | |||||
* | bpo-42064: Finalise establishing sqlite3 global state (GH-27155) | Erlend Egeberg Aasland | 2021-07-20 | 6 | -53/+69 | |
| | | | | | | With this, all sqlite3 static globals have been moved to the global state. There are a couple of global static strings left, but there should be no need for adding them to the state. https://bugs.python.org/issue42064 | |||||
* | bpo-44641: Use vectorcall in sqlite3 collation callback (GH-27158) | Erlend Egeberg Aasland | 2021-07-15 | 1 | -3/+3 | |
| | ||||||
* | Fix docstring typo in ↵ | Erlend Egeberg Aasland | 2021-07-14 | 4 | -8/+8 | |
| | | | | | | | | sqlite3.Connection.executescript/sqlite3.Cursor.executescript (GH-27147) Both `executescript` methods contain the same docstring typo: _"Executes a multiple SQL statements at once."_ => _"Executes multiple SQL statements at once."_ Automerge-Triggered-By: GH:pablogsal | |||||
* | bpo-42064: Move `sqlite3` exceptions to global state, part 2 of 2 (GH-26884) | Erlend Egeberg Aasland | 2021-07-14 | 7 | -82/+90 | |
| | | | Automerge-Triggered-By: GH:encukou | |||||
* | bpo-44491: Allow clearing the sqlite3 authoriser callback (GH-26863) | Erlend Egeberg Aasland | 2021-06-24 | 1 | -6/+10 | |
| | ||||||
* | bpo-42064: Move `sqlite3` exceptions to global state, part 1 of 2 (GH-26745) | Erlend Egeberg Aasland | 2021-06-23 | 6 | -39/+49 | |
| | | | Also adds a test to verify the (borrowed) exceptions in `sqlite3.Connection`. | |||||
* | bpo-42064: Remove stale extern declarations in `sqlite3` headers (GH-26840) | Erlend Egeberg Aasland | 2021-06-23 | 5 | -10/+0 | |
| |