Thread: BUG #5969: ecpg can't see sqlca
The following bug has been logged online: Bug reference: 5969 Logged by: Daniel Lyons Email address: fusion@storytotell.org PostgreSQL version: 9.0.3 Operating system: FreeBSD 8.2-RELEASE Description: ecpg can't see sqlca Details: Under the current FreeBSD and the current PostgreSQL, ecpg-processed C programs don't see the sqlca global variable. This wreaks havoc with error handling. For example: #include <stdlib.h> #include <stdio.h> EXEC SQL INCLUDE sqlca; int main() { /* stop on any error */ EXEC SQL WHENEVER SQLERROR STOP; /* connect to a non-existent database */ EXEC SQL CONNECT TO nonexistentdb USER nonexistentuser; /* if we get here, something is wrong. */ printf("I'm still here, even though this database doesn't exist.\n"); return 0; } Same program does the right thing on a Linux machine I have access to, so it may be a platform issue.
On Fri, Apr 08, 2011 at 10:47:32PM +0000, Daniel Lyons wrote: > Under the current FreeBSD and the current PostgreSQL, ecpg-processed C > programs don't see the sqlca global variable. This wreaks havoc with error > handling. For example: Could you please send me the precompiled version of your test case? Do you have THREAD_SAFETY compiled into PostgreSQL? Michael -- Michael Meskes Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) Michael at BorussiaFan dot De, Meskes at (Debian|Postgresql) dot Org Jabber: michael.meskes at googlemail dot com VfL Borussia! Força Barça! Go SF 49ers! Use Debian GNU/Linux, PostgreSQL