Re: cvs: pear /MDB2/MDB2/Driver oci8.php
| From: | Lukas Kahwe Smith | 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