A transformation takes place for expressions like this:
WHERE column1 = column2 AND column2 = 'x'
For such expressions, since it is known that, if A=B and B=C then A=C (the Transitivity Law), the transformed condition becomes:
WHERE column1='x' AND column2='x'
This transformation occurs for
<operator> column2 conditions if and only if
<operator> is one of these operators:
=, <, >, <=, >=, <>, <=>, LIKE
That is, transitive transformations don't apply for
BETWEEN. Probably they should not apply for
LIKE either, but that's a story for another
Constant propagation happens in a loop, so the output from one propagation step can be input for the next step.
Copyright © 1997, 2014, Oracle and/or its affiliates. All rights reserved. Legal Notices