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)

Reply via email to