File query_rewrite_select.c¶
FileList > cubrid > src > optimizer > rewriter > query_rewrite_select.c
Go to the source code of this file
#include "parse_tree.h"#include <assert.h>#include "query_rewrite.h"
Public Functions¶
| Type | Name |
|---|---|
| PT_NODE * | qo_analyze_path_join (PARSER_CONTEXT * parser, PT_NODE * path_spec, void * arg, int * continue_walk) |
| PT_NODE * | qo_analyze_path_join_pre (PARSER_CONTEXT * parser, PT_NODE * spec, void * arg, int * continue_walk) |
| bool | qo_check_generate_single_tbl_connect_by (PARSER_CONTEXT * parser, PT_NODE * node) |
| void | qo_move_on_of_explicit_join_to_where (PARSER_CONTEXT * parser, PT_NODE ** fromp, PT_NODE ** wherep) |
| void | qo_rewrite_index_hints (PARSER_CONTEXT * parser, PT_NODE * statement) |
| void | qo_rewrite_nonnull_count_select_list (PARSER_CONTEXT * parser, PT_NODE * select) |
| bool | qo_rewrite_select_queries (PARSER_CONTEXT * parser, PT_NODE ** nodep, PT_NODE ** wherep, int * seqno) |
Public Static Functions¶
Public Functions Documentation¶
function qo_analyze_path_join¶
PT_NODE * qo_analyze_path_join (
PARSER_CONTEXT * parser,
PT_NODE * path_spec,
void * arg,
int * continue_walk
)
function qo_analyze_path_join_pre¶
PT_NODE * qo_analyze_path_join_pre (
PARSER_CONTEXT * parser,
PT_NODE * spec,
void * arg,
int * continue_walk
)
function qo_check_generate_single_tbl_connect_by¶
function qo_move_on_of_explicit_join_to_where¶
void qo_move_on_of_explicit_join_to_where (
PARSER_CONTEXT * parser,
PT_NODE ** fromp,
PT_NODE ** wherep
)
function qo_rewrite_index_hints¶
function qo_rewrite_nonnull_count_select_list¶
function qo_rewrite_select_queries¶
bool qo_rewrite_select_queries (
PARSER_CONTEXT * parser,
PT_NODE ** nodep,
PT_NODE ** wherep,
int * seqno
)
Public Static Functions Documentation¶
function qo_check_fk_ref_pk_in_child_spec¶
static bool qo_check_fk_ref_pk_in_child_spec (
PARSER_CONTEXT * parser,
PT_NODE * query,
QO_REDUCE_REFERENCE_INFO * reduce_reference_info
)
function qo_check_fks_ref_pk_in_child_spec¶
static bool qo_check_fks_ref_pk_in_child_spec (
PARSER_CONTEXT * parser,
PT_NODE * query,
QO_REDUCE_REFERENCE_INFO * reduce_reference_info
)
function qo_check_pk_ref_by_fk_in_parent_spec¶
static bool qo_check_pk_ref_by_fk_in_parent_spec (
PARSER_CONTEXT * parser,
PT_NODE * query,
QO_REDUCE_REFERENCE_INFO * reduce_reference_info
)
function qo_check_reduce_predicate_for_parent_spec¶
static bool qo_check_reduce_predicate_for_parent_spec (
PARSER_CONTEXT * parser,
PT_NODE * query,
QO_REDUCE_REFERENCE_INFO * reduce_reference_info
)
function qo_collect_name_with_eq_const¶
static PT_NODE * qo_collect_name_with_eq_const (
PARSER_CONTEXT * parser,
PT_NODE * on_cond,
PT_NODE * spec
)
function qo_construct_new_set¶
function qo_convert_attref_to_dotexpr¶
static PT_NODE * qo_convert_attref_to_dotexpr (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function qo_convert_attref_to_dotexpr_pre¶
static PT_NODE * qo_convert_attref_to_dotexpr_pre (
PARSER_CONTEXT * parser,
PT_NODE * spec,
void * arg,
int * continue_walk
)
function qo_find_best_path_type¶
function qo_get_name_cnt_by_spec¶
static PT_NODE * qo_get_name_cnt_by_spec (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function qo_get_name_cnt_by_spec_no_on¶
static PT_NODE * qo_get_name_cnt_by_spec_no_on (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function qo_get_name_cnt_keep_unique¶
static PT_NODE * qo_get_name_cnt_keep_unique (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function qo_get_next_oid_pred¶
function qo_is_exclude_spec¶
function qo_is_oid_const¶
function qo_make_new_derived_tblspec¶
static PT_NODE * qo_make_new_derived_tblspec (
PARSER_CONTEXT * parser,
PT_NODE * node,
PT_NODE * pred,
int * seqno
)
function qo_modify_location¶
static PT_NODE * qo_modify_location (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function qo_reduce_joined_tbls_ref_by_fk¶
function qo_reduce_order_by¶
function qo_reduce_order_by_for¶
function qo_reduce_outer_joined_tbls¶
static PT_NODE * qo_reduce_outer_joined_tbls (
PARSER_CONTEXT * parser,
PT_NODE * spec,
PT_NODE * query
)
function qo_reduce_predicate_for_parent_spec¶
static void qo_reduce_predicate_for_parent_spec (
PARSER_CONTEXT * parser,
PT_NODE * query,
QO_REDUCE_REFERENCE_INFO * reduce_reference_info
)
function qo_reset_location¶
static PT_NODE * qo_reset_location (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function qo_reset_spec_location¶
function qo_rewrite_innerjoin¶
static PT_NODE * qo_rewrite_innerjoin (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function qo_rewrite_nonnull_count¶
static PT_NODE * qo_rewrite_nonnull_count (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function qo_rewrite_oid_equality¶
static PT_NODE * qo_rewrite_oid_equality (
PARSER_CONTEXT * parser,
PT_NODE * node,
PT_NODE * pred,
int * seqno
)
function qo_rewrite_outerjoin¶
static PT_NODE * qo_rewrite_outerjoin (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
The documentation for this class was generated from the following file cubrid/src/optimizer/rewriter/query_rewrite_select.c