Weird problems with C extension and bytea as input type
| От | Adrian Schreyer |
|---|---|
| Тема | Weird problems with C extension and bytea as input type |
| Дата | |
| Msg-id | AANLkTimvAfX9G5jzhm=eMdDOBBYDJcPdM_SVnbuWbS_7@mail.gmail.com обсуждение исходный текст |
| Ответы |
Re: Weird problems with C extension and bytea as input type
|
| Список | pgsql-general |
Hi, I have a weird problem with my custom functions (written in C,C++) that use bytea as input type (cstring works fine). The functions will work as expected if they are the only function that uses the bytea column in a query; as soon as there is a second function using the same column, the C function will return one of the following: an empty cstring, a substring of the bytea or the correct cstring. Based on these symptoms I assume there is something fundamental that I do wrong (or that is missing) with handling the bytea pointer. In one specific example, the bytea contains a binary file format that the function converts into a string format. I convert the bytea to a C++ string with string(VARDATA(b), VARSIZE(b)-VARHDRSZ). bytea *b = PG_GETARG_BYTEA_P(0); char *ism; ism = function(b); PG_RETURN_CSTRING(ism);
В списке pgsql-general по дате отправления: