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 1wK6AN-000aU0-2N for pgsql-hackers@arkaria.postgresql.org; Tue, 05 May 2026 03:09:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wK6AM-009uHS-24 for pgsql-hackers@arkaria.postgresql.org; Tue, 05 May 2026 03:09:46 +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 1wK6AM-009uHK-1B for pgsql-hackers@lists.postgresql.org; Tue, 05 May 2026 03:09:46 +0000 Received: from fhigh-b7-smtp.messagingengine.com ([202.12.124.158]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wK6AJ-00000000YuD-3rni for pgsql-hackers@lists.postgresql.org; Tue, 05 May 2026 03:09:46 +0000 Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46]) by mailfhigh.stl.internal (Postfix) with ESMTP id 3F32C7A00FC; Mon, 4 May 2026 23:09:41 -0400 (EDT) Received: from phl-imap-05 ([10.202.2.95]) by phl-compute-06.internal (MEProxy); Mon, 04 May 2026 23:09:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eulerto.com; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm1; t=1777950580; x=1778036980; bh=zk2QyVMi8D+16Dtp7PuHUzSmm0G65ZVNETJnh/hyuDM=; b= gmwwZc/5dyX7gfYjFtWnSnol5tfgIk4TCGl5rsCARJmqAuAdCMTBCcCgofocPHO3 QXwBbLPg+AJ3lrcidqmHjSNNZIy2DEmyzwwaVFO6whzja6Br4n0zDcU3wio/duGb /ab9VUaGIGk4Ls86xFF1UAibrWnq1zwFEuohUTyE9kgC9Glm4uI/LLX+27RtQxzs 8gAoJumHP7NQY7y5+oaKu3MS7LUiEFprkwtuKHL08HNFZxb0247U5lOB4+rqAzs+ vwfeBBamQ5D3zfme9OEV0H4cG6b6y1LHLwC0+pb2ZIq+jyH5qDHG9YlgkrzoiGl/ K7hzkbSzD4bMGOsESDbJnQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1777950580; x= 1778036980; bh=zk2QyVMi8D+16Dtp7PuHUzSmm0G65ZVNETJnh/hyuDM=; b=a rd5hfjOZDYXg/VNju3zo++3hyfiCKrJtuMho+llfGLRM0VrYqsna68ZEYXhdNeo+ hJrGHjXGKNBo/0RHR1UsPTaD6Owv51O8CxD25ypXMMRFVlTwSJPfWZaT5J4DUJDE TFOrmEQ4TqpdPvf9MZFsXfgJ9CpSgHW0JTYgmJQfj/5LwQyT089NMvsSOVbqocK6 sg/7S6pI5ZUBpZBTLDntXShSVWIh4szg0v8107RC9fQRH890vTXJ/ZjYSCZZPnvX GkhnbRPIaOEVgoUYSIO+eElzM36DJu2mP+Efov4U+M1WmI55Z+J2/UQc1Qt+QBNC Qr63Nf+SJV4sABPs5eSWQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgddutddtiedtucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepofggfffhvfevkfgjfhfutgfgsehtjeertdertddtnecuhfhrohhmpedfgfhulhgv rhcuvfgrvhgvihhrrgdfuceovghulhgvrhesvghulhgvrhhtohdrtghomheqnecuggftrf grthhtvghrnhepleevgfeileegfffglefgfeefffeghfefvdeftdduvdffieeijeffudel iefhvdevnecuffhomhgrihhnpegvnhhtvghrphhrihhsvggusgdrtghomhenucevlhhush htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegvuhhlvghrsegvuhhl vghrthhordgtohhmpdhnsggprhgtphhtthhopedvpdhmohguvgepshhmthhpohhuthdprh gtphhtthhopehsrghthigrnhgrrhhlrghpuhhrrghmsehgmhgrihhlrdgtohhmpdhrtghp thhtohepphhgshhqlhdqhhgrtghkvghrsheslhhishhtshdrphhoshhtghhrvghsqhhlrd horhhg X-ME-Proxy: Feedback-ID: i0c21471d:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id C28171820074; Mon, 4 May 2026 23:09:40 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface MIME-Version: 1.0 X-ThreadId: AiPt83uah_UF Date: Tue, 05 May 2026 00:08:58 -0300 From: "Euler Taveira" To: pgsql-hackers@lists.postgresql.org Cc: "SATYANARAYANA NARLAPURAM" Message-Id: <48110911-4707-4945-8d19-6afc9829fd1f@app.fastmail.com> In-Reply-To: References: Subject: Re: [Patch] Omit virtual generated columns from test_decoding output Content-Type: text/plain Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, May 4, 2026, at 10:11 PM, SATYANARAYANA NARLAPURAM wrote: > > Virtual generated columns are not stored on disk, so heap_getattr() in > tuple_to_stringinfo() always returned NULL for them, producing > misleading output such as > > table public.t: INSERT: a[integer]:1 b[integer]:10 c[integer]:null > > even though the user could observe a non-null value via SELECT. Stored > generated columns continue to be emitted as before because their values > do live in the heap tuple. > I wouldn't say misleading but expected. Logical decoding relies on WAL and virtual generated columns are not stored in the WAL. > This matches the pgoutput's logicalrep_should_publish_column() > which never publishes virtual generated columns. Added a regression test. > Please find the patch attached. > There is no guarantee that test_decoding should match the pgoutput. I agree that test_decoding shouldn't output virtual generated columns. The problem is that it already does it. I'm afraid that removing it should break existing applications. (I heard that some solutions rely on test_decoding for CDC.) Should we change it as you proposed or add an option to put it back to keep the old behavior? I didn't review your patch but I noticed that there is a new test file for this change. There are some concerns about the total test execution time. Do you really need to include this test? If so, should you combine it with an existing test file? -- Euler Taveira EDB https://www.enterprisedb.com/