diff --git a/sqlTranslate/.idea/workspace.xml b/sqlTranslate/.idea/workspace.xml
index c3f62bc4..34de1c72 100644
--- a/sqlTranslate/.idea/workspace.xml
+++ b/sqlTranslate/.idea/workspace.xml
@@ -6,7 +6,6 @@
-
@@ -40,18 +39,18 @@
- {
+ "keyToString": {
+ "RunOnceActivity.OpenProjectViewOnStart": "true",
+ "RunOnceActivity.ShowReadmeOnStart": "true",
+ "SHARE_PROJECT_CONFIGURATION_FILES": "true",
+ "last_opened_file_path": "F:/oracle2opengauss/examples/sqlTranslate",
+ "project.structure.last.edited": "模块",
+ "project.structure.proportion": "0.0",
+ "project.structure.side.proportion": "0.0",
+ "settings.editor.selected.configurable": "build.tools"
}
-}]]>
+}
@@ -190,7 +189,14 @@
1724419179050
-
+
+ 1724423798948
+
+
+
+ 1724423798948
+
+
@@ -215,4 +221,11 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sqlTranslate/src/main/java/Parser/AST/ASTNode.java b/sqlTranslate/src/main/java/Parser/AST/ASTNode.java
index 4f22066b..a68223ee 100644
--- a/sqlTranslate/src/main/java/Parser/AST/ASTNode.java
+++ b/sqlTranslate/src/main/java/Parser/AST/ASTNode.java
@@ -115,4 +115,10 @@ public abstract class ASTNode {
}
return str;
}
+
+ public String getASTString() {
+ String str = "";
+ // TODO: implement
+ return str;
+ }
}
diff --git a/sqlTranslate/src/main/java/Parser/OracleParser.java b/sqlTranslate/src/main/java/Parser/OracleParser.java
index caff544f..8c3c54cb 100644
--- a/sqlTranslate/src/main/java/Parser/OracleParser.java
+++ b/sqlTranslate/src/main/java/Parser/OracleParser.java
@@ -36,10 +36,12 @@ public class OracleParser {
List tokens = new ArrayList<>();
tokens.add(lexer.getTokens().get(0));
ASTNode root = new CreateTabNode(tokens);
- ASTNode currentNode = root;
+ ASTNode currentNode = null;
for (int i = 1; i < lexer.getTokens().size(); i++) {
+// System.out.println("Parsing the token: " + lexer.getTokens().get(i).getValue());
if (i == 1 && lexer.getTokens().get(i).getValue().equalsIgnoreCase("TABLE")) {
- tokens.clear();
+ tokens = new ArrayList<>();
+
tokens.add(lexer.getTokens().get(i));
try {
tokens.add(lexer.getTokens().get(i + 1));
@@ -53,14 +55,14 @@ public class OracleParser {
currentNode = child;
}
else if (i == 1 && !lexer.getTokens().get(i).getValue().equalsIgnoreCase("TABLE")){
- tokens.clear();
+ tokens = new ArrayList<>();
tokens.add(lexer.getTokens().get(i));
for (int j = i + 1; j < lexer.getTokens().size(); j++) {
if (lexer.getTokens().get(j).getValue().equalsIgnoreCase("TABLE")) {
ASTNode child = new TableTypeNode(tokens);
root.addChild(child);
currentNode = child;
- tokens.clear();
+ tokens = new ArrayList<>();
tokens.add(lexer.getTokens().get(j));
try {
tokens.add(lexer.getTokens().get(j + 1));
@@ -80,7 +82,7 @@ public class OracleParser {
}
else if (lexer.getTokens().get(i).hasType(Token.TokenType.IDENTIFIER)) {
// Token.TokenType.IDENTIFIER ... , -> column node
- tokens.clear();
+ tokens = new ArrayList<>();
ColumnNode child = new ColumnNode();
child.setName(lexer.getTokens().get(i));
tokens.add(lexer.getTokens().get(i));
@@ -136,7 +138,7 @@ public class OracleParser {
else if (lexer.getTokens().get(i).hasType(Token.TokenType.KEYWORD)
&& lexer.getTokens().get(i).getValue().equalsIgnoreCase("CONSTRAINT")) {
// Table constraint
- tokens.clear();
+ tokens = new ArrayList<>();
tokens.add(lexer.getTokens().get(i));
for (int j = i + 1; j < lexer.getTokens().size(); j++) {
tokens.add(lexer.getTokens().get(j));
@@ -185,7 +187,7 @@ public class OracleParser {
}
else {
- throw new ParseFailedException("Parse failed!");
+// throw new ParseFailedException("Parse failed!");
}
}
return root;