Re: Fix tuple deformation with virtual generated NOT NULL columns
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: David Rowley <dgrowleyml@gmail.com>
Cc: Chao Li <li.evan.chao@gmail.com>, Peter Eisentraut <peter@eisentraut.org>,
Andres Freund <andres@anarazel.de>,
Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-06-17T22:45:49Z
Lists: pgsql-hackers
I wrote: > Speculating wildly, I'm wondering about an uninitialized variable that > happens to usually have the right value. Nope: valgrind finds nothing, and neither does debug_discard_caches. What does reproduce it, with seeming 100% reliability, is set jit = 1; set jit_above_cost = 0; set jit_optimize_above_cost = 1000; 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); table gtest21c; I conclude that something in the JIT code for tuple formation is unaware of virtual generated columns. regards, tom lane
Commits
-
Update JIT tuple deforming code for virtual generated columns
- e9692de1d6f6 18 (unreleased) landed
- dc5116780846 19 (unreleased) landed
-
Add tuple deformation test for virtual generated columns
- 1f7dfe8c8ef7 19 (unreleased) landed
-
Fix tuple deforming with virtual generated columns
- 89eafad297a9 19 (unreleased) landed