Thread: Dead code?

Dead code?

From
Gregory Stark
Date:


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


Re: Dead code?

From
Gregory Stark
Date:
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


Re: Dead code?

From
Martijn van Oosterhout
Date:
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.

Re: Dead code?

From
Martijn van Oosterhout
Date:
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.