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

Side by Side Diff: third_party/sqlite/sqlite-src-3080704/test/tkt3527.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, 10 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 # 2008 December 8
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 is a verification that the bugs identified in ticket
14 # #3527 have been fixed.
15 #
16 # $Id: tkt3527.test,v 1.1 2008/12/08 13:42:36 drh Exp $
17
18 set testdir [file dirname $argv0]
19 source $testdir/tester.tcl
20
21 ifcapable !compound {
22 finish_test
23 return
24 }
25
26 do_test tkt3527-1.1 {
27 db eval {
28 CREATE TABLE Element (
29 Code INTEGER PRIMARY KEY,
30 Name VARCHAR(60)
31 );
32
33 CREATE TABLE ElemOr (
34 CodeOr INTEGER NOT NULL,
35 Code INTEGER NOT NULL,
36 PRIMARY KEY(CodeOr,Code)
37 );
38
39 CREATE TABLE ElemAnd (
40 CodeAnd INTEGER,
41 Code INTEGER,
42 Attr1 INTEGER,
43 Attr2 INTEGER,
44 Attr3 INTEGER,
45 PRIMARY KEY(CodeAnd,Code)
46 );
47
48 INSERT INTO Element VALUES(1,'Elem1');
49 INSERT INTO Element VALUES(2,'Elem2');
50 INSERT INTO Element VALUES(3,'Elem3');
51 INSERT INTO Element VALUES(4,'Elem4');
52 INSERT INTO Element VALUES(5,'Elem5');
53 INSERT INTO ElemOr Values(3,4);
54 INSERT INTO ElemOr Values(3,5);
55 INSERT INTO ElemAnd VALUES(1,3,'a','b','c');
56 INSERT INTO ElemAnd VALUES(1,2,'x','y','z');
57
58 CREATE VIEW ElemView1 AS
59 SELECT
60 CAST(Element.Code AS VARCHAR(50)) AS ElemId,
61 Element.Code AS ElemCode,
62 Element.Name AS ElemName,
63 ElemAnd.Code AS InnerCode,
64 ElemAnd.Attr1 AS Attr1,
65 ElemAnd.Attr2 AS Attr2,
66 ElemAnd.Attr3 AS Attr3,
67 0 AS Level,
68 0 AS IsOrElem
69 FROM Element JOIN ElemAnd ON ElemAnd.CodeAnd=Element.Code
70 WHERE ElemAnd.CodeAnd NOT IN (SELECT CodeOr FROM ElemOr)
71 UNION ALL
72 SELECT
73 CAST(ElemOr.CodeOr AS VARCHAR(50)) AS ElemId,
74 Element.Code AS ElemCode,
75 Element.Name AS ElemName,
76 ElemOr.Code AS InnerCode,
77 NULL AS Attr1,
78 NULL AS Attr2,
79 NULL AS Attr3,
80 0 AS Level,
81 1 AS IsOrElem
82 FROM ElemOr JOIN Element ON Element.Code=ElemOr.CodeOr
83 ORDER BY ElemId, InnerCode;
84
85 CREATE VIEW ElemView2 AS
86 SELECT
87 ElemId,
88 ElemCode,
89 ElemName,
90 InnerCode,
91 Attr1,
92 Attr2,
93 Attr3,
94 Level,
95 IsOrElem
96 FROM ElemView1
97 UNION ALL
98 SELECT
99 Element.ElemId || '.' || InnerElem.ElemId AS ElemId,
100 InnerElem.ElemCode,
101 InnerElem.ElemName,
102 InnerElem.InnerCode,
103 InnerElem.Attr1,
104 InnerElem.Attr2,
105 InnerElem.Attr3,
106 InnerElem.Level+1,
107 InnerElem.IsOrElem
108 FROM ElemView1 AS Element
109 JOIN ElemView1 AS InnerElem
110 ON Element.Level=0 AND Element.InnerCode=InnerElem.ElemCode
111 ORDER BY ElemId, InnerCode;
112
113 SELECT * FROM ElemView1;
114 }
115 } {1 1 Elem1 2 x y z 0 0 1 1 Elem1 3 a b c 0 0 3 3 Elem3 4 {} {} {} 0 1 3 3 Elem 3 5 {} {} {} 0 1}
116
117 do_test tkt3527-1.2 {
118 db eval {
119 SELECT * FROM ElemView2;
120 }
121 } {1 1 Elem1 2 x y z 0 0 1 1 Elem1 3 a b c 0 0 1.3 3 Elem3 4 {} {} {} 1 1 1.3 3 Elem3 5 {} {} {} 1 1 3 3 Elem3 4 {} {} {} 0 1 3 3 Elem3 5 {} {} {} 0 1}
122
123 finish_test
OLDNEW
« no previous file with comments | « third_party/sqlite/sqlite-src-3080704/test/tkt3522.test ('k') | third_party/sqlite/sqlite-src-3080704/test/tkt3541.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698