/** * Populates the independent runtime iterator map for index creation purposes. This method does * not create any canonicalized index ids etc. */ public void addToIndependentRuntimeItrMapForIndexCreation(CompiledIteratorDef itrDef) throws AmbiguousNameException, TypeMismatchException, NameResolutionException { Set set = new HashSet(); this.computeUltimateDependencies(itrDef, set); // If the set is empty then add the self RuntimeIterator to the Map. if (set.isEmpty()) { RuntimeIterator itr = itrDef.getRuntimeIterator(this); set.add(itr); } this.itrDefToIndpndtRuntimeItrMap.put(itrDef, set); }
/** * This function returns the ultimate independent RuntimeIterators of current scope on which the * CompiledValue passed is dependent upon. This does not return the RuntimeIterators on which it * may be dependent but are not part of the current scope. If no such RuntimeIterator exists it * returns empty set. * * @param compiledValue CompiledValue Object * @param context ExecutionContextobject * @return Set containing the ultimate independent RuntimeIterators of current scope */ static Set getCurrentScopeUltimateRuntimeIteratorsIfAny(CompiledValue compiledValue, ExecutionContext context) { Set set = new HashSet(); context.computeUltimateDependencies(compiledValue, set); Iterator iter = set.iterator(); while (iter.hasNext()) { RuntimeIterator rIter = (RuntimeIterator) iter.next(); if (rIter.getScopeID() != context.currentScope().getScopeID()/* context.getScopeCount() */) iter.remove(); } return set; }
throws AmbiguousNameException, TypeMismatchException, NameResolutionException { Set set = new HashSet(); context.computeUltimateDependencies(cv, set); if (set.size() != 1) return null;
context.computeUltimateDependencies(indexInfo._path, set1); Support.Assert(set1.size() == 1, " Since we are in Indexed Evaluate that means there has to be exactly one independent iterator for this compiled comparison");
throws AmbiguousNameException, TypeMismatchException, NameResolutionException { Set set = new HashSet(); this.computeUltimateDependencies(itrDef, set); RuntimeIterator itr = null; String rgnPath = null;