On Fri, Jan 27, 2017 at 4:20 AM, Andres Freund <andres@anarazel.de> wrote:
> 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?
Doh. Of course.
>> /* 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.
Sure. What about that:
- len = strlen(NameStr(MyReplicationSlot->data.name));
- pq_sendint(&buf, len, 4); /* col1 len */
- pq_sendbytes(&buf, NameStr(MyReplicationSlot->data.name), len);
+ slot_name = NameStr(MyReplicationSlot->data.name);
+ values[0] = PointerGetDatum(cstring_to_text(slot_name));
> 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).
Thanks for the review.
--
Michael
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers