Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.20.0
-
None
Description
The operands of various JSON functions are not validated correctly.
Consider for instance the JSON_VALUE function and the following calls:
json_value('{\"foo\":100}', 'strict $.foo')" json_value(1, 'strict $.foo')" json_value(TRUE, 'strict $.foo')"
The first call is legal but the next are not; if I am not wrong the operands should be always CHAR or VARCHAR literals which is not the case above.
Queries involving such calls fail at runtime when compiling generated code. I guess that such kind of problems should be captured by the validator and we should not even arrive at the code generation step.
The problems can be easily reproduced by adding such calls in the SqlOperatorBaseTest.
The problem does not only affect JSON_VALUE but other JSON functions (such as JSON_QUERY etc.) as well.
Attachments
Issue Links
- is related to
-
CALCITE-2869 JSON data type support
- Open
- links to