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    :       [EMAIL PROTECTED]       
> 
> 
> 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 <[EMAIL PROTECTED]>
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: src/interfaces/ecpg/preproc/preproc.y
===================================================================
RCS file: /cvsroot/pgsql-server/src/interfaces/ecpg/preproc/preproc.y,v
retrieving revision 1.259
diff -c -c -r1.259 preproc.y
*** src/interfaces/ecpg/preproc/preproc.y       23 Sep 2003 12:56:35 -0000      1.259
--- src/interfaces/ecpg/preproc/preproc.y       24 Sep 2003 19:03:50 -0000
***************
*** 1499,1505 ****
   *****************************************************************************/
  
  CreateSeqStmt:        CREATE OptTemp SEQUENCE qualified_name OptSeqList
!                       { $$ = cat_str(4, make_str("create sequence"), $2, $4, $5); }
                ;
  
  AlterSeqStmt: ALTER SEQUENCE qualified_name OptSeqList
--- 1499,1505 ----
   *****************************************************************************/
  
  CreateSeqStmt:        CREATE OptTemp SEQUENCE qualified_name OptSeqList
!                       { $$ = cat_str(4, make_str("create"), $2, 
make_str("sequence"), $4, $5); }
                ;
  
  AlterSeqStmt: ALTER SEQUENCE qualified_name OptSeqList
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to