SPLIT/MERGE use of is_internal=true

From: Noah Misch <noah(at)leadboat(dot)com>
To: d(dot)koval(at)postgrespro(dot)ru, aekorotkov(at)gmail(dot)com
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: SPLIT/MERGE use of is_internal=true
Date: 2026-07-07 18:57:51
Message-ID: 20260707185751.f9.noahmisch@microsoft.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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.

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2026-07-07 19:13:48 Re: Restructured Shared Buffer Hash Table
Previous Message Tomas Vondra 2026-07-07 18:39:52 Re: hashjoins vs. Bloom filters (yet again)