Re: BUG #18231: String conversion function is adding special characters in Postgres 15
От | Heikki Linnakangas |
---|---|
Тема | Re: BUG #18231: String conversion function is adding special characters in Postgres 15 |
Дата | |
Msg-id | f07f1a9a-5a9d-4917-a514-8d858d94edb7@iki.fi обсуждение исходный текст |
Ответ на | BUG #18231: String conversion function is adding special characters in Postgres 15 (PG Bug reporting form <noreply@postgresql.org>) |
Список | pgsql-bugs |
On 07/12/2023 11:16, PG Bug reporting form wrote: > The following bug has been logged on the website: > > Bug reference: 18231 > Logged by: anvesh work > Email address: work.anvesh@gmail.com > PostgreSQL version: 15.0 > Operating system: Windows 10 > Description: > > I have a function which was working fine in Postgres 10 but not in Postgres > 15. > > When I traced the program, I am facing issue with the VARDATA(arg2). > The arg2 is 2nd argument used in the calling function from PGAdmin4. > After conversion it is returning text with special characters. > In Postgres 10, note that 4 characters are concatenated with special > characters, but other characters are working fine. > Following are the lines of code: > pgsql: > select functionname('arg1', 'arg2', 'arg3'); > > My Method in C program has > text *arg2 = PG_GETARG_TEXT_P(1); > int output = PbValue (VARDATA(arg2)); > > Postgres.h file: > #define VARDATA(PTR) VARDATA_4B(PTR) > #define VARDATA_4B(PTR) (((varattrib_4b *) (PTR))->va_4byte.va_data) > > > To resolve this, we have used memcpy for converting characters. > memcpy(str, VARDATA(arg2), arg_size); I bet the problem is in your C function, but there's not enough details here to say where exactly. I don't understand what you mean string conversion or special characters, for starters. If provide a short self-contained 10-20 lines example that demonstrates the problem, and send it as a reply to this list, someone might be able to point out what the problem is. -- Heikki Linnakangas Neon (https://neon.tech)
В списке pgsql-bugs по дате отправления: