improved sql parser.

This commit is contained in:
wenshao
2017-07-20 01:50:02 +08:00
parent 80bf7f3d4c
commit 82fe08109f
23 changed files with 577 additions and 45 deletions
@@ -58,4 +58,17 @@ public class OracleDataTypeIntervalDay extends SQLDataTypeImpl implements Oracle
return fractionalSeconds;
}
public OracleDataTypeIntervalDay clone() {
OracleDataTypeIntervalDay x = new OracleDataTypeIntervalDay();
super.cloneTo(x);
for (SQLExpr arg : fractionalSeconds) {
arg.setParent(x);
x.fractionalSeconds.add(arg);
}
return x;
}
}
@@ -16,6 +16,7 @@
package com.alibaba.druid.sql.dialect.oracle.ast;
import com.alibaba.druid.sql.ast.SQLDataTypeImpl;
import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
@@ -38,4 +39,11 @@ public class OracleDataTypeIntervalYear extends SQLDataTypeImpl implements Oracl
visitor.endVisit(this);
}
public OracleDataTypeIntervalYear clone() {
OracleDataTypeIntervalYear x = new OracleDataTypeIntervalYear();
super.cloneTo(x);
return x;
}
}
@@ -91,6 +91,10 @@ public class OracleCreateTableParser extends SQLCreateTableParser {
lexer.nextToken();
stmt.setParallel(false);
continue;
} else if (identifierEquals("PARALLEL")) {
lexer.nextToken();
stmt.setParallel(true);
continue;
} else if (lexer.token() == Token.CACHE) {
lexer.nextToken();
stmt.setCache(Boolean.TRUE);
@@ -2053,7 +2053,7 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS
if (enable.booleanValue()) {
print0(ucase ? " ENABLE" : " enable");
} else {
print0(ucase ? " DIABLE" : " diable");
print0(ucase ? " DISABLE" : " disable");
}
}