Re: Status of ODBC driver managers on Unix - Mailing list pgsql-odbc
From | Hiroshi Inoue |
---|---|
Subject | Re: Status of ODBC driver managers on Unix |
Date | |
Msg-id | 3BAA8836.3B157A37@tpf.co.jp Whole thread Raw |
In response to | Status of ODBC driver managers on Unix (Peter Eisentraut <peter_e@gmx.net>) |
Responses |
Re: Status of ODBC driver managers on Unix
(Peter Eisentraut <peter_e@gmx.net>)
|
List | pgsql-odbc |
Peter Eisentraut wrote: > > I've been looking at a patch provided by Nick Gorham from the unixODBC > effort to make the PostgreSQL ODBC driver support unixODBC better. All > the while I have been wondering what exactly our ODBC driver does support > on Unix systems now. > > It is generally claimed that psqlodbc is supposed to work with the iODBC > driver manager, and it is evident that some source files where in fact > copied over from some ancient version of iODBC. However, iODBC has > changed quite a bit since then so I wonder if it would still work. > > The major issues involved with "supporting" one driver manager or another > seem to be: > > 1. Where to get the include files from, and > > 2. Where to get the routines to read the .ini file from. > > On Windows, the answer to both of these questions is "from the system". > On unixish systems we have the following choices in theory: > > a) Write/provide your own > > b) Get them from an already installed driver manager of choice. > > i) Link in the odbcinst library that the driver manager provides > > ii) Don't link in the odbcinst library that the driver manager provides, > instead rely on runtime binding to find the routines in the driver > manager. Not sure if that would work. > > We currently support (a), and the unixODBC patch I have pretty much wants > us to support (b)(i). So some questions in my mind are: > > * Is (a) really useful and reliable at all? > > * Is (b)(ii) an option? > > * What sort of options do we want to provide to installers about choosing, > e.g., --with-odbc-driver-manager={unixodbc|iodbc|none}? > > * Is it reasonable to attempt to support more than one driver manager in > one installation? (probably not, I'd say) > > Comments? I don't want to maintain our driver on unix by myself but I don't like the current support style for iODBC. If we would support unixODBC, we should support (b)(i) IMHO. gpps.c seems harmful for unixODBC. I don't think it's preferable for iODBC and unixODBC to have a common driver. I'd thought the following once before. Provide subdirectories for compilation e.g. ./iODBC ./unixODBC ./Windows. Each subdirectory would have its own makefile at least and specific sources like gpps.c for iDOBC if necessary. Common sources are still in the current directory but the objects would be put into the each subdirectories when the compilation is invoked. I'm not sure about how to change the current iODBC support. I didn't find the library in iODBC like odbcinst in unixODBC. I've not tested if libpsqlodbc.so itself could be the one. If there are some people who expect continuous iODBC support, gpps.c should be removed or improved at least. regards, Hiroshi Inoue
pgsql-odbc by date: