Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix another bug in level merging.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 24aea74e9f053d67e4c41c7b57eb7a123620e1eb
User & Date: dan 2014-01-23 18:00:08.599
Context
2014-01-23
19:00
And another bug in merging. check-in: 1b27f1ca1e user: dan tags: trunk
18:00
Fix another bug in level merging. check-in: 24aea74e9f user: dan tags: trunk
2014-01-21
20:40
Fix a problem with BT_SEEK_GE on the merge-tree when it contains partially merged deletes. check-in: 0d9860b35b user: dan tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/bt_main.c.
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
          rc = SQLITE4_OK;
        }
      }
      if( rc==SQLITE4_OK ){
        if( pKey ){
          const void *pData; int nData;
          int res = btKeyCompare(pMKey + 8, nMKey - 8, pKey, nKey);
          if( res>=0 ){
            break;
          }
          btCsrData(&mcsr, 0, 4, &pData, &nData);
          iRoot = btGetU32(pData);
        }
        rc = sqlite4BtDelete(&mcsr.base);
      }







|







3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
          rc = SQLITE4_OK;
        }
      }
      if( rc==SQLITE4_OK ){
        if( pKey ){
          const void *pData; int nData;
          int res = btKeyCompare(pMKey + 8, nMKey - 8, pKey, nKey);
          if( res>0 ){
            break;
          }
          btCsrData(&mcsr, 0, 4, &pData, &nData);
          iRoot = btGetU32(pData);
        }
        rc = sqlite4BtDelete(&mcsr.base);
      }
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
    nKey = pSub->ovfl.nKey;

    if( rc==SQLITE4_OK ){
      int bFastInsertOp = db->bFastInsertOp;
      db->bFastInsertOp = 1;
      rc = sqlite4BtReplace(db, pKey, nKey, 0, -1);
      db->bFastInsertOp = bFastInsertOp;
#if 0
static int iCall = 0;
sqlite4BtDebugTree(db, ++iCall, 513); 
#endif
    }

  }
  return rc;
}

int sqlite4BtSetCookie(bt_db *db, unsigned int iVal){







<
<
<
<







4741
4742
4743
4744
4745
4746
4747




4748
4749
4750
4751
4752
4753
4754
    nKey = pSub->ovfl.nKey;

    if( rc==SQLITE4_OK ){
      int bFastInsertOp = db->bFastInsertOp;
      db->bFastInsertOp = 1;
      rc = sqlite4BtReplace(db, pKey, nKey, 0, -1);
      db->bFastInsertOp = bFastInsertOp;




    }

  }
  return rc;
}

int sqlite4BtSetCookie(bt_db *db, unsigned int iVal){