Re: Status of ODBC driver managers on Unix

From: Hiroshi Inoue <Inoue(at)tpf(dot)co(dot)jp>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: pgsql-odbc(at)postgresql(dot)org, Nick Gorham <nick(at)easysoft(dot)com>
Subject: Re: Status of ODBC driver managers on Unix
Date: 2001-09-21 00:22:14
Message-ID: 3BAA8836.3B157A37@tpf.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Jean-Michel POURE 2001-09-21 14:40:12 int4eq (xid, int4)
Previous Message s_bulterman 2001-09-20 18:56:13 Out of memory error with MS Access link database