[Mulgara-dev] shouldn't this work? Lucene and Subquery

David Smith DMS at viewpointusa.com
Mon Dec 22 13:13:37 UTC 2008


Thanks for looking into this... 
I wasn't sure where to start looking.

Dave S

-----Original Message-----
From: mulgara-dev-bounces at mulgara.org
[mailto:mulgara-dev-bounces at mulgara.org] On Behalf Of Life is hard, and
then you die
Sent: Monday, December 22, 2008 6:56 AM
To: Mulgara Developers
Subject: Re: [Mulgara-dev] shouldn't this work? Lucene and Subquery


I just wanted to give a quick update and let you know that this hasn't
been forgotten or ignored. In short, yes it should work.

On Fri, Dec 12, 2008 at 02:53:18PM -0500, David Smith wrote:
> Could someone please look at these queries.
> I converted them to use data from the tutorial...  you need to fix
line
> 6 (jar path)
> It seems that when I combine a lucene query and other subqueries it
> generate a Transaction error..
> 
> Tested against 2.0.7.
[snip]
> # fails
> select $s 
> subquery (
> 	select $y $z
> 	from <rmi://localhost/server1#sampledata>
> 	where
> 		$s $y $z
> )
> from <rmi://localhost/server1#sampledata>
> where
> 	$s $p $o and
> 	$s $p 'W*' in <rmi://localhost/server1#sampletext>
> ;
[snip]
> java.io.IOException: Error accessing the results of the query:
Transaction error

I haven't completely traced everything yet, but so far this looks to
be a bug in core subquery and constraint-transformation code, i.e. not
a bug with the lucene-resolver per se (though I did find a couple
issues there while digging into this).

AFAICT what's happening is that the answer returned to the app has
unresolved answer objects for its subqueries; when those subquery
answers are retrieved, it the attempts to run the subquery, at which
point the constraint-tranformations are applied to the subquery in
DatabaseOperationContext.transform(). The problem is if any symbolic
tranformation occurred, then tranform() will close the query (and
answer) and create a new one - and when the app then tries to read
anything it finds that the subquery answer has closed, leading to the
above exception.

It looks like this may be non-trivial to fix. But I need a little more
investigation. Comments from anybody who knows this code better are
appreciated.


  Cheers,

  Ronald

_______________________________________________
Mulgara-dev mailing list
Mulgara-dev at mulgara.org
http://mulgara.org/mailman/listinfo/mulgara-dev

This E-Mail may contain confidential and privileged information. It is intended solely for the recipient(s) indicated. Any review, use, or distribution by anyone other than the intended recipient(s) is strictly prohibited. If you have received this E-Mail in error or are not the intended recipient, please notify the sender and delete all copies immediately.



More information about the Mulgara-dev mailing list