|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "pgpa_join.h"#include "pgpa_scan.h"#include "pgpa_walker.h"#include "nodes/pathnodes.h"#include "nodes/print.h"#include "parser/parsetree.h"
Go to the source code of this file.
Data Structures | |
| struct | pgpa_join_unroller |
Definition at line 626 of file pgpa_join.c.
References fb(), IsA, and plan.
Referenced by pgpa_decompose_join(), and pgpa_unroll_join().
Definition at line 635 of file pgpa_join.c.
Referenced by pgpa_decompose_join(), pgpa_descend_any_gather(), pgpa_descend_any_unique(), and pgpa_unroll_join().
| pgpa_unrolled_join * pgpa_build_unrolled_join | ( | pgpa_plan_walker_context * | walker, |
| pgpa_join_unroller * | join_unroller | ||
| ) |
Definition at line 230 of file pgpa_join.c.
References Assert, fb(), i, palloc0_array, palloc0_object, pgpa_build_scan(), and pgpa_build_unrolled_join().
Referenced by pgpa_build_unrolled_join(), and pgpa_walk_recursively().
| pgpa_join_unroller * pgpa_create_join_unroller | ( | void | ) |
Definition at line 64 of file pgpa_join.c.
References fb(), pgpa_join_unroller::nallocated, palloc0_object, and palloc_array.
Referenced by pgpa_unroll_join(), and pgpa_walk_recursively().
|
static |
Definition at line 339 of file pgpa_join.c.
References Assert, elog, ERROR, fb(), is_result_node_with_child(), is_sorting_plan(), IsA, JOIN_RIGHT_SEMI, JOIN_SEMI, JSTRAT_HASH_JOIN, JSTRAT_MERGE_JOIN_MATERIALIZE, JSTRAT_MERGE_JOIN_PLAIN, JSTRAT_NESTED_LOOP_MATERIALIZE, JSTRAT_NESTED_LOOP_MEMOIZE, JSTRAT_NESTED_LOOP_PLAIN, Plan::lefttree, nodeTag, pgpa_add_future_feature(), pgpa_descend_any_gather(), pgpa_descend_any_unique(), pgpa_descend_node(), pgpa_last_elided_node(), PGPAQF_SEMIJOIN_NON_UNIQUE, PGPAQF_SEMIJOIN_UNIQUE, plan, and Plan::righttree.
Referenced by pgpa_unroll_join().
|
static |
Definition at line 536 of file pgpa_join.c.
References fb(), is_sorting_plan(), IsA, pgpa_descend_node(), and plan.
Referenced by pgpa_decompose_join().
|
static |
Definition at line 577 of file pgpa_join.c.
References AGGSPLIT_SIMPLE, fb(), is_sorting_plan(), IsA, pgpa_descend_node(), and plan.
Referenced by pgpa_decompose_join().
|
static |
Definition at line 518 of file pgpa_join.c.
References pgpa_last_elided_node(), and plan.
Referenced by pgpa_decompose_join(), pgpa_descend_any_gather(), and pgpa_descend_any_unique().
| void pgpa_destroy_join_unroller | ( | pgpa_join_unroller * | join_unroller | ) |
| void pgpa_unroll_join | ( | pgpa_plan_walker_context * | walker, |
| Plan * | plan, | ||
| bool | beneath_any_gather, | ||
| pgpa_join_unroller * | join_unroller, | ||
| pgpa_join_unroller ** | outer_join_unroller, | ||
| pgpa_join_unroller ** | inner_join_unroller | ||
| ) |
Definition at line 105 of file pgpa_join.c.
References Assert, fb(), is_result_node_with_child(), is_sorting_plan(), IsA, pgpa_join_unroller::nallocated, pgpa_create_join_unroller(), pgpa_decompose_join(), pgpa_is_join(), plan, and repalloc_array.
Referenced by pgpa_walk_recursively().