2.330 QUERY_REWRITE_INTEGRITY
QUERY_REWRITE_INTEGRITY determines the degree to which Oracle must enforce query rewriting. At the safest level, Oracle does not use query rewrite transformations that rely on unenforced relationships.
| Property | Description |
|---|---|
|
Parameter type |
String |
|
Syntax |
|
|
Default value |
|
|
Modifiable |
|
|
Modifiable in a PDB |
Yes |
|
Basic |
No |
|
Oracle RAC |
Multiple instances can have different values. |
QUERY_REWRITE_INTEGRITY is relevant for materialized views as well as for foreign key constraints in NOVALIDATE state.
Values
-
enforcedOracle enforces and guarantees consistency and integrity.
-
trustedOracle allows rewrites using relationships that have been declared, but that are not enforced by Oracle.
-
stale_toleratedOracle allows rewrites using unenforced relationships. Materialized views are eligible for rewrite even if they are known to be inconsistent with the underlying detail data. You must set the
QUERY_REWRITE_INTEGRITYinitialization parameter tostale_toleratedbefore querying an external table in the In-Memory Column Store (IM column store).
If a foreign key constraint is in NOVALIDATE state, join elimination is not done when QUERY_REWRITE_INTEGRITY=enforced. This means that queries with joins over a foreign key constraint that is in RELY NOVALIDATE state can potentially take longer to parse and execute as the optimizer does not trust the RELY.
See Also:
-
Oracle AI Database Data Warehousing Guide for more information about query rewrite for materialized views
-
Oracle AI Database Data Warehousing Guide for more information about the
QUERY_REWRITE_INTEGRITYparameter