SQLite

Check-in [f5f5ef646b]
Login

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

Overview
Comment:Here is the test case to prove that ticket #3581 is fixed. (CVS 6174)
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: f5f5ef646bef6de6a744b565e089219d4e47397d
User & Date: drh 2009-01-14 01:10:40.000
Context
2009-01-14
04:09
Version 3.6.9 (CVS 6175) (check-in: b6ce8199a9 user: drh tags: trunk, release)
01:10
Here is the test case to prove that ticket #3581 is fixed. (CVS 6174) (check-in: f5f5ef646b user: drh tags: trunk)
00:55
Make sure the OR-clause optimizer takes the cost of sorting into account. Reset the rowid cache on the OP_Rewind and OP_Last opcodes. Bump the version number so that we can do an emergency release. Ticket #3581. (CVS 6173) (check-in: d28b58209b user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Added test/tkt3581.test.












































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
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
# 2008 January 13
#
# The author disclaims copyright to this source code.  In place of
# a legal notice, here is a blessing:
#
#    May you do good and not evil.
#    May you find forgiveness for yourself and forgive others.
#    May you share freely, never taking more than you give.
#
#***********************************************************************
# This file implements regression tests for SQLite library.
#
# This file implements tests to verify that ticket #3581 has been
# fixed.  
#
# $Id: tkt3581.test,v 1.1 2009/01/14 01:10:40 drh Exp $

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

do_test tkt3581-1.1 {
  db eval {
    CREATE TABLE t1(a INTEGER PRIMARY KEY, b, c);
    INSERT INTO t1 VALUES(0,544,846);
    INSERT INTO t1 VALUES(1,345,51);
    CREATE TABLE t2(a INTEGER PRIMARY KEY, b, c);
    INSERT INTO t2 SELECT * FROM t1;
    CREATE INDEX i2 on t2(c);
  }
} {}

do_test tkt3581-1.2 {
  db eval {
    SELECT a FROM t1
     WHERE (b > 45 AND c < 356)
        OR b <= 733
        OR b >= 557
        OR (b >= 614 AND c < 251)
     ORDER BY b;
  }
} {1 0}

do_test tkt3581-1.3 {
  db eval {
    SELECT a FROM t2
     WHERE (b > 45 AND c < 356)
        OR b <= 733
        OR b >= 557
        OR (b >= 614 AND c < 251)
     ORDER BY b;
  }
} {1 0}

finish_test