Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Side by Side Diff: third_party/sqlite/sqlite-src-3080704/test/tkt-b1d3a2e531.test

Issue 949043002: Add //third_party/sqlite to dirs_to_snapshot, remove net_sql.patch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 # 2011 August 22
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 for foreign keys. Specifically, it tests
14 # that ticket b1d3a2e531 has been fixed.
15 #
16
17 set testdir [file dirname $argv0]
18 source $testdir/tester.tcl
19
20 ifcapable {!foreignkey||!trigger} {
21 finish_test
22 return
23 }
24 set testprefix tkt-b1d3a2e531
25
26 do_execsql_test 1.0 { PRAGMA foreign_keys = ON }
27
28 do_execsql_test 1.1 {
29 CREATE TABLE pp(x PRIMARY KEY);
30 CREATE TABLE cc(y REFERENCES pp DEFERRABLE INITIALLY DEFERRED);
31 INSERT INTO pp VALUES('abc');
32 INSERT INTO cc VALUES('abc');
33 }
34 do_execsql_test 1.2 {
35 BEGIN;
36 DROP TABLE pp;
37 DROP TABLE cc;
38 COMMIT;
39 }
40 do_execsql_test 1.3 {
41 CREATE TABLE pp(x PRIMARY KEY);
42 CREATE TABLE cc(y REFERENCES pp DEFERRABLE INITIALLY DEFERRED);
43 INSERT INTO pp VALUES('abc');
44 INSERT INTO cc VALUES('abc');
45 }
46 do_execsql_test 1.4 {
47 BEGIN;
48 DROP TABLE cc;
49 DROP TABLE pp;
50 COMMIT;
51 }
52
53 do_execsql_test 2.1 {
54 CREATE TABLE pp(x PRIMARY KEY);
55 CREATE TABLE cc(
56 y INTEGER PRIMARY KEY REFERENCES pp DEFERRABLE INITIALLY DEFERRED
57 );
58 INSERT INTO pp VALUES(5);
59 INSERT INTO cc VALUES(5);
60 }
61 do_execsql_test 2.2 {
62 BEGIN;
63 DROP TABLE pp;
64 DROP TABLE cc;
65 COMMIT;
66 }
67 do_execsql_test 2.3 {
68 CREATE TABLE pp(x PRIMARY KEY);
69 CREATE TABLE cc(
70 y INTEGER PRIMARY KEY REFERENCES pp DEFERRABLE INITIALLY DEFERRED
71 );
72 INSERT INTO pp VALUES(5);
73 INSERT INTO cc VALUES(5);
74 }
75 do_execsql_test 2.4 {
76 BEGIN;
77 DROP TABLE cc;
78 DROP TABLE pp;
79 COMMIT;
80 }
81
82 do_execsql_test 3.1 {
83 CREATE TABLE pp1(x PRIMARY KEY);
84 CREATE TABLE cc1(y REFERENCES pp1 DEFERRABLE INITIALLY DEFERRED);
85
86 CREATE TABLE pp2(x PRIMARY KEY);
87 CREATE TABLE cc2(y REFERENCES pp1 DEFERRABLE INITIALLY DEFERRED);
88
89 INSERT INTO pp1 VALUES(2200);
90 INSERT INTO cc1 VALUES(NULL);
91
92 INSERT INTO pp2 VALUES(2200);
93 INSERT INTO cc2 VALUES(2200);
94 }
95 do_catchsql_test 3.2 {
96 BEGIN;
97 DELETE FROM pp2;
98 DROP TABLE pp1;
99 DROP TABLE cc1;
100 COMMIT;
101 } {1 {FOREIGN KEY constraint failed}}
102 do_catchsql_test 3.3 {
103 DROP TABLE cc2;
104 COMMIT;
105 } {0 {}}
106
107
108
109 finish_test
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698