Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
When attempting to precalculated nodes during an expression prepare
stage, be more intelligent about compiling AND or OR nodes We can take advantage of the fact that and AND node will ALWAYS be false if either input node is static and evaluates to FALSE, and that OR nodes will always be true if either input is static and evaluates to TRUE. In some cases this allows us the shortcut and cut out non-static nodes during preparation, resulting in faster evaluation and more easily compiled expressions...
- Loading branch information
1 parent
66ab5af
commit 14f2ab5
Showing
4 changed files
with
133 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -283,6 +283,7 @@ Returns the node's static cached value. Only valid if :py:func:`~QgsExpressionNo | |
protected: | ||
|
||
|
||
|
||
}; | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters