mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-12 13:01:09 +03:00
Use NOT NULL partial indexes when the query is constrained by a single
LIKE or GLOB. FossilOrigin-Name: 9b3a3b41b59a7ce7d3dd82c7402d6fdc6a5ca43c
This commit is contained in:
15
manifest
15
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Add\sthe\sSQLITE_DBCONFIG_NO_CKPT_ON_CLOSE\ssqlite3_dbconfig()\soption\s-\sfor\ndisabling\sSQLite's\sdefault\scheckpoint-on-close\sbehaviour.
|
C Use\sNOT\sNULL\spartial\sindexes\swhen\sthe\squery\sis\sconstrained\sby\sa\ssingle\nLIKE\sor\sGLOB.
|
||||||
D 2016-10-31T16:49:18.127
|
D 2016-11-02T02:17:52.919
|
||||||
F Makefile.in 6fd48ffcf7c2deea7499062d1f3747f986c19678
|
F Makefile.in 6fd48ffcf7c2deea7499062d1f3747f986c19678
|
||||||
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
||||||
F Makefile.msc 5151cc64c4c05f3455f4f692ad11410a810d937f
|
F Makefile.msc 5151cc64c4c05f3455f4f692ad11410a810d937f
|
||||||
@@ -340,7 +340,7 @@ F src/ctime.c a2a52d6e353f459d8ab0f07321f60fafa47d5421
|
|||||||
F src/date.c 95c9a8d00767e7221a8e9a31f4e913fc8029bf6b
|
F src/date.c 95c9a8d00767e7221a8e9a31f4e913fc8029bf6b
|
||||||
F src/dbstat.c 19ee7a4e89979d4df8e44cfac7a8f905ec89b77d
|
F src/dbstat.c 19ee7a4e89979d4df8e44cfac7a8f905ec89b77d
|
||||||
F src/delete.c cb3f6300df24c26c609778b2731f82644b5532ec
|
F src/delete.c cb3f6300df24c26c609778b2731f82644b5532ec
|
||||||
F src/expr.c aac0b8d39373ce8f1d47829ce12c3d7af90c46a6
|
F src/expr.c ce7110980fac6dfdfbe1e393443bdb79bad29339
|
||||||
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
|
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
|
||||||
F src/fkey.c b9ca262f6ad4d030a3cab737ebf9b0b3c8b4ac80
|
F src/fkey.c b9ca262f6ad4d030a3cab737ebf9b0b3c8b4ac80
|
||||||
F src/func.c 29cc9acb170ec1387b9f63eb52cd85f8de96c771
|
F src/func.c 29cc9acb170ec1387b9f63eb52cd85f8de96c771
|
||||||
@@ -1529,8 +1529,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
|||||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||||
P 6374978e8f1ac091394a9f5a1896be92af658bcd 093d2fc2288b75c15ccf877bfa0e622d3918a562
|
P 6d142025c74f66f2d48155354b556cd5b2682cb2
|
||||||
R f901fbda939dcfa6ff6d756b39418ee6
|
R 6a21c44879153ad3b8a90965de65b693
|
||||||
T +closed 093d2fc2288b75c15ccf877bfa0e622d3918a562
|
U drh
|
||||||
U dan
|
Z 3251c60dbcdf547bbc5e5373f62e3557
|
||||||
Z 5d42ae70ac4da1275b3f1c98c68ab01c
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
6d142025c74f66f2d48155354b556cd5b2682cb2
|
9b3a3b41b59a7ce7d3dd82c7402d6fdc6a5ca43c
|
||||||
@@ -4600,11 +4600,10 @@ int sqlite3ExprImpliesExpr(Expr *pE1, Expr *pE2, int iTab){
|
|||||||
){
|
){
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if( pE2->op==TK_NOTNULL
|
if( pE2->op==TK_NOTNULL && pE1->op!=TK_ISNULL && pE1->op!=TK_IS ){
|
||||||
&& sqlite3ExprCompare(pE1->pLeft, pE2->pLeft, iTab)==0
|
Expr *pX = sqlite3ExprSkipCollate(pE1->pLeft);
|
||||||
&& (pE1->op!=TK_ISNULL && pE1->op!=TK_IS)
|
testcase( pX!=pE1->pLeft );
|
||||||
){
|
if( sqlite3ExprCompare(pX, pE2->pLeft, iTab)==0 ) return 1;
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user