sql wall support REFRESH MATERIALIZED VIEW

This commit is contained in:
shaojin.wensj
2022-10-22 22:50:11 +08:00
parent b50707f700
commit c8173f2a5b
4 changed files with 15 additions and 1 deletions
@@ -223,6 +223,13 @@ public class OracleStatementParser extends SQLStatementParser {
continue;
}
if (lexer.identifierEquals("REFRESH")) {
SQLStatement stmt = parseRefresh();
stmt.setParent(parent);
statementList.add(stmt);
continue;
}
if (lexer.token() == Token.CONTINUE) {
lexer.nextToken();
OracleContinueStatement stmt = new OracleContinueStatement();
@@ -2643,7 +2643,9 @@ public class WallVisitorUtils {
denyMessage = "block statement not allow";
errorCode = ErrorCode.BLOCK_NOT_ALLOW;
} else if (x instanceof SQLExplainStatement
|| x instanceof MySqlOptimizeStatement) {
|| x instanceof MySqlOptimizeStatement
|| x instanceof SQLRefreshMaterializedViewStatement
) {
allow = true;
errorCode = 0;
denyMessage = null;
@@ -28,6 +28,10 @@ public class OracleWallResourceTest extends PGTest {
exec_test("bvt/wall/oracle/oracle-01.sql");
}
public void test_2() throws Exception {
exec_test("bvt/wall/oracle/oracle-02.sql");
}
public void exec_test(String resource) throws Exception {
String sql = TestUtil.getResource(resource);
OracleWallProvider provider = new OracleWallProvider();
@@ -0,0 +1 @@
REFRESH MATERIALIZED VIEW V1