Обсуждение: Dead code?
Is there anywhere we make use of this code that handles attlen == -2? If so I'm curious where because I was thinking of doing something similar and didn't realise we already had this capability. But I suspect it's just dead code left over, possibly from the days before the Name data type? /** att_addlength increments the given offset by the length of the attribute.* attval is only accessed if we are dealingwith a variable-length attribute.*/ #define att_addlength(cur_offset, attlen, attval) \ ( \((attlen) > 0) ? \( \ (cur_offset) + (attlen) \) \: (((attlen) == -1) ? \( \ (cur_offset) + VARATT_SIZE(DatumGetPointer(attval))\) \: \( \ AssertMacro((attlen) == -2), \ (cur_offset) + (strlen(DatumGetCString(attval))+ 1) \)) \ ) -- Gregory Stark EnterpriseDB http://www.enterprisedb.com
Martijn van Oosterhout <kleptog@svana.org> writes: > attlen -2 is used for cstring (null terminated strings). > > Hope this helps, Well that's what the code I quoted indicates. But when do we ever store a cstring in a tuple? Certainly I can't find any standard data types that use it. -- Gregory Stark EnterpriseDB http://www.enterprisedb.com
On Tue, Sep 05, 2006 at 01:21:46PM +0100, Gregory Stark wrote: > > > > Is there anywhere we make use of this code that handles attlen == -2? > > If so I'm curious where because I was thinking of doing something similar and > didn't realise we already had this capability. But I suspect it's just dead > code left over, possibly from the days before the Name data type? attlen -2 is used for cstring (null terminated strings). Hope this helps, -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > From each according to his ability. To each according to his ability to litigate.
On Tue, Sep 05, 2006 at 01:42:57PM +0100, Gregory Stark wrote: > Martijn van Oosterhout <kleptog@svana.org> writes: > > > attlen -2 is used for cstring (null terminated strings). > > > > Hope this helps, > > Well that's what the code I quoted indicates. But when do we ever store a > cstring in a tuple? Certainly I can't find any standard data types that use > it. # select textout('text');textout ---------text (1 row) The output is cstring, and stored in a tuple to send... Hope this helps, -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > From each according to his ability. To each according to his ability to litigate.