http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/27147c57/src/test/feature/partition/ans/partition_negetive_and_basics.ans ---------------------------------------------------------------------- diff --git a/src/test/feature/partition/ans/partition_negetive_and_basics.ans b/src/test/feature/partition/ans/partition_negetive_and_basics.ans new file mode 100755 index 0000000..7f1adad --- /dev/null +++ b/src/test/feature/partition/ans/partition_negetive_and_basics.ans @@ -0,0 +1,2551 @@ +-- start_ignore +SET SEARCH_PATH=TestPartition_TestPartitionNegativeAndBasics; +SET +-- end_ignore +set enable_partition_rules = false; +SET +set gp_enable_hash_partitioned_tables = true; +SET +-- missing subpartition by +create table ggg (a char(1), b char(2), d char(3)) +distributed by (a) +partition by hash (b) +( +partition aa (subpartition cc, subpartition dd), +partition bb (subpartition cc, subpartition dd) +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:14: ERROR: missing SUBPARTITION BY clause for subpartition specification +LINE 5: partition aa (subpartition cc, subpartition dd), + ^ +-- missing subpartition spec +create table ggg (a char(1), b char(2), d char(3)) +distributed by (a) +partition by hash (b) +subpartition by hash (d) +( +partition aa , +partition bb +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:24: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:24: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:24: ERROR: hash partition requires PARTITIONS clause or partition specification +LINE 4: subpartition by hash (d) + ^ +-- subpart spec conflict +create table ggg (a char(1), b char(2), d char(3)) +distributed by (a) +partition by hash (b) +subpartition by hash (d) subpartition template (subpartition jjj) +( +partition aa (subpartition cc, subpartition dd), +partition bb (subpartition cc, subpartition dd) +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:34: ERROR: subpartition configuration conflicts with subpartition template +LINE 4: subpartition by hash (d) subpartition template (subpartition... + ^ +-- missing subpartition by +create table ggg (a char(1), b char(2), d char(3)) +distributed by (a) +partition by hash (b) +subpartition by hash (d) +( +partition aa (subpartition cc, subpartition dd (subpartition iii)), +partition bb (subpartition cc, subpartition dd) +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:44: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:44: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:44: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:44: ERROR: missing SUBPARTITION BY clause for subpartition specification (at depth 2) +LINE 6: partition aa (subpartition cc, subpartition dd (subpartition... + ^ +-- Test column lookup works +create table ggg (a char(1), b char(2), d char(3)) +distributed by (a) +partition by hash(doesnotexist) +partitions 3; +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:50: ERROR: column "doesnotexist" does not exist in relation "ggg" +LINE 3: partition by hash(doesnotexist) + ^ +create table ggg (a char(1), b char(2), d char(3)) +distributed by (a) +partition by hash(b) +partitions 3 +subpartition by list(alsodoesntexist) +subpartition template ( +subpartition aa values(1) +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:59: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:59: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:59: NOTICE: CREATE TABLE will create partition "ggg_1_prt_3" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:59: ERROR: column "alsodoesntexist" does not exist in relation "ggg_1_prt_1" +LINE 5: subpartition by list(alsodoesntexist) + ^ +-- will not work since sql has no subpartition templates +create table ggg (a char(1), b char(2), d char(3)) +distributed by (a) +partition by hash (b) +subpartition by hash (d) +( +partition aa (subpartition cc, subpartition dd), +partition bb (subpartition cc, subpartition dd) +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:69: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:69: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:69: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:69: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:69: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_cc" for table "ggg_1_prt_bb" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:69: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd" for table "ggg_1_prt_bb" +CREATE TABLE +drop table if exists ggg cascade; +DROP TABLE +-- disable hash partitions +set gp_enable_hash_partitioned_tables = false; +SET +create table ggg (a char(1), b char(2), d char(3)) +distributed by (a) +partition by hash (b) +subpartition by hash (d) +( +partition aa (subpartition cc, subpartition dd), +partition bb (subpartition cc, subpartition dd) +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:83: ERROR: PARTITION BY must specify RANGE or LIST +drop table ggg cascade; +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:85: ERROR: table "ggg" does not exist +set gp_enable_hash_partitioned_tables = true; +SET +-- should work +create table ggg (a char(1), b char(2), d char(3), e int) +distributed by (a) +partition by hash (b) +subpartition by hash (d) +subpartition template ( +subpartition cc, +subpartition dd +), +subpartition by hash (e) +subpartition template ( +subpartition ee, +subpartition ff +) +( +partition aa, +partition bb +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:106: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:106: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:106: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:106: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:106: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc_3_prt_ee" for table "ggg_1_prt_aa_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:106: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc_3_prt_ff" for table "ggg_1_prt_aa_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:106: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd_3_prt_ee" for table "ggg_1_prt_aa_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:106: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd_3_prt_ff" for table "ggg_1_prt_aa_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:106: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_cc" for table "ggg_1_prt_bb" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:106: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd" for table "ggg_1_prt_bb" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:106: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_cc_3_prt_ee" for table "ggg_1_prt_bb_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:106: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_cc_3_prt_ff" for table "ggg_1_prt_bb_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:106: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd_3_prt_ee" for table "ggg_1_prt_bb_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:106: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd_3_prt_ff" for table "ggg_1_prt_bb_2_prt_dd" +CREATE TABLE +drop table ggg cascade; +DROP TABLE +-- should not work since the first-level subpartitioning has no template +create table ggg (a char(1), b char(2), d char(3), e int) +distributed by (a) +partition by hash (b) +subpartition by hash (d), +subpartition by hash (e) +subpartition template ( +subpartition ee, +subpartition ff +) +( +partition aa (subpartition cc, subpartition dd), +partition bb (subpartition cc, subpartition dd) +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:123: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:123: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:123: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:123: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:123: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc_3_prt_ee" for table "ggg_1_prt_aa_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:123: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc_3_prt_ff" for table "ggg_1_prt_aa_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:123: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd_3_prt_ee" for table "ggg_1_prt_aa_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:123: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd_3_prt_ff" for table "ggg_1_prt_aa_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:123: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_cc" for table "ggg_1_prt_bb" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:123: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd" for table "ggg_1_prt_bb" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:123: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_cc_3_prt_ee" for table "ggg_1_prt_bb_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:123: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_cc_3_prt_ff" for table "ggg_1_prt_bb_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:123: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd_3_prt_ee" for table "ggg_1_prt_bb_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:123: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd_3_prt_ff" for table "ggg_1_prt_bb_2_prt_dd" +CREATE TABLE +drop table if exists ggg cascade; +DROP TABLE +-- doesn't work because cannot have nested declaration in template +create table ggg (a char(1), b char(2), d char(3), e int) +distributed by (a) +partition by hash (b) +subpartition by hash (d) +subpartition template ( +subpartition cc (subpartition ee, subpartition ff), +subpartition dd (subpartition ee, subpartition ff) +), +subpartition by hash (e) +( +partition aa, +partition bb +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:140: ERROR: template cannot contain specification for child partition +drop table ggg cascade; +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:142: ERROR: table "ggg" does not exist +--ERROR: Missing boundary specification in partition 'aa' of type LIST +create table fff (a char(1), b char(2), d char(3)) distributed by +(a) partition by list (b) (partition aa ); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:146: ERROR: missing boundary specification in partition "aa" of type LIST +LINE 2: (a) partition by list (b) (partition aa ); + ^ +-- ERROR: Invalid use of RANGE boundary specification in partition +-- number 1 of type LIST +create table fff (a char(1), b char(2), d char(3)) distributed by (a) +partition by list (b) (start ('a') ); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:152: ERROR: invalid boundary specification for LIST partition +LINE 2: partition by list (b) (start ('a') ); + ^ +-- should work +create table fff (a char(1), b char(2), d char(3)) distributed by (a) +partition by list (b) (partition aa values ('2')); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:157: NOTICE: CREATE TABLE will create partition "fff_1_prt_aa" for table "fff" +CREATE TABLE +drop table fff cascade; +DROP TABLE +-- Invalid use of RANGE boundary specification in partition "cc" of +-- type HASH (at depth 2) & subpartition at one level has no template +create table ggg (a char(1), b char(2), d char(3), e int) distributed by (a) +partition by hash (b) subpartition by hash (d), +subpartition by hash (e) +subpartition template ( subpartition ee, subpartition ff ) ( +partition aa (subpartition cc, subpartition dd), partition bb +(subpartition cc start ('a') , subpartition dd) ); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:168: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:168: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:168: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:168: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:168: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc_3_prt_ee" for table "ggg_1_prt_aa_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:168: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc_3_prt_ff" for table "ggg_1_prt_aa_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:168: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd_3_prt_ee" for table "ggg_1_prt_aa_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:168: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd_3_prt_ff" for table "ggg_1_prt_aa_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:168: ERROR: invalid use of RANGE boundary specification in partition "cc" of type HASH (at depth 2) +LINE 6: (subpartition cc start ('a') , subpartition dd) ); + ^ +-- this is subtly wrong -- it defines 4 partitions +-- the problem is the comma before "end", which causes us to +-- generate 2 anonymous partitions. +-- This is an error: +-- ERROR: invalid use of mixed named and unnamed RANGE boundary specifications +create table ggg (a char(1), b int, d char(3)) +distributed by (a) +partition by range (b) +( +partition aa start ('2007'), end ('2008'), +partition bb start ('2008'), end ('2009') +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:181: ERROR: invalid use of mixed named and unnamed RANGE boundary specifications +LINE 5: partition aa start ('2007'), end ('2008'), + ^ +create table ggg (a char(1), b int) +distributed by (a) +partition by range(b) +( +partition aa start ('2007'), end ('2008') +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:188: ERROR: invalid use of mixed named and unnamed RANGE boundary specifications +LINE 5: partition aa start ('2007'), end ('2008') + ^ +drop table ggg cascade; +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:190: ERROR: table "ggg" does not exist +create table ggg (a char(1), b date, d char(3)) +distributed by (a) +partition by range (b) +( +partition aa start (date '2007-01-01') end (date '2008-01-01'), +partition bb start (date '2008-01-01') end (date '2009-01-01') +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:198: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:198: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb" for table "ggg" +CREATE TABLE +drop table ggg cascade; +DROP TABLE +-- don't allow nonconstant expressions, even simple ones... +create table ggg (a char(1), b numeric, d numeric) +distributed by (a) +partition by range (b,d) +( +partition aa start (2007,1) end (2008,2+2), +partition bb start (2008,2) end (2009,3) +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:210: ERROR: syntax error at or near "+" +LINE 5: partition aa start (2007,1) end (2008,2+2), + ^ +-- composite key +create table ggg (a char(1), b numeric, d numeric) +distributed by (a) +partition by range (b,d) +( +partition aa start (2007,1) end (2008,2), +partition bb start (2008,2) end (2009,3) +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:219: ERROR: Composite partition keys are not allowed +-- demo starts here +-- nested subpartitions +create table ggg + (a char(1), b date, + d char(3), e numeric, + f numeric, g numeric, + h numeric) +distributed by (a) +partition by hash(b) +partitions 2 +subpartition by hash(d) +subpartitions 2, +subpartition by hash(e) subpartitions 2, +subpartition by hash(f) subpartitions 2, +subpartition by hash(g) subpartitions 2, +subpartition by hash(h) subpartitions 2; +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1" for table "ggg_1_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2" for table "ggg_1_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_1" for table "ggg_1_prt_1_2_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_2" for table "ggg_1_prt_1_2_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_1" for table "ggg_1_prt_1_2_prt_1_3_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_2" for table "ggg_1_prt_1_2_prt_1_3_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_1_5_prt_1" for table "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_1_5_prt_2" for table "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_1_5_prt_1_6_prt_1" for table "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_1_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_1_5_prt_1_6_prt_2" for table "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_1_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_1_5_prt_2_6_prt_1" for table "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_1_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_1_5_prt_2_6_prt_2" for table "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_1_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_2_5_prt_1" for table "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_2_5_prt_2" for table "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_2_5_prt_1_6_prt_1" for table "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_2_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_2_5_prt_1_6_prt_2" for table "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_2_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_2_5_prt_2_6_prt_1" for table "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_2_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_2_5_prt_2_6_prt_2" for table "ggg_1_prt_1_2_prt_1_3_prt_1_4_prt_2_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_1" for table "ggg_1_prt_1_2_prt_1_3_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_2" for table "ggg_1_prt_1_2_prt_1_3_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_1_5_prt_1" for table "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_1_5_prt_2" for table "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_1_5_prt_1_6_prt_1" for table "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_1_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_1_5_prt_1_6_prt_2" for table "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_1_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_1_5_prt_2_6_prt_1" for table "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_1_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_1_5_prt_2_6_prt_2" for table "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_1_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_2_5_prt_1" for table "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_2_5_prt_2" for table "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_2_5_prt_1_6_prt_1" for table "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_2_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_2_5_prt_1_6_prt_2" for table "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_2_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_2_5_prt_2_6_prt_1" for table "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_2_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_2_5_prt_2_6_prt_2" for table "ggg_1_prt_1_2_prt_1_3_prt_2_4_prt_2_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_1" for table "ggg_1_prt_1_2_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_2" for table "ggg_1_prt_1_2_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_1" for table "ggg_1_prt_1_2_prt_2_3_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_2" for table "ggg_1_prt_1_2_prt_2_3_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_1_5_prt_1" for table "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_1_5_prt_2" for table "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_1_5_prt_1_6_prt_1" for table "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_1_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_1_5_prt_1_6_prt_2" for table "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_1_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_1_5_prt_2_6_prt_1" for table "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_1_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_1_5_prt_2_6_prt_2" for table "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_1_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_2_5_prt_1" for table "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_2_5_prt_2" for table "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_2_5_prt_1_6_prt_1" for table "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_2_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_2_5_prt_1_6_prt_2" for table "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_2_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_2_5_prt_2_6_prt_1" for table "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_2_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_2_5_prt_2_6_prt_2" for table "ggg_1_prt_1_2_prt_2_3_prt_1_4_prt_2_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_1" for table "ggg_1_prt_1_2_prt_2_3_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_2" for table "ggg_1_prt_1_2_prt_2_3_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_1_5_prt_1" for table "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_1_5_prt_2" for table "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_1_5_prt_1_6_prt_1" for table "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_1_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_1_5_prt_1_6_prt_2" for table "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_1_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_1_5_prt_2_6_prt_1" for table "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_1_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_1_5_prt_2_6_prt_2" for table "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_1_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_2_5_prt_1" for table "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_2_5_prt_2" for table "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_2_5_prt_1_6_prt_1" for table "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_2_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_2_5_prt_1_6_prt_2" for table "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_2_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_2_5_prt_2_6_prt_1" for table "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_2_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_2_5_prt_2_6_prt_2" for table "ggg_1_prt_1_2_prt_2_3_prt_2_4_prt_2_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1" for table "ggg_1_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2" for table "ggg_1_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_1" for table "ggg_1_prt_2_2_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_2" for table "ggg_1_prt_2_2_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_1" for table "ggg_1_prt_2_2_prt_1_3_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_2" for table "ggg_1_prt_2_2_prt_1_3_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_1_5_prt_1" for table "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_1_5_prt_2" for table "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_1_5_prt_1_6_prt_1" for table "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_1_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_1_5_prt_1_6_prt_2" for table "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_1_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_1_5_prt_2_6_prt_1" for table "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_1_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_1_5_prt_2_6_prt_2" for table "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_1_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_2_5_prt_1" for table "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_2_5_prt_2" for table "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_2_5_prt_1_6_prt_1" for table "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_2_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_2_5_prt_1_6_prt_2" for table "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_2_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_2_5_prt_2_6_prt_1" for table "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_2_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_2_5_prt_2_6_prt_2" for table "ggg_1_prt_2_2_prt_1_3_prt_1_4_prt_2_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_1" for table "ggg_1_prt_2_2_prt_1_3_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_2" for table "ggg_1_prt_2_2_prt_1_3_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_1_5_prt_1" for table "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_1_5_prt_2" for table "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_1_5_prt_1_6_prt_1" for table "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_1_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_1_5_prt_1_6_prt_2" for table "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_1_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_1_5_prt_2_6_prt_1" for table "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_1_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_1_5_prt_2_6_prt_2" for table "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_1_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_2_5_prt_1" for table "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_2_5_prt_2" for table "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_2_5_prt_1_6_prt_1" for table "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_2_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_2_5_prt_1_6_prt_2" for table "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_2_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_2_5_prt_2_6_prt_1" for table "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_2_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_2_5_prt_2_6_prt_2" for table "ggg_1_prt_2_2_prt_1_3_prt_2_4_prt_2_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_1" for table "ggg_1_prt_2_2_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_2" for table "ggg_1_prt_2_2_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_1" for table "ggg_1_prt_2_2_prt_2_3_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_2" for table "ggg_1_prt_2_2_prt_2_3_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_1_5_prt_1" for table "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_1_5_prt_2" for table "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_1_5_prt_1_6_prt_1" for table "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_1_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_1_5_prt_1_6_prt_2" for table "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_1_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_1_5_prt_2_6_prt_1" for table "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_1_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_1_5_prt_2_6_prt_2" for table "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_1_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_2_5_prt_1" for table "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_2_5_prt_2" for table "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_2_5_prt_1_6_prt_1" for table "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_2_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_2_5_prt_1_6_prt_2" for table "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_2_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_2_5_prt_2_6_prt_1" for table "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_2_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_2_5_prt_2_6_prt_2" for table "ggg_1_prt_2_2_prt_2_3_prt_1_4_prt_2_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_1" for table "ggg_1_prt_2_2_prt_2_3_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_2" for table "ggg_1_prt_2_2_prt_2_3_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_1_5_prt_1" for table "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_1_5_prt_2" for table "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_1_5_prt_1_6_prt_1" for table "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_1_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_1_5_prt_1_6_prt_2" for table "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_1_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_1_5_prt_2_6_prt_1" for table "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_1_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_1_5_prt_2_6_prt_2" for table "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_1_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_2_5_prt_1" for table "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_2_5_prt_2" for table "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_2_5_prt_1_6_prt_1" for table "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_2_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_2_5_prt_1_6_prt_2" for table "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_2_5_prt_1" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_2_5_prt_2_6_prt_1" for table "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_2_5_prt_2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:237: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_2_5_prt_2_6_prt_2" for table "ggg_1_prt_2_2_prt_2_3_prt_2_4_prt_2_5_prt_2" +CREATE TABLE +drop table ggg cascade; +DROP TABLE +-- named, inline subpartitions +create table ggg (a char(1), b char(2), d char(3)) +distributed by (a) +partition by hash (b) +subpartition by hash (d) +( +partition aa (subpartition cc, subpartition dd), +partition bb (subpartition cc, subpartition dd) +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:250: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:250: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:250: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:250: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:250: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_cc" for table "ggg_1_prt_bb" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:250: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd" for table "ggg_1_prt_bb" +CREATE TABLE +drop table ggg cascade; +DROP TABLE +-- subpartitions with templates +create table ggg (a char(1), b char(2), d char(3), e numeric) +distributed by (a) +partition by hash (b) +subpartition by hash (d) +subpartition template ( +subpartition cc, +subpartition dd +), +subpartition by hash (e) +subpartition template ( +subpartition ee, +subpartition ff +) +( +partition aa, +partition bb +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:272: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:272: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:272: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:272: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:272: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc_3_prt_ee" for table "ggg_1_prt_aa_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:272: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc_3_prt_ff" for table "ggg_1_prt_aa_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:272: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd_3_prt_ee" for table "ggg_1_prt_aa_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:272: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd_3_prt_ff" for table "ggg_1_prt_aa_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:272: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_cc" for table "ggg_1_prt_bb" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:272: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd" for table "ggg_1_prt_bb" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:272: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_cc_3_prt_ee" for table "ggg_1_prt_bb_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:272: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_cc_3_prt_ff" for table "ggg_1_prt_bb_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:272: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd_3_prt_ee" for table "ggg_1_prt_bb_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:272: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd_3_prt_ff" for table "ggg_1_prt_bb_2_prt_dd" +CREATE TABLE +drop table ggg cascade; +DROP TABLE +-- mixed inline subpartition declarations with templates +create table ggg (a char(1), b char(2), d char(3), e numeric) +distributed by (a) +partition by hash (b) +subpartition by hash (d) , +subpartition by hash (e) +subpartition template ( +subpartition ee, +subpartition ff +) +( +partition aa (subpartition cc, subpartition dd), +partition bb (subpartition cc, subpartition dd) +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:290: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:290: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:290: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:290: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:290: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc_3_prt_ee" for table "ggg_1_prt_aa_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:290: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_cc_3_prt_ff" for table "ggg_1_prt_aa_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:290: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd_3_prt_ee" for table "ggg_1_prt_aa_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:290: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd_3_prt_ff" for table "ggg_1_prt_aa_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:290: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_cc" for table "ggg_1_prt_bb" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:290: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd" for table "ggg_1_prt_bb" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:290: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_cc_3_prt_ee" for table "ggg_1_prt_bb_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:290: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_cc_3_prt_ff" for table "ggg_1_prt_bb_2_prt_cc" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:290: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd_3_prt_ee" for table "ggg_1_prt_bb_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:290: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd_3_prt_ff" for table "ggg_1_prt_bb_2_prt_dd" +CREATE TABLE +drop table ggg cascade; +DROP TABLE +-- basic list partition +create table ggg (a char(1), b char(2), d char(3)) +distributed by (a) +partition by LIST (b) +( +partition aa values ('a', 'b', 'c', 'd'), +partition bb values ('e', 'f', 'g') +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:302: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:302: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb" for table "ggg" +CREATE TABLE +insert into ggg values ('x', 'a'); +INSERT 0 1 +insert into ggg values ('x', 'b'); +INSERT 0 1 +insert into ggg values ('x', 'c'); +INSERT 0 1 +insert into ggg values ('x', 'd'); +INSERT 0 1 +insert into ggg values ('x', 'e'); +INSERT 0 1 +insert into ggg values ('x', 'f'); +INSERT 0 1 +insert into ggg values ('x', 'g'); +INSERT 0 1 +insert into ggg values ('x', 'a'); +INSERT 0 1 +insert into ggg values ('x', 'b'); +INSERT 0 1 +insert into ggg values ('x', 'c'); +INSERT 0 1 +insert into ggg values ('x', 'd'); +INSERT 0 1 +insert into ggg values ('x', 'e'); +INSERT 0 1 +insert into ggg values ('x', 'f'); +INSERT 0 1 +insert into ggg values ('x', 'g'); +INSERT 0 1 +select * from ggg order by 1, 2; + a | b | d +---+----+--- + x | a | + x | a | + x | b | + x | b | + x | c | + x | c | + x | d | + x | d | + x | e | + x | e | + x | f | + x | f | + x | g | + x | g | +(14 rows) + +-- ok +select * from ggg_1_prt_aa order by 1, 2; + a | b | d +---+----+--- + x | a | + x | a | + x | b | + x | b | + x | c | + x | c | + x | d | + x | d | +(8 rows) + +select * from ggg_1_prt_bb order by 1, 2; + a | b | d +---+----+--- + x | e | + x | e | + x | f | + x | f | + x | g | + x | g | +(6 rows) + +drop table ggg cascade; +DROP TABLE +-- documentation example - partition by list and range +CREATE TABLE rank (id int, rank int, year date, gender +char(1)) DISTRIBUTED BY (id, gender, year) +partition by list (gender) +subpartition by range (year) +subpartition template ( +start (date '2001-01-01'), +start (date '2002-01-01'), +start (date '2003-01-01'), +start (date '2004-01-01'), +start (date '2005-01-01') +) +( + partition boys values ('M'), + partition girls values ('F') +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:342: NOTICE: CREATE TABLE will create partition "rank_1_prt_boys" for table "rank" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:342: NOTICE: CREATE TABLE will create partition "rank_1_prt_girls" for table "rank" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:342: NOTICE: CREATE TABLE will create partition "rank_1_prt_boys_2_prt_1" for table "rank_1_prt_boys" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:342: NOTICE: CREATE TABLE will create partition "rank_1_prt_boys_2_prt_2" for table "rank_1_prt_boys" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:342: NOTICE: CREATE TABLE will create partition "rank_1_prt_boys_2_prt_3" for table "rank_1_prt_boys" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:342: NOTICE: CREATE TABLE will create partition "rank_1_prt_boys_2_prt_4" for table "rank_1_prt_boys" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:342: NOTICE: CREATE TABLE will create partition "rank_1_prt_boys_2_prt_5" for table "rank_1_prt_boys" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:342: NOTICE: CREATE TABLE will create partition "rank_1_prt_girls_2_prt_1" for table "rank_1_prt_girls" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:342: NOTICE: CREATE TABLE will create partition "rank_1_prt_girls_2_prt_2" for table "rank_1_prt_girls" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:342: NOTICE: CREATE TABLE will create partition "rank_1_prt_girls_2_prt_3" for table "rank_1_prt_girls" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:342: NOTICE: CREATE TABLE will create partition "rank_1_prt_girls_2_prt_4" for table "rank_1_prt_girls" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:342: NOTICE: CREATE TABLE will create partition "rank_1_prt_girls_2_prt_5" for table "rank_1_prt_girls" +CREATE TABLE +insert into rank values (1, 1, date '2001-01-15', 'M'); +INSERT 0 1 +insert into rank values (2, 1, date '2002-02-15', 'M'); +INSERT 0 1 +insert into rank values (3, 1, date '2003-03-15', 'M'); +INSERT 0 1 +insert into rank values (4, 1, date '2004-04-15', 'M'); +INSERT 0 1 +insert into rank values (5, 1, date '2005-05-15', 'M'); +INSERT 0 1 +insert into rank values (6, 1, date '2001-01-15', 'F'); +INSERT 0 1 +insert into rank values (7, 1, date '2002-02-15', 'F'); +INSERT 0 1 +insert into rank values (8, 1, date '2003-03-15', 'F'); +INSERT 0 1 +insert into rank values (9, 1, date '2004-04-15', 'F'); +INSERT 0 1 +insert into rank values (10, 1, date '2005-05-15', 'F'); +INSERT 0 1 +select * from rank order by 1, 2, 3, 4; + id | rank | year | gender +----+------+------------+-------- + 1 | 1 | 2001-01-15 | M + 2 | 1 | 2002-02-15 | M + 3 | 1 | 2003-03-15 | M + 4 | 1 | 2004-04-15 | M + 5 | 1 | 2005-05-15 | M + 6 | 1 | 2001-01-15 | F + 7 | 1 | 2002-02-15 | F + 8 | 1 | 2003-03-15 | F + 9 | 1 | 2004-04-15 | F + 10 | 1 | 2005-05-15 | F +(10 rows) + +select * from rank_1_prt_boys order by 1, 2, 3, 4; + id | rank | year | gender +----+------+------------+-------- + 1 | 1 | 2001-01-15 | M + 2 | 1 | 2002-02-15 | M + 3 | 1 | 2003-03-15 | M + 4 | 1 | 2004-04-15 | M + 5 | 1 | 2005-05-15 | M +(5 rows) + +select * from rank_1_prt_girls order by 1, 2, 3, 4; + id | rank | year | gender +----+------+------------+-------- + 6 | 1 | 2001-01-15 | F + 7 | 1 | 2002-02-15 | F + 8 | 1 | 2003-03-15 | F + 9 | 1 | 2004-04-15 | F + 10 | 1 | 2005-05-15 | F +(5 rows) + +select * from rank_1_prt_girls_2_prt_1 order by 1, 2, 3, 4; + id | rank | year | gender +----+------+------------+-------- + 6 | 1 | 2001-01-15 | F +(1 row) + +select * from rank_1_prt_girls_2_prt_2 order by 1, 2, 3, 4; + id | rank | year | gender +----+------+------------+-------- + 7 | 1 | 2002-02-15 | F +(1 row) + +drop table rank cascade; +DROP TABLE +-- range list hash combo, but subpartitions has no templates +create table ggg (a char(1), b date, d char(3), e numeric) +distributed by (a) +partition by range (b) +subpartition by list(d), +subpartition by hash(e) subpartitions 3 +( +partition aa +start (date '2007-01-01') +end (date '2008-01-01') + (subpartition dd values ('1', '2', '3'), + subpartition ee values ('4', '5', '6')), +partition bb +start (date '2008-01-01') +end (date '2009-01-01') + (subpartition dd values ('1', '2', '3'), + subpartition ee values ('4', '5', '6')) +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_ee" for table "ggg_1_prt_aa" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd_3_prt_1" for table "ggg_1_prt_aa_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd_3_prt_2" for table "ggg_1_prt_aa_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_dd_3_prt_3" for table "ggg_1_prt_aa_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_ee_3_prt_1" for table "ggg_1_prt_aa_2_prt_ee" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_ee_3_prt_2" for table "ggg_1_prt_aa_2_prt_ee" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa_2_prt_ee_3_prt_3" for table "ggg_1_prt_aa_2_prt_ee" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd" for table "ggg_1_prt_bb" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_ee" for table "ggg_1_prt_bb" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd_3_prt_1" for table "ggg_1_prt_bb_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd_3_prt_2" for table "ggg_1_prt_bb_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_dd_3_prt_3" for table "ggg_1_prt_bb_2_prt_dd" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_ee_3_prt_1" for table "ggg_1_prt_bb_2_prt_ee" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_ee_3_prt_2" for table "ggg_1_prt_bb_2_prt_ee" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:383: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2_prt_ee_3_prt_3" for table "ggg_1_prt_bb_2_prt_ee" +CREATE TABLE +drop table ggg cascade; +DROP TABLE +-- demo ends here +-- LIST validation +-- duplicate partition name +CREATE TABLE rank (id int, rank int, year date, gender +char(1)) DISTRIBUTED BY (id, gender, year) +partition by list (gender) +( + partition boys values ('M'), + partition girls values ('a'), + partition girls values ('b'), + partition girls values ('c'), + partition girls values ('d'), + partition girls values ('e'), + partition bob values ('M') +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:405: ERROR: duplicate partition name for partition "girls" +LINE 7: partition girls values ('b'), + ^ +-- RANGE validation +-- legal if end of aa not inclusive +create table ggg (a char(1), b date, d char(3)) +distributed by (a) +partition by range (b) +( +partition aa start (date '2007-01-01') end (date '2008-01-01'), +partition bb start (date '2008-01-01') end (date '2009-01-01') +every (interval '10 days')); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_1" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_3" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_4" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_5" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_6" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_7" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_8" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_9" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_10" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_11" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_12" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_13" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_14" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_15" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_16" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_17" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_18" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_19" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_20" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_21" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_22" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_23" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_24" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_25" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_26" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_27" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_28" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_29" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_30" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_31" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_32" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_33" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_34" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_35" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_36" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:416: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_37" for table "ggg" +CREATE TABLE +drop table ggg cascade; +DROP TABLE +-- bad - legal if end of aa not inclusive +create table ggg (a char(1), b date, d char(3)) +distributed by (a) +partition by range (b) +( +partition aa start (date '2007-01-01') end (date '2008-01-01') inclusive, +partition bb start (date '2008-01-01') end (date '2009-01-01') +every (interval '10 days')); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:428: ERROR: starting value of partition "bb_1" overlaps previous range +LINE 6: partition bb start (date '2008-01-01') end (date '2009-01-01... + ^ +drop table ggg cascade; +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:430: ERROR: table "ggg" does not exist +-- legal because start of bb not inclusive +create table ggg (a char(1), b date, d char(3)) +distributed by (a) +partition by range (b) +( +partition aa start (date '2007-01-01') end (date '2008-01-01') inclusive, +partition bb start (date '2008-01-01') exclusive end (date '2009-01-01') +every (interval '10 days')); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_1" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_2" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_3" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_4" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_5" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_6" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_7" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_8" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_9" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_10" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_11" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_12" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_13" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_14" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_15" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_16" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_17" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_18" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_19" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_20" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_21" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_22" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_23" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_24" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_25" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_26" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_27" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_28" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_29" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_30" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_31" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_32" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_33" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_34" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_35" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_36" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:439: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb_37" for table "ggg" +CREATE TABLE +drop table ggg cascade; +DROP TABLE +-- legal if end of aa not inclusive +create table ggg (a char(1), b date, d char(3)) +distributed by (a) +partition by range (b) +( +partition bb start (date '2008-01-01') end (date '2009-01-01'), +partition aa start (date '2007-01-01') end (date '2008-01-01') +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:450: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:450: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb" for table "ggg" +CREATE TABLE +drop table ggg cascade; +DROP TABLE +-- bad - legal if end of aa not inclusive +create table ggg (a char(1), b date, d char(3)) +distributed by (a) +partition by range (b) +( +partition bb start (date '2008-01-01') end (date '2009-01-01'), +partition aa start (date '2007-01-01') end (date '2008-01-01') inclusive +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:461: ERROR: starting value of partition "bb" overlaps previous range +LINE 5: partition bb start (date '2008-01-01') end (date '2009-01-01... + ^ +drop table ggg cascade; +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:463: ERROR: table "ggg" does not exist +-- legal because start of bb not inclusive +create table ggg (a char(1), b date, d char(3)) +distributed by (a) +partition by range (b) +( +partition bb start (date '2008-01-01') exclusive end (date '2009-01-01'), +partition aa start (date '2007-01-01') end (date '2008-01-01') inclusive +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:472: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:472: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb" for table "ggg" +CREATE TABLE +drop table ggg cascade; +DROP TABLE +-- validate aa - start greater than end +create table ggg (a char(1), b date, d char(3)) +distributed by (a) +partition by range (b) +( +partition bb start (date '2008-01-01') end (date '2009-01-01'), +partition aa start (date '2007-01-01') end (date '2006-01-01') +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:483: ERROR: START greater than END for partition "aa" +LINE 6: partition aa start (date '2007-01-01') end (date '2006-01-01... + ^ +drop table ggg cascade; +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:485: ERROR: table "ggg" does not exist +-- formerly we could not set end of first partition because next is before +-- but we can sort them now so this is legal. +create table ggg (a char(1), b date, d char(3)) +distributed by (a) +partition by range (b) +( +partition bb start (date '2008-01-01') , +partition aa start (date '2007-01-01') +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:495: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:495: NOTICE: CREATE TABLE will create partition "ggg_1_prt_bb" for table "ggg" +CREATE TABLE +drop table ggg cascade; +DROP TABLE +-- test cross type coercion +-- int -> char(N) +create table ggg (i int, a char(1)) +distributed by (i) +partition by list(a) +(partition aa values(1, 2)); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:504: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +CREATE TABLE +drop table ggg cascade; +DROP TABLE +-- int -> numeric +create table ggg (i int, n numeric(20, 2)) +distributed by (i) +partition by list(n) +(partition aa values(1.22, 4.1)); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:512: NOTICE: CREATE TABLE will create partition "ggg_1_prt_aa" for table "ggg" +CREATE TABLE +drop table ggg cascade; +DROP TABLE +-- EVERY +-- the documentation example, rewritten with EVERY in a template +CREATE TABLE rank (id int, +rank int, year date, gender char(1)) +DISTRIBUTED BY (id, gender, year) +partition by list (gender) +subpartition by range (year) +subpartition template ( +start (date '2001-01-01') +end (date '2006-01-01') every (interval '1 year')) ( +partition boys values ('M'), +partition girls values ('F') +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:528: NOTICE: CREATE TABLE will create partition "rank_1_prt_boys" for table "rank" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:528: NOTICE: CREATE TABLE will create partition "rank_1_prt_girls" for table "rank" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:528: NOTICE: CREATE TABLE will create partition "rank_1_prt_boys_2_prt_1" for table "rank_1_prt_boys" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:528: NOTICE: CREATE TABLE will create partition "rank_1_prt_boys_2_prt_2" for table "rank_1_prt_boys" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:528: NOTICE: CREATE TABLE will create partition "rank_1_prt_boys_2_prt_3" for table "rank_1_prt_boys" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:528: NOTICE: CREATE TABLE will create partition "rank_1_prt_boys_2_prt_4" for table "rank_1_prt_boys" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:528: NOTICE: CREATE TABLE will create partition "rank_1_prt_boys_2_prt_5" for table "rank_1_prt_boys" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:528: NOTICE: CREATE TABLE will create partition "rank_1_prt_girls_2_prt_1" for table "rank_1_prt_girls" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:528: NOTICE: CREATE TABLE will create partition "rank_1_prt_girls_2_prt_2" for table "rank_1_prt_girls" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:528: NOTICE: CREATE TABLE will create partition "rank_1_prt_girls_2_prt_3" for table "rank_1_prt_girls" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:528: NOTICE: CREATE TABLE will create partition "rank_1_prt_girls_2_prt_4" for table "rank_1_prt_girls" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:528: NOTICE: CREATE TABLE will create partition "rank_1_prt_girls_2_prt_5" for table "rank_1_prt_girls" +CREATE TABLE +insert into rank values (1, 1, date '2001-01-15', 'M'); +INSERT 0 1 +insert into rank values (2, 1, date '2002-02-15', 'M'); +INSERT 0 1 +insert into rank values (3, 1, date '2003-03-15', 'M'); +INSERT 0 1 +insert into rank values (4, 1, date '2004-04-15', 'M'); +INSERT 0 1 +insert into rank values (5, 1, date '2005-05-15', 'M'); +INSERT 0 1 +insert into rank values (6, 1, date '2001-01-15', 'F'); +INSERT 0 1 +insert into rank values (7, 1, date '2002-02-15', 'F'); +INSERT 0 1 +insert into rank values (8, 1, date '2003-03-15', 'F'); +INSERT 0 1 +insert into rank values (9, 1, date '2004-04-15', 'F'); +INSERT 0 1 +insert into rank values (10, 1, date '2005-05-15', 'F'); +INSERT 0 1 +select * from rank order by 1, 2, 3, 4; + id | rank | year | gender +----+------+------------+-------- + 1 | 1 | 2001-01-15 | M + 2 | 1 | 2002-02-15 | M + 3 | 1 | 2003-03-15 | M + 4 | 1 | 2004-04-15 | M + 5 | 1 | 2005-05-15 | M + 6 | 1 | 2001-01-15 | F + 7 | 1 | 2002-02-15 | F + 8 | 1 | 2003-03-15 | F + 9 | 1 | 2004-04-15 | F + 10 | 1 | 2005-05-15 | F +(10 rows) + +select * from rank_1_prt_boys order by 1, 2, 3, 4; + id | rank | year | gender +----+------+------------+-------- + 1 | 1 | 2001-01-15 | M + 2 | 1 | 2002-02-15 | M + 3 | 1 | 2003-03-15 | M + 4 | 1 | 2004-04-15 | M + 5 | 1 | 2005-05-15 | M +(5 rows) + +select * from rank_1_prt_girls order by 1, 2, 3, 4; + id | rank | year | gender +----+------+------------+-------- + 6 | 1 | 2001-01-15 | F + 7 | 1 | 2002-02-15 | F + 8 | 1 | 2003-03-15 | F + 9 | 1 | 2004-04-15 | F + 10 | 1 | 2005-05-15 | F +(5 rows) + +select * from rank_1_prt_girls_2_prt_1 order by 1, 2, 3, 4; + id | rank | year | gender +----+------+------------+-------- + 6 | 1 | 2001-01-15 | F +(1 row) + +select * from rank_1_prt_girls_2_prt_2 order by 1, 2, 3, 4; + id | rank | year | gender +----+------+------------+-------- + 7 | 1 | 2002-02-15 | F +(1 row) + +drop table rank cascade; +DROP TABLE +-- integer ranges work too +create table ggg (id integer, a integer) +distributed by (id) +partition by range (a) +(start (1) end (10) every (1)); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:555: NOTICE: CREATE TABLE will create partition "ggg_1_prt_1" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:555: NOTICE: CREATE TABLE will create partition "ggg_1_prt_2" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:555: NOTICE: CREATE TABLE will create partition "ggg_1_prt_3" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:555: NOTICE: CREATE TABLE will create partition "ggg_1_prt_4" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:555: NOTICE: CREATE TABLE will create partition "ggg_1_prt_5" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:555: NOTICE: CREATE TABLE will create partition "ggg_1_prt_6" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:555: NOTICE: CREATE TABLE will create partition "ggg_1_prt_7" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:555: NOTICE: CREATE TABLE will create partition "ggg_1_prt_8" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:555: NOTICE: CREATE TABLE will create partition "ggg_1_prt_9" for table "ggg" +CREATE TABLE +insert into ggg values (1, 1); +INSERT 0 1 +insert into ggg values (2, 2); +INSERT 0 1 +insert into ggg values (3, 3); +INSERT 0 1 +insert into ggg values (4, 4); +INSERT 0 1 +insert into ggg values (5, 5); +INSERT 0 1 +insert into ggg values (6, 6); +INSERT 0 1 +insert into ggg values (7, 7); +INSERT 0 1 +insert into ggg values (8, 8); +INSERT 0 1 +insert into ggg values (9, 9); +INSERT 0 1 +insert into ggg values (10, 10); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:566: ERROR: no partition for partitioning key (seg1 localhost:40000 pid=9097) +select * from ggg order by 1, 2; + id | a +----+--- + 1 | 1 + 2 | 2 + 3 | 3 + 4 | 4 + 5 | 5 + 6 | 6 + 7 | 7 + 8 | 8 + 9 | 9 +(9 rows) + +select * from ggg_1_prt_1 order by 1, 2; + id | a +----+--- + 1 | 1 +(1 row) + +select * from ggg_1_prt_2 order by 1, 2; + id | a +----+--- + 2 | 2 +(1 row) + +select * from ggg_1_prt_3 order by 1, 2; + id | a +----+--- + 3 | 3 +(1 row) + +select * from ggg_1_prt_4 order by 1, 2; + id | a +----+--- + 4 | 4 +(1 row) + +drop table ggg cascade; +DROP TABLE +-- hash tests +create table ggg (a char(1), b varchar(2), d varchar(2)) +distributed by (a) +partition by hash(b) +partitions 3 +(partition a, partition b, partition c); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:583: NOTICE: CREATE TABLE will create partition "ggg_1_prt_a" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:583: NOTICE: CREATE TABLE will create partition "ggg_1_prt_b" for table "ggg" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:583: NOTICE: CREATE TABLE will create partition "ggg_1_prt_c" for table "ggg" +CREATE TABLE +insert into ggg values (1,1,1); +INSERT 0 1 +insert into ggg values (2,2,1); +INSERT 0 1 +insert into ggg values (1,3,1); +INSERT 0 1 +insert into ggg values (2,2,3); +INSERT 0 1 +insert into ggg values (1,4,5); +INSERT 0 1 +insert into ggg values (2,2,4); +INSERT 0 1 +insert into ggg values (1,5,6); +INSERT 0 1 +insert into ggg values (2,7,3); +INSERT 0 1 +insert into ggg values (1,'a','b'); +INSERT 0 1 +insert into ggg values (2,'c','c'); +INSERT 0 1 +select * from ggg order by 1, 2, 3; + a | b | d +---+---+--- + 1 | 1 | 1 + 1 | 3 | 1 + 1 | 4 | 5 + 1 | 5 | 6 + 1 | a | b + 2 | 2 | 1 + 2 | 2 | 3 + 2 | 2 | 4 + 2 | 7 | 3 + 2 | c | c +(10 rows) + +--select * from ggg_1_prt_a order by 1, 2, 3; +--select * from ggg_1_prt_b order by 1, 2, 3; +--select * from ggg_1_prt_c order by 1, 2, 3; +drop table ggg cascade; +DROP TABLE +-- use multiple cols +create table ggg (a char(1), b varchar(2), d varchar(2)) +distributed by (a) +partition by hash(b,d) +partitions 3 +(partition a, partition b, partition c); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:609: ERROR: Composite partition keys are not allowed +-- append only tests +create table foz (i int, d date) with (appendonly = true) distributed by (i) +partition by range (d) (start (date '2001-01-01') end (date '2005-01-01') +every(interval '1 year')); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:614: NOTICE: CREATE TABLE will create partition "foz_1_prt_1" for table "foz" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:614: NOTICE: CREATE TABLE will create partition "foz_1_prt_2" for table "foz" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:614: NOTICE: CREATE TABLE will create partition "foz_1_prt_3" for table "foz" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:614: NOTICE: CREATE TABLE will create partition "foz_1_prt_4" for table "foz" +CREATE TABLE +insert into foz select i, '2001-01-01'::date + ('1 day'::interval * i) from +generate_series(1, 1000) i; +INSERT 0 1000 +select count(*) from foz; + count +------- + 1000 +(1 row) + +select count(*) from foz_1_prt_1; + count +------- + 364 +(1 row) + +select min(d), max(d) from foz; + min | max +------------+------------ + 2001-01-02 | 2003-09-28 +(1 row) + +select min(d), max(d) from foz_1_prt_1; + min | max +------------+------------ + 2001-01-02 | 2001-12-31 +(1 row) + +select min(d), max(d) from foz_1_prt_2; + min | max +------------+------------ + 2002-01-01 | 2002-12-31 +(1 row) + +select min(d), max(d) from foz_1_prt_3; + min | max +------------+------------ + 2003-01-01 | 2003-09-28 +(1 row) + +select min(d), max(d) from foz_1_prt_4; + min | max +-----+----- + | +(1 row) + +drop table foz cascade; +DROP TABLE +-- complain if create table as select (CTAS) +CREATE TABLE rank1 (id int, +rank int, year date, gender char(1)); +CREATE TABLE +create table rank2 as select * from rank1 +DISTRIBUTED BY (id, gender, year) +partition by list (gender) +subpartition by range (year) +subpartition template ( +start (date '2001-01-01') +end (date '2006-01-01') every (interval '1 year')) ( +partition boys values ('M'), +partition girls values ('F') +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:644: ERROR: Cannot create a partitioned table using CREATE TABLE AS SELECT +HINT: Use CREATE TABLE...LIKE (followed by INSERT...SELECT) instead +-- like is ok +create table rank2 (like rank1) +DISTRIBUTED BY (id, gender, year) +partition by list (gender) +subpartition by range (year) +subpartition template ( +start (date '2001-01-01') +end (date '2006-01-01') every (interval '1 year')) ( +partition boys values ('M'), +partition girls values ('F') +); +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:657: NOTICE: CREATE TABLE will create partition "rank2_1_prt_boys" for table "rank2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:657: NOTICE: CREATE TABLE will create partition "rank2_1_prt_girls" for table "rank2" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:657: NOTICE: CREATE TABLE will create partition "rank2_1_prt_boys_2_prt_1" for table "rank2_1_prt_boys" +psql:/tmp/TestPartition_TestPartitionNegativeAndBasics.sql:657: NOTICE: CREATE TABLE will create partition "rank2_1_prt_boys_2_prt_2" for table "rank2_1_prt_boys" +psql:/tmp/TestPartition_TestPart
<TRUNCATED>
