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