You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Eetu Mäkelä (JIRA)" <ji...@apache.org> on 2014/10/30 10:20:33 UTC

[jira] [Created] (JENA-809) TransformExtendCombine breaks BINDs inside SERVICE

Eetu Mäkelä created JENA-809:
--------------------------------

             Summary: TransformExtendCombine breaks BINDs inside SERVICE
                 Key: JENA-809
                 URL: https://issues.apache.org/jira/browse/JENA-809
             Project: Apache Jena
          Issue Type: Bug
          Components: ARQ
    Affects Versions: Jena 2.12.1
            Reporter: Eetu Mäkelä


Optimization breaks BIND expressions in some situations since TransformExtendCombine was enabled in commit 4e5fe9a20d1531430ab96cb2ab9694aed9a9538b (culprit found using git bisect). I don't know exactly when or why this happens, but I hit upon this while using SERVICE. I've been able to create the following minimal example.

For the query:
{code}
SELECT * {
 SERVICE <> {
    BIND(1 AS ?foo)
    BIND(2 AS ?bar)
 }
}
{code}
qparse --explain for 2.12.0 returns:
{code}
(service <file:///home/jiemakel/qf>
  (extend ((?foo 1) (?bar 2))
    (table unit)))
{code}
which works fine, while for 2.12.1 it returns:
{code}
(service <file:///home/jiemakel/qf>
  (extend ((?bar 2))
    (extend ((?foo 1) (?bar 2))
      (table unit))))
{code}
which binds ?bar twice, and fails with {{BIND: Variable used when already in-scope: ?bar in BIND(2 AS ?bar)}}



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