001package gudusoft.gsqlparser.nodes.teradata; 002 003import gudusoft.gsqlparser.ESqlClause; 004import gudusoft.gsqlparser.TCustomSqlStatement; 005import gudusoft.gsqlparser.nodes.TObjectName; 006import gudusoft.gsqlparser.nodes.TObjectNameList; 007import gudusoft.gsqlparser.nodes.TParseTreeNode; 008import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 009 010public class TCollectColumnIndex extends TParseTreeNode { 011 private boolean isIndex = false; 012 private boolean isColumn = false; 013 private boolean isUnique = false; 014 private boolean isAll = false; 015 016 017 018 private TObjectName columnName; 019 private TObjectName indexName; 020 private TObjectNameList columnNameList; 021 private TObjectName orderByColumnName; 022 private TObjectName statisticsName; 023 024 public void setAll(boolean all) { 025 isAll = all; 026 } 027 028 public boolean isAll() { 029 030 return isAll; 031 } 032 033 034 public void setColumnName(TObjectName columnName) { 035 this.columnName = columnName; 036 } 037 038 public void setColumnNameList(TObjectNameList columnNameList) { 039 this.columnNameList = columnNameList; 040 } 041 042 public void setIndexName(TObjectName indexName) { 043 this.indexName = indexName; 044 } 045 046 public void setColumn(boolean column) { 047 isColumn = column; 048 } 049 050 public void setIndex(boolean index) { 051 isIndex = index; 052 } 053 054 public void setUnique(boolean unique) { 055 isUnique = unique; 056 } 057 058 public void setOrderByColumnName(TObjectName orderByColumnName) { 059 this.orderByColumnName = orderByColumnName; 060 } 061 062 public void setStatisticsName(TObjectName statisticsName) { 063 this.statisticsName = statisticsName; 064 } 065 066 public TObjectName getColumnName() { 067 068 return columnName; 069 } 070 071 public TObjectNameList getColumnNameList() { 072 return columnNameList; 073 } 074 075 public TObjectName getIndexName() { 076 return indexName; 077 } 078 079 public boolean isColumn() { 080 return isColumn; 081 } 082 083 public boolean isIndex() { 084 return isIndex; 085 } 086 087 public boolean isUnique() { 088 return isUnique; 089 } 090 091 public TObjectName getOrderByColumnName() { 092 return orderByColumnName; 093 } 094 095 public TObjectName getStatisticsName() { 096 return statisticsName; 097 } 098 099 public void doParse(TCustomSqlStatement psql, ESqlClause plocation){ 100 if ((psql != null)&&(getColumnNameList() != null)) 101 if ((psql.tables.size() > 0)&&(getColumnNameList().size() > 0)){ 102 for(int i=0;i<getColumnNameList().size();i++){ 103 psql.tables.getTable(0).getObjectNameReferences().addObjectName(getColumnNameList().getObjectName(i)); 104 psql.tables.getTable(0).getLinkedColumns().addObjectName(getColumnNameList().getObjectName(i)); 105 getColumnNameList().getObjectName(i).setSourceTable(psql.tables.getTable(0)); 106 107 } 108 } 109 } 110 111 public void accept(TParseTreeVisitor v){ 112 v.preVisit(this); 113 v.postVisit(this); 114 } 115 116 public void acceptChildren(TParseTreeVisitor v){ 117 v.preVisit(this); 118 v.postVisit(this); 119 } 120 121}