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 1srUHM-0022AF-4k for pgsql-bugs@arkaria.postgresql.org; Fri, 20 Sep 2024 03:25:56 +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 1srUHK-00DP6U-56 for pgsql-bugs@arkaria.postgresql.org; Fri, 20 Sep 2024 03:25:55 +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 1srUHJ-00DP4k-Sr for pgsql-bugs@lists.postgresql.org; Fri, 20 Sep 2024 03:25:55 +0000 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1srUHH-0007M9-Bm for pgsql-bugs@lists.postgresql.org; Fri, 20 Sep 2024 03:25:54 +0000 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-42cacabd2e0so12867325e9.3 for ; Thu, 19 Sep 2024 20:25:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726802751; x=1727407551; darn=lists.postgresql.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=PDrKmVuI/onKkfOlPjnSW6kZZu7rCiJv+jatX0yvtuQ=; b=NX1lfZJjdIu7q/L8j16ySJLEQ6JrwcQiXv0VVjIypPIsWN9jBQx4oPfEyFlzFvEP8I 4lp52t41tZpEQfTyBlwaQ5PU/mJoA+5umCyKk4UOuaFm1lkg0mCwudwphjJBV+21UNSR fUBzKnJee6lXaekDMQ59J9emfi/fXfEOxh+hLWMVJMDurRtJIOvpll4/C3kWqFFnlDPN ZDAHiT5PeXQGIZR3zRTZeDrZGEpixkLerbroPpMuhZn5k6B1NZuqWp+Mb9CBXuGOcltY 6q9PM6yjM1dmN1ken6DzBA+LNpRHCO/3yqaEIDCevLh52O2ywU+c7DgFmwd55PURWLmk rB6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726802751; x=1727407551; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=PDrKmVuI/onKkfOlPjnSW6kZZu7rCiJv+jatX0yvtuQ=; b=YDLNTV2xTa7HhI0l9DIzQ08y3c4ARDb9c6q8R2LH3W/bNFtWCIGPnLHFu+rzN41uHT FrosAMwA0eyWFKU47lirLb/mGDYLnMQlObItPa65NJfMRFY/6T6p3m4c1VM0DYrGRqEN eOULBAtVq9xbsxwca6tZCtxoQzFzddKV9WZoPr3S+sdpumQDkwp+mjnjpdjB7R/RL91Q g+q9DKQ8GSy0Fm/gZLfELTA2vzVw3/IkTKd5wX5Cd1mX22knvTYBzSG0OUsjVH49SH72 hDwmJfpv44xhfUz8pDKRFJSKIFLYt9DbWYzidK++XRLJ11a3iJ/sTLjqyRl4X8vKsRqj YwuQ== X-Gm-Message-State: AOJu0Yw+3JUsU4KeXAbrFTvbDqurLmnHarrfnFmlM0a+FmkjDb3L5WSP Rpfua93qRi4bymeYgCWcMjw1Q0Je5H0jWG8GH4ipuAgGqhLejSEU X-Google-Smtp-Source: AGHT+IF02AYh9wzOZziCq3VuJW9y2nt9vnwLMwY0+XqJzqpZzm+YEOppC4efELN8O0QBwiO9bSZVnw== X-Received: by 2002:a05:600c:4f82:b0:42b:a9b4:3f59 with SMTP id 5b1f17b1804b1-42e7abf7fe4mr8268745e9.14.1726802751128; Thu, 19 Sep 2024 20:25:51 -0700 (PDT) Received: from [192.168.18.235] ([45.93.57.193]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-42e7544c3cbsm36777495e9.11.2024.09.19.20.25.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 19 Sep 2024 20:25:50 -0700 (PDT) Message-ID: <8331d79b-1aa2-477b-ab43-0d72c4c49fbf@gmail.com> Date: Fri, 20 Sep 2024 05:25:49 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Volatile functions under Memoize node To: David Rowley Cc: PostgreSQL mailing lists , Richard Guo References: <7ab4aac3-4790-416f-98b8-2ec0707cceb5@gmail.com> Content-Language: en-US From: Andrei Lepikhov In-Reply-To: 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 20/9/2024 04:36, David Rowley wrote: > On Fri, 20 Sept 2024 at 04:47, Andrei Lepikhov wrote: >> Excuse me if I made noise in vain. After discovering the limits of the >> Memoize node, I realized that volatile functions are allowed under the >> Memoize. > I'm not sure if it's a good idea to penalise your case when we're not > all that consistent to start with. Is this causing some sort of > breakage? As I've said before, I just discovered the feature's limits and realised that I don't actually understand the idea of volatility checking: even in the get_memoize_path, we spend cycles checking the target list and base restrictions for such functions. Is it necessary there? -- regards, Andrei Lepikhov