Rules and calculation
The pre-fetching Rules Engine has a completely different method of calculating rules. Instead of fetching each data cell individually as the requirement arises, the pre-fetching Rules Engine calculates the entire range of cells that the rule is required to execute. This data is fetched as a block in as few operations as possible. The question of whether a given cell is empty is ignored. The fetch requests all the cells, whether empty or not. Only the non-empty cells return data and only this data is processed.
Sometimes it is not clear where the data comes from without executing the rule.
This is the case with conditional rules; that is, with rules containing the IF
function. For example, if the location of a target cell
depends on whether the evaluation of a condition is true or false, then it cannot be
clear where the data is supposed to come from. This problem is solved by fetching the
data for the evaluation of all conditions first. It continues with two sub-queries, one
for the cases where the condition is true and the other one for where the condition is
false.