The following bug has been logged online:

Bug reference:      1164
Logged by:          John Smith

Email address:      [EMAIL PROTECTED]

PostgreSQL version: 7.4

Operating system:   Linux 2.4 [Fedora core 1]

Description:        Informix compatibility ecpg

Details: 

O/S: Linux 2.4 [Fedora core 1]
PostgreSQL 7.4.2
command line:
ecpg -t prog.pgc -C INFORMIX  -o prog.c

I'm Converting a project from Informix to PostgreSQL, and intended to make 
use of Informix compatibility mode to speed the process. I understand that 
some core differences (error handling for example) cannot easily be 
automated.  

I've found some incompatibles though that seem to me could be catered for:

In Informix ESQL/C, columns can be defined using the same string that's used 
to describe the field when describing the table. Hence "integer" will work 
in esql, but not in ecpg. 

Informix treats the single and double quote as synonyms in SELECT 
statements. Thus  
... WHERE countries.country_code = "UK"
is valid in Informix, but in PostgreSQL needs to be re-written as
... WHERE countries.country_code = 'UK'.
The error message for this is not obvious to a programmer brought up on 
informix, as it refers to a column called "UK" that does not exist. 

A SELECT from a NULL field in Informix is trapped using the Informix call 
"risnull()". Although this function is provided with ecpg, null values were 
not successfully trapped, and I had to resort to using the PostgreSQL 
standard indicator variables. I can supply more details on this one on 
request, as it's C code that probably doesn't belong here. 


Generally though, I've been unable to find any documentation on the 
Informix-compatibility mode. 


Regards,


---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to