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