Erlend Egeberg Aasland
256e54acdb
bpo-41861: Convert _sqlite3 CursorType and ConnectionType to heap types (GH-22478)
2020-10-01 16:03:21 +02:00
Erlend Egeberg Aasland
9031bd4fa4
bpo-41861: Convert _sqlite3 RowType and StatementType to heap types (GH-22444)
2020-10-01 15:24:31 +02:00
Erlend Egeberg Aasland
a937ab45d6
bpo-41861: Convert _sqlite3 cache and node static types to heap types (GH-22417)
2020-09-27 14:14:50 +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
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
Erlend Egeberg Aasland
7f331c898a
bpo-40318: Migrate to SQLite3 trace v2 API (GH-19581)
...
Ref. https://sqlite.org/c3ref/trace_v2.html
Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2020-09-05 21:43:31 +01:00
Victor Stinner
4a21e57fe5
bpo-40268: Remove unused structmember.h includes (GH-19530)
...
If only offsetof() is needed: include stddef.h instead.
When structmember.h is used, add a comment explaining that
PyMemberDef is used.
2020-04-15 02:35:41 +02:00
Victor Stinner
62183b8d6d
bpo-40268: Remove explicit pythread.h includes ( #19529 )
...
Remove explicit pythread.h includes: it is always included
by Python.h.
2020-04-15 02:04:42 +02:00
Serhiy Storchaka
8f87eefe7f
bpo-39943: Add the const qualifier to pointers on non-mutable PyBytes data. (GH-19472)
2020-04-12 14:58:27 +03:00
Serhiy Storchaka
cd8295ff75
bpo-39943: Add the const qualifier to pointers on non-mutable PyUnicode data. (GH-19345)
2020-04-11 10:48:40 +03:00
Petr Viktorin
ffd9753a94
bpo-39245: Switch to public API for Vectorcall (GH-18460)
...
The bulk of this patch was generated automatically with:
for name in \
PyObject_Vectorcall \
Py_TPFLAGS_HAVE_VECTORCALL \
PyObject_VectorcallMethod \
PyVectorcall_Function \
PyObject_CallOneArg \
PyObject_CallMethodNoArgs \
PyObject_CallMethodOneArg \
;
do
echo $name
git grep -lwz _$name | xargs -0 sed -i "s/\b_$name\b/$name/g"
done
old=_PyObject_FastCallDict
new=PyObject_VectorcallDict
git grep -lwz $old | xargs -0 sed -i "s/\b$old\b/$new/g"
and then cleaned up:
- Revert changes to in docs & news
- Revert changes to backcompat defines in headers
- Nudge misaligned comments
2020-02-11 17:46:57 +01:00
Sergey Fedoseev
b6f5b9dd21
Replace _pysqlite_long_from_int64() with PyLong_FromLongLong() (GH-16882)
2019-10-23 11:09:01 +03:00
gescheit
b9a0376b0d
closes bpo-37347: Fix refcount problem in sqlite3. (GH-14268)
2019-07-12 20:15:48 -07:00
Jeroen Demeyer
59ad110d7a
bpo-37547: add _PyObject_CallMethodOneArg (GH-14685)
2019-07-11 17:59:05 +09:00
Jeroen Demeyer
762f93ff2e
bpo-37337: Add _PyObject_CallMethodNoArgs() (GH-14267)
2019-07-08 17:19:25 +09:00
Jeroen Demeyer
196a530e00
bpo-37483: add _PyObject_CallOneArg() function ( #14558 )
2019-07-04 19:31:34 +09: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
Jeroen Demeyer
530f506ac9
bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464)
...
Automatically replace
tp_print -> tp_vectorcall_offset
tp_compare -> tp_as_async
tp_reserved -> tp_as_async
2019-05-30 19:13:39 -07: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
Serhiy Storchaka
d4f9cf5545
bpo-33029: Fix signatures of getter and setter functions. (GH-10746)
...
Fix also return type for few other functions (clear, releasebuffer).
2018-11-27 19:34:35 +02:00
Serhiy Storchaka
62be74290a
bpo-33012: Fix invalid function cast warnings with gcc 8. (GH-6749)
...
Fix invalid function cast warnings with gcc 8
for method conventions different from METH_NOARGS, METH_O and
METH_VARARGS excluding Argument Clinic generated code.
2018-11-27 13:27:31 +02:00
Berker Peksag
b10a64d117
bpo-34743: Fix test_database_source_name under SQLite 3.7.9 (GH-9426)
2018-09-20 14:14:33 +03:00
Benjamin Peterson
7762e4d387
prefix internal sqlite symbols with _pysqlite_ (GH-8215)
2018-07-09 21:20:23 -07:00
Sergey Fedoseev
0830858aee
bpo-34041: Allow creating deterministic functions in Connection.create_function() (GH-8086)
2018-07-08 10:09:20 +03:00
Victor Stinner
ca405017d5
bpo-27645, sqlite: Fix integer overflow on sleep ( #6594 )
...
Use the _PyTime_t type and round away from zero (ROUND_UP,
_PyTime_ROUND_TIMEOUT) the sleep duration, when converting a Python
object to seconds and then to milliseconds. Raise an OverflowError in
case of overflow.
Previously the (int)double conversion rounded towards zero
(ROUND_DOWN).
2018-04-30 12:22:17 +02:00
Takuya Akiba
030345c0bf
Fix error message in sqlite connection thread check. (GH-6028)
2018-03-26 18:14:00 +03: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
Emanuele Gaifas
d7aed4102d
bpo-27645: Add support for native backup facility of SQLite (GH-4238)
2018-03-11 01:08:31 +03:00
Serhiy Storchaka
e2f92de6a9
Add the const qualifier to "char *" variables that refer to literal strings. ( #4370 )
2017-11-11 13:06:26 +02: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
93c5a5df8e
bpo-31740: Prevent refleaks when sqlite3.Connection.__init__() is called more than once (GH-3944)
2017-10-10 12:27:46 -07:00
Benjamin Peterson
525269430a
closes bpo-31525: require sqlite3_prepare_v2 ( #3666 )
...
This is based on
40b349cadb (diff-0489411409cd2934730e88bf7767790)
,
though we can be a bit more aggressive about deleting code.
2017-09-20 07:36:18 -07: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
Serhiy Storchaka
6cca5c8459
bpo-30592: Fixed error messages for some builtins. ( #1996 )
...
Error messages when pass keyword arguments to some builtins that
don't support keyword arguments contained double parenthesis: "()()".
The regression was introduced by bpo-30534.
2017-06-08 14:41:19 +03:00
Serhiy Storchaka
0b3ec19225
Use NULL rather than 0. ( #778 )
...
There was few cases of using literal 0 instead of NULL in the context of
pointers. While this was a legitimate C code, using NULL rather than 0 makes
the code clearer.
2017-03-23 17:53:47 +02:00
Serhiy Storchaka
aefa7ebf0f
bpo-6532: Make the thread id an unsigned integer. ( #781 )
...
* bpo-6532: Make the thread id an unsigned integer.
From C API side the type of results of PyThread_start_new_thread() and
PyThread_get_thread_ident(), the id parameter of
PyThreadState_SetAsyncExc(), and the thread_id field of PyThreadState
changed from "long" to "unsigned long".
* Restore a check in thread_get_ident().
2017-03-23 14:48:39 +01:00
Aviv Palivoda
86a670543f
bpo-9303: Migrate sqlite3 module to _v2 API to enhance performance ( #359 )
2017-03-03 13:58:17 +03:00
Serhiy Storchaka
228b12edcc
Issue #28999 : Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever
...
possible. Patch is writen with Coccinelle.
2017-01-23 09:47:21 +02:00
Victor Stinner
070c4d7ca7
Issue #28915 : Use _PyObject_CallNoArg()
...
Replace PyObject_CallFunction(func, NULL) with _PyObject_CallNoArg(func).
2016-12-09 12:29:18 +01:00
Serhiy Storchaka
85b0f5beb1
Added the const qualifier to char* variables that refer to readonly internal
...
UTF-8 represenatation of Unicode objects.
2016-11-20 10:16:47 +02:00
Serhiy Storchaka
06515833fe
Replaced outdated macros _PyUnicode_AsString and _PyUnicode_AsStringAndSize
...
with PyUnicode_AsUTF8 and PyUnicode_AsUTF8AndSize.
2016-11-20 09:13:07 +02:00
Serhiy Storchaka
3b73ea1278
Issue #28701 : Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString.
...
The latter function is more readable, faster and doesn't raise exceptions.
2016-11-16 10:19:20 +02:00
Serhiy Storchaka
f4934ea77d
Issue #28701 : Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString.
...
The latter function is more readable, faster and doesn't raise exceptions.
2016-11-16 10:17:58 +02: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
59da4b324f
Issue #28037 : Use sqlite3_get_autocommit() instead of setting Connection->inTransaction manually
...
Patch adapted from 9b79188edb
2016-09-12 07:16:43 +03:00
Berker Peksag
9af13ca565
Issue #28036 : Remove unused pysqlite_flush_statement_cache function
2016-09-11 15:37:30 +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