Re: Dead code with short varlenas in toast_save_datum()

From: Nikhil Kumar Veldanda <veldanda(dot)nikhilkumar17(at)gmail(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Dead code with short varlenas in toast_save_datum()
Date: 2025-08-05 17:26:03
Message-ID: CAFAfj_Exd8Nrh6v9v035eVKkXoKt9V+OCVN+sVq07dO4fqv=Fw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi all,

On Sun, Aug 3, 2025 at 8:16 PM Michael Paquier <michael(at)paquier(dot)xyz> wrote:
> if (VARATT_IS_SHORT(dval))
> {
> data_p = VARDATA_SHORT(dval);
> data_todo = VARSIZE_SHORT(dval) - VARHDRSZ_SHORT;
> toast_pointer.va_rawsize = data_todo + VARHDRSZ; /* as if not short */
> toast_pointer.va_extinfo = data_todo;
> }
>
> Coverage link:
> https://coverage.postgresql.org/src/backend/access/common/toast_internals.c.gcov.html
>

This code path is currently not covered by tests. It can be exercised
with the following SQL pattern

CREATE TABLE temp_tbl (a text, b text);
ALTER TABLE temp_tbl SET (toast_tuple_target = 128);
ALTER TABLE temp_tbl ALTER COLUMN a SET STORAGE EXTERNAL;
ALTER TABLE temp_tbl ALTER COLUMN b SET STORAGE EXTERNAL;
INSERT INTO temp_tbl values(repeat('a', 4000), repeat('a', 120));

--
Nikhil Veldanda

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2025-08-05 17:26:22 Re: cpluspluscheck vs ICU again
Previous Message Peter Eisentraut 2025-08-05 17:24:07 Re: Bug in brin_minmax_multi_distance_numeric()