24 #ifndef _SHARD_PARSER_H_ 25 #define _SHARD_PARSER_H_ 37 #define SP_VALUE_INIT_SIZE 50
bool sp_is_exist_pair_token(SP_TOKEN token)
enum sp_hint_type SP_HINT_TYPE
const char * sp_get_hint_arg(const char *sql, SP_PARSER_HINT *hint_p, int *error)
void sp_free_parser_hint(SP_PARSER_HINT *hint_p)
SP_PARSER_HINT * sp_create_parser_hint(void)
SP_PARSER_HINT * sp_get_first_static_hint(SP_PARSER_CTX *parser_p)
SP_PARSER_HINT * sp_get_next_dynamic_hint(SP_PARSER_HINT *hint_p)
SP_PARSER_HINT_LIST list_a
#define SP_VALUE_INIT_SIZE
int sp_get_static_hint_count(SP_PARSER_CTX *parser_p)
int sp_get_total_hint_count(SP_PARSER_CTX *parser_p)
SP_PARSER_HINT * sp_get_first_dynamic_hint(SP_PARSER_CTX *parser_p)
const char * sp_get_token_type(const char *sql, SP_TOKEN *token)
const char * sp_get_sql_stmt(SP_PARSER_CTX *parser_p)
SP_PARSER_CTX * sp_create_parser(const char *sql_stmt)
const char * sp_check_end_of_hint(const char *sql, int *error)
bool sp_is_hint_static(SP_PARSER_CTX *parser_p)
enum sp_bind_type SP_BIND_TYPE
static void error(const char *msg)
const char * sp_get_hint_type(const char *sql, SP_HINT_TYPE *hint_type)
SP_PARSER_HINT * sp_get_first_hint(SP_PARSER_CTX *parser_p)
SP_PARSER_HINT * sp_get_next_static_hint(SP_PARSER_HINT *hint_p)
char * sp_get_hint_key(SP_PARSER_HINT *hint_p)
int sp_parse_sql(SP_PARSER_CTX *parser_p)
enum sp_value_type SP_VALUE_TYPE
bool sp_is_pair_token(SP_TOKEN start_token, SP_TOKEN end_token)
void sp_destroy_parser(SP_PARSER_CTX *parser_p)
SP_PARSER_HINT * sp_get_next_hint(SP_PARSER_HINT *hint_p)
int sp_get_dynamic_hint_count(SP_PARSER_CTX *parser_p)