|
PostgreSQL Source Code git master
|


Go to the source code of this file.
Data Structures | |
| struct | pgpa_index_target |
| struct | pgpa_advice_target |
| struct | pgpa_advice_item |
Macros | |
| #define | YY_TYPEDEF_YY_SCANNER_T |
| #define YY_TYPEDEF_YY_SCANNER_T |
Definition at line 152 of file pgpa_ast.h.
Definition at line 153 of file pgpa_ast.h.
Definition at line 80 of file pgpa_ast.h.
| Enumerator | |
|---|---|
| PGPA_ITM_EQUAL | |
| PGPA_ITM_KEYS_ARE_SUBSET | |
| PGPA_ITM_TARGETS_ARE_SUBSET | |
| PGPA_ITM_INTERSECTING | |
| PGPA_ITM_DISJOINT | |
Definition at line 140 of file pgpa_ast.h.
| Enumerator | |
|---|---|
| PGPA_TARGET_IDENTIFIER | |
| PGPA_TARGET_ORDERED_LIST | |
| PGPA_TARGET_UNORDERED_LIST | |
Definition at line 25 of file pgpa_ast.h.
|
extern |
Definition at line 29 of file pgpa_ast.c.
References fb(), pg_unreachable, PGPA_TAG_BITMAP_HEAP_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, and PGPA_TAG_TID_SCAN.
Referenced by pgpa_cstring_trove_entry().
|
extern |
Definition at line 164 of file pgpa_ast.c.
References appendStringInfoChar(), appendStringInfoString(), pgpa_advice_target::children, fb(), foreach_ptr, pgpa_format_advice_target(), pgpa_identifier_string(), PGPA_TARGET_IDENTIFIER, PGPA_TARGET_UNORDERED_LIST, pgpa_advice_target::rid, str, and pgpa_advice_target::ttype.
Referenced by pgpa_cstring_trove_entry(), and pgpa_format_advice_target().
|
extern |
Definition at line 200 of file pgpa_ast.c.
References appendStringInfo(), appendStringInfoString(), fb(), pgpa_index_target::indname, pgpa_index_target::indnamespace, quote_identifier(), and str.
Referenced by pgpa_cstring_trove_entry().
|
extern |
Definition at line 229 of file pgpa_ast.c.
References pgpa_identifier::alias_name, Assert, pgpa_advice_target::children, fb(), foreach_ptr, pgpa_identifier::occurrence, pgpa_identifier::partnsp, pgpa_identifier::partrel, pgpa_identifier_matches_target(), PGPA_TARGET_IDENTIFIER, pgpa_identifier::plan_name, pgpa_advice_target::rid, strings_equal_or_both_null(), and pgpa_advice_target::ttype.
Referenced by pgpa_identifier_matches_target(), pgpa_identifiers_cover_target(), and pgpa_trove_slice_lookup().
|
extern |
Definition at line 277 of file pgpa_ast.c.
References fb(), i, palloc0_array, pgpa_identifiers_cover_target(), PGPA_ITM_DISJOINT, PGPA_ITM_EQUAL, PGPA_ITM_INTERSECTING, PGPA_ITM_KEYS_ARE_SUBSET, and PGPA_ITM_TARGETS_ARE_SUBSET.
Referenced by pgpa_join_method_permits_join(), pgpa_join_order_permits_join(), pgpa_opaque_join_permits_join(), pgpa_planner_apply_join_path_advice(), pgpa_planner_apply_joinrel_advice(), and pgpa_semijoin_permits_join().
|
extern |
Definition at line 212 of file pgpa_ast.c.
References fb(), pgpa_index_target::indname, and pgpa_index_target::indnamespace.
Referenced by pgpa_planner_apply_scan_advice().
Referenced by pg_plan_advice_advice_check_hook(), and pgpa_planner_setup().
|
extern |
Definition at line 85 of file pgpa_ast.c.
References fb(), PGPA_TAG_BITMAP_HEAP_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, and PGPA_TAG_TID_SCAN.
Definition at line 267 of file pgpa_scanner.l.
References fb().
Definition at line 244 of file pgpa_scanner.l.
References elog, ERROR, fb(), initStringInfo(), palloc0_object, and str.
|
extern |
Definition at line 221 of file pgpa_scanner.l.
References fb(), and psprintf().
|
extern |