Am 21.01.10 21:54, schrieb Andrus Adamchik:

On Jan 21, 2010, at 10:38 PM, Andrey Razumovsky wrote:

So, following specification, this cannot be performed anyhow?

No. But the idea I guess is that pattern is not another column value. It
is always a literal.

Yes, the tutorial emphasizes this: "The pattern value is a string literal that may contain wildcard characters."

http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/EJBQL5.html

I find this restriction rather strange, but maybe the authors couldn't think of a reasonable real-world scenario which requires a dynamically generated pattern.

-- Andreas




I agree subselects in LIKE is not good, then maybe let's change that to
input_parameter() | string_literal() | functions_returning_strings() ?
Specification does not say what to do if right part is not input
parameter
or string literal. So is it really bad if we do more than specification
says?

I think it doesn't buy us much. LIKE is a rather special case IMO, and
this is reflected in the spec.

Another weird thing is that pattern_value() unlike other expressions
is not
described in BNF on pages 109-112..

True. It is described in the text only. The EJBQL BNF is rather sketchy
in some parts.

Andrus




--
Andreas Hartmann, CTO
BeCompany GmbH
http://www.becompany.ch
Tel.: +41 (0) 43 818 57 01

Reply via email to