Fossil SCM
Add db_add_unsent() and replace numerous "INSERT OR IGNORE INTO unset" statements with that.
Commit
98d4ee73d7f9a4ca393bdfd93ca8b13fc06e4664a40b7247c61ace43df32e1a5
Parent
9fc70f6f63ff5ea…
8 files changed
+1
-1
+5
-5
+2
-2
+7
+1
-1
+1
-1
+1
-1
+1
-1
+1
-1
| --- src/attach.c | ||
| +++ src/attach.c | ||
| @@ -244,11 +244,11 @@ | ||
| 244 | 244 | "INSERT INTO modreq(objid,attachRid) VALUES(%d,%d);", |
| 245 | 245 | rid, attachRid |
| 246 | 246 | ); |
| 247 | 247 | }else{ |
| 248 | 248 | rid = content_put(pAttach); |
| 249 | - db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d);", rid); | |
| 249 | + db_add_unsent(rid); | |
| 250 | 250 | db_multi_exec("INSERT OR IGNORE INTO unclustered VALUES(%d);", rid); |
| 251 | 251 | } |
| 252 | 252 | manifest_crosslink(rid, pAttach, MC_NONE); |
| 253 | 253 | } |
| 254 | 254 | |
| 255 | 255 |
| --- src/attach.c | |
| +++ src/attach.c | |
| @@ -244,11 +244,11 @@ | |
| 244 | "INSERT INTO modreq(objid,attachRid) VALUES(%d,%d);", |
| 245 | rid, attachRid |
| 246 | ); |
| 247 | }else{ |
| 248 | rid = content_put(pAttach); |
| 249 | db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d);", rid); |
| 250 | db_multi_exec("INSERT OR IGNORE INTO unclustered VALUES(%d);", rid); |
| 251 | } |
| 252 | manifest_crosslink(rid, pAttach, MC_NONE); |
| 253 | } |
| 254 | |
| 255 |
| --- src/attach.c | |
| +++ src/attach.c | |
| @@ -244,11 +244,11 @@ | |
| 244 | "INSERT INTO modreq(objid,attachRid) VALUES(%d,%d);", |
| 245 | rid, attachRid |
| 246 | ); |
| 247 | }else{ |
| 248 | rid = content_put(pAttach); |
| 249 | db_add_unsent(rid); |
| 250 | db_multi_exec("INSERT OR IGNORE INTO unclustered VALUES(%d);", rid); |
| 251 | } |
| 252 | manifest_crosslink(rid, pAttach, MC_NONE); |
| 253 | } |
| 254 | |
| 255 |
+5
-5
| --- src/branch.c | ||
| +++ src/branch.c | ||
| @@ -193,17 +193,17 @@ | ||
| 193 | 193 | |
| 194 | 194 | brid = content_put_ex(&branch, 0, 0, 0, isPrivate); |
| 195 | 195 | if( brid==0 ){ |
| 196 | 196 | fossil_fatal("trouble committing manifest: %s", g.zErrMsg); |
| 197 | 197 | } |
| 198 | - db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", brid); | |
| 198 | + db_add_unsent(brid); | |
| 199 | 199 | if( manifest_crosslink(brid, &branch, MC_PERMIT_HOOKS)==0 ){ |
| 200 | 200 | fossil_fatal("%s", g.zErrMsg); |
| 201 | 201 | } |
| 202 | 202 | assert( blob_is_reset(&branch) ); |
| 203 | 203 | content_deltify(rootid, &brid, 1, 0); |
| 204 | - zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", brid); | |
| 204 | + zUuid = rid_to_uuid(brid); | |
| 205 | 205 | fossil_print("New branch: %s\n", zUuid); |
| 206 | 206 | if( g.argc==3 ){ |
| 207 | 207 | fossil_print( |
| 208 | 208 | "\n" |
| 209 | 209 | "Note: the local check-out has not been updated to the new\n" |
| @@ -460,11 +460,11 @@ | ||
| 460 | 460 | }else if(manifest_crosslink(newRid, &manifest, 0)==0){ |
| 461 | 461 | fossil_fatal("Crosslinking error: %s", g.zErrMsg); |
| 462 | 462 | } |
| 463 | 463 | fossil_print("Saved new control artifact %z (RID %d).\n", |
| 464 | 464 | rid_to_uuid(newRid), newRid); |
| 465 | - db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", newRid); | |
| 465 | + db_add_unsent(newRid); | |
| 466 | 466 | if(fDryRun){ |
| 467 | 467 | fossil_print("Dry-run mode: rolling back new artifact.\n"); |
| 468 | 468 | assert(0!=doRollback); |
| 469 | 469 | } |
| 470 | 470 | } |
| @@ -719,12 +719,12 @@ | ||
| 719 | 719 | branch_prepare_list_query(&q, brFlags, zBrNameGlob, nLimit); |
| 720 | 720 | while( db_step(&q)==SQLITE_ROW ){ |
| 721 | 721 | const char *zBr = db_column_text(&q, 0); |
| 722 | 722 | int isPriv = zCurrent!=0 && db_column_int(&q, 1)==1; |
| 723 | 723 | int isCur = zCurrent!=0 && fossil_strcmp(zCurrent,zBr)==0; |
| 724 | - fossil_print("%s%s%s\n", | |
| 725 | - ( (brFlags & BRL_PRIVATE) ? " " : ( isPriv ? "#" : " ") ), | |
| 724 | + fossil_print("%s%s%s\n", | |
| 725 | + ( (brFlags & BRL_PRIVATE) ? " " : ( isPriv ? "#" : " ") ), | |
| 726 | 726 | (isCur ? "* " : " "), zBr); |
| 727 | 727 | } |
| 728 | 728 | db_finalize(&q); |
| 729 | 729 | }else if( strncmp(zCmd,"new",n)==0 ){ |
| 730 | 730 | branch_new(); |
| 731 | 731 |
| --- src/branch.c | |
| +++ src/branch.c | |
| @@ -193,17 +193,17 @@ | |
| 193 | |
| 194 | brid = content_put_ex(&branch, 0, 0, 0, isPrivate); |
| 195 | if( brid==0 ){ |
| 196 | fossil_fatal("trouble committing manifest: %s", g.zErrMsg); |
| 197 | } |
| 198 | db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", brid); |
| 199 | if( manifest_crosslink(brid, &branch, MC_PERMIT_HOOKS)==0 ){ |
| 200 | fossil_fatal("%s", g.zErrMsg); |
| 201 | } |
| 202 | assert( blob_is_reset(&branch) ); |
| 203 | content_deltify(rootid, &brid, 1, 0); |
| 204 | zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", brid); |
| 205 | fossil_print("New branch: %s\n", zUuid); |
| 206 | if( g.argc==3 ){ |
| 207 | fossil_print( |
| 208 | "\n" |
| 209 | "Note: the local check-out has not been updated to the new\n" |
| @@ -460,11 +460,11 @@ | |
| 460 | }else if(manifest_crosslink(newRid, &manifest, 0)==0){ |
| 461 | fossil_fatal("Crosslinking error: %s", g.zErrMsg); |
| 462 | } |
| 463 | fossil_print("Saved new control artifact %z (RID %d).\n", |
| 464 | rid_to_uuid(newRid), newRid); |
| 465 | db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", newRid); |
| 466 | if(fDryRun){ |
| 467 | fossil_print("Dry-run mode: rolling back new artifact.\n"); |
| 468 | assert(0!=doRollback); |
| 469 | } |
| 470 | } |
| @@ -719,12 +719,12 @@ | |
| 719 | branch_prepare_list_query(&q, brFlags, zBrNameGlob, nLimit); |
| 720 | while( db_step(&q)==SQLITE_ROW ){ |
| 721 | const char *zBr = db_column_text(&q, 0); |
| 722 | int isPriv = zCurrent!=0 && db_column_int(&q, 1)==1; |
| 723 | int isCur = zCurrent!=0 && fossil_strcmp(zCurrent,zBr)==0; |
| 724 | fossil_print("%s%s%s\n", |
| 725 | ( (brFlags & BRL_PRIVATE) ? " " : ( isPriv ? "#" : " ") ), |
| 726 | (isCur ? "* " : " "), zBr); |
| 727 | } |
| 728 | db_finalize(&q); |
| 729 | }else if( strncmp(zCmd,"new",n)==0 ){ |
| 730 | branch_new(); |
| 731 |
| --- src/branch.c | |
| +++ src/branch.c | |
| @@ -193,17 +193,17 @@ | |
| 193 | |
| 194 | brid = content_put_ex(&branch, 0, 0, 0, isPrivate); |
| 195 | if( brid==0 ){ |
| 196 | fossil_fatal("trouble committing manifest: %s", g.zErrMsg); |
| 197 | } |
| 198 | db_add_unsent(brid); |
| 199 | if( manifest_crosslink(brid, &branch, MC_PERMIT_HOOKS)==0 ){ |
| 200 | fossil_fatal("%s", g.zErrMsg); |
| 201 | } |
| 202 | assert( blob_is_reset(&branch) ); |
| 203 | content_deltify(rootid, &brid, 1, 0); |
| 204 | zUuid = rid_to_uuid(brid); |
| 205 | fossil_print("New branch: %s\n", zUuid); |
| 206 | if( g.argc==3 ){ |
| 207 | fossil_print( |
| 208 | "\n" |
| 209 | "Note: the local check-out has not been updated to the new\n" |
| @@ -460,11 +460,11 @@ | |
| 460 | }else if(manifest_crosslink(newRid, &manifest, 0)==0){ |
| 461 | fossil_fatal("Crosslinking error: %s", g.zErrMsg); |
| 462 | } |
| 463 | fossil_print("Saved new control artifact %z (RID %d).\n", |
| 464 | rid_to_uuid(newRid), newRid); |
| 465 | db_add_unsent(newRid); |
| 466 | if(fDryRun){ |
| 467 | fossil_print("Dry-run mode: rolling back new artifact.\n"); |
| 468 | assert(0!=doRollback); |
| 469 | } |
| 470 | } |
| @@ -719,12 +719,12 @@ | |
| 719 | branch_prepare_list_query(&q, brFlags, zBrNameGlob, nLimit); |
| 720 | while( db_step(&q)==SQLITE_ROW ){ |
| 721 | const char *zBr = db_column_text(&q, 0); |
| 722 | int isPriv = zCurrent!=0 && db_column_int(&q, 1)==1; |
| 723 | int isCur = zCurrent!=0 && fossil_strcmp(zCurrent,zBr)==0; |
| 724 | fossil_print("%s%s%s\n", |
| 725 | ( (brFlags & BRL_PRIVATE) ? " " : ( isPriv ? "#" : " ") ), |
| 726 | (isCur ? "* " : " "), zBr); |
| 727 | } |
| 728 | db_finalize(&q); |
| 729 | }else if( strncmp(zCmd,"new",n)==0 ){ |
| 730 | branch_new(); |
| 731 |
+2
-2
| --- src/checkin.c | ||
| +++ src/checkin.c | ||
| @@ -2663,11 +2663,11 @@ | ||
| 2663 | 2663 | if( rid>0 ){ |
| 2664 | 2664 | content_deltify(rid, &nrid, 1, 0); |
| 2665 | 2665 | } |
| 2666 | 2666 | db_multi_exec("UPDATE vfile SET mrid=%d, rid=%d, mhash=NULL WHERE id=%d", |
| 2667 | 2667 | nrid,nrid,id); |
| 2668 | - db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", nrid); | |
| 2668 | + db_add_unsent(nrid); | |
| 2669 | 2669 | } |
| 2670 | 2670 | } |
| 2671 | 2671 | db_finalize(&q); |
| 2672 | 2672 | if( nConflict && !allowConflict ){ |
| 2673 | 2673 | fossil_fatal("abort due to unresolved merge conflicts; " |
| @@ -2761,11 +2761,11 @@ | ||
| 2761 | 2761 | |
| 2762 | 2762 | nvid = content_put(&manifest); |
| 2763 | 2763 | if( nvid==0 ){ |
| 2764 | 2764 | fossil_fatal("trouble committing manifest: %s", g.zErrMsg); |
| 2765 | 2765 | } |
| 2766 | - db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", nvid); | |
| 2766 | + db_add_unsent(nvid); | |
| 2767 | 2767 | if( manifest_crosslink(nvid, &manifest, |
| 2768 | 2768 | dryRunFlag ? MC_NONE : MC_PERMIT_HOOKS)==0 ){ |
| 2769 | 2769 | fossil_fatal("%s", g.zErrMsg); |
| 2770 | 2770 | } |
| 2771 | 2771 | assert( blob_is_reset(&manifest) ); |
| 2772 | 2772 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -2663,11 +2663,11 @@ | |
| 2663 | if( rid>0 ){ |
| 2664 | content_deltify(rid, &nrid, 1, 0); |
| 2665 | } |
| 2666 | db_multi_exec("UPDATE vfile SET mrid=%d, rid=%d, mhash=NULL WHERE id=%d", |
| 2667 | nrid,nrid,id); |
| 2668 | db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", nrid); |
| 2669 | } |
| 2670 | } |
| 2671 | db_finalize(&q); |
| 2672 | if( nConflict && !allowConflict ){ |
| 2673 | fossil_fatal("abort due to unresolved merge conflicts; " |
| @@ -2761,11 +2761,11 @@ | |
| 2761 | |
| 2762 | nvid = content_put(&manifest); |
| 2763 | if( nvid==0 ){ |
| 2764 | fossil_fatal("trouble committing manifest: %s", g.zErrMsg); |
| 2765 | } |
| 2766 | db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", nvid); |
| 2767 | if( manifest_crosslink(nvid, &manifest, |
| 2768 | dryRunFlag ? MC_NONE : MC_PERMIT_HOOKS)==0 ){ |
| 2769 | fossil_fatal("%s", g.zErrMsg); |
| 2770 | } |
| 2771 | assert( blob_is_reset(&manifest) ); |
| 2772 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -2663,11 +2663,11 @@ | |
| 2663 | if( rid>0 ){ |
| 2664 | content_deltify(rid, &nrid, 1, 0); |
| 2665 | } |
| 2666 | db_multi_exec("UPDATE vfile SET mrid=%d, rid=%d, mhash=NULL WHERE id=%d", |
| 2667 | nrid,nrid,id); |
| 2668 | db_add_unsent(nrid); |
| 2669 | } |
| 2670 | } |
| 2671 | db_finalize(&q); |
| 2672 | if( nConflict && !allowConflict ){ |
| 2673 | fossil_fatal("abort due to unresolved merge conflicts; " |
| @@ -2761,11 +2761,11 @@ | |
| 2761 | |
| 2762 | nvid = content_put(&manifest); |
| 2763 | if( nvid==0 ){ |
| 2764 | fossil_fatal("trouble committing manifest: %s", g.zErrMsg); |
| 2765 | } |
| 2766 | db_add_unsent(nvid); |
| 2767 | if( manifest_crosslink(nvid, &manifest, |
| 2768 | dryRunFlag ? MC_NONE : MC_PERMIT_HOOKS)==0 ){ |
| 2769 | fossil_fatal("%s", g.zErrMsg); |
| 2770 | } |
| 2771 | assert( blob_is_reset(&manifest) ); |
| 2772 |
M
src/db.c
+7
| --- src/db.c | ||
| +++ src/db.c | ||
| @@ -5111,5 +5111,12 @@ | ||
| 5111 | 5111 | fossil_free(zRepo); |
| 5112 | 5112 | } |
| 5113 | 5113 | fossil_free(zCkout); |
| 5114 | 5114 | return rc; |
| 5115 | 5115 | } |
| 5116 | + | |
| 5117 | +/* | |
| 5118 | +** Adds the given rid to the UNSENT table. | |
| 5119 | +*/ | |
| 5120 | +void db_add_unsent(int rid){ | |
| 5121 | + db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", rid); | |
| 5122 | +} | |
| 5116 | 5123 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -5111,5 +5111,12 @@ | |
| 5111 | fossil_free(zRepo); |
| 5112 | } |
| 5113 | fossil_free(zCkout); |
| 5114 | return rc; |
| 5115 | } |
| 5116 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -5111,5 +5111,12 @@ | |
| 5111 | fossil_free(zRepo); |
| 5112 | } |
| 5113 | fossil_free(zCkout); |
| 5114 | return rc; |
| 5115 | } |
| 5116 | |
| 5117 | /* |
| 5118 | ** Adds the given rid to the UNSENT table. |
| 5119 | */ |
| 5120 | void db_add_unsent(int rid){ |
| 5121 | db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", rid); |
| 5122 | } |
| 5123 |
+1
-1
| --- src/event.c | ||
| +++ src/event.c | ||
| @@ -328,11 +328,11 @@ | ||
| 328 | 328 | blob_appendf(&event, "W %d\n%s\n", strlen(zBody), zBody); |
| 329 | 329 | md5sum_blob(&event, &cksum); |
| 330 | 330 | blob_appendf(&event, "Z %b\n", &cksum); |
| 331 | 331 | blob_reset(&cksum); |
| 332 | 332 | nrid = content_put(&event); |
| 333 | - db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", nrid); | |
| 333 | + db_add_unsent(nrid); | |
| 334 | 334 | if( manifest_crosslink(nrid, &event, MC_NONE)==0 ){ |
| 335 | 335 | db_end_transaction(1); |
| 336 | 336 | return 0; |
| 337 | 337 | } |
| 338 | 338 | assert( blob_is_reset(&event) ); |
| 339 | 339 |
| --- src/event.c | |
| +++ src/event.c | |
| @@ -328,11 +328,11 @@ | |
| 328 | blob_appendf(&event, "W %d\n%s\n", strlen(zBody), zBody); |
| 329 | md5sum_blob(&event, &cksum); |
| 330 | blob_appendf(&event, "Z %b\n", &cksum); |
| 331 | blob_reset(&cksum); |
| 332 | nrid = content_put(&event); |
| 333 | db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", nrid); |
| 334 | if( manifest_crosslink(nrid, &event, MC_NONE)==0 ){ |
| 335 | db_end_transaction(1); |
| 336 | return 0; |
| 337 | } |
| 338 | assert( blob_is_reset(&event) ); |
| 339 |
| --- src/event.c | |
| +++ src/event.c | |
| @@ -328,11 +328,11 @@ | |
| 328 | blob_appendf(&event, "W %d\n%s\n", strlen(zBody), zBody); |
| 329 | md5sum_blob(&event, &cksum); |
| 330 | blob_appendf(&event, "Z %b\n", &cksum); |
| 331 | blob_reset(&cksum); |
| 332 | nrid = content_put(&event); |
| 333 | db_add_unsent(nrid); |
| 334 | if( manifest_crosslink(nrid, &event, MC_NONE)==0 ){ |
| 335 | db_end_transaction(1); |
| 336 | return 0; |
| 337 | } |
| 338 | assert( blob_is_reset(&event) ); |
| 339 |
+1
-1
| --- src/json_branch.c | ||
| +++ src/json_branch.c | ||
| @@ -293,11 +293,11 @@ | ||
| 293 | 293 | |
| 294 | 294 | brid = content_put_ex(&branch, 0, 0, 0, zOpt->isPrivate); |
| 295 | 295 | if( brid==0 ){ |
| 296 | 296 | fossil_panic("Problem committing manifest: %s", g.zErrMsg); |
| 297 | 297 | } |
| 298 | - db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", brid); | |
| 298 | + db_add_unsent(brid); | |
| 299 | 299 | if( manifest_crosslink(brid, &branch, MC_PERMIT_HOOKS)==0 ){ |
| 300 | 300 | fossil_panic("%s", g.zErrMsg); |
| 301 | 301 | } |
| 302 | 302 | assert( blob_is_reset(&branch) ); |
| 303 | 303 | content_deltify(rootid, &brid, 1, 0); |
| 304 | 304 |
| --- src/json_branch.c | |
| +++ src/json_branch.c | |
| @@ -293,11 +293,11 @@ | |
| 293 | |
| 294 | brid = content_put_ex(&branch, 0, 0, 0, zOpt->isPrivate); |
| 295 | if( brid==0 ){ |
| 296 | fossil_panic("Problem committing manifest: %s", g.zErrMsg); |
| 297 | } |
| 298 | db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", brid); |
| 299 | if( manifest_crosslink(brid, &branch, MC_PERMIT_HOOKS)==0 ){ |
| 300 | fossil_panic("%s", g.zErrMsg); |
| 301 | } |
| 302 | assert( blob_is_reset(&branch) ); |
| 303 | content_deltify(rootid, &brid, 1, 0); |
| 304 |
| --- src/json_branch.c | |
| +++ src/json_branch.c | |
| @@ -293,11 +293,11 @@ | |
| 293 | |
| 294 | brid = content_put_ex(&branch, 0, 0, 0, zOpt->isPrivate); |
| 295 | if( brid==0 ){ |
| 296 | fossil_panic("Problem committing manifest: %s", g.zErrMsg); |
| 297 | } |
| 298 | db_add_unsent(brid); |
| 299 | if( manifest_crosslink(brid, &branch, MC_PERMIT_HOOKS)==0 ){ |
| 300 | fossil_panic("%s", g.zErrMsg); |
| 301 | } |
| 302 | assert( blob_is_reset(&branch) ); |
| 303 | content_deltify(rootid, &brid, 1, 0); |
| 304 |
+1
-1
| --- src/tkt.c | ||
| +++ src/tkt.c | ||
| @@ -862,11 +862,11 @@ | ||
| 862 | 862 | db_multi_exec( |
| 863 | 863 | "INSERT INTO modreq(objid, tktid) VALUES(%d,%Q)", |
| 864 | 864 | rid, zTktId |
| 865 | 865 | ); |
| 866 | 866 | }else{ |
| 867 | - db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d);", rid); | |
| 867 | + db_add_unsent(rid); | |
| 868 | 868 | db_multi_exec("INSERT OR IGNORE INTO unclustered VALUES(%d);", rid); |
| 869 | 869 | } |
| 870 | 870 | result = (manifest_crosslink(rid, pTicket, MC_NONE)==0); |
| 871 | 871 | assert( blob_is_reset(pTicket) ); |
| 872 | 872 | if( !result ){ |
| 873 | 873 |
| --- src/tkt.c | |
| +++ src/tkt.c | |
| @@ -862,11 +862,11 @@ | |
| 862 | db_multi_exec( |
| 863 | "INSERT INTO modreq(objid, tktid) VALUES(%d,%Q)", |
| 864 | rid, zTktId |
| 865 | ); |
| 866 | }else{ |
| 867 | db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d);", rid); |
| 868 | db_multi_exec("INSERT OR IGNORE INTO unclustered VALUES(%d);", rid); |
| 869 | } |
| 870 | result = (manifest_crosslink(rid, pTicket, MC_NONE)==0); |
| 871 | assert( blob_is_reset(pTicket) ); |
| 872 | if( !result ){ |
| 873 |
| --- src/tkt.c | |
| +++ src/tkt.c | |
| @@ -862,11 +862,11 @@ | |
| 862 | db_multi_exec( |
| 863 | "INSERT INTO modreq(objid, tktid) VALUES(%d,%Q)", |
| 864 | rid, zTktId |
| 865 | ); |
| 866 | }else{ |
| 867 | db_add_unsent(rid); |
| 868 | db_multi_exec("INSERT OR IGNORE INTO unclustered VALUES(%d);", rid); |
| 869 | } |
| 870 | result = (manifest_crosslink(rid, pTicket, MC_NONE)==0); |
| 871 | assert( blob_is_reset(pTicket) ); |
| 872 | if( !result ){ |
| 873 |
+1
-1
| --- src/wiki.c | ||
| +++ src/wiki.c | ||
| @@ -635,11 +635,11 @@ | ||
| 635 | 635 | }else{ |
| 636 | 636 | nrid = content_put_ex(pWiki, 0, 0, 0, 1); |
| 637 | 637 | moderation_table_create(); |
| 638 | 638 | db_multi_exec("INSERT INTO modreq(objid) VALUES(%d)", nrid); |
| 639 | 639 | } |
| 640 | - db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", nrid); | |
| 640 | + db_add_unsent(nrid); | |
| 641 | 641 | db_multi_exec("INSERT OR IGNORE INTO unclustered VALUES(%d);", nrid); |
| 642 | 642 | manifest_crosslink(nrid, pWiki, MC_NONE); |
| 643 | 643 | if( login_is_individual() ){ |
| 644 | 644 | alert_user_contact(login_name()); |
| 645 | 645 | } |
| 646 | 646 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -635,11 +635,11 @@ | |
| 635 | }else{ |
| 636 | nrid = content_put_ex(pWiki, 0, 0, 0, 1); |
| 637 | moderation_table_create(); |
| 638 | db_multi_exec("INSERT INTO modreq(objid) VALUES(%d)", nrid); |
| 639 | } |
| 640 | db_multi_exec("INSERT OR IGNORE INTO unsent VALUES(%d)", nrid); |
| 641 | db_multi_exec("INSERT OR IGNORE INTO unclustered VALUES(%d);", nrid); |
| 642 | manifest_crosslink(nrid, pWiki, MC_NONE); |
| 643 | if( login_is_individual() ){ |
| 644 | alert_user_contact(login_name()); |
| 645 | } |
| 646 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -635,11 +635,11 @@ | |
| 635 | }else{ |
| 636 | nrid = content_put_ex(pWiki, 0, 0, 0, 1); |
| 637 | moderation_table_create(); |
| 638 | db_multi_exec("INSERT INTO modreq(objid) VALUES(%d)", nrid); |
| 639 | } |
| 640 | db_add_unsent(nrid); |
| 641 | db_multi_exec("INSERT OR IGNORE INTO unclustered VALUES(%d);", nrid); |
| 642 | manifest_crosslink(nrid, pWiki, MC_NONE); |
| 643 | if( login_is_individual() ){ |
| 644 | alert_user_contact(login_name()); |
| 645 | } |
| 646 |