Обсуждение: ecpg: dtime_t vs timestamp

Поиск
Список
Период
Сортировка

ecpg: dtime_t vs timestamp

От
Paul Tilles
Дата:
We have upgraded from Version 7.4.x to Version 8.2.4.

In 7.4.x, we use the Informix compatibility functionality to use legacy
code.

Our .pgc code looks as follows:

#include "Ice.h"

EXEC SQL include sqlda;
EXEC SQL include sqltypes;
EXEC SQL include sql3types;
EXEC SQL include pgtypes_timestamp;
EXEC SQL include pgtypes_date;
EXEC SQL include pgtypes_interval;
EXEC SQL include pgtypes_numeric;

EXEC SQL BEGIN DECLARE SECTION;
struct Ice_t
{
    char                lid[9];
    char                pe[3];
    short               dur;
    char                ts[3];
    char                extremum[2];
     dtime_t           obstime;
    double              value;
    char                shef_qual_code[2];
    long                quality_code;
    short               revision;
    char                product_id[11];
    dtime_t           producttime;
    dtime_t           postingtime;
}


The Ice.h header file includes the postgres datetime.h header file.  The
datetime.h file has the line "typedef timestamp dtime_t".  Using Version
7.4.x, this worked.  Now when we use Version 8.2.4 (which has an updated
ecpg), this results in the message

ERROR:  invalid datatype  'dtime_t'

How should we fix this?

Paul Tilles

Re: ecpg: dtime_t vs timestamp

От
Michael Meskes
Дата:
On Tue, Aug 28, 2007 at 10:59:42AM -0400, Paul Tilles wrote:
> We have upgraded from Version 7.4.x to Version 8.2.4.
> In 7.4.x, we use the Informix compatibility functionality to use legacy
> code.
> Our .pgc code looks as follows:
> ...

This is indeed a bug. Thanks for reporting it.

What happens is that ecpg defines the data types, but does not use that
define while in C code. I just committed patches to CVS. I also attach
it here. Could you please try if this fixes your problem?

Thanks.

Michael
--
Michael Meskes
Email: Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!

Вложения