Hi,
On 2017-01-25 12:26:21 +0900, Michael Paquier wrote:
> diff --git a/src/backend/access/common/tupdesc.c b/src/backend/access/common/tupdesc.c
> index 083c0303dc..2eb3a420ac 100644
> --- a/src/backend/access/common/tupdesc.c
> +++ b/src/backend/access/common/tupdesc.c
> @@ -629,6 +629,14 @@ TupleDescInitBuiltinEntry(TupleDesc desc,
> att->attstorage = 'p';
> att->attcollation = InvalidOid;
> break;
> +
> + case INT8OID:
> + att->attlen = 8;
> + att->attbyval = true;
> + att->attalign = 'd';
> + att->attstorage = 'p';
> + att->attcollation = InvalidOid;
> + break;
> }
> }
INT8 isn't unconditionally byval, is it?
> /* slot_name */
> - len = strlen(NameStr(MyReplicationSlot->data.name));
> - pq_sendint(&buf, len, 4); /* col1 len */
> - pq_sendbytes(&buf, NameStr(MyReplicationSlot->data.name), len);
> + values[0] = PointerGetDatum(cstring_to_text(NameStr(MyReplicationSlot->data.name)));
That seems a bit long.
I've not done like the most careful review ever, but I'm in favor of the
general change (provided the byval thing is fixed obviously).
Greetings,
Andres Freund