diff options
author | Petri Lehtinen <petri@digip.org> | 2012-02-16 19:39:03 (GMT) |
---|---|---|
committer | Petri Lehtinen <petri@digip.org> | 2012-02-16 19:39:03 (GMT) |
commit | b3890226b33f86d485dccac309d442b15e766270 (patch) | |
tree | 4d4afc7e5b53d7c76fe420dc6974d0eb538c64a8 | |
parent | f670ca5e70962cf7fbc5b1c5758fb70d9c2e0e00 (diff) | |
download | cpython-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.py | 3 | ||||
-rw-r--r-- | Doc/library/sqlite3.rst | 11 | ||||
-rw-r--r-- | Misc/NEWS | 4 |
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 @@ -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. |