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
Erlend Egeberg Aasland
be7e467bcf
sqlite3 test suite now works with SQLITE_DQS=0 (GH-26032)
2021-05-14 19:27:21 +09:00
Erlend Egeberg Aasland
5cb601f956
bpo-43296: Handle sqlite3_value_blob() errors (GH-24674)
2021-04-15 00:09:11 +03:00
Erlend Egeberg Aasland
c1ae741997
bpo-43265: Improve sqlite3.Connection.backup error handling (GH-24586)
2021-04-14 14:45:49 +03:00
Erlend Egeberg Aasland
6f1e8ccffa
bpo-43752: Fix sqlite3 regression for zero-sized blobs with converters (GH-25228)
2021-04-14 14:18:49 +03:00
Erlend Egeberg Aasland
e161ec5dd7
bpo-43369: sqlite3_column_{text,blob} failures now raise MemoryError (GH-24723)
2021-03-04 11:50:25 +02:00
Mariusz Felisiak
3b4b2cf418
bpo-43368: Fix fetching empty bytes in sqlite3 (GH-24706)
...
Regression introduced in 47feb1feb2
.
2021-03-03 16:16:24 +02:00
Erlend Egeberg Aasland
979b23cbe4
bpo-43258: Don't allocate sqlite3 aggregate context for empty queries (GH-24569)
2021-02-19 13:20:32 +02:00
Erlend Egeberg Aasland
ea46579067
bpo-40956: Fix segfault when Connection.backup is called without target (GH-24503)
2021-02-11 01:04:02 +02:00
Erlend Egeberg Aasland
d16f6176ab
bpo-24464: Fix sqlite3.enable_shared_cache() deprecation wrapper (GH-24170)
2021-01-09 13:25:55 +02:00
Erlend Egeberg Aasland
deab1e54ff
bpo-42847: Normalise Lib/sqlite3/test/* file encodings (GH-24147)
...
Convert from ISO-8859-1 to UTF-8.
2021-01-07 02:36:35 +02:00
Erlend Egeberg Aasland
849e339a92
bpo-40823: Use loadTestsFromTestCase() iso. makeSuite() in sqlite3 tests (GH-20538)
2021-01-07 02:05:07 +02:00
Erlend Egeberg Aasland
ddb5e11683
bpo-24464: Deprecate sqlite3.enable_shared_cache (GH-24008)
2021-01-06 02:36:04 +02:00
Erlend Egeberg Aasland
cf0b23908c
bpo-40810: Require SQLite 3.7.15 (GH-24106)
2021-01-06 02:02:43 +02:00
Erlend Egeberg Aasland
f7f0ed59bc
bpo-40810: Fix CheckTraceCallbackContent for SQLite pre 3.7.15 (GH-20530)
...
Ref. [SQLite 3.7.15 changelog](https://sqlite.org/changes.html#version_3_7_15 ):
_"Avoid invoking the sqlite3_trace() callback multiple times when a statement is automatically reprepared due to SQLITE_SCHEMA errors."_
2021-01-04 15:16:43 -08:00
Erlend Egeberg Aasland
a1f401a58b
bpo-42264: Deprecate sqlite3.OptimizedUnicode (GH-23163)
2020-11-17 17:55:12 +02:00
Peter McCormick
bfee9fad84
bpo-41815: SQLite: segfault if backup called on closed database (GH-22322)
...
# [bpo-41815](): SQLite: fix segfault if backup called on closed database
Attempting to backup a closed database will trigger segfault:
```python
import sqlite3
target = sqlite3.connect(':memory:')
source = sqlite3.connect(':memory:')
source.close()
source.backup(target)
```
2020-09-19 20:40:46 -07:00
Serhiy Storchaka
0b419b7910
bpo-41662: Fix bugs in binding parameters in sqlite3 (GH-21998)
...
* When the parameters argument is a list, correctly handle the case
of changing it during iteration.
* When the parameters argument is a custom sequence, no longer
override an exception raised in ``__len__()``.
2020-09-17 10:35:44 +03:00
Erlend Egeberg Aasland
207c321f13
bpo-40744: Drop support for SQLite pre 3.7.3 (GH-20909)
...
Remove code required to support SQLite pre 3.7.3.
Co-written-by: Berker Peksag <berker.peksag@gmail.com>
Co-written-by: Sergey Fedoseev <fedoseev.sergey@gmail.com>
2020-09-07 22:26:54 +01:00
Hai Shi
fcce8c649a
bpo-40275: Use new test.support helper submodules in tests (GH-21772)
2020-08-07 23:55:35 +02:00
Hai Shi
598a951844
bpo-40275: Use new test.support helper submodules in tests (GH-21764)
2020-08-07 17:18:38 +02:00
Erlend Egeberg Aasland
c610d970f5
bpo-40784: Fix sqlite3 deterministic test (GH-20448)
2020-05-29 02:27:31 +03:00
Serhiy Storchaka
b146568dfc
bpo-39652: Truncate the column name after '[' only if PARSE_COLNAMES is set. (GH-18942)
2020-03-21 15:53:28 +02:00
Serhiy Storchaka
f669581a95
bpo-38185: Fixed case-insensitive string comparison in sqlite3.Row indexing. (GH-16190)
2019-09-17 09:20:56 +03:00
Serhiy Storchaka
8debfa5040
bpo-38175: Fix a memory leak in comparison of sqlite3.Row objects. (GH-16155)
2019-09-16 20:15:18 +03:00
gescheit
b9a0376b0d
closes bpo-37347: Fix refcount problem in sqlite3. (GH-14268)
2019-07-12 20:15:48 -07:00
Victor Stinner
c6a2320e87
bpo-37406: sqlite3 raises TypeError for wrong operation type (GH-14386)
...
The sqlite3 module now raises TypeError, rather than ValueError, if
operation argument type is not str: execute(), executemany() and
calling a connection.
2019-06-26 03:16:24 +02:00
Zackery Spytz
842acaab13
bpo-35504: Fix segfaults and SystemErrors when deleting certain attrs. (GH-11175)
2018-12-17 16:52:45 +02:00
Serhiy Storchaka
fc662ac332
bpo-32788: Better error handling in sqlite3. (GH-3723)
...
Propagate unexpected errors (like MemoryError and KeyboardInterrupt) to user.
2018-12-10 16:06:08 +02:00
Sergey Fedoseev
5b25f1d031
bpo-34052: Prevent SQLite functions from setting callbacks on exceptions. (GH-8113)
2018-12-05 19:50:26 +02:00
Sergey Fedoseev
0830858aee
bpo-34041: Allow creating deterministic functions in Connection.create_function() (GH-8086)
2018-07-08 10:09:20 +03:00
Ville Skyttä
61f82e0e33
Spelling fixes to docs, docstrings, and comments (GH-6374)
2018-04-20 16:08:45 -04:00
Aviv Palivoda
bbf7bb7a63
bpo-27645: Fix version number in 'database in transaction' fallback (GH-6131)
...
It was actually fixed in SQLite 3.8.8, not 3.8.7.
2018-03-18 03:48:55 +03:00
Berker Peksag
7280a4eef5
bpo-27645: Skip test_bad_target_in_transaction if SQLite == 3.8.7.1 (GH-6067)
2018-03-11 03:38:50 +03:00
Emanuele Gaifas
d7aed4102d
bpo-27645: Add support for native backup facility of SQLite (GH-4238)
2018-03-11 01:08:31 +03:00
Simon Willison
4fc4defd1c
Remove unused var from CheckCancelOperation test (GH-4317)
...
It looks like this was copied from one of the previous tests, which did use it.
2017-11-08 00:06:55 +03:00
Anders Lorentsen
a22a127458
bpo-31843: sqlite3.connect() now accepts PathLike objects as database name ( #4299 )
2017-11-06 16:47:43 -08:00
Oren Milman
edb13ae48c
bpo-31764: Prevent a crash in sqlite3.Cursor.close() in case the Cursor object is uninitialized ( #3958 )
2017-11-06 16:09:49 -08:00
Oren Milman
e56ab746a9
bpo-31770: Prevent a crash and refleaks when calling sqlite3.Cursor.__init__() more than once ( #3968 )
2017-11-06 16:01:47 -08:00
Antoine Pitrou
a6a4dc816d
bpo-31370: Remove support for threads-less builds ( #3385 )
...
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Aviv Palivoda
0e6cb2ea62
bpo-26187: Test that set_trace_callback() is not called multiple times (GH-461)
...
conn.set_trace_callback() shouldn't be called multiple times when the
schema is changing.
This has indirectly been fixed by using sqlite3_prepare_v2() in bpo-9303.
2017-04-09 12:11:59 +03:00
Berker Peksag
4a926caf8e
bpo-28518: Start a transaction implicitly before a DML statement ( #245 )
...
Patch by Aviv Palivoda.
2017-02-26 18:22:38 +03:00
Berker Peksag
75d9016530
Issue #29123 : Merge from 3.5
2016-12-31 22:49:31 +03:00
Berker Peksag
b47913f54f
Issue #29123 : Make CheckSqlTimestamp more robust
2016-12-31 22:48:55 +03:00
Serhiy Storchaka
22805ca54e
Issue #27897 : Fixed possible crash in sqlite3.Connection.create_collation()
...
if pass invalid string-like object as a name. Patch by Xiang Zhang.
2016-09-27 00:14:24 +03:00
Serhiy Storchaka
407ac47690
Issue #27897 : Fixed possible crash in sqlite3.Connection.create_collation()
...
if pass invalid string-like object as a name. Patch by Xiang Zhang.
2016-09-27 00:10:03 +03:00
Berker Peksag
ab994ed8b9
Issue #10740 : sqlite3 no longer implicitly commit an open transaction before DDL statements
...
This commit contains the following commits from ghaering/pysqlite:
* f254c53494
* 796b3afe38
* cae87ee686
* 3567b31bb5
With the following additions:
* Fixed a refcount error
* Fixed a compiler warning
* Made the string comparison a little more robust
* Added a whatsnew entry
2016-09-11 12:57:15 +03:00
Berker Peksag
4bf580d6d5
Issue #21250 : Add tests for SQLite's ON CONFLICT clause
...
Initial patch by Alex LordThorsen.
2016-09-07 02:04:34 +03:00
Serhiy Storchaka
2891492d23
Issue #27881 : Fixed possible bugs when setting sqlite3.Connection.isolation_level.
...
Based on patch by Xiang Zhang.
2016-09-01 22:18:03 +03:00
Berker Peksag
3580b03352
Issue #21250 : Merge from 3.5
2016-09-07 02:05:16 +03:00
Serhiy Storchaka
af0628e045
Issue #27881 : Fixed possible bugs when setting sqlite3.Connection.isolation_level.
...
Based on patch by Xiang Zhang.
2016-09-01 22:21:05 +03:00
Serhiy Storchaka
8631da64bb
Issue #27861 : Fixed a crash in sqlite3.Connection.cursor() when a factory
...
creates not a cursor. Patch by Xiang Zhang.
2016-08-29 15:11:52 +03:00
Serhiy Storchaka
ef113cd4cc
Issue #27861 : Fixed a crash in sqlite3.Connection.cursor() when a factory
...
creates not a cursor. Patch by Xiang Zhang.
2016-08-29 14:29:55 +03:00
Berker Peksag
6ed442c48d
Issue #10513 : Merge from 3.5
2016-08-26 22:08:51 +03:00
Berker Peksag
cc9afa9b51
Issue #10513 : Fix a regression in Connection.commit()
...
Statements should not be reset after a commit.
Backported from 029050896b
2016-08-26 22:07:51 +03:00
Berker Peksag
d7f3cdd07d
Issue #21718 : Merge from 3.5
2016-08-21 19:41:38 +03:00
Berker Peksag
6afe85827c
Issue #21718 : cursor.description is now available for queries using CTEs
...
According to PEP 249, cursor.description must be
available for any SELECT statements, such as those
that use CTEs.
Backported from f67fa9c898
Additional test cases added by me.
2016-08-21 19:38:47 +03:00
Berker Peksag
e0b70cd8a9
Issue #16864 : Cursor.lastrowid now supports REPLACE statement
...
Initial patch by Alex LordThorsen.
2016-06-14 15:25:36 +03:00
Berker Peksag
f85bce74db
Mark tests as skipped when a SQLite version is not supported
2016-06-14 14:19:02 +03:00
Berker Peksag
2b50899a28
Remove empty setUp and tearDown methods from sqlite3 tests
...
They are not used as base classes by another tests so they
can safely be removed.
2016-06-14 13:25:11 +03:00
Berker Peksag
48b5c98e6e
Replace more boilerplate code with modern unittest features in sqlite3 tests
2016-06-14 00:42:50 +03:00
Berker Peksag
1003b34c71
Modernize sqlite3 tests
...
Update current tests that use old pattern with assertRaises
to make them more maintainable.
2016-06-12 22:34:49 +03:00
Berker Peksag
7bea2347c7
Issue #27190 : Raise NotSupportedError if sqlite3 is older than 3.3.1
...
Patch by Dave Sawyer.
2016-06-12 14:09:51 +03:00
Berker Peksag
c415440faa
Issue #27188 : Fix various sqlite3 documentation errors
...
* Connection.execute* methods don't create intermediate cursor objects
* Fix description of seq_of_parameters parameter
* Clarify that Warning is sqlite3.Warning
* sql_script parameter of Cursor.executescript() doesn't accept bytes
* Add missing tests
* Fix various markup errors
Initial patch by Dave Sawyer.
2016-06-12 13:41:47 +03:00
Serhiy Storchaka
6a7b3a77b4
Issue #26778 : Fixed "a/an/and" typos in code comment and documentation.
2016-04-17 08:32:47 +03:00
Berker Peksag
fa0f62d6ab
Issue #23758 : Improve num_params docs of create_{function,aggregate} functions
...
If you pass -1, the callable can take any number of arguments.
Added tests to verify the behavior.
Initial patch by Cédric Krier.
2016-03-27 22:39:14 +03:00
Serhiy Storchaka
e79ec70801
Issue #24257 : Fixed incorrect uses of PyObject_IsInstance().
...
Fixed segmentation fault in sqlite3.Row constructor with faked cursor type.
Fixed system error in the comparison of faked types.SimpleNamespace.
2015-05-22 11:13:20 +03:00
Serhiy Storchaka
08d230a540
Issue #24257 : Fixed incorrect uses of PyObject_IsInstance().
...
Fixed segmentation fault in sqlite3.Row constructor with faked cursor type.
Fixed system error in the comparison of faked types.SimpleNamespace.
2015-05-22 11:02:49 +03:00
Serhiy Storchaka
72e731cc03
Issue #13583 : sqlite3.Row now supports slice indexing.
...
Tests by Jessica McKellar.
2015-03-31 13:33:11 +03:00
Serhiy Storchaka
a60c2fe480
Issue #23641 : Cleaned out legacy dunder names from tests and docs.
...
Fixed 2 to 3 porting bug in pynche.ColorDB.
2015-03-12 21:56:08 +02:00
Serhiy Storchaka
42d67af87f
Issue #21147 : sqlite3 now raises an exception if the request contains a null
...
character instead of truncate it. Based on patch by Victor Stinner.
2014-09-11 13:29:05 +03:00
Serhiy Storchaka
47a981337a
Issue #10203 : sqlite3.Row now truly supports sequence protocol. In particulr
...
it supports reverse() and negative indices. Original patch by Claudiu Popa.
2014-05-28 12:58:34 +03:00
Benjamin Peterson
a6d018ad6e
merge 3.3 ( #20901 )
2014-03-12 21:52:19 -05:00
Benjamin Peterson
966f2fca5f
weaken callback count inequality ( closes #20901 )
2014-03-12 21:51:52 -05:00
Benjamin Peterson
5ef48d9c79
merge 3.3 ( #20080 )
2014-02-15 13:20:28 -05:00
Benjamin Peterson
29352c436c
add missing test assertion ( closes #20080 )
...
Patch by Vajrasky Kok.
2014-02-15 13:19:59 -05:00
Victor Stinner
08263f10f8
(Merge 3.3) Issue #20026 : Fix the sqlite module to handle correctly invalid
...
isolation level (wrong type).
2013-12-19 16:39:00 +01:00
Victor Stinner
cb1f74ec40
Issue #20026 : Fix the sqlite module to handle correctly invalid isolation level
...
(wrong type).
2013-12-19 16:38:03 +01:00
Serhiy Storchaka
d4b75bf63e
Issue #19601 : Use specific asserts in sqlite3 tests.
2013-11-17 00:40:01 +02:00
Serhiy Storchaka
78ee078405
Issue #19601 : Use specific asserts in sqlite3 tests.
2013-11-17 00:39:12 +02:00
Ezio Melotti
e0c69161bc
#18741 : merge with 3.3.
2013-08-17 16:13:22 +03:00
Ezio Melotti
b5bc353b88
#18741 : fix more typos. Patch by Févry Thibault.
2013-08-17 16:11:40 +03:00
Brett Cannon
cd171c8e92
Issue #18200 : Back out usage of ModuleNotFoundError (8d28d44f3a9a)
2013-07-04 17:43:24 -04:00
Brett Cannon
0a140668fa
Issue #18200 : Update the stdlib (except tests) to use
...
ModuleNotFoundError.
2013-06-13 20:57:26 -04:00
Petri Lehtinen
e55aa69efc
Issue #14720 : Enhance sqlite3 microsecond conversion, document its behavior
2013-02-26 21:46:12 +02:00
Petri Lehtinen
6401ad66a7
Issue #14720 : Enhance sqlite3 microsecond conversion, document its behavior
2013-02-26 21:45:09 +02:00
Petri Lehtinen
5f79409889
Issue #14720 : Enhance sqlite3 microsecond conversion, document its behavior
2013-02-26 21:38:17 +02:00
Petri Lehtinen
e460f26b25
Issue #14720 : sqlite3: Convert datetime microseconds correctly
2013-02-23 19:10:29 +01:00
Petri Lehtinen
f484efdb60
Issue #14720 : sqlite3: Convert datetime microseconds correctly
2013-02-23 19:09:45 +01:00
Petri Lehtinen
8b945148e3
Issue #14720 : sqlite3: Convert datetime microseconds correctly
...
Patch by Lowe Thiderman
2013-02-23 19:05:56 +01:00
Antoine Pitrou
902fc8b5a0
Issue #13773 : sqlite3.connect() gets a new `uri` parameter to pass the filename as a URI, allowing to pass custom options.
2013-02-10 00:02:44 +01:00
Serhiy Storchaka
2efdc90b0f
Issue #17073 : Fix some integer overflows in sqlite3 module.
2013-02-07 17:03:46 +02:00
Serhiy Storchaka
3cf96ac248
Issue #17073 : Fix some integer overflows in sqlite3 module.
2013-02-07 17:01:47 +02:00
R David Murray
d394455aae
merge #13934 : document sqlite version strings, use correct one in test.
2013-01-10 20:19:35 -05:00
R David Murray
3f7beb99dd
#13934 : document sqlite version strings, use correct one in test.
2013-01-10 20:18:21 -05:00
R David Murray
7bd04867e5
merge #15545 : fix sqlite3.iterdump regression on unsortable row_factory objects.
...
The fix for issue 9750 introduced a regression by sorting the row objects
returned by fetchall. But if a row_factory such as sqlite3.Row is used, the
rows may not be sortable (in Python3), which leads to an exception. The
sorting is still a nice idea, so the patch moves the sort into the sql.
Fix and test by Peter Otten.
2013-01-10 11:13:34 -05:00
R David Murray
b52312923b
#15545 : fix sqlite3.iterdump regression on unsortable row_factory objects.
...
The fix for issue 9750 introduced a regression by sorting the row objects
returned by fetchall. But if a row_factory such as sqlite3.Row is used, the
rows may not be sortable (in Python3), which leads to an exception. The
sorting is still a nice idea, so the patch moves the sort into the sql.
Fix and test by Peter Otten.
2013-01-10 11:04:09 -05:00
Petri Lehtinen
8b24506534
Merge branch '3.2'
...
Closes #8033 .
2012-02-21 13:59:40 +02:00