From 05a3e474cb3f835f6642ce8736f5f8cb9323ffc9 Mon Sep 17 00:00:00 2001 From: drh Date: Fri, 25 Apr 2008 12:10:15 +0000 Subject: [PATCH] Add test cases to prove that ticket #3082 has been fixed. (CVS 5048) FossilOrigin-Name: 776e7024101dd2eeb29484a36c7e1ac751444ec8 --- manifest | 12 ++++++------ manifest.uuid | 2 +- test/vtabB.test | 43 ++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 49 insertions(+), 8 deletions(-) diff --git a/manifest b/manifest index c80895ed88..fde0944988 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Candidate\sfix\sfor\sticket\s#3082.\sTest\scases\sneeded.\s(CVS\s5047) -D 2008-04-25T00:08:38 +C Add\stest\scases\sto\sprove\sthat\sticket\s#3082\shas\sbeen\sfixed.\s(CVS\s5048) +D 2008-04-25T12:10:15 F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7 F Makefile.in 25b3282a4ac39388632c2fb0e044ff494d490952 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -537,7 +537,7 @@ F test/vtab7.test a8c3c3cb3eb60be364991bd714e4927e26c4cd85 F test/vtab8.test e19fa4a538fcd1bb66c22825fa8f71618fb13583 F test/vtab9.test ea58d2b95d61955f87226381716b2d0b1d4e4f9b F test/vtabA.test 9cb6b1afead6fdd91bbdf1ca65c44ccfd9b10936 -F test/vtabB.test a02264feac9e41a7696869dbd6f993a8b597f7c3 +F test/vtabB.test 04df5dc531b9f44d9ca65b9c1b79f12b5922a796 F test/vtab_alter.test 3a299749fee97ca3d53bd55717f536e4a2284856 F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8 F test/vtab_shared.test c19b2555b807ef2ee014c882cdda5bc8d84fcf48 @@ -630,7 +630,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P a400faf51970b312e9d8c8b4fa099558cc620b69 -R 38bfb0a4f4b6d7e46cc483b5953eff78 +P f6313311ddfb1ee2d6660b9be99afe721a8a9aff +R c1be9ae2c20e9ded54c75945b051f5cb U drh -Z b2d1f6c45fdfbcc2b1867a8bfdc2ffb0 +Z 3138e5436c93d4ce1252743b1e0e1968 diff --git a/manifest.uuid b/manifest.uuid index dd32cc2fdd..5619836476 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -f6313311ddfb1ee2d6660b9be99afe721a8a9aff \ No newline at end of file +776e7024101dd2eeb29484a36c7e1ac751444ec8 \ No newline at end of file diff --git a/test/vtabB.test b/test/vtabB.test index f3f5d2ce3f..201e978950 100644 --- a/test/vtabB.test +++ b/test/vtabB.test @@ -12,9 +12,13 @@ # focus of this file is is verifying that a virtual table in the # TEMP database that is created and dropped within a transaction # is handled correctly. Ticket #2994. +# +# Also make sure a virtual table on the right-hand side of an IN operator +# is materialized rather than being used directly. Ticket #3082. +# # -# $Id: vtabB.test,v 1.1 2008/04/10 18:35:22 drh Exp $ +# $Id: vtabB.test,v 1.2 2008/04/25 12:10:15 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -35,4 +39,41 @@ do_test vtabB-1.1 { } } {} +do_test vtabB-2.1 { + execsql { + INSERT INTO t1 VALUES(2); + INSERT INTO t1 VALUES(3); + CREATE TABLE t2(y); + INSERT INTO t2 VALUES(1); + INSERT INTO t2 VALUES(2); + CREATE VIRTUAL TABLE echo_t2 USING echo(t2); + SELECT * FROM t1 WHERE x IN (SELECT rowid FROM t2); + } +} {2} +do_test vtab8-2.2 { + execsql { + SELECT rowid FROM echo_t2 + } +} {1 2} +do_test vtabB-2.3 { + execsql { + SELECT * FROM t1 WHERE x IN (SELECT rowid FROM t2); + } +} {2} +do_test vtabB-2.4 { + execsql { + SELECT * FROM t1 WHERE x IN (SELECT rowid FROM echo_t2); + } +} {2} +do_test vtabB-2.5 { + execsql { + SELECT * FROM t1 WHERE x IN (SELECT y FROM t2); + } +} {2} +do_test vtabB-2.6 { + execsql { + SELECT * FROM t1 WHERE x IN (SELECT y FROM echo_t2); + } +} {2} + finish_test -- 2.47.3