Skip to main content

[jsr338-experts] BNF question: how to parse the example containing KEY, VALUE (and LIKE)

  • From: Christian Romberg <cromberg@...>
  • To: jsr338-experts@...
  • Subject: [jsr338-experts] BNF question: how to parse the example containing KEY, VALUE (and LIKE)
  • Date: Mon, 19 Mar 2012 14:54:51 +0100

Dear group,

While investigating how to parse queries like this (all page/chapter references refer to EDR 2.1, Dec 19th, 2011):

SELECT p
FROM Person p, in(pc.firstnames) n
WHERE n = 'Joe'

(firstnames is a List<String>)

I came across the following example provided in the spec, which is related in structure:

section 4.4.4, p. 153:

SELECT i.name, VALUE(p)
FROM Item i JOIN i.photos p
WHERE KEY(p) LIKE ‘%egret’

I looked at the BNF how this is parsed, and did not find any derivation for the FROM clause:

where_clause ::= WHERE conditional_expression
conditional_expression ::= conditional_term
conditional_term ::= conditional_factor
conditional_factor ::= conditional_primary
conditional_primary ::= simple_cond_expression
simple_cond_expression ::= like_expression
like_expression ::= string_expression LIKE pattern_value

So eventually I end up with 'string_expression', from which I can not derive a 'qualified_identification_variable'

string_expression ::=
state_field_path_expression |
string_literal |
input_parameter |
functions_returning_strings |
aggregate_expression |
case_expression |
function_invocation |
(subquery)

Did I miss something, or is there actually a rule missing in the grammar for this?

Thank you!

Christian


--
Christian Romberg
Chief Engineer | Versant GmbH
(T) +49 40 60990-0
(F) +49 40 60990-113
(E) cromberg@...
www.versant.com | www.db4o.com

--
Versant
GmbH is incorporated in Germany. Company registration number: HRB
54723, Amtsgericht Hamburg. Registered Office: Halenreie 42, 22359
Hamburg, Germany. Geschäftsführer: Bernhard Wöbker, Volker John


CONFIDENTIALITY
NOTICE: This e-mail message, including any attachments, is for the sole
use of the intended recipient(s) and may contain confidential or
proprietary information. Any unauthorized review, use, disclosure or
distribution is prohibited. If you are not the intended recipient,
immediately contact the sender by reply e-mail and destroy all copies of
the original message.






[jsr338-experts] BNF question: how to parse the example containing KEY, VALUE (and LIKE)

Christian Romberg 03/19/2012

[jsr338-experts] Re: BNF question: how to parse the example containing KEY, VALUE (and LIKE)

Linda DeMichiel 03/19/2012

[jsr338-experts] Re: BNF question: how to parse the example containing KEY, VALUE (and LIKE)

Michael Bouschen 03/19/2012

[jsr338-experts] Re: BNF question: how to parse the example containing KEY, VALUE (and LIKE)

Linda DeMichiel 03/19/2012

[jsr338-experts] Re: BNF question: how to parse the example containing KEY, VALUE (and LIKE)

Michael Bouschen 03/22/2012

[jsr338-experts] Re: BNF question: how to parse the example containing KEY, VALUE (and LIKE)

Linda DeMichiel 03/23/2012

[jsr338-experts] Re: BNF question: how to parse the example containing KEY, VALUE (and LIKE)

Michael Bouschen 03/26/2012

[jsr338-experts] Re: BNF question: how to parse the example containing KEY, VALUE (and LIKE)

Linda DeMichiel 03/26/2012

[jsr338-experts] Re: BNF question: how to parse the example containing KEY, VALUE (and LIKE)

Christian Romberg 03/27/2012

[jsr338-experts] Re: BNF question: how to parse the example containing KEY, VALUE (and LIKE)

Linda DeMichiel 03/27/2012

[jsr338-experts] Re: BNF question: how to parse the example containing KEY, VALUE (and LIKE)

Christian Romberg 03/28/2012
 
 
Close
loading
Please Confirm
Close