Re: [HACKERS] ODBC and palloc ... - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [HACKERS] ODBC and palloc ...
Date
Msg-id 199807231945.PAA13730@candle.pha.pa.us
Whole thread Raw
In response to Re: [HACKERS] ODBC and palloc ...  (Byron Nikolaidis <byronn@insightdist.com>)
List pgsql-hackers
> Davide Libenzi wrote:
> >
> > After a lot of changes I've compiled,linked and tested (regression) my
> > PostgreSQL installation no HPUX 9.*.
> >
> > I've also built and installed the ODBC driver and I get Ms Access error
> > which the PostgresSQL server log in "palloc failure : memory exausted".
> >
> > Is this a server bug or ODBC driver bug ?
> >
>
> I am assuming you have a fairly new odbc driver (6.30.0248 is the
> latest) and not the old postodbc.  BTW, on our website
> (www.insightdist.com/psqlodbc) we have the DLL and a full install EXE
> for win32 so you wouldn't have to build it yourself from the source code
> if you didn't want to.
>
> The palloc failure usually occurs because Access uses the multiple OR
> query (select ... where a=1 OR a=2 OR a=3...) to access the recordset.
> The backend does not handle this very well and it is already well known
> on the TODO list.
>
> There are several possibilities to get past this:
> 1. Use a non-updateable table (by setting the driver readonly option, or
> by not specifying any unique identifiers).
> 2. For a query, use a snapshot recordset in the query properties.
> 3. Show the OID column in the drivers advanced datasource options and
> use that alone to index on.  You should create an index on it too.  This
> is still slow, but at least shouldn't crash.
>
> Other possibilities:
>
> In house, Dave made a patch to postgres which rewrites the multiple OR
> query into a UNION query, which works great and its fast!  We may make
> this patch available evntually on our website.

I am thinking about this right now, and will post an analysis within the
next day.

--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

pgsql-hackers by date:

Previous
From: Byron Nikolaidis
Date:
Subject: Re: [HACKERS] ODBC and palloc ...
Next
From: Gregory Holston
Date:
Subject: pointers