|
PostgreSQL Source Code git master
|


Go to the source code of this file.
Data Structures | |
| struct | pgpa_trove_entry |
| struct | pgpa_trove_result |
Typedefs | |
| typedef struct pgpa_trove | pgpa_trove |
| typedef struct pgpa_trove_entry | pgpa_trove_entry |
| typedef enum pgpa_trove_lookup_type | pgpa_trove_lookup_type |
| typedef struct pgpa_trove_result | pgpa_trove_result |
Enumerations | |
| enum | pgpa_trove_lookup_type { PGPA_TROVE_LOOKUP_JOIN , PGPA_TROVE_LOOKUP_REL , PGPA_TROVE_LOOKUP_SCAN } |
Functions | |
| pgpa_trove * | pgpa_build_trove (List *advice_items) |
| void | pgpa_trove_lookup (pgpa_trove *trove, pgpa_trove_lookup_type type, int nrids, pgpa_identifier *rids, pgpa_trove_result *result) |
| void | pgpa_trove_lookup_all (pgpa_trove *trove, pgpa_trove_lookup_type type, pgpa_trove_entry **entries, int *nentries) |
| char * | pgpa_cstring_trove_entry (pgpa_trove_entry *entry) |
| void | pgpa_trove_set_flags (pgpa_trove_entry *entries, Bitmapset *indexes, int flags) |
| void | pgpa_trove_append_flags (StringInfo buf, int flags) |
| typedef struct pgpa_trove pgpa_trove |
Definition at line 20 of file pgpa_trove.h.
| Enumerator | |
|---|---|
| PGPA_TROVE_LOOKUP_JOIN | |
| PGPA_TROVE_LOOKUP_REL | |
| PGPA_TROVE_LOOKUP_SCAN | |
Definition at line 51 of file pgpa_trove.h.
|
extern |
Definition at line 133 of file pgpa_trove.c.
References Assert, pgpa_advice_target::children, fb(), foreach_ptr, pgpa_trove::join, palloc0_object, palloc_object, pgpa_init_trove_slice(), PGPA_TAG_BITMAP_HEAP_SCAN, PGPA_TAG_DO_NOT_SCAN, PGPA_TAG_FOREIGN_JOIN, PGPA_TAG_GATHER, PGPA_TAG_GATHER_MERGE, PGPA_TAG_HASH_JOIN, PGPA_TAG_INDEX_ONLY_SCAN, PGPA_TAG_INDEX_SCAN, PGPA_TAG_JOIN_ORDER, PGPA_TAG_MERGE_JOIN_MATERIALIZE, PGPA_TAG_MERGE_JOIN_PLAIN, PGPA_TAG_NESTED_LOOP_MATERIALIZE, PGPA_TAG_NESTED_LOOP_MEMOIZE, PGPA_TAG_NESTED_LOOP_PLAIN, PGPA_TAG_NO_GATHER, PGPA_TAG_PARTITIONWISE, PGPA_TAG_SEMIJOIN_NON_UNIQUE, PGPA_TAG_SEMIJOIN_UNIQUE, PGPA_TAG_SEQ_SCAN, PGPA_TAG_TID_SCAN, PGPA_TARGET_IDENTIFIER, PGPA_TARGET_ORDERED_LIST, pgpa_trove_add_to_slice(), pgpa_trove::rel, pgpa_trove::scan, and pgpa_advice_target::ttype.
Referenced by pgpa_planner_setup().
|
extern |
Definition at line 297 of file pgpa_trove.c.
References appendStringInfoChar(), appendStringInfoString(), Assert, buf, fb(), initStringInfo(), pgpa_advice_target::itarget, pgpa_cstring_advice_tag(), pgpa_format_advice_target(), pgpa_format_index_target(), PGPA_TAG_JOIN_ORDER, PGPA_TARGET_ORDERED_LIST, pgpa_trove_entry::tag, pgpa_trove_entry::target, and pgpa_advice_target::ttype.
Referenced by pgpa_planner_append_feedback().
|
extern |
Definition at line 345 of file pgpa_trove.c.
References appendStringInfoString(), Assert, buf, PGPA_FB_CONFLICTING, PGPA_FB_FAILED, PGPA_FB_INAPPLICABLE, PGPA_FB_MATCH_FULL, and PGPA_FB_MATCH_PARTIAL.
Referenced by pg_plan_advice_explain_feedback(), and pgpa_planner_feedback_warning().
|
extern |
Definition at line 235 of file pgpa_trove.c.
References Assert, bms_union(), fb(), i, pgpa_trove::join, PGPA_TROVE_LOOKUP_JOIN, PGPA_TROVE_LOOKUP_SCAN, pgpa_trove_slice_lookup(), pgpa_trove::rel, result, pgpa_trove::scan, strings_equal_or_both_null(), and type.
Referenced by pgpa_build_simple_rel(), and pgpa_get_join_state().
|
extern |
Definition at line 277 of file pgpa_trove.c.
References fb(), pgpa_trove::join, PGPA_TROVE_LOOKUP_JOIN, PGPA_TROVE_LOOKUP_SCAN, pgpa_trove::rel, pgpa_trove::scan, and type.
Referenced by pgpa_planner_append_feedback().
|
extern |
Definition at line 328 of file pgpa_trove.c.
References bms_next_member(), pgpa_trove_entry::flags, and i.
Referenced by pgpa_planner_apply_join_path_advice(), pgpa_planner_apply_joinrel_advice(), and pgpa_planner_apply_scan_advice().