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 2013/10/28 21:29:32 UTC

[jira] [Created] (JENA-577) TDB detects attempt to reassign a variable.

Andy Seaborne created JENA-577:
----------------------------------

             Summary: TDB detects attempt to reassign a variable.
                 Key: JENA-577
                 URL: https://issues.apache.org/jira/browse/JENA-577
             Project: Apache Jena
          Issue Type: Bug
          Components: ARQ, TDB
    Affects Versions: Jena 2.11.0
            Reporter: Andy Seaborne
            Assignee: Andy Seaborne
         Attachments: DevMain.java

With TDB, but not with a general in-memory dataset, a query of the form:

{noformat}
PREFIX  :     <http://example/>

SELECT  *
WHERE
  { ?x :p 123
    { SELECT  ?x
      WHERE
        { ?x :p ?o }
    }
  }
{noformat}
(key feature: projection from the subsquery)
causes an 

{noformat}
20:24:32 ERROR QueryIteratorCloseable    :: QueryFatalException
com.hp.hpl.jena.sparql.ARQInternalErrorException: Attempt to reassign '?x' from '<http://example/x>' to '<http://example/x>'
	at com.hp.hpl.jena.sparql.engine.binding.BindingHashMap.checkAdd(BindingHashMap.java:111)
	at com.hp.hpl.jena.sparql.engine.binding.BindingHashMap.add(BindingHashMap.java:92)
	at com.hp.hpl.jena.sparql.engine.binding.BindingFactory.materialize(BindingFactory.java:60)
	at com.hp.hpl.jena.tdb.solver.QueryEngineTDB$QueryIteratorMaterializeBinding.moveToNextBinding(QueryEngineTDB.java:132)
	at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.nextBinding(QueryIteratorBase.java:154)
{noformat}

Looking at the optimized algebra, TDB is correct.



--
This message was sent by Atlassian JIRA
(v6.1#6144)