DETOAST Datum - Mailing list pgsql-hackers

From Nick Raj
Subject DETOAST Datum
Date
Msg-id BANLkTik_s50hVBERYFZb+8rSQdYUEDQRsQ@mail.gmail.com
Whole thread Raw
Responses Re: DETOAST Datum  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Hi,<br />I have defined some function and also used NDBOX structure that having variable length.<br /><br />typedef
structNDBOX<br />{<br />    int32        vl_len_;        /* varlena length */<br />    unsigned int dim;<br />   
double       x[1];<br /> } NDBOX;<br /><br />When i called my function, it gives NDBOX to be null<br />On debugging, i
foundout ,FunctionInvokeCall invokes fmgr_oldstyle function, for getting argument<br /><br />if
(fnextra->arg_toastable[i])   //this returns false, not able to get arguments<br />             fcinfo->arg[i] =
PointerGetDatum(PG_DETOAST_DATUM(fcinfo->arg[i]));<br/>    } <br /><br />"How to get arguments toastable??" and even
mytable pg_class.reltoastrelid entry is zero.<br />Can i have to tell explicitly to toast?<br /><br />If i commented
thatif conditions then, it got stuck below:<br /><br />struct varlena *<br />pg_detoast_datum(struct varlena *
datum)<br/>{<br />    if (VARATT_IS_EXTENDED(datum))      //My code get stuck here<br />        return
heap_tuple_untoast_attr(datum);<br/>     else<br />        return datum;<br />}<br /><br />Can anyone tell me what
VARATT_IS_EXTENDED(datum)mean?<br /><br />Thanks<br /> 

pgsql-hackers by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: adding a new column in IDENTIFY_SYSTEM
Next
From: Magnus Hagander
Date:
Subject: Extensions in schemas