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.94.2) (envelope-from ) id 1u4d6D-004yip-VQ for pgsql-hackers@arkaria.postgresql.org; Tue, 15 Apr 2025 10:01:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1u4d6B-0072D9-LV for pgsql-hackers@arkaria.postgresql.org; Tue, 15 Apr 2025 10:01:00 +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.94.2) (envelope-from ) id 1u4d6B-0072Cu-BA for pgsql-hackers@lists.postgresql.org; Tue, 15 Apr 2025 10:01:00 +0000 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1u4d66-000C0n-2v for pgsql-hackers@lists.postgresql.org; Tue, 15 Apr 2025 10:00:57 +0000 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-3965c995151so2364802f8f.1 for ; Tue, 15 Apr 2025 03:00:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744711254; x=1745316054; darn=lists.postgresql.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=Xm4jmzF4f7UfRr7BIZRGGCNQBRH4cGz3KPHW3lYPdC4=; b=kKREeyndp6kVGHx3jgZSwV6Ku3+nDiqwYtZsUrZdmNNHsmeB4E3pw0a63JY631MZlY UOBuqc0cjgg4WvaL/6VgqnVtmuamgjH+7YY3PMZhzWj5yrOwd9pUdkszlLuBqcEN4chk a1pKwYGtsH/x6ITBItnC/lPBP6J9+YMlxvflrKVUXneyHvT5fCaPVFUHK79bzOD0Vk8Z Su/2Bjh52mw8nMHCAcPacrKaGwp6nYT+5X1zSFq01LGym0HxFgTYj962iAgjbJ97sTzT 0sn17XAzzaxaKvw8AbTP+Oe4KsSWHDUZWNAqBs1ffhLoSeEldqW0Bf+N0FVDbkY55udr BRjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744711254; x=1745316054; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Xm4jmzF4f7UfRr7BIZRGGCNQBRH4cGz3KPHW3lYPdC4=; b=iFDV/SVc6YyVQyEjwTjGZTa2oJ3nkZM0KbOvdmrMpGHuCzThO9LtPmv3U2T5CEYRlv jQOLwZ45c1FSDBf/ByGJZugVGk23GzlVeLeTcizm86yxxXn5S9O8YVjHUS2KVAbVvNC5 RR3aZbcqSvBPZRpUUtBF7pVb2U/v1IvktoEhLeHP0nvpOujOWxJ6d2f1rZ95vHCEEpAn EuQGNwCE03PoVXmhqqVdPSR0sVM71eNLBeWIo5nbLpnStvsomAAFV1OaVHC2CyMMo0n1 8WGRG/976c8wFit5hX4JMPiQkSEhDHaotFcFG/i5ci2dtCqBH6dcUQCtscEuRxVqGMlr LhCA== X-Forwarded-Encrypted: i=1; AJvYcCXCPiJj4uBCTi07b6+cpbH0JidZrR/SpxCyZEOAb/XFKJ7w8mkF6ez43kaqAsRBgk7xmTkC8a0Cg0iw33b/@lists.postgresql.org X-Gm-Message-State: AOJu0YzHcH88kxyG32qhdkUmAJ7RBWDGeiE8rBqynZzeKz3D/I4eGbb1 sw0V3RgyCl2pK3uetQ5Wc4aVX2n56abxVl8hMjVCnG8UjS4IAPz/a02DKaJYIUm3eQ== X-Gm-Gg: ASbGncsgDsChF/iZoEZhGTGL50JKD4UUOyFbNPYiTOKBkGUc+yWFP7aElcX0V+72KJu VV9Q6/3KciYWekl1csBcxJZZB83zknimY5hqXwQOcvkxU3862MefLEJjN3BWceAwJpFdnMxUj9Q ygHnh5gpBw7PebZlax5N3s2k/4v4eZXHpXjLueX6NqDvYZuPcyIzr555CmOCLdaHlzHojmfJyY0 0XvPw9IWjVj8SZeAFUaulOFdqqR9FaLEZrgFGbckoJmb6kH9+tQBfoJrbfBRgpBUWnXheFWnjmB UlJd5ZfRiejC24L8OMfwqSwb3wBNYFZTX7qo0UPEp5TW+/iB78BDlxfoZWAgiKcN0vjfZOrRI7K Go6+CzTyopA== X-Google-Smtp-Source: AGHT+IFjADr2YcPE04Cxns9CVRUlTtGPV/AL4gcADzDuoweI3EGiXqSKyX6O6Kcky6fmHFFMmMF+Zw== X-Received: by 2002:a05:6000:1448:b0:38f:4d20:4a17 with SMTP id ffacd0b85a97d-39ea51f4548mr13661673f8f.13.1744711254088; Tue, 15 Apr 2025 03:00:54 -0700 (PDT) Received: from [192.168.0.89] (84.123.232.230.dyn.user.ono.com. [84.123.232.230]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39eaf445742sm13828854f8f.95.2025.04.15.03.00.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 15 Apr 2025 03:00:53 -0700 (PDT) Message-ID: <869744ec-4372-41c0-8fbd-4523f5d6dc93@gmail.com> Date: Tue, 15 Apr 2025 12:00:53 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: A modest proposal: make parser/rewriter/planner inputs read-only To: Tom Lane , pgsql-hackers@lists.postgresql.org References: <2531459.1743871597@sss.pgh.pa.us> Content-Language: en-AU From: Andrei Lepikhov In-Reply-To: <2531459.1743871597@sss.pgh.pa.us> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 4/5/25 18:46, Tom Lane wrote: > I'm not planning to pursue this idea Right Now, but it seems like > something that could happen for v19 or so. In the meantime I wanted > to get the ideas down on electrons. > > Thoughts? I generally like the idea because, for now, I need to be sure that no one touched the parse tree before copying it to do additional transformations before the optimisation phase. But what is the way you are proposing here? Do you mean that one more entity will be explicitly introduced: a transformed parse tree? It would open an opportunity for extensions to build a set of alternative transformed trees, pass them through the optimisation phase and choose the best plan. -- regards, Andrei Lepikhov