Received: from u1.abs.net (root@u1.abs.net [207.114.0.131]) by hub.org (8.8.8/8.7.5) with ESMTP id PAA06935 for ; Wed, 19 Aug 1998 15:07:29 -0400 (EDT) Received: from insightdist.com (nobody@localhost) by u1.abs.net (8.9.0/8.9.0) with UUCP id OAA13115 for pgsql-interfaces@postgreSQL.org; Wed, 19 Aug 1998 14:58:01 -0400 (EDT) X-Authentication-Warning: u1.abs.net: nobody set sender to insightdist.com!byronn using -f Received: from ceodev by insightdist.com (AIX 3.2/UCB 5.64/4.03) id AA45338; Wed, 19 Aug 1998 14:31:44 -0400 Received: from byronn by ceodev (AIX 4.1/UCB 5.64/4.03) id AA83218; Wed, 19 Aug 1998 14:31:44 -0400 Message-Id: <35DB1A0A.53F5BD81@insightdist.com> Date: Wed, 19 Aug 1998 14:31:38 -0400 From: Byron Nikolaidis X-Mailer: Mozilla 4.05 [en] (Win95; I) Mime-Version: 1.0 To: "Thomas G. Lockhart" Cc: Aleksey Demakov , pgsql-interfaces@postgreSQL.org, Gerald Gryschuk Subject: Re: [INTERFACES] iodbc interface on Unix References: <35D99896.DFB21123@alumni.caltech.edu> <35D9D132.4DE6ACB8@insightdist.com> <86iujpr0qh.fsf@avd.gcom.ru> <35DAD65D.34165A2F@insightdist.com> <35DAE850.93FC000C@alumni.caltech.edu> <35DB06BB.16F5D38D@alumni.caltech.edu> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Thomas G. Lockhart wrote: > > At the moment, I'm stuck on a bizarre symptom (which of course will > > make perfect sense the second after I send this e-mail :) I'm having > > trouble seeing SQLExecute() entered, but can see the calling routine > > and can see a return. So it looks like the routine is not actually > > getting called, which of course is impossible. Don't know what is > > going on quite yet... > > OK, with Gerald's guidance I can confirm that the linker was calling the > iodbc routine SQLExecute rather than the internal psqlodbc routine of > the same name. This makes a bit of sense to me, since iodbc is getting > loaded first and is "steering the boat". I've stubbed-out SQLExecute() > as has been done for several other routines by defining _SQLExecute() as > the real routine and SQLExecute() as a pass-through stub. > I did that for SQLExecDirect but not SQLExecute, because SQLExecute wasn't being called before the connection transitioned to a connected state, whereas, SQLExecDirect was being called in the middle of transitioning to the connected state, which was ultimately causing a runtime error. I'm still confused though, why would this matter? I can understand for the case I mentioned because of not being in the correct state, but what does it matter if SQLExecute is called in the driver manager for normal execution. That's how its supposed to work anyway. The application calls the driver manager function, then the driver manager calls the function in one of its loaded drivers. Sounds like there is a lot more going on here than meets the eye. Or maybe the Windows driver manager or the windows linking process is covering up some things. Byron