Claude Warren created JENA-1365:
-----------------------------------
Summary: 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
>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)