diff --git a/src/main/java/com/actiontech/dble/meta/ViewMeta.java b/src/main/java/com/actiontech/dble/meta/ViewMeta.java index 578264506..eda54cdb9 100644 --- a/src/main/java/com/actiontech/dble/meta/ViewMeta.java +++ b/src/main/java/com/actiontech/dble/meta/ViewMeta.java @@ -71,6 +71,10 @@ public class ViewMeta { viewParser.parseCreateView(this); try { + if ("".equals(viewName)) { + throw new Exception("sql not supported "); + } + DbleServer.getInstance().getTmManager().addMetaLock(schema, viewName); //check if the select part has diff --git a/src/main/java/com/actiontech/dble/meta/ViewMetaParser.java b/src/main/java/com/actiontech/dble/meta/ViewMetaParser.java index 5a92a2456..b97e92b70 100644 --- a/src/main/java/com/actiontech/dble/meta/ViewMetaParser.java +++ b/src/main/java/com/actiontech/dble/meta/ViewMetaParser.java @@ -91,6 +91,8 @@ public class ViewMetaParser { return originalSql.substring(viewNameStat, offset); } } + } else { + return ""; } } } diff --git a/src/test/java/com/actiontech/dble/parser/ViewMetaParserTest.java b/src/test/java/com/actiontech/dble/parser/ViewMetaParserTest.java index bebe9a336..c87d016cc 100644 --- a/src/test/java/com/actiontech/dble/parser/ViewMetaParserTest.java +++ b/src/test/java/com/actiontech/dble/parser/ViewMetaParserTest.java @@ -38,6 +38,17 @@ public class ViewMetaParserTest { } + @Test + public void getViewNodeSupportTest() { + ViewMetaParser x = new ViewMetaParser("create or replace ALGORITHM = MERGE view x_xx__xx(id,name)as select * from suntest"); + Assert.assertEquals("", x.getViewName()); + x = new ViewMetaParser("create or replace DEFINER = CURRENT_USER view x_xx__xx(id,name)as select * from suntest"); + Assert.assertEquals("", x.getViewName()); + x = new ViewMetaParser("create or replace SQL SECURITY DEFINER view x_xx__xx(id,name)as select * from suntest"); + Assert.assertEquals("", x.getViewName()); + + } + @Test public void parseTotalTest() { ViewMetaParser x = new ViewMetaParser(" create or replace view x_xx__xx(id,name)as select * from suntest");