forked from opengaussexamples/examples
coding
This commit is contained in:
parent
e0a1c67c1b
commit
d3779f8b3c
|
|
@ -5,9 +5,10 @@
|
|||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="d8d12963-4777-48e3-9669-309cf5e41d60" name="更改" comment="coding">
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/Document/Column constraint in Oracle" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/Document/Table constraint in Oracle" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/Generator/OpenGaussGenerator.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Generator/OpenGaussGenerator.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/Main.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Main.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/Parser/OracleParser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Parser/OracleParser.java" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
|
@ -224,7 +225,14 @@
|
|||
<option name="project" value="LOCAL" />
|
||||
<updated>1724506701566</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="18" />
|
||||
<task id="LOCAL-00018" summary="coding">
|
||||
<created>1724507228242</created>
|
||||
<option name="number" value="00018" />
|
||||
<option name="presentableId" value="LOCAL-00018" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724507228242</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="19" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="Vcs.Log.Tabs.Properties">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package Generator;
|
||||
|
||||
import Lexer.Token;
|
||||
import Parser.AST.ASTNode;
|
||||
import Parser.AST.CreateTable.ColumnNode;
|
||||
import Parser.AST.CreateTable.CreateTabNode;
|
||||
|
|
@ -35,8 +36,9 @@ public class OpenGaussGenerator {
|
|||
}
|
||||
|
||||
private void ColumnTypeConvert(ColumnNode node) {
|
||||
if (node.getType().getValue().equalsIgnoreCase("")) {
|
||||
|
||||
if (node.getType().getValue().equalsIgnoreCase("NUMBER")) {
|
||||
node.setType(new Token(Token.TokenType.KEYWORD, "NUMERIC"));
|
||||
node.ResetTokensbyNameTypeConstraint();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import Parser.OracleParser;
|
|||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
String sql = "CREATE TABLE employees (\n" +
|
||||
" employee_id NUMBER(6) PRIMARY KEY,\n" +
|
||||
" employee_id NUMBER PRIMARY KEY,\n" +
|
||||
" first_name VARCHAR2(20),\n" +
|
||||
" last_name VARCHAR2(25),\n" +
|
||||
" email VARCHAR2(25),\n" +
|
||||
|
|
|
|||
|
|
@ -90,9 +90,6 @@ public class OracleParser {
|
|||
if (j == i + 1) {
|
||||
child.setType(lexer.getTokens().get(j));
|
||||
}
|
||||
else {
|
||||
constraint.add(lexer.getTokens().get(j));
|
||||
}
|
||||
// Check () or REFERENCES other_table(other_column)
|
||||
if (lexer.getTokens().get(j).hasType(Token.TokenType.KEYWORD) &&
|
||||
(lexer.getTokens().get(j).getValue().equalsIgnoreCase("REFERENCES")
|
||||
|
|
@ -129,6 +126,9 @@ public class OracleParser {
|
|||
break;
|
||||
}
|
||||
tokens.add(lexer.getTokens().get(j));
|
||||
if (j != i + 1) {
|
||||
constraint.add(lexer.getTokens().get(j));
|
||||
}
|
||||
}
|
||||
child.setTokens(tokens);
|
||||
child.setConstraint(constraint);
|
||||
|
|
|
|||
Loading…
Reference in New Issue