CUBRID Engine
latest
|
#include <limits.h>
#include "esql_host_variable.h"
#include "esql_hash.h"
#include "parser.h"
#include "variable_string.h"
Go to the source code of this file.
Classes | |
struct | whenever_action |
struct | whenever_scope |
Macros | |
#define | HOST_N_REFS(p) ((p) ? (p)->n_refs : 0) |
#define | HOST_REFS(p) ((p) ? (p)->refs : NULL) |
#define | HOST_DESC(p) ((p) ? (p)->desc : NULL) |
#define | CHECK_HOST_REF(hvars, n) |
#define | MEMBER(set, val) ((set) & (1 << (val))) |
#define | NEWSET(val) (1 << (val)) |
#define | ECHO (*echo_fn)(esql_yytext, strlen(esql_yytext)) |
#define | ECHO_STR(str, length) (*echo_fn)((str), length) |
#define | ECHO_SP ECHO_STR(" ",strlen(" ")) |
#define | ECHO_NL ECHO_STR("\n",strlen("\n")) |
#define | IS_SPECIFIER(p) ( (p)->class_ == SPECIFIER ) |
#define | IS_DECLARATOR(p) ( (p)->class_ == DECLARATOR ) |
#define | IS_ARRAY(p) |
#define | IS_POINTER(p) |
#define | IS_FUNCT(p) |
#define | IS_CHAR(p) ( IS_SPECIFIER(p) && (p)->decl.s.noun == N_CHR ) |
#define | IS_INT(p) ( IS_SPECIFIER(p) && (p)->decl.s.noun == N_INT ) |
#define | IS_UINT(p) ( IS_INT(p) && (p)->decl.s.is_unsigned ) |
#define | IS_LONG(p) ( IS_INT(p) && (p)->decl.s.is_long ) |
#define | IS_ULONG(p) |
#define | IS_UNSIGNED(p) ( (p)->decl.s.is_unsigned ) |
#define | IS_STRUCT(p) |
#define | IS_LABEL(p) |
#define | IS_VARCHAR(p) |
#define | IS_BIT(p) |
#define | IS_VARBIT(p) |
#define | IS_PSEUDO_TYPE(p) |
#define | IS_VAR_TYPE(p) |
#define | IS_AGGREGATE(p) ( IS_ARRAY(p) || IS_STRUCT(p) ) |
#define | IS_PTR_TYPE(p) ( IS_ARRAY(p) || IS_POINTER(p) ) |
#define | IS_TYPEDEF(p) |
#define | IS_CONSTANT(p) |
#define | IS_INT_CONSTANT(p) |
Typedefs | |
typedef unsigned int | BITSET |
typedef void(* | ECHO_FN) (const char *, int) |
typedef struct whenever_action | WHENEVER_ACTION |
typedef struct whenever_scope | WHENEVER_SCOPE |
Enumerations | |
enum | ex_msg { EX_ARGS_SET = 1, EX_CURSOR_SET = 2, EX_DECL_SET = 3, EX_ENVIRON_SET = 4, EX_ESQLM_SET = 5, EX_ARG_NAME_SET = 6, EX_ARG_DESCRIPTION_SET = 7, EX_ESQLMMAIN_SET = 8, EX_ESQLMSCANSUPPORT_SET = 9, EX_HASH_SET = 10, EX_HOSTVAR_SET = 11, EX_MISC_SET = 12, EX_SYMBOL_SET = 13, EX_TRANS_SET = 14 } |
enum | { MSG_OUT_OF_MEMORY = 1 } |
enum | scanner_mode { ECHO_MODE = 0, SQLX_MODE = 1, C_MODE = 2, EXPR_MODE = 3, VAR_MODE = 4, HV_MODE = 5, BUFFER_MODE = 6, COMMENT_MODE = 7 } |
Variables | |
int | pp_recognizing_typedef_names |
int | pp_nesting_level |
char * | pt_buffer |
unsigned int | pp_uci_opt |
int | pp_emit_line_directives |
int | pp_dump_scope_info |
int | pp_dump_malloc_info |
const char * | pp_include_path |
char * | pp_include_file |
int | pp_enable_uci_trace |
int | pp_disable_varchar_length |
int | pp_varchar2 |
int | pp_unsafe_null |
int | pp_internal_ind |
const char * | prog_name |
varstring | pt_statement_buf |
varstring | pp_subscript_buf |
varstring | pp_host_var_buf |
char * | esql_yyfilename |
int | errors |
ECHO_FN | echo_fn |
const char * | VARCHAR_ARRAY_NAME |
const char * | VARCHAR_LENGTH_NAME |
SYMTAB * | pp_Symbol_table |
SYMTAB * | pp_Struct_table |
static HOST_LOD * | input_refs |
static HOST_LOD * | output_refs |
#define CHECK_HOST_REF | ( | hvars, | |
n | |||
) |
Definition at line 39 of file esql_misc.h.
Definition at line 44 of file esql_misc.h.
#define ECHO_NL ECHO_STR("\n",strlen("\n")) |
Definition at line 47 of file esql_misc.h.
Definition at line 46 of file esql_misc.h.
#define ECHO_STR | ( | str, | |
length | |||
) | (*echo_fn)((str), length) |
Definition at line 45 of file esql_misc.h.
Definition at line 36 of file esql_misc.h.
Definition at line 84 of file esql_misc.h.
#define IS_ARRAY | ( | p | ) |
Definition at line 52 of file esql_misc.h.
Referenced by pp_add_declarator(), pp_add_initializer(), pp_add_spec_to_decl(), pp_check(), pp_clone_type(), and pp_discard_link().
#define IS_BIT | ( | p | ) |
Definition at line 72 of file esql_misc.h.
#define IS_CHAR | ( | p | ) | ( IS_SPECIFIER(p) && (p)->decl.s.noun == N_CHR ) |
Definition at line 58 of file esql_misc.h.
Referenced by pp_addr_expr(), and pp_check().
#define IS_CONSTANT | ( | p | ) |
Definition at line 89 of file esql_misc.h.
#define IS_DECLARATOR | ( | p | ) | ( (p)->class_ == DECLARATOR ) |
Definition at line 50 of file esql_misc.h.
Referenced by pp_type_str().
#define IS_FUNCT | ( | p | ) |
Definition at line 56 of file esql_misc.h.
Referenced by pp_clone_type(), pp_discard_link(), and pp_discard_symbol().
#define IS_INT | ( | p | ) | ( IS_SPECIFIER(p) && (p)->decl.s.noun == N_INT ) |
Definition at line 59 of file esql_misc.h.
Referenced by pp_add_host_ref().
#define IS_INT_CONSTANT | ( | p | ) |
Definition at line 91 of file esql_misc.h.
#define IS_LABEL | ( | p | ) |
Definition at line 68 of file esql_misc.h.
Definition at line 61 of file esql_misc.h.
Referenced by pp_add_host_ref().
#define IS_POINTER | ( | p | ) |
Definition at line 54 of file esql_misc.h.
Referenced by pp_check().
#define IS_PSEUDO_TYPE | ( | p | ) |
Definition at line 76 of file esql_misc.h.
Referenced by pp_add_spec_to_decl(), pp_addr_expr(), pp_print_decls(), and pp_struct_deref().
#define IS_PTR_TYPE | ( | p | ) | ( IS_ARRAY(p) || IS_POINTER(p) ) |
Definition at line 85 of file esql_misc.h.
Referenced by pp_addr_expr(), pp_ptr_deref(), pp_struct_deref(), and pp_the_same_type().
Definition at line 49 of file esql_misc.h.
Referenced by pp_attr_str(), pp_check(), and pp_print_link().
#define IS_STRUCT | ( | p | ) |
Definition at line 66 of file esql_misc.h.
Referenced by pp_struct_deref().
#define IS_TYPEDEF | ( | p | ) |
Definition at line 87 of file esql_misc.h.
Referenced by pp_add_spec_to_decl().
Definition at line 60 of file esql_misc.h.
#define IS_ULONG | ( | p | ) |
Definition at line 62 of file esql_misc.h.
Definition at line 64 of file esql_misc.h.
#define IS_VAR_TYPE | ( | p | ) |
Definition at line 80 of file esql_misc.h.
Referenced by pp_add_spec_to_decl().
#define IS_VARBIT | ( | p | ) |
Definition at line 74 of file esql_misc.h.
#define IS_VARCHAR | ( | p | ) |
Definition at line 70 of file esql_misc.h.
#define MEMBER | ( | set, | |
val | |||
) | ((set) & (1 << (val))) |
Definition at line 42 of file esql_misc.h.
Referenced by pp_check_type().
#define NEWSET | ( | val | ) | (1 << (val)) |
Definition at line 43 of file esql_misc.h.
typedef unsigned int BITSET |
Definition at line 94 of file esql_misc.h.
typedef void(* ECHO_FN) (const char *, int) |
Definition at line 95 of file esql_misc.h.
typedef struct whenever_action WHENEVER_ACTION |
Definition at line 96 of file esql_misc.h.
typedef struct whenever_scope WHENEVER_SCOPE |
Definition at line 97 of file esql_misc.h.
anonymous enum |
Enumerator | |
---|---|
MSG_OUT_OF_MEMORY |
Definition at line 128 of file esql_misc.h.
enum ex_msg |
Definition at line 110 of file esql_misc.h.
enum scanner_mode |
Enumerator | |
---|---|
ECHO_MODE | |
SQLX_MODE | |
C_MODE | |
EXPR_MODE | |
VAR_MODE | |
HV_MODE | |
BUFFER_MODE | |
COMMENT_MODE |
Definition at line 134 of file esql_misc.h.
void echo_stream | ( | const char * | , |
int | |||
) |
void echo_vstr | ( | const char * | , |
int | |||
) |
void emit_line_directive | ( | void | ) |
Referenced by emit_end(), emit_get_db_value(), emit_put_db_value(), emit_start(), emit_whenever(), tr_close_cs(), tr_commit(), tr_connect(), tr_delete_cs(), tr_describe(), tr_disconnect(), tr_execute(), tr_execute_immediate(), tr_fetch_cs(), tr_object_describe(), tr_object_fetch(), tr_object_update(), tr_open_cs(), tr_prepare_esql(), tr_print_n_string(), tr_rollback(), tr_static(), and tr_update_cs().
void esql_yy_check_mode | ( | void | ) |
void esql_yy_echo | ( | const char * | str | ) |
void esql_yy_enter | ( | enum | scanner_mode | ) |
void esql_yy_erase_last_token | ( | void | ) |
void esql_yy_pop_mode | ( | void | ) |
void esql_yy_push_mode | ( | enum | scanner_mode | ) |
void esql_yy_sync_lineno | ( | void | ) |
void esql_yyerror | ( | const char * | ) |
void esql_yyinit | ( | void | ) |
void esql_yyredef | ( | char * | ) |
Referenced by pp_add_symbols_to_table(), and pp_do_enum().
void esql_yyverror | ( | const char * | , |
... | |||
) |
Referenced by emit_put_db_value(), get_quasi_string(), grow_ptr_vec(), pp_add_declarator(), pp_add_host_ref(), pp_add_spec_to_decl(), pp_add_storage_class(), pp_add_struct_field_refs(), pp_add_struct_spec(), pp_add_type_adj(), pp_add_type_noun(), pp_add_typedefed_spec(), pp_addr_expr(), pp_check(), pp_check_host_var_list(), pp_check_type(), pp_get_input_size(), pp_get_precision(), pp_new_cursor(), pp_new_host_lod(), pp_new_link(), pp_new_ptr_vec(), pp_ptr_deref(), pp_push_name_scope(), pp_push_spec_scope(), pp_set_class_bit(), and pp_struct_deref().
void esql_yyvwarn | ( | const char * | , |
... | |||
) |
void pp_add_cursor_to_scope | ( | CURSOR * | cursor | ) |
Definition at line 1090 of file esql_declare.c.
References scope::cursor_chain, and cursor::next.
Referenced by pp_new_cursor().
void pp_add_declarator | ( | SYMBOL * | sym, |
int | type | ||
) |
Definition at line 452 of file esql_symbol_table.c.
References declarator::args, symbol::args, link::d, D_FUNCTION, D_POINTER, declarator::dcl_type, link::decl, esql_yyverror(), symbol::etype, EX_SYMBOL_SET, IS_ARRAY, linkchunk::link, MSG_ILLEGAL_ARRAY, link::next, NULL, pp_get_msg(), pp_new_link(), and symbol::type.
Referenced by pp_hv_init(), and pp_new_pseudo_def().
Definition at line 273 of file esql_host_variable.c.
References host_ref::addr_expr_buf, BAD_C_TYPE, C_TYPE_STRUCT, esql_yyverror(), EX_HOSTVAR_SET, host_var::expr, host_ref::expr_buf, free_and_init, host_ref::ind, host_ref::ind_addr_expr_buf, host_ref::ind_expr_buf, host_ref::input_size_buf, IS_INT, IS_LONG, host_lod::max_refs, MSG_INDICATOR_NOT_ALLOWED, MSG_MUST_BE_SHORT, host_lod::n_real_refs, host_lod::n_refs, NULL, host_ref::output_size_buf, pp_add_struct_field_refs(), pp_check(), pp_free_host_var(), pp_get_msg(), pp_host_refs, pp_malloc(), pp_new_host_lod(), host_ref::precision_buf, host_lod::real_refs, host_lod::refs, host_var::type, host_ref::uci_type, host_ref::var, and vs_str().
Referenced by pp_add_host_str(), and pp_add_struct_field_refs().
HOST_REF* pp_add_host_str | ( | char * | str | ) |
Definition at line 520 of file esql_host_variable.c.
References C_TYPE_STRING_CONST, host_var::expr, NULL, pp_add_host_ref(), pp_new_host_var(), pp_translate_string(), host_ref::uci_type, and vs_clear().
void pp_add_initializer | ( | SYMBOL * | sym | ) |
Definition at line 1056 of file esql_declare.c.
References link::d, link::decl, IS_ARRAY, NULL, declarator::num_ele, and symbol::type.
Definition at line 294 of file esql_misc.c.
References ptr_vec::elems, grow_ptr_vec(), ptr_vec::max_elems, ptr_vec::n_elems, and NULL.
Definition at line 213 of file esql_declare.c.
References symbol::args, link::d, link::decl, esql_yyverror(), symbol::etype, EX_DECL_SET, link::from_tdef, IS_ARRAY, IS_PSEUDO_TYPE, IS_TYPEDEF, IS_VAR_TYPE, symbol::level, MSG_BAD_PSEUDO_DECL, MSG_MALFORMED_CHAIN, N_VARCHAR, link::next, symbol::next, specifier::noun, NULL, declarator::num_ele, pp_clone_type(), pp_discard_link(), pp_get_msg(), pp_new_pseudo_def(), pp_new_symbol(), pp_set_class_bit(), pp_type_str(), link::s, link::tdef, symbol::type, specifier::v_struct, and specifier::val.
Referenced by pp_add_dummy_structdef(), pp_hv_init(), and pp_new_pseudo_def().
void pp_add_storage_class | ( | int | sc | ) |
Definition at line 677 of file esql_declare.c.
References esql_yyverror(), EX_DECL_SET, MSG_ILLEGAL_CLASS_COMBO, MSG_SPECIFIER_NOT_ALLOWED, p, pp_current_spec_scope, pp_get_msg(), pp_set_class_bit(), spec_state::sc_allowed, spec_state::spec, spec_state::storage_class_seen, and spec_state::typedef_seen.
Referenced by pp_add_dummy_structdef(), and pp_hv_init().
void pp_add_struct_spec | ( | STRUCTDEF * | sdef | ) |
Definition at line 707 of file esql_declare.c.
References structdef::by_name, link::decl, esql_yyverror(), EX_DECL_SET, specifier::is_by_name, spec_state::longs_seen, MSG_ILLEGAL_MODIFIER_COMBO, MSG_ILLEGAL_TYPE_COMBO, N_STRUCTURE, specifier::noun, spec_state::noun_seen, NULL, p, pp_current_spec_scope, pp_discard_structdef(), pp_get_msg(), link::s, spec_state::shorts_seen, spec_state::signed_seen, spec_state::spec, specifier::v_struct, and specifier::val.
Referenced by pp_add_dummy_structdef().
void pp_add_symbols_to_table | ( | SYMBOL * | sym | ) |
Definition at line 304 of file esql_declare.c.
References hash_tab_s::add_symbol, link::decl, esql_yyredef(), symbol::etype, specifier::is_extern, specifier::is_static, symbol::level, symbol::name, symbol::next, NULL, pp_discard_symbol(), pp_findsym(), pp_Symbol_table, pp_the_same_type(), link::s, specifier::sclass, scope::sym_chain, and symbol::type.
Referenced by pp_hv_init().
void pp_add_type_adj | ( | int | adj | ) |
Definition at line 857 of file esql_declare.c.
References spec_state::const_seen, link::decl, esql_yyverror(), EX_DECL_SET, specifier::is_long, specifier::is_short, specifier::is_unsigned, spec_state::longs_seen, MAX_LONGS_ALLOWED, MSG_ILLEGAL_MODIFIER_COMBO, MSG_TYPE_ADJ_UNEXPECTED_CASE, N_CHR, N_FLOAT, N_INT, specifier::noun, spec_state::noun_seen, p, pp_current_spec_scope, pp_get_msg(), link::s, spec_state::shorts_seen, spec_state::signed_seen, spec_state::spec, and spec_state::volatile_seen.
Referenced by pp_hv_init().
void pp_add_type_noun | ( | int | type | ) |
Definition at line 754 of file esql_declare.c.
References spec_state::const_seen, link::decl, esql_yyverror(), EX_DECL_SET, specifier::is_const, specifier::is_long, specifier::is_short, specifier::is_volatile, spec_state::longs_seen, MSG_ILLEGAL_MODIFIER_COMBO, MSG_ILLEGAL_TYPE_COMBO, MSG_TYPE_SPEC_UNEXPECTED_CASE, N_BIT, N_CHR, N_FLOAT, N_INT, N_VARBIT, N_VARCHAR, N_VOID, specifier::noun, spec_state::noun_seen, NULL, p, pp_current_spec_scope, pp_get_msg(), link::s, spec_state::shorts_seen, spec_state::signed_seen, spec_state::spec, specifier::v_struct, specifier::val, and spec_state::volatile_seen.
Referenced by pp_hv_init(), and pp_new_pseudo_def().
void pp_add_typedefed_spec | ( | LINK * | spec | ) |
Definition at line 995 of file esql_declare.c.
References link::decl, esql_yyverror(), EX_DECL_SET, specifier::is_const, specifier::is_extern, specifier::is_static, specifier::is_volatile, spec_state::longs_seen, MSG_ILLEGAL_MODIFIER_COMBO, MSG_ILLEGAL_TYPE_COMBO, link::next, spec_state::noun_seen, NULL, p, pp_current_spec_scope, pp_discard_link_chain(), pp_get_msg(), link::s, specifier::sclass, spec_state::shorts_seen, spec_state::signed_seen, spec_state::spec, and link::tdef.
Referenced by pp_new_pseudo_def().
void pp_add_whenever_to_scope | ( | WHEN_CONDITION | cond, |
WHEN_ACTION | action, | ||
char * | name | ||
) |
Definition at line 1108 of file esql_declare.c.
References whenever_action::action, whenever_scope::cond, esql_Translate_table, whenever_action::name, NULL, p, strdup(), esql_translate_table_s::tr_whenever, and scope::whenever.
Definition at line 1239 of file esql_host_variable.c.
References link::d, D_POINTER, declarator::dcl_type, link::decl, link::next, NULL, pp_new_link(), and host_var::type.
char* pp_attr_str | ( | LINK * | type | ) |
Definition at line 620 of file esql_symbol_table.c.
References assert, link::decl, specifier::is_long, specifier::is_short, IS_SPECIFIER, specifier::is_unsigned, N_CHR, N_FLOAT, N_INT, specifier::noun, and link::s.
Referenced by pp_type_str().
void pp_check_host_var_list | ( | void | ) |
Definition at line 589 of file esql_host_variable.c.
References esql_yyverror(), EX_HOSTVAR_SET, i, MSG_TYPE_NOT_ACCEPTABLE, host_lod::n_refs, NULL, NUM_C_VARIABLE_TYPES, pp_get_expr(), pp_get_msg(), pp_get_type(), pp_type_str(), host_lod::refs, host_var::type, and host_ref::var.
Definition at line 554 of file esql_host_variable.c.
References esql_yyverror(), EX_HOSTVAR_SET, free_and_init, MEMBER, MSG_NOT_VALID, NULL, pp_expr(), pp_get_msg(), pp_get_type(), pp_strdup(), and host_ref::var.
void pp_clear_host_lod | ( | HOST_LOD * | lod | ) |
Definition at line 1467 of file esql_host_variable.c.
References host_lod::desc, i, host_lod::n_real_refs, host_lod::n_refs, NULL, pp_free_host_ref(), host_lod::real_refs, and host_lod::refs.
Referenced by pp_clear_host_refs(), and pp_free_host_lod().
void pp_clear_host_refs | ( | void | ) |
Definition at line 167 of file esql_host_variable.c.
References host_lod_chain, host_lod_free_list, input_refs, host_lod::next, NULL, output_refs, and pp_clear_host_lod().
Referenced by pp_hv_init().
Definition at line 493 of file esql_symbol_table.c.
References symbol::etype, symbol::level, symbol::name, symbol::next, NULL, pp_clone_type(), pp_new_symbol(), and symbol::type.
Referenced by pp_clone_type().
Definition at line 518 of file esql_symbol_table.c.
References declarator::args, link::d, link::decl, IS_ARRAY, IS_FUNCT, link::next, symbol::next, NULL, declarator::num_ele, pp_clone_symbol(), pp_new_link(), pp_strdup(), and link::tdef.
Referenced by pp_add_spec_to_decl(), pp_clone_symbol(), pp_new_host_var(), and pp_struct_deref().
HOST_LOD* pp_copy_host_refs | ( | void | ) |
Definition at line 474 of file esql_host_variable.c.
References NULL, and pp_host_refs.
Referenced by pp_detach_host_refs().
LINK* pp_current_type_spec | ( | void | ) |
Definition at line 663 of file esql_declare.c.
References spec_state::spec.
Referenced by pp_add_dummy_structdef(), pp_hv_init(), and pp_new_pseudo_def().
void pp_cursor_finish | ( | void | ) |
Definition at line 143 of file esql_cursor.c.
References hash_tab_s::free_table, NULL, pp_free_cursor(), and pp_free_stmt().
Referenced by pp_finish().
void pp_cursor_init | ( | void | ) |
Definition at line 132 of file esql_cursor.c.
References es_ht_make_table(), pp_generic_case_cmp(), and pp_generic_case_hash().
Referenced by pp_startup().
void pp_decl_finish | ( | void | ) |
Definition at line 555 of file esql_declare.c.
References free_and_init, pp_pop_name_scope(), and pp_pop_spec_scope().
Referenced by pp_finish().
void pp_decl_init | ( | void | ) |
Definition at line 530 of file esql_declare.c.
References NFRAMES, NULL, pp_make_typedef_names_visible(), pp_malloc(), pp_nesting_level, pp_push_name_scope(), and pp_push_spec_scope().
Referenced by pp_startup().
HOST_LOD* pp_detach_host_refs | ( | void | ) |
Definition at line 494 of file esql_host_variable.c.
References host_lod_chain, host_lod::next, NULL, and pp_copy_host_refs().
void pp_disallow_storage_classes | ( | void | ) |
Definition at line 1076 of file esql_declare.c.
References spec_state::sc_allowed.
void pp_discard_cursor_chain | ( | CURSOR * | chain | ) |
Definition at line 239 of file esql_cursor.c.
References cursor::next, NULL, and pp_free_cursor().
Referenced by pp_pop_name_scope().
void pp_discard_link | ( | LINK * | p | ) |
Definition at line 266 of file esql_symbol_table.c.
References declarator::args, link::d, link::decl, free_and_init, IS_ARRAY, IS_FUNCT, link_free_list, links_deallocated, link::next, declarator::num_ele, p, and pp_discard_symbol_chain().
Referenced by pp_add_dummy_structdef(), pp_add_spec_to_decl(), pp_discard_link_chain(), pp_hv_init(), pp_new_pseudo_def(), pp_ptr_deref(), and pp_struct_deref().
void pp_discard_link_chain | ( | LINK * | p | ) |
Definition at line 248 of file esql_symbol_table.c.
References linkchunk::next, link::next, and pp_discard_link().
Referenced by pp_add_typedefed_spec(), pp_discard_symbol(), pp_free_host_var(), and pp_struct_deref().
void pp_discard_structdef | ( | STRUCTDEF * | sdef | ) |
Definition at line 339 of file esql_symbol_table.c.
References es_ht_free_symbol(), structdef::fields, free_and_init, structdef::next, pp_discard_symbol_chain(), sdefs_deallocated, struct_free_list, syms_to_free_lists, and structdef::tag.
Referenced by pp_add_struct_spec(), pp_discard_structdef_chain(), and pp_symbol_finish().
void pp_discard_structdef_chain | ( | STRUCTDEF * | sdef | ) |
Definition at line 369 of file esql_symbol_table.c.
References linkchunk::next, structdef::next, NULL, and pp_discard_structdef().
Referenced by pp_pop_name_scope().
void pp_discard_symbol | ( | SYMBOL * | sym | ) |
Definition at line 139 of file esql_symbol_table.c.
References symbol::args, es_ht_free_symbol(), free_and_init, IS_FUNCT, symbol::name, symbol::next, pp_discard_link_chain(), pp_discard_symbol_chain(), symbol_free_list, syms_deallocated, syms_to_free_lists, and symbol::type.
Referenced by pp_add_symbols_to_table(), pp_discard_symbol_chain(), pp_hv_finish(), and pp_symbol_finish().
void pp_discard_symbol_chain | ( | SYMBOL * | sym | ) |
Definition at line 183 of file esql_symbol_table.c.
References symbol::next, p, and pp_discard_symbol().
Referenced by pp_discard_link(), pp_discard_structdef(), pp_discard_symbol(), and pp_pop_name_scope().
void pp_do_enum | ( | SYMBOL * | sym | ) |
Definition at line 397 of file esql_declare.c.
References hash_tab_s::add_symbol, C_CONSTANT, link::decl, esql_yyredef(), symbol::name, p, pp_new_type_spec(), pp_Symbol_table, link::s, specifier::sclass, symbol::type, specifier::v_int, and specifier::val.
Definition at line 831 of file esql_symbol_table.c.
References hash_tab_s::find_symbol, and symbol::name.
Referenced by pp_add_symbols_to_table(), and pp_new_pseudo_def().
void pp_finish | ( | void | ) |
Definition at line 163 of file esql_misc.c.
References esql_yyout, pp_cursor_finish(), pp_decl_finish(), pp_hv_finish(), pp_symbol_finish(), pp_symbol_stats(), and vs_free().
void pp_finish_whenever_scope | ( | WHENEVER_SCOPE * | scope, |
WHENEVER_SCOPE * | new_scope | ||
) |
Definition at line 89 of file esql_whenever.c.
References whenever_action::action, whenever_scope::cond, default_whenever_scope_initializer, esql_Translate_table, free_last_referenced_name(), whenever_action::name, NOT_FOUND, NULL, SQLERROR, SQLWARNING, and esql_translate_table_s::tr_whenever.
Referenced by pp_pop_name_scope().
void pp_free_cursor | ( | CURSOR * | cursor | ) |
Definition at line 90 of file esql_cursor.c.
References es_ht_free_symbol(), free_and_init, cursor::host_refs, cursor::name, pp_free_host_lod(), and cursor::static_stmt.
Referenced by pp_cursor_finish(), and pp_discard_cursor_chain().
void pp_free_host_lod | ( | HOST_LOD * | lod | ) |
Definition at line 1445 of file esql_host_variable.c.
References free_and_init, NULL, pp_clear_host_lod(), and host_lod::real_refs.
Referenced by pp_free_cursor(), and pp_hv_finish().
void pp_free_host_ref | ( | HOST_REF * | ref | ) |
Definition at line 452 of file esql_host_variable.c.
References host_ref::addr_expr_buf, host_ref::expr_buf, host_ref::ind, host_ref::ind_addr_expr_buf, host_ref::ind_expr_buf, host_ref::input_size_buf, host_ref::output_size_buf, pp_free_host_var(), host_ref::precision_buf, host_ref::var, and vs_free().
Referenced by pp_clear_host_lod().
void pp_free_host_var | ( | HOST_VAR * | var | ) |
Definition at line 238 of file esql_host_variable.c.
References host_var::addr_expr, host_var::expr, free_and_init, host_var::heap_allocated, NULL, pp_discard_link_chain(), host_var::type, and vs_free().
Referenced by pp_add_host_ref(), pp_add_struct_field_refs(), and pp_free_host_ref().
void pp_free_ptr_vec | ( | PTR_VEC * | vec | ) |
Definition at line 231 of file esql_misc.c.
References ptr_vec::elems, free_and_init, ptr_vec::heap_allocated, i, ptr_vec::inline_elems, ptr_vec::n_elems, and NULL.
void pp_free_stmt | ( | STMT * | stmt | ) |
Definition at line 292 of file esql_cursor.c.
References es_ht_free_symbol(), free_and_init, stmt::name, and NULL.
Referenced by pp_cursor_finish().
void pp_free_symtab | ( | SYMTAB * | , |
HT_FREE_FN | |||
) |
Definition at line 90 of file esql_symbol_table.c.
References hash_tab_s::free_table.
Referenced by pp_symbol_finish().
void pp_gather_input_refs | ( | void | ) |
Definition at line 112 of file esql_host_variable.c.
References input_refs, output_refs, and pp_host_refs.
void pp_gather_output_refs | ( | void | ) |
Definition at line 128 of file esql_host_variable.c.
References input_refs, output_refs, and pp_host_refs.
int pp_generic_case_cmp | ( | void * | p1, |
void * | p2 | ||
) |
Definition at line 115 of file esql_misc.c.
References intl_mbs_casecmp(), and generic::name.
Referenced by pp_cursor_init().
unsigned int pp_generic_case_hash | ( | void * | p | ) |
Definition at line 70 of file esql_misc.c.
References char_tolower(), hashpjw(), i, and generic::name.
Referenced by pp_cursor_init().
int pp_generic_cmp | ( | void * | p1, |
void * | p2 | ||
) |
Definition at line 132 of file esql_misc.c.
References generic::name.
Referenced by pp_new_symtab().
unsigned int pp_generic_hash | ( | void * | p | ) |
Definition at line 99 of file esql_misc.c.
References hashpjw(), and generic::name.
Referenced by pp_new_symtab().
const char* pp_get_msg | ( | int | msg_set, |
int | msg_num | ||
) |
Referenced by emit_put_db_value(), es_ht_print_table(), es_write_log(), get_quasi_string(), grow_ptr_vec(), pp_add_declarator(), pp_add_host_ref(), pp_add_spec_to_decl(), pp_add_storage_class(), pp_add_struct_field_refs(), pp_add_struct_spec(), pp_add_type_adj(), pp_add_type_noun(), pp_add_typedefed_spec(), pp_addr_expr(), pp_check(), pp_check_host_var_list(), pp_check_type(), pp_get_input_size(), pp_get_precision(), pp_malloc(), pp_new_cursor(), pp_new_host_lod(), pp_new_link(), pp_new_ptr_vec(), pp_print_cursor(), pp_print_cursors(), pp_ptr_deref(), pp_push_name_scope(), pp_push_spec_scope(), pp_set_class_bit(), pp_struct_deref(), and pp_the_same_type().
void pp_hv_finish | ( | void | ) |
Definition at line 1382 of file esql_host_variable.c.
References host_lod::next, pp_discard_symbol(), and pp_free_host_lod().
Referenced by pp_finish().
void pp_hv_init | ( | void | ) |
Definition at line 1324 of file esql_host_variable.c.
References D_ARRAY, i, input_refs, builtin_type_s::name, NULL, output_refs, pp_add_declarator(), pp_add_dummy_structdef(), pp_add_spec_to_decl(), pp_add_storage_class(), pp_add_symbols_to_table(), pp_add_type_adj(), pp_add_type_noun(), pp_clear_host_refs(), pp_current_type_spec(), pp_discard_link(), pp_new_symbol(), pp_reset_current_type_spec(), and builtin_type_s::sym.
Referenced by pp_startup().
void pp_init_whenever_scope | ( | WHENEVER_SCOPE * | scope, |
WHENEVER_SCOPE * | old_scope | ||
) |
Definition at line 67 of file esql_whenever.c.
References default_whenever_scope_initializer, and NULL.
Referenced by pp_push_name_scope().
HOST_LOD* pp_input_refs | ( | void | ) |
Definition at line 144 of file esql_host_variable.c.
References input_refs.
CURSOR* pp_lookup_cursor | ( | char * | name | ) |
Definition at line 118 of file esql_cursor.c.
References hash_tab_s::find_symbol, and cursor::name.
Referenced by pp_new_cursor().
void pp_make_typedef_names_visible | ( | int | ) |
Definition at line 515 of file esql_declare.c.
References pp_recognizing_typedef_names, and scope::recognizing_typedef_names.
Referenced by pp_decl_init(), pp_pop_name_scope(), and pp_push_name_scope().
void* pp_malloc | ( | int | n | ) |
Definition at line 353 of file esql_misc.c.
References EX_MISC_SET, MSG_OUT_OF_MEMORY, NULL, pp_get_msg(), and prog_name.
Referenced by emit_put_db_value(), es_ht_alloc_new_symbol(), es_ht_make_table(), es_ht_print_table(), escape_string(), grow_ptr_vec(), pp_add_host_ref(), pp_decl_init(), and pp_strdup().
CURSOR* pp_new_cursor | ( | char * | name, |
char * | static_stmt, | ||
int | stmtLength, | ||
STMT * | dynamic_stmt, | ||
HOST_LOD * | host_refs | ||
) |
Definition at line 56 of file esql_cursor.c.
References hash_tab_s::add_symbol, cursor::cid, cursor::dynamic_stmt, es_ht_alloc_new_symbol(), esql_yyverror(), EX_CURSOR_SET, cursor::host_refs, cursor::level, MSG_REDEFINITION, cursor::name, cursor::next, next_cid, NULL, pp_add_cursor_to_scope(), pp_get_msg(), pp_lookup_cursor(), pp_nesting_level, cursor::static_stmt, cursor::stmtLength, and strdup().
HOST_LOD* pp_new_host_lod | ( | void | ) |
Definition at line 1406 of file esql_host_variable.c.
References host_lod::desc, esql_yyverror(), EX_MISC_SET, host_lod_chain, host_lod_free_list, host_lod::max_refs, MSG_OUT_OF_MEMORY, host_lod::n_real_refs, host_lod::n_refs, host_lod::next, NULL, pp_get_msg(), host_lod::real_refs, and host_lod::refs.
Referenced by pp_add_host_ref().
Definition at line 207 of file esql_host_variable.c.
References host_var::addr_expr, host_var::etype, host_var::expr, host_var::heap_allocated, symbol::name, NULL, pp_clone_type(), host_var::type, symbol::type, vs_new(), and vs_strcat().
Referenced by pp_add_host_str(), and pp_add_struct_field_refs().
LINK* pp_new_link | ( | void | ) |
Definition at line 200 of file esql_symbol_table.c.
References link::decl, esql_yyverror(), EX_MISC_SET, i, specifier::is_long, specifier::is_short, LCHUNK, linkchunk::link, link_chunks, link_free_list, links_allocated, MSG_OUT_OF_MEMORY, linkchunk::next, link::next, NULL, p, pp_get_msg(), and link::s.
Referenced by pp_add_declarator(), pp_addr_of(), pp_clone_type(), and pp_new_type_spec().
STRUCTDEF* pp_new_pseudo_def | ( | SPECIFIER_NOUN | type, |
const char * | subscript | ||
) |
Definition at line 395 of file esql_symbol_table.c.
References hash_tab_s::add_symbol, link::d, D_ARRAY, link::decl, symbol::etype, structdef::fields, N_VARCHAR, symbol::next, NULL, declarator::num_ele, pp_add_declarator(), pp_add_spec_to_decl(), pp_add_type_noun(), pp_add_typedefed_spec(), pp_current_type_spec(), pp_discard_link(), pp_findsym(), pp_nesting_level, pp_new_structdef(), pp_new_symbol(), pp_pop_spec_scope(), pp_push_spec_scope(), pp_reset_current_type_spec(), pp_strdup(), symbol::type, VARCHAR_ARRAY_NAME, VARCHAR_LENGTH_NAME, vs_free(), vs_new(), vs_sprintf(), and vs_str().
Referenced by pp_add_spec_to_decl().
Definition at line 197 of file esql_misc.c.
References ptr_vec::chunk_size, ptr_vec::elems, esql_yyverror(), EX_MISC_SET, FALSE, ptr_vec::heap_allocated, ptr_vec::inline_elems, ptr_vec::max_elems, MSG_OUT_OF_MEMORY, ptr_vec::n_elems, NULL, pp_get_msg(), PTR_VEC_CHUNK_SIZE, and TRUE.
STMT* pp_new_stmt | ( | char * | name | ) |
Definition at line 261 of file esql_cursor.c.
References hash_tab_s::add_symbol, es_ht_alloc_new_symbol(), hash_tab_s::find_symbol, stmt::name, NULL, stmt::sid, and strdup().
Definition at line 290 of file esql_symbol_table.c.
References structdef::by_name, es_ht_alloc_new_symbol(), structdef::fields, structdef::next, NULL, sdefs_allocated, strdup(), struct_free_list, structdef::tag, structdef::type, and structdef::type_string.
Referenced by pp_add_dummy_structdef(), and pp_new_pseudo_def().
Definition at line 105 of file esql_symbol_table.c.
References es_ht_alloc_new_symbol(), symbol::etype, symbol::level, symbol::name, symbol::next, NULL, strdup(), symbol_free_list, syms_allocated, and symbol::type.
Referenced by pp_add_dummy_structdef(), pp_add_spec_to_decl(), pp_clone_symbol(), pp_hv_init(), and pp_new_pseudo_def().
SYMTAB* pp_new_symtab | ( | void | ) |
Definition at line 78 of file esql_symbol_table.c.
References es_ht_make_table(), pp_generic_cmp(), pp_generic_hash(), and SYMTAB_SIZE.
Referenced by pp_symbol_init().
HOST_LOD* pp_output_refs | ( | void | ) |
Definition at line 154 of file esql_host_variable.c.
References output_refs.
void pp_pop_name_scope | ( | void | ) |
Definition at line 465 of file esql_declare.c.
References scope::cursor_chain, esql_yyout, NULL, pp_current_name_scope, pp_discard_cursor_chain(), pp_discard_structdef_chain(), pp_discard_symbol_chain(), pp_dump_scope_info, pp_finish_whenever_scope(), pp_make_typedef_names_visible(), pp_nesting_level, pp_print_cursors(), pp_print_syms(), pp_remove_cursors_from_table(), pp_remove_structdefs_from_table(), pp_remove_symbols_from_table(), scope::recognizing_typedef_names, scope::struct_chain, scope::sym_chain, and scope::whenever.
Referenced by pp_decl_finish().
void pp_pop_spec_scope | ( | void | ) |
Definition at line 626 of file esql_declare.c.
Referenced by pp_decl_finish(), and pp_new_pseudo_def().
void pp_print_cursors | ( | FILE * | fp | ) |
Definition at line 199 of file esql_cursor.c.
References EX_CURSOR_SET, hash_tab_s::get_symbol_count, MSG_TABLE_TITLE, pp_get_msg(), pp_print_cursor(), and hash_tab_s::print_table.
Referenced by pp_pop_name_scope().
void pp_print_decls | ( | SYMBOL * | sym_chain, |
int | preechoed | ||
) |
Definition at line 1390 of file esql_declare.c.
References symbol::args, esql_yyout, IS_PSEUDO_TYPE, symbol::name, symbol::next, pp_disable_varchar_length, pp_print_decl(), TOK_SC, TOK_SPACE, symbol::type, vs_free(), vs_new(), and vs_str().
void pp_print_specs | ( | LINK * | link | ) |
Definition at line 1414 of file esql_declare.c.
References D_ARRAY, esql_yyout, pp_print_link(), vs_free(), vs_new(), and vs_str().
void pp_print_syms | ( | FILE * | fp | ) |
Definition at line 801 of file esql_symbol_table.c.
References es_print_struct(), es_print_symbol(), hash_tab_s::get_symbol_count, NULL, and hash_tab_s::print_table.
Referenced by pp_pop_name_scope().
Definition at line 1160 of file esql_host_variable.c.
References esql_yyverror(), EX_HOSTVAR_SET, host_var::expr, IS_PTR_TYPE, MSG_DEREF_NOT_ALLOWED, link::next, NULL, pp_discard_link(), pp_get_msg(), host_var::type, and vs_str().
void** pp_ptr_vec_elems | ( | PTR_VEC * | vec | ) |
Definition at line 335 of file esql_misc.c.
References ptr_vec::elems, ptr_vec::n_elems, and NULL.
int pp_ptr_vec_n_elems | ( | PTR_VEC * | vec | ) |
Definition at line 316 of file esql_misc.c.
References ptr_vec::n_elems, and NULL.
void pp_push_name_scope | ( | void | ) |
Definition at line 418 of file esql_declare.c.
References scope::cursor_chain, esql_yyverror(), EX_MISC_SET, MSG_OUT_OF_MEMORY, NFRAMES, NULL, pp_get_msg(), pp_init_whenever_scope(), pp_make_typedef_names_visible(), pp_nesting_level, scope::recognizing_typedef_names, scope::struct_chain, scope::sym_chain, and scope::whenever.
Referenced by pp_decl_init().
void pp_push_spec_scope | ( | void | ) |
Definition at line 577 of file esql_declare.c.
References spec_state::const_seen, esql_yyverror(), EX_MISC_SET, spec_state::longs_seen, MSG_OUT_OF_MEMORY, NFRAMES, spec_state::noun_seen, NULL, p, pp_get_msg(), spec_state::sc_allowed, spec_state::shorts_seen, spec_state::signed_seen, spec_state::spec, spec_state::storage_class_seen, spec_state::typedef_seen, and spec_state::volatile_seen.
Referenced by pp_decl_init(), and pp_new_pseudo_def().
void pp_remove_cursors_from_table | ( | CURSOR * | chain | ) |
Definition at line 220 of file esql_cursor.c.
References cursor::next, NULL, and hash_tab_s::remove_symbol.
Referenced by pp_pop_name_scope().
void pp_remove_symbols_from_table | ( | SYMBOL * | sym_chain | ) |
Definition at line 361 of file esql_declare.c.
References symbol::next, pp_Symbol_table, and hash_tab_s::remove_symbol.
Referenced by pp_pop_name_scope().
void pp_reset_current_type_spec | ( | void | ) |
Definition at line 639 of file esql_declare.c.
References spec_state::const_seen, spec_state::longs_seen, spec_state::noun_seen, p, pp_current_spec_scope, pp_new_type_spec(), spec_state::sc_allowed, spec_state::shorts_seen, spec_state::signed_seen, spec_state::spec, spec_state::storage_class_seen, spec_state::typedef_seen, and spec_state::volatile_seen.
Referenced by pp_add_dummy_structdef(), pp_hv_init(), and pp_new_pseudo_def().
char* pp_sclass_str | ( | int | class_ | ) |
void pp_startup | ( | void | ) |
Definition at line 145 of file esql_misc.c.
References esql_Translate_table, esql_yyout, pp_cursor_init(), pp_decl_init(), pp_hv_init(), pp_symbol_init(), tr_prelude(), esql_translate_table_s::tr_set_line_terminator, esql_translate_table_s::tr_set_out_stream, and vs_new().
char* pp_strdup | ( | const char * | str | ) |
Definition at line 372 of file esql_misc.c.
References NULL, pp_malloc(), and strlen.
Referenced by es_write_log(), pp_check_type(), pp_clone_type(), and pp_new_pseudo_def().
Definition at line 1191 of file esql_host_variable.c.
References link::decl, esql_yyverror(), host_var::etype, EX_HOSTVAR_SET, host_var::expr, IS_PSEUDO_TYPE, IS_PTR_TYPE, IS_STRUCT, MSG_NO_FIELD, MSG_NOT_POINTER, MSG_NOT_POINTER_TO_STRUCT, MSG_NOT_STRUCT, link::next, NULL, pp_clone_type(), pp_discard_link(), pp_discard_link_chain(), pp_find_field(), pp_get_msg(), link::s, host_var::type, symbol::type, structdef::type_string, specifier::v_struct, specifier::val, and vs_str().
void pp_suppress_echo | ( | int | ) |
char* pp_switch_to_descriptor | ( | void | ) |
Definition at line 1498 of file esql_host_variable.c.
References assert, host_lod::desc, host_lod::n_refs, NULL, pp_get_expr(), and host_lod::refs.
void pp_symbol_finish | ( | void | ) |
Definition at line 869 of file esql_symbol_table.c.
References es_ht_free_symbol(), free_and_init, linkchunk::next, structdef::next, symbol::next, NULL, pp_discard_structdef(), pp_discard_symbol(), pp_free_symtab(), and syms_to_free_lists.
Referenced by pp_finish().
void pp_symbol_init | ( | void | ) |
Definition at line 844 of file esql_symbol_table.c.
References links_allocated, links_deallocated, NULL, pp_new_symtab(), sdefs_allocated, sdefs_deallocated, syms_allocated, syms_deallocated, and syms_to_free_lists.
Referenced by pp_startup().
void pp_symbol_stats | ( | FILE * | fp | ) |
Definition at line 921 of file esql_symbol_table.c.
References links_allocated, links_deallocated, pp_dump_malloc_info, sdefs_allocated, sdefs_deallocated, syms_allocated, and syms_deallocated.
Referenced by pp_finish().
Definition at line 576 of file esql_symbol_table.c.
References link::class_, link::d, declarator::dcl_type, link::decl, DECLARATOR, esql_yyerror(), EX_SYMBOL_SET, specifier::is_long, IS_PTR_TYPE, specifier::is_short, specifier::is_unsigned, MSG_UNKNOWN_CLASS, N_STRUCTURE, link::next, specifier::noun, pp_get_msg(), link::s, specifier::v_struct, and specifier::val.
Referenced by pp_add_symbols_to_table(), and pp_check_builtin_type().
Definition at line 1532 of file esql_host_variable.c.
References NULL, p, vs_putc(), and vs_strcat().
Referenced by pp_add_host_str().
Definition at line 667 of file esql_symbol_table.c.
References link::d, D_ARRAY, D_FUNCTION, D_POINTER, declarator::dcl_type, link::decl, IS_DECLARATOR, linkchunk::link, N_BIT, N_CHR, N_FLOAT, N_INT, N_LABEL, N_STRUCTURE, N_VARBIT, N_VARCHAR, N_VOID, link::next, specifier::noun, NULL, pp_attr_str(), link::s, strncpy_bufsize, structdef::tag, link::tdef, structdef::type_string, specifier::v_struct, and specifier::val.
Referenced by es_print_struct(), es_print_symbol(), pp_add_spec_to_decl(), pp_check(), pp_check_host_var_list(), pp_get_input_size(), and pp_get_precision().
varstring* yy_get_buf | ( | ) |
ECHO_FN echo_fn |
int errors |
Referenced by db_get_line_col_of_1st_error(), ldr_sa_load(), and pp_add_struct_field_refs().
char* esql_yyfilename |
|
static |
Definition at line 304 of file esql_misc.h.
Referenced by pp_clear_host_refs(), pp_gather_input_refs(), pp_gather_output_refs(), pp_hv_init(), and pp_input_refs().
|
static |
Definition at line 304 of file esql_misc.h.
Referenced by pp_clear_host_refs(), pp_gather_input_refs(), pp_gather_output_refs(), pp_hv_init(), and pp_output_refs().
int pp_disable_varchar_length |
Referenced by emit_put_db_value(), and pp_print_decls().
int pp_dump_malloc_info |
Referenced by pp_symbol_stats().
int pp_dump_scope_info |
Referenced by pp_pop_name_scope().
int pp_emit_line_directives |
int pp_enable_uci_trace |
varstring pp_host_var_buf |
Definition at line 58 of file esql_misc.c.
char* pp_include_file |
Referenced by tr_prelude().
const char* pp_include_path |
int pp_internal_ind |
Referenced by pp_get_ind_addr_expr().
int pp_nesting_level |
Definition at line 114 of file esql_declare.c.
Referenced by pp_decl_init(), pp_new_cursor(), pp_new_pseudo_def(), pp_pop_name_scope(), and pp_push_name_scope().
int pp_recognizing_typedef_names |
Definition at line 113 of file esql_declare.c.
Referenced by pp_make_typedef_names_visible().
SYMTAB* pp_Struct_table |
Definition at line 51 of file esql_symbol_table.c.
Referenced by pp_add_dummy_structdef(), and pp_remove_structdefs_from_table().
varstring pp_subscript_buf |
Definition at line 57 of file esql_misc.c.
SYMTAB* pp_Symbol_table |
Definition at line 50 of file esql_symbol_table.c.
Referenced by pp_add_dummy_structdef(), pp_add_symbols_to_table(), pp_do_enum(), and pp_remove_symbols_from_table().
unsigned int pp_uci_opt |
Referenced by emit_start().
int pp_unsafe_null |
int pp_varchar2 |
Referenced by tr_prelude().
const char* prog_name |
Referenced by er_log(), and pp_malloc().
char* pt_buffer |
varstring pt_statement_buf |
const char* VARCHAR_ARRAY_NAME |
Referenced by pp_addr_expr(), pp_get_output_size(), pp_get_precision(), and pp_new_pseudo_def().
const char* VARCHAR_LENGTH_NAME |
Referenced by pp_get_input_size(), pp_get_precision(), and pp_new_pseudo_def().