Erlend Egeberg Aasland
bc7c7cd18a
gh-77617: Add sqlite3 command-line interface ( #95026 )
...
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2022-08-01 12:25:16 +02:00
Erlend Egeberg Aasland
a3d4d15f53
gh-95132: Correctly relay *args and **kwds from sqlite3.connect to factory ( #95146 )
...
This PR partially reverts gh-24421 (PR) and fixes the remaining concerns
given in gh-93044 (issue):
- keyword arguments are passed as positional arguments to factory()
- if an argument is not passed to sqlite3.connect(), its default value
is passed to factory()
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2022-07-23 09:51:28 +02:00
Erlend Egeberg Aasland
6dadf6ca01
gh-90016: Deprecate default sqlite3 adapters and converters ( #94276 )
...
Co-authored-by: CAM Gerlach <CAM.Gerlach@Gerlach.CAM>
2022-07-20 21:37:59 +02:00
Erlend Egeberg Aasland
9d09e7b026
gh-94998: Remove redundant condition in test_sqlite3/__main__.py ( #95052 )
2022-07-20 18:07:47 +02:00
Erlend Egeberg Aasland
be09bae608
gh-93370: Don't print deprecated pysqlite version in test_sqlite3 ( #95017 )
2022-07-19 23:04:20 +02:00
Christian Heimes
15bfabd1aa
gh-84461: Fix test_sqlite for Emscripten/WASI ( #94125 )
2022-06-23 08:31:55 +02:00
Victor Stinner
47e35625ff
gh-84623: Remove unused imports ( #94132 )
2022-06-22 19:14:27 +02:00
Erlend Egeberg Aasland
94eeac03dc
gh-94028: Clear and reset sqlite3 statements properly in cursor iternext (GH-94042)
2022-06-21 12:30:29 +01:00
itssme
affa9f22cf
gh-79009: sqlite3.iterdump now correctly handles tables with autoincrement ( #9621 )
...
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2022-06-20 00:59:24 +02:00
Erlend Egeberg Aasland
d773c6e95a
gh-93795: Use test.support TESTFN/unlink in sqlite3 tests ( #93796 )
2022-06-14 16:02:52 +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
Victor Stinner
3ceb4b8d3a
gh-84623: Remove unused imports in tests ( #93772 )
2022-06-13 16:56:03 +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
f629dcfe83
gh-80254: Disallow recursive usage of cursors in `sqlite3` converters ( #29054 )
...
Co-authored-by: Sergey Fedoseev <fedoseev.sergey@gmail.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2022-05-03 17:03:06 -06:00
Erlend Egeberg Aasland
721aa96540
gh-89301: Fix regression with bound values in traced SQLite statements ( #92053 )
2022-05-02 08:14:35 -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
e801e88744
bpo-45138: Revert GH-28240: Expand traced SQL statements (GH-31788)
...
This reverts commit d1777515f9
.
Automerge-Triggered-By: GH:JelleZijlstra
2022-03-09 09:39:49 -08:00
Erlend Egeberg Aasland
d1777515f9
bpo-45138: Expand traced SQL statements in `sqlite3` trace callback (GH-28240)
2022-03-08 18:46:40 -08:00
Erlend Egeberg Aasland
88567a9970
bpo-46874: Speed up sqlite3 user-defined aggregate 'step' method (GH-31604)
2022-03-03 22:54:36 +09:00
Erlend Egeberg Aasland
3eb3b4f270
bpo-43853: Expand test suite for SQLite UDF's (GH-27642)
2022-01-26 08:26:16 -08:00
Nikita Sobolev
55f4ec460e
bpo-46425: use absolute imports in `test_sqlite3` (GH-30676)
2022-01-22 18:03:56 +02:00
Erlend Egeberg Aasland
9d6a239a34
bpo-44092: Don't reset statements/cursors before rollback (GH-26026)
...
In SQLite versions pre 3.7.11, pending statements would block a rollback. This is no longer the case, so remove the workaround.
2022-01-03 19:02:39 +00:00
Erlend Egeberg Aasland
c4a69a4ad0
bpo-45828: Use unraisable exceptions within sqlite3 callbacks (FH-29591)
2021-11-29 15:22:32 +00: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