mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
[3.10] gh-93925: Improve clarity of sqlite3 commit/rollback, and close docs (GH-93926) (#94011)
Co-authored-by: CAM Gerlach <CAM.Gerlach@Gerlach.CAM>.
(cherry picked from commit 6446592c89
)
Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
This commit is contained in:
parent
beba1020a9
commit
c4440e6bc0
3 changed files with 30 additions and 19 deletions
|
@ -360,21 +360,20 @@ Connection Objects
|
|||
|
||||
.. method:: commit()
|
||||
|
||||
This method commits the current transaction. If you don't call this method,
|
||||
anything you did since the last call to ``commit()`` is not visible from
|
||||
other database connections. If you wonder why you don't see the data you've
|
||||
written to the database, please check you didn't forget to call this method.
|
||||
Commit any pending transaction to the database.
|
||||
If there is no open transaction, this method is a no-op.
|
||||
|
||||
.. method:: rollback()
|
||||
|
||||
This method rolls back any changes to the database since the last call to
|
||||
:meth:`commit`.
|
||||
Roll back to the start of any pending transaction.
|
||||
If there is no open transaction, this method is a no-op.
|
||||
|
||||
.. method:: close()
|
||||
|
||||
This closes the database connection. Note that this does not automatically
|
||||
call :meth:`commit`. If you just close your database connection without
|
||||
calling :meth:`commit` first, your changes will be lost!
|
||||
Close the database connection.
|
||||
Any pending transaction is not committed implicitly;
|
||||
make sure to :meth:`commit` before closing
|
||||
to avoid losing pending changes.
|
||||
|
||||
.. method:: execute(sql[, parameters])
|
||||
|
||||
|
|
14
Modules/_sqlite/clinic/connection.c.h
generated
14
Modules/_sqlite/clinic/connection.c.h
generated
|
@ -43,7 +43,9 @@ PyDoc_STRVAR(pysqlite_connection_close__doc__,
|
|||
"close($self, /)\n"
|
||||
"--\n"
|
||||
"\n"
|
||||
"Closes the connection.");
|
||||
"Close the database connection.\n"
|
||||
"\n"
|
||||
"Any pending transaction is not committed implicitly.");
|
||||
|
||||
#define PYSQLITE_CONNECTION_CLOSE_METHODDEF \
|
||||
{"close", (PyCFunction)pysqlite_connection_close, METH_NOARGS, pysqlite_connection_close__doc__},
|
||||
|
@ -61,7 +63,9 @@ PyDoc_STRVAR(pysqlite_connection_commit__doc__,
|
|||
"commit($self, /)\n"
|
||||
"--\n"
|
||||
"\n"
|
||||
"Commit the current transaction.");
|
||||
"Commit any pending transaction to the database.\n"
|
||||
"\n"
|
||||
"If there is no open transaction, this method is a no-op.");
|
||||
|
||||
#define PYSQLITE_CONNECTION_COMMIT_METHODDEF \
|
||||
{"commit", (PyCFunction)pysqlite_connection_commit, METH_NOARGS, pysqlite_connection_commit__doc__},
|
||||
|
@ -79,7 +83,9 @@ PyDoc_STRVAR(pysqlite_connection_rollback__doc__,
|
|||
"rollback($self, /)\n"
|
||||
"--\n"
|
||||
"\n"
|
||||
"Roll back the current transaction.");
|
||||
"Roll back to the start of any pending transaction.\n"
|
||||
"\n"
|
||||
"If there is no open transaction, this method is a no-op.");
|
||||
|
||||
#define PYSQLITE_CONNECTION_ROLLBACK_METHODDEF \
|
||||
{"rollback", (PyCFunction)pysqlite_connection_rollback, METH_NOARGS, pysqlite_connection_rollback__doc__},
|
||||
|
@ -706,4 +712,4 @@ exit:
|
|||
#ifndef PYSQLITE_CONNECTION_LOAD_EXTENSION_METHODDEF
|
||||
#define PYSQLITE_CONNECTION_LOAD_EXTENSION_METHODDEF
|
||||
#endif /* !defined(PYSQLITE_CONNECTION_LOAD_EXTENSION_METHODDEF) */
|
||||
/*[clinic end generated code: output=2f3f3406ba6b4d2e input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=5f75df72ee4abdca input=a9049054013a1b77]*/
|
||||
|
|
|
@ -351,12 +351,14 @@ pysqlite_connection_cursor_impl(pysqlite_Connection *self, PyObject *factory)
|
|||
/*[clinic input]
|
||||
_sqlite3.Connection.close as pysqlite_connection_close
|
||||
|
||||
Closes the connection.
|
||||
Close the database connection.
|
||||
|
||||
Any pending transaction is not committed implicitly.
|
||||
[clinic start generated code]*/
|
||||
|
||||
static PyObject *
|
||||
pysqlite_connection_close_impl(pysqlite_Connection *self)
|
||||
/*[clinic end generated code: output=a546a0da212c9b97 input=3d58064bbffaa3d3]*/
|
||||
/*[clinic end generated code: output=a546a0da212c9b97 input=b3ed5b74f6fefc06]*/
|
||||
{
|
||||
int rc;
|
||||
|
||||
|
@ -445,12 +447,14 @@ error:
|
|||
/*[clinic input]
|
||||
_sqlite3.Connection.commit as pysqlite_connection_commit
|
||||
|
||||
Commit the current transaction.
|
||||
Commit any pending transaction to the database.
|
||||
|
||||
If there is no open transaction, this method is a no-op.
|
||||
[clinic start generated code]*/
|
||||
|
||||
static PyObject *
|
||||
pysqlite_connection_commit_impl(pysqlite_Connection *self)
|
||||
/*[clinic end generated code: output=3da45579e89407f2 input=39c12c04dda276a8]*/
|
||||
/*[clinic end generated code: output=3da45579e89407f2 input=c8793c97c3446065]*/
|
||||
{
|
||||
int rc;
|
||||
sqlite3_stmt* statement;
|
||||
|
@ -494,12 +498,14 @@ error:
|
|||
/*[clinic input]
|
||||
_sqlite3.Connection.rollback as pysqlite_connection_rollback
|
||||
|
||||
Roll back the current transaction.
|
||||
Roll back to the start of any pending transaction.
|
||||
|
||||
If there is no open transaction, this method is a no-op.
|
||||
[clinic start generated code]*/
|
||||
|
||||
static PyObject *
|
||||
pysqlite_connection_rollback_impl(pysqlite_Connection *self)
|
||||
/*[clinic end generated code: output=b66fa0d43e7ef305 input=12d4e8d068942830]*/
|
||||
/*[clinic end generated code: output=b66fa0d43e7ef305 input=7f60a2f1076f16b3]*/
|
||||
{
|
||||
int rc;
|
||||
sqlite3_stmt* statement;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue