On Wed, May 31, 2017 at 8:13 AM, Amit Langote <Langote_Amit_f8@lab.ntt.co.jp> wrote: > On 2017/05/31 9:33, Amit Langote wrote: > > > In get_rule_expr(): > > case PARTITION_STRATEGY_LIST: > Assert(spec->listdatums != NIL); > > + /* > + * If the boundspec is of Default partition, it does > + * not have list of datums, but has only one node to > + * indicate its a default partition. > + */ > + if (isDefaultPartitionBound( > + (Node *) linitial(spec->listdatums))) > + { > + appendStringInfoString(buf, "DEFAULT"); > + break; > + } > + > > How about adding this part before the switch (key->strategy)? That way, > we won't have to come back and add this again when we add range default > partitions.
I think it is best that we add a bool is_default to PartitionBoundSpec and then have a general check for both list and range. Though listdatums, upperdatums and lowerdatums are set to default for a DEFAULt partition, it does not seem proper that we check listdatums for range as well.