Merge branch 'master' of github.com:AlibabaTech/druid

This commit is contained in:
axmanwang
2012-04-23 18:44:20 +08:00
6 changed files with 13 additions and 27 deletions
@@ -353,10 +353,10 @@ public class OracleExprParser extends SQLExprParser {
expr = dblink;
}
if (lexer.token() == Token.DAY || lexer.token() == Token.YEAR) {
if (identifierEquals("DAY") || identifierEquals("YEAR")) {
lexer.mark();
String name = lexer.token().name;
String name = lexer.stringVal();
lexer.nextToken();
if (lexer.token() == Token.COMMA) {
@@ -380,7 +380,7 @@ public class OracleExprParser extends SQLExprParser {
}
accept(Token.TO);
if (lexer.token() == Token.SECOND) {
if (identifierEquals("SECOND")) {
lexer.nextToken();
interval.setToType(OracleIntervalType.SECOND);
if (lexer.token() == Token.LPAREN) {
@@ -677,7 +677,7 @@ public class OracleExprParser extends SQLExprParser {
lexer.nextToken();
OracleIntervalType type = OracleIntervalType.valueOf(lexer.token().name);
OracleIntervalType type = OracleIntervalType.valueOf(lexer.stringVal());
interval.setType(type);
lexer.nextToken();
@@ -702,7 +702,7 @@ public class OracleExprParser extends SQLExprParser {
if (lexer.token() == Token.TO) {
accept(Token.TO);
if (lexer.token() == Token.SECOND) {
if (identifierEquals("SECOND")) {
lexer.nextToken();
interval.setToType(OracleIntervalType.SECOND);
if (lexer.token() == Token.LPAREN) {
@@ -100,12 +100,7 @@ public class OracleLexer extends Lexer {
map.put("COLUMN", Token.COLUMN);
map.put("CURSOR", Token.CURSOR);
map.put("DAY", Token.DAY);
map.put("YEAR", Token.YEAR);
map.put("MONTH", Token.MONTH);
map.put("MINUTE", Token.MINUTE);
map.put("SECOND", Token.SECOND);
map.put("TO", Token.TO);
map.put("MODEL", Token.MODEL);
map.put("MERGE", Token.MERGE);
@@ -208,8 +208,6 @@ public class SQLExprParser extends SQLParser {
case REFERENCE:
case KEY:
case DISTINCT:
case YEAR:
case MONTH:
case TIME:
case ZONE:
case LOG:
@@ -69,8 +69,7 @@ public class SQLParser {
return alias;
}
if (lexer.token() == Token.YEAR || lexer.token() == Token.DAY || lexer.token() == Token.KEY
|| lexer.token() == Token.CASE || lexer.token() == Token.TIMESTAMP) {
if (lexer.token() == Token.KEY || lexer.token() == Token.CASE || lexer.token() == Token.TIMESTAMP) {
alias = lexer.token.name();
lexer.nextToken();
return alias;
@@ -97,8 +96,7 @@ public class SQLParser {
} else if (lexer.token() == Token.LITERAL_CHARS) {
alias = "'" + lexer.stringVal() + "'";
lexer.nextToken();
} else if (lexer.token() == Token.YEAR || lexer.token() == Token.DAY || lexer.token() == Token.TIME
|| lexer.token() == Token.MONTH || lexer.token() == Token.CASE || lexer.token() == Token.AT
} else if (lexer.token() == Token.TIME || lexer.token() == Token.CASE || lexer.token() == Token.AT
|| lexer.token() == Token.TIMESTAMP || lexer.token() == Token.LOG) {
alias = lexer.token.name();
lexer.nextToken();
@@ -142,12 +142,7 @@ public enum Token {
EXTRACT("EXTRACT"),
TIMESTAMP("TIMESTAMP"),
DATE("DATE"),
CURSOR("SECOND"),
DAY("DAY"),
YEAR("YEAR"),
MONTH("MONTH"),
MINUTE("MINUTE"),
SECOND("SECOND"),
CURSOR("CURSOR"),
TO("TO"),
MODEL("MODEL"),
MERGE("MERGE"),
@@ -34,7 +34,7 @@ public class OraclePivotClauseTest extends TestCase {
+ "PIVOT (SUM(order_total) FOR order_mode IN ('direct' AS Store, 'online' AS Internet));\n";
String expected = "SELECT *\n"
+ "FROM (\n\tSELECT EXTRACT(YEAR FROM order_date) AS YEAR, order_mode, order_total\n"
+ "FROM (\n\tSELECT EXTRACT(YEAR FROM order_date) AS year, order_mode, order_total\n"
+ "\tFROM orders\n" + ")\n"
+ "PIVOT (SUM(order_total) FOR order_mode IN ('direct' AS Store, 'online' AS Internet));\n";
@@ -54,7 +54,7 @@ public class OraclePivotClauseTest extends TestCase {
+ "PIVOT (SUM(order_total) FOR order_mode IN ('direct' AS Store, 'online' AS Internet));\n";
String expected = "SELECT *\n"
+ "FROM (\n\tSELECT EXTRACT(YEAR FROM order_date) AS YEAR, order_mode, order_total\n"
+ "FROM (\n\tSELECT EXTRACT(YEAR FROM order_date) AS year, order_mode, order_total\n"
+ "\tFROM orders\n" + ")\n"
+ "PIVOT (SUM(order_total) FOR order_mode IN ('direct' AS Store, 'online' AS Internet));\n";
@@ -73,7 +73,7 @@ public class OraclePivotClauseTest extends TestCase {
+ "FROM (SELECT EXTRACT(YEAR FROM order_date) as day, order_mode, order_total FROM orders)\n"
+ "PIVOT (SUM(order_total) FOR order_mode IN ('direct' AS Store, 'online' AS Internet));\n";
String expected = "SELECT *\n" + "FROM (\n\tSELECT EXTRACT(YEAR FROM order_date) AS DAY, order_mode, order_total\n"
String expected = "SELECT *\n" + "FROM (\n\tSELECT EXTRACT(YEAR FROM order_date) AS day, order_mode, order_total\n"
+ "\tFROM orders\n" + ")\n"
+ "PIVOT (SUM(order_total) FOR order_mode IN ('direct' AS Store, 'online' AS Internet));\n";
@@ -93,7 +93,7 @@ public class OraclePivotClauseTest extends TestCase {
+ "PIVOT (SUM(order_total) FOR order_mode IN ('direct' AS Store, 'online' AS Internet));\n";
String expected = "SELECT *\n"
+ "FROM (\n\tSELECT EXTRACT(YEAR FROM order_date) AS DAY, order_mode AS YEAR, order_total\n"
+ "FROM (\n\tSELECT EXTRACT(YEAR FROM order_date) AS day, order_mode AS YEAR, order_total\n"
+ "\tFROM orders\n" + ")\n"
+ "PIVOT (SUM(order_total) FOR order_mode IN ('direct' AS Store, 'online' AS Internet));\n";