Skip to content

File method_transform.c

FileList > cubrid > src > parser > method_transform.c

Go to the source code of this file

  • #include "config.h"
  • #include "authenticate.h"
  • #include "porting.h"
  • #include "error_manager.h"
  • #include "parser.h"
  • #include "parser_message.h"
  • #include "view_transform.h"
  • #include "dbtype.h"

Classes

Type Name
struct meth_corr_info
struct meth_info
struct meth_info1
struct meth_info2
struct meth_info3
struct meth_info4
struct meth_info5
struct meth_info6
struct meth_info7
struct meth_lambda
struct meth_stmt_info

Public Types

Type Name
typedef struct meth_corr_info METH_CORR_INFO
typedef struct meth_info METH_INFO
typedef struct meth_info1 METH_INFO1
typedef struct meth_info2 METH_INFO2
typedef struct meth_info3 METH_INFO3
typedef struct meth_info4 METH_INFO4
typedef struct meth_info5 METH_INFO5
typedef struct meth_info6 METH_INFO6
typedef struct meth_info7 METH_INFO7
typedef struct meth_lambda METH_LAMBDA
typedef struct meth_stmt_info METH_STMT_INFO

Public Static Attributes

Type Name
int meth_attr_number = 0
int meth_table_number = 0

Public Functions

Type Name
PT_NODE * meth_translate (PARSER_CONTEXT * parser, PT_NODE *volatile node)
int pt_statement_have_methods (PARSER_CONTEXT * parser, PT_NODE * statement)

Public Static Functions

Type Name
PT_NODE * meth_add_conj (PARSER_CONTEXT * parser, PT_NODE * where, PT_NODE * new_conj)
PT_NODE * meth_bump_corr_post (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
PT_NODE * meth_bump_corr_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
void meth_bump_correlation_level (PARSER_CONTEXT * parser, PT_NODE * node, int increment, int threshold, UINTPTR spec_id)
PT_NODE * meth_collapse_nodes (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
void meth_copy_hierarchical_expr_to_list (PARSER_CONTEXT * parser, PT_NODE * src_list, PT_NODE ** dst_list_p, int * copy_count)
PT_NODE * meth_create_method_list (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
PT_NODE * meth_find_entity (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
void meth_find_hierarchical_in_method_list (PARSER_CONTEXT * parser, PT_NODE * method_list, bool * has_hierarchical_expr)
PT_NODE * meth_find_hierarchical_op (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * meth_find_last_entity (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
PT_NODE * meth_find_last_entity_post (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
PT_NODE * meth_find_merge (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
PT_NODE * meth_find_method (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
PT_NODE * meth_find_outside_refs (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
PT_NODE * meth_find_outside_refs_subquery (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
PT_NODE * meth_gen_as_attr_list (PARSER_CONTEXT * parser, PT_NODE * range_var, UINTPTR spec_id, PT_NODE * attr_list)
PT_NODE * meth_get_method_params (PARSER_CONTEXT * parser, UINTPTR spec_id, PT_NODE * method_list, int * num)
void meth_grab_cnf_conj (PARSER_CONTEXT * parser, PT_NODE ** where, METH_INFO5 * info5)
PT_NODE * meth_grab_conj (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
PT_NODE * meth_have_methods (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
PT_NODE * meth_is_method (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
PT_NODE * meth_make_unique_range_var (PARSER_CONTEXT * parser, PT_NODE * spec)
PT_NODE * meth_match_entity (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
PT_NODE * meth_method_path_entities (PARSER_CONTEXT * parser, PT_NODE * paths)
void meth_move_hierarchical_to_derived (PARSER_CONTEXT * parser, PT_SELECT_INFO * statement_info, PT_SELECT_INFO * derived_info)
PT_NODE * meth_non_method_path_entities (PARSER_CONTEXT * parser, PT_NODE * paths)
PT_NODE * meth_push_conjuncts (PARSER_CONTEXT * parser, UINTPTR spec_id, PT_NODE ** where)
int meth_refs_to_scope (PARSER_CONTEXT * parser, PT_NODE * scope, PT_NODE * tree)
PT_NODE * meth_replace_call (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
void meth_replace_hierarchical_exprs (PARSER_CONTEXT * parser, PT_NODE ** select_list_p, PT_NODE * ref_attrs, int num_methods)
PT_NODE * meth_replace_id_in_method_names (PARSER_CONTEXT * parser, PT_NODE * node, void * void_arg, int * continue_walk)
void meth_replace_method_calls (PARSER_CONTEXT * parser, PT_NODE * root, PT_NODE * method_list, PT_NODE * as_attr_list, PT_NODE * new_spec, int num_methods)
void meth_replace_method_params (PARSER_CONTEXT * parser, UINTPTR spec_id, PT_NODE * method_list, PT_NODE * as_attr_list)
void meth_replace_referenced_attrs (PARSER_CONTEXT * parser, PT_NODE * root, PT_NODE * attr_list, PT_NODE * as_attr_list, int num)
PT_NODE * meth_translate_helper (PARSER_CONTEXT * parser, PT_NODE * node)
PT_NODE * meth_translate_local (PARSER_CONTEXT * parser, PT_NODE * statement, void * void_arg, int * continue_walk)
PT_NODE * meth_translate_select (PARSER_CONTEXT * parser, PT_NODE * select_statement, PT_NODE * root)
PT_NODE * meth_translate_spec (PARSER_CONTEXT * parser, PT_NODE * spec, void * void_arg, int * continue_walk)

Public Types Documentation

typedef METH_CORR_INFO

typedef struct meth_corr_info METH_CORR_INFO;

typedef METH_INFO

typedef struct meth_info METH_INFO;

typedef METH_INFO1

typedef struct meth_info1 METH_INFO1;

typedef METH_INFO2

typedef struct meth_info2 METH_INFO2;

typedef METH_INFO3

typedef struct meth_info3 METH_INFO3;

typedef METH_INFO4

typedef struct meth_info4 METH_INFO4;

typedef METH_INFO5

typedef struct meth_info5 METH_INFO5;

typedef METH_INFO6

typedef struct meth_info6 METH_INFO6;

typedef METH_INFO7

typedef struct meth_info7 METH_INFO7;

typedef METH_LAMBDA

typedef struct meth_lambda METH_LAMBDA;

typedef METH_STMT_INFO

typedef struct meth_stmt_info METH_STMT_INFO;

Public Static Attributes Documentation

variable meth_attr_number

int meth_attr_number;

variable meth_table_number

int meth_table_number;

Public Functions Documentation

function meth_translate

PT_NODE * meth_translate (
    PARSER_CONTEXT * parser,
    PT_NODE * volatile node
) 

function pt_statement_have_methods

int pt_statement_have_methods (
    PARSER_CONTEXT * parser,
    PT_NODE * statement
) 

Public Static Functions Documentation

function meth_add_conj

static PT_NODE * meth_add_conj (
    PARSER_CONTEXT * parser,
    PT_NODE * where,
    PT_NODE * new_conj
) 

function meth_bump_corr_post

static PT_NODE * meth_bump_corr_post (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function meth_bump_corr_pre

static PT_NODE * meth_bump_corr_pre (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function meth_bump_correlation_level

static void meth_bump_correlation_level (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    int increment,
    int threshold,
    UINTPTR spec_id
) 

function meth_collapse_nodes

static PT_NODE * meth_collapse_nodes (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function meth_copy_hierarchical_expr_to_list

static void meth_copy_hierarchical_expr_to_list (
    PARSER_CONTEXT * parser,
    PT_NODE * src_list,
    PT_NODE ** dst_list_p,
    int * copy_count
) 

function meth_create_method_list

static PT_NODE * meth_create_method_list (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function meth_find_entity

static PT_NODE * meth_find_entity (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function meth_find_hierarchical_in_method_list

static void meth_find_hierarchical_in_method_list (
    PARSER_CONTEXT * parser,
    PT_NODE * method_list,
    bool * has_hierarchical_expr
) 

function meth_find_hierarchical_op

static PT_NODE * meth_find_hierarchical_op (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function meth_find_last_entity

static PT_NODE * meth_find_last_entity (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function meth_find_last_entity_post

static PT_NODE * meth_find_last_entity_post (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function meth_find_merge

static PT_NODE * meth_find_merge (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function meth_find_method

static PT_NODE * meth_find_method (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function meth_find_outside_refs

static PT_NODE * meth_find_outside_refs (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function meth_find_outside_refs_subquery

static PT_NODE * meth_find_outside_refs_subquery (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function meth_gen_as_attr_list

static PT_NODE * meth_gen_as_attr_list (
    PARSER_CONTEXT * parser,
    PT_NODE * range_var,
    UINTPTR spec_id,
    PT_NODE * attr_list
) 

function meth_get_method_params

static PT_NODE * meth_get_method_params (
    PARSER_CONTEXT * parser,
    UINTPTR spec_id,
    PT_NODE * method_list,
    int * num
) 

function meth_grab_cnf_conj

static void meth_grab_cnf_conj (
    PARSER_CONTEXT * parser,
    PT_NODE ** where,
    METH_INFO5 * info5
) 

function meth_grab_conj

static PT_NODE * meth_grab_conj (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function meth_have_methods

static PT_NODE * meth_have_methods (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * arg,
    int * continue_walk
) 

function meth_is_method

static PT_NODE * meth_is_method (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function meth_make_unique_range_var

static PT_NODE * meth_make_unique_range_var (
    PARSER_CONTEXT * parser,
    PT_NODE * spec
) 

function meth_match_entity

static PT_NODE * meth_match_entity (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function meth_method_path_entities

static PT_NODE * meth_method_path_entities (
    PARSER_CONTEXT * parser,
    PT_NODE * paths
) 

function meth_move_hierarchical_to_derived

static void meth_move_hierarchical_to_derived (
    PARSER_CONTEXT * parser,
    PT_SELECT_INFO * statement_info,
    PT_SELECT_INFO * derived_info
) 

function meth_non_method_path_entities

static PT_NODE * meth_non_method_path_entities (
    PARSER_CONTEXT * parser,
    PT_NODE * paths
) 

function meth_push_conjuncts

static PT_NODE * meth_push_conjuncts (
    PARSER_CONTEXT * parser,
    UINTPTR spec_id,
    PT_NODE ** where
) 

function meth_refs_to_scope

static int meth_refs_to_scope (
    PARSER_CONTEXT * parser,
    PT_NODE * scope,
    PT_NODE * tree
) 

function meth_replace_call

static PT_NODE * meth_replace_call (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function meth_replace_hierarchical_exprs

static void meth_replace_hierarchical_exprs (
    PARSER_CONTEXT * parser,
    PT_NODE ** select_list_p,
    PT_NODE * ref_attrs,
    int num_methods
) 

function meth_replace_id_in_method_names

static PT_NODE * meth_replace_id_in_method_names (
    PARSER_CONTEXT * parser,
    PT_NODE * node,
    void * void_arg,
    int * continue_walk
) 

function meth_replace_method_calls

static void meth_replace_method_calls (
    PARSER_CONTEXT * parser,
    PT_NODE * root,
    PT_NODE * method_list,
    PT_NODE * as_attr_list,
    PT_NODE * new_spec,
    int num_methods
) 

function meth_replace_method_params

static void meth_replace_method_params (
    PARSER_CONTEXT * parser,
    UINTPTR spec_id,
    PT_NODE * method_list,
    PT_NODE * as_attr_list
) 

function meth_replace_referenced_attrs

static void meth_replace_referenced_attrs (
    PARSER_CONTEXT * parser,
    PT_NODE * root,
    PT_NODE * attr_list,
    PT_NODE * as_attr_list,
    int num
) 

function meth_translate_helper

static PT_NODE * meth_translate_helper (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function meth_translate_local

static PT_NODE * meth_translate_local (
    PARSER_CONTEXT * parser,
    PT_NODE * statement,
    void * void_arg,
    int * continue_walk
) 

function meth_translate_select

static PT_NODE * meth_translate_select (
    PARSER_CONTEXT * parser,
    PT_NODE * select_statement,
    PT_NODE * root
) 

function meth_translate_spec

static PT_NODE * meth_translate_spec (
    PARSER_CONTEXT * parser,
    PT_NODE * spec,
    void * void_arg,
    int * continue_walk
) 


The documentation for this class was generated from the following file cubrid/src/parser/method_transform.c