001package gudusoft.gsqlparser.stmt.teradata;
002
003import gudusoft.gsqlparser.*;
004import gudusoft.gsqlparser.nodes.TObjectName;
005import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
006import gudusoft.gsqlparser.nodes.teradata.TTeradataLockClause;
007import gudusoft.gsqlparser.nodes.teradata.TTeradataLockSqlNode;
008
009import java.util.ArrayList;
010
011
012public class TTeradataLock extends TCustomSqlStatement {
013
014    public ArrayList<TTeradataLockClause> getLockClauses() {
015        return lockClauses;
016    }
017
018    private ArrayList<TTeradataLockClause> lockClauses;
019
020//    private TSourceToken database_table_view ;
021//    private TObjectName objectName;
022//    private TSourceToken lockMode;
023
024    private TCustomSqlStatement  sqlRequest;
025
026//    public TSourceToken getDatabase_table_view() {
027//        return database_table_view;
028//    }
029//
030//    public TSourceToken getLockMode() {
031//        return lockMode;
032//    }
033//
034//    public TObjectName getObjectName() {
035//        return objectName;
036//    }
037
038    public TCustomSqlStatement getSqlRequest() {
039        return sqlRequest;
040    }
041
042    public TTeradataLock(EDbVendor dbvendor) {
043        super(dbvendor);
044        sqlstatementtype = ESqlStatementType.sstteradatalock;
045    }
046
047    public int doParseStatement(TCustomSqlStatement psql) {
048        if (rootNode == null) return -1;
049        super.doParseStatement(psql);
050        TTeradataLockSqlNode lockSqlNode = (TTeradataLockSqlNode)rootNode;
051        if (lockSqlNode.getStmtSqlNode() != null){
052            lockSqlNode.getStmtSqlNode().doParse(this, ESqlClause.unknown);
053            sqlRequest = lockSqlNode.getStmtSqlNode().getStmt();
054        }
055        lockClauses = lockSqlNode.getLockClauses();
056//        database_table_view = lockSqlNode.getLockClause().getDatabase_table_view();
057//        lockMode = lockSqlNode.getLockClause().getLockMode();
058//        objectName  = lockSqlNode.getLockClause().getObjectName();
059        return 0;
060
061    }
062    public void accept(TParseTreeVisitor v){
063        v.preVisit(this);
064        v.postVisit(this);
065    }
066
067    public void acceptChildren(TParseTreeVisitor v){
068        v.preVisit(this);
069        if (sqlRequest != null) sqlRequest.accept(v);
070        v.postVisit(this);
071    }
072
073//    public void setObjectName(TObjectName objectName) {
074//        this.objectName = objectName;
075//    }
076
077    public void setSqlRequest(TCustomSqlStatement sqlRequest) {
078        this.sqlRequest = sqlRequest;
079    }
080}