Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wHjyo-007TN2-14 for pgsql-hackers@arkaria.postgresql.org; Tue, 28 Apr 2026 15:04:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wHjxo-000Gjw-1W for pgsql-hackers@arkaria.postgresql.org; Tue, 28 Apr 2026 15:03:04 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wHjxo-000Gjo-0O for pgsql-hackers@lists.postgresql.org; Tue, 28 Apr 2026 15:03:04 +0000 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wHjxj-00000003XXj-49Ti for pgsql-hackers@lists.postgresql.org; Tue, 28 Apr 2026 15:03:03 +0000 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-43eb05b1875so6742066f8f.3 for ; Tue, 28 Apr 2026 08:02:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777388579; cv=none; d=google.com; s=arc-20240605; b=YU2ZWUJVTo5A+rTY3+zO+WxDgO42cPqnDIH2s4Lyj6e1MKoFBXS9E1qZPZA6nm4V19 B6s8cbvYX8q9UpxYqU0cqq677KloboJoQJiA/GpNk/LOsfcF4m/tCLQEjjP0mw0mVCD5 5Dp6xCkN95tQ3MI2B1YO4WYkQK6OcEUlA92F7yUzWdbCHkh2TDLLAtz/KE3ndqlDQHhI MuTh7TXqmmMuxHhSDEgpp9Zwna2GNDlfeFVR/7mkwlwFtdjGBt8s63vkhavIDV07lK9m co9yEjJKECpfkerN9mTmkClDl4gYJF2ihiX8UYPiivOhK+08dC/htmD5iX3NFQ+uLIFS nLfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=IDGaE+fAN+SbkkuVWg7X5aMZCYkmYWVSUv/DafkRZsw=; fh=PDhzRmLFhJQgKl2kpY6iqaoiggk+rKjB8rXL7ERgOws=; b=ASsyuc2iSYmD632AzAAWL17RTGsc1s6l/cmkhyTf/b7p6tuYO/nF1nfp7mqNjD119N 4aXMctdnFDmFDt+W11T18+ezDR9uj7ZwKXH3BP45ctv+flv2XaJCGtEyb3NlxJP9dSy0 LapizAeayzo1e/hzcqp1jl+VCxTRqYHYId6CljC7R6qaLexh7qog9/H3ZRdtSH9OA4BB 2U8zV3EmYntCLv02wDJdafbspRt11Of0rD292amQ3kooyKu9fnFJJ9ZTo3y1IctWaKR7 c6B4fXO5lLvMY/8l6+n4lzefC2lvXcyHd8xdVwAYSHGdyi1XCD66mpzkyvYd+h/3GNLr OGyA==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777388579; x=1777993379; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=IDGaE+fAN+SbkkuVWg7X5aMZCYkmYWVSUv/DafkRZsw=; b=EVG/v17rQ5t6Et+tlO+jGwd5BqLuVokKDi315mqYDko6Ren7dUyBN0sOXMLSe4+Qfr sTeyIHCSqr3vsdNWuFOtJ75SwHR+sECz03L+jyr31oc0VhNd4f77T0uAwIDI8uRHb4I2 1L7kKeV8Y+l9Fe5CHl/TESumxH0Jge29CTTOGPBmkqpzvsHgSkR59674ZZgb0VSyBuL0 gmKl6NFDw8Hp+smWghmhqboQV/COCQbvddv+WtBDp03SLmq7Pt1iu6ujVbT7zodk8YF6 6FGR4i6RD3UNpvwNDUPwQmd4z70/mfaENHMDus9/G/xaNGFmtyclK/gzgOJbvxQfJIcH Nz+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777388579; x=1777993379; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=IDGaE+fAN+SbkkuVWg7X5aMZCYkmYWVSUv/DafkRZsw=; b=c4DhEWhWN4/ZR3VeGDiSaYCC4JKKnh7pFyvXhD8oxORAd9A22BijQusg5VzoYGD9ES sD/DlnkCBOdnDen7IX/+Hn/2GK24k5hYDwDoUz/uVIBjsHFFXmFTQFh9xrzvXaCI3F82 jxnWBkhh+66aL8Ucmx3elyMa59zarVPjRLy0MARuOTMtUdKK9SKk0Qi1El7yq7Z6j+QK iji2NuA0o3mn1URyowixEAgncjc8l9mC2V8da9f4oLIT0819s4z25Nzind3T4Gg0J4xM yW22vX21u3gihbIenRNGV3f6LSfimtE0fBlgabyBT3dqhbbTyZ1+QJWIwo5kCM9EB+Kv xeQw== X-Gm-Message-State: AOJu0YxYEZetlQKLO6DNf4aAbg/6+Ds6uTtw5GjyCWIrANKrCLjp2AOQ iysKahSE14LhsrAimwfOnc+qM2XppgYrsm7IOI+kui5kH0h2npDm3rZNR+u8KQqdhpw03fTnZMC koBJT8iNQSHsGAQA1DpfW1SpBuLYQuXNsFQ== X-Gm-Gg: AeBDietwX3CV960BDo9dWrxp92Lc+eEDp79lxiVaYKCD3DABzWSkV30esmXG2kTmboV i3w5G6lY2TgNkf4mO+iBBxNBDkFzU0KaSvZpIIu8n3XckvBMem0Ik/AP9Oq/nWpXe5AFpjSpUg1 HpKWlZQoLj1zaK0XmnBlygvKyZgNqwXev3hiMSv+xb+194VoHqacHDqyTYEfBDu/oZxnr7spnU5 OUbDmi/05beYuqJgDoGWtq6YzswYJfmXHeVKgR8jZ0HQBpiKiqUFvgWolY65m/bd+wbqnfpI8Ka QvIuxYO1kus70Vqj+9TNbmpfvB8d8Wo625VzPUHPjUVIj3zMeCaA/bZwXrb9jg== X-Received: by 2002:a05:6000:25c5:b0:43b:8806:be32 with SMTP id ffacd0b85a97d-44648681e70mr6272615f8f.7.1777388578008; Tue, 28 Apr 2026 08:02:58 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Ashutosh Bapat Date: Tue, 28 Apr 2026 20:32:44 +0530 X-Gm-Features: AVHnY4K4zetyBgypqogmQCEOg5ivMdP_9bxPFXerw33wvk1DMei77DBy4e-gRuQ Message-ID: Subject: Re: [Bug][patch]: After dropping the last label from a property graph element, invoking pg_get_propgraphdef() triggers an assertion failure To: SATYANARAYANA NARLAPURAM Cc: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000d23e4906508686cf" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000d23e4906508686cf Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Apr 21, 2026 at 5:49=E2=80=AFPM Ashutosh Bapat wrote: > > On Tue, Apr 21, 2026 at 1:29=E2=80=AFPM SATYANARAYANA NARLAPURAM > wrote: > > > > Hi, > > > > On Mon, Apr 20, 2026 at 11:58=E2=80=AFPM Ashutosh Bapat wrote: > >> > >> On Tue, Apr 21, 2026 at 11:28=E2=80=AFAM SATYANARAYANA NARLAPURAM > >> wrote: > >> > > >> > HI Ashutosh, > >> > > >> > On Mon, Apr 20, 2026 at 10:34=E2=80=AFPM Ashutosh Bapat wrote: > >> >> > >> >> On Mon, Apr 20, 2026 at 11:42=E2=80=AFPM SATYANARAYANA NARLAPURAM > >> >> wrote: > >> >> > > >> >> > Hi hackers, > >> >> > > >> >> > ALTER PROPERTY GRAPH ... ALTER ... DROP LABEL currently allows re= moving > >> >> > the last label from an element, leaving it with zero labels. > >> >> > > >> >> > On assert-enabled builds, pg_get_propgraphdef() hits > >> >> > TRAP: failed Assert("count > 0"), File: "ruleutils.c", Line: 1837= , PID: 1821840 > >> >> > > >> >> > Repro: > >> >> > > >> >> > CREATE TABLE t (x int PRIMARY KEY, y int, z int); > >> >> > CREATE PROPERTY GRAPH g VERTEX TABLES (t KEY (x) LABEL l1 LABEL l= 2); > >> >> > ALTER PROPERTY GRAPH g ALTER VERTEX TABLE t DROP LABEL l2; > >> >> > ALTER PROPERTY GRAPH g ALTER VERTEX TABLE t DROP LABEL l1; > >> >> > SELECT pg_get_propgraphdef('g'::regclass); > >> >> > > >> >> > We can fix it two ways, (1) Prevent dropping the last label; (2) = handle zero labels. > >> >> > I feel it is easier to prevent dropping the last label than handl= ing zero labels. Thoughts? > >> >> > > >> >> > >> >> SQL/PGQ standard section 11.25 syntax rule 6 says > >> >> "Element table descriptor shall include two or more labels, one of > >> >> which has an that is equivalent to the