]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
More test cases. Remove some invalid testcase() macros. Rearrange some code
authordrh <drh@noemail.net>
Thu, 14 May 2015 13:41:22 +0000 (13:41 +0000)
committerdrh <drh@noemail.net>
Thu, 14 May 2015 13:41:22 +0000 (13:41 +0000)
for improved testability.

FossilOrigin-Name: b3676377b257bd8bb7fefe9c365d76cdc9e44856

manifest
manifest.uuid
src/where.c
test/vtab1.test

index 6fdcf36695de73bf866e8bf87250a8c0c3f4d435..40483626d772e6387309fc11f1923a313aa6aeaa 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\stestcase()\smacros.\s\sGet\stransitive\sWHERE\sclause\sconstraints\son\sIS\soperators\nworking\sagain.
-D 2015-05-14T13:18:47.128
+C More\stest\scases.\s\sRemove\ssome\sinvalid\stestcase()\smacros.\s\sRearrange\ssome\scode\nfor\simproved\stestability.
+D 2015-05-14T13:41:22.643
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in edfc69769e613a6359c42c06ea1d42c3bece1736
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -307,7 +307,7 @@ F src/vxworks.h c18586c8edc1bddbc15c004fa16aeb1e1342b4fb
 F src/wal.c ce2cb2d06faab54d1bce3e739bec79e063dd9113
 F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4
 F src/walker.c c253b95b4ee44b21c406e2a1052636c31ea27804
-F src/where.c cabecc4a0f647f552b7467a86ff3c2e48487399d
+F src/where.c 08fadd0d211699348349be5449f3a1e391adf20e
 F src/whereInt.h a6f5a762bc1b4b1c76e1cea79976b437ac35a435
 F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
@@ -1120,7 +1120,7 @@ F test/vacuum4.test d3f8ecff345f166911568f397d2432c16d2867d9
 F test/varint.test ab7b110089a08b9926ed7390e7e97bdefeb74102
 F test/veryquick.test 57ab846bacf7b90cf4e9a672721ea5c5b669b661
 F test/view.test f311691d696a5cc27e3c1b875cec1b0866b4ccd9
-F test/vtab1.test d1e5ec7a818f1d3f0402382b6a1d0c06071b770f
+F test/vtab1.test dbe0e9e121102d0ba365f20d126a72676aa2343f
 F test/vtab2.test 3644649aa8d1daac57fd541f6a5f914cac59203e
 F test/vtab3.test b45f47d20f225ccc9c28dc915d92740c2dee311e
 F test/vtab4.test 942f8b8280b3ea8a41dae20e7822d065ca1cb275
@@ -1258,7 +1258,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 4541688b3f56f5cd3d5b299594b58c577ad633bb
-R 201c526060c4a057a45ebf1fee55c845
+P d195d4a65d7184e34a2a08c3ac3db7f6c8c1c21c
+R f1988e6e31a1e471b8c207ba95b50e6f
 U drh
-Z 9f199a1ff5417af5f644d4d006d00b95
+Z 903b5f8a9a56d496508b20810e19ed0d
index ccbe8e23d7a218ca9377fbbdc05e81b27872f991..0a0e87ef8ad54e2206d1cc45276c311273dd58d4 100644 (file)
@@ -1 +1 @@
-d195d4a65d7184e34a2a08c3ac3db7f6c8c1c21c
\ No newline at end of file
+b3676377b257bd8bb7fefe9c365d76cdc9e44856
\ No newline at end of file
index 4792b13e60aea1c9cf0e6f40fe629c6cd64e39a6..e6023dd03501b39967eac1e6e00572b3aa2368ea 100644 (file)
@@ -1120,7 +1120,6 @@ static void exprAnalyzeOrTerm(
       okToChngToIN = 1;
       for(; i>=0 && okToChngToIN; i--, pOrTerm++){
         assert( pOrTerm->eOperator & WO_EQ );
-        testcase( pOrTerm->pExpr->op==TK_IS );
         if( pOrTerm->leftCursor!=iCursor ){
           pOrTerm->wtFlags &= ~TERM_OR_OK;
         }else if( pOrTerm->u.leftColumn!=iColumn ){
@@ -1157,7 +1156,6 @@ static void exprAnalyzeOrTerm(
         assert( pOrTerm->eOperator & WO_EQ );
         assert( pOrTerm->leftCursor==iCursor );
         assert( pOrTerm->u.leftColumn==iColumn );
-        testcase( pOrTerm->pExpr->op==TK_IS );
         pDup = sqlite3ExprDup(db, pOrTerm->pExpr->pRight, 0);
         pList = sqlite3ExprListAppend(pWInfo->pParse, pList, pDup);
         pLeft = pOrTerm->pExpr->pLeft;
@@ -4109,8 +4107,8 @@ static Bitmask codeOneLoopStart(
     Expr *pE, *pEAlt;
     WhereTerm *pAlt;
     if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue;
-    if( (pTerm->eOperator & WO_EQUIV)==0 ) continue;
     if( (pTerm->eOperator & (WO_EQ|WO_IS))==0 ) continue;
+    if( (pTerm->eOperator & WO_EQUIV)==0 ) continue;
     if( pTerm->leftCursor!=iCur ) continue;
     if( pLevel->iLeftJoin ) continue;
     pE = pTerm->pExpr;
index c0cf3e4e8de13c7e17539f4c2ede5470ccc77b4e..cd21153f0636115d0b636d7c46537096d852ad49 100644 (file)
@@ -1085,11 +1085,22 @@ do_test vtab1.13-3 {
     SELECT * FROM echo_c WHERE b IS NULL 
   }
 } {15 {} 16}
-do_test vtab1.13-3 {
+do_test vtab1.13-4 {
+  unset -nocomplain null
+  execsql { 
+    SELECT * FROM echo_c WHERE b IS $null
+  }
+} {15 {} 16}
+do_test vtab1.13-5 {
   execsql { 
     SELECT * FROM echo_c WHERE b IS NULL AND a = 15;
   }
 } {15 {} 16}
+do_test vtab1.13-6 {
+  execsql { 
+    SELECT * FROM echo_c WHERE NULL IS b AND a IS 15;
+  }
+} {15 {} 16}
 
 
 do_test vtab1-14.001 {