1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shardingsphere.sql.parser.oracle.visitor.statement.type;
19
20 import org.apache.shardingsphere.sql.parser.api.ASTNode;
21 import org.apache.shardingsphere.sql.parser.api.visitor.statement.type.TCLStatementVisitor;
22 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.CommitContext;
23 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.RollbackContext;
24 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.SavepointContext;
25 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.SetConstraintsContext;
26 import org.apache.shardingsphere.sql.parser.autogen.OracleStatementParser.SetTransactionContext;
27 import org.apache.shardingsphere.sql.parser.oracle.visitor.statement.OracleStatementVisitor;
28 import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
29 import org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.tcl.OracleCommitStatement;
30 import org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.tcl.OracleRollbackStatement;
31 import org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.tcl.OracleSavepointStatement;
32 import org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.tcl.OracleSetConstraintsStatement;
33 import org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.tcl.OracleSetTransactionStatement;
34
35
36
37
38 public final class OracleTCLStatementVisitor extends OracleStatementVisitor implements TCLStatementVisitor {
39
40 @Override
41 public ASTNode visitSetTransaction(final SetTransactionContext ctx) {
42 return new OracleSetTransactionStatement();
43 }
44
45 @Override
46 public ASTNode visitCommit(final CommitContext ctx) {
47 return new OracleCommitStatement();
48 }
49
50 @Override
51 public ASTNode visitRollback(final RollbackContext ctx) {
52 OracleRollbackStatement result = new OracleRollbackStatement();
53 if (null != ctx.savepointClause().savepointName()) {
54 result.setSavepointName(((IdentifierValue) visit(ctx.savepointClause().savepointName())).getValue());
55 }
56 return result;
57 }
58
59 @Override
60 public ASTNode visitSavepoint(final SavepointContext ctx) {
61 OracleSavepointStatement result = new OracleSavepointStatement();
62 result.setSavepointName(((IdentifierValue) visit(ctx.savepointName())).getValue());
63 return result;
64 }
65
66 @Override
67 public ASTNode visitSetConstraints(final SetConstraintsContext ctx) {
68 return new OracleSetConstraintsStatement();
69 }
70 }