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 1uZCD8-00016A-Lv for pgsql-bugs@arkaria.postgresql.org; Tue, 08 Jul 2025 17:34:30 +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 1uZCD5-00AOVJ-Fk for pgsql-bugs@arkaria.postgresql.org; Tue, 08 Jul 2025 17:34:28 +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.94.2) (envelope-from ) id 1uZCD5-00AOV4-31 for pgsql-bugs@lists.postgresql.org; Tue, 08 Jul 2025 17:34:27 +0000 Received: from mail-oa1-x31.google.com ([2001:4860:4864:20::31]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uZCD3-006G0v-1i for pgsql-bugs@lists.postgresql.org; Tue, 08 Jul 2025 17:34:26 +0000 Received: by mail-oa1-x31.google.com with SMTP id 586e51a60fabf-2e9a38d2a3aso4534871fac.3 for ; Tue, 08 Jul 2025 10:34:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1751996065; x=1752600865; darn=lists.postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date :message-id:reply-to; bh=WbP2wJ7yzIpNqXVNmOGbwEcNeuNUTTK954k9KeFDvjo=; b=H5zCEJIkbw7DB66ZJe4UMc7S89pwZ2xESDbGXI8caW1RkxCUMMApXn7MKOQSpbi00r g3l757OH+3OsLCAko65MKCdCSRSdR3unJocmvWuZt2K6MBoo/l2+HgLIxpU6tIclnNVx CV9X+S0e8YJuCQGw0enbk9euJ68O7gXuzIdp1wWwZIGzODqDR5AMLuSTD9TwkxAidUZ7 YmU2IfY5AATrw2jgbz7AVS+mfUEH2XTnT/JWzmcw5vGzdYz2NnNmsQE9SB3kqUU60qac cYReR6Xu4vIKGe4WH8Iy4eJ4onLHeuuvv00owyzlcdDAg8hdwHykxROAY4HzEkDR8hX4 fvuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751996065; x=1752600865; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=WbP2wJ7yzIpNqXVNmOGbwEcNeuNUTTK954k9KeFDvjo=; b=UX4T4f2keYZlp2UB8NkVwpvldNm8XPfcWRUyVymY/pD8efDH19jH60AFpw9onBgE9i oa3ZI9Hf25cbN/Ghur64igx8yZvO8gH/57wnWPK0C2UHxkKwA5W46UHatWnK6EYkqEG+ sIFR2qtXyPCJ0pFUzmFDWJVCdbmveMGw6Cw/PATQPwY8kxh+1NszYc/1MVMeRXyRiyOq Ohbwcei6X9Wrtv30MaIvG+icRcKVUlxfuZ23sbNj9o7zsih0RbeEUiWCrcsMiu6D34qZ mEiQy3YQtW2zstgNPLk9f/ALT+UN/+oVhQPGKFJn8GquHDcIm5R7brPCI9m14ehIc7Wh dD6Q== X-Forwarded-Encrypted: i=1; AJvYcCXpTeVC09W6XUb2Nf4ciCPiocy4qQ9ubGu1QQx/ezeMYLe3NfQcFsPf4ZH0lyMKvJ6iMvOPF0zlLMXH@lists.postgresql.org X-Gm-Message-State: AOJu0YwKX4JpPWmqq1zoci7OGFA5NgmmXfBebVTuq5xBLO3/D9PGSrJD /hxCJxWysZqCsoVuDUlGfVDx81TZeoGb7bv4kBDt5IZN/87ZLkfYZXKnMWz5cdMRjg== X-Gm-Gg: ASbGncvSV4KXS2YXfBSYe3Uk13DpLB5qsMg1wt0n+EeyHv9OKeU3z/8dO0CGf0SNMb5 w/HEH7e409F0rBoThriaah2zQmVz09bHWRkolP5+Rw6CGCfEXANtFg6FzOEYA0cHYFX/3wExCID At+PY6M0QZMi5h8f6RaHyQHnudjuynbGvrjwIk41njGgF/PnO0QxPdpzTn3CNxo1L19AkStAv2r mt0wAxpT5waUayZN442sMATjF+veKqAdFt+cg+BpAI/Q06ZxrIQ6pWaCVJwcJSDu+oclXoIrUFo 73dzwdLPzATdGxa3P0jRznQre+jLwWCsFTt2Pyhq/EEvldJagQwpQxRsb8UC7OtDztJFOyfAD/K LP1JVlmFyBmjuP+eYu4wFfLsO6h0Il7uo X-Google-Smtp-Source: AGHT+IF+mzU29qSX2bDs8ygFCxQAHvMqIQE0NHH/E/DMhGB3KzRylU8URkvDlAi3znvRzq3rmNYjRw== X-Received: by 2002:a05:6870:e309:b0:2d8:957a:5165 with SMTP id 586e51a60fabf-2f796b08340mr12553616fac.17.1751996064832; Tue, 08 Jul 2025 10:34:24 -0700 (PDT) Received: from jeff-ws-bridge.lan (c-76-102-242-158.hsd1.ca.comcast.net. [76.102.242.158]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-73c9f90e8adsm2036241a34.41.2025.07.08.10.34.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Jul 2025 10:34:24 -0700 (PDT) Message-ID: <33ae625c9ec9072ac61708405c2e7dfe50097047.camel@j-davis.com> Subject: Re: BUG #18965: Issue with Short-Circuit Evaluation in Boolean Expressions From: Jeff Davis To: "David G. Johnston" , "brandystodd@gmail.com" , "pgsql-bugs@lists.postgresql.org" Date: Tue, 08 Jul 2025 10:34:23 -0700 In-Reply-To: References: <18965-89456ea7e640a053@postgresql.org> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.52.3-0ubuntu1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Fri, 2025-06-20 at 11:14 -0700, David G. Johnston wrote: > > In the circumstance where a function evaluation is performed within > > Boolean > > expression, the evaluation seems to continue past a function > > returning a > > TRUE value. > >=20 >=20 > Where did we claim we perform short-circuiting? Even if you force the execution-time evaluation order with CASE, you can still get an error: EXPLAIN SELECT CASE WHEN random() < 2 THEN TRUE ELSE (1/0 =3D 0) END; ERROR: division by zero The expression "random() < 2" is always true, so at execution time the second branch will never be reached. But it is reached at planning time. Regards, Jeff Davis