create temporary sequence and ecpg
============================================================================
POSTGRESQL BUG REPORT TEMPLATE
============================================================================
Your name : Edmund Bacon
Your email address : ebacon@onesystem.com
System Configuration
---------------------
Architecture (example: Intel Pentium) : Intel Pentium
Operating System (example: Linux 2.0.26 ELF) : Linux 2.4.20
PostgreSQL version (example: PostgreSQL-7.3.4): PostgreSQL-7.3.4
Compiler used (example: gcc 2.95.2) : gcc 3.2.2
Please enter a FULL description of your problem:
------------------------------------------------
Trying to create a TEMPORARY SEQUENCE with ecpg produces
a runtime erorr. the sqlprint error is:
sql error 'ERROR: parser: parse error at or near "foo" at character 27'
in lin
A workaround is to use EXECUTE IMMEDIATE
Please describe a way to repeat the problem. Please try to provide a
concise reproducible example, if at all possible:
----------------------------------------------------------------------
exec sql include sqlca;
$ cat tmpseq.pgc
int main()
{
exec sql whenever sqlerror sqlprint;
exec sql connect to test;
exec sql create temporary sequence foo;
exec sql disconnect;
return 0;
}
Looking at the emitted C code we see:
{ ECPGdo(__LINE__, NULL, "create sequence temporary foo ", ECPGt_EOIT,
ECPGt_EORT);
Note that the tokens "sequence" and "temporary" have been reversed.
If you know how this problem might be fixed, list the solution below:
---------------------------------------------------------------------
--
Edmund Bacon <ebacon@onesystem.com>
Nice bug report. I have attached a fix that will appear in our 7.4
release. Thanks.
---------------------------------------------------------------------------
Edmund Bacon wrote:
============================================================================
POSTGRESQL BUG REPORT TEMPLATE
============================================================================Your name : Edmund Bacon
Your email address : ebacon@onesystem.comSystem Configuration
---------------------
Architecture (example: Intel Pentium) : Intel PentiumOperating System (example: Linux 2.0.26 ELF) : Linux 2.4.20
PostgreSQL version (example: PostgreSQL-7.3.4): PostgreSQL-7.3.4
Compiler used (example: gcc 2.95.2) : gcc 3.2.2
Please enter a FULL description of your problem:
------------------------------------------------Trying to create a TEMPORARY SEQUENCE with ecpg produces
a runtime erorr. the sqlprint error is:sql error 'ERROR: parser: parse error at or near "foo" at character 27'
in linA workaround is to use EXECUTE IMMEDIATE
Please describe a way to repeat the problem. Please try to provide a
concise reproducible example, if at all possible:
----------------------------------------------------------------------exec sql include sqlca;
$ cat tmpseq.pgc
int main()
{
exec sql whenever sqlerror sqlprint;exec sql connect to test;
exec sql create temporary sequence foo;
exec sql disconnect;
return 0;
}Looking at the emitted C code we see:
{ ECPGdo(__LINE__, NULL, "create sequence temporary foo ", ECPGt_EOIT,
ECPGt_EORT);Note that the tokens "sequence" and "temporary" have been reversed.
If you know how this problem might be fixed, list the solution below:
---------------------------------------------------------------------
--
Edmund Bacon <ebacon@onesystem.com>---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073