Hiroshi Inoue wrote:
>
> mlw wrote:
> >
> > mlw wrote:
> > >
> > > It seems that when you perform a large query against the
> > > postgresql ODBC driver it sucks it all in to memory. If
> > > the query returns more data than you have memory, it fails.
> > > To change this behavior, you set UseDeclareFetch to yes.
>
> Your report is all about UseDeclareFetch mode ?
> If so, I would examine it.
After spending some time and getting real friendly with the ODBC driver, I have
come to realize what I was seeing was not a memory leak, exactly, but a
misunderstanding about how it should work.
My expectation is that if I use UseDeclareFetch mode with a FORWRD_ONLY cursor,
previous results are lost as new results are obtained. I believe the PostgreSQL
ODBC driver is in error, because even with UseDeclareFetch, and a FORWARD_ONLY
cursor, the previous results are not freed, thus preventing the ODBC driver
from querying data sources which can provide more data than can fit in
available RAM.
Is this not correct?