001package gudusoft.gsqlparser.nodes; 002/* 003 * Date: 13-2-18 004 */ 005 006import gudusoft.gsqlparser.EExpressionType; 007import gudusoft.gsqlparser.sqlenv.TSQLTable; 008 009public class TUnpivotInClause extends TParseTreeNode { 010 private TPTNodeList <TUnpivotInClauseItem> items; 011 012 public TPTNodeList<TUnpivotInClauseItem> getItems() { 013 return items; 014 } 015 016 public void init(Object arg1){ 017 items = (TPTNodeList)arg1; 018 } 019 020 021 public void linkColumnToPivotSourceTable(TTable table){ 022 if (table == null) return; 023 024 if (items != null){ 025 for(int i=0;i<items.size();i++){ 026 TUnpivotInClauseItem item = items.getElement(i); 027 if (item.getColumn() != null){ 028 table.getLinkedColumns().addObjectName(item.getColumn()); 029 item.getColumn().setSourceTable(table); 030 } 031 } 032// for(TResultColumn resultColumn:items){ 033// if (resultColumn.getExpr().getExpressionType() == EExpressionType.simple_object_name_t){ 034// table.getLinkedColumns().addObjectName(resultColumn.getExpr().getObjectOperand()); 035// resultColumn.getExpr().getObjectOperand().setSourceTable(table); 036// } 037// } 038// 039// if (sqlTable != null){ 040// for(TResultColumn resultColumn:items){ 041// sqlTable.addColumn(resultColumn.getDisplayName()); 042// } 043// } 044 } 045 } 046 047 public void accept(TParseTreeVisitor v){ 048 v.preVisit(this); 049 v.postVisit(this); 050 } 051 052 public void acceptChildren(TParseTreeVisitor v){ 053 v.preVisit(this); 054 getItems().acceptChildren(v); 055 v.postVisit(this); 056 } 057 058 public void setItems(TPTNodeList<TUnpivotInClauseItem> items) { 059 this.items = items; 060 } 061}