SQLite

Check-in [4f10f19dd1]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Additional test cases for nested subqueries in a WHERE clause. (CVS 5999)
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 4f10f19dd1e66cd29b0e1e26506154d670c3bc46
User & Date: drh 2008-12-09 13:12:57.000
Context
2008-12-09
14:03
Finish incomplete edit of resolve.c from check-in (5998). (CVS 6000) (check-in: 0d7e150e8c user: drh tags: trunk)
13:12
Additional test cases for nested subqueries in a WHERE clause. (CVS 5999) (check-in: 4f10f19dd1 user: drh tags: trunk)
13:04
A subquery in the result set of a SELECT should be able to look into outer queries to find variable references. But a subquery in the FROM clause should not be able to do this. Ticket #3530. (CVS 5998) (check-in: be03fa0543 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to test/tkt3346.test.
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29


















30
31
32
33
34
35
36
#    May you share freely, never taking more than you give.
#
#***********************************************************************
#
# This file implements regression tests for SQLite library.  The
# focus of this file is testing the fix for ticket #3346
#
# $Id: tkt3346.test,v 1.2 2008/12/09 13:04:29 drh Exp $

set testdir [file dirname $argv0]
source $testdir/tester.tcl

do_test tkt3346-1.1 {
  db eval {
   CREATE TABLE t1(a,b);
   INSERT INTO t1 VALUES(2,'bob');
   INSERT INTO t1 VALUES(1,'alice');
   INSERT INTO t1 VALUES(3,'claire');
   SELECT *, ( SELECT y FROM (SELECT x.b='alice' AS y) )
     FROM ( SELECT * FROM t1 ) AS x;
  }
} {2 bob 0 1 alice 1 3 claire 0}



















# Ticket #3530
#
# As shown by ticket #3346 above (see also ticket #3298) it is important
# that a subquery in the result-set be able to look up through multiple
# FROM levels in order to view tables in the FROM clause at the top level.
#







|














>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#    May you share freely, never taking more than you give.
#
#***********************************************************************
#
# This file implements regression tests for SQLite library.  The
# focus of this file is testing the fix for ticket #3346
#
# $Id: tkt3346.test,v 1.3 2008/12/09 13:12:57 drh Exp $

set testdir [file dirname $argv0]
source $testdir/tester.tcl

do_test tkt3346-1.1 {
  db eval {
   CREATE TABLE t1(a,b);
   INSERT INTO t1 VALUES(2,'bob');
   INSERT INTO t1 VALUES(1,'alice');
   INSERT INTO t1 VALUES(3,'claire');
   SELECT *, ( SELECT y FROM (SELECT x.b='alice' AS y) )
     FROM ( SELECT * FROM t1 ) AS x;
  }
} {2 bob 0 1 alice 1 3 claire 0}
do_test tkt3346-1.2 {
  db eval {
    SELECT b FROM (SELECT * FROM t1) AS x
     WHERE (SELECT y FROM (SELECT x.b='alice' AS y))=0
  }
} {bob claire}
do_test tkt3346-1.3 {
  db eval {
    SELECT b FROM (SELECT * FROM t1 ORDER BY a) AS x
     WHERE (SELECT y FROM (SELECT a||b y FROM t1 WHERE t1.b=x.b))=(x.a||x.b)
  }
} {alice bob claire}
do_test tkt3346-1.4 {
  db eval {
    SELECT b FROM (SELECT * FROM t1 ORDER BY a) AS x
     WHERE (SELECT y FROM (SELECT a||b y FROM t1 WHERE t1.b=x.b))=('2'||x.b)
  }
} {bob}

# Ticket #3530
#
# As shown by ticket #3346 above (see also ticket #3298) it is important
# that a subquery in the result-set be able to look up through multiple
# FROM levels in order to view tables in the FROM clause at the top level.
#