]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-118406: Add signature for sqlite3.Connection objects (#118428)
authorErlend E. Aasland <erlend@python.org>
Tue, 30 Apr 2024 19:58:22 +0000 (21:58 +0200)
committerGitHub <noreply@github.com>
Tue, 30 Apr 2024 19:58:22 +0000 (19:58 +0000)
Lib/test/test_sqlite3/test_dbapi.py
Misc/NEWS.d/next/Library/2024-04-30-15-18-19.gh-issue-118406.y-GnMo.rst [new file with mode: 0644]
Modules/_sqlite/connection.c

index 6d8744ca5f7969925f16f408be8cd8d2fe7c451a..51ce095df41fc1e2f8dc9e6c1676b4362c6e55d2 100644 (file)
@@ -590,6 +590,11 @@ class ConnectionTests(unittest.TestCase):
             del cx
             gc_collect()
 
+    def test_connection_signature(self):
+        from inspect import signature
+        sig = signature(self.cx)
+        self.assertEqual(str(sig), "(sql, /)")
+
 
 class UninitialisedConnectionTests(unittest.TestCase):
     def setUp(self):
diff --git a/Misc/NEWS.d/next/Library/2024-04-30-15-18-19.gh-issue-118406.y-GnMo.rst b/Misc/NEWS.d/next/Library/2024-04-30-15-18-19.gh-issue-118406.y-GnMo.rst
new file mode 100644 (file)
index 0000000..c60ddf9
--- /dev/null
@@ -0,0 +1 @@
+Add signature for :class:`sqlite3.Connection` objects.
index 74984ca536574354926ee7feeba88509c908f8ad..fc03e4a085c179d1678f8e1878fed653f275e39b 100644 (file)
@@ -2561,6 +2561,12 @@ set_autocommit(pysqlite_Connection *self, PyObject *val, void *Py_UNUSED(ctx))
     return 0;
 }
 
+static PyObject *
+get_sig(PyObject *self, void *Py_UNUSED(ctx))
+{
+    return PyUnicode_FromString("(sql, /)");
+}
+
 
 static const char connection_doc[] =
 PyDoc_STR("SQLite database connection object.");
@@ -2570,6 +2576,7 @@ static PyGetSetDef connection_getset[] = {
     {"total_changes",  (getter)pysqlite_connection_get_total_changes, (setter)0},
     {"in_transaction",  (getter)pysqlite_connection_get_in_transaction, (setter)0},
     {"autocommit",  (getter)get_autocommit, (setter)set_autocommit},
+    {"__text_signature__", get_sig, (setter)0},
     {NULL}
 };