Re: [PATCH] Split varlena.c into varlena.c and bytea.c

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: Aleksander Alekseev <aleksander(at)timescale(dot)com>, PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [PATCH] Split varlena.c into varlena.c and bytea.c
Date: 2025-06-05 11:47:03
Message-ID: 659becd5-3c8f-4a7a-a0e7-310bd2f8b046@eisentraut.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 31.03.25 17:29, Aleksander Alekseev wrote:
>> The proposed patch extracts the code dealing with bytea from varlena.c
>> into a separate file, as proposed previously [1]. It merely changes
>> the location of the existing functions. There are no other changes.
>
> Rebased.

I think this is reasonable. varlena.c is pretty big, and bytea is a
reasonable subset to take out. We already have a corresponding header
file bytea.h, so the naming fits.

I wonder if makeStringAggState() is still useful. This was factored out
so that it could be shared between bytea_string_agg_transfn() and
string_agg_transfn(), but now that these are in separate files, it seems
to me that it might be easier now to just write the required code inline.

Here are some refinements to the includes:

--- a/src/backend/utils/adt/bytea.c
+++ b/src/backend/utils/adt/bytea.c
@@ -15,13 +15,20 @@
#include "postgres.h"

#include "access/detoast.h"
-#include "catalog/pg_collation.h"
+#include "catalog/pg_collation_d.h"
+#include "catalog/pg_type_d.h"
#include "common/int.h"
-#include "funcapi.h"
+#include "fmgr.h"
#include "libpq/pqformat.h"
+#include "port/pg_bitutils.h"
#include "utils/builtins.h"
#include "utils/bytea.h"
+#include "utils/fmgroids.h"
+#include "utils/fmgrprotos.h"
+#include "utils/memutils.h"
+#include "utils/sortsupport.h"
#include "utils/varlena.h"
+#include "varatt.h"

Especially funcapi.h was apparently not used. The other additions are
required includes that came previously via indirect includes.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message jian he 2025-06-05 12:24:42 Re: Add SPLIT PARTITION/MERGE PARTITIONS commands
Previous Message Pavel Stehule 2025-06-05 11:33:42 Re: pg18: Virtual generated columns are not (yet) safe when superuser selects from them