Mariusz Felisiak
1a10437a14
gh-91602: Add iterdump() support for filtering database objects ( #114501 )
...
Add optional 'filter' parameter to iterdump() that allows a "LIKE"
pattern for filtering database objects to dump.
Co-authored-by: Erlend E. Aasland <erlend@python.org>
2024-02-06 12:34:56 +01:00
Mariusz Felisiak
de777e490f
gh-108364: In sqlite3, disable foreign keys before dumping SQL schema ( #113957 )
...
sqlite3.Connection.iterdump now ensures that foreign key support is
disabled before dumping the database schema, if there is any foreign key
violation.
Co-authored-by: Erlend E. Aasland <erlend@python.org>
2024-01-12 10:50:37 +01:00
Serhiy Storchaka
254e30c487
gh-109151: Enable readline in the sqlite3 CLI (GH-109152)
2023-10-04 14:16:44 +03:00
Erlend E. Aasland
2a3926fa51
gh-108590: Revert gh-108657 (commit 400a1cebc
) ( #108686 )
...
Reverted per Serhiy's request.
2023-08-30 14:53:10 +00:00
Corvin
400a1cebc7
gh-108590: Fix sqlite3.iterdump for invalid Unicode in TEXT columns ( #108657 )
...
Co-authored-by: Erlend E. Aasland <erlend@python.org>
2023-08-30 09:06:21 +00:00
Erlend E. Aasland
c8847841cc
gh-108550: Fix sqlite3 CLI regression from gh-108551 ( #108618 )
2023-08-29 09:39:42 +00:00
Erlend E. Aasland
0e8b3fc718
gh-108550: Speed up sqlite3 tests ( #108551 )
...
Refactor the CLI so we can easily invoke it and mock command-line
arguments. Adapt the CLI tests so we no longer have to launch a
separate process.
Disable the busy handler for all concurrency tests; we have full
control over the order of the SQLite C API calls, so we can safely
do this.
The sqlite3 test suite now completes ~8 times faster than before.
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-08-28 14:17:34 +02:00
Erlend E. Aasland
d0160c7c22
gh-64662: Add virtual table support to sqlite3.Connection.iterdump ( #108340 )
...
Co-authored-by: Aviv Palivoda <palaviv@gmail.com>
2023-08-28 00:18:32 +02:00
Mariusz Felisiak
75903f29f6
gh-108364: Simplify quoting values and identifiers in sqlite3's iterdump() ( #108472 )
2023-08-25 12:31:52 +00:00
Erlend E. Aasland
56c7176d1d
gh-102628: Fix sqlite3 CLI prompt in IDLE on Windows ( #103945 )
2023-04-27 21:22:26 +00:00
Erlend E. Aasland
8def5ef016
gh-102628: Fix sqlite3 CLI prompt for Windows console users ( #103898 )
...
The prompt will still be incorrect in IDLE on Windows,
as IDLE uses CTRL-D for EOF on all platforms.
2023-04-27 21:23:10 +02:00
Erlend E. Aasland
e6623e7083
gh-95273: Improve sqlite3.complete_statement docs ( #95840 )
...
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: CAM Gerlach <CAM.Gerlach@Gerlach.CAM>
2022-08-12 01:05:12 +02:00
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
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
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
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
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
Jonathan
66584c890d
Fix typo in the sqlite3 docs (GH-31915)
...
Co-authored-by: Jonathan <89750679+AHypnotoad@users.noreply.github.com>
2022-03-28 11:44:41 -07:00
Erlend Egeberg Aasland
6c5a312fb6
bpo-45677: Reword first section of `sqlite3` docs ( #29326 )
...
* bpo-45677: Avoid addressing the reader as 'you' in sqlite3 docs
* Adjust wording
* Adjust wording again
* Typo
* Update Doc/library/sqlite3.rst
Co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com>
* Address review: adjust wording
* Update Doc/library/sqlite3.rst
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* Update Lib/sqlite3/__init__.py
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* Update Doc/library/sqlite3.rst
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* Update Doc/library/sqlite3.rst
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* Update Lib/sqlite3/__init__.py
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* Update Doc/library/sqlite3.rst
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* Apply Alex' suggestion, and apply 80 char limit to PR
* Minor adjustment
Co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2021-11-15 14:22:42 -08: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
62bf263a77
bpo-10572: Move `sqlite3` tests to `Lib/test` (GH-29304)
...
Automerge-Triggered-By: GH:brettcannon
2021-10-29 15:08:19 -07:00
Erlend Egeberg Aasland
4dd1e84789
bpo-45612: Add sqlite3 module docstring (GH-29224)
2021-10-28 21:55:27 +02:00
Erlend Egeberg Aasland
8deb7afbaa
bpo-16379: Fix SQLite version checks in test_module_constants() (GH-28809)
...
Automerge-Triggered-By: GH:pablogsal
2021-10-07 12:48:13 -07:00
Erlend Egeberg Aasland
3f2c433da5
bpo-45041: Restore `sqlite3` executescript behaviour for `SELECT` queries (GH-28509)
...
* bpo-45041: Restore sqlite3 executescript behaviour for select queries
* Add regression test
2021-10-07 10:16:45 +01:00
Christian Clauss
745c9d9dfc
Fix typos in the Lib directory (GH-28775)
...
Fix typos in the Lib directory as identified by codespell.
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2021-10-06 16:13:48 -07:00
Erlend Egeberg Aasland
3e3ff09058
bpo-44958: Fix ref. leak introduced in GH-27844 (GH-28490)
...
Modify managed_connect() helper to support in-memory databases. Use it
for the regression tests added in GH-27844.
Automerge-Triggered-By: GH:pablogsal
2021-09-21 06:15:54 -07:00
Erlend Egeberg Aasland
050d103595
bpo-44958: Only reset `sqlite3` statements when needed (GH-27844)
2021-09-21 12:20:34 +01:00
Konstantin Popov
d081eab7df
Fix typo in Lib/sqlite3/test/test_types.py (GH-28226)
...
preceeding -> preceding
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2021-09-15 22:09:08 +02:00
Serhiy Storchaka
3e19409d64
bpo-45181: Simplify loading sqlite3 tests (GH-28304)
...
Use unittest discover instead of manually enumerating all
test modules and classes.
Also add support for filtering them by pattern.
2021-09-13 14:16:26 +03:00
Erlend Egeberg Aasland
e34bb40919
bpo-45041: Increase coverage for sqlite3.Cursor.executescript() (GH-28074)
2021-08-30 22:14:27 +01:00
Erlend Egeberg Aasland
86d8b46523
bpo-16379: expose SQLite error codes and error names in `sqlite3` (GH-27786)
2021-08-30 19:32:21 +01:00
Erlend Egeberg Aasland
f62763d267
bpo-43398: Add test for defect connection factories (GH-27966)
2021-08-30 18:49:34 +01:00
Serhiy Storchaka
07d3d54f4e
bpo-25130: Make SQLite tests more compatible with PyPy (GH-28021)
2021-08-29 13:07:40 +03:00
Erlend Egeberg Aasland
7ecd3425d4
bpo-27334: roll back transaction if sqlite3 context manager fails to commit (GH-26202)
...
Co-authored-by: Luca Citi
Co-authored-by: Berker Peksag <berker.peksag@gmail.com>
2021-08-25 11:59:42 +01:00
Serhiy Storchaka
0eec6276fd
bpo-44859: Improve error handling in sqlite3 and and raise more accurate 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>
2021-08-08 08:49:44 +03:00
Serhiy Storchaka
7d747f26e6
bpo-44839: Raise more specific errors in sqlite3 (GH-27613)
...
MemoryError raised in user-defined functions will now preserve
its type. OverflowError will now be converted to DataError.
Previously both were converted to OperationalError.
2021-08-06 21:28:47 +03:00
Erlend Egeberg Aasland
8f010dc920
bpo-44822: Don't truncate `str`s with embedded NULL chars returned by `sqlite3` UDF callbacks (GH-27588)
2021-08-05 10:22:08 +03:00
Erlend Egeberg Aasland
7e311e496b
bpo-31746: Prevent segfaults when sqlite3.Connection is uninitialised (GH-27431)
2021-07-29 20:45:32 +01:00
Erlend Egeberg Aasland
5269c09145
bpo-44688: Remove ASCII limitation from `sqlite3` collation names (GH-27395)
2021-07-29 09:47:56 +02:00
Erlend Egeberg Aasland
b19f455339
bpo-44491: Allow clearing the sqlite3 authoriser callback (GH-26863)
2021-06-24 15:35:57 +01:00
Erlend Egeberg Aasland
2c1ae09764
bpo-43553: Improve `sqlite3` test coverage (GH-26886)
2021-06-24 12:56:56 +01:00
Erlend Egeberg Aasland
a50e28377b
bpo-42064: Move `sqlite3` exceptions to global state, part 1 of 2 (GH-26745)
...
Also adds a test to verify the (borrowed) exceptions in `sqlite3.Connection`.
2021-06-23 05:56:40 -07:00
Erlend Egeberg Aasland
5f0fc30de4
bpo-44430: Refactor `sqlite3` threading tests (GH-26748)
...
1. Rewrite ThreadTests with a _run_test() helper method that does the heavy lifting
2. Add test.support.threading_helper.reap_threads to _run_test()
3. Use _run_test() in all threading tests
4. Add test case for sqlite3.Connection.set_trace_callback
5. Add test case for sqlite3.Connection.create_collation
2021-06-20 20:26:36 +01:00
Erlend Egeberg Aasland
7d0a47e1af
bpo-44087: Disallow instantiation of sqlite3.Statement (GH-26567)
2021-06-20 20:24:32 +01:00
Erlend Egeberg Aasland
185ecdc146
bpo-40956: Convert sqlite3.connect and sqlite3.Connection.__init__ to AC (GH-24421)
2021-06-20 20:24:00 +01:00
Pablo Galindo
fa106a685c
bpo-44304: Fix crash in the sqlite3 module when the GC clears Statement objects (GH-26545)
2021-06-05 03:50:39 +01:00
Erlend Egeberg Aasland
006fd869e4
bpo-43853: Handle sqlite3_value_text() errors (GH-25422)
2021-06-04 19:34:00 +01:00
Erlend Egeberg Aasland
8363ac8607
bpo-44041: Add test for sqlite3 column count (GH-25907)
2021-06-04 18:36:08 +01:00
Erlend Egeberg Aasland
d88b47b5a3
bpo-42213: Remove redundant cyclic GC hack in sqlite3 (GH-26517)
...
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
2021-06-03 09:38:19 -07:00
Erlend Egeberg Aasland
82ad22a97d
bpo-42213: Check connection in sqlite3.Connection.__enter__ (GH-26512)
...
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
2021-06-03 17:53:47 +02:00