Skip to content

File shard_parser.c

FileList > broker > shard_parser.c

Go to the source code of this file

  • #include "shard_parser.h"
  • #include "shard_proxy_log.h"

Public Functions

Type Name
const char * sp_check_end_of_hint (const char * sql, int * error)
SP_PARSER_CTX * sp_create_parser (const char * sql_stmt)
SP_PARSER_HINT * sp_create_parser_hint (void)
void sp_destroy_parser (SP_PARSER_CTX * parser_p)
void sp_free_parser_hint (SP_PARSER_HINT * hint_p)
int sp_get_dynamic_hint_count (SP_PARSER_CTX * parser_p)
SP_PARSER_HINT * sp_get_first_dynamic_hint (SP_PARSER_CTX * parser_p)
SP_PARSER_HINT * sp_get_first_hint (SP_PARSER_CTX * parser_p)
SP_PARSER_HINT * sp_get_first_static_hint (SP_PARSER_CTX * parser_p)
const char * sp_get_hint_arg (const char * sql, SP_PARSER_HINT * hint_p, int * error)
char * sp_get_hint_key (SP_PARSER_HINT * hint_p)
const char * sp_get_hint_type (const char * sql, SP_HINT_TYPE * hint_type)
SP_PARSER_HINT * sp_get_next_dynamic_hint (SP_PARSER_HINT * hint_p)
SP_PARSER_HINT * sp_get_next_hint (SP_PARSER_HINT * hint_p)
SP_PARSER_HINT * sp_get_next_static_hint (SP_PARSER_HINT * hint_p)
const char * sp_get_sql_stmt (SP_PARSER_CTX * parser_p)
int sp_get_static_hint_count (SP_PARSER_CTX * parser_p)
const char * sp_get_token_type (const char * sql, SP_TOKEN * token)
int sp_get_total_hint_count (SP_PARSER_CTX * parser_p)
bool sp_is_exist_pair_token (SP_TOKEN token)
bool sp_is_hint_static (SP_PARSER_CTX * parser_p)
bool sp_is_pair_token (SP_TOKEN start_token, SP_TOKEN end_token)
int sp_parse_sql (SP_PARSER_CTX * parser_p)

Public Static Functions

Type Name
const char * left_trim (const char * str)
void sp_append_parser_hint_to_ctx (SP_PARSER_CTX * parser_p, SP_PARSER_HINT * hint_p)
void sp_copy_cursor_to_prv (SP_PARSER_CTX * parser_p)
void sp_free_parser_hint_from_ctx (SP_PARSER_CTX * parser_p)
void sp_free_sp_value (SP_VALUE * value_p)
int sp_get_bind_type_and_value (SP_PARSER_CTX * parser_p, SP_PARSER_HINT * hint_p)
int sp_get_int_bind_value (SP_PARSER_CTX * parser_p, SP_PARSER_HINT * hint_p)
int sp_get_string_bind_value (SP_PARSER_CTX * parser_p, SP_PARSER_HINT * hint_p)
void sp_init_praser_hint_list (SP_PARSER_HINT_LIST * list)
int sp_init_sp_value (SP_VALUE * value_p)
bool sp_is_start_token (SP_TOKEN token)
int sp_is_valid_hint (SP_PARSER_CTX * parser_p, SP_PARSER_HINT * hint_p)
int sp_make_int_sp_value_from_string (SP_VALUE * value_p, char * pos, int length)
int sp_make_sp_value (SP_VALUE * value_p, const char * pos, int length)
int sp_make_string_sp_value (SP_VALUE * value_p, const char * pos, int length)
int sp_parse_sql_internal (SP_PARSER_CTX * parser_p)
int sp_process_token (SP_PARSER_CTX * parser_p, SP_TOKEN token_type)

Public Functions Documentation

function sp_check_end_of_hint

const  char * sp_check_end_of_hint (
    const  char * sql,
    int * error
) 

function sp_create_parser

SP_PARSER_CTX * sp_create_parser (
    const  char * sql_stmt
) 

function sp_create_parser_hint

SP_PARSER_HINT * sp_create_parser_hint (
    void
) 

function sp_destroy_parser

void sp_destroy_parser (
    SP_PARSER_CTX * parser_p
) 

function sp_free_parser_hint

void sp_free_parser_hint (
    SP_PARSER_HINT * hint_p
) 

function sp_get_dynamic_hint_count

int sp_get_dynamic_hint_count (
    SP_PARSER_CTX * parser_p
) 

function sp_get_first_dynamic_hint

SP_PARSER_HINT * sp_get_first_dynamic_hint (
    SP_PARSER_CTX * parser_p
) 

function sp_get_first_hint

SP_PARSER_HINT * sp_get_first_hint (
    SP_PARSER_CTX * parser_p
) 

function sp_get_first_static_hint

SP_PARSER_HINT * sp_get_first_static_hint (
    SP_PARSER_CTX * parser_p
) 

function sp_get_hint_arg

const  char * sp_get_hint_arg (
    const  char * sql,
    SP_PARSER_HINT * hint_p,
    int * error
) 

function sp_get_hint_key

char * sp_get_hint_key (
    SP_PARSER_HINT * hint_p
) 

function sp_get_hint_type

const  char * sp_get_hint_type (
    const  char * sql,
    SP_HINT_TYPE * hint_type
) 

function sp_get_next_dynamic_hint

SP_PARSER_HINT * sp_get_next_dynamic_hint (
    SP_PARSER_HINT * hint_p
) 

function sp_get_next_hint

SP_PARSER_HINT * sp_get_next_hint (
    SP_PARSER_HINT * hint_p
) 

function sp_get_next_static_hint

SP_PARSER_HINT * sp_get_next_static_hint (
    SP_PARSER_HINT * hint_p
) 

function sp_get_sql_stmt

const  char * sp_get_sql_stmt (
    SP_PARSER_CTX * parser_p
) 

function sp_get_static_hint_count

int sp_get_static_hint_count (
    SP_PARSER_CTX * parser_p
) 

function sp_get_token_type

const  char * sp_get_token_type (
    const  char * sql,
    SP_TOKEN * token
) 

function sp_get_total_hint_count

int sp_get_total_hint_count (
    SP_PARSER_CTX * parser_p
) 

function sp_is_exist_pair_token

bool sp_is_exist_pair_token (
    SP_TOKEN token
) 

function sp_is_hint_static

bool sp_is_hint_static (
    SP_PARSER_CTX * parser_p
) 

function sp_is_pair_token

bool sp_is_pair_token (
    SP_TOKEN start_token,
    SP_TOKEN end_token
) 

function sp_parse_sql

int sp_parse_sql (
    SP_PARSER_CTX * parser_p
) 

Public Static Functions Documentation

function left_trim

static inline const  char * left_trim (
    const  char * str
) 

function sp_append_parser_hint_to_ctx

static void sp_append_parser_hint_to_ctx (
    SP_PARSER_CTX * parser_p,
    SP_PARSER_HINT * hint_p
) 

function sp_copy_cursor_to_prv

static inline void sp_copy_cursor_to_prv (
    SP_PARSER_CTX * parser_p
) 

function sp_free_parser_hint_from_ctx

static void sp_free_parser_hint_from_ctx (
    SP_PARSER_CTX * parser_p
) 

function sp_free_sp_value

static void sp_free_sp_value (
    SP_VALUE * value_p
) 

function sp_get_bind_type_and_value

static int sp_get_bind_type_and_value (
    SP_PARSER_CTX * parser_p,
    SP_PARSER_HINT * hint_p
) 

function sp_get_int_bind_value

static int sp_get_int_bind_value (
    SP_PARSER_CTX * parser_p,
    SP_PARSER_HINT * hint_p
) 

function sp_get_string_bind_value

static int sp_get_string_bind_value (
    SP_PARSER_CTX * parser_p,
    SP_PARSER_HINT * hint_p
) 

function sp_init_praser_hint_list

static void sp_init_praser_hint_list (
    SP_PARSER_HINT_LIST * list
) 

function sp_init_sp_value

static int sp_init_sp_value (
    SP_VALUE * value_p
) 

function sp_is_start_token

static bool sp_is_start_token (
    SP_TOKEN token
) 

function sp_is_valid_hint

static int sp_is_valid_hint (
    SP_PARSER_CTX * parser_p,
    SP_PARSER_HINT * hint_p
) 

function sp_make_int_sp_value_from_string

static int sp_make_int_sp_value_from_string (
    SP_VALUE * value_p,
    char * pos,
    int length
) 

function sp_make_sp_value

static int sp_make_sp_value (
    SP_VALUE * value_p,
    const  char * pos,
    int length
) 

function sp_make_string_sp_value

static int sp_make_string_sp_value (
    SP_VALUE * value_p,
    const  char * pos,
    int length
) 

function sp_parse_sql_internal

static int sp_parse_sql_internal (
    SP_PARSER_CTX * parser_p
) 

function sp_process_token

static int sp_process_token (
    SP_PARSER_CTX * parser_p,
    SP_TOKEN token_type
) 


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