From cd5052f1794a3e88e35d725b1c2a58344590ec1c Mon Sep 17 00:00:00 2001 From: wenshao Date: Sun, 3 Feb 2013 18:35:26 +0800 Subject: [PATCH] sql parser refactor, rename field --- .../oracle/parser/OracleExprParser.java | 60 +++++++++++++++---- 1 file changed, 49 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleExprParser.java b/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleExprParser.java index 08d42327dd..fea691cea9 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleExprParser.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleExprParser.java @@ -80,20 +80,58 @@ public class OracleExprParser extends SQLExprParser { + + + + + + + + public boolean allowStringAdditive = false; /** * @formatter:off */ - private static final String[] _aggregateFunctions = { // - "AVG", "CORR", "COVAR_POP", "COVAR_SAMP", "COUNT", // - "CUME_DIST", "DENSE_RANK", "FIRST", "FIRST_VALUE", // - "LAG", "LAST", "LAST_VALUE", "LEAD", "MAX", "MIN", // - "NTILE", "PERCENT_RANK", "PERCENTILE_CONT", "PERCENTILE_DISC", "RANK", // - "RATIO_TO_REPORT", "REGR_SLOPE", "REGR_INTERCEPT", "REGR_COUNT", "REGR_R2", // - "REGR_AVGX", "REGR_AVGY", "REGR_SXX", "REGR_SYY", "REGR_SXY", // - "ROW_NUMBER", "STDDEV", "STDDEV_POP", "STDDEV_SAMP", "SUM", // - "VAR_POP", "VAR_SAMP", "VARIANCE" // + private static final String[] AGGREGATE_FUNCTIONS = { + "AVG", // + "CORR", // + "COVAR_POP", // + "COVAR_SAMP", // + "COUNT", // + "CUME_DIST", // + "DENSE_RANK", // + "FIRST", // + "FIRST_VALUE", // + "LAG", // + "LAST", // + "LAST_VALUE", // + "LEAD", // + "MAX", // + "MIN", // + "NTILE", // + "PERCENT_RANK", // + "PERCENTILE_CONT", // + "PERCENTILE_DISC", // + "RANK", // + "RATIO_TO_REPORT", // + "REGR_SLOPE", // + "REGR_INTERCEPT", // + "REGR_COUNT", // + "REGR_R2", // + "REGR_AVGX", // + "REGR_AVGY", // + "REGR_SXX", // + "REGR_SYY", // + "REGR_SXY", // + "ROW_NUMBER", // + "STDDEV", // + "STDDEV_POP", // + "STDDEV_SAMP", // + "SUM", // + "VAR_POP", // + "VAR_SAMP", // + "VARIANCE" // }; public OracleExprParser(Lexer lexer){ @@ -229,8 +267,8 @@ public class OracleExprParser extends SQLExprParser { } public boolean isAggreateFunction(String word) { - for (int i = 0; i < _aggregateFunctions.length; ++i) { - if (_aggregateFunctions[i].compareToIgnoreCase(word) == 0) { + for (int i = 0; i < AGGREGATE_FUNCTIONS.length; ++i) { + if (AGGREGATE_FUNCTIONS[i].compareToIgnoreCase(word) == 0) { return true; } }