Skip to content

druid 解析sql,如果sql中含有JSON_TABLE函数,会导致解析出来的sql错误 #4916

@ocean-wll

Description

@ocean-wll

druid版本:1.2.11
原始sql:SELECT people.*
FROM t1,
JSON_TABLE(json_col, '$.people[*]' COLUMNS (
name VARCHAR(40) PATH '$.name',
address VARCHAR(100) PATH '$.address')
) people;
问题代码:com.alibaba.druid.sql.dialect.mysql.ast.expr.MySqlJSONTableExpr 的 toString()

image

问题描述:想通过druid解析sql代码实例如下:
SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, dbType); final List<SQLStatement> sqlStatements = parser.parseStatementList();

发现当sql中含有 JSON_TABLE 会导致解析后的sql缺少一个逗号,执行时直接抛异常。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions