ECPG problem with 8.3 - Mailing list pgsql-general
From | Peter Wilson |
---|---|
Subject | ECPG problem with 8.3 |
Date | |
Msg-id | fm8vdj$2ia3$1@news.hub.org Whole thread Raw |
Responses |
Re: ECPG problem with 8.3
|
List | pgsql-general |
I've just tried compiling our project against the 8.3RC1 code. This is the first time I've tried any release of 8.3. Several components use ECPG. I'm now getting an ECPG error. Compiling on 8.2.3 is fine. I've checked the 8.3 release documentation and there don't seem to be any that change the ECPG interface - all the changes seem to be behind the scenes. The biggest being a change to the backend protocol. # gcc --version gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3) Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # /usr/local/pgsql/bin/ecpg --version ecpg (PostgreSQL 8.3RC1) 4.4.0 ----- The error : # make make[1]: Entering directory `/var/build/whitebeam/templates/pgsql/common' /usr/local/pgsql/bin/ecpg -t -o crbembsql.cxx -I /usr/local/pgsql/include crbembsql.pgC g++ -c crbembsql.cxx -o crbembsql.o g++ -c -g -O2 -I/var/build/whitebeam/include -DHAVE_CONFIG_H -I/usr/local/pgsql/include -I/usr/local/pgsql/include/server -I/var/build/whitebeam/common -I/var/build/whitebeam/presentation -I/usr/include/openssl -I/usr/local/pgsql/include -I /var/build/whitebeam/templates -I ../common crbembsql.cxx -o crbembsql.o crbembsql.pgC: In member function `BOOL crbembsql::gensql(const char*, int, BOOL, CrbString*)': crbembsql.pgC:254: error: invalid conversion from `int' to `ECPG_statement_type' crbembsql.pgC:254: error: initializing argument 6 of `bool ECPGdo(int, int, int, const char*, char, ECPG_statement_type, const char*, ...)' make[1]: *** [crbembsql.o] Error 1 make[1]: Leaving directory `/var/build/whitebeam/templates/pgsql/common' make: *** [all] Error 2 ------- The relevant lines in crbembsql.pgQ - the second is line 254 EXEC SQL PREPARE U1 FROM :sl_sql; EXEC SQL EXECUTE U1; ------- The output for those lines from the ECPG preprocessor : { ECPGprepare(__LINE__, NULL, 0, "u1", sl_sql);} #line 253 "crbembsql.pgC" { ECPGdo(__LINE__, 0, 1, NULL, 0, 1, "u1", ECPGt_EOIT, ECPGt_EORT);} #line 254 "crbembsql.pgC" ----------- PROTOTYPE for ECPGdo taken from /usr/local/pgsql/include/ecpglib.h bool ECPGdo(const int, const int, const int, const char *, const char, const enum ECPG_statement_type, const char *,...); ---------- The changes to the ECPGdo prototype were made during 8.3 development (REL8_2_STABLE) and were checked in 2007/08/14 (version 1.71 of ecpglib.h) by user 'meskes'. ---------- Any suggestions very much appreciated! Peter Wilson -- http://www.whitebeam.org - OpenSource Web Application Server
pgsql-general by date: