druid PGExprParser解析字符串不正确

rnmwe5a2  于 2021-11-27  发布在  Java
关注(0)|答案(0)|浏览(216)

重现问题的代码:

PGExprParser parser = new PGExprParser("select '\\', '\\t', E'\\t'");
    System.out.println(parser.primary());
    System.out.println(parser.primary());

在 PostgreSQL 命令行中运行这条 SQL 的结果:

psql (11.11 (Debian 11.11-1.pgdg90+1))
Type "help" for help.

postgres=# select '\', '\t', E'\t';
 ?column? | ?column? | ?column?
----------+----------+----------
 \        | \t       |
(1 row)

PostgreSQL 文档中所说:

而 PGLexer 的 scanString 方法在对待普通字符串时也像对待 E 开头的 String Constants with C-style Escapes 一样试图转义 '' 导致出错。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题