[
https://issues.apache.org/jira/browse/DERBY-3650?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mike Matrigali updated DERBY-3650:
----------------------------------
During a join we may stream N rows out from 1 left row and N right rows. When w
e do this we use multiple references
to the same underlining column, so N rows may point to 1 DataValueDescriptor (DV
D). I believe this mostly works but is a problem if the DVD is represented by a
stream rather than some sort of fixed
datatype like an SQLInteger.
In the case of DERBY-3650 a free is being called after one of the rows
is finished processing, causing problems when the subsequent row needs
access to the stream.
The approach I am going to look at is to force the join case, where streams
are involved to generate a real copy of the stream rather than 2 references
to the same stream. I plan on leaving all other copies as reference copies
so that performance and memory usage of the whole system is not affected
too much.
> internal multiple references from different rows to a single BLOB/CLOB stream
> leads to various errors when second reference used.
> ---------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-3650
> URL: https://issues.apache.org/jira/browse/DERBY-3650
> Project: Derby
> Issue Type: Bug
> Components: Network Client
> Affects Versions: 10.3.3.0, 10.4.1.3
> Environment: Mac OSX 10.4
> JDK 1.5.0_13
> Hibernate EntityManager 3.2.1
> Reporter: Golgoth 14
> Assignee: Mike Matrigali
> Attachments: derby-3650_tests_diff.txt, Derby3650EmbeddedRepro.java,
> Derby3650FullClientRepro.java, Derby3650FullRepro.java, Derby3650Repro.java,
> DerbyHibernateTest.zip, testdb.zip, traces_on_FormatIdStream_alloc.txt,
> UnionAll.java
>
>
> Derby + Hibernate JPA 3.2.1 problem on entity with Blob/Clob
> Hi,
> I'm using Derby in Client - Server mode with Hibernate JPA EJB 3.0.
> When a query on an entity containing a Clob and some joins on other entites
> is executed, an exception with the following message is thrown:
> XJ073: The data in this BLOB or CLOB is no longer available. The
> BLOB/CLOB's transaction may be committed, or its connection is closed.
> This problem occurs when the property "hibernate.max_fetch_depth" is greater
> than 0.
> When hibernate.max_fetch_depth=0, the query works.
> If Derby is configured in embedded mode, the query works independently of the
> value of hibernate.max_fetch_depth.
> On the Hibernate's documentation, the advised value of
> hibernate.max_fetch_depth is 3.
> Could you explain me if I made something wrong ?
> Thank you.
> Stephane
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.