\c table_name_test_db;
set dolphin.lower_case_table_names TO 0;
CREATE TABLE Tmp (initial int4);
COMMENT ON TABLE tmp_wrong IS 'table comment';
COMMENT ON TABLE Tmp IS 'table comment';
COMMENT ON TABLE Tmp IS NULL;
ALTER TABLE Tmp ADD COLUMN xmin integer;
ALTER TABLE Tmp ADD COLUMN a int4 default 3;
ALTER TABLE Tmp ADD COLUMN b name;
ALTER TABLE Tmp ADD COLUMN c text;
ALTER TABLE Tmp ADD COLUMN d float8;
ALTER TABLE Tmp ADD COLUMN e float4;
ALTER TABLE Tmp ADD COLUMN f int2;
ALTER TABLE Tmp ADD COLUMN g polygon;
ALTER TABLE Tmp ADD COLUMN h abstime;
ALTER TABLE Tmp ADD COLUMN i char;
ALTER TABLE Tmp ADD COLUMN j abstime[];
ALTER TABLE Tmp ADD COLUMN k int4;
ALTER TABLE Tmp ADD COLUMN l tid;
ALTER TABLE Tmp ADD COLUMN m xid;
ALTER TABLE Tmp ADD COLUMN n oidvector;
ALTER TABLE Tmp ADD COLUMN p smgr;
ALTER TABLE Tmp ADD COLUMN q point;
ALTER TABLE Tmp ADD COLUMN r lseg;
ALTER TABLE Tmp ADD COLUMN s path;
ALTER TABLE Tmp ADD COLUMN t box;
ALTER TABLE Tmp ADD COLUMN u tinterval;
ALTER TABLE Tmp ADD COLUMN v timestamp;
ALTER TABLE Tmp ADD COLUMN w interval;
ALTER TABLE Tmp ADD COLUMN x float8[];
ALTER TABLE Tmp ADD COLUMN y float4[];
ALTER TABLE Tmp ADD COLUMN z int2[];
INSERT INTO Tmp (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, t, u,
v, w, x, y, z)
VALUES (4, 'name', 'text', 4.1, 4.1, 2, '(4.1,4.1,3.1,3.1)',
'Mon May 1 00:30:30 1995', 'c', '{Mon May 1 00:30:30 1995, Monday Aug 24 14:43:07 1992, epoch}',
314159, '(1,1)', '512',
'1 2 3 4 5 6 7 8', 'magnetic disk', '(1.1,1.1)', '(4.1,4.1,3.1,3.1)',
'(0,2,4.1,4.1,3.1,3.1)', '(4.1,4.1,3.1,3.1)', '["epoch" "infinity"]',
'epoch', '01:00:10', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}');
SELECT * FROM Tmp;
DROP TABLE Tmp;
CREATE TABLE Tmp (
initial int4
);
ALTER TABLE Tmp ADD COLUMN a int4;
ALTER TABLE Tmp ADD COLUMN b name;
ALTER TABLE Tmp ADD COLUMN c text;
ALTER TABLE Tmp ADD COLUMN d float8;
ALTER TABLE Tmp ADD COLUMN e float4;
ALTER TABLE Tmp ADD COLUMN f int2;
ALTER TABLE Tmp ADD COLUMN g polygon;
ALTER TABLE Tmp ADD COLUMN h abstime;
ALTER TABLE Tmp ADD COLUMN i char;
ALTER TABLE Tmp ADD COLUMN j abstime[];
ALTER TABLE Tmp ADD COLUMN k int4;
ALTER TABLE Tmp ADD COLUMN l tid;
ALTER TABLE Tmp ADD COLUMN m xid;
ALTER TABLE Tmp ADD COLUMN n oidvector;
ALTER TABLE Tmp ADD COLUMN p smgr;
ALTER TABLE Tmp ADD COLUMN q point;
ALTER TABLE Tmp ADD COLUMN r lseg;
ALTER TABLE Tmp ADD COLUMN s path;
ALTER TABLE Tmp ADD COLUMN t box;
ALTER TABLE Tmp ADD COLUMN u tinterval;
ALTER TABLE Tmp ADD COLUMN v timestamp;
ALTER TABLE Tmp ADD COLUMN w interval;
ALTER TABLE Tmp ADD COLUMN x float8[];
ALTER TABLE Tmp ADD COLUMN y float4[];
ALTER TABLE Tmp ADD COLUMN z int2[];
INSERT INTO Tmp (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, t, u,
v, w, x, y, z)
VALUES (4, 'name', 'text', 4.1, 4.1, 2, '(4.1,4.1,3.1,3.1)',
'Mon May 1 00:30:30 1995', 'c', '{Mon May 1 00:30:30 1995, Monday Aug 24 14:43:07 1992, epoch}',
314159, '(1,1)', '512',
'1 2 3 4 5 6 7 8', 'magnetic disk', '(1.1,1.1)', '(4.1,4.1,3.1,3.1)',
'(0,2,4.1,4.1,3.1,3.1)', '(4.1,4.1,3.1,3.1)', '["epoch" "infinity"]',
'epoch', '01:00:10', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}');
SELECT * FROM Tmp;
DROP TABLE Tmp;
CREATE TABLE Tmp (regtable int);
ALTER TABLE Tmp RENAME TO Tmp_new;
SELECT * FROM Tmp;
SELECT *, FROM Tmp;
SELECT * FROM Tmp_new;
DROP TABLE Tmp_new;
CREATE TABLE Tmp (ch1 character(1));
insert into Tmp values ('asdv');
DROP TABLE Tmp;
\set VERBOSITY default
ALTER INDEX IF EXISTS __onek_unique1 RENAME TO tmp_onek_unique1;
ALTER INDEX IF EXISTS __tmp_onek_unique1 RENAME TO onek_unique1;
ALTER INDEX onek_unique1 RENAME TO tmp_onek_unique1;
ALTER INDEX tmp_onek_unique1 RENAME TO onek_unique1;
CREATE VIEW tmp_view (unique1) AS SELECT unique1 FROM Tenk1;
ALTER TABLE tmp_view RENAME TO tmp_view_new;
ANALYZE Tenk1;
set enable_seqscan to off;
set enable_bitmapscan to off;
SELECT unique1 FROM Tenk1 WHERE unique1 < 5 ORDER BY unique1;
reset enable_seqscan;
reset enable_bitmapscan;
DROP VIEW tmp_view_new;
alter table Stud_Emp rename to pg_toast_stud_emp;
alter table pg_toast_stud_emp rename to Stud_Emp;
ALTER TABLE Onek ADD CONSTRAINT onek_unique1_constraint UNIQUE (unique1);
ALTER INDEX onek_unique1_constraint RENAME TO onek_unique1_constraint_foo;
ALTER TABLE Onek DROP CONSTRAINT onek_unique1_constraint_foo;
ALTER TABLE Onek ADD CONSTRAINT onek_check_constraint CHECK (unique1 >= 0);
ALTER TABLE Onek RENAME CONSTRAINT onek_check_constraint TO onek_check_constraint_foo;
ALTER TABLE Onek DROP CONSTRAINT onek_check_constraint_foo;
ALTER TABLE Onek ADD CONSTRAINT onek_unique1_constraint UNIQUE (unique1);
DROP INDEX onek_unique1_constraint;
ALTER TABLE Onek RENAME CONSTRAINT onek_unique1_constraint TO onek_unique1_constraint_foo;
DROP INDEX onek_unique1_constraint_foo;
ALTER TABLE Onek DROP CONSTRAINT onek_unique1_constraint_foo;
CREATE TABLE Constraint_Rename_Test (a int CONSTRAINT con1 CHECK (a > 0), b int, c int);
\d "Constraint_Rename_Test"
CREATE TABLE Constraint_Rename_Test2 (a int CONSTRAINT con1 CHECK (a > 0), d int) InheRITS (Constraint_Rename_Test);
\d "Constraint_Rename_Test2"
ALTER TABLE Constraint_Rename_Test2 RENAME CONSTRAINT con1 TO con1foo;
ALTER TABLE ONLY (Constraint_Rename_Test) RENAME CONSTRAINT con1 TO con1foo;
ALTER TABLE Constraint_Rename_Test RENAME CONSTRAINT con1 TO con1foo;
\d "Constraint_Rename_Test"
\d "Constraint_Rename_Test2"
ALTER TABLE Constraint_Rename_Test ADD CONSTRAINT con2 CHECK (b > 0) NO InheRIT;
ALTER TABLE ONLY (Constraint_Rename_Test) RENAME CONSTRAINT con2 TO con2foo;
ALTER TABLE Constraint_Rename_Test RENAME CONSTRAINT con2foo TO con2bar;
\d "Constraint_Rename_Test"
\d "Constraint_Rename_Test2"
ALTER TABLE Constraint_Rename_Test ADD CONSTRAINT con3 PRIMARY KEY (a);
ALTER TABLE Constraint_Rename_Test RENAME CONSTRAINT con3 TO con3foo;
\d "Constraint_Rename_Test"
\d "Constraint_Rename_Test2"
DROP TABLE Constraint_Rename_Test2;
DROP TABLE Constraint_Rename_Test;
ALTER TABLE IF EXISTS Constraint_Rename_Test ADD CONSTRAINT con4 UNIQUE (a);
CREATE TABLE Tmp2 (a int primary key);
CREATE TABLE Tmp3 (a int, b int);
CREATE TABLE Tmp4 (a int, b int, unique(a,b));
CREATE TABLE Tmp5 (a int, b int);
INSERT INTO Tmp2 values (1);
INSERT INTO Tmp2 values (2);
INSERT INTO Tmp2 values (3);
INSERT INTO Tmp2 values (4);
INSERT INTO Tmp3 values (1,10);
INSERT INTO Tmp3 values (1,20);
INSERT INTO Tmp3 values (5,50);
ALTER TABLE Tmp3 add constraint tmpconstr foreign key(c) references Tmp2 match full;
ALTER TABLE Tmp3 add constraint tmpconstr foreign key(a) references Tmp2(b) match full;
ALTER TABLE Tmp3 add constraint tmpconstr foreign key (a) references Tmp2 match full;
DELETE FROM Tmp3 where a=5;
ALTER TABLE Tmp3 add constraint tmpconstr foreign key (a) references Tmp2 match full;
ALTER TABLE Tmp3 drop constraint tmpconstr;
INSERT INTO Tmp3 values (5,50);
ALTER TABLE Tmp3 add constraint tmpconstr foreign key (a) references Tmp2 match full NOT VALID;
ALTER TABLE Tmp3 validate constraint tmpconstr;
DELETE FROM Tmp3 where a=5;
ALTER TABLE Tmp3 validate constraint tmpconstr;
ALTER TABLE Tmp3 validate constraint tmpconstr;
ALTER TABLE Tmp3 ADD CONSTRAINT b_greater_than_ten CHECK (b > 10);
ALTER TABLE Tmp3 ADD CONSTRAINT b_greater_than_ten CHECK (b > 10) NOT VALID;
ALTER TABLE Tmp3 VALIDATE CONSTRAINT b_greater_than_ten;
DELETE FROM Tmp3 WHERE NOT b > 10;
ALTER TABLE Tmp3 VALIDATE CONSTRAINT b_greater_than_ten;
ALTER TABLE Tmp3 VALIDATE CONSTRAINT b_greater_than_ten;
select * from Tmp3;
CREATE TABLE Tmp6 () INHERITS (Tmp3);
CREATE TABLE Tmp7 () INHERITS (Tmp3);
INSERT INTO Tmp6 VALUES (6, 30), (7, 16);
ALTER TABLE Tmp3 ADD CONSTRAINT b_le_20 CHECK (b <= 20) NOT VALID;
ALTER TABLE Tmp3 VALIDATE CONSTRAINT b_le_20;
DELETE FROM Tmp6 WHERE b > 20;
ALTER TABLE Tmp3 VALIDATE CONSTRAINT b_le_20;
CREATE FUNCTION boo(int) RETURNS int IMMUTABLE STRICT LANGUAGE plpgsql AS $$ BEGIN RAISE NOTICE 'boo: %', $1; RETURN $1; END; $$;
INSERT INTO Tmp7 VALUES (8, 18);
set client_min_messages=WARNING;
ALTER TABLE Tmp7 ADD CONSTRAINT identity CHECK (b = boo(b));
reset client_min_messages;
ALTER TABLE Tmp3 ADD CONSTRAINT IDENTITY check (b = boo(b)) NOT VALID;
set client_min_messages=WARNING;
ALTER TABLE Tmp3 VALIDATE CONSTRAINT identity;
reset client_min_messages;
ALTER TABLE Tmp5 add constraint tmpconstr foreign key(a) references Tmp4(a) match full;
DROP TABLE Tmp7;
DROP TABLE Tmp6;
DROP TABLE Tmp5;
DROP TABLE Tmp4;
DROP TABLE Tmp3;
DROP TABLE Tmp2;
set constraint_exclusion TO 'partition';
create table NV_Parent (d date);
create table NV_Child_2010 () Inherits (NV_Parent);
create table NV_Child_2011 () Inherits (NV_Parent);
alter table NV_Child_2010 add check (d between '2010-01-01'::date and '2010-12-31'::date) not valid;
alter table NV_Child_2011 add check (d between '2011-01-01'::date and '2011-12-31'::date) not valid;
explain (costs off) select * from NV_Parent where d between '2011-08-01' and '2011-08-31';
create table NV_Child_2009 (check (d between '2009-01-01'::date and '2009-12-31'::date)) Inherits (NV_Parent);
explain (costs off) select * from NV_Parent where d between '2011-08-01'::date and '2011-08-31'::date;
explain (costs off) select * from NV_Parent where d between '2009-08-01'::date and '2009-08-31'::date;
alter table NV_Child_2011 VALIDATE CONSTRAINT nv_child_2011_d_check;
explain (costs off) select * from NV_Parent where d between '2009-08-01'::date and '2009-08-31'::date;
CREATE TABLE PKTABLE (ptest1 int PRIMARY KEY);
INSERT INTO PKTABLE VALUES(42);
CREATE TABLE FKTABLE (ftest1 inet);
ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1) references PKTABLE;
ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1) references PKTABLE(ptest1);
DROP TABLE FKTABLE;
CREATE TABLE FKTABLE (ftest1 int8);
ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1) references PKTABLE;
INSERT INTO FKTABLE VALUES(42);
INSERT INTO FKTABLE VALUES(43);
DROP TABLE FKTABLE;
CREATE TABLE FKTABLE (ftest1 numeric);
ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1) references PKTABLE;
DROP TABLE FKTABLE;
DROP TABLE PKTABLE;
CREATE TABLE PKTABLE (ptest1 numeric PRIMARY KEY);
INSERT INTO PKTABLE VALUES(42);
CREATE TABLE FKTABLE (ftest1 int);
ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1) references PKTABLE;
INSERT INTO FKTABLE VALUES(42);
INSERT INTO FKTABLE VALUES(43);
DROP TABLE FKTABLE;
DROP TABLE PKTABLE;
CREATE TABLE PKTABLE (ptest1 int, ptest2 inet,
PRIMARY KEY(ptest1, ptest2));
CREATE TABLE FKTABLE (ftest1 cidr, ftest2 timestamp);
ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1, ftest2) references PKTABLE;
DROP TABLE FKTABLE;
CREATE TABLE FKTABLE (ftest1 cidr, ftest2 timestamp);
ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1, ftest2)
references PKTABLE(ptest1, ptest2);
DROP TABLE FKTABLE;
CREATE TABLE FKTABLE (ftest1 int, ftest2 inet);
ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1, ftest2)
references PKTABLE(ptest2, ptest1);
ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest2, ftest1)
references PKTABLE(ptest1, ptest2);
CREATE SCHEMA test_rename;
SET current_schema TO test_rename;
DROP TABLE IF EXISTS T2;
create table T2(AA int);
set dolphin.lower_case_table_names = 1;
ALTER TABLE "T2" RENAME TO T2;
ALTER TABLE IF EXISTS "T3" RENAME TO T3;
create table "T3"(AA int);
ALTER TABLE IF EXISTS "T3" RENAME TO T3;
SELECT relname FROM pg_class WHERE (relname = 'T2' OR relname = 'T3' OR relname = 't2' OR relname = 't3') AND relnamespace IN (SELECT oid FROM pg_namespace WHERE nspname = 'test_rename') ORDER BY 1;
set dolphin.lower_case_table_names = 0;
ALTER TABLE t2 RENAME TO T2;
ALTER TABLE IF EXISTS t3 RENAME TO T3;
SELECT relname FROM pg_class WHERE (relname = 'T2' OR relname = 'T3' OR relname = 't2' OR relname = 't3') AND relnamespace IN (SELECT oid FROM pg_namespace WHERE nspname = 'test_rename') ORDER BY 1;
DROP TABLE T2;
DROP TABLE T3;
SET current_schema TO public;
DROP SCHEMA test_rename CASCADE;
drop table if exists user;
create table user(id int, user_name VARCHAR(255) NOT NULL);
show create table user;
ALTER TABLE user MODIFY user_name VARCHAR(45);
show create table user;
drop table user;