[Python-checkins] gh-81040: Improve sqlite3.Cursor.rowcount docs (GH-94940)

miss-islington webhook-mailer at python.org
Fri Jul 22 03:43:17 EDT 2022


https://github.com/python/cpython/commit/12b56e4b78a68b06f7e64aa349218f75ebb75ee6
commit: 12b56e4b78a68b06f7e64aa349218f75ebb75ee6
branch: 3.11
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2022-07-22T00:43:12-07:00
summary:

gh-81040: Improve sqlite3.Cursor.rowcount docs (GH-94940)

(cherry picked from commit f9b3706df65c4962646587b437a4eb39289dfd4c)

Co-authored-by: Erlend Egeberg Aasland <erlend.aasland at protonmail.com>

files:
M Doc/library/sqlite3.rst

diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst
index 9da7b5403cca3..28f3b32014afa 100644
--- a/Doc/library/sqlite3.rst
+++ b/Doc/library/sqlite3.rst
@@ -956,18 +956,11 @@ Cursor Objects
 
    .. attribute:: rowcount
 
-      Although the :class:`Cursor` class of the :mod:`sqlite3` module implements this
-      attribute, the database engine's own support for the determination of "rows
-      affected"/"rows selected" is quirky.
-
-      For :meth:`executemany` statements, the number of modifications are summed up
-      into :attr:`rowcount`.
-
-      As required by the Python DB API Spec, the :attr:`rowcount` attribute "is -1 in
-      case no ``executeXX()`` has been performed on the cursor or the rowcount of the
-      last operation is not determinable by the interface". This includes ``SELECT``
-      statements because we cannot determine the number of rows a query produced
-      until all rows were fetched.
+      Read-only attribute that provides the number of modified rows for
+      ``INSERT``, ``UPDATE``, ``DELETE``, and ``REPLACE`` statements;
+      is ``-1`` for other statements,
+      including :abbr:`CTE (Common Table Expression)` queries.
+      It is only updated by the :meth:`execute` and :meth:`executemany` methods.
 
    .. attribute:: lastrowid
 



More information about the Python-checkins mailing list