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 1w9pf9-001nc9-2O for pgsql-hackers@arkaria.postgresql.org; Mon, 06 Apr 2026 19:31:07 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w9pf8-00BV38-0t for pgsql-hackers@arkaria.postgresql.org; Mon, 06 Apr 2026 19:31:06 +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 1w9pf7-00BV2v-3B for pgsql-hackers@lists.postgresql.org; Mon, 06 Apr 2026 19:31:06 +0000 Received: from mail-ej1-x631.google.com ([2a00:1450:4864:20::631]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w9pf5-00000000x6w-3155 for pgsql-hackers@lists.postgresql.org; Mon, 06 Apr 2026 19:31:06 +0000 Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-b9c3e2cf3c0so684251066b.1 for ; Mon, 06 Apr 2026 12:31:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775503863; cv=none; d=google.com; s=arc-20240605; b=RgAOdzBDnLZAsKlBrQaIbj9tTMciOQJcktlSGd6VWOQyWwEmmxOVmlXlQSvzCOOITZ L/cnfOr0ZBDllEi6aix0O5gzcbOp/wKsfkCGHDFhiac//YlsrbftwKWCeYoCVc8lRFBX 69rq8ONTBtyybAJc5wk5AiIYM3h+5P/HEqGCIrOXJl7vs7SLWIbUzhPJ/azmHwHwTJMn 5Myhtw5f4ldlPOzMHDHE0GEjoovxVGgw13pNjnoOx2V4mlHIy15qX83HQI4Km4c14IyJ 8kje4Hbwt/ELqGe4rM00PksDQYTdhdpjS1sQdG+6WHXGA+x2hmC/53a/AdOxc202MTos cy/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=K3ngrmb8cwMYh7vFTRrIgeNdEe+GOoBvYBoTEqkLDL8=; fh=c1nHoHctnsyE+BYLMKdSUFslyntvRsLj9BYrexsFCUA=; b=Dam2McPUuG0H5dGf4Eiqtqh8DCsj+jUe2wHh6KDxP9FW50aXJHG0J4xTa2HqFAuUXt GU2b/DIc8Qnlo9n2vE3OKwza7VaNM7VxU1v8YwZFOXkrXZf+3uQbNUGiIp0jerda2Rgh Bbas5SZAgxciAmBCUaCJNDpFufQaWLV3qIEEvytsc8ds8icnZCbj5yMRvYNVdxGTTsai Tn6MjM1qZFGRwsxXMu0X92KRavTUN3zJpbxw+PxLBRuMQ5PR8HcbIRsmyJhspxgN0vqV qZ/74NarysWW0zIAgVHE/VNooysKipD+QfreD88M3KWdtFr4bIpobbaRI4RneBballM4 PhpQ==; 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=1775503863; x=1776108663; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=K3ngrmb8cwMYh7vFTRrIgeNdEe+GOoBvYBoTEqkLDL8=; b=edTFF6++9pyj2F5x6Qk0xaibAZqgsOPbczjrcCcQlX7qZ5YUFBCkUtLorzWUwTsRb7 zd9wuDF2dVsQBAsaOhDLoxGc5Za04DIEC6mnS0BIrwtXKOyxhNZUrxL+2oZ1KQOKPnwo izbz6hX73raZZMNUPr/ZI5uiUNAdDzFRwPwDiTkagOLUhnU3+1b4y7Tmb1i9qRXALMe4 D0vXbuwlX1e33Yjp1ETlpHkr4II8pP5KzCIOpvlowb+dHXEMhbQ33fUv8U+QrLfbc0E3 szkYbNvJ23llbHwhtQyXVfgf9RX6RjyUgttb9eydUKaLTE4Lpkr7PLVv/5O7phlSIyPt fXDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775503863; x=1776108663; h=content-transfer-encoding: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=K3ngrmb8cwMYh7vFTRrIgeNdEe+GOoBvYBoTEqkLDL8=; b=GcpCPpZDdbN+1JwBLl/ZNdfRaEhplW9bcuYmnqJ2K/11t28Gbp2VcRytKlP+VDZ5jV 2sLfdDDpxxelgyWxnMB5DpygzU8rLFedzhrmSUt6MSUB4o5ijTiPMoceWJPogJ97+URp JSS1tFnHGEZqw6xlpFpxkNA8TYumzLAcOYm1qY5DEbWumx67RHWjTT2gwfih/HpGTvi6 5l3BPSTFQ9AmstjzTS0ayHh4SzpyyY17A4sPjH4ha1gXTnOB46xJYH2RI+SkeAYbfb9K VwO6vfDVvNb4lC1Agp1yDbcVdRANgkuj6YnXBbOoXUyVb6KyrQrMn5lF557QHqAC846V wL3w== X-Forwarded-Encrypted: i=1; AJvYcCXkszJIN5kKxme1HN2HFmc7N1ycE+VYJqw2n8KmdsvEmZbYn+mdhWe3cEDb6e4Vc3b9GVOZvPwM7utoszRB@lists.postgresql.org X-Gm-Message-State: AOJu0YzoKx7V5SoAVUnAwaabT3V+HxcVG+oLiBd5mA9dh6Mty7lXhbnv dy1+0vGj6cSu2VM4aXhbJReFKo7Skz0m7NJjtxSHM1YmTH0NdPy/vg/dlfTzUSfqdYe7fmZHno7 RWxzKi/VHycM71KZ4JHgyIt3R3nw+YKc= X-Gm-Gg: AeBDiev9z1WFshFzUuzz3h/VJet85rxmU0R7RXQ5ms7CyeHzZOZh7wlLUVbePtLFhZ1 YlMEFSr+37w5YpRmaZ25bNWVtmKp0eNIFze6FCh1SPb80mEX/6Oss4PYeHNpzzh1xDE1EKxJ15d 5cxsl6zV6E0gs7MdZYt5yh4gRcmmp4iTmNfM4SbpCxpX637lvq2A8KQ6XcMn0i3Xfq+PzYc5PvS 4skP4ux6+pE+NYHOY9GKCQf2Z/9J/4T5emMS5nth57hFZPq1616aZZt8HK4jga8cjI/zETfQ53g rZIFovJ5k0Zwj3m8hBzbAFRaurlRIxjbkIZZecz2B+ag1UnZ3A== X-Received: by 2002:a17:906:ee83:b0:b8f:ae35:cbdf with SMTP id a640c23a62f3a-b9c67b67376mr762279566b.48.1775503862593; Mon, 06 Apr 2026 12:31:02 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Robert Haas Date: Mon, 6 Apr 2026 15:30:49 -0400 X-Gm-Features: AQROBzAKgF24N-8QLz9-jXil8os2vOvuPgZBO6T87fGdrpJqoUtNOQkLQ-ZAzA4 Message-ID: Subject: Re: Add custom EXPLAIN options support to auto_explain To: Lukas Fittl Cc: Matheus Alcantara , pgsql-hackers@lists.postgresql.org, Tom Lane 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 Fri, Apr 3, 2026 at 10:09=E2=80=AFPM Lukas Fittl wrote= : > Per src/backend/utils/misc/README, "extra is initialized to NULL > before call, so it can be ignored if not needed." - so we don't have > to set extra here. Fair enough, but it's not an uncommon practice. See, e.g. check_synchronous_standby_names(), check_backtrace_functions(). > You note in a separate comment that we're using a subset of the main > parser, but maybe its worth calling out integer values in particular, > since things like "100_000" are not supported (since we're not using > pg_strtoint64_safe + deal with the complexity of that in the scanning > logic). I think this could be a code comment for now. OK, done. > I think this function probably has the most complexity due to its > hand-rolled parsing, so it might be good if someone else takes another > close look at it. Agreed, but I've committed this for now. If someone finds a problem later, it can be revised or reverted. --=20 Robert Haas EDB: http://www.enterprisedb.com