Mariusz Felisiak
29bc6165ab
gh-105539: Fix ResourceWarning from unclosed SQLite connections in test_sqlite3 ( #108360 )
...
Follow up to 1a1bfc2891
.
Explicitly manage connections in:
- test_audit.test_sqlite3
- test_sqlite3.test_audit
- test_sqlite3.test_backup
Co-authored-by: Erlend E. Aasland <erlend@python.org>
2023-08-23 10:10:08 +00:00
Erlend E. Aasland
1a1bfc2891
gh-105539: Emit ResourceWarning if sqlite3 database is not closed explicitly ( #108015 )
2023-08-22 13:10:29 +02:00
Erlend E. Aasland
1344cfac43
gh-105539: Explict resource management for connection objects in sqlite3 tests ( #108017 )
...
- Use memory_database() helper
- Move test utility functions to util.py
- Add convenience memory database mixin
- Add check() helper for closed connection tests
2023-08-17 08:45:48 +02:00
Erlend E. Aasland
13c36dc9ae
gh-93057: Deprecate positional use of optional sqlite3.connect() params ( #107948 )
2023-08-15 08:09:56 +00:00
Erlend E. Aasland
6849acb3fe
gh-105875: Require SQLite 3.15.2 or newer ( #105876 )
...
SQLite 3.15.2 was released 2016-11-28.
2023-06-19 00:29:08 +02:00
Erlend E. Aasland
a05bad3254
gh-100370: fix OverflowError in sqlite3.Connection.blobopen for 32-bit builds ( #103902 )
2023-05-07 12:55:31 +02:00
Erlend E. Aasland
bb8aa7a2b4
gh-103489: Add get/set config methods to sqlite3.Connection ( #103506 )
2023-04-26 19:57:48 +00:00
Erlend E. Aasland
61405da9a5
gh-101947: Remove size check from sqlite3 serialize test ( #102914 )
...
The size of the returned data is too implementation specific.
2023-03-22 14:05:08 +01:00
Erlend E. Aasland
8a2b7ee64d
gh-101693: In sqlite3, deprecate using named placeholders with parameters supplied as a sequence ( #101698 )
2023-02-15 06:27:16 +01:00
Christian Heimes
15bfabd1aa
gh-84461: Fix test_sqlite for Emscripten/WASI ( #94125 )
2022-06-23 08:31:55 +02:00
Erlend Egeberg Aasland
46740073ef
gh-79579: Improve DML query detection in sqlite3 ( #93623 )
...
The fix involves using pysqlite_check_remaining_sql(), not only to check
for multiple statements, but now also to strip leading comments and
whitespace from SQL statements, so we can improve DML query detection.
pysqlite_check_remaining_sql() is renamed lstrip_sql(), to more
accurately reflect its function, and hardened to handle more SQL comment
corner cases.
2022-06-14 13:56:36 +02:00
Erlend Egeberg Aasland
875de61c29
gh-93421: Update sqlite3 cursor.rowcount only after SQLITE_DONE ( #93526 )
2022-06-08 12:43:54 +02:00
Kalyan
ffc58a9710
gh-93370: Deprecate sqlite3.version and sqlite3.version_info ( #93482 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2022-06-08 01:34:50 +02:00
Erlend Egeberg Aasland
db3ef0c82a
gh-93117: Remove too large sqlite3 bigmemtest ( #93154 )
2022-05-25 14:53:26 +02:00
Florian Bruhin
d5f0dd1600
GH-93115: Fix version check in sqlite3 module constants test ( #93116 )
2022-05-23 17:58:11 +02:00
Serhiy Storchaka
e5d8dbdd30
Clean up the sqlite3 tests (GH-93056)
...
Remove helper managed_connect(). Use memory_database() or
contextlib.closing() + addCleanup(unlink) instead.
2022-05-21 19:06:12 +03:00
Serhiy Storchaka
4e2b664892
Improve tests for opening Sqlite by URI (GH-93047)
...
* Test with with escaped non-ascii characters
* Test read-only open of existing DB.
2022-05-21 17:38:22 +03:00
Serhiy Storchaka
14c0d33016
gh-93044: No longer convert the database argument of sqlite3.connect() to bytes (GH-93046)
...
Just pass it to the factory as is.
2022-05-21 14:35:46 +03:00
Serhiy Storchaka
d853758092
gh-91922: Fix sqlite connection on nonstardard locales and paths (GH-92926)
2022-05-20 11:53:05 +03:00
Erlend Egeberg Aasland
00f22e8cc2
gh-92547: Remove deprecated sqlite3 features ( #92548 )
...
The following sqlite3 features were deprecated in 3.10, scheduled for
removal in 3.12:
- sqlite3.OptimizedUnicode (gh-23163)
- sqlite3.enable_shared_cache (gh-24008)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Signed-off-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2022-05-16 19:52:08 +02:00
Erlend Egeberg Aasland
090819ec5f
gh-89022: Improve sqlite3 exceptions related to binding params and API misuse ( #91572 )
...
* Map SQLITE_MISUSE to sqlite3.InterfaceError
SQLITE_MISUSE implies misuse of the SQLite C API, which, if it happens,
is _not_ a user error; it is an sqlite3 extension module error.
* Raise better errors when binding parameters fail.
Instead of always raising InterfaceError, guessing what went wrong,
raise accurate exceptions with more accurate error messages.
2022-05-04 07:16:01 -06:00
Erlend Egeberg Aasland
9ea9078ec7
gh-92019: Make sqlite3.Blob indexing conform with the norm ( #92020 )
...
- get index now returns an int
- set index now requires an int in range(0, 256)
Resolves #92019
2022-04-30 09:01:37 -06:00
Erlend Egeberg Aasland
29afb7d2ef
gh-69093: Add indexing and slicing support to sqlite3.Blob ( #91599 )
...
Authored-by: Aviv Palivoda <palaviv@gmail.com>
Co-authored-by: Erlend E. Aasland <erlend.aasland@innova.no>
2022-04-21 18:45:16 -07:00
Erlend Egeberg Aasland
a861756675
gh-69093: Add context manager support to sqlite3.Blob (GH-91562)
2022-04-15 21:21:12 -07:00
Erlend Egeberg Aasland
d104f4d21f
gh-69093: Don't allow instantiation of sqlite3.Blob objects (GH-91570)
2022-04-15 09:25:03 -07:00
Jelle Zijlstra
b7f83bdd0e
gh-69093: Expose sqlite3.Blob as a class (GH-91550)
...
I noticed this was missing while writing typeshed stubs. It's
useful to expose it for use in annotations and for exploration.
2022-04-15 06:29:57 -07:00
Erlend Egeberg Aasland
ee475430d4
gh-69093: Support basic incremental I/O to blobs in `sqlite3` (GH-30680)
...
Authored-by: Aviv Palivoda <palaviv@gmail.com>
Co-authored-by: Erlend E. Aasland <erlend.aasland@innova.no>
Co-authored-by: palaviv <palaviv@gmail.com>
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2022-04-14 17:02:56 -07:00
Erlend Egeberg Aasland
9ebcece82f
gh-79097: Add support for aggregate window functions in sqlite3 (GH-20903)
2022-04-11 17:55:59 -07:00
Erlend Egeberg Aasland
a7551247e7
bpo-41930: Add support for SQLite serialise/deserialise API (GH-26728)
...
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
2022-04-05 07:15:25 -07:00
Erlend Egeberg Aasland
4674fd4e93
bpo-44859: Raise more accurate exceptions in `sqlite3` (GH-27695)
...
* Improve exception compliance with PEP 249
* Raise InterfaceError instead of ProgrammingError for SQLITE_MISUSE.
If SQLITE_MISUSE is raised, it is a sqlite3 module bug. Users of the
sqlite3 module are not responsible for using the SQLite C API correctly.
* Don't overwrite BufferError with ValueError when conversion to BLOB fails.
* Raise ProgrammingError instead of Warning if user tries to execute() more
than one SQL statement.
* Raise ProgrammingError instead of ValueError if an SQL query contains null characters.
* Make sure `_pysqlite_set_result` raises an exception if it returns -1.
2022-03-16 22:58:25 -07:00
Erlend Egeberg Aasland
5f9247e36a
bpo-45512: Extend `sqlite3` test suite regarding isolation levels (GH-29576)
2021-11-17 19:01:54 +09:00
Erlend Egeberg Aasland
9d6215a54c
bpo-45126: Harden `sqlite3` connection initialisation (GH-28227)
2021-11-16 15:53:35 +01:00
Erlend Egeberg Aasland
822c3dcce3
bpo-45512: Raise exception if sqlite3.Connection.__init__ is called with bad 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>
2021-11-15 21:55:38 +09:00
Erlend Egeberg Aasland
c1323d4b8c
bpo-45754: Use correct SQLite limit when checking statement length (GH-29489)
2021-11-10 18:46:11 +00:00
Erlend Egeberg Aasland
3d42cd9461
bpo-45243: Use connection limits to simplify `sqlite3` tests (GH-29356)
2021-11-05 19:19:43 +02:00
Erlend Egeberg Aasland
c273986711
bpo-45613: Set `sqlite3.threadsafety` dynamically (GH-29227)
...
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
2021-11-03 21:01:37 +00:00
Erlend Egeberg Aasland
0dfb8c4afe
bpo-24139: Fix test_sqlite3 `test_extended_error_code_on_exception()` on s390x RHEL buildbots (GH-29382)
2021-11-03 17:35:42 +08:00
Erlend Egeberg Aasland
456e27ac0a
bpo-24139: Add support for SQLite extended result codes (GH-28076)
2021-11-02 23:49:38 +00:00
Erlend Egeberg Aasland
b6b38a8226
bpo-45243: Add support for setting/getting `sqlite3` connection limits (GH-28463)
2021-11-01 22:50:53 +00:00
Erlend Egeberg Aasland
62bf263a77
bpo-10572: Move `sqlite3` tests to `Lib/test` (GH-29304)
...
Automerge-Triggered-By: GH:brettcannon
2021-10-29 15:08:19 -07:00