001package gudusoft.gsqlparser.stmt;
002
003import gudusoft.gsqlparser.EDbVendor;
004import gudusoft.gsqlparser.ESqlStatementType;
005import gudusoft.gsqlparser.TCustomSqlStatement;
006import gudusoft.gsqlparser.nodes.TDummy;
007import gudusoft.gsqlparser.nodes.TObjectName;
008import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
009
010public class TCreateExtensionStmt extends TCustomSqlStatement {
011
012    private TObjectName schemaName;
013
014    public TObjectName getSchemaName() {
015        return schemaName;
016    }
017
018    private TObjectName extensionName;
019
020    public TObjectName getExtensionName() {
021        return extensionName;
022    }
023
024
025    public TCreateExtensionStmt(EDbVendor dbvendor) {
026        super(dbvendor);
027        sqlstatementtype = ESqlStatementType.sstcreateExtension;
028    }
029
030    public int doParseStatement(TCustomSqlStatement psql) {
031        if (rootNode == null) return -1;
032        super.doParseStatement(psql);
033        TDummy dummy = (TDummy)rootNode;
034        this.extensionName = (TObjectName)dummy.node1;
035        this.schemaName = (TObjectName)dummy.node2;
036
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}
050