[ 
https://issues.apache.org/jira/browse/DERBY-3870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13036379#comment-13036379
 ] 

Knut Anders Hatlen commented on DERBY-3870:
-------------------------------------------

Thanks, Bryan.

I think the execution hierarchy only partially mirrors the compile hierarchy. 
At least I cannot find any execution classes that correspond to the various 
operator node classes. The operator nodes seem to be transformed into methods 
at code-generation time, so there's no class or instance representing them 
anymore.

I agree that the "executor" name is problematic if we move SqlXmlExecutor to 
the types package. I'm actually considering a somewhat more drastic approach 
and remove the class altogether, merging its methods into SqlXmlUtil (which is 
already in the types package). SqlXmlExecutor is just a thin wrapper around 
SqlXmlUtil, so I think that would work. Currently, SqlXmlUtil is instantiated 
once per activation, and SqlXmlExecutor once per row accessed, so they are not 
a perfect match right now. But as I mentioned in my previous comment, I don't 
really see any reason why SqlXmlExecutor needs to be instantiated per row, so 
I'm pretty sure the SqlXmlExecutor class can go away now.

> Concurrent Inserts of rows with XML data results in an exception
> ----------------------------------------------------------------
>
>                 Key: DERBY-3870
>                 URL: https://issues.apache.org/jira/browse/DERBY-3870
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.4.1.3, 10.4.2.1, 10.5.2.0, 10.6.1.0
>         Environment: System: MS windows server 2003 standard edition service 
> pack 2. Derby is run as a server on port 1527.
>            Reporter: Royi Ronen
>            Assignee: Knut Anders Hatlen
>              Labels: derby_triage10_5_2
>         Attachments: Copy of derby.log, DerbyMultiInsertXmlException.zip, 
> d3870-1a.diff, d3870-1a.stat, d3870-junit.diff
>
>
> We insert rows into a table using the following prepared statement (through 
> JDBC):
> INSERT INTO USER1.PSTORE values(?,?, XMLPARSE(document CAST (? AS CLOB) 
> preserve whitespace))
> where each of the ?'s are replaced with a string.
> One thread runs fine. Two or more result in the following exception: 
> org.apache.derby.client.am.SqlException: Java exception: 'FWK005 parse may 
> not be called while parsing.: org.xml.sax.SAXException'.
>       at org.apache.derby.client.am.SqlException.<init>(Unknown Source)
>       at org.apache.derby.client.am.SqlException.<init>(Unknown Source)
> We believe that this comes from the dBuilder.parse(InputSource) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to