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 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Steve Clark | 2008-02-29 15:19:40 | ecpg problem |
Previous Message | Sergey Burladyan | 2008-02-29 14:57:27 | bug or not bug, xmlvalidate(xml, text) can read and show one line from file |