public void resetAnalysisState ( ) { m_countOfIndependentlyPartitionedTables = - 1 ; m_countOfPartitionedTables = - 1 ; m_fullColumnName = null ; m_inferredExpression . clear ( ) ; m_inferredParameterIndex = - 1 ; m_inferredValue = null ; m_isDML = false ; setJoinValid ( true ) ; setJoinInvalidReason ( null ) ; m_partitionColForDML = null ; }
Sometimes when we fail to plan a statement we try again with different inputs using the same StatementPartitioning object . In this case it s incumbent on callers to reset the cached analysis state set by calling this method .