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>

Reply via email to