mirror of https://github.com/citusdata/citus.git
Normalize tests: shard table names in foreign_key_to_reference_table
parent
7f3de68b0d
commit
883ee9121f
|
@ -17,14 +17,14 @@ s/node group [12] (but|does)/node group \1/
|
||||||
# Differing names can have differing table column widths
|
# Differing names can have differing table column widths
|
||||||
s/^-[+-]{2,}$/---------------------------------------------------------------------/g
|
s/^-[+-]{2,}$/---------------------------------------------------------------------/g
|
||||||
|
|
||||||
## In foreign_key_to_reference_table, normalize shard table names, etc in
|
# In foreign_key_to_reference_table, normalize shard table names, etc in
|
||||||
## the generated plan
|
# the generated plan
|
||||||
#s/"(foreign_key_2_|fkey_ref_to_dist_|fkey_ref_)[0-9]+"/"\1xxxxxxx"/g
|
s/"(foreign_key_2_|fkey_ref_to_dist_|fkey_ref_)[0-9]+"/"\1xxxxxxx"/g
|
||||||
#s/"(referenced_table_|referencing_table_|referencing_table2_)[0-9]+"/"\1xxxxxxx"/g
|
s/"(referenced_table_|referencing_table_|referencing_table2_)[0-9]+"/"\1xxxxxxx"/g
|
||||||
#s/"(referencing_table_0_|referenced_table2_)[0-9]+"/"\1xxxxxxx"/g
|
s/"(referencing_table_0_|referenced_table2_)[0-9]+"/"\1xxxxxxx"/g
|
||||||
#s/\(id\)=\([0-9]+\)/(id)=(X)/g
|
s/\(id\)=\([0-9]+\)/(id)=(X)/g
|
||||||
#s/\(ref_id\)=\([0-9]+\)/(ref_id)=(X)/g
|
s/\(ref_id\)=\([0-9]+\)/(ref_id)=(X)/g
|
||||||
#
|
|
||||||
## shard table names for multi_subtransactions
|
## shard table names for multi_subtransactions
|
||||||
#s/"t2_[0-9]+"/"t2_xxxxxxx"/g
|
#s/"t2_[0-9]+"/"t2_xxxxxxx"/g
|
||||||
#
|
#
|
||||||
|
|
|
@ -452,8 +452,8 @@ ALTER TABLE referencing_table ADD CONSTRAINT fkey_ref FOREIGN KEY (ref_id) REFER
|
||||||
-- test inserts
|
-- test inserts
|
||||||
-- test insert to referencing table while there is NO corresponding value in referenced table
|
-- test insert to referencing table while there is NO corresponding value in referenced table
|
||||||
INSERT INTO referencing_table VALUES(1, 1);
|
INSERT INTO referencing_table VALUES(1, 1);
|
||||||
ERROR: insert or update on table "referencing_table_7000141" violates foreign key constraint "fkey_ref_7000141"
|
ERROR: insert or update on table "referencing_table_xxxxxxx" violates foreign key constraint "fkey_ref_xxxxxxx"
|
||||||
DETAIL: Key (ref_id)=(1) is not present in table "referenced_table_7000140".
|
DETAIL: Key (ref_id)=(X) is not present in table "referenced_table_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
-- test insert to referencing while there is corresponding value in referenced table
|
-- test insert to referencing while there is corresponding value in referenced table
|
||||||
INSERT INTO referenced_table SELECT x, x from generate_series(1,1000) as f(x);
|
INSERT INTO referenced_table SELECT x, x from generate_series(1,1000) as f(x);
|
||||||
|
@ -461,8 +461,8 @@ INSERT INTO referencing_table SELECT x, x from generate_series(1,500) as f(x);
|
||||||
-- test deletes
|
-- test deletes
|
||||||
-- test delete from referenced table while there is corresponding value in referencing table
|
-- test delete from referenced table while there is corresponding value in referencing table
|
||||||
DELETE FROM referenced_table WHERE id > 3;
|
DELETE FROM referenced_table WHERE id > 3;
|
||||||
ERROR: update or delete on table "referenced_table_7000140" violates foreign key constraint "fkey_ref_7000143" on table "referencing_table_7000143"
|
ERROR: update or delete on table "referenced_table_xxxxxxx" violates foreign key constraint "fkey_ref_xxxxxxx" on table "referencing_table_xxxxxxx"
|
||||||
DETAIL: Key (id)=(4) is still referenced from table "referencing_table_7000143".
|
DETAIL: Key (id)=(X) is still referenced from table "referencing_table_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
-- test delete from referenced table while there is NO corresponding value in referencing table
|
-- test delete from referenced table while there is NO corresponding value in referencing table
|
||||||
DELETE FROM referenced_table WHERE id = 501;
|
DELETE FROM referenced_table WHERE id = 501;
|
||||||
|
@ -644,8 +644,8 @@ INSERT INTO referenced_table SELECT x,x FROM generate_series(1,1000) AS f(x);
|
||||||
INSERT INTO referencing_table(id) SELECT x FROM generate_series(1,1000) AS f(x);
|
INSERT INTO referencing_table(id) SELECT x FROM generate_series(1,1000) AS f(x);
|
||||||
-- Fails for non existing value inserts (serial is already incremented)
|
-- Fails for non existing value inserts (serial is already incremented)
|
||||||
INSERT INTO referencing_table(id) SELECT x FROM generate_series(1,10) AS f(x);
|
INSERT INTO referencing_table(id) SELECT x FROM generate_series(1,10) AS f(x);
|
||||||
ERROR: insert or update on table "referencing_table_7000190" violates foreign key constraint "fkey_ref_7000190"
|
ERROR: insert or update on table "referencing_table_xxxxxxx" violates foreign key constraint "fkey_ref_xxxxxxx"
|
||||||
DETAIL: Key (ref_id)=(1004) is not present in table "referenced_table_7000187".
|
DETAIL: Key (ref_id)=(X) is not present in table "referenced_table_xxxxxxx".
|
||||||
DROP TABLE referenced_table CASCADE;
|
DROP TABLE referenced_table CASCADE;
|
||||||
NOTICE: drop cascades to constraint fkey_ref on table referencing_table
|
NOTICE: drop cascades to constraint fkey_ref on table referencing_table
|
||||||
DROP TABLE referencing_table CASCADE;
|
DROP TABLE referencing_table CASCADE;
|
||||||
|
@ -675,8 +675,8 @@ INSERT INTO referenced_table(test_column2) SELECT x FROM generate_series(1,1000)
|
||||||
INSERT INTO referencing_table(id) SELECT x FROM generate_series(1,1000) AS f(x);
|
INSERT INTO referencing_table(id) SELECT x FROM generate_series(1,1000) AS f(x);
|
||||||
-- Fails for non existing value inserts (serial is already incremented)
|
-- Fails for non existing value inserts (serial is already incremented)
|
||||||
INSERT INTO referencing_table(id) SELECT x FROM generate_series(1,10) AS f(x);
|
INSERT INTO referencing_table(id) SELECT x FROM generate_series(1,10) AS f(x);
|
||||||
ERROR: insert or update on table "referencing_table_7000199" violates foreign key constraint "fkey_ref_7000199"
|
ERROR: insert or update on table "referencing_table_xxxxxxx" violates foreign key constraint "fkey_ref_xxxxxxx"
|
||||||
DETAIL: Key (ref_id)=(1004) is not present in table "referenced_table_7000196".
|
DETAIL: Key (ref_id)=(X) is not present in table "referenced_table_xxxxxxx".
|
||||||
DROP TABLE referenced_table CASCADE;
|
DROP TABLE referenced_table CASCADE;
|
||||||
NOTICE: drop cascades to constraint fkey_ref on table referencing_table
|
NOTICE: drop cascades to constraint fkey_ref on table referencing_table
|
||||||
DROP TABLE referencing_table CASCADE;
|
DROP TABLE referencing_table CASCADE;
|
||||||
|
@ -817,16 +817,16 @@ INSERT INTO referenced_table SELECT x, x+1 FROM generate_series(0,1000) AS f(x);
|
||||||
INSERT INTO referenced_table2 SELECT x, x+1 FROM generate_series(500,1500) AS f(x);
|
INSERT INTO referenced_table2 SELECT x, x+1 FROM generate_series(500,1500) AS f(x);
|
||||||
-- should fail
|
-- should fail
|
||||||
INSERT INTO referencing_table SELECT x, x+1 FROM generate_series(0,1500) AS f(x);
|
INSERT INTO referencing_table SELECT x, x+1 FROM generate_series(0,1500) AS f(x);
|
||||||
ERROR: insert or update on table "referencing_table_7000226" violates foreign key constraint "foreign_key_2_7000226"
|
ERROR: insert or update on table "referencing_table_xxxxxxx" violates foreign key constraint "foreign_key_2_xxxxxxx"
|
||||||
DETAIL: Key (id)=(1) is not present in table "referenced_table2_7000225".
|
DETAIL: Key (id)=(X) is not present in table "referenced_table2_xxxxxxx".
|
||||||
-- should fail
|
-- should fail
|
||||||
INSERT INTO referencing_table SELECT x, x+1 FROM generate_series(0,400) AS f(x);
|
INSERT INTO referencing_table SELECT x, x+1 FROM generate_series(0,400) AS f(x);
|
||||||
ERROR: insert or update on table "referencing_table_7000226" violates foreign key constraint "foreign_key_2_7000226"
|
ERROR: insert or update on table "referencing_table_xxxxxxx" violates foreign key constraint "foreign_key_2_xxxxxxx"
|
||||||
DETAIL: Key (id)=(1) is not present in table "referenced_table2_7000225".
|
DETAIL: Key (id)=(X) is not present in table "referenced_table2_xxxxxxx".
|
||||||
-- should fail
|
-- should fail
|
||||||
INSERT INTO referencing_table SELECT x, x+1 FROM generate_series(1000,1400) AS f(x);
|
INSERT INTO referencing_table SELECT x, x+1 FROM generate_series(1000,1400) AS f(x);
|
||||||
ERROR: insert or update on table "referencing_table_7000228" violates foreign key constraint "fkey_ref_7000228"
|
ERROR: insert or update on table "referencing_table_xxxxxxx" violates foreign key constraint "fkey_ref_xxxxxxx"
|
||||||
DETAIL: Key (id)=(1015) is not present in table "referenced_table_7000224".
|
DETAIL: Key (id)=(X) is not present in table "referenced_table_xxxxxxx".
|
||||||
-- should succeed
|
-- should succeed
|
||||||
INSERT INTO referencing_table SELECT x, x+1 FROM generate_series(600,900) AS f(x);
|
INSERT INTO referencing_table SELECT x, x+1 FROM generate_series(600,900) AS f(x);
|
||||||
SELECT count(*) FROM referencing_table;
|
SELECT count(*) FROM referencing_table;
|
||||||
|
@ -945,13 +945,13 @@ INSERT INTO referenced_table SELECT x, x+1 FROM generate_series(0,1000) AS f(x);
|
||||||
INSERT INTO referenced_table2 SELECT x, x+1 FROM generate_series(500,1500) AS f(x);
|
INSERT INTO referenced_table2 SELECT x, x+1 FROM generate_series(500,1500) AS f(x);
|
||||||
-- should fail
|
-- should fail
|
||||||
INSERT INTO referencing_table SELECT x, x+1 FROM generate_series(0,1500) AS f(x);
|
INSERT INTO referencing_table SELECT x, x+1 FROM generate_series(0,1500) AS f(x);
|
||||||
ERROR: insert or update on table "referencing_table_7000246" violates foreign key constraint "foreign_key_2_7000246"
|
ERROR: insert or update on table "referencing_table_xxxxxxx" violates foreign key constraint "foreign_key_2_xxxxxxx"
|
||||||
-- should fail
|
-- should fail
|
||||||
INSERT INTO referencing_table SELECT x, x+1 FROM generate_series(0,400) AS f(x);
|
INSERT INTO referencing_table SELECT x, x+1 FROM generate_series(0,400) AS f(x);
|
||||||
ERROR: insert or update on table "referencing_table_7000246" violates foreign key constraint "foreign_key_2_7000246"
|
ERROR: insert or update on table "referencing_table_xxxxxxx" violates foreign key constraint "foreign_key_2_xxxxxxx"
|
||||||
-- should fail
|
-- should fail
|
||||||
INSERT INTO referencing_table SELECT x, x+1 FROM generate_series(1000,1400) AS f(x);
|
INSERT INTO referencing_table SELECT x, x+1 FROM generate_series(1000,1400) AS f(x);
|
||||||
ERROR: insert or update on table "referencing_table_7000248" violates foreign key constraint "fkey_ref_7000248"
|
ERROR: insert or update on table "referencing_table_xxxxxxx" violates foreign key constraint "fkey_ref_xxxxxxx"
|
||||||
-- should succeed
|
-- should succeed
|
||||||
INSERT INTO referencing_table SELECT x, x+501 FROM generate_series(0,1000) AS f(x);
|
INSERT INTO referencing_table SELECT x, x+501 FROM generate_series(0,1000) AS f(x);
|
||||||
SELECT count(*) FROM referencing_table;
|
SELECT count(*) FROM referencing_table;
|
||||||
|
@ -1083,14 +1083,14 @@ SELECT * FROM table_fkeys_in_workers WHERE relid LIKE 'fkey_reference_table.%' A
|
||||||
INSERT INTO referenced_table SELECT x, x+1 FROM generate_series(0,1000) AS f(x);
|
INSERT INTO referenced_table SELECT x, x+1 FROM generate_series(0,1000) AS f(x);
|
||||||
-- should fail
|
-- should fail
|
||||||
INSERT INTO referencing_table2 SELECT x, x+1 FROM generate_series(0,100) AS f(x);
|
INSERT INTO referencing_table2 SELECT x, x+1 FROM generate_series(0,100) AS f(x);
|
||||||
ERROR: insert or update on table "referencing_table2_7000273" violates foreign key constraint "fkey_ref_to_dist_7000273"
|
ERROR: insert or update on table "referencing_table2_xxxxxxx" violates foreign key constraint "fkey_ref_to_dist_xxxxxxx"
|
||||||
DETAIL: Key (id)=(1) is not present in table "referencing_table_7000265".
|
DETAIL: Key (id)=(X) is not present in table "referencing_table_xxxxxxx".
|
||||||
-- should succeed
|
-- should succeed
|
||||||
INSERT INTO referencing_table SELECT x, x+1 FROM generate_series(0,400) AS f(x);
|
INSERT INTO referencing_table SELECT x, x+1 FROM generate_series(0,400) AS f(x);
|
||||||
-- should fail
|
-- should fail
|
||||||
INSERT INTO referencing_table2 SELECT x, x+1 FROM generate_series(200,500) AS f(x);
|
INSERT INTO referencing_table2 SELECT x, x+1 FROM generate_series(200,500) AS f(x);
|
||||||
ERROR: insert or update on table "referencing_table2_7000273" violates foreign key constraint "fkey_ref_to_dist_7000273"
|
ERROR: insert or update on table "referencing_table2_xxxxxxx" violates foreign key constraint "fkey_ref_to_dist_xxxxxxx"
|
||||||
DETAIL: Key (id)=(401) is not present in table "referencing_table_7000265".
|
DETAIL: Key (id)=(X) is not present in table "referencing_table_xxxxxxx".
|
||||||
-- should succeed
|
-- should succeed
|
||||||
INSERT INTO referencing_table2 SELECT x, x+1 FROM generate_series(0,300) AS f(x);
|
INSERT INTO referencing_table2 SELECT x, x+1 FROM generate_series(0,300) AS f(x);
|
||||||
DELETE FROM referenced_table WHERE test_column < 200;
|
DELETE FROM referenced_table WHERE test_column < 200;
|
||||||
|
@ -1815,7 +1815,7 @@ ALTER TABLE referencing_table_4 ADD CONSTRAINT fkey_to_ref FOREIGN KEY (value_1)
|
||||||
-- should fail since the data will flow to partitioning_test_4 and it has a foreign constraint to partitioning_test_0 on id column
|
-- should fail since the data will flow to partitioning_test_4 and it has a foreign constraint to partitioning_test_0 on id column
|
||||||
INSERT INTO referencing_table VALUES (0, 5);
|
INSERT INTO referencing_table VALUES (0, 5);
|
||||||
ERROR: insert or update on table "referencing_table_4_7000540" violates foreign key constraint "fkey_7000540"
|
ERROR: insert or update on table "referencing_table_4_7000540" violates foreign key constraint "fkey_7000540"
|
||||||
DETAIL: Key (id)=(0) is not present in table "referencing_table_0_7000524".
|
DETAIL: Key (id)=(X) is not present in table "referencing_table_0_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
-- should succeed on partitioning_test_0
|
-- should succeed on partitioning_test_0
|
||||||
INSERT INTO referencing_table VALUES (0, 1);
|
INSERT INTO referencing_table VALUES (0, 1);
|
||||||
|
@ -1828,7 +1828,7 @@ SELECT * FROM referencing_table;
|
||||||
-- should fail since partitioning_test_4 has foreign constraint to referenced_table on value_1 column
|
-- should fail since partitioning_test_4 has foreign constraint to referenced_table on value_1 column
|
||||||
INSERT INTO referencing_table VALUES (0, 5);
|
INSERT INTO referencing_table VALUES (0, 5);
|
||||||
ERROR: insert or update on table "referencing_table_4_7000540" violates foreign key constraint "fkey_to_ref_7000540"
|
ERROR: insert or update on table "referencing_table_4_7000540" violates foreign key constraint "fkey_to_ref_7000540"
|
||||||
DETAIL: Key (value_1)=(5) is not present in table "referenced_table_7000512".
|
DETAIL: Key (value_1)=(5) is not present in table "referenced_table_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
INSERT INTO referenced_table VALUES(5,5);
|
INSERT INTO referenced_table VALUES(5,5);
|
||||||
-- should succeed since both of the foreign constraints are positive
|
-- should succeed since both of the foreign constraints are positive
|
||||||
|
|
|
@ -113,7 +113,7 @@ ALTER TABLE unique_test_table ADD CONSTRAINT unn_id UNIQUE(id);
|
||||||
INSERT INTO unique_test_table VALUES(1, 'Ahmet');
|
INSERT INTO unique_test_table VALUES(1, 'Ahmet');
|
||||||
INSERT INTO unique_test_table VALUES(1, 'Mehmet');
|
INSERT INTO unique_test_table VALUES(1, 'Mehmet');
|
||||||
ERROR: duplicate key value violates unique constraint "unn_id_1450035"
|
ERROR: duplicate key value violates unique constraint "unn_id_1450035"
|
||||||
DETAIL: Key (id)=(1) already exists.
|
DETAIL: Key (id)=(X) already exists.
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
ALTER TABLE unique_test_table DROP CONSTRAINT unn_id;
|
ALTER TABLE unique_test_table DROP CONSTRAINT unn_id;
|
||||||
-- Insert row which will conflict with the next unique constraint command
|
-- Insert row which will conflict with the next unique constraint command
|
||||||
|
@ -121,7 +121,7 @@ INSERT INTO unique_test_table VALUES(1, 'Mehmet');
|
||||||
-- Can not create constraint since it conflicts with the existing data
|
-- Can not create constraint since it conflicts with the existing data
|
||||||
ALTER TABLE unique_test_table ADD CONSTRAINT unn_id UNIQUE(id);
|
ALTER TABLE unique_test_table ADD CONSTRAINT unn_id UNIQUE(id);
|
||||||
ERROR: could not create unique index "unn_id_1450035"
|
ERROR: could not create unique index "unn_id_1450035"
|
||||||
DETAIL: Key (id)=(1) is duplicated.
|
DETAIL: Key (id)=(X) is duplicated.
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
-- Can create unique constraint over multiple columns which must include
|
-- Can create unique constraint over multiple columns which must include
|
||||||
-- distribution column
|
-- distribution column
|
||||||
|
@ -147,7 +147,7 @@ ALTER TABLE unique_test_table_ref ADD CONSTRAINT unn_id UNIQUE(id);
|
||||||
INSERT INTO unique_test_table_ref VALUES(1, 'Ahmet');
|
INSERT INTO unique_test_table_ref VALUES(1, 'Ahmet');
|
||||||
INSERT INTO unique_test_table_ref VALUES(1, 'Mehmet');
|
INSERT INTO unique_test_table_ref VALUES(1, 'Mehmet');
|
||||||
ERROR: duplicate key value violates unique constraint "unn_id_1450066"
|
ERROR: duplicate key value violates unique constraint "unn_id_1450066"
|
||||||
DETAIL: Key (id)=(1) already exists.
|
DETAIL: Key (id)=(X) already exists.
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
-- We can add unique constraint with multiple columns
|
-- We can add unique constraint with multiple columns
|
||||||
ALTER TABLE unique_test_table_ref DROP CONSTRAINT unn_id;
|
ALTER TABLE unique_test_table_ref DROP CONSTRAINT unn_id;
|
||||||
|
@ -179,7 +179,7 @@ HINT: Consider using hash partitioning.
|
||||||
-- Error out. Table can not have two rows with the same id.
|
-- Error out. Table can not have two rows with the same id.
|
||||||
\COPY unique_test_table_append FROM STDIN DELIMITER AS ',';
|
\COPY unique_test_table_append FROM STDIN DELIMITER AS ',';
|
||||||
ERROR: duplicate key value violates unique constraint "unn_id_1450067"
|
ERROR: duplicate key value violates unique constraint "unn_id_1450067"
|
||||||
DETAIL: Key (id)=(1) already exists.
|
DETAIL: Key (id)=(X) already exists.
|
||||||
DROP TABLE unique_test_table_append;
|
DROP TABLE unique_test_table_append;
|
||||||
-- Check "CHECK CONSTRAINT"
|
-- Check "CHECK CONSTRAINT"
|
||||||
CREATE TABLE products (
|
CREATE TABLE products (
|
||||||
|
|
|
@ -133,8 +133,8 @@ SELECT create_distributed_table('referencing_table', 'ref_id', 'hash');
|
||||||
-- test inserts
|
-- test inserts
|
||||||
-- test insert to referencing table while there is NO corresponding value in referenced table
|
-- test insert to referencing table while there is NO corresponding value in referenced table
|
||||||
INSERT INTO referencing_table VALUES(1, 1);
|
INSERT INTO referencing_table VALUES(1, 1);
|
||||||
ERROR: insert or update on table "referencing_table_1350129" violates foreign key constraint "referencing_table_ref_id_fkey_1350129"
|
ERROR: insert or update on table "referencing_table_xxxxxxx" violates foreign key constraint "referencing_table_ref_id_fkey_1350129"
|
||||||
DETAIL: Key (ref_id)=(1) is not present in table "referenced_table_1350097".
|
DETAIL: Key (ref_id)=(X) is not present in table "referenced_table_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
-- test insert to referencing while there is corresponding value in referenced table
|
-- test insert to referencing while there is corresponding value in referenced table
|
||||||
INSERT INTO referenced_table VALUES(1, 1);
|
INSERT INTO referenced_table VALUES(1, 1);
|
||||||
|
@ -142,8 +142,8 @@ INSERT INTO referencing_table VALUES(1, 1);
|
||||||
-- test deletes
|
-- test deletes
|
||||||
-- test delete from referenced table while there is corresponding value in referencing table
|
-- test delete from referenced table while there is corresponding value in referencing table
|
||||||
DELETE FROM referenced_table WHERE id = 1;
|
DELETE FROM referenced_table WHERE id = 1;
|
||||||
ERROR: update or delete on table "referenced_table_1350097" violates foreign key constraint "referencing_table_ref_id_fkey_1350129" on table "referencing_table_1350129"
|
ERROR: update or delete on table "referenced_table_xxxxxxx" violates foreign key constraint "referencing_table_ref_id_fkey_1350129" on table "referencing_table_xxxxxxx"
|
||||||
DETAIL: Key (id)=(1) is still referenced from table "referencing_table_1350129".
|
DETAIL: Key (id)=(X) is still referenced from table "referencing_table_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
-- test delete from referenced table while there is NO corresponding value in referencing table
|
-- test delete from referenced table while there is NO corresponding value in referencing table
|
||||||
DELETE FROM referencing_table WHERE ref_id = 1;
|
DELETE FROM referencing_table WHERE ref_id = 1;
|
||||||
|
@ -227,8 +227,8 @@ SELECT create_distributed_table('referencing_table', 'ref_id', 'hash');
|
||||||
INSERT INTO referenced_table VALUES(1, 1);
|
INSERT INTO referenced_table VALUES(1, 1);
|
||||||
INSERT INTO referencing_table VALUES(1, 1);
|
INSERT INTO referencing_table VALUES(1, 1);
|
||||||
DELETE FROM referenced_table WHERE id = 1;
|
DELETE FROM referenced_table WHERE id = 1;
|
||||||
ERROR: update or delete on table "referenced_table_1350225" violates foreign key constraint "referencing_table_ref_id_fkey_1350257" on table "referencing_table_1350257"
|
ERROR: update or delete on table "referenced_table_xxxxxxx" violates foreign key constraint "referencing_table_ref_id_fkey_1350257" on table "referencing_table_xxxxxxx"
|
||||||
DETAIL: Key (id)=(1) is still referenced from table "referencing_table_1350257".
|
DETAIL: Key (id)=(X) is still referenced from table "referencing_table_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
BEGIN;
|
BEGIN;
|
||||||
DELETE FROM referenced_table WHERE id = 1;
|
DELETE FROM referenced_table WHERE id = 1;
|
||||||
|
@ -265,8 +265,8 @@ INSERT INTO referenced_table VALUES(1, 1);
|
||||||
INSERT INTO referencing_table VALUES(1, 1);
|
INSERT INTO referencing_table VALUES(1, 1);
|
||||||
BEGIN;
|
BEGIN;
|
||||||
DELETE FROM referenced_table WHERE id = 1;
|
DELETE FROM referenced_table WHERE id = 1;
|
||||||
ERROR: update or delete on table "referenced_table_1350289" violates foreign key constraint "referencing_table_ref_id_fkey_1350321" on table "referencing_table_1350321"
|
ERROR: update or delete on table "referenced_table_xxxxxxx" violates foreign key constraint "referencing_table_ref_id_fkey_1350321" on table "referencing_table_xxxxxxx"
|
||||||
DETAIL: Key (id)=(1) is still referenced from table "referencing_table_1350321".
|
DETAIL: Key (id)=(X) is still referenced from table "referencing_table_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
DELETE FROM referencing_table WHERE ref_id = 1;
|
DELETE FROM referencing_table WHERE ref_id = 1;
|
||||||
ERROR: current transaction is aborted, commands ignored until end of transaction block
|
ERROR: current transaction is aborted, commands ignored until end of transaction block
|
||||||
|
@ -303,8 +303,8 @@ SELECT create_distributed_table('referencing_table', 'ref_id', 'hash');
|
||||||
INSERT INTO referenced_table VALUES(1, 1);
|
INSERT INTO referenced_table VALUES(1, 1);
|
||||||
INSERT INTO referencing_table VALUES(1, 1);
|
INSERT INTO referencing_table VALUES(1, 1);
|
||||||
UPDATE referenced_table SET test_column = 10 WHERE id = 1;
|
UPDATE referenced_table SET test_column = 10 WHERE id = 1;
|
||||||
ERROR: update or delete on table "referenced_table_1350353" violates foreign key constraint "referencing_table_ref_id_fkey_1350385" on table "referencing_table_1350385"
|
ERROR: update or delete on table "referenced_table_xxxxxxx" violates foreign key constraint "referencing_table_ref_id_fkey_1350385" on table "referencing_table_xxxxxxx"
|
||||||
DETAIL: Key (id, test_column)=(1, 1) is still referenced from table "referencing_table_1350385".
|
DETAIL: Key (id, test_column)=(1, 1) is still referenced from table "referencing_table_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
BEGIN;
|
BEGIN;
|
||||||
UPDATE referenced_table SET test_column = 10 WHERE id = 1;
|
UPDATE referenced_table SET test_column = 10 WHERE id = 1;
|
||||||
|
@ -343,8 +343,8 @@ INSERT INTO referenced_table VALUES(1, 1);
|
||||||
INSERT INTO referencing_table VALUES(1, 1);
|
INSERT INTO referencing_table VALUES(1, 1);
|
||||||
BEGIN;
|
BEGIN;
|
||||||
UPDATE referenced_table SET test_column = 20 WHERE id = 1;
|
UPDATE referenced_table SET test_column = 20 WHERE id = 1;
|
||||||
ERROR: update or delete on table "referenced_table_1350417" violates foreign key constraint "referencing_table_ref_id_fkey_1350449" on table "referencing_table_1350449"
|
ERROR: update or delete on table "referenced_table_xxxxxxx" violates foreign key constraint "referencing_table_ref_id_fkey_1350449" on table "referencing_table_xxxxxxx"
|
||||||
DETAIL: Key (id, test_column)=(1, 1) is still referenced from table "referencing_table_1350449".
|
DETAIL: Key (id, test_column)=(1, 1) is still referenced from table "referencing_table_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
UPDATE referencing_table SET id = 20 WHERE ref_id = 1;
|
UPDATE referencing_table SET id = 20 WHERE ref_id = 1;
|
||||||
ERROR: current transaction is aborted, commands ignored until end of transaction block
|
ERROR: current transaction is aborted, commands ignored until end of transaction block
|
||||||
|
@ -404,7 +404,7 @@ SELECT create_distributed_table('referencing_table', 'ref_id', 'hash');
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
INSERT INTO referencing_table VALUES(null, 2);
|
INSERT INTO referencing_table VALUES(null, 2);
|
||||||
ERROR: insert or update on table "referencing_table_1350600" violates foreign key constraint "referencing_table_ref_id_fkey_1350600"
|
ERROR: insert or update on table "referencing_table_xxxxxxx" violates foreign key constraint "referencing_table_ref_id_fkey_1350600"
|
||||||
DETAIL: MATCH FULL does not allow mixing of null and nonnull key values.
|
DETAIL: MATCH FULL does not allow mixing of null and nonnull key values.
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
SELECT * FROM referencing_table;
|
SELECT * FROM referencing_table;
|
||||||
|
@ -521,8 +521,8 @@ ERROR: number of referencing and referenced columns for foreign key disagree
|
||||||
-- test foreign constraint creation while existing tables does not satisfy the constraint
|
-- test foreign constraint creation while existing tables does not satisfy the constraint
|
||||||
INSERT INTO referencing_table VALUES(1, 1);
|
INSERT INTO referencing_table VALUES(1, 1);
|
||||||
ALTER TABLE referencing_table ADD CONSTRAINT test_constraint FOREIGN KEY(ref_id) REFERENCES referenced_table(id);
|
ALTER TABLE referencing_table ADD CONSTRAINT test_constraint FOREIGN KEY(ref_id) REFERENCES referenced_table(id);
|
||||||
ERROR: insert or update on table "referencing_table_1350628" violates foreign key constraint "test_constraint_1350628"
|
ERROR: insert or update on table "referencing_table_xxxxxxx" violates foreign key constraint "test_constraint_1350628"
|
||||||
DETAIL: Key (ref_id)=(1) is not present in table "referenced_table_1350624".
|
DETAIL: Key (ref_id)=(X) is not present in table "referenced_table_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
-- test foreign constraint with correct conditions
|
-- test foreign constraint with correct conditions
|
||||||
DELETE FROM referencing_table WHERE ref_id = 1;
|
DELETE FROM referencing_table WHERE ref_id = 1;
|
||||||
|
@ -530,8 +530,8 @@ ALTER TABLE referencing_table ADD CONSTRAINT test_constraint FOREIGN KEY(ref_id)
|
||||||
-- test inserts
|
-- test inserts
|
||||||
-- test insert to referencing table while there is NO corresponding value in referenced table
|
-- test insert to referencing table while there is NO corresponding value in referenced table
|
||||||
INSERT INTO referencing_table VALUES(1, 1);
|
INSERT INTO referencing_table VALUES(1, 1);
|
||||||
ERROR: insert or update on table "referencing_table_1350628" violates foreign key constraint "test_constraint_1350628"
|
ERROR: insert or update on table "referencing_table_xxxxxxx" violates foreign key constraint "test_constraint_1350628"
|
||||||
DETAIL: Key (ref_id)=(1) is not present in table "referenced_table_1350624".
|
DETAIL: Key (ref_id)=(X) is not present in table "referenced_table_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
-- test insert to referencing while there is corresponding value in referenced table
|
-- test insert to referencing while there is corresponding value in referenced table
|
||||||
INSERT INTO referenced_table VALUES(1, 1);
|
INSERT INTO referenced_table VALUES(1, 1);
|
||||||
|
@ -539,8 +539,8 @@ INSERT INTO referencing_table VALUES(1, 1);
|
||||||
-- test deletes
|
-- test deletes
|
||||||
-- test delete from referenced table while there is corresponding value in referencing table
|
-- test delete from referenced table while there is corresponding value in referencing table
|
||||||
DELETE FROM referenced_table WHERE id = 1;
|
DELETE FROM referenced_table WHERE id = 1;
|
||||||
ERROR: update or delete on table "referenced_table_1350624" violates foreign key constraint "test_constraint_1350628" on table "referencing_table_1350628"
|
ERROR: update or delete on table "referenced_table_xxxxxxx" violates foreign key constraint "test_constraint_1350628" on table "referencing_table_xxxxxxx"
|
||||||
DETAIL: Key (id)=(1) is still referenced from table "referencing_table_1350628".
|
DETAIL: Key (id)=(X) is still referenced from table "referencing_table_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
-- test delete from referenced table while there is NO corresponding value in referencing table
|
-- test delete from referenced table while there is NO corresponding value in referencing table
|
||||||
DELETE FROM referencing_table WHERE ref_id = 1;
|
DELETE FROM referencing_table WHERE ref_id = 1;
|
||||||
|
@ -569,8 +569,8 @@ ALTER TABLE referencing_table ADD CONSTRAINT test_constraint FOREIGN KEY(ref_id)
|
||||||
INSERT INTO referenced_table VALUES(1, 1);
|
INSERT INTO referenced_table VALUES(1, 1);
|
||||||
INSERT INTO referencing_table VALUES(1, 1);
|
INSERT INTO referencing_table VALUES(1, 1);
|
||||||
DELETE FROM referenced_table WHERE id = 1;
|
DELETE FROM referenced_table WHERE id = 1;
|
||||||
ERROR: update or delete on table "referenced_table_1350624" violates foreign key constraint "test_constraint_1350628" on table "referencing_table_1350628"
|
ERROR: update or delete on table "referenced_table_xxxxxxx" violates foreign key constraint "test_constraint_1350628" on table "referencing_table_xxxxxxx"
|
||||||
DETAIL: Key (id)=(1) is still referenced from table "referencing_table_1350628".
|
DETAIL: Key (id)=(X) is still referenced from table "referencing_table_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
BEGIN;
|
BEGIN;
|
||||||
DELETE FROM referenced_table WHERE id = 1;
|
DELETE FROM referenced_table WHERE id = 1;
|
||||||
|
@ -593,8 +593,8 @@ INSERT INTO referenced_table VALUES(1, 1);
|
||||||
INSERT INTO referencing_table VALUES(1, 1);
|
INSERT INTO referencing_table VALUES(1, 1);
|
||||||
BEGIN;
|
BEGIN;
|
||||||
DELETE FROM referenced_table WHERE id = 1;
|
DELETE FROM referenced_table WHERE id = 1;
|
||||||
ERROR: update or delete on table "referenced_table_1350624" violates foreign key constraint "test_constraint_1350628" on table "referencing_table_1350628"
|
ERROR: update or delete on table "referenced_table_xxxxxxx" violates foreign key constraint "test_constraint_1350628" on table "referencing_table_xxxxxxx"
|
||||||
DETAIL: Key (id)=(1) is still referenced from table "referencing_table_1350628".
|
DETAIL: Key (id)=(X) is still referenced from table "referencing_table_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
DELETE FROM referencing_table WHERE ref_id = 1;
|
DELETE FROM referencing_table WHERE ref_id = 1;
|
||||||
ERROR: current transaction is aborted, commands ignored until end of transaction block
|
ERROR: current transaction is aborted, commands ignored until end of transaction block
|
||||||
|
@ -615,8 +615,8 @@ ALTER TABLE referencing_table DROP CONSTRAINT test_constraint;
|
||||||
-- test ON UPDATE NO ACTION + DEFERABLE + INITIALLY DEFERRED
|
-- test ON UPDATE NO ACTION + DEFERABLE + INITIALLY DEFERRED
|
||||||
ALTER TABLE referencing_table ADD CONSTRAINT test_constraint FOREIGN KEY(ref_id, id) REFERENCES referenced_table(id, test_column) ON UPDATE NO ACTION DEFERRABLE INITIALLY DEFERRED;
|
ALTER TABLE referencing_table ADD CONSTRAINT test_constraint FOREIGN KEY(ref_id, id) REFERENCES referenced_table(id, test_column) ON UPDATE NO ACTION DEFERRABLE INITIALLY DEFERRED;
|
||||||
UPDATE referenced_table SET test_column = 10 WHERE id = 1;
|
UPDATE referenced_table SET test_column = 10 WHERE id = 1;
|
||||||
ERROR: update or delete on table "referenced_table_1350624" violates foreign key constraint "test_constraint_1350628" on table "referencing_table_1350628"
|
ERROR: update or delete on table "referenced_table_xxxxxxx" violates foreign key constraint "test_constraint_1350628" on table "referencing_table_xxxxxxx"
|
||||||
DETAIL: Key (id, test_column)=(1, 1) is still referenced from table "referencing_table_1350628".
|
DETAIL: Key (id, test_column)=(1, 1) is still referenced from table "referencing_table_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
BEGIN;
|
BEGIN;
|
||||||
UPDATE referenced_table SET test_column = 10 WHERE id = 1;
|
UPDATE referenced_table SET test_column = 10 WHERE id = 1;
|
||||||
|
@ -639,8 +639,8 @@ ALTER TABLE referencing_table DROP CONSTRAINT test_constraint;
|
||||||
ALTER TABLE referencing_table ADD CONSTRAINT test_constraint FOREIGN KEY(ref_id, id) REFERENCES referenced_table(id, test_column) ON UPDATE RESTRICT;
|
ALTER TABLE referencing_table ADD CONSTRAINT test_constraint FOREIGN KEY(ref_id, id) REFERENCES referenced_table(id, test_column) ON UPDATE RESTRICT;
|
||||||
BEGIN;
|
BEGIN;
|
||||||
UPDATE referenced_table SET test_column = 20 WHERE id = 1;
|
UPDATE referenced_table SET test_column = 20 WHERE id = 1;
|
||||||
ERROR: update or delete on table "referenced_table_1350624" violates foreign key constraint "test_constraint_1350628" on table "referencing_table_1350628"
|
ERROR: update or delete on table "referenced_table_xxxxxxx" violates foreign key constraint "test_constraint_1350628" on table "referencing_table_xxxxxxx"
|
||||||
DETAIL: Key (id, test_column)=(1, 10) is still referenced from table "referencing_table_1350628".
|
DETAIL: Key (id, test_column)=(1, 10) is still referenced from table "referencing_table_xxxxxxx".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
UPDATE referencing_table SET id = 20 WHERE ref_id = 1;
|
UPDATE referencing_table SET id = 20 WHERE ref_id = 1;
|
||||||
ERROR: current transaction is aborted, commands ignored until end of transaction block
|
ERROR: current transaction is aborted, commands ignored until end of transaction block
|
||||||
|
@ -673,7 +673,7 @@ ALTER TABLE referencing_table DROP CONSTRAINT test_constraint;
|
||||||
-- test MATCH FULL
|
-- test MATCH FULL
|
||||||
ALTER TABLE referencing_table ADD CONSTRAINT test_constraint FOREIGN KEY(ref_id, id) REFERENCES referenced_table(id, test_column) MATCH FULL;
|
ALTER TABLE referencing_table ADD CONSTRAINT test_constraint FOREIGN KEY(ref_id, id) REFERENCES referenced_table(id, test_column) MATCH FULL;
|
||||||
INSERT INTO referencing_table VALUES(null, 2);
|
INSERT INTO referencing_table VALUES(null, 2);
|
||||||
ERROR: insert or update on table "referencing_table_1350631" violates foreign key constraint "test_constraint_1350631"
|
ERROR: insert or update on table "referencing_table_xxxxxxx" violates foreign key constraint "test_constraint_1350631"
|
||||||
DETAIL: MATCH FULL does not allow mixing of null and nonnull key values.
|
DETAIL: MATCH FULL does not allow mixing of null and nonnull key values.
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
SELECT * FROM referencing_table;
|
SELECT * FROM referencing_table;
|
||||||
|
@ -749,7 +749,7 @@ COMMIT;
|
||||||
-- test insertion to referencing table, we expect that to fail
|
-- test insertion to referencing table, we expect that to fail
|
||||||
INSERT INTO transaction_referencing_table VALUES(1, 1);
|
INSERT INTO transaction_referencing_table VALUES(1, 1);
|
||||||
ERROR: insert or update on table "transaction_referencing_table" violates foreign key constraint "transaction_fk_constraint"
|
ERROR: insert or update on table "transaction_referencing_table" violates foreign key constraint "transaction_fk_constraint"
|
||||||
DETAIL: Key (ref_id)=(1) is not present in table "transaction_referenced_table".
|
DETAIL: Key (ref_id)=(X) is not present in table "transaction_referenced_table".
|
||||||
-- proper insertion to both referenced and referencing tables
|
-- proper insertion to both referenced and referencing tables
|
||||||
INSERT INTO transaction_referenced_table VALUES(1);
|
INSERT INTO transaction_referenced_table VALUES(1);
|
||||||
INSERT INTO transaction_referencing_table VALUES(1, 1);
|
INSERT INTO transaction_referencing_table VALUES(1, 1);
|
||||||
|
|
|
@ -484,7 +484,7 @@ BEGIN;
|
||||||
INSERT INTO objects VALUES (1, 'apple');
|
INSERT INTO objects VALUES (1, 'apple');
|
||||||
INSERT INTO objects VALUES (1, 'orange');
|
INSERT INTO objects VALUES (1, 'orange');
|
||||||
ERROR: duplicate key value violates unique constraint "objects_pkey_1200003"
|
ERROR: duplicate key value violates unique constraint "objects_pkey_1200003"
|
||||||
DETAIL: Key (id)=(1) already exists.
|
DETAIL: Key (id)=(X) already exists.
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
COMMIT;
|
COMMIT;
|
||||||
-- data shouldn't have persisted...
|
-- data shouldn't have persisted...
|
||||||
|
|
|
@ -201,7 +201,7 @@ BEGIN;
|
||||||
INSERT INTO objects_mx VALUES (1, 'apple');
|
INSERT INTO objects_mx VALUES (1, 'apple');
|
||||||
INSERT INTO objects_mx VALUES (1, 'orange');
|
INSERT INTO objects_mx VALUES (1, 'orange');
|
||||||
ERROR: duplicate key value violates unique constraint "objects_mx_pkey_1220103"
|
ERROR: duplicate key value violates unique constraint "objects_mx_pkey_1220103"
|
||||||
DETAIL: Key (id)=(1) already exists.
|
DETAIL: Key (id)=(X) already exists.
|
||||||
COMMIT;
|
COMMIT;
|
||||||
-- data shouldn't have persisted...
|
-- data shouldn't have persisted...
|
||||||
SELECT * FROM objects_mx WHERE id = 1;
|
SELECT * FROM objects_mx WHERE id = 1;
|
||||||
|
@ -216,7 +216,7 @@ BEGIN;
|
||||||
INSERT INTO objects_mx VALUES (1, 'apple');
|
INSERT INTO objects_mx VALUES (1, 'apple');
|
||||||
INSERT INTO objects_mx VALUES (1, 'orange');
|
INSERT INTO objects_mx VALUES (1, 'orange');
|
||||||
ERROR: duplicate key value violates unique constraint "objects_mx_pkey_1220103"
|
ERROR: duplicate key value violates unique constraint "objects_mx_pkey_1220103"
|
||||||
DETAIL: Key (id)=(1) already exists.
|
DETAIL: Key (id)=(X) already exists.
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
COMMIT;
|
COMMIT;
|
||||||
-- data shouldn't have persisted...
|
-- data shouldn't have persisted...
|
||||||
|
|
|
@ -1919,7 +1919,7 @@ INSERT INTO partitioning_test_2010 VALUES (1, '2010-02-01');
|
||||||
ALTER TABLE partitioning_test ATTACH PARTITION partitioning_test_2010
|
ALTER TABLE partitioning_test ATTACH PARTITION partitioning_test_2010
|
||||||
FOR VALUES FROM ('2010-01-01') TO ('2011-01-01');
|
FOR VALUES FROM ('2010-01-01') TO ('2011-01-01');
|
||||||
ERROR: insert or update on table "partitioning_test_2010_1660191" violates foreign key constraint "partitioning_reference_fkey_1660179"
|
ERROR: insert or update on table "partitioning_test_2010_1660191" violates foreign key constraint "partitioning_reference_fkey_1660179"
|
||||||
DETAIL: Key (id)=(1) is not present in table "reference_table_1660177".
|
DETAIL: Key (id)=(X) is not present in table "reference_table_1660177".
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
CONTEXT: while executing command on localhost:xxxxx
|
||||||
-- Truncate, so attaching again won't fail
|
-- Truncate, so attaching again won't fail
|
||||||
TRUNCATE partitioning_test_2010;
|
TRUNCATE partitioning_test_2010;
|
||||||
|
|
Loading…
Reference in New Issue