Thread

  1. 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!
                   -------------------------------------------------