--int1 create table source(a int); insert into source values(1); drop table t1; drop table t2; create table t1(a int1, b int1); create table t2(a int1, b int1); insert into t1 select generate_series(1, 127), generate_series(1, 127) from source; insert into t2 select generate_series(1, 127), generate_series(1, 127) from source; analyze t1; analyze t2; explain (costs off) select * from t1, t2 where t1.a = t2.b; select * from t1, t2 where t1.a = t2.b order by 1, 2, 3, 4; drop table t1; drop table t2; --oid create table t1(a oid, b oid); create table t2(a oid, b oid); insert into t1 select generate_series(1, 127), generate_series(1, 127) from source; insert into t2 select generate_series(1, 127), generate_series(1, 127) from source; analyze t1; analyze t2; explain (costs off) select * from t1, t2 where t1.a = t2.b; select * from t1, t2 where t1.a = t2.b order by 1, 2, 3, 4; drop table t1; drop table t2; --bool create table t1(a bool, b bool); create table t2(a bool, b bool); explain (costs off) select * from t1, t2 where t1.a = t2.b; select * from t1, t2 where t1.a = t2.b order by 1, 2, 3, 4; drop table t1; drop table t2; --char create table t1(a "char", b "char"); create table t2(a "char", b "char"); insert into t1 select generate_series(1, 127)::char,generate_series(1, 127)::char from source; insert into t2 select generate_series(1, 127)::char,generate_series(1, 127)::char from source; analyze t1; analyze t2; explain (costs off) select * from t1, t2 where t1.a = t2.b; select * from t1, t2 where t1.a = t2.b order by 1, 2, 3, 4; drop table t1; drop table t2; --name create table t1(a name, b name); create table t2(a name, b name); explain (costs off) select * from t1, t2 where t1.a = t2.b order by 1, 2, 3, 4; select * from t1, t2 where t1.a = t2.b order by 1, 2, 3, 4; drop table t1; drop table t2; --int2vector create table t1(a int2vector, b int2vector); create table t2(a int2vector, b int2vector); insert into t1 select * from t2; drop table t1; drop table t2; --NVARCHAR2 create table t1(a NVARCHAR2, b NVARCHAR2); create table t2(a NVARCHAR2, b NVARCHAR2); insert into t1 select * from t2; drop table t1; drop table t2; --OIDVECTOR create table t1(a OIDVECTOR, b OIDVECTOR); create table t2(a OIDVECTOR, b OIDVECTOR); insert into t1 select * from t2; drop table t1; drop table t2; --FLOAT4 create table t1(a FLOAT4, b FLOAT4); create table t2(a FLOAT4, b FLOAT4); insert into t1 select * from t2; drop table t1; drop table t2; --ABSTIME create table t1(a ABSTIME, b ABSTIME); create table t2(a ABSTIME, b ABSTIME); insert into t1 select * from t2; drop table t1; drop table t2; --RELTIME create table t1(a RELTIME, b RELTIME); create table t2(a RELTIME, b RELTIME); insert into t1 select * from t2; drop table t1; drop table t2; --CASH create table t1(a MONEY, b MONEY); create table t2(a MONEY, b MONEY); insert into t1 select * from t2; drop table t1; drop table t2; --BYTEA create table t1(a BYTEA, b BYTEA); create table t2(a BYTEA, b BYTEA); insert into t1 select * from t2; drop table t1; drop table t2; --DATE create table t1(a DATE, b DATE); create table t2(a DATE, b DATE); insert into t1 select * from t2; drop table t1; drop table t2; --INTERVAL create table t1(a INTERVAL, b INTERVAL); create table t2(a INTERVAL, b INTERVAL); insert into t1 select * from t2; drop table t1; drop table t2; --TIMETZ create table t1(a TIMETZ, b TIMETZ); create table t2(a TIMETZ, b TIMETZ); insert into t1 select * from t2; drop table t1; drop table t2; -- SMALLDATETIME create table t1(a SMALLDATETIME, b SMALLDATETIME); create table t2(a SMALLDATETIME, b SMALLDATETIME); insert into t1 select * from t2; drop table t1; drop table t2; --check passwd create user testtest password 'tsettset'; create user test_llt password 'Ttest@123'; alter user test_llt with password '321@tsetT'; create table t1(a int); create function test(t1) returns void as $$ begin return; end $$ language plpgsql; declare a t1; begin perform test(a); end; / explain (costs off) select * from t1 where not exists (select a from t2); select * from t1 where not exists (select a from t2); explain (costs off) select * from t1 where not a = any (select a from t2); select * from t1 where not a = any (select a from t2); create table test_range_datatype_int2(a int2) partition by range(a) ( partition test_range_datatype_int2_p1 values less than (1), partition test_range_datatype_int2_p2 values less than (2) ); vacuum full test_range_datatype_int2; set enable_kill_query=on; create user test_llt_cancel password 'Ttest@123'; set current_schema = test_llt; create table test(a int); set current_schema = public; drop user test_llt_cancel cascade; --bytealt create table test_bytea(a bytea, b bytea); insert into test_bytea values('abc', 'abcd'); select * from test_bytea where a < b; --rawne create table test_raw(a raw, b raw); insert into test_raw values('abc', 'abc'), ('abc', 'abcde'); select * from test_raw where a != b; --rawtotext select rawtohex(a) from test_raw; --DCH_from_char select to_timestamp('20120930 09:30 pm', 'yyyymmdd hh:MI pm'); select to_timestamp('20120930 09:30 p.m.', 'yyyymmdd hh:MI p.m.'); select to_timestamp('20120930 09:30 111', 'yyyymmdd hh:MI MS'); select to_timestamp('20120930 09:30 111', 'yyyymmdd hh:MI US'); select to_timestamp('20120930 09:30 11111', 'yyyymmdd hh:MI SSSSS'); select to_timestamp('20120930 09:30 11111 TZ', 'yyyymmdd hh:MI SSSSS TZ'); select to_timestamp('20120930 09:30 111 B.C.', 'yyyymmdd hh:MI US B.C.'); select to_timestamp('20120930 09:30 111 BC', 'yyyymmdd hh:MI US BC'); select to_timestamp('20120930 09:30 111 fri', 'yyyymmdd hh:MI US dy'); select to_timestamp('20120930 09:30 111 fri 3', 'yyyymmdd hh:MI US dy Q'); select to_timestamp('2012I30 09:30 111 fri 3', 'yyyyRMdd hh:MI US dy Q'); select to_timestamp('20120930 09:30 5 1234', 'yyyymmdd hh:MI W J'); select to_timestamp('20120930 09:30 pm', 'yyyymmdd hh:MI pm FF'); select to_timestamp('20120930 09:30 5555', 'yyyymmdd hh:MI RRRR'); select to_timestamp('20120930 09:30 55', 'yyyymmdd hh:MI RR'); select to_timestamp('20120930 09:30 55', 'yyyymmdd hh:MI FF'); --create role create role llt_1 password 'Ttest@123' auditadmin; create role llt_2 password 'Ttest@123' auditadmin auditadmin; create role llt_3 password 'Ttest@123' sysadmin sysadmin; create role llt_3 password 'Ttest@123' default tablespace abc; create role llt_4 password 'Ttest@123' default tablespace abc default tablespace abc; create role llt_5 password 'Ttest@123' profile default; --alter role alter role llt_5 auditadmin auditadmin; alter role llt_5 sysadmin sysadmin; --pg_test_err_contain_err select pg_test_err_contain_err(1); select pg_test_err_contain_err(2); select pg_test_err_contain_err(3); select pg_test_err_contain_err(4); select pg_test_err_contain_err(5); --DCH_check select to_timestamp('20130230','yyyyMMDD'); select to_timestamp('0230','MMDD'); select to_timestamp('2014366','yyyyddd'); select to_timestamp('13','HH12'); select to_timestamp('13000','sssss'); select to_timestamp('monday','DAY'); select to_timestamp('monday','Day'); select to_timestamp('monday','day'); select to_timestamp('mon','DY'); select to_timestamp('july','MONTH'); select to_timestamp('july','month'); select to_timestamp('feb','mon'); select to_timestamp('I','rm'); select to_date(19980101100000); create schema alter_llt1; create user alter_llt2 password 'Ttest@123'; create table alter_llt1.t1(f1 serial primary key, f2 int check (f2 > 0)); create view alter_llt1.v1 as select * from alter_llt1.t1; create function alter_llt1.plus1(int) returns int as 'select $1+1' language sql; create domain alter_llt1.posint integer check (value > 0); create type alter_llt1.ctype as (f1 int, f2 text); create function alter_llt1.same(alter_llt1.ctype, alter_llt1.ctype) returns boolean language sql as 'select $1.f1 is not distinct from $2.f1 and $1.f2 is not distinct from $2.f2'; create operator alter_llt2.> (procedure = alter_llt1.same, leftarg = alter_llt1.ctype, rightarg = alter_llt1.ctype); --do_to_timestamp select to_timestamp('20130101a','YYYYMMdd'); SELECT TO_TIMESTAMP('2014', 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY'); SELECT TO_TIMESTAMP('2014-15', 'YYYY-HH-YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY'); SELECT TO_TIMESTAMP('12-15', 'SSSSS-SS'); SELECT TO_TIMESTAMP('12-01', 'SSSSS-HH'); SELECT TO_TIMESTAMP('2014-01-02', 'YYYY-DDD-MM'); SELECT TO_TIMESTAMP('2014-01-02', 'YYYY-DDD-DD'); SELECT TO_TIMESTAMP('2014-01-02', 'YYYY12-DDD-DD'); SELECT TO_TIMESTAMP('2014', 'YYYY12YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY'); CREATE TABLE LLT_PART_TEST1(A INT , B INT, C INT) PARTITION BY RANGE(A) ( PARTITION P1 VALUES LESS THAN (1000) ); SELECT * FROM LLT_PART_TEST1 WHERE A > 10 AND A IS NULL; INSERT INTO LLT_PART_TEST1 VALUES (GENERATE_SERIES(1, 130), GENERATE_SERIES(1, 130), GENERATE_SERIES(1, 130)); CREATE INDEX IDX_ON_T1 ON LLT_PART_TEST1(A) LOCAL; VACUUM LLT_PART_TEST1 PARTITION (P1); CLUSTER LLT_PART_TEST1 USING IDX_ON_T1; CREATE VIEW VIEW_ON_LLT_PART_TEST1 AS SELECT * FROM LLT_PART_TEST1; INSERT INTO VIEW_ON_LLT_PART_TEST1 SELECT * FROM LLT_PART_TEST1; CREATE OR REPLACE FUNCTION RESULT_COUNT() RETURNS INTEGER AS $$ DECLARE MYINTEGER INTEGER ; BEGIN SELECT COUNT(*) INTO MYINTEGER FROM LLT_PART_TEST1 WHERE A < 1; RETURN MYINTEGER; END; $$LANGUAGE PLPGSQL; CALL RESULT_COUNT(); DROP TABLE LLT_PART_TEST1 CASCADE; DROP FUNCTION RESULT_COUNT(); CREATE TABLE LLT_INT1_AVG_ACCUM(A INT1); INSERT INTO LLT_INT1_AVG_ACCUM VALUES (GENERATE_SERIES(1, 130)); SELECT AVG(A) FROM LLT_INT1_AVG_ACCUM; DROP TABLE LLT_INT1_AVG_ACCUM; select count(*)::bool from pg_stat_get_activity(NULL); select smalldatetime_smaller('19860111','19860405'); select smalldatetime_smaller('19860405','19860111'); select smalldatetime_larger('19570906','19600907'); select smalldatetime_larger('19600907','19570906'); --blacklist in llt SECURITY LABEL FOR selinux ON TABLE mytable IS 'system_u:object_r:sepgsql_table_t:s0'; CREATE TYPE bigobj (INPUT = lo_filein, OUTPUT = lo_fileout, INTERNALLENGTH = VARIABLE); CREATE TYPE float8_range AS RANGE (subtype = float8, subtype_diff = float8mi); ALTER TYPE colors ADD VALUE 'orange' AFTER 'red'; CREATE COLLATION french (LOCALE = 'fr_FR.utf8'); UNLISTEN virtual; NOTIFY virtual; CREATE LANGUAGE plperl; CREATE OPERATOR FAMILY name USING ALTER OPERATOR FAMILY integer_ops USING btree ADD OPERATOR 1 < (int4, int2) , OPERATOR 2 <= (int4, int2) , FUNCTION 1 btint24cmp(int2, int4) ; ALTER TEXT SEARCH DICTIONARY my_dict ( StopWords = newrussian ); drop table t1 CASCADE; drop table test_raw cascade;