Skip to content

Conversation

@Cythia828
Copy link
Collaborator

修复问题

#455

修改内容

  • 支持JSON_VALUE函数的参数
    JSON_VALUE(jsonValue, path [ RETURNING type ] [ { ERROR | NULL | DEFAULT expr } ON EMPTY ] [ { ERROR | NULL | DEFAULT expr } ON ERROR ] )
  • 支持JSON_QUERY函数的参数
    JSON_QUERY(jsonValue, path [ { WITHOUT [ ARRAY ] | WITH [ CONDITIONAL | UNCONDITIONAL ] [ ARRAY ] } WRAPPER ] [ { ERROR | NULL | EMPTY ARRAY | EMPTY OBJECT } ON EMPTY ] [ { ERROR | NULL | EMPTY ARRAY | EMPTY OBJECT } ON ERROR ] )
  • 支持JSON_OBJECT 函数的参数
    JSON_OBJECT([[KEY] key VALUE value]* [ { NULL | ABSENT } ON NULL ])
  • 支持JSON_ARRAY 函数的参数
    JSON_ARRAY([value]* [ { NULL | ABSENT } ON NULL ])

参考链接

  1. https://nightlies.apache.org/flink/flink-docs-master/zh/docs/dev/table/functions/systemfunctions/#json-%E5%87%BD%E6%95%B0
  2. https://calcite.apache.org/docs/reference.html#query-functions

注意点

  1. JSON 函数只能在 JSON_OBJECT 函数中使用
  2. JSON_OBJECT、JSON_ARRAY的参数允许为空,即JSON_OBJECT()
  3. ERROR CONDITIONAL 等字符未作为关键字引入,此次修改也没有单独引入,以免导致关键字无限累加和影响用户自定义命名使用,这些字符全用uid代替

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant