Priority: Not specified
Affects Version/s: None
Fix Version/s: None
Component/s: Code Generator
Still investigating, but example is kel352c.eclxml
There are some IFs of the form:
IF(EXISTS(a), b, c)
Where EXISTS(a) can be executed inline (canProcessInline is true), but it is quite complex, and the transforms contain code that requires child queries.
But that has two problems:
i) it means that the code isn't commoned up with other activities which also evaluate the same code as child query
ii) the code itself can be executed inline, but the transforms contain code that cannot be executed inline - so it isn't really "simple", although it appears so at first.
removing the canProcessInline() test in isEfficientToHoistDataset() significantly shrinks this particular query.