Fossil SCM

When dropping surplus tables during "fossil rebuild", make sure to use IF EXISTS so that shadow tables from previously dropped virtual tables do not cause an SQL error.

drh 2017-06-13 05:12 trunk
Commit 3200a7c72e41e783a16f0d61d86464c50a7777da708375ecfc59cb471e6fa9e1
1 file changed +1 -1
+1 -1
--- src/rebuild.c
+++ src/rebuild.c
@@ -364,11 +364,11 @@
364364
"'purgeevent','purgeitem','unversioned')"
365365
" AND name NOT GLOB 'sqlite_*'"
366366
" AND name NOT GLOB 'fx_*'"
367367
);
368368
while( db_step(&q)==SQLITE_ROW ){
369
- blob_appendf(&sql, "DROP TABLE \"%w\";\n", db_column_text(&q,0));
369
+ blob_appendf(&sql, "DROP TABLE IF EXISTS \"%w\";\n", db_column_text(&q,0));
370370
}
371371
db_finalize(&q);
372372
db_multi_exec("%s", blob_str(&sql)/*safe-for-%s*/);
373373
blob_reset(&sql);
374374
db_multi_exec("%s", zRepositorySchema2/*safe-for-%s*/);
375375
--- src/rebuild.c
+++ src/rebuild.c
@@ -364,11 +364,11 @@
364 "'purgeevent','purgeitem','unversioned')"
365 " AND name NOT GLOB 'sqlite_*'"
366 " AND name NOT GLOB 'fx_*'"
367 );
368 while( db_step(&q)==SQLITE_ROW ){
369 blob_appendf(&sql, "DROP TABLE \"%w\";\n", db_column_text(&q,0));
370 }
371 db_finalize(&q);
372 db_multi_exec("%s", blob_str(&sql)/*safe-for-%s*/);
373 blob_reset(&sql);
374 db_multi_exec("%s", zRepositorySchema2/*safe-for-%s*/);
375
--- src/rebuild.c
+++ src/rebuild.c
@@ -364,11 +364,11 @@
364 "'purgeevent','purgeitem','unversioned')"
365 " AND name NOT GLOB 'sqlite_*'"
366 " AND name NOT GLOB 'fx_*'"
367 );
368 while( db_step(&q)==SQLITE_ROW ){
369 blob_appendf(&sql, "DROP TABLE IF EXISTS \"%w\";\n", db_column_text(&q,0));
370 }
371 db_finalize(&q);
372 db_multi_exec("%s", blob_str(&sql)/*safe-for-%s*/);
373 blob_reset(&sql);
374 db_multi_exec("%s", zRepositorySchema2/*safe-for-%s*/);
375

Keyboard Shortcuts

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