public static ShowResultSet execute(ShowStmt statement, ConnectContext context) {
        return GlobalStateMgr.getCurrentState().getShowExecutor().showExecutorVisitor.visit(statement, context);
    }
@Test
    public void testShowDataCacheRules() throws DdlException, AnalysisException {
        DataCacheMgr dataCacheMgr = DataCacheMgr.getInstance();
        dataCacheMgr.createCacheRule(QualifiedName.of(ImmutableList.of("test1", "test1", "test1")), null, -1, null);

        Map<String, String> properties = new HashMap<>();
        properties.put("hello", "world");
        properties.put("ni", "hao");
        StringLiteral stringLiteral = new StringLiteral("hello");
        dataCacheMgr.createCacheRule(QualifiedName.of(ImmutableList.of("test2", "test2", "test2")),
                stringLiteral, -1, properties);

        ShowDataCacheRulesStmt stmt = new ShowDataCacheRulesStmt(NodePosition.ZERO);

        ShowResultSet resultSet = ShowExecutor.execute(stmt, ctx);
        List<String> row1 = resultSet.getResultRows().get(0);
        List<String> row2 = resultSet.getResultRows().get(1);
        Assert.assertEquals("[0, test1, test1, test1, -1, NULL, NULL]", row1.toString());
        Assert.assertEquals("[1, test2, test2, test2, -1, 'hello', \"hello\"=\"world\", \"ni\"=\"hao\"]", row2.toString());
    }