mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
improved oracle parser, fix #4138
This commit is contained in:
@@ -620,7 +620,8 @@ public class OracleSelectParser extends SQLSelectParser {
|
||||
tableSource = new OracleSelectSubqueryTableSource(select());
|
||||
} else if (lexer.token() == Token.LPAREN) {
|
||||
tableSource = (OracleSelectTableSource) parseTableSource();
|
||||
} else if (lexer.token() == Token.IDENTIFIER) {
|
||||
} else if (lexer.token() == Token.IDENTIFIER
|
||||
|| lexer.token() == Token.LITERAL_ALIAS) {
|
||||
SQLTableSource identTable = parseTableSource();
|
||||
accept(Token.RPAREN);
|
||||
parsePivot((OracleSelectTableSource) identTable);
|
||||
|
||||
@@ -271,7 +271,11 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS
|
||||
|
||||
if (right instanceof SQLJoinTableSource) {
|
||||
print('(');
|
||||
incrementIndent();
|
||||
println();
|
||||
right.accept(this);
|
||||
decrementIndent();
|
||||
println();
|
||||
print(')');
|
||||
} else {
|
||||
right.accept(this);
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
SELECT *
|
||||
FROM "CUSTOM_LABEL" "cl"
|
||||
LEFT JOIN ( "CUSTOM_LABEL_BAK" "clb"
|
||||
LEFT JOIN "DATA_SOURCE_INFO" "dsi" ON "clb"."CUSTOM_LABEL_VALUE" = "dsi"."REMARK"
|
||||
) ON "cl"."ACCURACY_TYPE" = "clb"."CUSTOM_LABEL_NAME"
|
||||
---------------------------
|
||||
SELECT *
|
||||
FROM "CUSTOM_LABEL" "cl"
|
||||
LEFT JOIN (
|
||||
"CUSTOM_LABEL_BAK" "clb"
|
||||
LEFT JOIN "DATA_SOURCE_INFO" "dsi" ON "clb"."CUSTOM_LABEL_VALUE" = "dsi"."REMARK"
|
||||
) ON "cl"."ACCURACY_TYPE" = "clb"."CUSTOM_LABEL_NAME"
|
||||
Reference in New Issue
Block a user