Skip to content

File scanner_support.c

FileList > cubrid > src > parser > scanner_support.c

Go to the source code of this file

  • #include "config.h"
  • #include <math.h>
  • #include "porting.h"
  • #include "parser_message.h"
  • #include "parser.h"
  • #include "chartype.h"
  • #include "language_support.h"
  • #include "intl_support.h"
  • #include "csql_grammar_scan.h"
  • #include "memory_alloc.h"
  • #include "misc_string.h"

Classes

Type Name
struct st_hint_msg

Public Attributes

Type Name
int parser_input_host_index = 0
int parser_output_host_index = 0
int parser_statement_OK = 0
PARSER_CONTEXT * this_parser

Public Static Attributes

Type Name
u_char hint_table_lead_offset = { 0, }
struct st_hint_msg s_hint_msg

Public Functions

Type Name
int csql_yyget_lineno ()
void pt_check_hint (const char * text, PT_HINT hint_table, PT_HINT_ENUM * result_hint)
bool pt_check_hostname (char * p)
bool pt_check_ipv4 (char * p)
void pt_cleanup_hint (PARSER_CONTEXT * parser, PT_HINT hint_table)
void pt_get_hint (const char * text, PT_HINT hint_table, PT_NODE * node)
void pt_initialize_hint (PARSER_CONTEXT * parser, PT_HINT hint_table)
char * pt_makename (const char * name)
int pt_nextchar (void)
void pt_parser_line_col (PT_NODE * node)

Public Static Functions

Type Name
int find_hint_token (PT_HINT hint_table, unsigned char * string)
void get_hint_args_func (unsigned char * arg_start, unsigned char * arg_end, unsigned char * arg_dot, PT_HINT * hint_table)
int hint_case_cmp (const char * input_string, const char * hint_token, int length, int & matched_idx)
int hint_token_cmp (const void * a, const void * b)
void print_hit_hint_string (PT_HINT * hint_table)
char * pt_makename_trim_as_identifier (char * name)
unsigned char * read_hint_args (unsigned char * instr, PT_HINT hint_table, int hint_idx, PT_HINT_ENUM * result_hint)
void write_hint_2_logfile ()

Macros

Type Name
define ADD_HINT_STRING (...) s\_hint\_msg.add\_fmt\_string ([**\_\_VA\_ARGS\_\_**](broker__monitor_8c.md#function-timeout))
define ENABLE_WRITE_HINT_LOG
define HINT_GREP_STR ([**char**](broker__monitor_8c.md#function-timeout)\*)"[HINT] "
define HINT_LEAD_CHAR_SIZE (129)
define IS_HINT_ON_TABLE (h) ((h) & ([**PT\_HINT\_INDEX\_SS**](parse__tree_8h.md#define-pt_hint_index_ss) \| [**PT\_HINT\_INDEX\_LS**](parse__tree_8h.md#define-pt_hint_index_ls)))
define IS_WHITE_SPACE (c) ([**char\_isspace2**](chartype_8h.md#define-char_isspace2)((c)))
define JP_MAXNAME 256

Public Attributes Documentation

variable parser_input_host_index

int parser_input_host_index;

variable parser_output_host_index

int parser_output_host_index;

variable parser_statement_OK

int parser_statement_OK;

variable this_parser

PARSER_CONTEXT* this_parser;

Public Static Attributes Documentation

variable hint_table_lead_offset

u_char hint_table_lead_offset[(129)];

variable s_hint_msg

struct st_hint_msg s_hint_msg;

Public Functions Documentation

function csql_yyget_lineno

int csql_yyget_lineno () 

function pt_check_hint

void pt_check_hint (
    const  char * text,
    PT_HINT hint_table,
    PT_HINT_ENUM * result_hint
) 

function pt_check_hostname

bool pt_check_hostname (
    char * p
) 

function pt_check_ipv4

bool pt_check_ipv4 (
    char * p
) 

function pt_cleanup_hint

void pt_cleanup_hint (
    PARSER_CONTEXT * parser,
    PT_HINT hint_table
) 

function pt_get_hint

void pt_get_hint (
    const  char * text,
    PT_HINT hint_table,
    PT_NODE * node
) 

function pt_initialize_hint

void pt_initialize_hint (
    PARSER_CONTEXT * parser,
    PT_HINT hint_table
) 

function pt_makename

char * pt_makename (
    const  char * name
) 

function pt_nextchar

int pt_nextchar (
    void
) 

function pt_parser_line_col

void pt_parser_line_col (
    PT_NODE * node
) 

Public Static Functions Documentation

function find_hint_token

static int find_hint_token (
    PT_HINT hint_table,
    unsigned  char * string
) 

function get_hint_args_func

static void get_hint_args_func (
    unsigned  char * arg_start,
    unsigned  char * arg_end,
    unsigned  char * arg_dot,
    PT_HINT * hint_table
) 

function hint_case_cmp

static inline int hint_case_cmp (
    const  char * input_string,
    const  char * hint_token,
    int length,
    int & matched_idx
) 

function hint_token_cmp

static int hint_token_cmp (
    const  void * a,
    const  void * b
) 

function print_hit_hint_string

static void print_hit_hint_string (
    PT_HINT * hint_table
) 

function pt_makename_trim_as_identifier

static char * pt_makename_trim_as_identifier (
    char * name
) 

function read_hint_args

static unsigned  char * read_hint_args (
    unsigned  char * instr,
    PT_HINT hint_table,
    int hint_idx,
    PT_HINT_ENUM * result_hint
) 

function write_hint_2_logfile

static void write_hint_2_logfile () 

Macro Definition Documentation

define ADD_HINT_STRING

#define ADD_HINT_STRING (
    ...
) `s_hint_msg.add_fmt_string ( __VA_ARGS__ )`

define ENABLE_WRITE_HINT_LOG

#define ENABLE_WRITE_HINT_LOG 

define HINT_GREP_STR

#define HINT_GREP_STR `( char *)"[HINT] "`

define HINT_LEAD_CHAR_SIZE

#define HINT_LEAD_CHAR_SIZE `(129)`

define IS_HINT_ON_TABLE

#define IS_HINT_ON_TABLE (
    h
) `((h) & ( PT_HINT_INDEX_SS | PT_HINT_INDEX_LS ))`

define IS_WHITE_SPACE

#define IS_WHITE_SPACE (
    c
) `( char_isspace2 ((c)))`

define JP_MAXNAME

#define JP_MAXNAME `256`


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