Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pHC2D-0001Py-RF for pgsql-docs@arkaria.postgresql.org; Sun, 15 Jan 2023 23:03:29 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pHC2C-0004ZX-Ez for pgsql-docs@arkaria.postgresql.org; Sun, 15 Jan 2023 23:03:28 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pHC2C-0004ZO-7J for pgsql-docs@lists.postgresql.org; Sun, 15 Jan 2023 23:03:28 +0000 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pHC29-0007Iz-Nz for pgsql-docs@lists.postgresql.org; Sun, 15 Jan 2023 23:03:27 +0000 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 0B76A32001C6; Sun, 15 Jan 2023 18:03:22 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Sun, 15 Jan 2023 18:03:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anarazel.de; h= cc:cc:content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm3; t=1673823802; x=1673910202; bh=Ac9ek9grOf EfqXKDOlO0rLPS6EHMVo0HQGfm3djG60s=; b=O1gR8H5XkYJr1kY/fYw+Y1Pyh5 /664l/PsnNMGRGq8xMBDAKFFBEnvd9Lhh0ScKn4lnOBdmFFkjzgHeawGmKwJO9UP 7jT1ou8UTJPzJEbvZTRugflNRIPUs2cVDSwmdKDP710Z4j1V0A3Z+aJ81p7gE+0L SGOmNAwukC1lJg7NBCh7u2vXIPN+wXwoW0CBmSWeWo7u7rzNdgYkok5Ctc+lkdKu RDF7A4YOx2FcGRjeswdOqbFpogEoEfWB8leDl6xau+50I2R95VTxj8F1yWQpQsYS 0Yf7K4uDISQy5g/P7/9RLedR3DLSSTiZVCBIS6m5SftKJ7mmOiPgzh7dCVQA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1673823802; x=1673910202; bh=Ac9ek9grOfEfqXKDOlO0rLPS6EHM Vo0HQGfm3djG60s=; b=P4a9K3x1mAcR9SPy0btx+BjCQF9Dfj4IsLeYz40c7404 BPLn+PH0RPwV+yzxiSan855PZagRPweud7CioUWTWuIaIX2q+dT9ecOemQ0dmNgH 0vlpydTGRCp0pDmJaN4HObeK2WDvKCfEIvYQf6+tyOVjsGHtrWVSPX3EDsykjqqs G9tytT1BMP1BgZPTLl47E0zOqSJdeBOUmqMU5EGM+I4X+2OPdLUitDWvDy4x0+2H kNGqqS3ijfCQ8AtcY0C1cJRowIbwPrV1BNZqwTHo5MvV8EuHUVQUZoX3kCl1a7Ev DG2GiCX2BOOwUEWpO9i6CmoechQuuRMDc8G1KM7zxw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedruddtfedgtdehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvfevuffkfhggtggujgesthdtredttddtvdenucfhrhhomheptehnughr vghsucfhrhgvuhhnugcuoegrnhgurhgvshesrghnrghrrgiivghlrdguvgeqnecuggftrf grthhtvghrnhepvdfffeevhfetveffgeeiteefhfdtvdffjeevhfeuteegleduheetvedu ieettddunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh eprghnughrvghssegrnhgrrhgriigvlhdruggv X-ME-Proxy: Feedback-ID: id4a34324:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 15 Jan 2023 18:03:22 -0500 (EST) Date: Sun, 15 Jan 2023 15:03:20 -0800 From: Andres Freund To: Tom Lane Cc: Laurenz Albe , suchithjn22@gmail.com, pgsql-docs@lists.postgresql.org Subject: Re: The documentation for storage type 'plain' actually allows single byte header Message-ID: <20230115230320.d3mtlzek6dv7mgxx@awork3.anarazel.de> References: <167336599095.2667301.15497893107226841625@wrigleys.postgresql.org> <1698750.1673818827@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1698750.1673818827@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, On 2023-01-15 16:40:27 -0500, Tom Lane wrote: > The documentation is correct, what is broken is the code. I'm not > sure when we broke it Looks to be an old issue, predating the slot type stuff. It reproduces at least as far back as 10. I've not thought through this fully. But after a first look, this might be hard to fix without incuring a lot of overhead / complexity. We check whether projection is needed between nodes with tlist_matches_tupdesc() - targetlists don't know about storage. And we decide whether we need to project in nodeModifyTuple solely based on /* Extract non-junk columns of the subplan's result tlist. */ foreach(l, subplan->targetlist) { TargetEntry *tle = (TargetEntry *) lfirst(l); if (!tle->resjunk) insertTargetList = lappend(insertTargetList, tle); else need_projection = true; } Greetings, Andres Freund