- add sources.
[platform/framework/web/crosswalk.git] / src / third_party / sqlite / src / test / vtab_err.test
1 # 2006 June 10
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 #
12 # $Id: vtab_err.test,v 1.8 2007/09/03 16:12:10 drh Exp $
13
14 set testdir [file dirname $argv0]
15 source $testdir/tester.tcl
16
17 ifcapable !vtab {
18   finish_test
19   return
20 }
21
22
23
24 unset -nocomplain echo_module_begin_fail
25 do_ioerr_test vtab_err-1 -tclprep {
26   register_echo_module [sqlite3_connection_pointer db]
27 } -sqlbody {
28   BEGIN;
29   CREATE TABLE r(a PRIMARY KEY, b, c);
30   CREATE VIRTUAL TABLE e USING echo(r);
31   INSERT INTO e VALUES(1, 2, 3);
32   INSERT INTO e VALUES('a', 'b', 'c');
33   UPDATE e SET c = 10;
34   DELETE FROM e WHERE a = 'a';
35   COMMIT;
36   BEGIN;
37     CREATE TABLE r2(a, b, c);
38     INSERT INTO r2 SELECT * FROM e;
39     INSERT INTO e SELECT a||'x', b, c FROM r2;
40   COMMIT;
41 }
42
43 ifcapable !memdebug {
44    puts "Skipping vtab_err-2 tests: not compiled with -DSQLITE_MEMDEBUG..."
45    finish_test
46    return
47 }
48 source $testdir/malloc_common.tcl
49
50
51 do_malloc_test vtab_err-2 -tclprep { 
52   register_echo_module [sqlite3_connection_pointer db]
53 } -sqlbody {
54   BEGIN;
55   CREATE TABLE r(a PRIMARY KEY, b, c);
56   CREATE VIRTUAL TABLE e USING echo(r);
57   INSERT INTO e VALUES(1, 2, 3);
58   INSERT INTO e VALUES('a', 'b', 'c');
59   UPDATE e SET c = 10;
60   DELETE FROM e WHERE a = 'a';
61   COMMIT;
62   BEGIN;
63     CREATE TABLE r2(a, b, c);
64     INSERT INTO r2 SELECT * FROM e;
65     INSERT INTO e SELECT a||'x', b, c FROM r2;
66   COMMIT;
67
68
69 sqlite3_memdebug_fail -1
70
71 finish_test