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 1whb9t-000Jmy-12 for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Jul 2026 22:54:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1whb9r-009uvX-1y for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Jul 2026 22:54:24 +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 1whb9r-009uvL-0x for pgsql-hackers@lists.postgresql.org; Wed, 08 Jul 2026 22:54:24 +0000 Received: from mail-qv1-xf2e.google.com ([2607:f8b0:4864:20::f2e]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1whb9o-00000000MRP-1nCm for pgsql-hackers@lists.postgresql.org; Wed, 08 Jul 2026 22:54:22 +0000 Received: by mail-qv1-xf2e.google.com with SMTP id 6a1803df08f44-8f0e5e36912so8965596d6.2 for ; Wed, 08 Jul 2026 15:54:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1783551259; cv=none; d=google.com; s=arc-20260327; b=Y9cSUH9kDkrRMC4+XvGZJSJWvHjk9nGfmITdlXoJY6eRoKwDoFrPUw1IszwwUzQtWf eIl3PIkBj83qRXBsV5l2rJYkSNkgrdSEaKeM5isD5KKTbbHUNDM4ubpoUn6VdFL61B1/ UtExetefBlADN53iUBQhQnTafMt/z9DRAMRI6XlcX68ixM0iwMl97HMUu2lI7vUlBOuJ B42lPRuaThz4FakZUp+Z9P6+7AKbRJVOgBXeJEa0FDrT/+VpI4yhn8g3JHGOs1HxkzgU TIOKz/b4ZITt5daX3dC8ZDJ6B3tVDu2Z8gp/bhSxypNoVi6fx7lpYOx1jlNSHD42WgQC u91g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=tPvHZ7m8OEiGu587n9GqXtzpiYaymYJ/QJC2bb+NBU0=; fh=k74aIZ9HhN1gfR6LW4vA3HdJRdvRT57oYb+v6BSTSoI=; b=NLRpxGkQ3lPTdp8J+DU4BRdWYbhbQF9U330ZowNGVG+5RIxAHb1k9p4SZjr+Ocl5P4 pcYp84x90K5ge6YGfJuEsBYsxhFrL1HU6sohQ7Hqsi/M0MIY99qjSr9GtycqTwaEW9aK VMAZMsiMt9mgxmUtzjWAi1Q979rhl+QbMqSArA1q34aYLM094um8vRhpz6kqYVKcw+tI g3AW6dPM5wZshJbhrxDHwH3r6HbOm8/lpJa1Z8pxd0lMcbK4TNUGgljvkfTD4hDaTARi AS49mlt6N53uq4kICP7N+yKZXe+jEY0nHiF8zQxqwj1vxlNHolR8Mmy24ZiOZAcqN1Mc s49A==; 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=enterprisedb.com; s=google; t=1783551259; x=1784156059; darn=lists.postgresql.org; h=content-transfer-encoding:content-type:cc:to:subject:message-id :date:from:in-reply-to:references:mime-version:from:to:cc:subject :date:message-id:reply-to:content-type; bh=tPvHZ7m8OEiGu587n9GqXtzpiYaymYJ/QJC2bb+NBU0=; b=ShYfAgxmqQgV1rCEiSJ7fqNyWxqacNMJqVRWbt2t1l6KL1ArZvoYoYdRMpRd0nvtCX F5TErODJma1Af6ub3pBVvlZP3f2d1iYWEOgn3jzCi5cD6L7isIRG18b2xZ1wx1t+xC37 ZsfSpAuqTqDmSr1rM/8QkygLonyj3cew7/PEyiwE8cN3xzRkwza83LMvrlyglNwTZeOD +eVNxhxX++ILf24dBjoXXx9cHWlLjYHdV95u4rZO+SQbJPns5Wdkw3B2heFVrbNSs1D9 ho1TZPdc7nBBJZxVnY+k+jxb5/Tc/Ej9aJpe7JycUBZafTuy5rr66IPJ3Qz10Nfx/pzo mwRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783551259; x=1784156059; h=content-transfer-encoding:content-type: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 :content-type; bh=tPvHZ7m8OEiGu587n9GqXtzpiYaymYJ/QJC2bb+NBU0=; b=kvF02fS1UAoEfuzcD9FwQEaz+AK4zfBnogWp78VszSKakJUz+yQkzAhIV9xiU241uy 8LqdtZTQCL8b5iRdDHMczsnpEIpNLv4PCD3cJYWXv4UbdqnqA53CBMX12laCcfQ5mp7X wKKVizxJ2WdEFRyPtljZQHTbe7HNLcifCLP68E0h5K12VIbO1UXL++0huX4d46atA7i9 /tPY0KixOKDwXkcNhO5vj8hp2Nl44SqFDJ4jlbQ9Pn8EVwb9/7fOI9Ra2fUYilfw1FgF n+rk9BYeNemthbnV8DPI097ZXjavSV81U+7lHWYUGYVv4mKNGRO7Onhuymw/nabyaOhI +hQw== X-Gm-Message-State: AOJu0YzyLfTTsu6OKgqKSeoqW0yEym9PtBvmWcsRd5YiLlb2gymmDhGh iszEI63Vcu7MYWos2BGzs6sNWtLuGmWQzaovFP/quZ3mxfTyhGXrfl/PE3iJIETvI+ZZf01gsaB ze1ucOTynhzksClL1D+StEgNyU6Gc0kY4kp4UIQyk X-Gm-Gg: AfdE7cmAjzZ0NCG8n34tuWgJ3l51JJhfAOeg9jU9vW5hD4gX1grwP4BdvQkQgraYY9C WSHNNA0movkyzMcjRiSdwDymNzkh0l7yhf9o7J87s+W6xQjupBFNn3aPLBjn8ug/Lk9UZRBiYv3 W7kZPQBNE1mmKWlDiScjImqY1THVyiPJ3vvy6D8DHe5EZq9dTrp9H72LspTbUPVVgWr39faMsNg zDZI46pjbqiURxYJon1tOe+q6GQ7D9WHA0kHFEw/hp3dcUXrrDvnM7E0DjJ4RdUFmhCNZ+soFY= X-Received: by 2002:a05:6214:3383:b0:8f0:4518:6ef with SMTP id 6a1803df08f44-8fec1d7ecc2mr55385856d6.19.1783551258691; Wed, 08 Jul 2026 15:54:18 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jacob Champion Date: Wed, 8 Jul 2026 15:54:06 -0700 X-Gm-Features: AUfX_mxfOHZTxV2xhgljw2Ivqbp6b7Ym43HG7ptVS5imzRXfsGj1_bbVrPG7E-Y Message-ID: Subject: Re: REVOKE's CASCADE protection doesn't work with INHERITed table owners To: Ayush Tiwari Cc: PostgreSQL Hackers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, Jul 6, 2026 at 4:03=E2=80=AFAM Ayush Tiwari wrote: > Thanks, this looks right to me. Thanks for the review! > One tiny comment question: the phrase "granted by any role on the chain" > in the new comment reads a little oddly to me, would something like > "still holds the option directly via another grantor" be closer to what > the code checks? The first sentence is still "The grantee might still have some grant options via another grantor," and I don't think adding "direct" would have helped me understand this any better the first time I read it. I'm definitely up for more bikeshedding, though, because I don't really like what I have... > On check_circularity() for [1]: I tried the same aclmask_direct() swap, > but since it runs on every GRANT ... WITH GRANT OPTION, which > pg_dump/restore replays, erroring there could make restore/pg_upgrade of > an existing cluster (one already holding the [1] self-grant) fail. Well, I think the complaint in [1] is that dump/restore *already* fails, no? Can you provide an example of a correct (or benignly incorrect) dump that would start failing? As an aside, I'm not sure if check_circularity() is correctly preventing cycles independently of this issue, so that part may end up spiraling a bit. Thanks, --Jacob