diff options
Diffstat (limited to 'libraries/sqlite/unix/sqlite-3.5.1/test/vtab8.test')
-rw-r--r-- | libraries/sqlite/unix/sqlite-3.5.1/test/vtab8.test | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/libraries/sqlite/unix/sqlite-3.5.1/test/vtab8.test b/libraries/sqlite/unix/sqlite-3.5.1/test/vtab8.test new file mode 100644 index 0000000..8e04a41 --- /dev/null +++ b/libraries/sqlite/unix/sqlite-3.5.1/test/vtab8.test | |||
@@ -0,0 +1,78 @@ | |||
1 | # 2006 August 29 | ||
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. The | ||
12 | # focus of this file inserting into virtual tables from a SELECT | ||
13 | # statement. | ||
14 | # | ||
15 | # $Id: vtab8.test,v 1.2 2007/03/02 08:12:23 danielk1977 Exp $ | ||
16 | |||
17 | set testdir [file dirname $argv0] | ||
18 | source $testdir/tester.tcl | ||
19 | |||
20 | ifcapable !vtab { | ||
21 | finish_test | ||
22 | return | ||
23 | } | ||
24 | |||
25 | register_echo_module [sqlite3_connection_pointer db] | ||
26 | |||
27 | # See ticket #2244 | ||
28 | # | ||
29 | do_test vtab1.2244-1 { | ||
30 | execsql { | ||
31 | CREATE TABLE t2244(a, b); | ||
32 | CREATE VIRTUAL TABLE t2244e USING echo(t2244); | ||
33 | INSERT INTO t2244 VALUES('AA', 'BB'); | ||
34 | INSERT INTO t2244 VALUES('CC', 'DD'); | ||
35 | SELECT rowid, * FROM t2244e; | ||
36 | } | ||
37 | } {1 AA BB 2 CC DD} | ||
38 | do_test vtab1.2244-2 { | ||
39 | execsql { | ||
40 | SELECT * FROM t2244e WHERE rowid = 10; | ||
41 | } | ||
42 | } {} | ||
43 | do_test vtab1.2244-3 { | ||
44 | execsql { | ||
45 | UPDATE t2244e SET a = 'hello world' WHERE 0; | ||
46 | SELECT rowid, * FROM t2244e; | ||
47 | } | ||
48 | } {1 AA BB 2 CC DD} | ||
49 | |||
50 | do_test vtab1-2250-2 { | ||
51 | execsql { | ||
52 | CREATE TABLE t2250(a, b); | ||
53 | INSERT INTO t2250 VALUES(10, 20); | ||
54 | CREATE VIRTUAL TABLE t2250e USING echo(t2250); | ||
55 | select max(rowid) from t2250; | ||
56 | select max(rowid) from t2250e; | ||
57 | } | ||
58 | } {1 1} | ||
59 | |||
60 | # See ticket #2260. | ||
61 | # | ||
62 | do_test vtab1.2260-1 { | ||
63 | execsql { | ||
64 | CREATE TABLE t2260a_real(a, b); | ||
65 | CREATE TABLE t2260b_real(a, b); | ||
66 | |||
67 | CREATE INDEX i2260 ON t2260a_real(a); | ||
68 | CREATE INDEX i2260x ON t2260b_real(a); | ||
69 | |||
70 | CREATE VIRTUAL TABLE t2260a USING echo(t2260a_real); | ||
71 | CREATE VIRTUAL TABLE t2260b USING echo(t2260b_real); | ||
72 | |||
73 | SELECT * FROM t2260a, t2260b WHERE t2260a.a = t2260b.a AND t2260a.a > 101; | ||
74 | } | ||
75 | } {} | ||
76 | |||
77 | unset -nocomplain echo_module_begin_fail | ||
78 | finish_test | ||