BUG #16268: SPI_getvalue requires IsTransactionState but TextDatumGetCString of SPI_getbinval - not!
В списке pgsql-bugs по дате отправления:
| От | PG Bug reporting form |
|---|---|
| Тема | BUG #16268: SPI_getvalue requires IsTransactionState but TextDatumGetCString of SPI_getbinval - not! |
| Дата | |
| Msg-id | 16268-3d91474b3e57a5bf@postgresql.org обсуждение исходный текст |
| Ответы |
Re: BUG #16268: SPI_getvalue requires IsTransactionState butTextDatumGetCString of SPI_getbinval - not!
|
| Список | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 16268
Logged by: RekGRpth
Email address: rekgrpth@gmail.com
PostgreSQL version: 12.2
Operating system: Docker alpine edge
Description:
const char *data = SPI_getvalue(SPI_tuptable->vals[row],
SPI_tuptable->tupdesc, SPI_fnumber(SPI_tuptable->tupdesc, "data"));
raise TRAP: FailedAssertion("!(IsTransactionState())", File: "catcache.c",
Line: 1213)
but
const char *data = SPI_getvalue_my(SPI_tuptable->vals[row],
SPI_tuptable->tupdesc, SPI_fnumber(SPI_tuptable->tupdesc, "data"));
where
char *SPI_getvalue_my(HeapTuple tuple, TupleDesc tupdesc, int fnumber) {
bool isnull;
Datum datum = SPI_getbinval(tuple, tupdesc, fnumber, &isnull);
if (isnull) return NULL;
return TextDatumGetCString(datum);
}
works ok
В списке pgsql-bugs по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера