You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Andy Seaborne (JIRA)" <ji...@apache.org> on 2015/12/12 14:47:46 UTC

[jira] [Comment Edited] (JENA-1089) Add interface Transactional to DatasetGraph

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

Andy Seaborne edited comment on JENA-1089 at 12/12/15 1:46 PM:
---------------------------------------------------------------

The default can be the MRSW locking code even if the default implementation isn't perfect transaction (no abort).  Whether it should return true on "supportsTransaction" is arguable either way.  It supports the common case of "begin(W)-commit-end".

{{Dataset}} defines {{supportsTransactions}} with
{noformat}
    /** Does this dataset support transactions?
     *  Supporting transactions mean that the dataset implementation
     *  provides {@link #begin}, {@link #commit}, {@link #abort}, {@link #end}
     *  which otherwise may throw {@link UnsupportedOperationException}
     */
{noformat}

This mainly affects the general DatasetGraphMap.

Checking is needed because there are a log of variations of DatasetGraph which work by wrapping another one.

If there are any variations of DatasetGraph that are not actually used, now would be a good time to clear them up and delete them.  One example is the "fixed set of graphs" variant.  For uniformity, automatically adding graphs for the in-memory general case has been the norm for a long time.


was (Author: andy.seaborne):
The default can be the MRSW locking code even if the default 

This mainly affects the general DatasetGraphMap.

Checking is needed because there are a log of variations of DatasetGraph which work by wrapping another one.

If there are any variations of DatasetGraph that are not actually used, now would be a good time to clear them up and delete them.  One example is the "fixed set of graphs" variant.  For uniformity, automatically adding graphs for the in-memory general case has been the norm for a long time.

> Add interface Transactional to DatasetGraph
> -------------------------------------------
>
>                 Key: JENA-1089
>                 URL: https://issues.apache.org/jira/browse/JENA-1089
>             Project: Apache Jena
>          Issue Type: Improvement
>    Affects Versions: Jena 3.0.1
>            Reporter: Andy Seaborne
>            Assignee: Andy Seaborne
>             Fix For: Jena 3.1.0
>
>
> Adding Transactional to DatasetGraph will encourage using DatasetGraph transactionally in the code base and any application code that use this interface directly.
> Currently, DatasetGraph is neutral to transactions and a instance test is needed.  With the new in-memory transactional dataset, it is better to assume transactions and use "don't support" if full semantics aren't available.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)