001package gudusoft.gsqlparser.stmt; 002/* 003 * Date: 13-1-23 004 */ 005 006import gudusoft.gsqlparser.EDbVendor; 007import gudusoft.gsqlparser.ESqlStatementType; 008import gudusoft.gsqlparser.TCustomSqlStatement; 009import gudusoft.gsqlparser.TSourceToken; 010import gudusoft.gsqlparser.nodes.*; 011 012import java.util.ArrayList; 013 014public class TCreateSequenceStmt extends TCustomSqlStatement { 015 016 public TCreateSequenceStmt(EDbVendor dbvendor) { 017 super(dbvendor); 018 sqlstatementtype = ESqlStatementType.sstcreatesequence; 019 } 020 021 private TObjectName sequenceName = null; 022 private ArrayList<TSequenceOption> options = null; 023 024 public ArrayList <TSequenceOption> getOptions() { 025 return options; 026 } 027 028 public TObjectName getSequenceName() { 029 return sequenceName; 030 } 031 032 public int doParseStatement(TCustomSqlStatement psql) { 033 if (rootNode == null) return -1; 034 super.doParseStatement(psql); 035 TCreateSequenceSqlNode node = (TCreateSequenceSqlNode)rootNode; 036 037 this.sequenceName = node.getSequenceName(); 038 if (getSqlEnv().getDefaultCatalogName() != null){ 039 if (sequenceName.getDatabaseToken() == null){ 040 sequenceName.setDatabaseToken(new TSourceToken(getSqlEnv().getDefaultCatalogName())); 041 } 042 } 043 this.options = node.getOptions(); 044 045 return 0; 046 } 047 048 public void accept(TParseTreeVisitor v){ 049 v.preVisit(this); 050 v.postVisit(this); 051 } 052 053 public void acceptChildren(TParseTreeVisitor v){ 054 v.preVisit(this); 055 if (options != null){ 056 for(TSequenceOption option: options){ 057 option.acceptChildren(v); 058 } 059 } 060 v.postVisit(this); 061 } 062 063 public void setSequenceName(TObjectName sequenceName) { 064 this.sequenceName = sequenceName; 065 } 066 067 public void setOptions(ArrayList<TSequenceOption> options) { 068 this.options = options; 069 } 070}