mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-14 00:22:38 +03:00
Merge the LEFT JOIN query flattener fixes from 3.19.2.
FossilOrigin-Name: 6513e4a121e32df7e5cd95f47cdf8049b85bdbcb378cf23db29838fb1143d3ce
This commit is contained in:
14
manifest
14
manifest
@@ -1,5 +1,5 @@
|
|||||||
C The\sTK_IF_NULL_ROW\sexpression\snode\smust\sbe\streated\sas\sa\svariable\sthat\nreferences\sthe\stable\sExpr.iTable.\nProposed\sfix\sfor\sticket\s[7fde638e94287d2c].
|
C Merge\sthe\sLEFT\sJOIN\squery\sflattener\sfixes\sfrom\s3.19.2.
|
||||||
D 2017-05-25T00:08:48.296
|
D 2017-05-25T17:27:52.435
|
||||||
F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
|
F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
|
||||||
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
||||||
F Makefile.msc 8eeb80162074004e906b53d7340a12a14c471a83743aab975947e95ce061efcc
|
F Makefile.msc 8eeb80162074004e906b53d7340a12a14c471a83743aab975947e95ce061efcc
|
||||||
@@ -404,7 +404,7 @@ F src/printf.c 8757834f1b54dae512fb25eb1acc8e94a0d15dd2290b58f2563f65973265adb2
|
|||||||
F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
|
F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
|
||||||
F src/resolve.c 3e518b962d932a997fae373366880fc028c75706
|
F src/resolve.c 3e518b962d932a997fae373366880fc028c75706
|
||||||
F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac
|
F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac
|
||||||
F src/select.c 9db6887514a663ef4eb117f12cbae613bece9267f180d0fcdfa49402b013483e
|
F src/select.c c444ca057d48cf1a4eb8f6a58fbc13418a7f83ae94a6bd6f29f7ad6c704a9e4c
|
||||||
F src/shell.c 615fb4e2069e99549b0ea0983e9c877c459363fc76a4bdf052c652919312216a
|
F src/shell.c 615fb4e2069e99549b0ea0983e9c877c459363fc76a4bdf052c652919312216a
|
||||||
F src/sqlite.h.in 8dd468837a4f6d76713e3a4cc65bea48095009038593d41040ab46c1b351197f
|
F src/sqlite.h.in 8dd468837a4f6d76713e3a4cc65bea48095009038593d41040ab46c1b351197f
|
||||||
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
|
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
|
||||||
@@ -1060,7 +1060,7 @@ F test/rdonly.test 64e2696c322e3538df0b1ed624e21f9a23ed9ff8
|
|||||||
F test/regexp1.test 497ea812f264d12b6198d6e50a76be4a1973a9d8
|
F test/regexp1.test 497ea812f264d12b6198d6e50a76be4a1973a9d8
|
||||||
F test/regexp2.test 40e894223b3d6672655481493f1be12012f2b33c
|
F test/regexp2.test 40e894223b3d6672655481493f1be12012f2b33c
|
||||||
F test/reindex.test 44edd3966b474468b823d481eafef0c305022254
|
F test/reindex.test 44edd3966b474468b823d481eafef0c305022254
|
||||||
F test/releasetest.tcl 89ab58d256371a652d1af11d3bf40a8b715b2d44aa0872c972efc60a70e43cf6 x
|
F test/releasetest.tcl 7bb585433ce7fb2a2c255ae4b5e24f1bc27fe177ec1120f886cc4852f48f5ee9 x
|
||||||
F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb
|
F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb
|
||||||
F test/rollback.test 458fe73eb3ffdfdf9f6ba3e9b7350a6220414dea
|
F test/rollback.test 458fe73eb3ffdfdf9f6ba3e9b7350a6220414dea
|
||||||
F test/rollback2.test 8435d6ff0f13f51d2a4181c232e706005fa90fc5
|
F test/rollback2.test 8435d6ff0f13f51d2a4181c232e706005fa90fc5
|
||||||
@@ -1581,7 +1581,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 57a60e959c198b87ed29fab14356f89e0ea7cdb1dd99adbea45b40e8d0cb310a
|
P 77fc23013cebc7797985864b91d78db5d0e2469511732044ebfaf02b891c979a edb4e819b0c058c7d74d27ebd14cc5ceb2bad6a6144a486a970182b7afe3f8b9
|
||||||
R 2019949ca76bb834bedafaf9dad04b39
|
R 48e976f275e28e838432234ac55ec7a3
|
||||||
U drh
|
U drh
|
||||||
Z af095858f607efa9e1ee1fae3491ba27
|
Z 8a4512e2e2f5f71bea9b11746a7f953a
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
77fc23013cebc7797985864b91d78db5d0e2469511732044ebfaf02b891c979a
|
6513e4a121e32df7e5cd95f47cdf8049b85bdbcb378cf23db29838fb1143d3ce
|
||||||
10
src/select.c
10
src/select.c
@@ -3511,6 +3511,14 @@ static int flattenSubquery(
|
|||||||
return 0; /* Restriction (3) */
|
return 0; /* Restriction (3) */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#ifdef SQLITE_EXTRA_IFNULLROW
|
||||||
|
else if( iFrom>0 && !isAgg ){
|
||||||
|
/* Setting isLeftJoin to -1 causes OP_IfNullRow opcodes to be generated for
|
||||||
|
** every reference to any result column from subquery in a join, even though
|
||||||
|
** they are not necessary. This will stress-test the OP_IfNullRow opcode. */
|
||||||
|
isLeftJoin = -1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Restriction 17: If the sub-query is a compound SELECT, then it must
|
/* Restriction 17: If the sub-query is a compound SELECT, then it must
|
||||||
** use only the UNION ALL operator. And none of the simple select queries
|
** use only the UNION ALL operator. And none of the simple select queries
|
||||||
@@ -3764,7 +3772,7 @@ static int flattenSubquery(
|
|||||||
pSub->pOrderBy = 0;
|
pSub->pOrderBy = 0;
|
||||||
}
|
}
|
||||||
pWhere = sqlite3ExprDup(db, pSub->pWhere, 0);
|
pWhere = sqlite3ExprDup(db, pSub->pWhere, 0);
|
||||||
if( isLeftJoin ){
|
if( isLeftJoin>0 ){
|
||||||
setJoinExpr(pWhere, iNewParent);
|
setJoinExpr(pWhere, iNewParent);
|
||||||
}
|
}
|
||||||
if( subqueryIsAgg ){
|
if( subqueryIsAgg ){
|
||||||
|
|||||||
@@ -1036,7 +1036,7 @@ proc main {argv} {
|
|||||||
regsub -all {fuzzoomtest} $xtarget fuzztest xtarget
|
regsub -all {fuzzoomtest} $xtarget fuzztest xtarget
|
||||||
if {$debug_idx < 0} {
|
if {$debug_idx < 0} {
|
||||||
incr NTEST
|
incr NTEST
|
||||||
append config_options " -DSQLITE_DEBUG=1"
|
append config_options " -DSQLITE_DEBUG=1 -DSQLITE_EXTRA_IFNULLROW=1"
|
||||||
add_test_suite all "${zConfig}_debug" $xtarget $config_options
|
add_test_suite all "${zConfig}_debug" $xtarget $config_options
|
||||||
} else {
|
} else {
|
||||||
incr NTEST
|
incr NTEST
|
||||||
|
|||||||
Reference in New Issue
Block a user