Hi Amit,

Regarding following code in ATExecDropNotNull function, I don't see
any special check for RANGE partitioned, is it intended to have same
restriction for LIST partitioned too, I guess not?

  /*
     * If the table is a range partitioned table, check that the column is not
     * in the partition key.
     */
    if (rel->rd_rel->relkind == RELKIND_PARTITIONED_TABLE)
    {
        PartitionKey key = RelationGetPartitionKey(rel);
        int         partnatts = get_partition_natts(key),
                    i;

        for (i = 0; i < partnatts; i++)
        {
            AttrNumber  partattnum = get_partition_col_attnum(key, i);

            if (partattnum == attnum)
                ereport(ERROR,
                        (errcode(ERRCODE_INVALID_TABLE_DEFINITION),
                         errmsg("column \"%s\" is in range partition key",
                                colName)));
        }
    }

Regards,
Amul


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to