On Tue, Jul 7, 2026 at 9:57 PM Noah Misch <[email protected]> wrote: > > commit f2e4cc4 wrote: > > +/* > > + * createPartitionTable: > > + * > > + * Create a new partition (newPartName) for the partitioned table > > (parent_rel). > > + * ownerId is determined by the partition on which the operation is > > performed, > > + * so it is passed separately. The new partition will inherit the access > > method > > + * and persistence type from the parent table. > > + * > > + * Returns the created relation (locked in AccessExclusiveLock mode). > > + */ > > +static Relation > > +createPartitionTable(List **wqueue, RangeVar *newPartName, > > + Relation parent_rel, Oid ownerId) > > +{ > ... > > + /* Create the relation. */ > > + newRelId = heap_create_with_catalog(newPartName->relname, > > + > > namespaceId, > > + > > parent_relform->reltablespace, > > + > > InvalidOid, > > + > > InvalidOid, > > + > > InvalidOid, > > + > > ownerId, > > + > > relamId, > > + > > descriptor, > > + > > NIL, > > + > > RELKIND_RELATION, > > + > > newPartName->relpersistence, > > + > > false, > > + > > false, > > + > > ONCOMMIT_NOOP, > > + > > (Datum) 0, > > + > > true, > > + > > allowSystemTableMods, > > + > > true, > > + > > InvalidOid, > > + > > NULL); > > This and other places in the SPLIT/MERGE patches pass is_internal=true, which > ultimately flows to hooks with the following meaning: > > /* > * If this flag is set, the user hasn't requested that the object be > * altered, but we're doing it anyway for some internal reason. > * Permissions-checking hooks may want to skip checks if, say, we're > alter > * the constraints of a temporary heap during CLUSTER. > */ > bool is_internal; > > SPLIT/MERGE constitute user requests to create and/or drop tables, so they're > not like a CLUSTER temporary heap. They should pass is_internal=false, like > when the user runs CREATE/DROP directly.
Thank you for catching this. For sure, we shouldn't pass is_internal=true here. Attached patch fixes this. I'm going to push it if no objections. ------ Regards, Alexander Korotkov Supabase
v1-0001-Don-t-create-SPLIT-MERGE-partitions-as-internal-r.patch
Description: Binary data
