File query_planner.h
FileList > cubrid > src > optimizer > query_planner.h
Go to the source code of this file
Namespaces
Classes
Public Types
Public Functions
Macros
| Type |
Name |
| define |
NPLANS 4 /\* [**Maximum**](broker__monitor_8c.md#function-timeout) number [**of**](broker__monitor_8c.md#function-timeout) [**plans**](broker__monitor_8c.md#function-timeout) to [**keep**](broker__monitor_8c.md#function-timeout) in [**a**](broker__monitor_8c.md#function-timeout) [**PlanVec**](broker__monitor_8c.md#function-timeout) \*/
|
| define |
QO_PLAN_HAS_CONSTANT_LIMIT (plan) /* multi line expression */
|
| define |
QO_PLAN_HAS_LIMIT (plan) /* multi line expression */
|
| define |
qo_plan_add_ref (p) (([**p**](dynamic__load_8c.md#variable-p)->refcount)++, ([**p**](dynamic__load_8c.md#variable-p)))
|
| define |
qo_plan_del_ref (p) /* multi line expression */
|
| define |
qo_plan_release (p) /* multi line expression */
|
Public Types Documentation
enum QO_JOINMETHOD
enum QO_JOINMETHOD {
QO_JOINMETHOD_NL_JOIN,
QO_JOINMETHOD_IDX_JOIN,
QO_JOINMETHOD_MERGE_JOIN,
QO_JOINMETHOD_HASH_JOIN
};
enum QO_PLANTYPE
enum QO_PLANTYPE {
QO_PLANTYPE_SCAN,
QO_PLANTYPE_SORT,
QO_PLANTYPE_JOIN,
QO_PLANTYPE_FOLLOW,
QO_PLANTYPE_WORST
};
typedef QO_PLANVEC
typedef struct qo_planvec QO_PLANVEC;
enum QO_PLAN_COMPARE_RESULT
enum QO_PLAN_COMPARE_RESULT {
PLAN_COMP_UNK = -2,
PLAN_COMP_LT = -1,
PLAN_COMP_EQ = 0,
PLAN_COMP_GT = 1
};
enum QO_PLAN_MULTI_RANGE_OPT_USE
enum QO_PLAN_MULTI_RANGE_OPT_USE {
PLAN_MULTI_RANGE_OPT_USE = 1,
PLAN_MULTI_RANGE_OPT_NO = 0,
PLAN_MULTI_RANGE_OPT_CANNOT_USE = -1,
PLAN_MULTI_RANGE_OPT_CAN_USE = -2
};
enum QO_PLAN_PARALLEL_OPT_USE
enum QO_PLAN_PARALLEL_OPT_USE {
PLAN_PARALLEL_OPT_USE = 1,
PLAN_PARALLEL_OPT_NO = 0,
PLAN_PARALLEL_OPT_CANNOT_USE = -1,
PLAN_PARALLEL_OPT_CAN_USE = -2
};
enum QO_PLAN_SKIP_ORDERBY_OPT
enum QO_PLAN_SKIP_ORDERBY_OPT {
QO_PLAN_SKIP_ORDERBY_USE = 1,
QO_PLAN_SKIP_ORDERBY_NO = 0,
QO_PLAN_SKIP_ORDERBY_CANNOT_USE = -1,
QO_PLAN_SKIP_ORDERBY_CAN_USE = -2
};
typedef QO_PLAN_VTBL
typedef struct qo_plan_vtbl QO_PLAN_VTBL;
enum QO_SCANMETHOD
enum QO_SCANMETHOD {
QO_SCANMETHOD_SEQ_SCAN,
QO_SCANMETHOD_INDEX_SCAN,
QO_SCANMETHOD_INDEX_ORDERBY_SCAN,
QO_SCANMETHOD_INDEX_GROUPBY_SCAN,
QO_SCANMETHOD_INDEX_SCAN_INSPECT
};
Public Functions Documentation
function qo_check_hjoin_for_parallel_opt
QO_PLAN_PARALLEL_OPT_USE qo_check_hjoin_for_parallel_opt (
QO_PLAN * plan
)
function qo_has_like_recompile_candidate
int qo_has_like_recompile_candidate (
QO_PLAN * plan,
void * arg
)
function qo_has_sort_limit_subplan
bool qo_has_sort_limit_subplan (
QO_PLAN * plan
)
function qo_info_stats
void qo_info_stats (
FILE * f
)
function qo_is_all_unique_index_columns_are_equi_terms
bool qo_is_all_unique_index_columns_are_equi_terms (
QO_PLAN * plan
)
function qo_is_interesting_order_scan
bool qo_is_interesting_order_scan (
QO_PLAN * plan
)
function qo_is_iscan
bool qo_is_iscan (
QO_PLAN * plan
)
function qo_is_iscan_from_groupby
bool qo_is_iscan_from_groupby (
QO_PLAN * plan
)
function qo_is_iscan_from_orderby
bool qo_is_iscan_from_orderby (
QO_PLAN * plan
)
function qo_is_seq_scan
bool qo_is_seq_scan (
QO_PLAN * plan
)
function qo_plan_compute_iscan_sort_list
PT_NODE * qo_plan_compute_iscan_sort_list (
QO_PLAN * root,
PT_NODE * group_by,
bool * is_index_w_prefix,
bool for_min_max_optimize
)
function qo_planner_free
void qo_planner_free (
QO_PLANNER * planner
)
function qo_planner_search
QO_PLAN * qo_planner_search (
QO_ENV * env
)
function qo_plans_stats
void qo_plans_stats (
FILE * f
)
Macro Definition Documentation
define NPLANS
#define NPLANS `4 /* Maximum number of plans to keep in a PlanVec */`
define QO_PLAN_HAS_CONSTANT_LIMIT
#define QO_PLAN_HAS_CONSTANT_LIMIT (
plan
) `/* multi line expression */`
define QO_PLAN_HAS_LIMIT
#define QO_PLAN_HAS_LIMIT (
plan
) `/* multi line expression */`
define qo_plan_add_ref
#define qo_plan_add_ref (
p
) `(( p ->refcount)++, ( p ))`
define qo_plan_del_ref
#define qo_plan_del_ref (
p
) `/* multi line expression */`
define qo_plan_release
#define qo_plan_release (
p
) `/* multi line expression */`
The documentation for this class was generated from the following file cubrid/src/optimizer/query_planner.h