Re: cvs: pear /MDB2/MDB2/Driver oci8.php

From: Date: Tue, 26 Sep 2006 18:46:17 +0000
Subject: Re: cvs: pear /MDB2/MDB2/Driver oci8.php
References: 1 2 3  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-44065@lists.php.net to get a copy of this message
Justin Patrin wrote:
Do you mean convertResultRow()? This would mean that the call would have to be moved into _fillBuffer() (it is currently in fetchRow(), so this would mean a higher _fillBuffer() overhead and possibly converting rows which are not used, a-la seek) and would have to be called even if there are no types passed in (yes, I know, I should be passing in types, but it would be no good to have this fix only affect people who pass in types).
I keep forgetting that some people do not use the datatype abstraction. Though I need to check if your fix now breaks things for people that do.
And, of course, convertResultRow() already does a foreach....I really don't see how we could loop through the resulting fields without....looping through the resulting fields. Something a bit better might be to pre-loop through the fields (tableInfo) and check for LOB fields, storing these in an array, then only loop through these fields for load()-ing. This should be somewhat of a speedup for large result sets.
I guess this kind of optimization is not really worth the hassle. Someone using buffered results in LOBs is not all that concerned about performance I would say. So I guess we can stay with the change as is, as long as we are sure that multiple load() calls do not cause any issues. @Lorenzo: Is Firebird also affected by this issue? regards, Lukas

« previous php.pear.dev (#44065) next »