Skip to content

File func_type.cpp

FileList > cubrid > src > parser > func_type.cpp

Go to the source code of this file

  • #include "dbtype.h"
  • #include "func_type.hpp"
  • #include "message_catalog.h"
  • #include "object_primitive.h"
  • #include "parse_tree.h"
  • #include "parser.h"
  • #include "parser_message.h"
  • #include <algorithm>

Namespaces

Type Name
namespace func_type

Public Attributes

Type Name
func_all_signatures sig_json_arg_r_jval_or_empty = /* multi line expression */
func_all_signatures sig_of_avg = /* multi line expression */
func_all_signatures sig_of_benchmark = /* multi line expression */
func_all_signatures sig_of_count = /* multi line expression */
func_all_signatures sig_of_count_star = /* multi line expression */
func_all_signatures sig_of_elt = /* multi line expression */
func_all_signatures sig_of_generic = /* multi line expression */
func_all_signatures sig_of_group_concat = /* multi line expression */
func_all_signatures sig_of_insert_substring = /* multi line expression */
func_all_signatures sig_of_json_arrayagg = /* multi line expression */
func_all_signatures sig_of_json_contains = /* multi line expression */
func_all_signatures sig_of_json_contains_path = /* multi line expression */
func_all_signatures sig_of_json_keys = /* multi line expression */
func_all_signatures sig_of_json_length = /* multi line expression */
func_all_signatures sig_of_json_objectagg = /* multi line expression */
func_all_signatures sig_of_json_search = /* multi line expression */
func_all_signatures sig_of_lead_lag = /* multi line expression */
func_all_signatures sig_of_median = /* multi line expression */
func_all_signatures sig_of_ntile = /* multi line expression */
func_all_signatures sig_of_percentile_cont = /* multi line expression */
func_all_signatures sig_of_percentile_disc = /* multi line expression */
func_all_signatures sig_of_regexp_count = /* multi line expression */
func_all_signatures sig_of_regexp_instr = /* multi line expression */
func_all_signatures sig_of_regexp_like = /* multi line expression */
func_all_signatures sig_of_regexp_replace = /* multi line expression */
func_all_signatures sig_of_regexp_substr = /* multi line expression */
func_all_signatures sig_of_sum = /* multi line expression */
func_all_signatures sig_ret_bigint = /* multi line expression */
func_all_signatures sig_ret_bigint_arg_discrete = /* multi line expression */
func_all_signatures sig_ret_double_arg_number = /* multi line expression */
func_all_signatures sig_ret_double_arg_r_any = /* multi line expression */
func_all_signatures sig_ret_int_arg_any = /* multi line expression */
func_all_signatures sig_ret_int_arg_doc = /* multi line expression */
func_all_signatures sig_ret_int_arg_str = /* multi line expression */
func_all_signatures sig_ret_int_no_arg = /* multi line expression */
func_all_signatures sig_ret_json_arg_jdoc = /* multi line expression */
func_all_signatures sig_ret_json_arg_jdoc_jpath = /* multi line expression */
func_all_signatures sig_ret_json_arg_jdoc_r_jdoc = /* multi line expression */
func_all_signatures sig_ret_json_arg_jdoc_r_jpath = /* multi line expression */
func_all_signatures sig_ret_json_arg_jdoc_r_jpath_jval = /* multi line expression */
func_all_signatures sig_ret_json_arg_jdoc_str_r_jpath = /* multi line expression */
func_all_signatures sig_ret_json_arg_r_jkey_jval_or_empty = /* multi line expression */
func_all_signatures sig_ret_multiset_arg_r_any = /* multi line expression */
func_all_signatures sig_ret_sequence_arg_r_any = /* multi line expression */
func_all_signatures sig_ret_set_arg_r_any = /* multi line expression */
func_all_signatures sig_ret_string_arg_jdoc = /* multi line expression */
func_all_signatures sig_ret_type0_arg_nr_or_str_discrete = /* multi line expression */
func_all_signatures sig_ret_type0_arg_scalar = /* multi line expression */
func_all_signatures sig_ret_type0_arg_str = /* multi line expression */

Public Functions

Type Name
func_all_signatures * get_signatures (FUNC_CODE ft)
bool pt_are_equivalent_types (const PT_ARG_TYPE def_type, const PT_TYPE_ENUM op_type)
PT_NODE * pt_eval_function_type_aggregate (PARSER_CONTEXT * parser, PT_NODE * node)
PT_TYPE_ENUM pt_get_equivalent_type (const PT_ARG_TYPE def_type, const PT_TYPE_ENUM arg_type)
bool pt_is_function_new_type_checking (FUNC_CODE fcode)
bool pt_is_function_no_arg (FUNC_CODE fcode)
bool pt_is_function_unsupported (FUNC_CODE fcode)

Public Static Functions

Type Name
int pt_character_length_for_node (PT_NODE * node, const PT_TYPE_ENUM coerce_type)
PT_NODE * pt_check_function_collation (PARSER_CONTEXT * parser, PT_NODE * node)

Macros

Type Name
define PT_COLL_WRAP_TYPE_FOR_MAYBE (type) (([**PT\_IS\_CHAR\_STRING\_TYPE**](parse__tree_8h.md#define-pt_is_char_string_type) (type)) ? (type) : PT\_TYPE\_VARCHAR)
define PT_IS_CAST_MAYBE (node) /* multi line expression */

Public Attributes Documentation

variable sig_json_arg_r_jval_or_empty

func_all_signatures sig_json_arg_r_jval_or_empty;

variable sig_of_avg

func_all_signatures sig_of_avg;

variable sig_of_benchmark

func_all_signatures sig_of_benchmark;

variable sig_of_count

func_all_signatures sig_of_count;

variable sig_of_count_star

func_all_signatures sig_of_count_star;

variable sig_of_elt

func_all_signatures sig_of_elt;

variable sig_of_generic

func_all_signatures sig_of_generic;

variable sig_of_group_concat

func_all_signatures sig_of_group_concat;

variable sig_of_insert_substring

func_all_signatures sig_of_insert_substring;

variable sig_of_json_arrayagg

func_all_signatures sig_of_json_arrayagg;

variable sig_of_json_contains

func_all_signatures sig_of_json_contains;

variable sig_of_json_contains_path

func_all_signatures sig_of_json_contains_path;

variable sig_of_json_keys

func_all_signatures sig_of_json_keys;

variable sig_of_json_length

func_all_signatures sig_of_json_length;

variable sig_of_json_objectagg

func_all_signatures sig_of_json_objectagg;

func_all_signatures sig_of_json_search;

variable sig_of_lead_lag

func_all_signatures sig_of_lead_lag;

variable sig_of_median

func_all_signatures sig_of_median;

variable sig_of_ntile

func_all_signatures sig_of_ntile;

variable sig_of_percentile_cont

func_all_signatures sig_of_percentile_cont;

variable sig_of_percentile_disc

func_all_signatures sig_of_percentile_disc;

variable sig_of_regexp_count

func_all_signatures sig_of_regexp_count;

variable sig_of_regexp_instr

func_all_signatures sig_of_regexp_instr;

variable sig_of_regexp_like

func_all_signatures sig_of_regexp_like;

variable sig_of_regexp_replace

func_all_signatures sig_of_regexp_replace;

variable sig_of_regexp_substr

func_all_signatures sig_of_regexp_substr;

variable sig_of_sum

func_all_signatures sig_of_sum;

variable sig_ret_bigint

func_all_signatures sig_ret_bigint;

variable sig_ret_bigint_arg_discrete

func_all_signatures sig_ret_bigint_arg_discrete;

variable sig_ret_double_arg_number

func_all_signatures sig_ret_double_arg_number;

variable sig_ret_double_arg_r_any

func_all_signatures sig_ret_double_arg_r_any;

variable sig_ret_int_arg_any

func_all_signatures sig_ret_int_arg_any;

variable sig_ret_int_arg_doc

func_all_signatures sig_ret_int_arg_doc;

variable sig_ret_int_arg_str

func_all_signatures sig_ret_int_arg_str;

variable sig_ret_int_no_arg

func_all_signatures sig_ret_int_no_arg;

variable sig_ret_json_arg_jdoc

func_all_signatures sig_ret_json_arg_jdoc;

variable sig_ret_json_arg_jdoc_jpath

func_all_signatures sig_ret_json_arg_jdoc_jpath;

variable sig_ret_json_arg_jdoc_r_jdoc

func_all_signatures sig_ret_json_arg_jdoc_r_jdoc;

variable sig_ret_json_arg_jdoc_r_jpath

func_all_signatures sig_ret_json_arg_jdoc_r_jpath;

variable sig_ret_json_arg_jdoc_r_jpath_jval

func_all_signatures sig_ret_json_arg_jdoc_r_jpath_jval;

variable sig_ret_json_arg_jdoc_str_r_jpath

func_all_signatures sig_ret_json_arg_jdoc_str_r_jpath;

variable sig_ret_json_arg_r_jkey_jval_or_empty

func_all_signatures sig_ret_json_arg_r_jkey_jval_or_empty;

variable sig_ret_multiset_arg_r_any

func_all_signatures sig_ret_multiset_arg_r_any;

variable sig_ret_sequence_arg_r_any

func_all_signatures sig_ret_sequence_arg_r_any;

variable sig_ret_set_arg_r_any

func_all_signatures sig_ret_set_arg_r_any;

variable sig_ret_string_arg_jdoc

func_all_signatures sig_ret_string_arg_jdoc;

variable sig_ret_type0_arg_nr_or_str_discrete

func_all_signatures sig_ret_type0_arg_nr_or_str_discrete;

variable sig_ret_type0_arg_scalar

func_all_signatures sig_ret_type0_arg_scalar;

variable sig_ret_type0_arg_str

func_all_signatures sig_ret_type0_arg_str;

Public Functions Documentation

function get_signatures

func_all_signatures * get_signatures (
    FUNC_CODE ft
) 

function pt_are_equivalent_types

bool pt_are_equivalent_types (
    const  PT_ARG_TYPE def_type,
    const  PT_TYPE_ENUM op_type
) 

function pt_eval_function_type_aggregate

PT_NODE * pt_eval_function_type_aggregate (
    PARSER_CONTEXT * parser,
    PT_NODE * node
) 

function pt_get_equivalent_type

PT_TYPE_ENUM pt_get_equivalent_type (
    const  PT_ARG_TYPE def_type,
    const  PT_TYPE_ENUM arg_type
) 

function pt_is_function_new_type_checking

bool pt_is_function_new_type_checking (
    FUNC_CODE fcode
) 

function pt_is_function_no_arg

bool pt_is_function_no_arg (
    FUNC_CODE fcode
) 

function pt_is_function_unsupported

bool pt_is_function_unsupported (
    FUNC_CODE fcode
) 

Public Static Functions Documentation

function pt_character_length_for_node

static int pt_character_length_for_node (
    PT_NODE * node,
    const  PT_TYPE_ENUM coerce_type
) 

function pt_check_function_collation

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

Macro Definition Documentation

define PT_COLL_WRAP_TYPE_FOR_MAYBE

#define PT_COLL_WRAP_TYPE_FOR_MAYBE (
    type
) `(( PT_IS_CHAR_STRING_TYPE (type)) ? (type) : PT_TYPE_VARCHAR )`

define PT_IS_CAST_MAYBE

#define PT_IS_CAST_MAYBE (
    node
) `/* multi line expression */`


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