1 instantiation of VarVec
System.Data.Entity (1)
System\Data\Query\InternalTrees\Command.cs (1)
172vec = new VarVec(this);
263 references to VarVec
System.Data.Entity (263)
System\Data\Query\InternalTrees\Command.cs (35)
46private Stack<VarVec.VarVecEnumerator> m_freeVarVecEnumerators; 47private Stack<VarVec> m_freeVarVecs; 82m_freeVarVecEnumerators = new Stack<VarVec.VarVecEnumerator>(); 83m_freeVarVecs = new Stack<VarVec>(); 167internal VarVec CreateVarVec() 169VarVec vec; 187internal VarVec CreateVarVec(Var v) 189VarVec varset = CreateVarVec(); 199internal VarVec CreateVarVec(IEnumerable<Var> v) 201VarVec vec = CreateVarVec(); 211internal VarVec CreateVarVec(VarVec v) 213VarVec vec = CreateVarVec(); 222internal void ReleaseVarVec(VarVec vec) 235internal VarVec.VarVecEnumerator GetVarVecEnumerator(VarVec vec) 237VarVec.VarVecEnumerator enumerator; 242enumerator = new VarVec.VarVecEnumerator(vec); 256internal void ReleaseVarVecEnumerator(VarVec.VarVecEnumerator enumerator) 1162internal ProjectOp CreateProjectOp(VarVec vars) 1173VarVec varSet = this.CreateVarVec(); 1312internal GroupByOp CreateGroupByOp(VarVec gbyKeys, VarVec outputs) 1324internal GroupByIntoOp CreateGroupByIntoOp(VarVec gbyKeys, VarVec inputs, VarVec outputs) 1334internal DistinctOp CreateDistinctOp(VarVec keyVars) 1369VarVec vec = this.CreateVarVec(); 1386VarVec vec = this.CreateVarVec(); 1402VarVec vec = this.CreateVarVec(); 1472internal static CollectionInfo CreateCollectionInfo(Var collectionVar, ColumnMap columnMap, VarList flattenedElementVars, VarVec keys, List<InternalTrees.SortKey> sortKeys, object discriminatorValue) 1487internal SingleStreamNestOp CreateSingleStreamNestOp(VarVec keys, 1489VarVec outputVars, 1502internal MultiStreamNestOp CreateMultiStreamNestOp(List<SortKey> prefixSortKeys, VarVec outputVars, 1688VarVec projectVars = this.CreateVarVec(inputVars);
System\Data\Query\InternalTrees\Metadata.cs (6)
196private VarVec m_referencedColumns; 197private VarVec m_keys; 198private VarVec m_nonnullableColumns; 242internal VarVec ReferencedColumns 250internal VarVec NonNullableColumns { get { return m_nonnullableColumns; } } 255internal VarVec Keys { get { return m_keys; } }
System\Data\Query\InternalTrees\NodeInfo.cs (23)
29private VarVec m_keys; 92internal VarVec KeyVars { get { return m_keys; } } 108private VarVec m_externalReferences; 132internal VarVec ExternalReferences 150internal static int GetHashValue(VarVec vec) 220private VarVec m_localDefinitions; 221private VarVec m_definitions; 223private VarVec m_nonNullableDefinitions; 224private VarVec m_nonNullableVisibleDefinitions; 273internal VarVec LocalDefinitions { get { return m_localDefinitions; } } 277internal VarVec Definitions { get { return m_definitions; } } 285internal VarVec NonNullableDefinitions { get { return m_nonNullableDefinitions; } } 289internal VarVec NonNullableVisibleDefinitions { get { return m_nonNullableVisibleDefinitions; } } 429private bool IsDefinitionNonNullable(Node definition, VarVec nonNullableInputs) 644VarVec keyVec = m_command.CreateVarVec(relOpChildNodeInfo.Keys.KeyVars); 646VarVec mappedKeyVec = keyVec.Remap(varRenameMap); 647VarVec mappedKeyVecClone = mappedKeyVec.Clone(); 648VarVec opVars = m_command.CreateVarVec(op.Outputs); 1060VarVec nodeKeys = m_command.CreateVarVec(); 1061VarVec mappedKeyVec; 1095VarVec leftNonNullableVars = leftChildNodeInfo.NonNullableDefinitions.Remap(op.VarMap[0].GetReverseMap()); 1100VarVec rightNonNullableVars = rightChildNodeInfo.NonNullableDefinitions.Remap(op.VarMap[1].GetReverseMap()); 1291VarVec missingKeys = m_command.CreateVarVec(driverChildNodeInfo.Keys.KeyVars);
System\Data\Query\InternalTrees\OpCopier.cs (8)
182private VarVec Copy(VarVec vars) 184VarVec newVarVec = m_destCmd.CreateVarVec(MapVars(vars)); 741VarVec newVarSet = Copy(op.Outputs); 1014VarVec newDistinctKeys = Copy(op.Keys); 1119VarVec newKeys = Copy(ci.Keys); 1125VarVec newOutputs = Copy(op.Outputs); 1131VarVec newKeys = Copy(ssnOp.Keys);
System\Data\Query\InternalTrees\PhysicalOps.cs (11)
127internal VarVec Keys 152internal CollectionInfo(Var collectionVar, ColumnMap columnMap, VarList flattenedElementVars, VarVec keys, List<InternalTrees.SortKey> sortKeys, object discriminatorValue) 167private VarVec m_keys; //list of keys specific to this collection 193internal VarVec Outputs 209VarVec outputVars, 221private VarVec m_outputs; // list of all output vars 255internal VarVec Keys 286internal SingleStreamNestOp(VarVec keys, 288VarVec outputVars, List<CollectionInfo> collectionInfoList, 299private VarVec m_keys; // keys for this operation 331internal MultiStreamNestOp(List<SortKey> prefixSortKeys, VarVec outputVars,
System\Data\Query\InternalTrees\RelOps.cs (25)
475private VarVec m_vars; 482internal ProjectOp(VarVec vars) : this() 501internal VarVec Outputs { get { return m_vars; } } 688private VarVec m_keys; 689private VarVec m_outputs; 697internal GroupByBaseOp(OpType opType, VarVec keys, VarVec outputs) 709internal VarVec Keys { get { return m_keys; } } 714internal VarVec Outputs { get { return m_outputs; } } 742internal GroupByOp(VarVec keys, VarVec outputs) 781private readonly VarVec m_inputs; 786internal GroupByIntoOp(VarVec keys, VarVec inputs, VarVec outputs) 797internal VarVec Inputs { get { return m_inputs; } } 832private VarVec m_outputVars; 836internal SetOp(OpType opType, VarVec outputs, VarMap left, VarMap right) 864internal VarVec Outputs { get { return m_outputVars; } } 880internal UnionAllOp(VarVec outputs, VarMap left, VarMap right, Var branchDiscriminator) : base(OpType.UnionAll, outputs, left, right) 921internal IntersectOp(VarVec outputs, VarMap left, VarMap right) : base(OpType.Intersect, outputs, left,right) { } 953internal ExceptOp(VarVec outputs, VarMap left, VarMap right) : base(OpType.Except, outputs, left, right) { } 984private VarVec m_keys; 991internal DistinctOp(VarVec keyVars) : this() 1010internal VarVec Keys { get { return m_keys; } }
System\Data\Query\InternalTrees\Vars.cs (15)
226internal VarVecEnumerator(VarVec vec) 237internal void Init(VarVec vec) 311internal void And(VarVec other) 317internal void Or(VarVec other) 328internal void Minus(VarVec other) 330VarVec tmp = m_command.CreateVarVec(other); 342internal bool Overlaps(VarVec other) 344VarVec otherCopy = m_command.CreateVarVec(other); 358internal bool Subsumes(VarVec other) 371internal void InitFrom(VarVec other) 468internal VarVec Remap(Dictionary<Var, Var> varMap) 470VarVec newVec = m_command.CreateVarVec(); 494private void Align(VarVec other) 544public VarVec Clone() 546VarVec newVec = m_command.CreateVarVec();
System\Data\Query\PlanCompiler\CTreeGenerator.cs (2)
1518VarVec sortVars = _iqtCommand.CreateVarVec(); 2095private DbExpression VisitSetOpArgument(Node argNode, VarVec outputVars, VarMap argVars)
System\Data\Query\PlanCompiler\ITreeGenerator.cs (9)
2453VarVec keyVarSet = _iqtCommand.CreateVarVec(); 2454VarVec outputVarSet = _iqtCommand.CreateVarVec(); 2476VarVec copyOutputVarSet = _iqtCommand.CreateVarVec(); 2477VarVec copyKeyVarSet = _iqtCommand.CreateVarVec(); 2581private void ExtractKeys(DbGroupByExpression e, VarVec keyVarSet, VarVec outputVarSet, out Node inputNode, out List<Node> keyVarDefNodes, out ExpressionBindingScope scope) 2669private Node ProcessGroupAggregate(List<Node> keyVarDefNodes, Node copyOfInput, List<Node> copyOfkeyVarDefNodes, VarVec copyKeyVarSet, TypeUsage inputResultType, out Var groupAggVar) 2676VarVec projectOutpus = _iqtCommand.CreateVarVec(); 2819VarVec projectedVars = _iqtCommand.CreateVarVec();
System\Data\Query\PlanCompiler\JoinGraph.cs (17)
176private VarVec m_nullableColumns; 248internal VarVec NullableColumns 489private Dictionary<Var, VarVec> m_reverseVarMap; 518m_reverseVarMap = new Dictionary<Var, VarVec>(); 588private VarVec GetColumnVars(VarVec varVec) 590VarVec columnVars = m_command.CreateVarVec(); 656VarVec leftDefinitions = GetColumnVars(leftInputNodeInfo.Definitions); 657VarVec rightDefinitions = GetColumnVars(rightInputNodeInfo.Definitions); 1538VarVec oldReplacedVars; 1544VarVec replacedVars; 1716VarVec keyVars = m_command.CreateVarVec(joinEdge.Right.Table.Keys); 1807VarVec keyVars = m_command.CreateVarVec(joinEdge.Left.Table.Keys); 1969VarVec keys = null; 1972VarVec replacedVars; 2322private Node BuildFilterForNullableColumns(Node inputNode, VarVec nonNullableColumns) 2329VarVec remappedVarVec = nonNullableColumns.Remap(m_varMap);
System\Data\Query\PlanCompiler\KeyPullup.cs (6)
140VarVec outputVars = m_command.CreateVarVec(op.Outputs); 144VarVec mappedKeyVec = childNodeInfo.Keys.KeyVars.Remap(varRenameMap); 234VarVec[] keyVarsMissingFromOutput = new VarVec[n.Children.Count]; 247VarVec existingKeyVars = branchNodeInfo.Keys.KeyVars.Remap(op.VarMap[i]); 282VarVec branchOutputVars = m_command.CreateVarVec();
System\Data\Query\PlanCompiler\NestPullup.cs (41)
266private VarVec RemapVarVec(VarVec varVec, Dictionary<Var, Var> varMap) 268VarVec newVarVec = Command.CreateVarVec(RemapVars(varVec, varMap)); 366VarVec newOutputs = ((ProjectOp)n.Child0.Op).Outputs; 544VarVec newOutputVars = Command.CreateVarVec(xni.Definitions); 728VarVec projectOpOutputs = Command.CreateVarVec(op.Outputs); 729VarVec groupByOutputs = op.Outputs; 906VarVec nestOpCollectionOutputs = Command.CreateVarVec(); 915VarVec newOutputVars = Command.CreateVarVec(nestOp.Outputs); 989VarVec externalReferences = Command.CreateVarVec(); 990VarVec collectionReferences = Command.CreateVarVec(); 1046VarVec outputVars = Command.CreateVarVec(op.Outputs); 1050VarVec newProjectVars = Command.CreateVarVec(op.Outputs); 1097VarVec newNestedProjectOutputs = Command.CreateVarVec(nestedNestOp.Outputs); 1116VarVec newNestedNestOutputs = Command.CreateVarVec(newNestedProjectOutputs); 1183private void EnsureReferencedVarsAreRemoved(List<Node> referencedVars, VarVec outputVars) 1229private void ConvertToNestOpInput(Node physicalProjectNode, Var collectionVar, List<CollectionInfo> collectionInfoList, List<Node> collectionNodes, VarVec externalReferences, VarVec collectionReferences) 1243VarVec flattenedElementVarVec = Command.CreateVarVec(flattenedElementVarList); // Use a VarVec to make the lookups faster 1267VarVec keyVars = Command.GetExtendedNodeInfo(nestOpInput).Keys.KeyVars; 1270VarVec keyVarsClone = keyVars.Clone(); 1273VarVec keys = (keyVarsClone.IsEmpty) ? keyVars.Clone() : Command.CreateVarVec(); 1353VarVec oldNestOpCollectionOutputs = Command.CreateVarVec(); 1360VarVec oldNestOpNonCollectionOutputs = Command.CreateVarVec(nestOp.Outputs); 1364VarVec oldProjectOpNonCollectionOutputs = Command.CreateVarVec(projectOp.Outputs); 1368VarVec oldProjectOpCollectionOutputs = Command.CreateVarVec(projectOp.Outputs); 1373VarVec collectionsToRemove = Command.CreateVarVec(oldNestOpCollectionOutputs); 1403VarVec leftCorrelationVars = Command.CreateVarVec(); 1411VarVec newProjectOpOutputs = Command.CreateVarVec(oldProjectOpNonCollectionOutputs); 1465VarVec nestOpOutputs = Command.CreateVarVec(projectOp.Outputs); 1634VarVec sortVars = Command.CreateVarVec(); 1656VarVec sortVars = Command.CreateVarVec(); 2031VarVec sortVars = Command.CreateVarVec(); 2146VarVec childKeys = Command.CreateVarVec(((SingleStreamNestOp)nestNode.Children[i].Op).Keys); 2181VarVec drivingNodeVarVec = drivingNodeInfo.Definitions; 2216VarVec flattenedOutputVarVec = Command.CreateVarVec(flattenedOutputVarList); 2217VarVec nestOpOutputs = Command.CreateVarVec(flattenedOutputVarVec); 2244VarVec parentKeys = RemapVarVec(drivingNodeKeys.KeyVars, drivingNodeVarMap); 2272VarVec newCollectionKeys = RemapVarVec(ci.Keys, varMapList[i]); 2456VarVec projectOutputs = Command.CreateVarVec(inputNodeInfo.Definitions); 2570VarVec projectOutputsVarSet = Command.CreateVarVec(projectOutputs);
System\Data\Query\PlanCompiler\NominalTypeEliminator.cs (11)
1024private VarVec FlattenVarSet(VarVec varSet) 1026VarVec newVarSet = m_command.CreateVarVec(FlattenVars(varSet)); 1053VarVec newKeys = FlattenVarSet(op.Keys); 1075VarVec newKeys = FlattenVarSet(op.Keys); 1076VarVec newOutputs = FlattenVarSet(op.Outputs); 1103VarVec newKeys = FlattenVarSet(op.Keys); 1104VarVec newInputs = FlattenVarSet(op.Inputs); 1105VarVec newOutputs = FlattenVarSet(op.Outputs); 1130VarVec newVars = FlattenVarSet(op.Outputs); 1526VarVec newVarSet = m_command.CreateVarVec();
System\Data\Query\PlanCompiler\Normalizer.cs (2)
195VarVec keyVars = m_command.CreateVarVec(); // empty keys 198VarVec gbyOutputVars = m_command.CreateVarVec();
System\Data\Query\PlanCompiler\Predicate.cs (21)
136internal Predicate GetSingleTablePredicates(VarVec tableDefinitions, 139List<VarVec> tableDefinitionList = new List<VarVec>(); 156internal void GetEquiJoinPredicates(VarVec leftTableDefinitions, VarVec rightTableDefinitions, 180internal Predicate GetJoinPredicates(VarVec leftTableDefinitions, VarVec rightTableDefinitions, 211internal bool SatisfiesKey(VarVec keyVars, VarVec definitions) 215VarVec missingKeys = keyVars.Clone(); 250internal bool PreservesNulls(VarVec tableColumns, bool ansiNullSemantics) 290private void GetSingleTablePredicates(List<VarVec> tableDefinitions, 294foreach (VarVec vec in tableDefinitions) 299VarVec externalRefs = m_command.CreateVarVec(); 308VarVec tableColumns = tableDefinitions[i]; 378VarVec leftTableDefinitions, VarVec rightTableDefinitions, 421private static bool PreservesNulls(Node simplePredNode, VarVec tableColumns) 475private bool IsKeyPredicate(Node left, Node right, VarVec keyVars, VarVec definitions, out Var keyVar) 496VarVec otherVarExternalReferences = otherNodeInfo.ExternalReferences.Clone();
System\Data\Query\PlanCompiler\ProjectionPruner.cs (9)
65private class ColumnMapVarTracker : ColumnMapVisitor<VarVec> 77internal static void FindVars(ColumnMap columnMap, VarVec vec) 80columnMap.Accept<VarVec>(tracker, vec); 98internal override void Visit(VarRefColumnMap columnMap, VarVec arg) 111private VarVec m_referencedVars; // the list of referenced vars in the query 239private void PruneVarSet(VarVec varSet) 529private void RemoveRedundantConstantKeys(VarVec keyVec, VarVec outputVec, Node varDefListNode) 535VarVec constantKeyVars = this.m_command.CreateVarVec(constantKeys.Select(d => ((VarDefOp)d.Op).Var));
System\Data\Query\PlanCompiler\TransformationRules.cs (12)
415private readonly VarVec m_remappedVars; 1390private static Node GetPushdownPredicate(Command command, Node filterNode, VarVec columns, out Node nonPushdownPredicateNode) 2031VarVec newVars = trc.Command.CreateVarVec(); 2648VarVec vec = command.CreateVarVec(projectOp.Outputs); 2934VarVec projectOpOutputs = command.CreateVarVec(applyLeftChildNodeInfo.Definitions); 3408VarVec newVarSet = command.CreateVarVec(); 3479VarVec vec = command.CreateVarVec(projectOp.Outputs); 3991VarVec projectDefinitions = command.GetExtendedNodeInfo(projectNode).LocalDefinitions; 4102private VarVec m_varVec; 4103private VarVec m_usedVars; 4105private VarRefUsageFinder(VarVec varVec, Command command) 4119internal static bool AnyVarUsedMoreThanOnce(VarVec varVec, Node root, Command command)
System\Data\Query\PlanCompiler\VarRefManager.cs (7)
71internal bool HasKeyReferences(VarVec keys, Node definingNode, Node targetJoinNode) 117private static bool HasVarReferencesShallow(Node node, VarVec vars, int childIndex, out bool continueUp) 160private static bool HasVarReferences(VarList listToCheck, VarVec vars) 178private static bool HasVarReferences(VarVec listToCheck, VarVec vars) 189private static bool HasVarReferences(List<InternalTrees.SortKey> listToCheck, VarVec vars) 209private static bool HasVarReferences(SetOp op, VarVec vars, int index)
System\Data\Query\PlanCompiler\VarRemapper.cs (3)
162private void Map(VarVec vec) 164VarVec newVec = m_command.CreateVarVec(MapVars(vec)); 191VarVec sortVars = m_command.CreateVarVec();