-C Update\sEXPLAIN\soutput\sto\sinclude\sP4_SUBRTNSIG.
-D 2024-07-04T17:49:34.845
+C Disable\sthe\sreuse\sof\sIN-clause\ssubqueries\sif\sthe\ssubquery\sis\san\sexplicit\n"SELECT\sALL".\s\sThe\sALL\skeyword\sis\salmost\snever\sused\sin\sactual\spractice\s(most\ndevelopers\sdon't\seven\sknow\sit\scan\sbe\sused)\sso\sthis\sshould\snot\sinterfere\swith\nthe\soptimization,\sbut\sit\sdoes\sgive\sus\sa\sconvenient\sway\sto\sturn\sit\soff\sfor\ntesting\spurposes.
+D 2024-07-04T18:26:41.697
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
F src/dbpage.c 80e46e1df623ec40486da7a5086cb723b0275a6e2a7b01d9f9b5da0f04ba2782
F src/dbstat.c 3b677254d512fcafd4d0b341bf267b38b235ccfddbef24f9154e19360fa22e43
F src/delete.c cb766727c78e715f9fb7ec8a7d03658ed2a3016343ca687acfcec9083cdca500
-F src/expr.c 06c1d1a0f8b5025f001bc8219ac63fded7c33494a1863afdc78032ed1085ffef
+F src/expr.c dd797fc96a5be012283ea1a42d8444dd97e12300769007c242fb5ed48f90d7e3
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
F src/fkey.c 852f93c0ef995e0c2b8983059a2b97151c194cc8259e21f5bc2b7ac508348c2a
F src/func.c 1f61e32e7a357e615b5d2e774bee563761fce4f2fd97ecb0f72c33e62a2ada5f
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 2accf32b6e45a396503c29eecc14a103bcc7b4c313cde921b26b489704060177
-R cc0b42021fc412ee4ab07a9997d10b3f
-U dan
-Z 6dc43e94d75155dfb066f57a2c862429
+P 61e56923c80d72d6467ec703b4946b251abf591649fa9e8e579667d7cbd25682
+R 038e67018e45d309cbfa350b0e65e1eb
+U drh
+Z 639a0b5da2cedf3c0b33a56e08aa9e79
# Remove this line to create a well-formed Fossil manifest.
assert( pExpr->op==TK_IN );
assert( !ExprUseYSub(pExpr) );
assert( ExprUseXSelect(pExpr) );
+ assert( pExpr->x.pSelect!=0 );
+ assert( (pExpr->x.pSelect->selFlags & SF_All)==0 );
v = pParse->pVdbe;
assert( v!=0 );
pOp = sqlite3VdbeGetOp(v, 1);
** Compute a signature for the RHS of the IN operator to facility
** finding and reusing prior instances of the same IN operator.
*/
- SubrtnSig *pSig;
- if( !ExprUseXSelect(pExpr) ){
- pSig = 0;
- }else{
- assert( pExpr->x.pSelect!=0 );
+ SubrtnSig *pSig = 0;
+ assert( !ExprUseXSelect(pExpr) || pExpr->x.pSelect!=0 );
+ if( ExprUseXSelect(pExpr) && (pExpr->x.pSelect->selFlags & SF_All)==0 ){
pSig = sqlite3DbMallocRawNN(pParse->db, sizeof(pSig[0]));
if( pSig ){
pSig->selId = pExpr->x.pSelect->selId;