You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Claude Warren (JIRA)" <ji...@apache.org> on 2017/06/24 21:54:02 UTC
[jira] [Resolved] (JENA-1365) QueryBuilder can build an invalid
union-of-one query.
[ https://issues.apache.org/jira/browse/JENA-1365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claude Warren resolved JENA-1365.
---------------------------------
Resolution: Fixed
Fix Version/s: Jena 3.4.0
Updates completed and tested
> QueryBuilder can build an invalid union-of-one query.
> -----------------------------------------------------
>
> Key: JENA-1365
> URL: https://issues.apache.org/jira/browse/JENA-1365
> Project: Apache Jena
> Issue Type: Bug
> Components: QueryBuilder
> Affects Versions: Jena 3.3.0
> Reporter: Claude Warren
> Assignee: Claude Warren
> Fix For: Jena 3.4.0
>
>
> From email chain betwen Claude and Andy
> is the union-of-one still legal during the construction of the query?
> Its illegal in a query - UNION is
> {..} UNION {..} UNION {..}
> The
> expected usage in the builder is:
> {noformat}
> builder.addUnion( <select-type-statement> ).addUnion(
> <select-type-statement>)
> {noformat}
> Currently the code builds a union-of-one and adds the next union to it.
> check to ensure that a union-of-one is not generated in the
> final result.
> At a minimum it an error to generate a union of one.
> So either, throw an expection or generate "{ pattern }" (including inside {}) which is the moral equivalent.
> IMO The second is nicer. Tat is what I changed the formatter to do so at least it generated something even if it is changing the query a bit (round trip checking will fail but then it fails currently as it can't be parsed at all)
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)