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

Commita4e1304

Browse files
committed
Add check that inherited constraints and defaults work.
1 parent47a895f commita4e1304

File tree

2 files changed

+45
-6
lines changed

2 files changed

+45
-6
lines changed

‎src/test/regress/input/constraints.source

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,10 @@ SELECT '' AS two, * from CHECK2_TBL;
8484
CREATE SEQUENCE INSERT_SEQ;
8585

8686
CREATE TABLE INSERT_TBL (x INT DEFAULT nextval('insert_seq'),
87-
y TEXT DEFAULT '-NULL-', z INT DEFAULT -1 * currval('insert_seq'),
88-
CONSTRAINT INSERT_CON CHECK (x >= 3 AND y <> 'check failed' AND x < 8),
89-
CHECK (x + z = 0));
87+
y TEXT DEFAULT '-NULL-',
88+
z INT DEFAULT -1 * currval('insert_seq'),
89+
CONSTRAINT INSERT_CON CHECK (x >= 3 AND y <> 'check failed' AND x < 8),
90+
CHECK (x + z = 0));
9091

9192
INSERT INTO INSERT_TBL VALUES (null, null, null);
9293
INSERT INTO INSERT_TBL(x,z) VALUES (2, -2);
@@ -118,6 +119,23 @@ INSERT INTO INSERT_TBL(y) VALUES ('Y');
118119

119120
SELECT 'eight' AS one, currval('insert_seq');
120121

122+
--
123+
-- Check inheritance of defaults and constraints
124+
--
125+
126+
CREATE TABLE INSERT_CHILD (cx INT default 42,
127+
cy INT CHECK (cy > x))
128+
INHERITS (INSERT_TBL);
129+
130+
INSERT INTO INSERT_CHILD(x,z,cy) VALUES (7,-7,11);
131+
INSERT INTO INSERT_CHILD(x,z,cy) VALUES (7,-7,6);
132+
INSERT INTO INSERT_CHILD(x,z,cy) VALUES (6,-7,7);
133+
INSERT INTO INSERT_CHILD(x,y,z,cy) VALUES (6,'check failed',-6,7);
134+
135+
SELECT * FROM INSERT_CHILD;
136+
137+
DROP TABLE INSERT_CHILD;
138+
121139
--
122140
-- Check constraints on INSERT INTO
123141
--

‎src/test/regress/output/constraints.source

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,10 @@ SELECT '' AS two, * from CHECK2_TBL;
102102
--
103103
CREATE SEQUENCE INSERT_SEQ;
104104
CREATE TABLE INSERT_TBL (x INT DEFAULT nextval('insert_seq'),
105-
y TEXT DEFAULT '-NULL-', z INT DEFAULT -1 * currval('insert_seq'),
106-
CONSTRAINT INSERT_CON CHECK (x >= 3 AND y <> 'check failed' AND x < 8),
107-
CHECK (x + z = 0));
105+
y TEXT DEFAULT '-NULL-',
106+
z INT DEFAULT -1 * currval('insert_seq'),
107+
CONSTRAINT INSERT_CON CHECK (x >= 3 AND y <> 'check failed' AND x < 8),
108+
CHECK (x + z = 0));
108109
INSERT INTO INSERT_TBL VALUES (null, null, null);
109110
ERROR: ExecAppend: rejected due to CHECK constraint $2
110111
INSERT INTO INSERT_TBL(x,z) VALUES (2, -2);
@@ -170,6 +171,26 @@ SELECT 'eight' AS one, currval('insert_seq');
170171
eight | 8
171172
(1 row)
172173

174+
--
175+
-- Check inheritance of defaults and constraints
176+
--
177+
CREATE TABLE INSERT_CHILD (cx INT default 42,
178+
cy INT CHECK (cy > x))
179+
INHERITS (INSERT_TBL);
180+
INSERT INTO INSERT_CHILD(x,z,cy) VALUES (7,-7,11);
181+
INSERT INTO INSERT_CHILD(x,z,cy) VALUES (7,-7,6);
182+
ERROR: ExecAppend: rejected due to CHECK constraint insert_child_cy
183+
INSERT INTO INSERT_CHILD(x,z,cy) VALUES (6,-7,7);
184+
ERROR: ExecAppend: rejected due to CHECK constraint $1
185+
INSERT INTO INSERT_CHILD(x,y,z,cy) VALUES (6,'check failed',-6,7);
186+
ERROR: ExecAppend: rejected due to CHECK constraint insert_con
187+
SELECT * FROM INSERT_CHILD;
188+
x | y | z | cx | cy
189+
---+--------+----+----+----
190+
7 | -NULL- | -7 | 42 | 11
191+
(1 row)
192+
193+
DROP TABLE INSERT_CHILD;
173194
--
174195
-- Check constraints on INSERT INTO
175196
--

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp