summaryrefslogtreecommitdiffstats
path: root/Modules/_sqlite
Commit message (Collapse)AuthorAgeFilesLines
* bpo-44641: Use vectorcall in sqlite3 collation callback (GH-27158)Erlend Egeberg Aasland2021-07-151-3/+3
|
* Fix docstring typo in ↵Erlend Egeberg Aasland2021-07-144-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 Aasland2021-07-147-82/+90
| | | Automerge-Triggered-By: GH:encukou
* bpo-44491: Allow clearing the sqlite3 authoriser callback (GH-26863)Erlend Egeberg Aasland2021-06-241-6/+10
|
* bpo-42064: Move `sqlite3` exceptions to global state, part 1 of 2 (GH-26745)Erlend Egeberg Aasland2021-06-236-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 Aasland2021-06-235-10/+0
|
* bpo-44087: Disallow instantiation of sqlite3.Statement (GH-26567)Erlend Egeberg Aasland2021-06-201-1/+1
|
* bpo-40956: Convert sqlite3.connect and sqlite3.Connection.__init__ to AC ↵Erlend Egeberg Aasland2021-06-204-71/+276
| | | | (GH-24421)
* bpo-43908: Make heap types converted during 3.10 alpha immutable (GH-26351)Erlend Egeberg Aasland2021-06-175-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Make functools types immutable * Multibyte codec types are now immutable * pyexpat.xmlparser is now immutable * array.arrayiterator is now immutable * _thread types are now immutable * _csv types are now immutable * _queue.SimpleQueue is now immutable * mmap.mmap is now immutable * unicodedata.UCD is now immutable * sqlite3 types are now immutable * _lsprof.Profiler is now immutable * _overlapped.Overlapped is now immutable * _operator types are now immutable * winapi__overlapped.Overlapped is now immutable * _lzma types are now immutable * _bz2 types are now immutable * _dbm.dbm and _gdbm.gdbm are now immutable
* bpo-42064: Move sqlite3 types to global state (GH-26537)Erlend Egeberg Aasland2021-06-1512-70/+103
| | | | | | | | | * Move connection type to global state * Move cursor type to global state * Move prepare protocol type to global state * Move row type to global state * Move statement type to global state * ADD_TYPE takes a pointer * pysqlite_get_state is now static inline
* bpo-44329: Refactor sqlite3 statement creation (GH-26566)Erlend Egeberg Aasland2021-06-081-43/+35
| | | | | Call SQLite API's first, and return early in case of error. At the end, allocate the object and initialise members. We now avoid unneeded alloc/dealloc's in case the statement creation fails.
* Fix compiler errors for unused variables (GH-26601)Pablo Galindo2021-06-081-1/+1
|
* bpo-44326: Remove unused members from pysqlite_Statement (GH-26564)Erlend Egeberg Aasland2021-06-062-16/+2
| | | | | * Remove unused db member of pysqlite_Statement * Remove unused sql method from statement object
* bpo-44327: Remove unused members from pysqlite_Connection (GH-26565)Erlend Egeberg Aasland2021-06-062-8/+0
| | | | | * Remove timeout_started * Remove timeout member
* bpo-44304: Ensure the sqlite3 destructor callback is always called with the ↵Pablo Galindo2021-06-052-0/+7
| | | | GIL held (GH-26551)
* bpo-44304: Fix crash in the sqlite3 module when the GC clears Statement ↵Pablo Galindo2021-06-051-7/+4
| | | | objects (GH-26545)
* bpo-44315: Remove unused connection argument from pysqlite_step() (GH-26535)Erlend Egeberg Aasland2021-06-044-7/+8
|
* bpo-43853: Handle sqlite3_value_text() errors (GH-25422)Erlend Egeberg Aasland2021-06-041-8/+11
|
* bpo-44042: Optimize sqlite3 begin transaction (GH-25908)Erlend Egeberg Aasland2021-06-033-46/+38
|
* bpo-42862: Use functools.lru_cache iso. _sqlite.Cache in sqlite3 module ↵Erlend Egeberg Aasland2021-06-037-428/+71
| | | | | (GH-24203) Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
* bpo-42213: Remove redundant cyclic GC hack in sqlite3 (GH-26517)Erlend Egeberg Aasland2021-06-033-21/+2
| | | | | | | | | | The sqlite3 module now fully implements the GC protocol, so there's no need for this workaround anymore. - Add and use managed resource helper for connections using TESTFN - Sort test imports - Split open-tests into their own test case Automerge-Triggered-By: GH:vstinner
* bpo-42213: Check connection in sqlite3.Connection.__enter__ (GH-26512)Erlend Egeberg Aasland2021-06-031-16/+15
| | | | | | | | | Try to harden connection close: - add tests that exercise stuff against a closed database - add wrapper for sqlite3_close_v2() - check connection on __enter__ - explicitly free pending statements before close() - sqlite3_close_v2() always returns SQLITE_OK
* bpo-44165: pysqlite_statement_create now returns a Py object, not an int ↵Erlend Egeberg Aasland2021-06-021-1/+1
| | | | | (GH-26484) GH-26206 was broken by GH-26475.
* bpo-44165: Optimise sqlite3 statement preparation by passing string size ↵Erlend Egeberg Aasland2021-06-023-7/+25
| | | | (GH-26206)
* bpo-42972: Track sqlite3 statement objects (GH-26475)Erlend Egeberg Aasland2021-06-014-48/+40
| | | | | | | | | | | Allocate and track statement objects in pysqlite_statement_create. By allocating and tracking creation of statement object in pysqlite_statement_create(), the caller does not need to worry about GC syncronization, and eliminates the possibility of getting a badly created object. All related fault handling is moved to pysqlite_statement_create(). Co-authored-by: Victor Stinner <vstinner@python.org>
* bpo-42972: Fix sqlite3 traverse/clear functions (GH-26452)Erlend Egeberg Aasland2021-05-316-41/+44
|
* bpo-42972: Fully implement GC protocol for sqlite3 heap types (GH-26104)Erlend Egeberg Aasland2021-05-256-72/+190
|
* bpo-44047: Remove unused argument to _pysqlite_seterror (GH-25915)Erlend Egeberg Aasland2021-05-074-22/+23
|
* bpo-43434: Clean up sqlite3.connect() after GH-25818 (GH-25823)Erlend Egeberg Aasland2021-05-021-8/+1
|
* bpo-43434: Move sqlite3.connect audit events to sqlite3.Connection.__init__ ↵Erlend Egeberg Aasland2021-05-022-9/+8
| | | | (GH-25818)
* bpo-43762: Add audit events for loading of sqlite3 extensions (GH-25246)Erlend Egeberg Aasland2021-04-262-0/+17
|
* bpo-43852: Improve tuple creation in sqlite3 (GH-25421)Erlend Egeberg Aasland2021-04-232-18/+10
|
* bpo-43296: Handle sqlite3_value_blob() errors (GH-24674)Erlend Egeberg Aasland2021-04-141-7/+17
|
* bpo-43505: Explicitly initialize and shutdown sqlite3 (GH-25404)Erlend Egeberg Aasland2021-04-141-11/+14
|
* bpo-43265: Improve sqlite3.Connection.backup error handling (GH-24586)Erlend Egeberg Aasland2021-04-141-45/+34
|
* bpo-43752: Fix sqlite3 regression for zero-sized blobs with converters ↵Erlend Egeberg Aasland2021-04-141-11/+14
| | | | (GH-25228)
* bpo-43444: Move sqlite3 MODULE_NAME from setup.py to module.h (GH-24801)Erlend Egeberg Aasland2021-03-133-4/+3
|
* bpo-43369: sqlite3_column_{text,blob} failures now raise MemoryError (GH-24723)Erlend Egeberg Aasland2021-03-041-10/+23
|
* bpo-43368: Fix fetching empty bytes in sqlite3 (GH-24706)Mariusz Felisiak2021-03-031-6/+2
| | | Regression introduced in 47feb1feb28631b6647699b7633109aa85340966.
* bpo-39523: Use do-while loop pysqlite_cursor_executescript() (GH-18305)Alex Henrie2021-03-021-3/+2
|
* bpo-43251: sqlite3_column_name() failures now raise MemoryError (GH-24609)Erlend Egeberg Aasland2021-02-281-24/+29
|
* bpo-43294: Remove unused variables in pysqlite_connection_*() (GH-24658)Erlend Egeberg Aasland2021-02-261-6/+4
|
* bpo-43314: Remove SQLITE_OPEN_URI ifdef (GH-24637)Erlend Egeberg Aasland2021-02-261-11/+0
| | | | | SQLite 3.7.15 is required as by GH-24106. SQLITE_OPEN_URI was added in SQLite 3.7.7.
* bpo-43290: Remove workaround from pysqlite_step() (GH-24638)Erlend Egeberg Aasland2021-02-251-9/+3
| | | | | | | | | From the SQLite 3.5.3 changelog: sqlite3_step() returns SQLITE_MISUSE instead of crashing when called with a NULL parameter. The workaround no longer needed because we no longer support SQLite releases older than 3.7.15.
* bpo-43269: Remove redundant extern keywords (GH-24605)Erlend Egeberg Aasland2021-02-216-6/+12
|
* bpo-43269: Clean up sqlite3 file scope (GH-24578)Erlend Egeberg Aasland2021-02-216-19/+37
|
* bpo-43258: Make sqlite3 callback functions static (GH-24574)Erlend Egeberg Aasland2021-02-191-2/+4
|
* bpo-43258: Don't allocate sqlite3 aggregate context for empty queries (GH-24569)Erlend Egeberg Aasland2021-02-191-2/+6
|
* bpo-43249: Improve scoping in _pysqlite_fetch_one_row() (GH-24565)Erlend Egeberg Aasland2021-02-181-10/+9
|
* bpo-43249: sqlite3_column_bytes() must follow sqlite_column_blob() (GH-24562)Erlend Egeberg Aasland2021-02-181-4/+14
|