PostgreSQL Source Code
git master
|
#include "postgres.h"
#include <float.h>
#include <limits.h>
#include <math.h>
#include "optimizer/geqo.h"
#include "optimizer/joininfo.h"
#include "optimizer/pathnode.h"
#include "optimizer/paths.h"
#include "utils/memutils.h"
Go to the source code of this file.
Data Structures | |
struct | Clump |
Functions | |
static List * | merge_clump (PlannerInfo *root, List *clumps, Clump *new_clump, int num_gene, bool force) |
static bool | desirable_join (PlannerInfo *root, RelOptInfo *outer_rel, RelOptInfo *inner_rel) |
Cost | geqo_eval (PlannerInfo *root, Gene *tour, int num_gene) |
RelOptInfo * | gimme_tree (PlannerInfo *root, Gene *tour, int num_gene) |
|
static |
Definition at line 325 of file geqo_eval.c.
References have_join_order_restriction(), have_relevant_joinclause(), and root.
Referenced by merge_clump().
Cost geqo_eval | ( | PlannerInfo * | root, |
Gene * | tour, | ||
int | num_gene | ||
) |
Definition at line 57 of file geqo_eval.c.
References ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, Assert, RelOptInfo::cheapest_total_path, CurrentMemoryContext, gimme_tree(), list_length(), list_truncate(), MemoryContextDelete(), MemoryContextSwitchTo(), root, and Path::total_cost.
Referenced by geqo(), and random_init_pool().
RelOptInfo* gimme_tree | ( | PlannerInfo * | root, |
Gene * | tour, | ||
int | num_gene | ||
) |
Definition at line 163 of file geqo_eval.c.
References for(), Clump::joinrel, lfirst, linitial, list_length(), list_nth(), merge_clump(), NIL, palloc(), root, and Clump::size.
Referenced by geqo(), and geqo_eval().
|
static |
Definition at line 238 of file geqo_eval.c.
References bms_equal(), desirable_join(), foreach_delete_current, generate_partitionwise_join_paths(), generate_useful_gather_paths(), Clump::joinrel, lappend(), lfirst, list_insert_nth(), list_length(), list_nth(), make_join_rel(), NIL, pfree(), RelOptInfo::relids, root, set_cheapest(), and Clump::size.
Referenced by gimme_tree().