diff -u "c:/APPS/Python31/Lib/sqlite3/dump.py~" "c:/APPS/Python31/Lib/sqlite3/dump.py" --- c:/APPS/Python31/Lib/sqlite3/dump.py~ 2008-06-19 12:03:06.000000000 +0300 +++ c:/APPS/Python31/Lib/sqlite3/dump.py 2010-09-03 11:31:15.796660000 +0300 @@ -23,9 +23,9 @@ schema_res = cu.execute(q) for table_name, type, sql in schema_res.fetchall(): if table_name == 'sqlite_sequence': - yield('DELETE FROM sqlite_sequence;') + yield('DELETE FROM "sqlite_sequence";') elif table_name == 'sqlite_stat1': - yield('ANALYZE sqlite_master;') + yield('ANALYZE "sqlite_master";') elif table_name.startswith('sqlite_'): continue # NOTE: Virtual table support not implemented @@ -40,21 +40,21 @@ yield('%s;' % sql) # Build the insert statement for each row of the current table - res = cu.execute("PRAGMA table_info('%s')" % table_name) + res = cu.execute('PRAGMA table_info("%s")' % table_name) column_names = [str(table_info[1]) for table_info in res.fetchall()] q = "SELECT 'INSERT INTO \"%(tbl_name)s\" VALUES(" - q += ",".join(["'||quote(" + col + ")||'" for col in column_names]) - q += ")' FROM '%(tbl_name)s'" + q += ",".join(["'||quote(\"" + col + "\")||'" for col in column_names]) + q += ")' FROM \"%(tbl_name)s\"" query_res = cu.execute(q % {'tbl_name': table_name}) for row in query_res: yield("%s;" % row[0]) # Now when the type is 'index', 'trigger', or 'view' q = """ - SELECT name, type, sql - FROM sqlite_master - WHERE sql NOT NULL AND - type IN ('index', 'trigger', 'view') + SELECT "name", "type", "sql" + FROM "sqlite_master" + WHERE "sql" NOT NULL AND + "type" IN ('index', 'trigger', 'view') """ schema_res = cu.execute(q) for name, type, sql in schema_res.fetchall():