]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge the fts4-content branch with the trunk.
authordan <dan@noemail.net>
Wed, 19 Oct 2011 16:20:40 +0000 (16:20 +0000)
committerdan <dan@noemail.net>
Wed, 19 Oct 2011 16:20:40 +0000 (16:20 +0000)
FossilOrigin-Name: 8a4077057ddeb08e8edc5f20a75abaaba7a278ba

1  2 
ext/fts3/fts3.c
ext/fts3/fts3Int.h
ext/fts3/fts3_expr.c
ext/fts3/fts3_snippet.c
ext/fts3/fts3_write.c
manifest
manifest.uuid

diff --cc ext/fts3/fts3.c
index 754f3b5cb76e6ee6f6b649106cd35bc02df13838,c5f51a4ccfbc952d14d8794f09ee02cf9327ed46..41791cb3cb13baad61e8feabd833b4700a25e33b
@@@ -1326,29 -1487,33 +1487,33 @@@ static int fts3CursorSeekStmt(Fts3Curso
  ** SQLITE_OK on success.  
  */
  static int fts3CursorSeek(sqlite3_context *pContext, Fts3Cursor *pCsr){
+   int rc = SQLITE_OK;
    if( pCsr->isRequireSeek ){
-     sqlite3_bind_int64(pCsr->pStmt, 1, pCsr->iPrevId);
-     pCsr->isRequireSeek = 0;
-     if( SQLITE_ROW==sqlite3_step(pCsr->pStmt) ){
-       return SQLITE_OK;
-     }else{
-       int rc = sqlite3_reset(pCsr->pStmt);
-       if( rc==SQLITE_OK ){
-         /* If no row was found and no error has occured, then the %_content
-         ** table is missing a row that is present in the full-text index.
-         ** The data structures are corrupt.
-         */
-         rc = FTS_CORRUPT_VTAB;
-       }
-       pCsr->isEof = 1;
-       if( pContext ){
-         sqlite3_result_error_code(pContext, rc);
+     sqlite3_stmt *pStmt = 0;
+     rc = fts3CursorSeekStmt(pCsr, &pStmt);
+     if( rc==SQLITE_OK ){
+       sqlite3_bind_int64(pCsr->pStmt, 1, pCsr->iPrevId);
+       pCsr->isRequireSeek = 0;
+       if( SQLITE_ROW==sqlite3_step(pCsr->pStmt) ){
+         return SQLITE_OK;
+       }else{
+         rc = sqlite3_reset(pCsr->pStmt);
+         if( rc==SQLITE_OK && ((Fts3Table *)pCsr->base.pVtab)->zContentTbl==0 ){
+           /* If no row was found and no error has occured, then the %_content
+           ** table is missing a row that is present in the full-text index.
+           ** The data structures are corrupt.  */
 -          rc = SQLITE_CORRUPT_VTAB;
++          rc = FTS_CORRUPT_VTAB;
+           pCsr->isEof = 1;
+         }
        }
-       return rc;
      }
-   }else{
-     return SQLITE_OK;
    }
+   if( rc!=SQLITE_OK && pContext ){
+     sqlite3_result_error_code(pContext, rc);
+   }
+   return rc;
  }
  
  /*
Simple merge
Simple merge
index 3bb47a04add005bc60f6dd6f69f9d31e9dabeb9f,6a3d1ec89372d3466cce918fa3d036ef182d3bbf..23ef25c5d42ebdcc135564ab2efd1153afca3123
@@@ -1426,8 -1427,8 +1427,8 @@@ void sqlite3Fts3Offsets
                "%d %d %d %d ", iCol, pTerm-sCtx.aTerm, iStart, iEnd-iStart
            );
            rc = fts3StringAppend(&res, aBuffer, -1);
-         }else if( rc==SQLITE_DONE ){
+         }else if( rc==SQLITE_DONE && pTab->zContentTbl==0 ){
 -          rc = SQLITE_CORRUPT_VTAB;
 +          rc = FTS_CORRUPT_VTAB;
          }
        }
      }
index 471feeec9f39925f2b3f0f0e140695a41d5f2058,855e97764e3dd1e1d32b8d1e06be036f0ba697ac..d3a88cbe6168d8adc0902e2d024631645a913a1e
@@@ -3217,9 -3347,11 +3345,11 @@@ int sqlite3Fts3UpdateMethod
    if( nArg>1 && rc==SQLITE_OK ){
      if( bInsertDone==0 ){
        rc = fts3InsertData(p, apVal, pRowid);
-       if( rc==SQLITE_CONSTRAINT ) rc = FTS_CORRUPT_VTAB;
+       if( rc==SQLITE_CONSTRAINT && p->zContentTbl==0 ){
 -        rc = SQLITE_CORRUPT_VTAB;
++        rc = FTS_CORRUPT_VTAB;
+       }
      }
 -    if( rc==SQLITE_OK && (!isRemove || *pRowid!=iRemove) ){
 +    if( rc==SQLITE_OK && (!isRemove || *pRowid!=p->iPrevDocid ) ){
        rc = fts3PendingTermsDocid(p, *pRowid);
      }
      if( rc==SQLITE_OK ){
diff --cc manifest
index a2eeca7d583a8b6a491566374110822b41786b74,50449c9718c53a17d5c6e4a04f9e7a3b10ae8b8e..528e4691d0b7e8debda7ed30994e44f5b083264b
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Fix\sthe\svirtual\stable\srename\slogic\sso\sthat\sit\sworks\seven\sif\sthe\sdatabase\nencoding\sis\ssomething\sother\sthan\sUTF8.\nTicket\s[8290242b2a9a81683]
- D 2011-10-18T22:07:47.722
 -C Have\sFTS3\signore\s^\sprefixes.\sThe\s^\ssyntax\sis\sonly\ssupported\son\sFTS4\stables.
 -D 2011-10-19T15:52:48.921
++C Merge\sthe\sfts4-content\sbranch\swith\sthe\strunk.
++D 2011-10-19T16:20:40.613
  F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
  F Makefile.in a162fe39e249b8ed4a65ee947c30152786cfe897
  F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@@ -62,22 -62,22 +62,22 @@@ F ext/fts2/mkfts2amal.tcl 974d5d438cb3f
  F ext/fts3/README.syntax a19711dc5458c20734b8e485e75fb1981ec2427a
  F ext/fts3/README.tokenizers 998756696647400de63d5ba60e9655036cb966e9
  F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d
- F ext/fts3/fts3.c 19f36945148cfd4ee3655b5fac0879ba4e0f3117
 -F ext/fts3/fts3.c e8ee5c78a3c7715b597db4e5c890ec658ee0401a
++F ext/fts3/fts3.c 9c125699baf1c03a3d8d53fb7d8d27ab4ad7d6eb
  F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe
- F ext/fts3/fts3Int.h 59c5a9475fed5d76c70a4763103b3c8e60424a68
 -F ext/fts3/fts3Int.h 74afec80054924976b2d3a21eda17e33c6ff6b84
++F ext/fts3/fts3Int.h def7a900f98c5ab5fa4772e922bfa219d5097f05
  F ext/fts3/fts3_aux.c 0ebfa7b86cf8ff6a0861605fcc63b83ec1b70691
- F ext/fts3/fts3_expr.c 61ceee7c9698c7ae1ba55ab6ff7961456a8b465a
 -F ext/fts3/fts3_expr.c 34dd0edf1e2723ce22d88039dc1ad687a95fb1bb
++F ext/fts3/fts3_expr.c f5df26bddf46a5916b2a5f80c4027996e92b7b15
  F ext/fts3/fts3_hash.c 8dd2d06b66c72c628c2732555a32bc0943114914
  F ext/fts3/fts3_hash.h 8331fb2206c609f9fc4c4735b9ab5ad6137c88ec
  F ext/fts3/fts3_icu.c 6c8f395cdf9e1e3afa7fadb7e523dbbf381c6dfa
  F ext/fts3/fts3_porter.c 8d946908f4812c005d3d33fcbe78418b1f4eb70c
- F ext/fts3/fts3_snippet.c 19a906f8ed73ad8b670dfc271ceae7b3338c157e
 -F ext/fts3/fts3_snippet.c e1f3ed049efa35337d393a0ae971b32c28f4c88d
++F ext/fts3/fts3_snippet.c 1f9ee6a8e0e242649645968dcec4deb253d86c2a
  F ext/fts3/fts3_term.c a5457992723455a58804cb75c8cbd8978db5c2ef
  F ext/fts3/fts3_test.c 24fa13f330db011500acb95590da9eee24951894
  F ext/fts3/fts3_tokenizer.c 9ff7ec66ae3c5c0340fa081958e64f395c71a106
  F ext/fts3/fts3_tokenizer.h 13ffd9fcb397fec32a05ef5cd9e0fa659bf3dbd3
  F ext/fts3/fts3_tokenizer1.c 0dde8f307b8045565cf63797ba9acfaff1c50c68
- F ext/fts3/fts3_write.c ffe13acc3867ea6b0fc8b9cfbf904bfae64eac84
 -F ext/fts3/fts3_write.c aaf0885fd5d37c6869071ee58b5aa3ba07cc0d87
++F ext/fts3/fts3_write.c f2545f59a4cc2eb6739acb3d026b8a91a1f3d429
  F ext/fts3/fts3speed.tcl b54caf6a18d38174f1a6e84219950d85e98bb1e9
  F ext/fts3/mkfts3amal.tcl 252ecb7fe6467854f2aa237bf2c390b74e71f100
  F ext/icu/README.txt bf8461d8cdc6b8f514c080e4e10dc3b2bbdfefa9
@@@ -470,8 -468,8 +470,8 @@@ F test/fts3conf.test 8e65ea56f88ced6cdd
  F test/fts3corrupt.test 7b0f91780ca36118d73324ec803187208ad33b32
  F test/fts3corrupt2.test 6d96efae2f8a6af3eeaf283aba437e6d0e5447ba
  F test/fts3cov.test e0fb00d8b715ddae4a94c305992dfc3ef70353d7
 -F test/fts3d.test 95fb3c862cbc4297c93fceb9a635543744e9ef52
 +F test/fts3d.test bf640d79722b720fa1c81834c48cdaa45d531b1a
- F test/fts3defer.test ffd4e07f79a09660d4b3e2613b041ab9b6100d91
+ F test/fts3defer.test 2ea3fa028f8d9523f9c33dd8acc4555d567ea4ac
  F test/fts3defer2.test 35867d33ba6db03f6c73bd6f5fc333ae14f68c81
  F test/fts3e.test 1f6c6ac9cc8b772ca256e6b22aaeed50c9350851
  F test/fts3expr.test 5e745b2b6348499d9ef8d59015de3182072c564c
@@@ -622,10 -622,10 +624,10 @@@ F test/pageropt.test 9191867ed19a2b3db6
  F test/pagesize.test 1dd51367e752e742f58e861e65ed7390603827a0
  F test/pcache.test 065aa286e722ab24f2e51792c1f093bf60656b16
  F test/pcache2.test a83efe2dec0d392f814bfc998def1d1833942025
- F test/permutations.test ad17319066a90e2db71823c3ff104795ffc71b31
+ F test/permutations.test 522823b47238cb1754198f80817fe9f9158ede55
 -F test/pragma.test c8108e01da04f16e67e5754e610bc62c1b993f6c
 +F test/pragma.test 1ea0c85be853135bb7468e6eed48ee12b04794d4
  F test/pragma2.test 3a55f82b954242c642f8342b17dffc8b47472947
 -F test/printf.test 05970cde31b1a9f54bd75af60597be75a5c54fea
 +F test/printf.test ec9870c4dce8686a37818e0bf1aba6e6a1863552
  F test/progress.test 5b075c3c790c7b2a61419bc199db87aaf48b8301
  F test/ptrchng.test ef1aa72d6cf35a2bbd0869a649b744e9d84977fc
  F test/quick.test 1681febc928d686362d50057c642f77a02c62e57
@@@ -964,13 -963,11 +966,13 @@@ F tool/speedtest2.tcl ee2149167303ba8e9
  F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
  F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
  F tool/split-sqlite3c.tcl d9be87f1c340285a3e081eb19b4a247981ed290c
 -F tool/symbols.sh caaf6ccc7300fd43353318b44524853e222557d5
 +F tool/symbols-mingw.sh 4dbcea7e74768305384c9fd2ed2b41bbf9f0414d
 +F tool/symbols.sh fec58532668296d7c7dc48be9c87f75ccdb5814f
  F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06
  F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
 -F tool/warnings.sh b7fdb2cc525f5ef4fa43c80e771636dd3690f9d2
 -P 9b58c59eb4efaa38ce50a3ce1b52f9ba578c71d6
 -R b05473465da4d8af6fcb4e85b9ce8174
 +F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a
 +F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
- P 54aecd929867606d14a062b501abbfb6f5f05e37
- R dccf2fe03db8f585fac4df0bc3670756
- U drh
- Z aaf98f5abdd914fb531f49ab6760c2d4
++P d65f63531c3f8e3e55e656f049240714a3d7433f df36ac948179f37b432a88701b6c79299e073ce8
++R 3877ede50d6923a62a70ae0714da94fb
+ U dan
 -Z 1ed48059f0e9f692b253c99c9d63572e
++Z e6c406cc06dcce98e86f6b11f422dc50
diff --cc manifest.uuid
index 10b56c675386c6b9b0331d2e776d3f6a6a77f901,0f7fa81637b7f1024ecb7b2dae1ea68e5bbe7be8..eef6d62dc612b3c530c3eaf829376e882e6d5cf8
@@@ -1,1 -1,1 +1,1 @@@
- d65f63531c3f8e3e55e656f049240714a3d7433f
 -df36ac948179f37b432a88701b6c79299e073ce8
++8a4077057ddeb08e8edc5f20a75abaaba7a278ba