ECPG problem with 8.3

Поиск
Список
Период
Сортировка
От Peter Wilson
Тема ECPG problem with 8.3
Дата
Msg-id fm8vdj$2ia3$1@news.hub.org
обсуждение исходный текст
Ответы Re: ECPG problem with 8.3  (Michael Meskes <meskes@postgresql.org>)
Список 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 по дате отправления:

Предыдущее
От: Richard Broersma Jr
Дата:
Сообщение: Re: many to one of many modeling question
Следующее
От: Tom Lane
Дата:
Сообщение: Re: oddly slow query