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 1wZiSZ-001Ebd-0k for pgsql-hackers@arkaria.postgresql.org; Wed, 17 Jun 2026 05:05:07 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wZiSX-004EYD-2s for pgsql-hackers@arkaria.postgresql.org; Wed, 17 Jun 2026 05:05:05 +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.96) (envelope-from ) id 1wZiSX-004EY4-1u for pgsql-hackers@lists.postgresql.org; Wed, 17 Jun 2026 05:05:05 +0000 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wZiSV-00000000qpi-2Kgx for pgsql-hackers@lists.postgresql.org; Wed, 17 Jun 2026 05:05:05 +0000 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-4626fdc829aso259147f8f.3 for ; Tue, 16 Jun 2026 22:05:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1781672697; cv=none; d=google.com; s=arc-20240605; b=GInP4gIolRFY74Bx1yoE6gkhrhe5wcbUZf5nJrfRFKUGF9VksNV5pT90In7L/DL6+W N88ABhpcJR7UVlhQaYpjIk+Dgc+rByd497E1z4biJmG7HjqIujKDJd5k91iGw8kPhZsa J0QJBPiUlauIdzTzrd0TMkSSu2mIXNGpKi8urnSsmkcKLi18ou4mTvGrh0VGKh/XL+Bf 2M0PgsDxygp48uW592cOWX+l3tHyZxvxjbhP/c5dXtj8eptQ0A77TQnhuriSzP5zVfiJ hvJ6MoY3hRKaNbtDLOsyLC9/ik1jzNHi213/tlsUIbsed+FWR96hWLw8Ydl+n/ggDfUg 3OrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=Bl2u0pxizVcrdABfu/MJdn9y7felC9w60BRqZ1kVl4c=; fh=8FCAPTZnfSsFI76oRtq+lxxhDfWFhL2TwzKPm6pwwBc=; b=AFacSQMGdiS3MJBSiau5DR8X64b+X5cUFvYwundX/UnTzpA23d3dh3HTb6ycemas1v KacEduYEHH9pmKI025/KiMBpaOVuD44zC8UOOyotmLyrPqA2IBMTSKzhkM3o2yP/tGmg K/9/6/oWLUjPcE17I3jxk4PNQjuKs2dmXnhA1ng6y4AvTxbs9ZzrhFUvmZeOE8wpU4Nz Iy6PauqEL4OV5KoP7JM9KqAb+Oic0q3r1Pq9yg9aagnZ6oJjxA3YRaaeTDdDHhpC+DgT 7LhJc9Xw208u5Z+BbJtk3hMvM69kP+GKRFN5gBihlGj8ORTpoJ+JN7Q21VynNJAhjDna lmvg==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781672697; x=1782277497; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Bl2u0pxizVcrdABfu/MJdn9y7felC9w60BRqZ1kVl4c=; b=htmPF/E94uw9d1jxHvJtHeCSvFS1YO1sCg8CNX/tp1AjeLxvhIMLrOqLWz27MGEmG2 YNRDSDXu+swqE5DWbKG6yr+UT0HKhowh5VJ76eDUGNtgVQjtyYRwVQqE17zQahX6bszK Ca8qzQkHXc0EoFZ/TfgkthIroTXpPSl2kCJo+7v2jE4YfsjAzpIo4veWQ9Q5Td1eA45k Tm2IqSJ+3SC0PnOtUYtMszFe7e6hmUtDzzUiUQIoHOHRtdCtEn6EBlIT3+psZ20TTH6Z tQ7pVUHmnrLYlpvPkNzIqtWthNKdLpejXP+086o1feKbPQIQ6C2YMKcsVJWZBUjzSsUa tKQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781672697; x=1782277497; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Bl2u0pxizVcrdABfu/MJdn9y7felC9w60BRqZ1kVl4c=; b=jJVKh4qbnRNEgFhbJdNU5UcUaYXqzCrhH+kfiAlcdqDrRLIzxMft7mrnBA6z3EB3QN njmTzgtQXDMwNTDOSKcbZOW2EvX7yGBdH0o8h2ERAq6AkzqKYNDYK3Pp935TF+jphIN6 pJ5Kmb6SUsE3TwkouQLAjhIhigJHrop8WS4HZyoL81Pm4YmSKtlr5F+2fqYz4beCvCS2 fpbaK7uSGshfgtMDEoK6FASuWLvj1V+BiVBI84pNhQc3McB4JBWrgTq/S1mHzWVZZZ+h fjjwazRigRlg2jHATLmnR7n95Ut2Uf+yh49MXxslJaSeh8HNGAWeusja+gkWPzRee1yX KkUg== X-Forwarded-Encrypted: i=1; AFNElJ/ckGRc1JwhU3d+f9uMay5nNyDGvBabK7E24khiCSfIj7Uctk9gmpGHSfyseNSMOxCGjvfNITuoWPy/yptW@lists.postgresql.org X-Gm-Message-State: AOJu0YywafVdWP8oLgMuRYZyPvsQvY+WnZj8pOARGyPpbUfJ6SxcCA6W 2SSn6+jqbnYMlf1xN2NiPVzafc0baa0V6TxbsQ3LhMX/82HukucEe2QxSQQIg6YME1SM459d2P5 MUKjhzOk7OjBLvObrPstLLWb/8emUowM= X-Gm-Gg: AfdE7cnRYLmI2kG5O5OVvFJwcB/yEISyNd7Q3ac9Hl6D6Y/DsVqaIaCZoKapKDs/Hwn TjPJHg34F1qEwW3Js4vFpmtgjzUrcPacOyPJO4RTEys0sbDrVkUhufqVaFnbQUE3svoULtG3srl rEtgWAJua6Cx0ZKoFx40g7nuocQYy5jtBQ8Al3+oEgsGG568VSW/p9oGzKfWDocMZ487Gqer2dg CHj2xT4w22CoHeC+M+W3r/ZilIdn1VLd+5yNPCaER7jtrNC7knoJuEpadQZKyIeZw1SLG0gsFdN XSWaKAkYNpHo35jNje93nNanhtWAZAITOwBwE8HEM/AD/WhN5uN7v9piaP7qE3g= X-Received: by 2002:a05:6000:288e:b0:462:4b98:3c83 with SMTP id ffacd0b85a97d-4624b983dc0mr3203827f8f.23.1781672694749; Tue, 16 Jun 2026 22:04:54 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: David Rowley Date: Wed, 17 Jun 2026 17:04:43 +1200 X-Gm-Features: AVVi8CcZa8BqBR4DN1Dws5Av9ABwVQimtBO3GYXovHt2lKJSNxAUVXW7DByRxPQ Message-ID: Subject: Re: Fix tuple deformation with virtual generated NOT NULL columns To: Chao Li , Peter Eisentraut Cc: Andres Freund , Postgres hackers Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Fri, 12 Jun 2026 at 16:26, David Rowley wrote: > However, I don't object to adding the test if others feel it's > worthwhile, but on looking at the patch, there are a couple of things > that stand out. > > 1. Nothing has been done for the comment at the top of the file that > says "-- keep these tests aligned with generated_stored.sql". It > looks like there have been quite a few commits already which have > neglected this. Maybe that means we should do away with the comment > rather than try to align the two. 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. Since a few commits have already put these files out of sync, maybe we should consider having a single test file that we include with \i after doing something like: \set generated_type STORED \set test_generated_stored true \set test_generated_virtual false \i generated_generic.sql and have generated_generic.sql use \if test_generated_(stored|virtual) as and when required. > 2. I can't quite figure out the pattern in these tests for dropping vs > not dropping the tables at the end of the test. Many tests do DROP > TABLE and a large number of others don't bother. What's meant to be > happening here? I added the DROP TABLE too, as I didn't see any reason mentioned anywhere that they should be kept. David