001package gudusoft.gsqlparser.nodes.dax; 002 003 004import gudusoft.gsqlparser.ESqlClause; 005import gudusoft.gsqlparser.TCustomSqlStatement; 006import gudusoft.gsqlparser.nodes.*; 007import gudusoft.gsqlparser.stmt.dax.TDaxExprStmt; 008 009/** 010 * DAX datatable function 011 */ 012public class TDaxDatatable extends TDaxFunction { 013 014 private TColumnDefinitionList columnDefinitionList = null; 015 private TPTNodeList<TExpressionList> valuesList = null; 016 017 public TColumnDefinitionList getColumnDefinitionList() { 018 return columnDefinitionList; 019 } 020 021 public TPTNodeList<TExpressionList> getValuesList() { 022 return valuesList; 023 } 024 025 public void doParse(TCustomSqlStatement psql, ESqlClause plocation){ 026 psql.getDaxFunctionStack().push(this); 027 028 for(int i=0;i<columnDefinitionList.size();i++){ 029 ((TDaxExprStmt)psql).getDefaultTable().getLinkedColumns().addObjectName(columnDefinitionList.getColumn(i).getColumnName()); 030 } 031 032 psql.getDaxFunctionStack().pop(); 033 return; 034 } 035 036 public void init(Object arg1, Object arg2,Object arg3, Object arg4){ 037 init(arg1,arg2); 038 columnDefinitionList = (TColumnDefinitionList)arg3; 039 valuesList = (TPTNodeList<TExpressionList>)arg4; 040 } 041 042 public void accept(TParseTreeVisitor v){ 043 v.preVisit(this); 044 v.postVisit(this); 045 } 046 047 public void acceptChildren(TParseTreeVisitor v) { 048 v.preVisit(this); 049 v.postVisit(this); 050 } 051 052}