From: | Michael Meskes <meskes(at)postgresql(dot)org> |
---|---|
To: | Matthias Apitz <guru(at)unixarea(dot)de> |
Cc: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Re: BUG #16200: returned data from ESQL/C FETCH is trampling outside assigned memory for CHAR column |
Date: | 2020-01-10 19:46:42 |
Message-ID: | f4ed822c8819851534ced9e4a6efb621e23775d1.camel@postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
> I mean with ESQL/C the general term "Embedded SQL in C". Of course I
> do
> know that for PostgreSQL the precompiler is named "ecpg".
No worries, I was just making sure we do not talk about different
things as I have never seen anyone use this abbreviation before.
> Neither do I know if there is some written standard, but char strings
There is.
> IMHO
> should be NULL terminated. Our application expects in this example no
> more than 16 bytes and that's why we provide a host variable as the
> struct member of 17 bytes so the NULL fits into.
>
> I digged into the sources of the ecpglib and this small fix solved
> our problem:
> ...
Sure, this fixes your use case, but as I said, I'm not sure it's the
right thing to do for general use.
> > Could you please verify if the indicator is set accordingly?
>
> If I read the docs here
> https://www.postgresql.org/docs/11/ecpg-variables.html#ECPG-INDICATORS
> indicator vars are meant to show null values in the table and not the
> string truncation. Am I wrong? We do not use indicators at all, but
> catch the error condition -213.
Sorry, you're right of course. What I meant was the sqlca structure
which includes:
...
char sqlwarn[8];
/* Element 0: set to 'W' if at least one other is 'W' */
/* 1: if 'W' at least one character string */
/* value was truncated when it was */
/* stored into a host variable. */
...
Michael
--
Michael Meskes
Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
Meskes at (Debian|Postgresql) dot Org
Jabber: michael at xmpp dot meskes dot org
VfL Borussia! Força Barça! SF 49ers! Use Debian GNU/Linux, PostgreSQL
From | Date | Subject | |
---|---|---|---|
Next Message | Tomas Vondra | 2020-01-10 20:28:18 | Re: BUG #16203: So difficult to set an use postgres |
Previous Message | PG Bug reporting form | 2020-01-10 19:38:21 | BUG #16203: So difficult to set an use postgres |