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 2016/04/17 14:22:25 UTC

[jira] [Commented] (JENA-1148) TransformFilterEquality incorrectly eliminates some optionals

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

Andy Seaborne commented on JENA-1148:
-------------------------------------

Workaround: [commit c917e89|https://github.com/apache/jena/commit/c917e892ba934947d0ae0da21ab2e54d35ba9bc1] (has wrong JIRA in commit comment).

This commit stops the elimination of the dead code - inside a {{(sequence)}} scoping is not as simple as looking inside the subOp.

Related test disabled: [commit a05ac187|https://github.com/apache/jena/commit/a05ac18790935ae241caac6a182d379750c62fad]


> TransformFilterEquality incorrectly eliminates some optionals
> -------------------------------------------------------------
>
>                 Key: JENA-1148
>                 URL: https://issues.apache.org/jira/browse/JENA-1148
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: ARQ
>            Reporter: Eetu Mäkelä
>              Labels: Optimization, sparql
>
> For a query of the form:
> {code}
> SELECT * {
>   ?s ?p ?o
>   OPTIONAL {
>     FILTER(?o=<urn:x1>)
>     BIND(true AS ?b)
>   }
> }
> {code}
> ARQ optimization incorrectly eliminates the whole OPTIONAL when the variable filtered on does not appear elsewhere inside the OPTIONAL block . This is because of the special case check called on [line 120 of TransformFilterEquality.java|https://git-wip-us.apache.org/repos/asf?p=jena.git;a=blob;f=jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterEquality.java;h=38ba84019ba3b446afd8106128c517913a7ef73e;hb=6908fb7b7a500a70edb314b4830a18ed02a6b0f8#l120], which sees that ?o is not used inside the block of the filter and thus (in this case incorrectly) deduces that it could never be <urn:x1>.



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