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 1wBI4t-000uor-1z for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Apr 2026 20:03:44 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wBI4r-00EO9F-1n for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Apr 2026 20:03:42 +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 1wBI4r-00EO97-0O for pgsql-hackers@lists.postgresql.org; Fri, 10 Apr 2026 20:03:42 +0000 Received: from mail-oa1-x2d.google.com ([2001:4860:4864:20::2d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wBI4p-00000000PYI-2HFF for pgsql-hackers@lists.postgresql.org; Fri, 10 Apr 2026 20:03:41 +0000 Received: by mail-oa1-x2d.google.com with SMTP id 586e51a60fabf-40efc77933fso1610475fac.3 for ; Fri, 10 Apr 2026 13:03:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20251104.gappssmtp.com; s=20251104; t=1775851417; x=1776456217; darn=lists.postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=NTLCkLY6QeYwBcmqcKUw//iCD5zmpOjFdvO9/zD1HYI=; b=PT5yOXNWJsuYYOVGqQwXV5IaaUQ3/ddD+h33erIoTVcKtzhlvW2FUhT0UJio8KnNX3 1FMiE2mh2gmBZAeFIMRuNPcBOdoiLewwCQgvqZk+C9x5URrgnuofmUOBYEekQqNFzG2W Z8O+Kz1kKpjdpfIvVNVvvHoY2fffNSF9bprb1ChCE5qoZDor6p+MPG0yt+gCBqhKyvSf ujVLQko5KA8G0qAddkyhw3QgIbfbNb+BbMMmzFCdEXCO0Nji1SPorC5FyJXPYwboIar7 Bc0epKCh7l6o0fmMRnh/YvrMQQn5h3OhpUHXovU5P7PmbaoxIdyf0CnBKHw3fytKKppZ uXcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775851417; x=1776456217; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=NTLCkLY6QeYwBcmqcKUw//iCD5zmpOjFdvO9/zD1HYI=; b=hbJm+vFj0h7T7txv2QuS2d0MGzhJllsbLdv9/f3nin0/Na2sBK+AsGPWzxtWCafbT8 NbDQNDrRkNEqi9QA7VPjfgx9FbOgz/Ai1WHyxAIDGuEGi2uwG+DQylRrrqvsrWl1Umxv Bvybr7BMQGPHvQF1hBbdwoXg8bUC3REkNibAp6/lbrjBP7kIhgcJAvbzL3m7Fa31b6xM PwEdmWJsCmf1TumiqmUX4lgQqucg6sVRDB1A/DnCAi/30jf4rJHZcGPnU08zqXwFo7B5 hHHUa8HwKIIoe6HfxQY5BjNRHP/UMOcfYFmAr9MX9AHUGtp/fMm9McpTcj5gx3/87UhB kVQA== X-Forwarded-Encrypted: i=1; AJvYcCUIRPnLG6+P3srHKDkQkW4yq5Xb/5lfpHqO5QbVA2ysmNCQIT/Ws4B32IbLRQGdP/VthJSFXtXLeRxENRee@lists.postgresql.org X-Gm-Message-State: AOJu0YzGecOz1pLRHPPMbz7kvSshxsS07osrJT77b89K7dT6IUCAuxsl z78X4tAaznD9s8vhvFykmtyHyMakxFaL5CgeYtPbVP3Hm6ZB/EoXM00Yn0F4Knq5mw== X-Gm-Gg: AeBDieu3sKNN7zA55YnNAvbzHgNimeNREX+vwTGKjHV2Ht/BYTIXBOr6vmO/WQnkx3S cQxHSMLs82cH3qQ6O0QbQh/G0Ml5XhtsQan0vV2QWnrQQUblCOUPm2aTZWhZNMMa+qH9VTXsP5P xX9921vAaMCD4GLUeNSWDV2VOIicCJR8CIK6g3ZQvvRtkQwXlLmze+90PaaMtIrbUxXyjLRU0dV a+2O+HoHf1JK82A5G9QZDM2HhK5fcxUGnJMJT+sZvn/p8CDIe73Pe+29l5LcbC2y4aSdPu4gPYf uvZgRB0gOECnZ6q+q4xqDkWLbrMTG6vFkvhzhDvo6y3EjN0OHzQcBdWQ149cVwmSLSxNxJEMiR5 7UWi9QR2YateFL259VDy58dgXJamCIROObXeNNM92Tr3Lhu1KstV1x+BRqZYp5MGzaKbTLrJ32Y zNmIDtEPOkRjAF+52IvM08 X-Received: by 2002:a05:6871:a841:b0:41c:c022:c16e with SMTP id 586e51a60fabf-423e120044emr2650337fac.41.1775851417004; Fri, 10 Apr 2026 13:03:37 -0700 (PDT) Received: from [10.10.247.3] ([50.175.226.10]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-423dcf9726fsm3109629fac.0.2026.04.10.13.03.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 13:03:36 -0700 (PDT) Message-ID: <4efc426cde8eed9734af3a4552c3be29188f3661.camel@j-davis.com> Subject: Re: pg_get__*_ddl consolidation From: Jeff Davis To: Andrew Dunstan , "David G. Johnston" , Japin Li Cc: Zsolt Parragi , Euler Taveira , =?ISO-8859-1?Q?=C1lvaro?= Herrera , PostgreSQL Hackers Date: Fri, 10 Apr 2026 13:03:36 -0700 In-Reply-To: References: <202603201311.yhtqmvektawm@alvherre.pgsql> <8ec9b67d-939e-4b22-8d56-a5129f92d32d@app.fastmail.com> <555cdee4-c024-4872-9d96-82ef4216239c@dunslane.net> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.52.3-0ubuntu1.1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Sun, 2026-04-05 at 11:06 -0400, Andrew Dunstan wrote: > Pushed. I have moved the remaining get_*_ddl items to PG20-1 The line: role_settings =3D DatumGetArrayTypeP(datum); should be DatumGetArrayTypePCopy(), because it's being pfree()d later. The existing code will sometimes make a copy and sometimes not, e.g.: -- settings are contrived to make the datum inline CREATE USER u1; ALTER ROLE u1 SET search_path =3D 'public, pg_catalog, pg_temp'; ALTER ROLE u1 SET work_mem=3D'64MB'; ALTER ROLE u1 SET statement_timeout=3D'30s'; ALTER ROLE u1 SET lock_timeout=3D'10s'; ALTER ROLE u1 SET idle_in_transaction_session_timeout =3D '60s'; SELECT pg_get_role_ddl('u1'); ERROR: pfree called with invalid pointer 0x7986dd0c7cc8 (header 0x0000400600000000) Also, it looks like the scan key in pg_get_role_ddl_internal() uses only the second attribute of the index, which might be worth a comment. Regards, Jeff Davis