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.94.2) (envelope-from ) id 1rAkcp-0083T8-DN for pgsql-hackers@arkaria.postgresql.org; Wed, 06 Dec 2023 05:39:12 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rAkcn-007Y07-9T for pgsql-hackers@arkaria.postgresql.org; Wed, 06 Dec 2023 05:39:09 +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.94.2) (envelope-from ) id 1rAkcl-007Xzz-9m for pgsql-hackers@lists.postgresql.org; Wed, 06 Dec 2023 05:39:08 +0000 Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rAkcf-00920o-Ch for pgsql-hackers@lists.postgresql.org; Wed, 06 Dec 2023 05:39:05 +0000 Received: from compute7.internal (compute7.nyi.internal [10.202.2.48]) by mailout.nyi.internal (Postfix) with ESMTP id CAC045C01E3; Wed, 6 Dec 2023 00:38:59 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Wed, 06 Dec 2023 00:38:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paquier.xyz; h= cc:cc:content-type: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=fm1; t=1701841139; x=1701927539; bh=Xk OrBk+JlovD3nxI95iiVs6iKzVB0PZbN/Szycb2sCU=; b=K7qCb8hHESqIgM7BHX Zl0NFc91rlNWDrIBtv0VZJteaWQnz3cp7sx+PP3fugLeTGZgvig3ZF+3tNJkPlq5 Fk//72wsiCeGPhBpC/mjf2vRLkTLrHFRJgA1OMWsT9iJZRaLl/RvcmXHkwI/CSrU UpWUJYI5m3wvwHMm9BSIh4zQC6zcIbRBeg+IPwrSGV0ZfTwokp+P8IbrOWkBZw+T ljrD/U25GK0xD2lj6rUKECFoyC5hiEVO18TuFYc11ztDa9e/HRJbA7UsG6+moFd/ k7lUQCjYILGaYSDiqMsRI0o0iBm5NBrfk2bHBW2vgorhY7pPk72wVBJCn3rUXvht f+HA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc: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:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; t=1701841139; x=1701927539; bh=XkOrBk+JlovD3 nxI95iiVs6iKzVB0PZbN/Szycb2sCU=; b=21tq+1f4uRDYKIXgbRhrIzK3n9pMw 2/piOLoNuOVPIrcnjjx/8GJp3y+ouWdNXwdyNyNjKsItJIBNu6qZNs00A//10fGh /Rh7WHspRWRVmdlcqo/++jtUh4txFOMw7VdkfT8ORppr5n6WO7I96XgALxpf4HFJ dHj5u8ZvARAcbJq3orl+N4s2BA24qSRXqdURP+SaRGiv7cIAr7OgHoDlcK4AgD7J lV6b+HCIKbjVWhpMqN/dFpr1zGxX/KNml5aZZWe1XKarTeobAAa8+NMhdoGZaQqQ mF6UfuusGM89w3p+7GXuuq6I/OWwoiS7Qfc1Zc0ra56yTvs5Umu3m2hgQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudejledgkedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne gfrhhlucfvnfffucdljedtmdenucfjughrpeffhffvvefukfhfgggtuggjsehgtderredt tddvnecuhfhrohhmpefoihgthhgrvghlucfrrghquhhivghruceomhhitghhrggvlhesph grqhhuihgvrhdrgiihiieqnecuggftrfgrthhtvghrnhepteelieefudffhffhtdetleeg geegfffhkeeuveetiefgudduvedutefggeeivdejnecuvehluhhsthgvrhfuihiivgeptd enucfrrghrrghmpehmrghilhhfrhhomhepmhhitghhrggvlhesphgrqhhuihgvrhdrgiih ii X-ME-Proxy: Feedback-ID: i0fe9450f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 6 Dec 2023 00:38:57 -0500 (EST) Date: Wed, 6 Dec 2023 14:38:45 +0900 From: Michael Paquier To: Matthias van de Meent Cc: Robert Haas , Aleksander Alekseev , PostgreSQL Hackers , Nikita Malakhov Subject: Re: RFI: Extending the TOAST Pointer Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="K9AqIcJSFJHzYtE+" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --K9AqIcJSFJHzYtE+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, May 24, 2023 at 11:50:21AM +0200, Matthias van de Meent wrote: > I think you might not have picked up on what I was arguing for, but I > agree with what you just said. >=20 > My comment on not needing to invent a new ToastCompressionId was on > the topic of adding capabilities^ to toast pointers that do things > differently than the current TOAST and need more info than just sizes, > 2x 32-bit ID and a compression algorithm. I am not sure to understand why a new vartag is really required just for the sake of compression when it comes to VARTAG_EXTERNAL, because that's where the compression information is stored for ages. The code footprint gets more invasive, as well if you add more compression methods as a new vartag implies more code areas to handle. > ^ capabilities such as compression dictionaries (which would need to > store a dictionary ID in the pointer), TOAST IDs that are larger than > 32 bits, and other such advances. Saying that, I don't really see why we cannot just do both, because it is clear that many other projects want to fill in more data into varlena headers for their own needs. Hence, I would do: 1) Use the last bit of va_extinfo in varatt_external to link it more info related to compression, and keep the compression information close to varatt_external. 2) Add a new kind of "custom" vartag, for what any other requirements want it to be. -- Michael --K9AqIcJSFJHzYtE+ Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEG72nH6vTowiyblFKnvQgOdbyQH0FAmVwCOUACgkQnvQgOdby QH2eEw/+OSk+KcDrT9jotf18Y5IiySoctXWPYlU2MpY8zae56lPYOdGosNYkQ+BG z/hKR+2yVEu5yC2ofR6k1poZCZODjMyvr38JEEXQI7+CRMpvKOMOg6ud0lvLDJF+ Ta2W12FcIlYBI1wEbUlDxE921pe61zxG5dvWn+eICHgeHfmzFmQguOFBmUFaSiH5 FHUZqf+PIKU4IZl9gAOUiIWV4kFgoCvTr1+NrGlswUwzvtl6DCc4FNbyUXqVZxSH 11ms9J7ydm6zpIaw4jtrEdT+QYJqsT8h+CAPxIFrE+vPAmE9aOpbjsBIKTddqwI3 /qJjssUzRRD/D/7My0KIXDv/F/zaq3Vy3N1URy4NjjQ7OotxRVkbTGook6mgaEAk BMLEDf5Vjfrp+xUkccaMNdFidLfTkSnDaM50JyK1GZxwUWsL0K1fLypSA0d7Idat goWE9ObVWbS/9eD4XBw9ZiV1ym0JUYnXGq2XImdNffS8CG1IS4PPCSNGxr8iFvje FlGHqOJPg2TCtQBQ+jvN/q4UeqPm+o/FltN8RqRwK599mW5Q4VrkgExL+sb7o/GE 0SKrFtljL4geiyD3dKt+woiLz87wNFw/GbmUm0Lxs97MtpPX1ttJyiAIKddStODF 4AzugDXOqsd9nHZVDO9t8hAWu9Xl7ztQaDqlxqLEBPtZzZqSkrg= =2Dk3 -----END PGP SIGNATURE----- --K9AqIcJSFJHzYtE+--