2
2
3
3
PG_MODULE_MAGIC ;
4
4
5
- void _PG_init (void );
6
- void _PG_fini ( void );
5
+ void _PG_init (void );
6
+
7
7
8
8
/* Strategy of determining feature space for new queries. */
9
9
int aqo_mode ;
@@ -50,17 +50,17 @@ bool explain_aqo;
50
50
instr_time query_starttime ;
51
51
double query_planning_time ;
52
52
53
- /* Saved hook values in case of unload */
54
- post_parse_analyze_hook_type prev_post_parse_analyze_hook ;
55
- planner_hook_type prev_planner_hook ;
56
- ExecutorStart_hook_type prev_ExecutorStart_hook ;
57
- ExecutorEnd_hook_type prev_ExecutorEnd_hook ;
58
- set_baserel_rows_estimate_hook_type prev_set_baserel_rows_estimate_hook ;
59
- get_parameterized_baserel_size_hook_type prev_get_parameterized_baserel_size_hook ;
60
- set_joinrel_size_estimates_hook_type prev_set_joinrel_size_estimates_hook ;
61
- get_parameterized_joinrel_size_hook_type prev_get_parameterized_joinrel_size_hook ;
62
- copy_generic_path_info_hook_type prev_copy_generic_path_info_hook ;
63
- ExplainOnePlan_hook_type prev_ExplainOnePlan_hook ;
53
+ /* Saved hook values */
54
+ post_parse_analyze_hook_type prev_post_parse_analyze_hook ;
55
+ planner_hook_type prev_planner_hook ;
56
+ ExecutorStart_hook_type prev_ExecutorStart_hook ;
57
+ ExecutorEnd_hook_type prev_ExecutorEnd_hook ;
58
+ set_baserel_rows_estimate_hook_type prev_set_baserel_rows_estimate_hook ;
59
+ get_parameterized_baserel_size_hook_type prev_get_parameterized_baserel_size_hook ;
60
+ set_joinrel_size_estimates_hook_type prev_set_joinrel_size_estimates_hook ;
61
+ get_parameterized_joinrel_size_hook_type prev_get_parameterized_joinrel_size_hook ;
62
+ copy_generic_path_info_hook_type prev_copy_generic_path_info_hook ;
63
+ ExplainOnePlan_hook_type prev_ExplainOnePlan_hook ;
64
64
65
65
/*****************************************************************************
66
66
*
@@ -83,49 +83,28 @@ _PG_init(void)
83
83
NULL ,
84
84
NULL );
85
85
86
- prev_planner_hook = planner_hook ;
87
- planner_hook = & aqo_planner ;
88
- prev_post_parse_analyze_hook = post_parse_analyze_hook ;
89
- post_parse_analyze_hook = & get_query_text ;
90
- prev_ExecutorStart_hook = ExecutorStart_hook ;
91
- ExecutorStart_hook = & aqo_ExecutorStart ;
92
- prev_ExecutorEnd_hook = ExecutorEnd_hook ;
93
- ExecutorEnd_hook = & learn_query_stat ;
94
- prev_set_baserel_rows_estimate_hook = set_baserel_rows_estimate_hook ;
95
- set_baserel_rows_estimate_hook = & aqo_set_baserel_rows_estimate ;
96
- prev_get_parameterized_baserel_size_hook =
97
- get_parameterized_baserel_size_hook ;
98
- get_parameterized_baserel_size_hook =
99
- & aqo_get_parameterized_baserel_size ;
100
- prev_set_joinrel_size_estimates_hook = set_joinrel_size_estimates_hook ;
101
- set_joinrel_size_estimates_hook = & aqo_set_joinrel_size_estimates ;
102
- prev_get_parameterized_joinrel_size_hook =
103
- get_parameterized_joinrel_size_hook ;
104
- get_parameterized_joinrel_size_hook =
105
- & aqo_get_parameterized_joinrel_size ;
106
- prev_copy_generic_path_info_hook = copy_generic_path_info_hook ;
107
- copy_generic_path_info_hook = & aqo_copy_generic_path_info ;
108
- prev_ExplainOnePlan_hook = ExplainOnePlan_hook ;
109
- ExplainOnePlan_hook = print_into_explain ;
110
- init_deactivated_queries_storage ();
111
- }
86
+ prev_planner_hook = planner_hook ;
87
+ planner_hook = aqo_planner ;
88
+ prev_post_parse_analyze_hook = post_parse_analyze_hook ;
89
+ post_parse_analyze_hook = get_query_text ;
90
+ prev_ExecutorStart_hook = ExecutorStart_hook ;
91
+ ExecutorStart_hook = aqo_ExecutorStart ;
92
+ prev_ExecutorEnd_hook = ExecutorEnd_hook ;
93
+ ExecutorEnd_hook = learn_query_stat ;
94
+ prev_set_baserel_rows_estimate_hook = set_baserel_rows_estimate_hook ;
95
+ set_baserel_rows_estimate_hook = aqo_set_baserel_rows_estimate ;
96
+ prev_get_parameterized_baserel_size_hook = get_parameterized_baserel_size_hook ;
97
+ get_parameterized_baserel_size_hook = aqo_get_parameterized_baserel_size ;
98
+ prev_set_joinrel_size_estimates_hook = set_joinrel_size_estimates_hook ;
99
+ set_joinrel_size_estimates_hook = aqo_set_joinrel_size_estimates ;
100
+ prev_get_parameterized_joinrel_size_hook = get_parameterized_joinrel_size_hook ;
101
+ get_parameterized_joinrel_size_hook = aqo_get_parameterized_joinrel_size ;
102
+ prev_copy_generic_path_info_hook = copy_generic_path_info_hook ;
103
+ copy_generic_path_info_hook = aqo_copy_generic_path_info ;
104
+ prev_ExplainOnePlan_hook = ExplainOnePlan_hook ;
105
+ ExplainOnePlan_hook = print_into_explain ;
112
106
113
- void
114
- _PG_fini (void )
115
- {
116
- planner_hook = prev_planner_hook ;
117
- post_parse_analyze_hook = prev_post_parse_analyze_hook ;
118
- ExecutorStart_hook = prev_ExecutorStart_hook ;
119
- ExecutorEnd_hook = prev_ExecutorEnd_hook ;
120
- set_baserel_rows_estimate_hook = prev_set_baserel_rows_estimate_hook ;
121
- get_parameterized_baserel_size_hook =
122
- prev_get_parameterized_baserel_size_hook ;
123
- set_joinrel_size_estimates_hook = prev_set_joinrel_size_estimates_hook ;
124
- get_parameterized_joinrel_size_hook =
125
- prev_get_parameterized_joinrel_size_hook ;
126
- copy_generic_path_info_hook = prev_copy_generic_path_info_hook ;
127
- ExplainOnePlan_hook = prev_ExplainOnePlan_hook ;
128
- fini_deactivated_queries_storage ();
107
+ init_deactivated_queries_storage ();
129
108
}
130
109
131
110
PG_FUNCTION_INFO_V1 (invalidate_deactivated_queries_cache );
0 commit comments