Move processing each part of the query into its own functions

This commit doesn't change any of the logic at all.

Instead, the goal is to:

 * Get rid of any code duplication
 * Incremental changes to the optimizer made it slightly hard
   to follow the code, improve that and make it easier to
   implement new features
 * Simplify the code by moving each part of query processing (e.g.,
   DISTINCT, LIMIT etc) into its own function
 * Make the interaction between each part of the query more
   obvious (e.g., How DISTINCT affects LIMIT etc)
pull/2107/head
Onder Kalaci 2018-04-11 16:59:42 +03:00
parent ca2818b569
commit 832c91e28c
2 changed files with 609 additions and 219 deletions

View File

@ -123,6 +123,10 @@ GroupedByDisjointPartitionColumn(List *tableNodeList, MultiExtendedOp *opNode)
}
/*
* ExtendedOpNodeContainsRepartitionSubquery is a utility function that
* returns true if the extended op node contains a re-partition subquery.
*/
static bool
ExtendedOpNodeContainsRepartitionSubquery(MultiExtendedOp *originalOpNode)
{

File diff suppressed because it is too large Load Diff