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 1wZyf6-001Rgv-0Y for pgsql-hackers@arkaria.postgresql.org; Wed, 17 Jun 2026 22:23:08 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wZyf4-007uc6-30 for pgsql-hackers@arkaria.postgresql.org; Wed, 17 Jun 2026 22:23:06 +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 1wZyf4-007uby-23 for pgsql-hackers@lists.postgresql.org; Wed, 17 Jun 2026 22:23:06 +0000 Received: from sss.pgh.pa.us ([68.162.161.243]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wZyf3-00000000s39-16Gv for pgsql-hackers@lists.postgresql.org; Wed, 17 Jun 2026 22:23:05 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.18.1/8.18.1) with ESMTP id 65HMN0Pf1151394; Wed, 17 Jun 2026 18:23:00 -0400 From: Tom Lane To: David Rowley cc: Chao Li , Peter Eisentraut , Andres Freund , Postgres hackers Subject: Re: Fix tuple deformation with virtual generated NOT NULL columns In-reply-to: References: Comments: In-reply-to David Rowley message dated "Wed, 17 Jun 2026 17:04:43 +1200" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <1151392.1781734980.1@sss.pgh.pa.us> Content-Transfer-Encoding: quoted-printable Date: Wed, 17 Jun 2026 18:23:00 -0400 Message-ID: <1151393.1781734980@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk David Rowley writes: > I pushed the patch to add the new test after modifying it to also > include the change in the generated_stored test, but with it commented > out. This is the method that 83ea6c540 introduced. The buildfarm is showing clear evidence of a bug here somewhere: https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=3Dbushmaster&dt=3D= 2026-06-17%2021%3A53%3A38 https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=3Dtaipan&dt=3D2026= -06-17%2018%3A50%3A42 https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=3Dcanebrake&dt=3D2= 026-06-17%2018%3A02%3A59 All three failures look like diff -U3 /home/bf/bf-build/taipan/HEAD/pgsql/src/test/regress/expected/gen= erated_virtual.out /home/bf/bf-build/taipan/HEAD/pgsql.build/src/test/regr= ess/results/generated_virtual.out --- /home/bf/bf-build/taipan/HEAD/pgsql/src/test/regress/expected/generate= d_virtual.out 2026-06-17 07:00:34.298450176 +0200 +++ /home/bf/bf-build/taipan/HEAD/pgsql.build/src/test/regress/results/gen= erated_virtual.out 2026-06-17 20:51:26.084674716 +0200 @@ -731,9 +731,9 @@ CREATE TABLE gtest21c (a int NOT NULL, b int GENERATED ALWAYS AS (a * 2) = VIRTUAL NOT NULL, c int NOT NULL); INSERT INTO gtest21c (a, c) VALUES (10, 42); SELECT a, b, c FROM gtest21c; - a | b | c = -----+----+---- - 10 | 20 | 42 + a | b | c = +----+----+--- + 10 | 20 | 0 (1 row) = DROP TABLE gtest21c; Speculating wildly, I'm wondering about an uninitialized variable that happens to usually have the right value. regards, tom lane