aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/sqlite3/dump.py
diff options
context:
space:
mode:
authorR David Murray <rdmurray@bitdance.com>2013-01-10 11:13:34 -0500
committerR David Murray <rdmurray@bitdance.com>2013-01-10 11:13:34 -0500
commit7bd04867e53d78ddb0f5e8f78b9256298d41fadd (patch)
treec6d529a2ceb6a8ec7335f74d53f8d20af6629e4f /Lib/sqlite3/dump.py
parent8eee081d4041a59b3c8088cba8dcaafc22a88c00 (diff)
parentb52312923bee35b86fc072ec546cc3e588ae64c9 (diff)
downloadcpython-7bd04867e53d78ddb0f5e8f78b9256298d41fadd.tar.gz
cpython-7bd04867e53d78ddb0f5e8f78b9256298d41fadd.zip
merge #15545: fix sqlite3.iterdump regression on unsortable row_factory objects.
The fix for issue 9750 introduced a regression by sorting the row objects returned by fetchall. But if a row_factory such as sqlite3.Row is used, the rows may not be sortable (in Python3), which leads to an exception. The sorting is still a nice idea, so the patch moves the sort into the sql. Fix and test by Peter Otten.
Diffstat (limited to 'Lib/sqlite3/dump.py')
-rw-r--r--Lib/sqlite3/dump.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/Lib/sqlite3/dump.py b/Lib/sqlite3/dump.py
index da6be68663e..de9c368be30 100644
--- a/Lib/sqlite3/dump.py
+++ b/Lib/sqlite3/dump.py
@@ -25,9 +25,10 @@ def _iterdump(connection):
FROM "sqlite_master"
WHERE "sql" NOT NULL AND
"type" == 'table'
+ ORDER BY "name"
"""
schema_res = cu.execute(q)
- for table_name, type, sql in sorted(schema_res.fetchall()):
+ for table_name, type, sql in schema_res.fetchall():
if table_name == 'sqlite_sequence':
yield('DELETE FROM "sqlite_sequence";')
elif table_name == 'sqlite_stat1':