Re: ECPG bug: "unterminated quoted identifier"

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: 1250kv <1250kv(at)gmail(dot)com>
Cc: PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: ECPG bug: "unterminated quoted identifier"
Date: 2020-10-20 20:10:10
Message-ID: 674892.1603224610@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

1250kv <1250kv(at)gmail(dot)com> writes:
> EXEC SQL char *bar = foo;

I think it's pure luck that that doesn't throw an error.
You should not be using the EXEC SQL prefix for something
that isn't a SQL command.

Anyway, the problem you're hitting here is that as soon as you
say EXEC SQL, the syntax rules for quoted strings change.
This is not well documented, and I think it's got some bugs
in itself [1], but "EXEC SQL char *bar = "aaa\"bbb";" is just
wrong. You can't use C literal syntax inside a SQL code
segment, whether or not the command would work otherwise.

regards, tom lane

[1] https://www.postgresql.org/message-id/673825.1603223178%40sss.pgh.pa.us

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message 1250kv 2020-10-20 22:51:09 Re: ECPG bug: "unterminated quoted identifier"
Previous Message 1250kv 2020-10-20 18:18:04 Re: ECPG bug: "unterminated quoted identifier"