Fossil SCM
Technote counterpart fix of [ecb705359a].
Commit
b8c1d429cbc2209319576f200af4cae062edb94b7c4a9c7fc9c3bd439f64bb78
Parent
ecb705359a58ac3…
1 file changed
+6
-7
+6
-7
| --- src/manifest.c | ||
| +++ src/manifest.c | ||
| @@ -2458,26 +2458,25 @@ | ||
| 2458 | 2458 | ); |
| 2459 | 2459 | } |
| 2460 | 2460 | if( p->type==CFTYPE_EVENT ){ |
| 2461 | 2461 | char *zTag = mprintf("event-%s", p->zEventId); |
| 2462 | 2462 | int tagid = tag_findid(zTag, 1); |
| 2463 | - int prior, subsequent; | |
| 2463 | + int prior = 0, subsequent; | |
| 2464 | 2464 | int nWiki; |
| 2465 | 2465 | char zLength[40]; |
| 2466 | 2466 | Stmt qatt; |
| 2467 | 2467 | while( fossil_isspace(p->zWiki[0]) ) p->zWiki++; |
| 2468 | 2468 | nWiki = strlen(p->zWiki); |
| 2469 | 2469 | sqlite3_snprintf(sizeof(zLength), zLength, "%d", nWiki); |
| 2470 | 2470 | tag_insert(zTag, 1, zLength, rid, p->rDate, rid); |
| 2471 | 2471 | fossil_free(zTag); |
| 2472 | - prior = db_int(0, | |
| 2473 | - "SELECT rid FROM tagxref" | |
| 2474 | - " WHERE tagid=%d AND mtime<%.17g AND rid!=%d" | |
| 2475 | - " ORDER BY mtime DESC", | |
| 2476 | - tagid, p->rDate, rid | |
| 2477 | - ); | |
| 2472 | + if(p->nParent){ | |
| 2473 | + prior = fast_uuid_to_rid(p->azParent[0]); | |
| 2474 | + } | |
| 2478 | 2475 | subsequent = db_int(0, |
| 2476 | + /* BUG: this check is only correct if subsequent | |
| 2477 | + version has already been crosslinked. */ | |
| 2479 | 2478 | "SELECT rid FROM tagxref" |
| 2480 | 2479 | " WHERE tagid=%d AND mtime>=%.17g AND rid!=%d" |
| 2481 | 2480 | " ORDER BY mtime", |
| 2482 | 2481 | tagid, p->rDate, rid |
| 2483 | 2482 | ); |
| 2484 | 2483 |
| --- src/manifest.c | |
| +++ src/manifest.c | |
| @@ -2458,26 +2458,25 @@ | |
| 2458 | ); |
| 2459 | } |
| 2460 | if( p->type==CFTYPE_EVENT ){ |
| 2461 | char *zTag = mprintf("event-%s", p->zEventId); |
| 2462 | int tagid = tag_findid(zTag, 1); |
| 2463 | int prior, subsequent; |
| 2464 | int nWiki; |
| 2465 | char zLength[40]; |
| 2466 | Stmt qatt; |
| 2467 | while( fossil_isspace(p->zWiki[0]) ) p->zWiki++; |
| 2468 | nWiki = strlen(p->zWiki); |
| 2469 | sqlite3_snprintf(sizeof(zLength), zLength, "%d", nWiki); |
| 2470 | tag_insert(zTag, 1, zLength, rid, p->rDate, rid); |
| 2471 | fossil_free(zTag); |
| 2472 | prior = db_int(0, |
| 2473 | "SELECT rid FROM tagxref" |
| 2474 | " WHERE tagid=%d AND mtime<%.17g AND rid!=%d" |
| 2475 | " ORDER BY mtime DESC", |
| 2476 | tagid, p->rDate, rid |
| 2477 | ); |
| 2478 | subsequent = db_int(0, |
| 2479 | "SELECT rid FROM tagxref" |
| 2480 | " WHERE tagid=%d AND mtime>=%.17g AND rid!=%d" |
| 2481 | " ORDER BY mtime", |
| 2482 | tagid, p->rDate, rid |
| 2483 | ); |
| 2484 |
| --- src/manifest.c | |
| +++ src/manifest.c | |
| @@ -2458,26 +2458,25 @@ | |
| 2458 | ); |
| 2459 | } |
| 2460 | if( p->type==CFTYPE_EVENT ){ |
| 2461 | char *zTag = mprintf("event-%s", p->zEventId); |
| 2462 | int tagid = tag_findid(zTag, 1); |
| 2463 | int prior = 0, subsequent; |
| 2464 | int nWiki; |
| 2465 | char zLength[40]; |
| 2466 | Stmt qatt; |
| 2467 | while( fossil_isspace(p->zWiki[0]) ) p->zWiki++; |
| 2468 | nWiki = strlen(p->zWiki); |
| 2469 | sqlite3_snprintf(sizeof(zLength), zLength, "%d", nWiki); |
| 2470 | tag_insert(zTag, 1, zLength, rid, p->rDate, rid); |
| 2471 | fossil_free(zTag); |
| 2472 | if(p->nParent){ |
| 2473 | prior = fast_uuid_to_rid(p->azParent[0]); |
| 2474 | } |
| 2475 | subsequent = db_int(0, |
| 2476 | /* BUG: this check is only correct if subsequent |
| 2477 | version has already been crosslinked. */ |
| 2478 | "SELECT rid FROM tagxref" |
| 2479 | " WHERE tagid=%d AND mtime>=%.17g AND rid!=%d" |
| 2480 | " ORDER BY mtime", |
| 2481 | tagid, p->rDate, rid |
| 2482 | ); |
| 2483 |