The expression list on the RHS of an IN operator can no longer be empty
because an empty expression list is now optimized out by changes in check-in [c288ac644d0bf]. Therefore add ALWAYS() macros around tests for the expression list being non-empty. FossilOrigin-Name: fd130ae56c0e23f2d5b4a82f1a09e89ed7ae1e85
This commit is contained in:
parent
ef5d9ec166
commit
a7d2db175b
20
manifest
20
manifest
@ -1,8 +1,8 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA1
|
||||
|
||||
C Additional\stest\scases\sand\sevidence\smarks\sfor\sthe\sempty\sRHS\sbug\son\sthe\sIN\noperator\s-\sticket\s[80e031a00f45dca877]
|
||||
D 2010-07-14T19:31:08
|
||||
C The\sexpression\slist\son\sthe\sRHS\sof\san\sIN\soperator\scan\sno\slonger\sbe\sempty\nbecause\san\sempty\sexpression\slist\sis\snow\soptimized\sout\sby\schanges\sin\ncheck-in\s[c288ac644d0bf].\s\sTherefore\sadd\sALWAYS()\smacros\saround\stests\nfor\sthe\sexpression\slist\sbeing\snon-empty.
|
||||
D 2010-07-14T20:23:52
|
||||
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
|
||||
F Makefile.in ec08dc838fd8110fe24c92e5130bcd91cbb1ff2e
|
||||
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
|
||||
@ -125,7 +125,7 @@ F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac
|
||||
F src/ctime.c 4f3aadad62c6c9f0d4e5a96718516ac4e3c598df
|
||||
F src/date.c 5dd8448a0bfea8d31fb14cff487d0c06ff8c8b20
|
||||
F src/delete.c 41cb4f78557810eecc167b7e2317de7e12d20929
|
||||
F src/expr.c 92ff9389ab774922e988c1488087f84a9f2dc09d
|
||||
F src/expr.c b2b053429575bf964c64bdf5459c5cbbe5bf93b8
|
||||
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
|
||||
F src/fkey.c e2116672a6bd610dc888e27df292ebc7999c9bb0
|
||||
F src/func.c 0c28599430856631216b6c0131c51c89bf516026
|
||||
@ -233,7 +233,7 @@ F src/vtab.c a0f8a40274e4261696ef57aa806de2776ab72cda
|
||||
F src/wal.c 656d50bb0b64f79353110a0b50790edfc0da08e9
|
||||
F src/wal.h 906c85760598b18584921fe08008435aa4eeeeb2
|
||||
F src/walker.c 3112bb3afe1d85dc52317cb1d752055e9a781f8f
|
||||
F src/where.c 926c83c6394e132a1c62b6b12ceeba7d55a34c19
|
||||
F src/where.c 903a7828a0a7de03b5d0f1b5eff222d8d5b138f1
|
||||
F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
|
||||
F test/alias.test 4529fbc152f190268a15f9384a5651bbbabc9d87
|
||||
F test/all.test 6745008c144bd2956d58864d21f7b304689c1cce
|
||||
@ -838,14 +838,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
|
||||
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
|
||||
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
|
||||
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
||||
P c288ac644d0bfda2b9bc204dc86df8e74d4f6843
|
||||
R 246cf40fb78a0338ef63702fffd8c58e
|
||||
P 6851c517ac7f80538aa5f3a1994fa1921c0ec3f4
|
||||
R eb80ad6bc168af8850aa72f4b25fe674
|
||||
U drh
|
||||
Z 51a384c4e53cd04b3d869080ee1702db
|
||||
Z aa17e908564fca2c36d1e57fa4d41f03
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1.4.6 (GNU/Linux)
|
||||
|
||||
iD8DBQFMPhB/oxKgR168RlERAtNLAJwLm5FOsQcYhJ1tRbE7d8y+YL/I2ACfZMY5
|
||||
C5vZM2MptiZQyr+vM+YLgwE=
|
||||
=RSAs
|
||||
iD8DBQFMPhzboxKgR168RlERAmQ7AJ9+2dhU717+AUWkF0vzL6qDVstVOwCfSTZZ
|
||||
2jqc+a7lH2MMOe7TbKwwRQk=
|
||||
=yFsM
|
||||
-----END PGP SIGNATURE-----
|
||||
|
@ -1 +1 @@
|
||||
6851c517ac7f80538aa5f3a1994fa1921c0ec3f4
|
||||
fd130ae56c0e23f2d5b4a82f1a09e89ed7ae1e85
|
@ -1635,7 +1635,7 @@ int sqlite3CodeSubselect(
|
||||
keyInfo.aColl[0] = sqlite3BinaryCompareCollSeq(pParse, pExpr->pLeft,
|
||||
pEList->a[0].pExpr);
|
||||
}
|
||||
}else if( pExpr->x.pList!=0 ){
|
||||
}else if( ALWAYS(pExpr->x.pList!=0) ){
|
||||
/* Case 2: expr IN (exprlist)
|
||||
**
|
||||
** For each expression, build an index key from the evaluation and
|
||||
|
@ -2622,7 +2622,7 @@ static void bestBtreeIndex(
|
||||
if( ExprHasProperty(pExpr, EP_xIsSelect) ){
|
||||
nInMul *= 25;
|
||||
bInEst = 1;
|
||||
}else if( pExpr->x.pList ){
|
||||
}else if( ALWAYS(pExpr->x.pList) ){
|
||||
nInMul *= pExpr->x.pList->nExpr + 1;
|
||||
}
|
||||
}else if( pTerm->eOperator & WO_ISNULL ){
|
||||
|
Loading…
x
Reference in New Issue
Block a user