On Fri, Jan 27, 2017 at 4:20 AM, Andres Freund <and...@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
refactor-repl-cmd-output-v2.patch
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers