From c729d3d5cf598949c4a4998ee51e20fc3eea8990 Mon Sep 17 00:00:00 2001 From: wenshao Date: Thu, 13 Oct 2011 10:24:06 +0000 Subject: [PATCH] =?UTF-8?q?Oracle=20Parser=E6=94=AF=E6=8C=81Model=20Clause?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://code.alibabatech.com/svn/druid/trunk@953 b9813039-fb51-4c41-a8b9-e21c2acb5095 --- .../druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java | 2 ++ .../java/com/alibaba/druid/bvt/sql/oracle/OracleAnyTest.java | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java b/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java index ec6d6e08cd..ad006a9b9a 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java @@ -1212,6 +1212,7 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS public boolean visit(ModelClause x) { print("MODEL"); + incrementIndent(); for (CellReferenceOption opt : x.getCellReferenceOptions()) { print(' '); print(opt.name); @@ -1228,6 +1229,7 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS } x.getMainModel().accept(this); + decrementIndent(); return false; } diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAnyTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAnyTest.java index 053564f1a7..b450423acc 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAnyTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAnyTest.java @@ -15,8 +15,8 @@ public class OracleAnyTest extends TestCase { + "ORDER BY country, prod, year;"; String expect = "SELECT country, prod, YEAR, s\n" + "FROM sales_view\n" + "MODEL\n" - + "PARTITION BY (country)\n" + "DIMENSION BY (prod, YEAR)\n" + "MEASURES (sale s)\n" - + "IGNORE NAV\n" + "UNIQUE DIMENSION\n" + "RULES UPSERT SEQUENTIAL ORDER (s[ANY, 2000] = 0)\n" + + "\tPARTITION BY (country)\n" + "\tDIMENSION BY (prod, YEAR)\n" + "\tMEASURES (sale s)\n" + + "\tIGNORE NAV\n" + "\tUNIQUE DIMENSION\n" + "\tRULES UPSERT SEQUENTIAL ORDER (s[ANY, 2000] = 0)\n" + "ORDER BY country, prod, YEAR;\n"; OracleStatementParser parser = new OracleStatementParser(sql);