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 1w9VjA-001Ukm-2P for pgsql-hackers@arkaria.postgresql.org; Sun, 05 Apr 2026 22:13:56 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w9Vj9-0058wM-0Q for pgsql-hackers@arkaria.postgresql.org; Sun, 05 Apr 2026 22:13:55 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w9Vj8-0058wE-2i for pgsql-hackers@lists.postgresql.org; Sun, 05 Apr 2026 22:13:55 +0000 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w9Vj7-00000000kgB-1MmG for pgsql-hackers@postgresql.org; Sun, 05 Apr 2026 22:13:54 +0000 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-66eab157fabso1061523a12.0 for ; Sun, 05 Apr 2026 15:13:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775427232; cv=none; d=google.com; s=arc-20240605; b=Ulv6wTEVUq+WaGRyuMMmr+hnT3UsM75jRplVIvUajkjGCIGZpmHtfahwugZheSJeev yAuu54U4dsS2LQCrUqUzA+UtE2dMPpVbG+DjfP/z3SZav2u253FdB3WMPjAG0X6x3Yhk 4wfARVNMdOY1BGsAhPPEO4+UVVXgZY1kuV1wYaCix/xJtWCPcY7qkHO3zM3ChxuXLg5n 26XRXoxTEiFYqKUOnMhdOYp1LZ1BGEq3kRXN3TqNG9xfbLeVIosZWTjtZ00I0/xIQv+1 92jED+2O85JcNRBYlAcOzWRPUfRTynoJ72Oc3dxlfVbkmyUX44seIOdHVIMdiA+fFWdP /SJg== 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=2Azi360CpOl0NsxWA6ObJ4UVDTrMP61glnKhUz3EIWo=; fh=1q4nPAMDFQJGIYxV7s1wQcV47WBUOi3XA77YDomox1c=; b=Gl86Yb6hDGvVo7tmNkAG262tTR+ptGRpkBoujwC5qjLmhfz1wwNfgKX5ZPxWqM/myi XpUJmolxRrNGbmPsB72/TsmO+3kF+UcSipKZDEFDdBho4HXf+cviiB+RKepLVBbSXddT U3r6BDPIln9CK66xaf27S7qokRURkr0yPDMxc9dIBZvOHM96hQc9IECkLIfnqyAvYekr g2M++rALjMW3Hzu6c0Lr3cgduMsSaBQ2fX3CazEuwQpf1agyCpqtck9Htgzk4w3UbSt6 YEzhl6YESAEzHYlU9riw+KN+u95CMKVIzzt/0sSb3/6xgD1+UOQ0qpMt4tzNbXzA+fhe Xo+A==; darn=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=1775427232; x=1776032032; darn=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=2Azi360CpOl0NsxWA6ObJ4UVDTrMP61glnKhUz3EIWo=; b=pYpTeq0YsyD9m13RuedysFBsDITt6/Wgz3UoTmG8ChWpdbhyqiUtK0EAb68Sv2wPs2 qWuAAbghjzzxqqo0rVu7hkb5NGai6ts5/TeU1OaeIOdSPKD+WFsWSfRYL4PJqomv8TpH Y2o5MNNLQ+EXFeebjZtOF8AK2cB78TEOgpBLgGSIwD5IBHDbY1iDM4iWK+v+DkRYKCHr /GvaXVXTr0uoJWSDWHJ7k72so20FdFvNj7MsuWnKWSOeam5jmbeLK5DPtkeusvHrgMuv itEA9Lv823HYxpxpEE8IyRHQJmAIIW+Ii87RDd0mvShfpErXs3E18RaV2qAM2da+WaAw 7tOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775427232; x=1776032032; 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=2Azi360CpOl0NsxWA6ObJ4UVDTrMP61glnKhUz3EIWo=; b=YQcln6NOERzeji7bhQubM8sUXtj+rRgzEyt2eP+63T4YBC35xt6uNmEaalLNgug/zm LfmuzNI4YtFVgafWC+DxNNftSicW96Y3trknEGp5mFeqow6AU7veBxvEVpDWvVuKMg59 XqNmrUiw9OCaIjdfrNeL7HVEQB9YRI14J0lARgxrTs7jXyMA4nKVdAwfxaimXxBAzq+n zzGm2uOgc02ZYxeIjuE4jyO5fNDJA7H5xgn3p4z5nNUh1QwnVwoHwYiqwjvhC1n5sivk H8kGmn6m2hF7xrDv2Ee0MpgSegYEyYDL89632U0OLM2b3ClEv26TxQJNerI64rvG4eXs 9UFw== X-Forwarded-Encrypted: i=1; AJvYcCVtSEx/SEckhcjxcqv/NegZtSxVXA8zGzS1MM5XLKudeZAaI6K0bRCOguwD6F7EiPu3S5m6nR82hyTCYWz+@postgresql.org X-Gm-Message-State: AOJu0Yy5WWKjFCFKf7FUhufH1lz1rZoS9QQp9DeyJfCCZlaoSolmKGg0 ogKlwF4Fzg9WQHbgc9g4NqgTzP5Vogph46cAsJRb7hJFrE7EZOH/BysrLn+386G9OVuZQW1Tba0 BOSuIlbmoPb6QT5pPTbtxsadgACv33uI= X-Gm-Gg: AeBDieu/mE2ZDly7bdjejePHKvX9r9ZvDsFn9NTPjsaHiAHMjNy0dvJ/hOOyN9j8HhT lD8WlRMco3EsLA1tnmGMSOSuXQdpe1HRyQujjkpxlWuzuTyNur4BExSzKXqi08xbnDVfs9jCN08 bbWJoCgZ7gdHa8sB/J/bvhWfbmlTeLaFSg7YasRpwOpfd6UC9lGSOydrxdoV/MK1l3xNF7tHwnV N1Rk/93N1fPpcrPIb3t477m321zyUa7Ypr2aqAn6PHOCUte7lI92OtaQh2BijBFMcSVTqNS68Oj K+6A3q8= X-Received: by 2002:a05:6402:2547:b0:66b:b6e2:66e1 with SMTP id 4fb4d7f45d1cf-66e3f70262fmr4808811a12.18.1775427231630; Sun, 05 Apr 2026 15:13:51 -0700 (PDT) MIME-Version: 1.0 References: <8437F4D0-9DFB-4045-9318-CC3C5BA2E267@paquier.xyz> In-Reply-To: From: Sami Imseih Date: Sun, 5 Apr 2026 17:13:40 -0500 X-Gm-Features: AQROBzBvPycZbTUhKOfEvlfiwZsjxNRSqszDTZA4RfcnXZVmAp_jm9UWt4Zld6k Message-ID: Subject: Re: Refactor query normalization into core query jumbling To: Michael Paquier Cc: Lukas Fittl , zengman , pgsql-hackers , Julien Rouhaud Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > >> > I'm +-0 regarding this routine, but I can also see your point about how it's > >> > useful to give at least the option to extensions to have a > >> > recomputation of the Const lengths, the same way as PGSS. What are > >> > the extensions that would use that? > >> > >> https://github.com/search?q=fill_in_constant_lengths&type=code > >> > >> A few well-known extensions/tools out there based on a Github search. > > FWIW, this search points to a lot of forks > > > See attached a v9 that extracts ComputeConstantLengths from Sami's v7 > > for easier discussion. > > > > I've done an updated test with pg_stat_monitor [0] and pg_tracing [1] > > with that, and that has both extensions passing regressions tests. > > I've also looked but not tested a third extension (sql_firewall) and > > that looks like it should just work as well. > > Still I can see the gains here, so I guess that this version works > here. I'm happy enough to see the const with JumbleState. I took a look at v9 and it LGTM. -- Sami