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}