mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-09 00:08:52 -04:00
check if a node has already been determined to evaluate to a static, precalculated value, and if so, use this value for the node instead of attempting to compile the actual contents of the node itself If we are certain that a node is static and will never change, the this potentially allows us to short-cut a large part of the filter expressions content. We already use this short-cut when evaluating expressions on the QGIS side since years, and its proven to be stable and reliable. By respecting this during expression compilation we can offer a huge speed up to certain filter expressions, especially those which utilise QGIS variables which are known to be static (such as atlas variables, map scales, etc). Previously ANY use of a qgis variable would always cause expression compilation to fail and require a full set of feature fetching from the provider. (Resulted in orders of magnitude faster atlas export for a complex atlas.)