Army wrote: > Daniel John Debrunner wrote: > >> >> Any pointers to the type of extra state kept around. Is it query tree >> nodes, collections, something else? > > > With Phase 1 of DERBY-805, a HashMap was added to each query tree node. > The map holds an Object->AccessPathImpl mapping for each OptimizerImpl > that occurs above the node in the query tree. The "Object" in this > mapping is an object that already existed; the AccessPathImpl is a new > object. > > See FromTable.addOrLoadBestPlanMapping() > > With Phase 4, additional entries to the HashMap are added for every > UnionNode, PRN, or JoinNode that occurs above the node...and also for > every occurrence of a node that doesn't implement "optimizeIt()".
I don't see anything ever being removed from these hashMaps. Is it possible to remove entries at any time? Dan.
