/ 详情

[初级] PG Prepare语句解析代码优化

Backlog
Opened this issue  
2021-05-12 17:03

目标

PostgreSQLDDLStatementSQLVisitor、PostgreSQLPrepareStatement、PrepareStatementContext

简介

PG Prepare语句定义如下:

prepare
    : PREPARE name prepTypeClause? AS preparableStmt
    ;

preparableStmt
    : select
    | insert
    | update
    | delete
    ;

从Prepare语句定义中,我们可以知道,select、insert、update、delete子句只会存在一种分支,因此将Prepare语句解析成PrepareStatement时,只需要定义统一的SQLStatement类型字段即可。

步骤

将PrepareStatement字段定义统一修改为:

private SQLStatement statement;

然后对应修改PostgreSQLDDLStatementSQLVisitor类visitPrepare(),调整解析逻辑。
同时修改PrepareStatementContext中提取表逻辑。

Comments (0)

端小强 created任务
端小强 changed description
展开全部操作日志

Sign in to comment

状态
Assignees
Milestones
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
Branches
Planed to start   -   Planed to end
-
Top level
Priority
参与者(1)
1418908 strongduanmu 1612666890