internal override List <GremlinVariable> FetchAllTableVars() { List <GremlinVariable> variableList = new List <GremlinVariable>() { this }; variableList.AddRange(GroupByContext.FetchAllTableVars()); variableList.AddRange(ProjectByContext.FetchAllTableVars()); return(variableList); }
public override WTableReference ToTableReference() { List <WScalarExpression> parameters = new List <WScalarExpression>(); parameters.Add(SqlUtil.GetValueExpr(SideEffectKey)); parameters.Add(SqlUtil.GetScalarSubquery(GroupByContext.ToSelectQueryBlock())); parameters.Add(SqlUtil.GetScalarSubquery(ProjectByContext.ToSelectQueryBlock())); var tableRef = SqlUtil.GetFunctionTableReference(GremlinKeyword.func.Group, parameters, GetVariableName()); ((WGroupTableReference)tableRef).IsProjectingACollection = IsProjectingACollection; return(SqlUtil.GetCrossApplyTableReference(tableRef)); }
internal override List <GremlinVariable> FetchVarsFromCurrAndChildContext() { List <GremlinVariable> variableList = new List <GremlinVariable>(); if (GroupByContext != null) { variableList.AddRange(GroupByContext.FetchVarsFromCurrAndChildContext()); } if (ProjectByContext != null) { variableList.AddRange(ProjectByContext.FetchVarsFromCurrAndChildContext()); } return(variableList); }
internal override void Populate(string property) { ProjectByContext.Populate(property); base.Populate(property); }