001package gudusoft.gsqlparser.stmt;
002
003
004import gudusoft.gsqlparser.EDbVendor;
005import gudusoft.gsqlparser.ESqlStatementType;
006import gudusoft.gsqlparser.TCustomSqlStatement;
007import gudusoft.gsqlparser.nodes.*;
008
009public class TConnectStmt extends TCustomSqlStatement {
010
011    private TObjectName databaseName;
012    private TObjectName username;
013    private TConstant password;
014    private TConstant host;
015    private TConstant port;
016
017    public TConnectStmt(EDbVendor dbvendor){
018        super(dbvendor);
019        sqlstatementtype = ESqlStatementType.sstconnect;
020    }
021
022    public TObjectName getDatabaseName() {
023        return databaseName;
024    }
025
026    public TObjectName getUsername() {
027        return username;
028    }
029
030    public TConstant getPassword() {
031        return password;
032    }
033
034    public TConstant getHost() {
035        return host;
036    }
037
038    public TConstant getPort() {
039        return port;
040    }
041
042    public int doParseStatement(TCustomSqlStatement psql) {
043        if (rootNode == null) return -1;
044        TConnectSqlNode connectSqlNode = (TConnectSqlNode)rootNode;
045        super.doParseStatement(psql);
046        databaseName = connectSqlNode.getDatabaseName();
047        username = connectSqlNode.getUsername();
048        password = connectSqlNode.getPassword();
049        host = connectSqlNode.getHost();
050        port = connectSqlNode.getPort();
051
052        return 0;
053    }
054
055    public void accept(TParseTreeVisitor v){
056        v.preVisit(this);
057        v.postVisit(this);
058    }
059
060    public void acceptChildren(TParseTreeVisitor v){
061        v.preVisit(this);
062        v.postVisit(this);
063    }
064}