I have just pushed 0001 with some additional changes. Here's a rebase
of the next ones; no changes other than fixing the conflicts.
I'm seeing this warning caused by 0004, which I think is also being
reported in CI
https://cirrus-ci.com/task/6606871575920640
[281/1134] Compiling C object src/backend/postgres_lib.a.p/commands_cluster.c.o
In file included from ../../source/repack/src/include/access/htup_details.h:22,
from ../../source/repack/src/include/access/relscan.h:17,
from ../../source/repack/src/include/access/heapam.h:19,
from ../../source/repack/src/backend/commands/cluster.c:37:
In function ‘VARSIZE_ANY’,
inlined from ‘restore_tuple’ at ../../source/repack/src/backend/commands/cluster.c:3129:18,
inlined from ‘apply_concurrent_changes’ at ../../source/repack/src/backend/commands/cluster.c:2915:9,
inlined from ‘process_concurrent_changes’ at ../../source/repack/src/backend/commands/cluster.c:3386:2:
../../source/repack/src/include/varatt.h:243:51: warning: array subscript ‘varattrib_4b[0]’ is partly outside array
boundsof ‘varlena[1]’ [-Warray-bounds=]
243 | ((((const varattrib_4b *) (PTR))->va_4byte.va_header >> 2) & 0x3FFFFFFF)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
../../source/repack/src/include/varatt.h:467:24: note: in expansion of macro ‘VARSIZE_4B’
467 | return VARSIZE_4B(PTR);
| ^~~~~~~~~~
../../source/repack/src/backend/commands/cluster.c: In function ‘process_concurrent_changes’:
../../source/repack/src/backend/commands/cluster.c:3121:33: note: object ‘varhdr’ of size 4
3121 | varlena varhdr;
| ^~~~~~
--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/