40 writes to Child0
System.Data.Entity (40)
System\Data\Query\PlanCompiler\ITreeGenerator.cs (1)
1442inputNode.Child0 = CreateLimitNode(inputNode.Child0, limitNode, expression.WithTies);
System\Data\Query\PlanCompiler\NestPullup.cs (13)
508m_definingNodeMap[collectionInfo.CollectionVar].Child0 = ApplyIsNotNullFilter(m_definingNodeMap[collectionInfo.CollectionVar].Child0, sentinelVar); 581newFilterParent.Child0 = newFilterNode; 679n.Child0 = nestOpInputNode; 680nestOpNode.Child0 = n; 824n.Child0 = sortNode.Child0; 826sortNode.Child0 = HandleProjectNode(n); 1457projectNode.Child0 = nestNode.Child0; 1485projectNode.Child0 = nestNode.Child0; 1486nestNode.Child0 = projectNode; 1535n.Child0 = newSingleRowOpNode; 1596n.Child0 = nestNode.Child0; 1597nestNode.Child0 = n; 1977n.Child0 = sortNode;
System\Data\Query\PlanCompiler\NominalTypeEliminator.cs (2)
1349n.Child0 = newChildren[0]; 2020resultNode.Child0 = m_command.CreateNode(newCaseOp, children);
System\Data\Query\PlanCompiler\Normalizer.cs (2)
88n.Child0 = BuildDummyProjectForExists(n.Child0); 259n.Child2.Child0 = BuildDummyProjectForExists(n.Child2.Child0);
System\Data\Query\PlanCompiler\PreProcessor.cs (2)
2318n.Child0 = ret; 2360n.Child0 = n.Child0.Child0;
System\Data\Query\PlanCompiler\ProjectionPruner.cs (3)
445n.Child0 = VisitNode(n.Child0); // visit the child 606n.Child0 = VisitNode(n.Child0); 721n.Child0 = VisitNode(n.Child0);
System\Data\Query\PlanCompiler\SubqueryTrackingVisitor.cs (1)
213n.Child0 = newInputNode;
System\Data\Query\PlanCompiler\TransformationRules.cs (16)
2054n.Child0 = singleRowTableNode; 2060projectNode.Child0 = n; 2143varDefNode.Child0 = trc.ReMap(varDefNode.Child0, varMap); 2163projectNode.Child0 = subProjectNode.Child0; 2369varDefNode.Child0 = command.CreateNode(varRefOp); 2570varDefNode.Child0 = context.Command.CreateNode(context.Command.CreateVarRefOp(sentinelVar)); 2574varDefNode.Child0 = trc.BuildNullIfExpression(sentinelVar, varDefNode.Child0); 2596projectNode.Child0 = filterInputNode; 2609projectNode.Child0 = joinNode; 2655projectNode.Child0 = applyNode; 2773varDefNode.Child0 = currentDefinition; 2795projectNode.Child0 = applyNode; 3757singleRowNode.Child0 = projectNodeInput; 3759projectNode.Child0 = singleRowNode; 4036newNode.Child0 = projectNode.Child0; 4313n.Child0 = filter;
390 references to Child0
System.Data.Entity (390)
System\Data\Mapping\FunctionImportMappingComposable.cs (1)
113var rootInput = rootProject.Child0; // the RelInput in PhysicalProject(RelInput)
System\Data\Mapping\ViewGeneration\GeneratedView.cs (1)
219m_internalTreeNode = itree.Root.Child0;
System\Data\Query\InternalTrees\Dump.cs (1)
182VisitNode(n.Child0);
System\Data\Query\InternalTrees\NodeInfo.cs (21)
526if (n.Child0.Op.OpType == OpType.VarDef && n.Child0.Child0.Op.OpType == OpType.Function && op.Table.Keys.Count > 0) 545NodeInfo childNodeInfo = GetNodeInfo(n.Child0); 569VarRefOp varRefOp = varDefNode.Child0.Op as VarRefOp; 599ExtendedNodeInfo relOpChildNodeInfo = GetExtendedNodeInfo(n.Child0); 623NodeInfo chiNodeInfo = GetNodeInfo(chi.Child0); 629if (IsDefinitionNonNullable(chi.Child0, nodeInfo.NonNullableVisibleDefinitions)) 680ExtendedNodeInfo relOpChildNodeInfo = GetExtendedNodeInfo(n.Child0); 737ExtendedNodeInfo relOpChildNodeInfo = GetExtendedNodeInfo(n.Child0); 749NodeInfo keyExprNodeInfo = GetNodeInfo(chi.Child0); 751if (IsDefinitionNonNullable(chi.Child0, relOpChildNodeInfo.NonNullableDefinitions)) 766NodeInfo aggExprNodeInfo = GetNodeInfo(chi.Child0); 874ExtendedNodeInfo leftRelOpNodeInfo = GetExtendedNodeInfo(n.Child0); 957ExtendedNodeInfo leftRelOpNodeInfo = GetExtendedNodeInfo(n.Child0); 1019ExtendedNodeInfo leftChildNodeInfo = GetExtendedNodeInfo(n.Child0); 1134ExtendedNodeInfo relOpChildNodeInfo = GetExtendedNodeInfo(n.Child0); 1191ExtendedNodeInfo childNodeInfo = GetExtendedNodeInfo(n.Child0); 1231ExtendedNodeInfo childNodeInfo = GetExtendedNodeInfo(n.Child0); 1288ExtendedNodeInfo driverChildNodeInfo = GetExtendedNodeInfo(n.Child0); 1341nodeInfo.Keys.InitFrom(GetExtendedNodeInfo(n.Child0).Keys);
System\Data\Query\PlanCompiler\AggregatePushdown.cs (15)
338inputNode = inputNode.Child0; 405if (n.Child0.Op.OpType != OpType.VarRef) 409VarRefOp varRefOp = (VarRefOp)n.Child0.Op; 431Node currentNode = n.Child0; 433while (currentNode.Child0.Op.OpType == OpType.Project) 435currentNode = currentNode.Child0; 443if (IsConstant(definitionNode.Child0)) 445constantDefinitions.Add(((VarDefOp)definitionNode.Op).Var, definitionNode.Child0); 450if (currentNode.Child0.Op.OpType != OpType.Unnest) 456UnnestOp unnestOp = (UnnestOp)currentNode.Child0.Op; 478PhysicalProjectOp physicalProjectOp = (PhysicalProjectOp)n.Child0.Op; 510currentNode = currentNode.Child0; 681Node definingNode = n.Child0; 767Node argumentNode = n.Child0; 772if (GroupAggregateVarComputationTranslator.TryTranslateOverGroupAggregateVar(n.Child0, false, _command, _groupAggregateVarInfoManager, out referencedGroupAggregateVarInfo, out templateNode, out isUnnested)
System\Data\Query\PlanCompiler\CTreeGenerator.cs (27)
531varDefs.Add(defOp.Var, VisitNode(childNode.Child0)); 1073DbExpression inputExpr = VisitNode(n.Child0); 1090DbExpression inputExpr = VisitNode(n.Child0); 1322PlanCompiler.Assert(n.Child0.Op.OpType == OpType.VarDef, 1326Node input = n.Child0.Child0; 1357relOpNode = relOpNode.Child0; 1446RelOpInfo sourceInfo = EnterExpressionBindingScope(n.Child0); 1485RelOpInfo inputInfo = EnterExpressionBindingScope(n.Child0); 1557RelOpInfo inputInfo = EnterExpressionBindingScope(n.Child0); 1601DbExpression inputExpr = this.VisitNode(n.Child0); 1617inputInfo = EnterExpressionBindingScope(n.Child0); 1676GroupByScope inputInfo = EnterGroupByScope(n.Child0); 1746Node aggOpNode = aggVarDefNode.Child0; 1747DbExpression aggDef = VisitNode(aggOpNode.Child0); 1836if (joinInputNode.Op.OpType == OpType.Filter && joinInputNode.Child0.Op.OpType == OpType.ScanTable) 1838ScanTableOp scanTableOp = (ScanTableOp)joinInputNode.Child0.Op; 1876RelOpInfo leftInfo = VisitJoinInput(joinNode.Child0); 2016RelOpInfo inputInfo = EnterExpressionBindingScope(applyNode.Child0); 2148DbExpression left = VisitSetOpArgument(n.Child0, op.Outputs, op.VarMap[0]); 2221RelOpInfo sourceInfo = BuildProjection(n.Child0, op.Keys); 2254if (n.Child0.Op.OpType != OpType.Project) 2256ExtendedNodeInfo childNodeInfo = _iqtCommand.GetExtendedNodeInfo(n.Child0); 2262inputInfo = BuildEmptyProjection(n.Child0); 2266inputInfo = BuildProjection(n.Child0, childNodeInfo.Definitions); 2272inputExpr = VisitNode(n.Child0); 2359RelOpInfo sourceInfo = BuildProjection(n.Child0, op.Outputs);
System\Data\Query\PlanCompiler\ITreeGenerator.cs (11)
315newRoot = _iqtCommand.CreateNode(unnestOp, varDefListNode.Child0); 667if (inputNode.Child0.Op as PhysicalProjectOp != null) 669PlanCompiler.Assert(inputNode.Child0.HasChild0, "PhysicalProjectOp without argument"); 670PlanCompiler.Assert(inputNode.Child0.Child0.Op.IsRelOp, "PhysicalProjectOp applied to non-RelOp input"); 675return inputNode.Child0.Child0; 1388inputNode.Child0, 1431|| (OpType.Sort == inputNode.Child0.Op.OpType 1432|| OpType.ConstrainedSort == inputNode.Child0.Op.OpType))) 1442inputNode.Child0 = CreateLimitNode(inputNode.Child0, limitNode, expression.WithTies);
System\Data\Query\PlanCompiler\JoinGraph.cs (2)
654ExtendedNodeInfo leftInputNodeInfo = m_command.GetExtendedNodeInfo(joinNode.Child0); 700AugmentedNode left = BuildAugmentedNodeTree(node.Child0);
System\Data\Query\PlanCompiler\KeyPullup.cs (1)
137ExtendedNodeInfo childNodeInfo = n.Child0.GetExtendedNodeInfo(m_command);
System\Data\Query\PlanCompiler\NestPullup.cs (64)
294if (n.Child0.Op.OpType == OpType.VarRef) 296m_varRefMap.Add(op.Var, ((VarRefOp)n.Child0.Op).Var); 363Var inputVar = ((ProjectOp)n.Child0.Op).Outputs.First; 366VarVec newOutputs = ((ProjectOp)n.Child0.Op).Outputs; 503newJoinApplyChildren.Add(AugmentNodeWithConstant(chi.Child0, () => Command.CreateNullSentinelOp(), out sentinelVar)); 508m_definingNodeMap[collectionInfo.CollectionVar].Child0 = ApplyIsNotNullFilter(m_definingNodeMap[collectionInfo.CollectionVar].Child0, sentinelVar); 519newJoinApplyChildren.Add(chi.Child0); 573newFilterChild = newFilterChild.Child0; 661NestBaseOp nestOp = n.Child0.Op as NestBaseOp; 677Node nestOpNode = n.Child0; 678Node nestOpInputNode = nestOpNode.Child0; 740Command.CreateGroupByOp(op.Keys, groupByOutputs), n.Child0, n.Child1, n.Child2); 814if (n.Child0.Op.OpType == OpType.Sort) 816Node sortNode = n.Child0; 824n.Child0 = sortNode.Child0; 856if (newNode.Op.OpType == OpType.Project && IsNestOpNode(newNode.Child0)) 893if (!IsNestOpNode(nestNode) || !IsNestOpNode(nestNode.Child0)) 902Node nestedNestNode = nestNode.Child0; 918newNestInputs.Add(nestedNestNode.Child0); 997Node definingExprNode = chi.Child0; 1002PlanCompiler.Assert(OpType.PhysicalProject == definingExprNode.Child0.Op.OpType, "collect without physicalProject?"); 1003Node physicalProjectNode = definingExprNode.Child0; 1063if (IsNestOpNode(projectNode.Child0)) 1081projectNode = projectNode.Child0; 1086NestBaseOp nestedNestOp = (NestBaseOp)projectNode.Child0.Op; 1093newNestedProjectNodeInputs.Add(projectNode.Child0.Child0); 1126for (int j = 1; j < projectNode.Child0.Children.Count; j++) 1128newNestedNestNodeInputs.Add(projectNode.Child0.Children[j]); 1146projectNode = projectNode.Child0; 1235Node nestOpInput = physicalProjectNode.Child0; 1323Node nestNode = projectNode.Child0; 1387newNestNodeChildren.Add(nestNode.Child0); 1408leftCorrelationVars.And(nestNode.Child0.GetExtendedNodeInfo(this.Command).Definitions); 1457projectNode.Child0 = nestNode.Child0; 1485projectNode.Child0 = nestNode.Child0; 1531if (IsNestOpNode(n.Child0)) 1533n = n.Child0; 1534Node newSingleRowOpNode = Command.CreateNode(op, n.Child0); 1561NestBaseOp nestOp = n.Child0.Op as NestBaseOp; 1564n.Child0.Op = GetNestOpWithConsolidatedSortKeys(nestOp, op.Keys); 1565return n.Child0; 1592NestBaseOp nestOp = n.Child0.Op as NestBaseOp; 1595Node nestNode = n.Child0; 1596n.Child0 = nestNode.Child0; 1745PlanCompiler.Assert(n.Child0.Op.OpType == OpType.VarDef, "Unnest without VarDef input?"); 1746PlanCompiler.Assert(((VarDefOp)n.Child0.Op).Var == op.Var, "Unnest var not found?"); 1747PlanCompiler.Assert(n.Child0.HasChild0, "VarDef without input?"); 1748Node newNode = n.Child0.Child0; 1762newNode = newNode.Child0; 1793newNode = newNode.Child0; 1939if (n != Command.Root || !IsNestOpNode(n.Child0)) 1948Node nestNode = n.Child0; 2005sortNode = Command.CreateNode(sortOp, nestNode.Child0); 2010sortNode = nestNode.Child0; 2160Node drivingNode = nestNode.Child0; 2383inputNode = inputNode.Child0; 2392inputNode = inputNode.Child0; // bypass the sort node 2477Node drivingNode = nestNode.Child0; 2754if (command.Root.Child0 != null && command.Root.Child0.Op.OpType == OpType.Sort) 2756topMostSort = command.Root.Child0; 2814result = n.Child0;
System\Data\Query\PlanCompiler\NominalTypeEliminator.cs (43)
377node = node.Child0; 798newChildren.Add(FlattenEnumOrStrongSpatialVar(varDefOp, chi.Child0)); 820Node definingExprNode = node.Child0; // defining expression for the VarDefOp 1137return n.Child0; 1217return GetSingletonVar(n.Child0); 1258Var inputVar = GetSingletonVar(n.Child0); 1264Node definingNode = VisitNode(n.Child0); 1324Node chi = n.Child0; 1333if (chi.HasChild0 && chi.Child0.Op.OpType == OpType.Function) 1340processingTVF = ((FunctionOp)chi.Child0.Op).Function; 1723md.TypeUsage inputTypeUsage = n.Child0.Op.Type; 1733PlanCompiler.Assert(n.Child0.Op.OpType == OpType.NewRecord, "Expected a record constructor here. Found " + n.Child0.Op.OpType + " instead"); 1749IEnumerator<Node> inputs = n.Child0.Children.GetEnumerator(); 1750int inputPropertyCount = n.Child0.Children.Count; 1796return BuildSoftCast(n.Child0, newType); 1813PlanCompiler.Assert(Command.EqualTypes(newType, n.Child0.Op.Type), 1815return n.Child0; 1836PlanCompiler.Assert(md.TypeSemantics.IsPrimitiveType(n.Child0.Op.Type), "Primitive type expected."); 1844PlanCompiler.Assert(md.TypeSemantics.IsPrimitiveType(n.Child0.Op.Type, md.PrimitiveTypeKind.Geography) || md.TypeSemantics.IsPrimitiveType(n.Child0.Op.Type, md.PrimitiveTypeKind.Geometry), "Union spatial type expected."); 1856if (underlyingType.PrimitiveTypeKind == ((md.PrimitiveType)n.Child0.Op.Type.EdmType).PrimitiveTypeKind) 1858return n.Child0; 1862return m_command.CreateNode(m_command.CreateCastOp(md.TypeUsage.Create(underlyingType, op.Type.Facets)), n.Child0); 2003Node currentNullSentinel = resultNode.Child0; 2011children.Add(n.Child0); 2117md.TypeUsage child0Type = ((ScalarOp)n.Child0.Op).Type; 2147GetPropertyValues(child0TypeInfo, OperationKind.Equality, n.Child0, false, out properties1, out values1); 2197md.TypeUsage childOpType = ((ScalarOp)n.Child0.Op).Type; 2214GetPropertyValues(typeInfo, OperationKind.IsNull, n.Child0, false, out properties, out values); 2285TypeInfo inputTypeInfo = m_typeInfo.GetTypeInfo(((ScalarOp)n.Child0.Op).Type); 2299GetPropertyValues(inputTypeInfo, OperationKind.GetKeys, n.Child0, false /* ignore missing props */, out inputFieldTypes, out inputFieldValues); 2305GetPropertyValues(inputTypeInfo, OperationKind.GetIdentity, n.Child0, false, out inputFieldTypes, out inputFieldValues); 2336md.TypeUsage inputType = n.Child0.Op.Type; 2370Node field = BuildAccessor(n.Child0, newNestedProp); 2386newNode = this.BuildAccessorWithNulls(n.Child0, newProp); 2436TypeInfo inputTypeInfo = m_typeInfo.GetTypeInfo(((ScalarOp)n.Child0.Op).Type); 2445GetPropertyValues(inputTypeInfo, OperationKind.All, n.Child0, false, out inputFields, out inputFieldValues); 2922Node newNode = CreateTypeComparisonOp(n.Child0, typeInfo, op.IsOfOnly); 2943ScalarOp arg = (ScalarOp)n.Child0.Op; 2948return n.Child0; 2962Node likeNode = CreateTypeComparisonOp(n.Child0, typeInfo, false); 2964Node caseNode = m_command.CreateNode(caseOp, likeNode, n.Child0, CreateNullConstantNode(caseOp.Type));
System\Data\Query\PlanCompiler\Normalizer.cs (5)
88n.Child0 = BuildDummyProjectForExists(n.Child0); 170Node argNode = n.Child0; 174argNode = argNode.Child0; 178argNode = argNode.Child0; 259n.Child2.Child0 = BuildDummyProjectForExists(n.Child2.Child0);
System\Data\Query\PlanCompiler\PlanCompilerUtil.cs (2)
82TypeSemantics.IsCollectionType(n.Child0.Op.Type) && 153node => (new[] {node.Child0, node.Child1}));
System\Data\Query\PlanCompiler\Predicate.cs (9)
223if (IsKeyPredicate(part.Child0, part.Child1, keyVars, definitions, out keyVar)) 227else if (IsKeyPredicate(part.Child1, part.Child0, keyVars, definitions, out keyVar)) 278InitFromAndTree(andTree.Child0); 349VarRefOp leftVarOp = simplePredicateNode.Child0.Op as VarRefOp; 433varRefOp = simplePredNode.Child0.Op as VarRefOp; 446if (simplePredNode.Child0.Op.OpType != OpType.IsNull) 450varRefOp = simplePredNode.Child0.Child0.Op as VarRefOp; 461varRefOp = simplePredNode.Child0.Op as VarRefOp;
System\Data\Query\PlanCompiler\PreProcessor.cs (32)
409DiscriminatedNewEntityOp discriminatedNewEntityOp = viewNode.Child1.Child0.Child0.Op as DiscriminatedNewEntityOp; 480if (navigateOpNode.Child0.Op.OpType == OpType.GetEntityRef && 488navigateOpNode.Child0.Child0); 539Node predicateNode = m_command.BuildComparison(OpType.EQ, navigateOpNode.Child0, sourceEnd); 652m_command.CreateGetEntityRefOp(derefOpNode.Child0.Op.Type), 654Node keyComparisonPred = m_command.BuildComparison(OpType.EQ, derefOpNode.Child0, entityRefNode); 1091Node subQueryRelOp = n.Child0; 1228if (op.OpType == OpType.IsNull && TypeSemantics.IsRowType(n.Child0.Op.Type) || TypeSemantics.IsComplexType(n.Child0.Op.Type)) 1230StructuredTypeNullabilityAnalyzer.MarkAsNeedingNullSentinel(m_typesNeedingNullSentinel, n.Child0.Op.Type); 1288bool visitChildLater = IsNavigationPropertyOverVarRef(n.Child0); 1295Node ret = RewriteNavigationProperty(navProperty, n.Child0, op.Type); 1313Node currentNode = n.Child0; 1316currentNode = currentNode.Child0; 1375if (CanRewriteTypeTest(op.Type.EdmType, n.Child0.Op.Type.EdmType)) 1379return n.Child0; 1400if (CanRewriteTypeTest(op.IsOfType.EdmType, n.Child0.Op.Type.EdmType)) 1469Node isNullNode = m_command.CreateNode(isNullOp, n.Child0); 2249return VisitNode(n.Child0); 2278ScanTableOp scanTableOp = n.Child0.Op as ScanTableOp; 2286VarRefOp varRefOp = n.Child1.Child0.Op as VarRefOp; 2314Node ret = ProcessScanTable(n.Child0, (ScanTableOp)n.Child0.Op, ref typeFilter); 2342if (OpType.Sort == n.Child0.Op.OpType || OpType.ConstrainedSort == n.Child0.Op.OpType) 2344SortBaseOp sort = (SortBaseOp)n.Child0.Op; 2354for (int i = 1; i < n.Child0.Children.Count; i++) 2356sortChildren.Add(n.Child0.Children[i]); 2360n.Child0 = n.Child0.Child0;
System\Data\Query\PlanCompiler\ProjectionPruner.cs (11)
420if (op.Keys.Count > 1 && n.Child0.Op.OpType == OpType.Project) 422RemoveRedundantConstantKeys(op.Keys, ((ProjectOp)n.Child0.Op).Outputs, n.Child0.Child1); 442ExtendedNodeInfo nodeInfo = m_command.GetExtendedNodeInfo(n.Child0); 445n.Child0 = VisitNode(n.Child0); // visit the child 533&& PlanCompilerUtil.IsConstantBaseOp(d.Child0.Op.OpType)).ToList(); 574result.Child0, result.Child1, result.Child2); 606n.Child0 = VisitNode(n.Child0); 641return op.Outputs.IsEmpty ? n.Child0 : n; 721n.Child0 = VisitNode(n.Child0); 781ProjectOp projectOp = (ProjectOp)n.Child0.Op;
System\Data\Query\PlanCompiler\PropertyPushdownHelper.cs (15)
298AddPropertyRefs(n.Child0, childProps); 350md.TypeUsage childOpType = (n.Child0.Op as ScalarOp).Type; 393ScalarOp childOp = n.Child0.Op as ScalarOp; 400AddPropertyRefs(n.Child0, desiredProperties); 402VisitNode(n.Child0); 419AddPropertyRefs(n.Child0, childProps); 467AddPropertyRefs(n.Child0, cdProps); 513AddPropertyRefs(n.Child0, childProps); 554AddPropertyRefs(n.Child0, myProps); 588VisitNode(n.Child0); // the left input 620VisitNode(n.Child0); // then visit the relop input 667VisitNode(n.Child0); // then, the left input 680VisitNode(n.Child0); // then visit the relop input 708Var inputVar = NominalTypeEliminator.GetSingletonVar(n.Child0); 778VisitNode(n.Child0);
System\Data\Query\PlanCompiler\SubqueryTrackingVisitor.cs (1)
211Node newInputNode = AugmentWithSubqueries(n.Child0, nestedSubqueries, true);
System\Data\Query\PlanCompiler\TransformationRules.cs (128)
299if (!IsScalarOpTree(chi.Child0, null, ref nonLeafNodeCount)) 321PlanCompiler.Assert(n == chi.Child0, "reusing varDef for different Node?"); 325varMap.Add(varDefOp.Var, chi.Child0); 1078bool? comparisonStatus = node.Child0.Op.IsEquivalent(node.Child1.Op); 1133InternalConstantOp strOp = (InternalConstantOp)n.Child0.Op; 1219return ProcessLogOpOverConstant(context, node, node.Child1, node.Child0, out newNode); 1223return ProcessLogOpOverConstant(context, node, node.Child0, node.Child1, out newNode); 1227return ProcessLogOpOverConstant(context, node, node.Child1, node.Child0, out newNode); 1231return ProcessLogOpOverConstant(context, node, node.Child0, node.Child1, out newNode); 1235return ProcessLogOpOverConstant(context, node, node.Child0, null, out newNode); 1325Var v = ((VarRefOp)isNullNode.Child0.Op).Var; 1402ExtendedNodeInfo inputNodeInfo = command.GetExtendedNodeInfo(filterNode.Child0); 1435filterNode.Child0.Child1, filterNode.Child1); 1437newNode = context.Command.CreateNode(context.Command.CreateFilterOp(), filterNode.Child0.Child0, newAndNode); 1484Node projectNode = filterNode.Child0; 1499Node newFilterNode = trc.Command.CreateNode(trc.Command.CreateFilterOp(), projectNode.Child0, remappedPredicateNode); 1564Node setOpNode = filterNode.Child0; 1659Node distinctNode = filterNode.Child0; 1660Node pushdownFilterNode = context.Command.CreateNode(context.Command.CreateFilterOp(), distinctNode.Child0, pushdownPredicate); 1703Node groupByNode = filterNode.Child0; 1742Node subFilterNode = trc.Command.CreateNode(trc.Command.CreateFilterOp(), groupByNode.Child0, remappedPushdownPredicate); 1806Node joinNode = filterNode.Child0; 1808Node leftInputNode = joinNode.Child0; 1959Node applyNode = filterNode.Child0; 1973Node newApplyNode = command.CreateNode(command.CreateCrossApplyOp(), applyNode.Child0, applyRightInputNode); 2009newNode = n.Child0; 2021if (n.Child0.Op.OpType == OpType.SingleRowTable || 2022(n.Child0.Op.OpType == OpType.Project && 2023n.Child0.Child0.Op.OpType == OpType.SingleRowTable)) 2029ExtendedNodeInfo childNodeInfo = trc.Command.GetExtendedNodeInfo(n.Child0); 2115Node subProjectNode = projectNode.Child0; 2124if (!trc.IsScalarOpTree(varDefNode.Child0, varRefMap)) 2143varDefNode.Child0 = trc.ReMap(varDefNode.Child0, varMap); 2163projectNode.Child0 = subProjectNode.Child0; 2199newNode = n.Child0; 2242Node definingExprNode = varDefNode.Child0; 2271VarRefOp varRefOp = varDefNode.Child0.Op as VarRefOp; 2332if (varDefListNode.Children.Where(c => c.Child0.Op.OpType == OpType.NullSentinel).Count() == 0) 2339ExtendedNodeInfo relOpInputNodeInfo = command.GetExtendedNodeInfo(n.Child0); 2348if (!canChangeNullSentinelValue || !TransformationRulesContext.TryGetInt32Var(n.Child1.Children.Where(child => child.Child0.Op.OpType == OpType.Constant || child.Child0.Op.OpType == OpType.InternalConstant).Select(child => ((VarDefOp)(child.Op)).Var), out inputSentinel)) 2350inputSentinel = n.Child1.Children.Where(child => child.Child0.Op.OpType == OpType.NullSentinel).Select(child => ((VarDefOp)(child.Op)).Var).FirstOrDefault(); 2363Node definingExprNode = varDefNode.Child0; 2439NodeInfo filterInputNodeInfo = command.GetNodeInfo(filterNode.Child0); 2440ExtendedNodeInfo applyLeftChildNodeInfo = command.GetExtendedNodeInfo(applyNode.Child0); 2468newNode = command.CreateNode(joinOp, applyNode.Child0, filterNode.Child0, filterNode.Child1); 2516Node filterNode = projectNode.Child0; 2517Node filterInputNode = filterNode.Child0; 2521ExtendedNodeInfo applyLeftChildNodeInfo = command.GetExtendedNodeInfo(applyNode.Child0); 2567Node varDefNode = projectNode.Child1.Child0; 2568if (varDefNode.Child0.Op.OpType == OpType.NullSentinel && sentinelIsInt32 && trc.CanChangeNullSentinelValue) 2574varDefNode.Child0 = trc.BuildNullIfExpression(sentinelVar, varDefNode.Child0); 2605Node joinNode = command.CreateNode(command.CreateLeftOuterJoinOp(), applyNode.Child0, joinNodeRightInput, filterNode.Child1); 2653applyNode.Child1 = projectNode.Child0; 2710ExtendedNodeInfo inputNodeInfo = context.Command.GetExtendedNodeInfo(projectNode.Child0); 2720(varDefListNode.Child0.Child0.Op.OpType == OpType.InternalConstant || varDefListNode.Child0.Child0.Op.OpType == OpType.NullSentinel)) 2730ExtendedNodeInfo projectInputNodeInfo = command.GetExtendedNodeInfo(projectNode.Child0); 2744VarRefOp varRefOp = varDefNode.Child0.Op as VarRefOp; 2755dummyProjectNode = command.CreateNode(dummyProjectOp, projectNode.Child0, dummyProjectVarDefListNode); 2763if (nullSentinelDefinitionOp != null && ((true == nullSentinelDefinitionOp.IsEquivalent(varDefNode.Child0.Op)) || 2765varDefNode.Child0.Op.OpType == OpType.NullSentinel)) 2771currentDefinition = trc.BuildNullIfExpression(sentinelVar, varDefNode.Child0); 2788applyNode.Child1 = dummyProjectNode != null ? dummyProjectNode : projectNode.Child0; 2796ExtendedNodeInfo applyLeftChildNodeInfo = command.GetExtendedNodeInfo(applyNode.Child0); 2829Node applyLeftChild = applyNode.Child0; 2929ExtendedNodeInfo applyLeftChildNodeInfo = command.GetExtendedNodeInfo(applyNode.Child0); 2953applyNode.Child0, 3099return VisitNode(n.Child0); 3155return VisitNode(n.Child0); 3220Var newVar = m_command.CreateComputedVar(n.Child0.Op.Type); 3416(joinNode.Child0.Op.OpType == OpType.Project) && 3419ProjectOp projectOp1 = (ProjectOp)joinNode.Child0.Op; 3422Dictionary<Var, Node> varMap1 = trc.GetVarMap(joinNode.Child0.Child1, varRefMap); 3433newJoinNode = context.Command.CreateNode(joinNode.Op, joinNode.Child0.Child0, joinNode.Child1.Child0, joinConditionNode); 3437newJoinNode = context.Command.CreateNode(joinNode.Op, joinNode.Child0.Child0, joinNode.Child1.Child0); 3446varDefNodes.AddRange(joinNode.Child0.Child1.Children); 3459if (joinNode.Child0.Op.OpType == OpType.Project) 3487joinNode.Children[projectNodeIdx] = projectNode.Child0; // bypass the projectOp 3558Node newLeftInput = joinNode.Child0; 3560if (joinNode.Child0.Op.OpType == OpType.Filter) 3562predicateNode = joinNode.Child0.Child1; 3563newLeftInput = joinNode.Child0.Child0; // bypass the filter 3580newRightInput = joinNode.Child1.Child0; // bypass the filter 3647if (joinNode.Child0.Op.OpType == OpType.SingleRowTable) 3653newNode = joinNode.Child0; 3708ExtendedNodeInfo childNodeInfo = context.Command.GetExtendedNodeInfo(singleRowNode.Child0); 3714newNode = singleRowNode.Child0; 3722if (singleRowNode.Child0.Op.OpType == OpType.Filter) 3724Predicate predicate = new Predicate(context.Command, singleRowNode.Child0.Child1); 3728newNode = singleRowNode.Child0; 3753Node projectNode = singleRowNode.Child0; 3754Node projectNodeInput = projectNode.Child0; 3814bool leftChildIsEmptySet = context.Command.GetExtendedNodeInfo(setOpNode.Child0).MaxRows == RowCount.Zero; 3901Node definingExprNode = varDefNode.Child0; 3929VarRefOp varRefOp = varDefNode.Child0.Op as VarRefOp; 3978Node projectNode = n.Child0; 4006if (varDefNode.Child0.Op.OpType == OpType.Constant || varDefNode.Child0.Op.OpType == OpType.InternalConstant || varDefNode.Child0.Op.OpType == OpType.NullSentinel) 4031varToDefiningNode.Add(var, varDefNode.Child0); 4036newNode.Child0 = projectNode.Child0; 4180ExtendedNodeInfo nodeInfo = command.GetExtendedNodeInfo(n.Child0); 4186newNode = command.CreateNode(newOp, n.Child0, n.Child1); 4238if (n.Child0.Op.OpType != OpType.ScanTable) 4244|| n.Child2.Child0 == null 4245|| n.Child2.Child0.Child0 == null 4246|| n.Child2.Child0.Child0.Op.OpType != OpType.Aggregate) 4253var sourceTable = ((ScanTableOp)n.Child0.Op).Table; 4311n.Child0, 4349ExtendedNodeInfo nodeInfo = ((TransformationRulesContext)context).Command.GetExtendedNodeInfo(n.Child0); 4354newNode = n.Child0; 4388ExtendedNodeInfo nodeInfo = ((TransformationRulesContext)context).Command.GetExtendedNodeInfo(n.Child0); 4393newNode = n.Child0; 4430ExtendedNodeInfo nodeInfo = command.GetExtendedNodeInfo(n.Child0); 4443newNode = command.CreateNode(newOp, n.Child0, varDefListNode);