Move code for the bytea data type from varlena.c to new bytea.c

This commit moves all the routines related to the bytea data type into
its own new file, called bytea.c, clearing some of the bloat in
varlena.c.  This includes the routines for:
- Input, output, receive and send
- Comparison
- Casts to integer types
- bytea-specific functions

The internals of the routines moved here are unchanged, with one
exception.  This comes with a twist in bytea_string_agg_transfn(), where
the call to makeStringAggState() is replaced by the internals of this
routine, still located in varlena.c.  This simplifies the move to the
new file by not having to expose makeStringAggState().

Author: Aleksander Alekseev <aleksander@timescale.com>
Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://postgr.es/m/CAJ7c6TMPVPJ5DL447zDz5ydctB8OmuviURtSwd=PHCRFEPDEAQ@mail.gmail.com
pull/235/head
Michael Paquier 6 months ago
parent bee23ea4dd
commit b45242fd30
  1. 1
      src/backend/utils/adt/Makefile
  2. 1143
      src/backend/utils/adt/bytea.c
  3. 1
      src/backend/utils/adt/meson.build
  4. 1214
      src/backend/utils/adt/varlena.c

@ -23,6 +23,7 @@ OBJS = \
arrayutils.o \
ascii.o \
bool.o \
bytea.o \
cash.o \
char.o \
cryptohashfuncs.o \

File diff suppressed because it is too large Load Diff

@ -12,6 +12,7 @@ backend_sources += files(
'arrayutils.c',
'ascii.c',
'bool.c',
'bytea.c',
'cash.c',
'char.c',
'cryptohashfuncs.c',

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save