001package gudusoft.gsqlparser.stmt;
002
003
004import gudusoft.gsqlparser.EDbVendor;
005import gudusoft.gsqlparser.ESqlStatementType;
006import gudusoft.gsqlparser.TCustomSqlStatement;
007import gudusoft.gsqlparser.nodes.TDummy;
008import gudusoft.gsqlparser.nodes.TObjectName;
009import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
010
011public class TCreateCredentialStmt extends TCustomSqlStatement {
012
013
014    private TObjectName credentialName;
015
016    public TObjectName getCredentialName() {
017        return credentialName;
018    }
019
020    private boolean isDatabaseScoped = false;
021
022    public boolean isDatabaseScoped() {
023        return isDatabaseScoped;
024    }
025
026    public TCreateCredentialStmt(EDbVendor dbvendor) {
027        super(dbvendor);
028        sqlstatementtype = ESqlStatementType.sstcreatecredential;
029    }
030
031    public int doParseStatement(TCustomSqlStatement psql) {
032        if (rootNode == null) return -1;
033        super.doParseStatement(psql);
034        TDummy dummy = (TDummy)rootNode;
035        this.credentialName = (TObjectName)dummy.node1;
036        if (dummy.int1 == 2){
037            this.isDatabaseScoped = true;
038        }
039
040        return 0;
041    }
042
043    public void accept(TParseTreeVisitor v) {
044        v.preVisit(this);
045        v.postVisit(this);
046    }
047
048    public void acceptChildren(TParseTreeVisitor v) {
049        v.preVisit(this);
050        v.postVisit(this);
051    }
052}