summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetri Lehtinen <petri@digip.org>2012-02-16 19:39:03 (GMT)
committerPetri Lehtinen <petri@digip.org>2012-02-16 19:39:03 (GMT)
commitb3890226b33f86d485dccac309d442b15e766270 (patch)
tree4d4afc7e5b53d7c76fe420dc6974d0eb538c64a8
parentf670ca5e70962cf7fbc5b1c5758fb70d9c2e0e00 (diff)
downloadcpython-b3890226b33f86d485dccac309d442b15e766270.zip
cpython-b3890226b33f86d485dccac309d442b15e766270.tar.gz
cpython-b3890226b33f86d485dccac309d442b15e766270.tar.bz2
sqlite3: Fix documentation errors concerning Cursor.rowcount
Closes #13995.
-rw-r--r--Doc/includes/sqlite3/shortcut_methods.py3
-rw-r--r--Doc/library/sqlite3.rst11
-rw-r--r--Misc/NEWS4
3 files changed, 8 insertions, 10 deletions
diff --git a/Doc/includes/sqlite3/shortcut_methods.py b/Doc/includes/sqlite3/shortcut_methods.py
index 596d87c..71600d4 100644
--- a/Doc/includes/sqlite3/shortcut_methods.py
+++ b/Doc/includes/sqlite3/shortcut_methods.py
@@ -17,5 +17,4 @@ con.executemany("insert into person(firstname, lastname) values (?, ?)", persons
for row in con.execute("select firstname, lastname from person"):
print(row)
-# Using a dummy WHERE clause to not let SQLite take the shortcut table deletes.
-print("I just deleted", con.execute("delete from person where 1=1").rowcount, "rows")
+print("I just deleted", con.execute("delete from person").rowcount, "rows")
diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst
index 350950c..f0fd86c 100644
--- a/Doc/library/sqlite3.rst
+++ b/Doc/library/sqlite3.rst
@@ -543,18 +543,17 @@ Cursor Objects
attribute, the database engine's own support for the determination of "rows
affected"/"rows selected" is quirky.
- For ``DELETE`` statements, SQLite reports :attr:`rowcount` as 0 if you make a
- ``DELETE FROM table`` without any condition.
-
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".
+ 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.
- This includes ``SELECT`` statements because we cannot determine the number of
- rows a query produced until all rows were fetched.
+ With SQLite versions before 3.6.5, :attr:`rowcount` is set to 0 if
+ you make a ``DELETE FROM table`` without any condition.
.. attribute:: Cursor.lastrowid
diff --git a/Misc/NEWS b/Misc/NEWS
index 8b0e12a..9c64855 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -528,8 +528,8 @@ Extension Modules
Documentation
-------------
-- Issue #13491: Fix many errors in sqlite3 documentation. Initial
- patch by Johannes Vogel.
+- Issues #13491 and #13995: Fix many errors in sqlite3 documentation.
+ Initial patch for #13491 by Johannes Vogel.
- Issue #13402: Document absoluteness of sys.executable.