-C If\stclsh\sis\snot\sfound,\sdon't\sdefault\sto\sbuilding\sthe\samalgamation\s(CVS\s4853)
-D 2008-03-11T18:03:31
+C Do\snot\ssegfault\safter\sa\sparse\serror\sin\sa\ssub-select\sin\sa\sstatement\sof\sthe\sform\s"DELETE\sWHERE\s...\sIN(sub-select)".\sTicket\s#2991.\s(CVS\s4854)
+D 2008-03-12T10:39:00
F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7
F Makefile.in 3e2eb2b4a4148aff92bbc6d8496d0696c36bf0b6
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
F src/date.c 187cad26eaaecd7bcdccd49d5a70c5aa3010bc74
F src/delete.c fa13c296262e89c32d28949f15be275e52d7f524
F src/experimental.c 1b2d1a6cd62ecc39610e97670332ca073c50792b
-F src/expr.c 4531fb111f8addb74f785435efa05699d906c269
+F src/expr.c 242f2f57a32f6909270e4a22ce1c810a150f5a17
F src/fault.c 049b88b8ba0a1db3240aeaf9695cd08b9a3ba9e1
F src/func.c a4f06d8a1d7e4c8c8755a59d1310141b7c090bd9
F src/hash.c 53655c312280211444bfe23af6490a460aec2980
F test/icu.test e6bfae7f625c88fd14df6f540fe835bdfc1e4329
F test/in.test 763a29007a4850d611ac4441bfa488fb9969ad30
F test/in2.test b1f447f4f0f67e9f83ff931e7e2e30873f9ea055
-F test/in3.test 2f829007cc8d25d17b859f7fe882ef2bd2e2eb49
+F test/in3.test dc62b080ed79898121c61c91118b4d1e111f1438
F test/incrblob.test 854c23b7ff8dd3822f675936b22c094655b3c739
F test/incrblob_err.test 5273097dc7c97f9b7008423a6ffd5c80d21923cb
F test/incrvacuum.test 1a2b0bddc76629afeb41e3d8ea3e4563982d16b9
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
-P c85e97e4f0f02219b567e1ab2d4602c5680e7331
-R 42b36528a0cb8e883f6272aeb9d7392d
-U mlcreech
-Z 3d1016d08e7c01fa0b2f470b327e4eb8
+P cbc0167556bd0abd16eb24d1c840ecbc530fd854
+R 22c03be44b71ef0fcc59e63ea4db9d89
+U danielk1977
+Z 280e42674eeeed7c685a5a302f638bf0
** This file contains routines used for analyzing expressions and
** for generating VDBE code that evaluates expressions in SQLite.
**
-** $Id: expr.c,v 1.353 2008/03/10 14:12:53 drh Exp $
+** $Id: expr.c,v 1.354 2008/03/12 10:39:00 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
&& (p=pX->pSelect)!=0 && !p->pPrior
&& !p->isDistinct && !p->isAgg && !p->pGroupBy
&& p->pSrc && p->pSrc->nSrc==1 && !p->pSrc->a[0].pSelect
- && !p->pSrc->a[0].pTab->pSelect
+ && p->pSrc->a[0].pTab && !p->pSrc->a[0].pTab->pSelect
&& p->pEList->nExpr==1 && p->pEList->a[0].pExpr->op==TK_COLUMN
&& !p->pLimit && !p->pOffset && !p->pWhere
){
#
# <value> IN (SELECT <column> FROM <table>)
#
-# $Id: in3.test,v 1.3 2008/01/17 16:22:16 drh Exp $
+# $Id: in3.test,v 1.4 2008/03/12 10:39:00 danielk1977 Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
execsql { DROP INDEX t3_i2 }
} {}
+# The following two test cases verify that ticket #2991 has been fixed.
+#
+do_test in3-5.1 {
+ execsql {
+ CREATE TABLE Folders(
+ folderid INTEGER PRIMARY KEY,
+ parentid INTEGER,
+ rootid INTEGER,
+ path VARCHAR(255)
+ );
+ }
+} {}
+do_test in3-5.2 {
+ catchsql {
+ DELETE FROM Folders WHERE folderid IN
+ (SELECT folderid FROM Folder WHERE path LIKE 'C:\MP3\Albums\' || '%');
+ }
+} {1 {no such table: Folder}}
+
finish_test