]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a problem in table-valued functions on the RHS of an IN operator that
authordrh <drh@noemail.net>
Sat, 2 Jul 2016 12:33:21 +0000 (12:33 +0000)
committerdrh <drh@noemail.net>
Sat, 2 Jul 2016 12:33:21 +0000 (12:33 +0000)
occurs following an OOM error.

FossilOrigin-Name: bead151e72215e6ca2a90eb049cfca414dccea04

manifest
manifest.uuid
src/parse.y

index 1906e09ab01e4aabc18175dbfe0d063e0e67ee0a..67ebe5290bceab519ac9915402117aecbd699d92 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\ssupport\sfor\stable-valued\sfunctions\son\sthe\sRHS\sof\san\sIN\soperator.
-D 2016-07-02T12:08:14.436
+C Fix\sa\sproblem\sin\stable-valued\sfunctions\son\sthe\sRHS\sof\san\sIN\soperator\sthat\noccurs\sfollowing\san\sOOM\serror.
+D 2016-07-02T12:33:21.171
 F Makefile.in bc2b4864a23a4a21c3e26d7b4350f51bab324d45
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 50149765ef72f4e652b9a0f1f6462c4784bb9423
@@ -371,7 +371,7 @@ F src/os_win.c d4b8faf8896b65818e67070711fdd00d8e620bd6
 F src/os_win.h eb7a47aa17b26b77eb97e4823f20a00b8bda12ca
 F src/pager.c c368634b888b1c8740aea83b36bfd266f2443e60
 F src/pager.h 8ab6b6feeee4bc0439bfde7ee59ba99df98b9bc3
-F src/parse.y 3660ab75e7c9212fbe9ca75264d26e6587cd0ae4
+F src/parse.y f374ab20106362eb3f5c01b3e6a002f0bbead7ff
 F src/pcache.c 5583c8ade4b05075a60ba953ef471d1c1a9c05df
 F src/pcache.h 2cedcd8407eb23017d92790b112186886e179490
 F src/pcache1.c 7f51d2b541aab57596adf62db2c4bb025d34f04d
@@ -1503,7 +1503,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 228a7879870f8689e2f9b74fbef2ff93fab7b3c2
-R 1f493f554aeef5ddfd3c1d7c325d64e1
+P ac6000f050ff4efcf8a87f0825077dbf4144f073
+R 59b18bb8c847f9af40e3580110542be4
 U drh
-Z 647695f7bc7b8a80ecfde87fc6913c51
+Z 7fb23bc853c489879c3871faac168f56
index 7fc1b862dc675eaedd98dad93f72f48a054018bf..b49dcbac4b0771ee5e1156dc9d817827962368df 100644 (file)
@@ -1 +1 @@
-ac6000f050ff4efcf8a87f0825077dbf4144f073
\ No newline at end of file
+bead151e72215e6ca2a90eb049cfca414dccea04
\ No newline at end of file
index 04dc49d6aaa665116df201f343a42654d7c2d9ef..8a65131e285cc009991d4a3c912363882f539abd 100644 (file)
@@ -1137,7 +1137,7 @@ expr(A) ::= expr(A) between_op(N) expr(X) AND expr(Y). [BETWEEN] {
   expr(A) ::= expr(A) in_op(N) nm(Y) dbnm(Z) paren_exprlist(E). [IN] {
     SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&Y,&Z);
     Select *pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0);
-    if( E ) sqlite3SrcListFuncArgs(pParse, pSrc, E);
+    if( E )  sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, E);
     A.pExpr = sqlite3PExpr(pParse, TK_IN, A.pExpr, 0, 0);
     sqlite3PExprAddSelect(pParse, A.pExpr, pSelect);
     exprNot(pParse, N, &A);