You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Paolo Castagna (JIRA)" <ji...@apache.org> on 2011/08/25 19:07:29 UTC

[jira] [Updated] (JENA-90) Use OpReduce instead of OpDistinct for DISTINCT + ORDER BY queries

     [ https://issues.apache.org/jira/browse/JENA-90?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paolo Castagna updated JENA-90:
-------------------------------

    Attachment: ARQ_JENA-90_r1159636.patch

This is a first attempt which I am sharing for feedback (now, more testing is necessary... after the lesson learned from JENA-89 :-)).

Another option would have been to replace distinct with reduce via an algebra transformation and used the QueryIterDistinctSort in OpExecutor.execute(OpReduced, ...) method instead. But I did not see advantages in doing so, unless we want to control the optimization via a symbol.

Both are reasonable and very simple... and the tests will be the same.

> Use OpReduce instead of OpDistinct for DISTINCT + ORDER BY queries
> ------------------------------------------------------------------
>
>                 Key: JENA-90
>                 URL: https://issues.apache.org/jira/browse/JENA-90
>             Project: Jena
>          Issue Type: Improvement
>          Components: ARQ
>            Reporter: Paolo Castagna
>            Assignee: Paolo Castagna
>            Priority: Trivial
>              Labels: arq, optimizer, sparql
>         Attachments: ARQ_JENA-90_r1159636.patch
>
>
> ARQ's optimizer could use an OpReduce instead of OpDistinct if a query is DISTINCT + ORDER BY.
> OpReduce removes adjacent duplicates and it does not require a set of already seen bindings as the current OpDistinct implementation does.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira