001package gudusoft.gsqlparser.stmt.mysql;
002
003import gudusoft.gsqlparser.*;
004import gudusoft.gsqlparser.nodes.*;
005import gudusoft.gsqlparser.nodes.TSetAssignment;
006
007/**
008 * @deprecated since GSP Java version 2.5.1.2, use {@link gudusoft.gsqlparser.stmt.TSetStmt} instead.
009 */
010public class TMySQLSet extends TCustomMySQLStmt {
011     public TMySQLSet (EDbVendor dbvendor){
012        super(dbvendor);
013        sqlstatementtype = ESqlStatementType.sstmysqlset ;
014        }
015
016    void buildsql() {
017    }
018
019    void clear() {
020    }
021
022    String getasprettytext() {
023        return "";
024    }
025
026    void iterate(TVisitorAbs pvisitor) {
027    }
028
029
030
031    private TPTNodeList<TSetAssignment> assignments;
032    private ESetStatementType setStatementType;
033
034    private TObjectName characterSetName;
035    private TObjectName collationName;
036    private TObjectName userName;
037    private TObjectName password;
038    private ETransactionIsolationLevel isolationLevel;
039
040    public ESetStatementType getSetStatementType() {
041        return setStatementType;
042    }
043
044    public TObjectName getCharacterSetName() {
045        return characterSetName;
046    }
047
048    public TObjectName getCollationName() {
049        return collationName;
050    }
051
052    public ETransactionIsolationLevel getIsolationLevel() {
053        return isolationLevel;
054    }
055
056    public TObjectName getPassword() {
057        return password;
058    }
059
060    public TObjectName getUserName() {
061        return userName;
062    }
063
064    public TPTNodeList<TSetAssignment> getAssignments() {
065        return assignments;
066    }
067
068    public int doParseStatement(TCustomSqlStatement psql) {
069        if (rootNode == null) return -1;
070        super.doParseStatement(psql);
071
072        TSetSqlNode setSqlNode = (TSetSqlNode)rootNode;
073        setStatementType = setSqlNode.getSetStatementType();
074
075        assignments = setSqlNode.getAssignments();
076        if (setStatementType == ESetStatementType.variable){
077            for (int i=0;i<assignments.size();i++){
078                assignments.getElement(i).getParameterValue().doParse(this,ESqlClause.setVariable);
079            }
080        }
081
082
083        characterSetName = setSqlNode.getCharacterSetName();
084        collationName = setSqlNode.getCollationName();
085        userName = setSqlNode.getUserName();
086        password = setSqlNode.getPassword();
087        isolationLevel = setSqlNode.getIsolationLevel();
088
089
090        return 0;
091    }
092
093    public void accept(TParseTreeVisitor v){
094        v.preVisit(this);
095        v.postVisit(this);
096    }
097
098    public void acceptChildren(TParseTreeVisitor v){
099        v.preVisit(this);
100        if (assignments != null) assignments.accept(v);
101        v.postVisit(this);
102    }
103
104    public void setAssignments(TPTNodeList<TSetAssignment> assignments) {
105        this.assignments = assignments;
106    }
107
108    public void setSetStatementType(ESetStatementType setStatementType) {
109        this.setStatementType = setStatementType;
110    }
111
112    public void setCharacterSetName(TObjectName characterSetName) {
113        this.characterSetName = characterSetName;
114    }
115
116    public void setCollationName(TObjectName collationName) {
117        this.collationName = collationName;
118    }
119
120    public void setUserName(TObjectName userName) {
121        this.userName = userName;
122    }
123
124    public void setPassword(TObjectName password) {
125        this.password = password;
126    }
127
128    public void setIsolationLevel(ETransactionIsolationLevel isolationLevel) {
129        this.isolationLevel = isolationLevel;
130    }
131}