More test cases. Remove some invalid testcase() macros. Rearrange some code

for improved testability.

FossilOrigin-Name: b3676377b257bd8bb7fefe9c365d76cdc9e44856
This commit is contained in:
drh 2015-05-14 13:41:22 +00:00
parent ee14587c39
commit 4a00b33c02
4 changed files with 21 additions and 12 deletions

View File

@ -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

View File

@ -1 +1 @@
d195d4a65d7184e34a2a08c3ac3db7f6c8c1c21c
b3676377b257bd8bb7fefe9c365d76cdc9e44856

View 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;

View 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 {