-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Domain Model
-
Labels:None
The BNF in these two sections do not agree. 2.10.2.1 requires double-quote characters around <text search expression>, while the BNF in 2.10.2.4.3 does not, although the text of 2.10.2.4.3 requires it:
<text search predicate> ::= CONTAINS "(" [ <qualifier> "," ] '"'<text search expression> '"' ")"
BNF grammar structure:: CONTAINS ( [ <qualifier> ,] <text search expression> )
The <text search expression> parameter MUST be a character string literal in quotes...
Also, text says "Within a word or phrase, each double quote must also be escaped by a preceding backslash "\". This is confusing. How does this interact with the escaping defined in 2.10.3, as a phrase must be delimited by <quote>, and the entire <text search expression> is in quotes. So what is this:
CONTAINS( "word \"my \"phrase\" is \"what\"")
This could be parsed in a few different ways (some of which are illegal) - it is not possible to tell what in the above is a word containing a quote or a phrase delimited with quotes and containing a quote. Or are you supposed to double-escape the quotes (and escapes) within a <phrase>, so you can parse the difference between which quotes are doing what function? As in:
CONTAINS( "word \"my \\\"phrase\\\" is \\\"what\"")