Fossil SCM

Fix a bug in the "fossil undo" command, introduced when the sqlite3_table_column_metadata() function was used to reimplement the db_table_exists() routine, just a few days ago.

drh 2014-12-16 19:00 trunk
Commit b6ed6241e1710a9775cb2c3df625258fb12e4e85
1 file changed +1 -2
+1 -2
--- src/undo.c
+++ src/undo.c
@@ -127,11 +127,10 @@
127127
** Undo or redo all undoable or redoable changes.
128128
*/
129129
static void undo_all(int redoFlag){
130130
int ucid;
131131
int ncid;
132
- const char *zDb = db_name("localdb");
133132
undo_all_filesystem(redoFlag);
134133
db_multi_exec(
135134
"CREATE TEMP TABLE undo_vfile_2 AS SELECT * FROM vfile;"
136135
"DELETE FROM vfile;"
137136
"INSERT INTO vfile SELECT * FROM undo_vfile;"
@@ -143,11 +142,11 @@
143142
"INSERT INTO vmerge SELECT * FROM undo_vmerge;"
144143
"DELETE FROM undo_vmerge;"
145144
"INSERT INTO undo_vmerge SELECT * FROM undo_vmerge_2;"
146145
"DROP TABLE undo_vmerge_2;"
147146
);
148
- if( db_table_exists(zDb, "undo_stash") ){
147
+ if( db_table_exists("localdb", "undo_stash") ){
149148
if( redoFlag ){
150149
db_multi_exec(
151150
"DELETE FROM stash WHERE stashid IN (SELECT stashid FROM undo_stash);"
152151
"DELETE FROM stashfile"
153152
" WHERE stashid NOT IN (SELECT stashid FROM stash);"
154153
--- src/undo.c
+++ src/undo.c
@@ -127,11 +127,10 @@
127 ** Undo or redo all undoable or redoable changes.
128 */
129 static void undo_all(int redoFlag){
130 int ucid;
131 int ncid;
132 const char *zDb = db_name("localdb");
133 undo_all_filesystem(redoFlag);
134 db_multi_exec(
135 "CREATE TEMP TABLE undo_vfile_2 AS SELECT * FROM vfile;"
136 "DELETE FROM vfile;"
137 "INSERT INTO vfile SELECT * FROM undo_vfile;"
@@ -143,11 +142,11 @@
143 "INSERT INTO vmerge SELECT * FROM undo_vmerge;"
144 "DELETE FROM undo_vmerge;"
145 "INSERT INTO undo_vmerge SELECT * FROM undo_vmerge_2;"
146 "DROP TABLE undo_vmerge_2;"
147 );
148 if( db_table_exists(zDb, "undo_stash") ){
149 if( redoFlag ){
150 db_multi_exec(
151 "DELETE FROM stash WHERE stashid IN (SELECT stashid FROM undo_stash);"
152 "DELETE FROM stashfile"
153 " WHERE stashid NOT IN (SELECT stashid FROM stash);"
154
--- src/undo.c
+++ src/undo.c
@@ -127,11 +127,10 @@
127 ** Undo or redo all undoable or redoable changes.
128 */
129 static void undo_all(int redoFlag){
130 int ucid;
131 int ncid;
 
132 undo_all_filesystem(redoFlag);
133 db_multi_exec(
134 "CREATE TEMP TABLE undo_vfile_2 AS SELECT * FROM vfile;"
135 "DELETE FROM vfile;"
136 "INSERT INTO vfile SELECT * FROM undo_vfile;"
@@ -143,11 +142,11 @@
142 "INSERT INTO vmerge SELECT * FROM undo_vmerge;"
143 "DELETE FROM undo_vmerge;"
144 "INSERT INTO undo_vmerge SELECT * FROM undo_vmerge_2;"
145 "DROP TABLE undo_vmerge_2;"
146 );
147 if( db_table_exists("localdb", "undo_stash") ){
148 if( redoFlag ){
149 db_multi_exec(
150 "DELETE FROM stash WHERE stashid IN (SELECT stashid FROM undo_stash);"
151 "DELETE FROM stashfile"
152 " WHERE stashid NOT IN (SELECT stashid FROM stash);"
153

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button