24 #ifndef _QUERY_PLANNER_H_ 25 #define _QUERY_PLANNER_H_ 29 #if defined (SERVER_MODE) 30 #error Does not belong to server module 43 #define QO_CPU_WEIGHT 0.0025 74 void (*fprint_fn) (
QO_PLAN *, FILE *, int);
75 void (*walk_fn) (
QO_PLAN *, void (*)(
QO_PLAN *,
void *),
void *,
void (*)(QO_PLAN *,
void *),
void *);
76 void (*free_fn) (QO_PLAN *);
77 void (*cost_fn) (QO_PLAN *);
78 void (*default_cost) (QO_PLAN *);
79 void (*info_fn) (QO_PLAN *, FILE *, int);
208 #define qo_plan_add_ref(p) ((p->refcount)++, (p)) 209 #define qo_plan_del_ref(p) do { \ 210 QO_PLAN *__p = (p); \ 211 if ((__p) && --(__p->refcount) == 0) \ 214 #define qo_plan_release(p) do { \ 215 QO_PLAN *__p = (p); \ 216 if ((__p) && (__p->refcount) == 0) \ 333 unsigned int E, M,
T;
bool qo_is_interesting_order_scan(QO_PLAN *)
BITSET multi_col_range_segs
QO_PLAN * qo_planner_search(QO_ENV *)
void qo_plans_stats(FILE *)
bool qo_is_iscan_from_orderby(QO_PLAN *)
QO_PLAN_ULTI_RANGE_OPT_USE
void qo_planner_free(QO_PLANNER *)
void qo_info_stats(FILE *)
BITSET other_outer_join_terms
QO_JOINMETHOD join_method
bool use_iscan_descending
QO_PLAN_ULTI_RANGE_OPT_USE multi_range_opt_use
bool qo_is_iscan(QO_PLAN *)
PT_NODE * iscan_sort_list
bool qo_is_all_unique_index_columns_are_equi_terms(QO_PLAN *plan)
QO_NODE_INDEX_ENTRY * index
bool qo_has_sort_limit_subplan(QO_PLAN *plan)
QO_SCANMETHOD scan_method
bool qo_is_seq_scan(QO_PLAN *)
bool qo_is_iscan_from_groupby(QO_PLAN *)
cubxasl::analytic_eval_type * analytic_eval_list