Skip to content

Commit 2d0bca0

Browse files
committed
fix: view name parse issue
npe when no database selected
1 parent 25dbe7c commit 2d0bca0

File tree

3 files changed

+4
-3
lines changed

3 files changed

+4
-3
lines changed

src/main/java/com/actiontech/dble/meta/ViewMetaParser.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ public String getViewName() {
7373
continue;
7474
case '/':
7575
offset = ParseUtil.comment(originalSql, offset);
76-
offset++;
7776
break;
7877
case 'a':
7978
offset = offset + 5;

src/main/java/com/actiontech/dble/route/parser/druid/impl/ddl/DruidAlterViewParser.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ public class DruidAlterViewParser extends DruidImplicitCommitParser {
3131
@Override
3232
public SchemaConfig doVisitorParse(SchemaConfig schema, RouteResultset rrs, SQLStatement stmt, ServerSchemaStatVisitor visitor, ShardingService service, boolean isExplain) throws SQLException {
3333
String sql = rrs.getStatement();
34-
vm = new ViewMeta(schema.getName(), sql, ProxyMeta.getInstance().getTmManager());
34+
String schemaName = schema == null ? null : schema.getName();
35+
vm = new ViewMeta(schemaName, sql, ProxyMeta.getInstance().getTmManager());
3536
vm.init();
3637
checkSchema(vm.getSchema());
3738
PlanNode oldViewNode = ProxyMeta.getInstance().getTmManager().getSyncView(vm.getSchema(), vm.getViewName());

src/main/java/com/actiontech/dble/route/parser/druid/impl/ddl/DruidCreateOrReplaceViewParser.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ public class DruidCreateOrReplaceViewParser extends DruidImplicitCommitParser {
3232
@Override
3333
public SchemaConfig doVisitorParse(SchemaConfig schema, RouteResultset rrs, SQLStatement stmt, ServerSchemaStatVisitor visitor, ShardingService service, boolean isExplain) throws SQLException {
3434
String sql = rrs.getStatement();
35-
vm = new ViewMeta(schema.getName(), sql, ProxyMeta.getInstance().getTmManager());
35+
String schemaName = schema == null ? null : schema.getName();
36+
vm = new ViewMeta(schemaName, sql, ProxyMeta.getInstance().getTmManager());
3637
vm.init();
3738
SQLCreateViewStatement createViewStatement = (SQLCreateViewStatement) stmt;
3839
checkSchema(vm.getSchema());

0 commit comments

Comments
 (0)