Re: [HACKERS] ODBC and palloc ...
От | Bruce Momjian |
---|---|
Тема | Re: [HACKERS] ODBC and palloc ... |
Дата | |
Msg-id | 199807231945.PAA13730@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: [HACKERS] ODBC and palloc ... (Byron Nikolaidis <byronn@insightdist.com>) |
Список | 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 по дате отправления: