"Andrew Snow" <[EMAIL PROTECTED]> writes:

> > I believe I can work around this problem using cursors (although I
> > don't know how well DBD::Pg copes with cursors).  However, that
> > doesn't seem right -- cursors should be needed to fetch a large query
> > without having it all in memory at once...
>

Yes, I have noticed that particular bad behaviour, too.
With DBD::Pg and DBD::mysql.

At the same time, DBD::Oracle, DBD::InterBase and DBD::Sybase work as
expected. Rows are fetched with fetchrow...() functions instead of all
being sucked up into memory at the time execute() is called.

Anybody know why is that happening?

> Actually, I think thats why cursors were invented in the first place ;-)  A
> cursor is what you are using if you're not fetching all the results of a
> query.
> 

What bothers me is different behaviour of different DBD drivers. But,
yes, I have just subscribed to dbi-users list which is the right place
to ask that question.
-- 
Zlatko

Reply via email to