Обсуждение: 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.