001package gudusoft.gsqlparser.stmt;
002
003
004import gudusoft.gsqlparser.EDbVendor;
005import gudusoft.gsqlparser.ESqlStatementType;
006import gudusoft.gsqlparser.TCustomSqlStatement;
007import gudusoft.gsqlparser.nodes.TColumnDefinitionList;
008import gudusoft.gsqlparser.nodes.TCreateTypeSqlNode;
009import gudusoft.gsqlparser.nodes.TObjectName;
010import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
011
012public class TCreateTypeStmt extends TCustomSqlStatement {
013    private TObjectName typeName;
014    private TColumnDefinitionList attributeList;
015
016    public TObjectName getTypeName() {
017        return typeName;
018    }
019
020    public TColumnDefinitionList getAttributeList() {
021        return attributeList;
022    }
023
024    public TCreateTypeStmt(EDbVendor dbvendor) {
025        super(dbvendor);
026        sqlstatementtype = ESqlStatementType.sstcreatetype;
027    }
028
029    public int doParseStatement(TCustomSqlStatement psql) {
030        if (rootNode == null) return -1;
031        super.doParseStatement(psql);
032        TCreateTypeSqlNode sqlNode = (TCreateTypeSqlNode)rootNode;
033        this.typeName = sqlNode.getTypeName();
034        this.attributeList = sqlNode.getAttributeList();
035
036        return 0;
037    }
038
039    public void accept(TParseTreeVisitor v) {
040        v.preVisit(this);
041        v.postVisit(this);
042    }
043
044    public void acceptChildren(TParseTreeVisitor v) {
045        v.preVisit(this);
046        v.postVisit(this);
047    }
048}