Fossil SCM
A better fix for the previous. The existing nIns variable is sufficient; no need to add the new nTerm variable.
Commit
2c61a6c2865ae3d74e2c035b60811472a702110f97e5cb21ec12454c9d570f41
Parent
f2fa98329d31f84…
1 file changed
+1
-5
+1
-5
| --- src/descendants.c | ||
| +++ src/descendants.c | ||
| @@ -679,11 +679,10 @@ | ||
| 679 | 679 | Bag pending; |
| 680 | 680 | Blob ins = BLOB_INITIALIZER; |
| 681 | 681 | int nIns = 0; |
| 682 | 682 | Stmt q; |
| 683 | 683 | int rid; |
| 684 | - int nTerm = 0; | |
| 685 | 684 | |
| 686 | 685 | bag_init(&seen); |
| 687 | 686 | bag_init(&pending); |
| 688 | 687 | blob_append_sql(&ins, "INSERT OR IGNORE INTO \"%w\" VALUES", zTab); |
| 689 | 688 | db_prepare(&q, "SELECT mid FROM mlink WHERE fid=%d", fid); |
| @@ -690,21 +689,19 @@ | ||
| 690 | 689 | while( db_step(&q)==SQLITE_ROW ){ |
| 691 | 690 | int mid = db_column_int(&q, 0); |
| 692 | 691 | bag_insert(&pending, mid); |
| 693 | 692 | bag_insert(&seen, mid); |
| 694 | 693 | uses_file_append_term(&ins, &nIns, mid); |
| 695 | - nTerm++; | |
| 696 | 694 | } |
| 697 | 695 | db_finalize(&q); |
| 698 | 696 | |
| 699 | 697 | db_prepare(&q, "SELECT mid FROM mlink WHERE pid=%d", fid); |
| 700 | 698 | while( db_step(&q)==SQLITE_ROW ){ |
| 701 | 699 | int mid = db_column_int(&q, 0); |
| 702 | 700 | bag_insert(&seen, mid); |
| 703 | 701 | if( usesFlags & USESFILE_DELETE ){ |
| 704 | 702 | uses_file_append_term(&ins, &nIns, mid); |
| 705 | - nTerm++; | |
| 706 | 703 | } |
| 707 | 704 | } |
| 708 | 705 | db_finalize(&q); |
| 709 | 706 | db_prepare(&q, "SELECT cid FROM plink WHERE pid=:rid AND isprim"); |
| 710 | 707 | |
| @@ -715,15 +712,14 @@ | ||
| 715 | 712 | int mid = db_column_int(&q, 0); |
| 716 | 713 | if( bag_find(&seen, mid) ) continue; |
| 717 | 714 | bag_insert(&seen, mid); |
| 718 | 715 | bag_insert(&pending, mid); |
| 719 | 716 | uses_file_append_term(&ins, &nIns, mid); |
| 720 | - nTerm++; | |
| 721 | 717 | } |
| 722 | 718 | db_reset(&q); |
| 723 | 719 | } |
| 724 | 720 | db_finalize(&q); |
| 725 | - if( nTerm>0 ) db_exec_sql(blob_str(&ins)); | |
| 721 | + if( nIns>0 ) db_exec_sql(blob_str(&ins)); | |
| 726 | 722 | blob_reset(&ins); |
| 727 | 723 | bag_clear(&seen); |
| 728 | 724 | bag_clear(&pending); |
| 729 | 725 | } |
| 730 | 726 |
| --- src/descendants.c | |
| +++ src/descendants.c | |
| @@ -679,11 +679,10 @@ | |
| 679 | Bag pending; |
| 680 | Blob ins = BLOB_INITIALIZER; |
| 681 | int nIns = 0; |
| 682 | Stmt q; |
| 683 | int rid; |
| 684 | int nTerm = 0; |
| 685 | |
| 686 | bag_init(&seen); |
| 687 | bag_init(&pending); |
| 688 | blob_append_sql(&ins, "INSERT OR IGNORE INTO \"%w\" VALUES", zTab); |
| 689 | db_prepare(&q, "SELECT mid FROM mlink WHERE fid=%d", fid); |
| @@ -690,21 +689,19 @@ | |
| 690 | while( db_step(&q)==SQLITE_ROW ){ |
| 691 | int mid = db_column_int(&q, 0); |
| 692 | bag_insert(&pending, mid); |
| 693 | bag_insert(&seen, mid); |
| 694 | uses_file_append_term(&ins, &nIns, mid); |
| 695 | nTerm++; |
| 696 | } |
| 697 | db_finalize(&q); |
| 698 | |
| 699 | db_prepare(&q, "SELECT mid FROM mlink WHERE pid=%d", fid); |
| 700 | while( db_step(&q)==SQLITE_ROW ){ |
| 701 | int mid = db_column_int(&q, 0); |
| 702 | bag_insert(&seen, mid); |
| 703 | if( usesFlags & USESFILE_DELETE ){ |
| 704 | uses_file_append_term(&ins, &nIns, mid); |
| 705 | nTerm++; |
| 706 | } |
| 707 | } |
| 708 | db_finalize(&q); |
| 709 | db_prepare(&q, "SELECT cid FROM plink WHERE pid=:rid AND isprim"); |
| 710 | |
| @@ -715,15 +712,14 @@ | |
| 715 | int mid = db_column_int(&q, 0); |
| 716 | if( bag_find(&seen, mid) ) continue; |
| 717 | bag_insert(&seen, mid); |
| 718 | bag_insert(&pending, mid); |
| 719 | uses_file_append_term(&ins, &nIns, mid); |
| 720 | nTerm++; |
| 721 | } |
| 722 | db_reset(&q); |
| 723 | } |
| 724 | db_finalize(&q); |
| 725 | if( nTerm>0 ) db_exec_sql(blob_str(&ins)); |
| 726 | blob_reset(&ins); |
| 727 | bag_clear(&seen); |
| 728 | bag_clear(&pending); |
| 729 | } |
| 730 |
| --- src/descendants.c | |
| +++ src/descendants.c | |
| @@ -679,11 +679,10 @@ | |
| 679 | Bag pending; |
| 680 | Blob ins = BLOB_INITIALIZER; |
| 681 | int nIns = 0; |
| 682 | Stmt q; |
| 683 | int rid; |
| 684 | |
| 685 | bag_init(&seen); |
| 686 | bag_init(&pending); |
| 687 | blob_append_sql(&ins, "INSERT OR IGNORE INTO \"%w\" VALUES", zTab); |
| 688 | db_prepare(&q, "SELECT mid FROM mlink WHERE fid=%d", fid); |
| @@ -690,21 +689,19 @@ | |
| 689 | while( db_step(&q)==SQLITE_ROW ){ |
| 690 | int mid = db_column_int(&q, 0); |
| 691 | bag_insert(&pending, mid); |
| 692 | bag_insert(&seen, mid); |
| 693 | uses_file_append_term(&ins, &nIns, mid); |
| 694 | } |
| 695 | db_finalize(&q); |
| 696 | |
| 697 | db_prepare(&q, "SELECT mid FROM mlink WHERE pid=%d", fid); |
| 698 | while( db_step(&q)==SQLITE_ROW ){ |
| 699 | int mid = db_column_int(&q, 0); |
| 700 | bag_insert(&seen, mid); |
| 701 | if( usesFlags & USESFILE_DELETE ){ |
| 702 | uses_file_append_term(&ins, &nIns, mid); |
| 703 | } |
| 704 | } |
| 705 | db_finalize(&q); |
| 706 | db_prepare(&q, "SELECT cid FROM plink WHERE pid=:rid AND isprim"); |
| 707 | |
| @@ -715,15 +712,14 @@ | |
| 712 | int mid = db_column_int(&q, 0); |
| 713 | if( bag_find(&seen, mid) ) continue; |
| 714 | bag_insert(&seen, mid); |
| 715 | bag_insert(&pending, mid); |
| 716 | uses_file_append_term(&ins, &nIns, mid); |
| 717 | } |
| 718 | db_reset(&q); |
| 719 | } |
| 720 | db_finalize(&q); |
| 721 | if( nIns>0 ) db_exec_sql(blob_str(&ins)); |
| 722 | blob_reset(&ins); |
| 723 | bag_clear(&seen); |
| 724 | bag_clear(&pending); |
| 725 | } |
| 726 |