Answer: There
are some bug involved in 11g r2, and are fix by setting this
parameter to false.
The jpp in
_optimizer_extend_jppd_view_types tips stands for "join
predicate pushing" and this hint is a way to push a
predicate into a view. This can be a traditional view
or an "in-line" view.
The downside to re-usable code is that where
clause predicates must be "pushed" down the hierarchy of
views, down to the base query. This adds processing overhead
to the optimizer and increases the chances of a bad
execution plan.
Prior to the introduction of this parameter in 11g,
Oracle would not control predicate pushing for complex
queries with group by, anti joins, semi joins and
select distinct operations. When this happens
a 10053 trace will show:
JPPD:
Checking validity of push-down from SEL$1 (#1) to SEL$2 (#2)
JPPD: JPPD
bypassed: View contains a group by.
These restrictions are overcome in
11g. Also note that
_optimizer_extend_jppd_view_types only applies to
subqueries that use nested loops access. The
push_pred hint controls predicate pushing and it is
related to the _optimizer_extend_jppd_view_types
parameter.