Re: Understanding Datum

Поиск
Список
Период
Сортировка
От Nick Raj
Тема Re: Understanding Datum
Дата
Msg-id AANLkTimiy2CmGuWUAuvRToi6uOMo=kiqAbP9yUMXcjLS@mail.gmail.com
обсуждение исходный текст
Ответ на Understanding Datum  (Nick Raj <nickrajjain@gmail.com>)
Ответы Re: Understanding Datum  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Hi,
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@smogura.eu> wrote:
Nick Raj <nickrajjain@gmail.com> Wednesday 23 March 2011 18:45:41
> 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

The structure is explained in one of headers, generally Datum is pointer. It
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

В списке pgsql-general по дате отправления:

Предыдущее
От: Andrew Sullivan
Дата:
Сообщение: Re: pdf saving into DB vs. saving file location ?
Следующее
От: Vick Khera
Дата:
Сообщение: Re: pdf saving into DB vs. saving file location ?