Unix Technical Forum

Re: Odbcapi30.c - 64 bit compiler warning cleanup

This is a discussion on Re: Odbcapi30.c - 64 bit compiler warning cleanup within the pgsql Interfaces odbc forums, part of the PostgreSQL category; --> > -----Original Message----- > From: Tom Lane [mailto:tgl@sss.pgh.pa.us] > Sent: 27 January 2006 14:45 > To: Dave Page > ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > pgsql Interfaces odbc

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-16-2008, 02:48 AM
Dave Page
 
Posts: n/a
Default Re: Odbcapi30.c - 64 bit compiler warning cleanup



> -----Original Message-----
> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
> Sent: 27 January 2006 14:45
> To: Dave Page
> Cc: Ludek Finstrle; pgsql-odbc@postgresql.org
> Subject: Re: [ODBC] Odbcapi30.c - 64 bit compiler warning cleanup
>
> "Dave Page" <dpage@vale-housing.co.uk> writes:
> >> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
> >> The problem with this is that it creates an ABI breakage.

>
> > Is that actually a problem given that apps should link to the driver
> > manager (which can dynamically load any version of any driver), not
> > directly to the driver itself?

>
> Hm, good point. So the question then becomes whether the
> driver manager
> is expecting this parameter to be int-sized or pointer-sized.


It /should/ be expecting SQLPOINTER (well, SQLSetConnectAttr expects
SQLPOINTER, and SQLSetConnectOption maps directly to it according to the
spec -
http://msdn.microsoft.com/library/de.../en-us/odbc/ht
m/odbcsqlsetconnectattr.asp)

> I took a quick look at the unixODBC sources (2.0.4 which is
> what I have
> handy, I know it's a bit old) and got completely confused: I see the
> parameter declared as SQLUINTEGER in some places and UDWORD in others.
> Anyone know that code base well enough to be certain which place is
> definitive?


Not I. Our code seems to be a mess of types as well :-(

Regards, Dave.

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-16-2008, 02:48 AM
Ludek Finstrle
 
Posts: n/a
Default Re: Odbcapi30.c - 64 bit compiler warning cleanup

> > >> The problem with this is that it creates an ABI breakage.
> >
> > > Is that actually a problem given that apps should link to the driver
> > > manager (which can dynamically load any version of any driver), not
> > > directly to the driver itself?

> >
> > Hm, good point. So the question then becomes whether the
> > driver manager
> > is expecting this parameter to be int-sized or pointer-sized.

>
> It /should/ be expecting SQLPOINTER (well, SQLSetConnectAttr expects
> SQLPOINTER, and SQLSetConnectOption maps directly to it according to the
> spec -
> http://msdn.microsoft.com/library/de.../en-us/odbc/ht
> m/odbcsqlsetconnectattr.asp)


PGAPI_SetConnectOption is private hidden function. It's called from
SQL* functions which are public - exported (I'm sorry I'm using terms
from OOP but I don't know the right one). No one who follows ODBC
specification may use functions which doesn't begin with SQL.
The parameter for SQLSetConnectAttr (from which is
PGAPI_SetConnectOption mainly called) is SQLPOINTER.

I check whole code to calling PGAPI_SetConnectOption so there could be
no problem with it.

> > I took a quick look at the unixODBC sources (2.0.4 which is
> > what I have
> > handy, I know it's a bit old) and got completely confused: I see the
> > parameter declared as SQLUINTEGER in some places and UDWORD in others.
> > Anyone know that code base well enough to be certain which place is
> > definitive?

>
> Not I. Our code seems to be a mess of types as well :-(


There is more types in psqlodbc like UInt4, int, ...
I think the best API manual is on MS web (Dave's link above). unixODBC
follows it.

Regards,

Luf

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 05:29 PM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com