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.