Re: understanding Datum -> char * -> Datum conversions

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: understanding Datum -> char * -> Datum conversions
Дата
Msg-id 9050.959205237@sss.pgh.pa.us
обсуждение исходный текст
Ответ на understanding Datum -> char * -> Datum conversions  (Louis-David Mitterrand <cunctator@apartia.ch>)
Ответы Re: understanding Datum -> char * -> Datum conversions  (Brook Milligan <brook@biology.nmsu.edu>)
Re: understanding Datum -> char * -> Datum conversions  (Louis-David Mitterrand <cunctator@apartia.ch>)
Список pgsql-hackers
Louis-David Mitterrand <cunctator@apartia.ch> writes:
> What I am trying to do for instance is:
> - read a ::text colum with SPI_getbinval(),
> - convert it to a char*,
> - modify it,
> - convert it back to a Datum,
> - reinsert it into the tuple through SPI_modifytuple,

> The conversions involve some pointer magic and casting that I really
> don't grasp.

Casting doesn't do it.  Use text_out() to produce a null-terminated C
string from a text Datum, and use text_in() to create a new text Datum
after you've modified the string.

> Also I am trying to read a timestamp with SPI_getbinval and get the
> number of seconds contained. Using DatumGetInt32 doens't seem to do it.

Timestamp is a double not an int ... and the datum is actually a pointer
to it.
        regards, tom lane


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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: setproctitle()
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: Solaris 2.6 problems