Skip site navigation (1) Skip section navigation (2)

BUG #4001: ecpg produces code that won't compile

From: "Stephen Clark" <sclark(at)netwolves(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #4001: ecpg produces code that won't compile
Date: 2008-02-29 15:12:42
Message-ID: 200802291512.m1TFCgRv087754@wwwmaster.postgresql.org (view raw or flat)
Thread:
Lists: pgsql-bugs
The following bug has been logged online:

Bug reference:      4001
Logged by:          Stephen Clark
Email address:      sclark(at)netwolves(dot)com
PostgreSQL version: 8.3.0
Operating system:   FreeBSD 6.2
Description:        ecpg produces code that won't compile
Details: 

Below is a code fragment that compiled and worked fine from 7.3.x thru
8.2.6. With 8.3.0 the compilation phase fails.
--------------------------------------------
exec sql include sqlca;

EXEC SQL WHENEVER NOT FOUND CONTINUE;

int getUnitData()
{

    exec sql begin declare section;

        VARCHAR h_unit_serial_no  [ 15+1];



        // we do an array fetch on these 30 is the max number for these
        int     h_remote_int_netmask    [4096];
        int     h_local_int_netmask     [4096];        
        VARCHAR h_tunnel_active         [4096][   1+1];
        VARCHAR h_tunnel_config_type    [4096][   1+1];
        VARCHAR h_local_vpn_int_ip      [4096][  20+1];
        VARCHAR h_local_vpn_ext_ip      [4096][  20+1];
        VARCHAR h_remote_vpn_int_ip     [4096][  20+1];
        VARCHAR h_remote_vpn_ext_ip     [4096][  20+1];        

    exec sql end declare section;


        exec sql select tunnel_active,
                        tunnel_config_type,
                        host(local_int_gw_ip),
                        host(local_ext_gw_ip),
                        host(remote_int_gw_ip),
                        host(remote_ext_gw_ip),
                        masklen(remote_int_gw_ip),
                        masklen(local_int_gw_ip)
                into    :h_tunnel_active,
                        :h_tunnel_config_type,
                        :h_local_vpn_int_ip,
                        :h_local_vpn_ext_ip,
                        :h_remote_vpn_int_ip,
                        :h_remote_vpn_ext_ip,
                        :h_remote_int_netmask,
                        :h_local_int_netmask
                from t_vpn_tunnel_status
                where unit_serial_no = :h_unit_serial_no
            order by oid;
            /*limit 30;*/



    
    return TRUE;
}

/usr/local/bin/ecpg -I/usr/local/include/pgsql -I/usr/local/include
ecpg_test.pgc
mkdep -O2 -Wall -DDEBUG -I../include -I/usr/local/include/pgsql
-I/usr/local/include -I../common crypt_file.c mailuser.c
srm2_monitor_server.c putfiles.c srm2_server_funcs.c escalate.c
packet_loss.c srm2_cron.c srm2_db_funcs.c srm2_monitor_db.c ecpg_test.c
g++ -O2 -Wall -DDEBUG -I../include -I/usr/local/include/pgsql
-I/usr/local/include -I../common -c ecpg_test.c
ecpg_test.pgc: In function `int getUnitData()':
ecpg_test.pgc:36: error: invalid application of `sizeof' to incomplete type
`varchar_h_tunnel_active' 
ecpg_test.pgc:38: error: invalid application of `sizeof' to incomplete type
`varchar_h_tunnel_config_type' 
ecpg_test.pgc:40: error: invalid application of `sizeof' to incomplete type
`varchar_h_local_vpn_int_ip' 
ecpg_test.pgc:42: error: invalid application of `sizeof' to incomplete type
`varchar_h_local_vpn_ext_ip' 
ecpg_test.pgc:44: error: invalid application of `sizeof' to incomplete type
`varchar_h_remote_vpn_int_ip' 
ecpg_test.pgc:46: error: invalid application of `sizeof' to incomplete type
`varchar_h_remote_vpn_ext_ip' 
gmake: *** [ecpg_test.o] Error 1

Compilation exited abnormally with code 2 at Fri Feb 29 09:59:10

pgsql-bugs by date

Next:From: Steve ClarkDate: 2008-02-29 15:19:40
Subject: ecpg problem
Previous:From: Sergey BurladyanDate: 2008-02-29 14:57:27
Subject: bug or not bug, xmlvalidate(xml, text) can read and show one line from file

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group