001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.ECreateTableOption;
004import gudusoft.gsqlparser.EDbObjectType;
005import gudusoft.gsqlparser.ETableKind;
006import gudusoft.gsqlparser.TSourceToken;
007import gudusoft.gsqlparser.nodes.hive.THiveTableProperties;
008
009import java.util.ArrayList;
010
011/*
012* Date: 2010-4-23
013* Time: 17:13:34
014*/
015public class TCreateViewSqlNode extends TParseTreeNode {
016
017    private ArrayList<TCreateTableOption> createViewOptions;
018    public void setCreateViewOptions(ArrayList<TCreateTableOption> options){
019        if (options == null) return;
020        for(TCreateTableOption option:options){
021            if (option.getCreateTableOptionType() == ECreateTableOption.etoComment){
022                this.commentClause = option;
023            }
024        }
025        createViewOptions = options;
026    }
027    private TCreateTableOption commentClause;
028
029    public TCreateTableOption getCommentClause() {
030        return commentClause;
031    }
032
033    public void setCommentClause(TCreateTableOption commentClause) {
034        this.commentClause = commentClause;
035    }
036
037    private TSelectSqlNode selectSqlNode = null;
038    private TObjectName viewName = null;
039    private TViewAliasClause viewAliasClause = null;
040    private  TRestrictionClause restrictionClause = null;
041    private TSourceToken stForce = null;
042    private TSourceToken stReplace = null;
043    private TObjectName rowTypeName;
044    private boolean ifNotExists;
045    private THiveTableProperties tableProperties;
046    private TObjectName tableComment;
047    private TObjectNameList viewPartitionColumnList;
048    private TObjectNameList viewAttributeList;
049
050    public void setForce(boolean isForce) {
051        this.isForce = isForce;
052    }
053
054    public void setNoForce(boolean isNoForce) {
055        this.isNoForce = isNoForce;
056    }
057
058    public boolean isForce() {
059
060        return isForce;
061    }
062
063    public boolean isNoForce() {
064        return isNoForce;
065    }
066
067    private boolean isForce = false;
068    private boolean isNoForce = false;
069
070    private boolean isSecure  = false;
071    private boolean isRecursive = false;
072    private ETableKind tableKind = ETableKind.etkBase;
073
074    public void setTableKind(TDummy tableKind) {
075        if (tableKind == null) return;
076        this.tableKind = ETableKind.fromValue(tableKind.int1);
077
078    }
079
080    public ETableKind getTableKind() {
081        return tableKind;
082    }
083
084    public void setRecursive(TSourceToken st) {
085        if (st == null) return;
086        isRecursive = true;
087    }
088
089    public boolean isRecursive() {
090        return isRecursive;
091    }
092
093    public void setSecure(TSourceToken st) {
094        if (st == null) return;
095        isSecure = st.toString().equalsIgnoreCase("secure");
096        if (isSecure) return;
097        isForce = st.toString().equalsIgnoreCase("force");
098    }
099
100    public boolean isSecure() {
101        return isSecure;
102    }
103
104    public void setViewAttributeList(TObjectNameList viewAttributeList) {
105        this.viewAttributeList = viewAttributeList;
106    }
107
108    public TObjectNameList getViewAttributeList() {
109
110        return viewAttributeList;
111    }
112
113    public void setRowTypeName(TObjectName rowTypeName) {
114        this.rowTypeName = rowTypeName;
115    }
116
117    public TObjectName getRowTypeName() {
118
119        return rowTypeName;
120    }
121
122    public void setStForce(TSourceToken stForce) {
123        if (stForce == null) return;
124        this.stForce = stForce;
125        isForce = stForce.toString().equalsIgnoreCase("force");
126        isNoForce = stForce.toString().equalsIgnoreCase("noforce");
127    }
128
129    public void setStReplace(TSourceToken stReplace) {
130        this.stReplace = stReplace;
131    }
132
133    public TSourceToken getStForce() {
134        return stForce;
135    }
136
137    public TSourceToken getStReplace() {
138        return stReplace;
139    }
140
141    public void setRestrictionClause(TRestrictionClause restrictionClause) {
142        this.restrictionClause = restrictionClause;
143    }
144
145    public TRestrictionClause getRestrictionClause() {
146
147        return restrictionClause;
148    }
149
150    public void setViewAliasClause(TViewAliasClause viewAliasClause) {
151        this.viewAliasClause = viewAliasClause;
152    }
153
154
155
156    public TViewAliasClause getViewAliasClause() {
157
158        return viewAliasClause;
159    }
160
161    public TSelectSqlNode getSelectSqlNode() {
162        return selectSqlNode;
163    }
164
165    public TObjectName getViewName() {
166        return viewName;
167    }
168
169    public void init(Object arg1,Object arg2)
170    {
171       init(arg1);
172       selectSqlNode = (TSelectSqlNode)arg2;
173    }
174
175    public void init(Object arg1)
176    {
177        viewName = (TObjectName)arg1;
178        //viewName.setObjectType(TObjectName.ttobjViewName);
179        viewName.setDbObjectType(EDbObjectType.view);
180    }
181}