Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit478d460

Browse files
committed
Add new regression test to catch some simple kinds of
mistakes in creating pg_operator table. NOTE: right now, this willfail because of conflicting definitions for point @ path operator.I trust we're gonna fix that.
1 parentde43a5e commit478d460

File tree

1 file changed

+110
-0
lines changed

1 file changed

+110
-0
lines changed
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
QUERY: SELECT p1.oid, p1.* FROM pg_operator AS p1
2+
WHERE p1.oprleft != 0 AND NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = p1.oprleft);
3+
oid|oprname|oprowner|oprprec|oprkind|oprisleft|oprcanhash|oprleft|oprright|oprresult|oprcom|oprnegate|oprlsortop|oprrsortop|oprcode|oprrest|oprjoin
4+
---+-------+--------+-------+-------+---------+----------+-------+--------+---------+------+---------+----------+----------+-------+-------+-------
5+
(0 rows)
6+
7+
QUERY: SELECT p1.oid, p1.* FROM pg_operator AS p1
8+
WHERE p1.oprright != 0 AND NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = p1.oprright);
9+
oid|oprname|oprowner|oprprec|oprkind|oprisleft|oprcanhash|oprleft|oprright|oprresult|oprcom|oprnegate|oprlsortop|oprrsortop|oprcode|oprrest|oprjoin
10+
---+-------+--------+-------+-------+---------+----------+-------+--------+---------+------+---------+----------+----------+-------+-------+-------
11+
(0 rows)
12+
13+
QUERY: SELECT p1.oid, p1.* FROM pg_operator AS p1
14+
WHERE p1.oprresult != 0 AND NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = p1.oprresult);
15+
oid|oprname|oprowner|oprprec|oprkind|oprisleft|oprcanhash|oprleft|oprright|oprresult|oprcom|oprnegate|oprlsortop|oprrsortop|oprcode|oprrest|oprjoin
16+
---+-------+--------+-------+-------+---------+----------+-------+--------+---------+------+---------+----------+----------+-------+-------+-------
17+
(0 rows)
18+
19+
QUERY: SELECT p1.oid, p1.* FROM pg_operator AS p1
20+
WHERE p1.oprcom != 0 AND NOT
21+
EXISTS(SELECT * FROM pg_operator AS p2 WHERE p2.oid = p1.oprcom);
22+
oid|oprname|oprowner|oprprec|oprkind|oprisleft|oprcanhash|oprleft|oprright|oprresult|oprcom|oprnegate|oprlsortop|oprrsortop|oprcode|oprrest|oprjoin
23+
---+-------+--------+-------+-------+---------+----------+-------+--------+---------+------+---------+----------+----------+-------+-------+-------
24+
(0 rows)
25+
26+
QUERY: SELECT p1.oid, p1.* FROM pg_operator AS p1
27+
WHERE p1.oprnegate != 0 AND NOT
28+
EXISTS(SELECT * FROM pg_operator AS p2 WHERE p2.oid = p1.oprnegate);
29+
oid|oprname|oprowner|oprprec|oprkind|oprisleft|oprcanhash|oprleft|oprright|oprresult|oprcom|oprnegate|oprlsortop|oprrsortop|oprcode|oprrest|oprjoin
30+
---+-------+--------+-------+-------+---------+----------+-------+--------+---------+------+---------+----------+----------+-------+-------+-------
31+
(0 rows)
32+
33+
QUERY: SELECT p1.oid, p1.* FROM pg_operator AS p1
34+
WHERE p1.oprlsortop != 0 AND NOT
35+
EXISTS(SELECT * FROM pg_operator AS p2 WHERE p2.oid = p1.oprlsortop);
36+
oid|oprname|oprowner|oprprec|oprkind|oprisleft|oprcanhash|oprleft|oprright|oprresult|oprcom|oprnegate|oprlsortop|oprrsortop|oprcode|oprrest|oprjoin
37+
---+-------+--------+-------+-------+---------+----------+-------+--------+---------+------+---------+----------+----------+-------+-------+-------
38+
(0 rows)
39+
40+
QUERY: SELECT p1.oid, p1.* FROM pg_operator AS p1
41+
WHERE p1.oprrsortop != 0 AND NOT
42+
EXISTS(SELECT * FROM pg_operator AS p2 WHERE p2.oid = p1.oprrsortop);
43+
oid|oprname|oprowner|oprprec|oprkind|oprisleft|oprcanhash|oprleft|oprright|oprresult|oprcom|oprnegate|oprlsortop|oprrsortop|oprcode|oprrest|oprjoin
44+
---+-------+--------+-------+-------+---------+----------+-------+--------+---------+------+---------+----------+----------+-------+-------+-------
45+
(0 rows)
46+
47+
QUERY: SELECT p1.oid, p1.oprcode, p2.oid, p2.oprcode
48+
FROM pg_operator AS p1, pg_operator AS p2
49+
WHERE p1.oid != p2.oid AND
50+
p1.oprname = p2.oprname AND
51+
p1.oprkind = p2.oprkind AND
52+
p1.oprleft = p2.oprleft AND
53+
p1.oprright = p2.oprright;
54+
oid|oprcode|oid|oprcode
55+
---+-------+---+-------
56+
(0 rows)
57+
58+
QUERY: SELECT p1.oid, p1.oprcode, p2.oid, p2.oprcode
59+
FROM pg_operator AS p1, pg_operator AS p2
60+
WHERE p1.oprcom = p2.oid AND
61+
(p1.oprkind != 'b' OR
62+
p1.oprleft != p2.oprright OR
63+
p1.oprright != p2.oprleft OR
64+
p1.oprresult != p2.oprresult OR
65+
p1.oid != p2.oprcom);
66+
oid|oprcode|oid|oprcode
67+
---+-------+---+-------
68+
(0 rows)
69+
70+
QUERY: SELECT p1.oid, p1.oprcode, p2.oid, p2.oprcode
71+
FROM pg_operator AS p1, pg_operator AS p2
72+
WHERE p1.oprnegate = p2.oid AND
73+
(p1.oprkind != p2.oprkind OR
74+
p1.oprleft != p2.oprleft OR
75+
p1.oprright != p2.oprright OR
76+
p1.oprresult != 16 OR
77+
p2.oprresult != 16 OR
78+
p1.oid != p2.oprnegate);
79+
oid|oprcode|oid|oprcode
80+
---+-------+---+-------
81+
(0 rows)
82+
83+
QUERY: SELECT p1.oid, p1.oprcode, p2.oid, p2.oprcode
84+
FROM pg_operator AS p1, pg_operator AS p2
85+
WHERE p1.oprlsortop = p2.oid AND
86+
(p1.oprname != '=' OR
87+
p1.oprkind != 'b' OR p2.oprkind != 'b' OR
88+
p1.oprleft != p2.oprleft OR
89+
p1.oprright != p2.oprright OR
90+
p1.oprresult != 16 OR
91+
p2.oprresult != 16 OR
92+
p1.oprrsortop = 0);
93+
oid|oprcode|oid|oprcode
94+
---+-------+---+-------
95+
(0 rows)
96+
97+
QUERY: SELECT p1.oid, p1.oprcode, p2.oid, p2.oprcode
98+
FROM pg_operator AS p1, pg_operator AS p2
99+
WHERE p1.oprrsortop = p2.oid AND
100+
(p1.oprname != '=' OR
101+
p1.oprkind != 'b' OR p2.oprkind != 'b' OR
102+
p1.oprleft != p2.oprleft OR
103+
p1.oprright != p2.oprright OR
104+
p1.oprresult != 16 OR
105+
p2.oprresult != 16 OR
106+
p1.oprlsortop = 0);
107+
oid|oprcode|oid|oprcode
108+
---+-------+---+-------
109+
(0 rows)
110+

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp