Thread
-
POSTGRESQL bug report
Theofilu Andreas <theofilu@eunet.at> — 1999-09-11T13:15:56Z
============================================================================ POSTGRESQL BUG REPORT TEMPLATE ============================================================================ Your name : Andreas Theofilu Your email address : theofilu@eunet.at System Configuration --------------------- Architecture (example: Intel Pentium) : Intel Pentium Operating System (example: Linux 2.0.26 ELF) : Linux 2.2.7 ELF PostgreSQL version (example: PostgreSQL-6.5.1): PostgreSQL-6.5.1 Compiler used (example: gcc 2.8.0) : egcs-2.91.66 Please enter a FULL description of your problem: ------------------------------------------------ There is a problem with 'ecpg'. If you've the SQL command EXEC SQL free <cursorname> you can't compile the resulting c-file. 'ecpg' translates the above command into { ECPGdeallocate (__LINE__, NULL, "<cursorname"); } This is wrong, because the function ECPGdeallocate has only 2 (two!) parameters. It should be translated into { ECPGdeallocate (__LINE__, "<cursorname"); } For a fix look below. Please describe a way to repeat the problem. Please try to provide a concise reproducible example, if at all possible: ---------------------------------------------------------------------- Create a file with the SQL command EXEC SQL free <cursorname> Let it through the preprocessor 'ecpg' and try to compile it with the C-Compiler. If you know how this problem might be fixed, list the solution below: --------------------------------------------------------------------- This can easily be fixed. Change line 988 of file 'postgresql-6.5.1/src/interfaces/ecpg/preproc/preproc.y' to fprintf (yyout, "{ ECPGdeallocate (__LINE__, \"%s\");", $1); This fixed the bug here :-). -- Theofilu Andreas http://members.eunet.at/theofilu ------------------------------------------------- Enjoy the science of Linux! Genieße die Wissenschaft von Linux! -------------------------------------------------