[
https://issues.apache.org/jira/browse/JENA-330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13477991#comment-13477991
]
Stephen Allen commented on JENA-330:
------------------------------------
I was aware that 2.7.4 was coming up and I didn't want to check this in right
before that, as it is a pretty big change.
Re: 3)
I agree with removing Update Submission code after 2.7.4. Also makes sense
to have SPARQL spec grammar ifdefed (just not used in standard code path).
Re: transactional property
That property is used to tell the assembler whether to construct a
GraphStoreNull or GraphStoreNullTransactional object. This was for testing
purposes, so I could verify the code paths were different in
SPARQL_Update.execute().
Re: AbstractUpdateSink
I wasn't aware which packages were considered the public API. They certainly
don't have to be there, and I can move them to .modify.
Other notes on the patch:
4) The main changes to the grammar were to use the new UpdateSink instead of
returning Update objects.
5) Also there were places where the parser was hanging on to Token objects
for too long. Each Token contains a link to the next token, so it was leading
to a memory leak where the INSERT_DATA token for example would contain a linked
list to all the tokens after it.
> Streaming support for SPARQL Update queries and streaming support for quads
> in INSERT DATA / DELETE DATA queries
> ----------------------------------------------------------------------------------------------------------------
>
> Key: JENA-330
> URL: https://issues.apache.org/jira/browse/JENA-330
> Project: Apache Jena
> Issue Type: Improvement
> Components: ARQ
> Reporter: Stephen Allen
> Assignee: Stephen Allen
> Priority: Minor
> Attachments: config-null.ttl, JENA-330_20121016.patch,
> TestLargeUpdates.java
>
>
> The SPARQL Update parser currently parses all update queries into a single
> UpdateRequest object which holds them in memory. Instead the parser should
> insert queries into something like a Sink<Update>. Additionally it should
> put the quads from INSERT_DATA and DELETE_DATA into a Sink<Quad> instead of
> an ArrayList.
> This should allow the creation of a streaming update parser, which could be
> combined with JENA-309 to have full streaming into an underlying
> transactional store and the ability to handle arbitrarily large INSERT_DATA
> or DELETE_DATA queries (to the limits of the transaction system).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira