wasCSharpSQLite – Blame information for rev 7
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | # 2008 October 20 |
2 | # |
||
3 | # The author disclaims copyright to this source code. In place of |
||
4 | # a legal notice, here is a blessing: |
||
5 | # |
||
6 | # May you do good and not evil. |
||
7 | # May you find forgiveness for yourself and forgive others. |
||
8 | # May you share freely, never taking more than you give. |
||
9 | # |
||
10 | #*********************************************************************** |
||
11 | # This file implements regression tests for SQLite library. |
||
12 | # |
||
13 | # This file implements tests to verify that ticket #3442 has been |
||
14 | # fixed. |
||
15 | # |
||
16 | # |
||
17 | # $Id: tkt3442.test,v 1.2 2009/06/05 17:09:12 drh Exp $ |
||
18 | |||
19 | |||
20 | set testdir [file dirname $argv0] |
||
21 | source $testdir/tester.tcl |
||
22 | |||
23 | |||
24 | # Create a schema with some indexes. |
||
25 | # |
||
26 | do_test tkt3442-1.1 { |
||
27 | execsql { |
||
28 | CREATE TABLE listhash( |
||
29 | key INTEGER PRIMARY KEY, |
||
30 | id TEXT, |
||
31 | node INTEGER |
||
32 | ); |
||
33 | CREATE UNIQUE INDEX ididx ON listhash(id); |
||
34 | } |
||
35 | } {} |
||
36 | |||
37 | |||
38 | # Explain Query Plan |
||
39 | # |
||
40 | proc EQP {sql} { |
||
41 | uplevel "execsql {EXPLAIN QUERY PLAN $sql}" |
||
42 | } |
||
43 | |||
44 | |||
45 | # These tests perform an EXPLAIN QUERY PLAN on both versions of the |
||
46 | # SELECT referenced in ticket #3442 (both '5000' and "5000") |
||
47 | # and verify that the query plan is the same. |
||
48 | # |
||
49 | ifcapable explain { |
||
50 | do_test tkt3442-1.2 { |
||
51 | EQP { SELECT node FROM listhash WHERE id='5000' LIMIT 1; } |
||
52 | } {0 0 0 {SEARCH TABLE listhash USING INDEX ididx (id=?) (~1 rows)}} |
||
53 | do_test tkt3442-1.3 { |
||
54 | EQP { SELECT node FROM listhash WHERE id="5000" LIMIT 1; } |
||
55 | } {0 0 0 {SEARCH TABLE listhash USING INDEX ididx (id=?) (~1 rows)}} |
||
56 | } |
||
57 | |||
58 | |||
59 | # Some extra tests testing other permutations of 5000. |
||
60 | # |
||
61 | ifcapable explain { |
||
62 | do_test tkt3442-1.4 { |
||
63 | EQP { SELECT node FROM listhash WHERE id=5000 LIMIT 1; } |
||
64 | } {0 0 0 {SEARCH TABLE listhash USING INDEX ididx (id=?) (~1 rows)}} |
||
65 | } |
||
66 | do_test tkt3442-1.5 { |
||
67 | catchsql { |
||
68 | SELECT node FROM listhash WHERE id=[5000] LIMIT 1; |
||
69 | } |
||
70 | } {1 {no such column: 5000}} |
||
71 | |||
72 | finish_test |