[ https://issues.apache.org/jira/browse/PHOENIX-7641?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Viraj Jasani updated PHOENIX-7641: ---------------------------------- Fix Version/s: 5.3.0 > Support placeholder for document field keys in BSON condition expression > ------------------------------------------------------------------------ > > Key: PHOENIX-7641 > URL: https://issues.apache.org/jira/browse/PHOENIX-7641 > Project: Phoenix > Issue Type: Improvement > Reporter: Viraj Jasani > Priority: Major > Fix For: 5.3.0 > > > BSON supports various non-alphanumeric values as document field keys which > are case sensitive. Not all can be used in the BSON_CONDITION_EXPRESSION() > antlr grammar as the field key can have duplicate meaning with operator. e.g. > ">" is valid field key, therefore condition expression "> > :val" is valid > because the expression tries to evaluate whether the value of ">" key is > greater than the value represented by ":val" value placeholder. However, the > antlr grammar needs to recognize ">" as only "greater-than" symbol to avoid > ambiguity. > For complex key names like this, it is recommended to provide them as key > alias placeholders as part of the condition expression document argument, > which already consists of value alias placeholders. > Example: > {code:java} > { > "$EXPR": "#press = :press AND #track[0].#shot[2][0].#city.#standard[50] = > :softly", > "$VAL": { > ":press": "beat", > ":softly": "softly" > }, > "$KEYS": { > "#press": "press", > "#track": "track", > "#shot": "shot", > "#city": "city", > "#standard": "standard" > } > } {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)