In postgres, typedef uintptr_t Datum
Datum is getting value from PG_GETARG_POINTER(1);
But, now problem is how would i know the type of PG_GETARG_POINTER(1) (postgres internally pass this argument) to figure out datum type?
Can you tell detailed structure of Datum, so i can print the value?? How to find out what type of pointer argument is PG_GETARG_POINTER(1)??
Thanks,
Nirmesh
On Wed, Mar 23, 2011 at 11:40 PM, RadosÅaw Smogura <mail@xxxxxxxxxx> wrote:
Nick Raj <nickrajjain@xxxxxxxxx> Wednesday 23 March 2011 18:45:41
The structure is explained in one of headers, generally Datum is pointer. It> Hi,
> I am understanding the postgres code. In code, i just want to see what are
> values that are passing through the variables?
> Can you please tell me if the variable is of type Datum, then how to print
> its value? Because i dont the variable v type.
>
> And also what the structure of Datum?
>
> Thanks,
> Raj
points to memory containing at first four bytes integer describing size of
data in datum (use macro to extract this), and then, it's followed by bytes
containing data.
Actually almost each object is represented by structure like this
struct something {
   Âint4 size; //Required
// Â Â ÂHere put what you want
}
see headers.
If you want to present data from datum you need to 1) check what type of data
datum has (datum doesn't contain this) 2) Find datum representation for this
type.
Regards,
Radek