On 09/12/11 18:02, Charles Jardine wrote:
On 09/12/11 14:01, Martin J. Evans wrote:
Hi,

If anyone is around who wrote or has worked on the object/collections
support in DBD::Oracle I'd greatly appreciate it if you could take a
quick look at this problem as the code in DBD::Oracle for this has
defeated me so far.

The problem is I have a query which uses types and collect and
although it works fine initially once it has been run a number of
times in the same connection it eventually goes from a 3s fetch time
to a number of minutes. I have reduced it to the example below.

I can run this code all day long in sqlplus without a problem so I
don't think it is an Oracle issue.

I have been re-writing parts of the of the object/collections
support with a view to correcting aspects of the storage management.
The existing code has some store drains, and some incorrect
freeing of Perl SVs, which can lead to crashes.

The changes I have made so far do not fix your problem, but
the problem might provide me with a useful test case.

Do you find, as I do, that you can chase your problem away by
adding 'NOT FINAL' to the end of each of the specifications
of the two objects (as opposed to collections)? I find this
helps with my version of the code. This intrigues me.
I would expect non-final types to be handled worse, not better.


The problem does appear to go away when NOT FINAL is added.

However, it is slower when not final is used.

I'd still like to track this down.

Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com

Reply via email to