File query_rewrite_term.c¶
FileList > cubrid > src > optimizer > rewriter > query_rewrite_term.c
Go to the source code of this file
#include <assert.h>#include "query_rewrite.h"
Public Functions¶
| Type | Name |
|---|---|
| bool | qo_check_condition_null (PARSER_CONTEXT * parser, PT_NODE * path_spec, PT_NODE * query_where) |
| PT_NODE * | qo_check_nullable_expr (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk) |
| PT_NODE * | qo_check_nullable_expr_with_spec (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk) |
| PT_NODE * | qo_get_name_by_spec_id (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk) |
| int | qo_is_reduceable_const (PT_NODE * expr) |
| void | qo_reduce_equality_terms (PARSER_CONTEXT * parser, PT_NODE * node, PT_NODE ** wherep) |
| PT_NODE * | qo_reduce_equality_terms_post (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk) |
| void | qo_rewrite_terms (PARSER_CONTEXT * parser, PT_NODE * nodes, PT_NODE ** terms) |
Public Static Functions¶
Public Functions Documentation¶
function qo_check_condition_null¶
bool qo_check_condition_null (
PARSER_CONTEXT * parser,
PT_NODE * path_spec,
PT_NODE * query_where
)
function qo_check_nullable_expr¶
PT_NODE * qo_check_nullable_expr (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function qo_check_nullable_expr_with_spec¶
PT_NODE * qo_check_nullable_expr_with_spec (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function qo_get_name_by_spec_id¶
PT_NODE * qo_get_name_by_spec_id (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function qo_is_reduceable_const¶
function qo_reduce_equality_terms¶
function qo_reduce_equality_terms_post¶
PT_NODE * qo_reduce_equality_terms_post (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function qo_rewrite_terms¶
Public Static Functions Documentation¶
function qo_allocate_like_bound_for_index_scan¶
static PT_NODE * qo_allocate_like_bound_for_index_scan (
PARSER_CONTEXT * const parser,
PT_NODE * const like,
PT_NODE * const pattern,
PT_NODE * const escape,
const bool allocate_lower_bound
)
function qo_apply_range_intersection¶
function qo_apply_range_intersection_helper¶
static void qo_apply_range_intersection_helper (
PARSER_CONTEXT * parser,
PT_NODE * node1,
PT_NODE * node2
)
function qo_check_like_expression_pre¶
static PT_NODE * qo_check_like_expression_pre (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function qo_collect_name_spec¶
static PT_NODE * qo_collect_name_spec (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function qo_collect_name_spec_post¶
static PT_NODE * qo_collect_name_spec_post (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function qo_compare_dbvalue_with_optype¶
static COMP_DBVALUE_WITH_OPTYPE_RESULT qo_compare_dbvalue_with_optype (
DB_VALUE * val1,
PT_OP_TYPE op1,
DB_VALUE * val2,
PT_OP_TYPE op2
)
function qo_converse_sarg_terms¶
function qo_convert_to_range¶
function qo_convert_to_range_helper¶
function qo_find_like_rewrite_bound¶
static PT_NODE * qo_find_like_rewrite_bound (
PARSER_CONTEXT * const parser,
PT_NODE * const pattern,
DB_VALUE * const pattern_str,
const bool has_escape_char,
const char * escape_str,
const bool compute_lower_bound,
const int last_safe_logical_pos
)
function qo_fold_is_and_not_null¶
function qo_is_cast_attr¶
function qo_merge_range_helper¶
function qo_range_optype_rank¶
function qo_reduce_comp_pair_terms¶
function qo_replace_spec_name_null¶
static PT_NODE * qo_replace_spec_name_null (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function qo_rewrite_like_for_index_scan¶
static PT_NODE * qo_rewrite_like_for_index_scan (
PARSER_CONTEXT * const parser,
PT_NODE * like,
PT_NODE * const pattern,
PT_NODE * const escape
)
function qo_rewrite_like_terms¶
function qo_rewrite_one_like_term¶
static void qo_rewrite_one_like_term (
PARSER_CONTEXT * const parser,
PT_NODE * const like,
PT_NODE * const pattern,
PT_NODE * const escape,
bool * const perform_generic_rewrite
)
function qo_search_comp_pair_term¶
function qo_set_value_to_range_list¶
The documentation for this class was generated from the following file cubrid/src/optimizer/rewriter/query_rewrite_term.c