forked from hpcc-systems/HPCC-Platform
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Various index count and aggregate fixes
Remove projects from count(keyed-limit(project(index))) A missing case from a switch statement meant projects weren't stripped when there was a keyed limit on the index read. Reduce the generated code size for an index count/exists The numValid(size, ptr) member was never called for an index, so default it to throwing an exception in the base class, and clean up numValid(ptr) code. CHOOSEN(LIMIT(index-read)) The choosen was not being combined within the compound indexread if there was a limit. It is however valid to do so since the choosen is done last. (A limit cannot be combined when there is an existing choosen.) This was unfortunate because it was frustrating another optimization. count(index-read) > n being converted to count(choosen(index-read,n+1)) > n (This is temporarily retained, but will be removed in a subsequent commit). IF(count(x) > 0, x, y) optimization Currently the intention is to perform a count-index on x before reading x. However if x contains a limit,skip it is going to need to read the entire result, so don't perform the count separately. Don't generate count(index) if there is a skip limit Optimize count(x) > 0 to exists(x) Instead of (count(x) > 0) becoming count(choosen(x, 1)) > 0 it is now transformed to exists(x) - which is either as efficient, or more efficient as the count representation. Remove no_notexists since never created Terminate hthor exists aggregate activity early Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
- Loading branch information
Showing
16 changed files
with
202 additions
and
158 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
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
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
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
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
Oops, something went wrong.