001package gudusoft.gsqlparser.stmt.mssql;
002
003import gudusoft.gsqlparser.*;
004import gudusoft.gsqlparser.nodes.TDummy;
005import gudusoft.gsqlparser.nodes.TObjectName;
006import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
007
008import java.util.Arrays;
009import java.util.List;
010
011public class TCreateExternalDataSourceStmt extends TCustomSqlStatement {
012
013    public TCreateExternalDataSourceStmt (EDbVendor dbvendor){
014        super(dbvendor);
015        sqlstatementtype = ESqlStatementType.sstmssqlcreateevexternalDataSource ;
016    }
017
018    private TObjectName dataSourceName;
019
020    private List<String> optionList = null;
021    public  List<String> getOptionNames(){
022        return  TBaseType.getOptionNames(optionList);
023    }
024    public String getOption(String optionName){
025        return TBaseType.getOption(optionList,optionName);
026    }
027
028    public TObjectName getDataSourceName() {
029        return dataSourceName;
030    }
031
032    public int doParseStatement(TCustomSqlStatement psql) {
033        if (rootNode == null) return -1;
034        TDummy dummy = (TDummy)rootNode;
035        dataSourceName = (TObjectName) dummy.node1;
036        optionList = TBaseType.getArrayListBetweenTokens(dummy.st1,dummy.st2,false);
037        return 0;
038    }
039
040    public void accept(TParseTreeVisitor v){
041        v.preVisit(this);
042        v.postVisit(this);
043    }
044
045    public void acceptChildren(TParseTreeVisitor v){
046        v.preVisit(this);
047        v.postVisit(this);
048    }
049}