Re: What is the correct way to extract values from an int8 array in SPI?
От | Tom Lane |
---|---|
Тема | Re: What is the correct way to extract values from an int8 array in SPI? |
Дата | |
Msg-id | 19030.1258384473@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | What is the correct way to extract values from an int8 array in SPI? (Boszormenyi Zoltan <zb@cybertec.at>) |
Ответы |
Re: What is the correct way to extract values from an int8
array in SPI?
|
Список | pgsql-general |
Boszormenyi Zoltan <zb@cybertec.at> writes: > // ids = > PointerGetDatum(PG_DETOAST_DATUM(SPI_getbinval(prod_inv->vals[0], > prod_inv->tupdesc, 1, &isnull))); well, for one thing, you probably want DatumGetPointer ... for another, you shouldn't really be converting to Pointer here at all, since the next line expects ids to still be a Datum. On some platforms you can get away with being fuzzy about the distinction between Datum and Pointer, but it doesn't surprise me in the least that such code would fail elsewhere. Try paying more attention to compiler warnings ;-) The lack of any checks for null-ness scares me, too. Aside from the multiple places where you're just plain ignoring an isnull return flag, there's the risk that the array might contain one or more nulls, in which case you can't address the last element that way (even if that element itself isn't null). regards, tom lane
В списке pgsql-general по дате отправления: