Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q9npC-0007RI-6y for pgsql-hackers@arkaria.postgresql.org; Thu, 15 Jun 2023 14:19:46 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1q9npB-0008BY-0z for pgsql-hackers@arkaria.postgresql.org; Thu, 15 Jun 2023 14:19:45 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q9npA-0008BO-Nw for pgsql-hackers@lists.postgresql.org; Thu, 15 Jun 2023 14:19:44 +0000 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1q9np8-002MQ0-93 for pgsql-hackers@lists.postgresql.org; Thu, 15 Jun 2023 14:19:43 +0000 Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-5187aa18410so3937079a12.0 for ; Thu, 15 Jun 2023 07:19:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686838781; x=1689430781; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=kLvxBIvNNkn/rL7PpFELOVwwfdTtchoM9Jy3/7Q3c9E=; b=Ip8il9e8IblqnHl2kyIdD5oZuYaFaQlN4I1dbWty4p5WNV0fW/L3YdKZmbEQ/i2wZJ y58nWXK/JlVj2p+ll6d3ZKyNCuXd8tj2VIv2tZsEhAKr+SR6g8AASgrYPeSEgUtbl5Jl aNx4milYyC4oMCPar6GLqYRloH2kZEk0ETgCpcK1phV1H5fDL934M1WdYbqabvvGHakb hF8ubhp9T1MRgM5qrVqjLvwkAcRJDv/+tEr7XwOlleQLQr9/Qrxgsi57+YLDRsXbVXAW 8PwnpbUzu7GDDcDL8LSIsg6nuGsyTvi4fmXfwa1kVmOin+o8p9pOTzMWZ6GBXbLoEsTn 0fFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686838781; x=1689430781; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=kLvxBIvNNkn/rL7PpFELOVwwfdTtchoM9Jy3/7Q3c9E=; b=VaXTfFGPfk42ZGZ9Pfvyiw/HD8C+njD61XhQccG+2nfJZdwKO/1FOX4S+DC376yL3J Lr3+da4hV32DyxgTobUD0TZvtQ56d/UfYNejdufiFayaVZYN4EXJ3DMEvVeMqg+BUodu HRdZ2P15i3Izgdurd9UvfXBbEYinbEFEIkMMBvgOdC00QdGmaiVLWB0Is0slrr+cMbdf CqowwkunnA0Hg4+do8YNKymtohhfbcZuRFcCLLaIiMVieVzjV/MNOmtEnACj5BWhmugT SptUid7muqob/OqU+uJNhyi6NbvfAUWxiW1fYUn5ok7X4Mh80jAcy/C66Em9AxG35Tbu ZfGQ== X-Gm-Message-State: AC+VfDxKUT1iSxhs2DsVFmemP7tyKGaZ8DeGFy++McFF/7WR4A8Yt4Qw hd81PFmdHFU9oXi+bXpkQ4OAbfiWJ2JWJVm33KJhCs26 X-Google-Smtp-Source: ACHHUZ6hhy0abkHsFano8udtlIM+qnNzUl3gSOmplBXlBohsCPx5uR96z7SKxXWJc7JElPT1yjEoNwJwbgadFT6a1+s= X-Received: by 2002:aa7:de07:0:b0:510:d9c8:f180 with SMTP id h7-20020aa7de07000000b00510d9c8f180mr11040613edv.21.1686838780441; Thu, 15 Jun 2023 07:19:40 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a05:640c:2b84:b0:1ce:d122:b10b with HTTP; Thu, 15 Jun 2023 07:19:39 -0700 (PDT) In-Reply-To: <4c32f84bc097dee0081e4cc3e733ef8d@anastigmatix.net> References: <389c986d-fbb4-c644-9280-db7836af7ca9@postgrespro.ru> <2111925.1686835298@sss.pgh.pa.us> <69234e25e34e68425f49630f79ef9991@anastigmatix.net> <4c32f84bc097dee0081e4cc3e733ef8d@anastigmatix.net> From: "David G. Johnston" Date: Thu, 15 Jun 2023 07:19:39 -0700 Message-ID: Subject: Re: When IMMUTABLE is not. To: "chap@anastigmatix.net" Cc: Tom Lane , Yura Sokolov , "pgsql-hackers@lists.postgresql.org" Content-Type: multipart/alternative; boundary="0000000000004d3b4605fe2bc2ae" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000004d3b4605fe2bc2ae Content-Type: text/plain; charset="UTF-8" On Thursday, June 15, 2023, wrote: > > So one could take a strict view that "no PL/Java function should > ever be marked IMMUTABLE" because every one depends on fetching > something (once, at least). > The failure to find and execute the function code itself is not a failure mode that these markers need be concerned with. Assuming one can execute the function an immutable function will give the same answer for the same input for all time. David J. --0000000000004d3b4605fe2bc2ae Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thursday, June 15, 2023, <c= hap@anastigmatix.net> wrote:

So one could take a strict view that "no PL/Java function should
ever be marked IMMUTABLE" because every one depends on fetching
something (once, at least).

The failure to find and execute the functi= on code itself is not a failure mode that these markers need be concerned w= ith.=C2=A0 Assuming one can execute the function an immutable function will= give the same answer for the same input for all time.

=
David J.

--0000000000004d3b4605fe2bc2ae--