MySQL 8.0.40
Source Code Documentation
|
Plugin service that provides access to the parser and some operations on the parse tree. More...
Go to the source code of this file.
Classes | |
struct | mysql_parser_service_st |
Macros | |
#define | MYSQL_THD THD * |
#define | PARSER_SERVICE_DIGEST_LENGTH 32 |
#define | STATEMENT_TYPE_SELECT 1 |
#define | STATEMENT_TYPE_UPDATE 2 |
#define | STATEMENT_TYPE_INSERT 3 |
#define | STATEMENT_TYPE_DELETE 4 |
#define | STATEMENT_TYPE_REPLACE 5 |
#define | STATEMENT_TYPE_OTHER 6 |
Typedefs | |
typedef Item * | MYSQL_ITEM |
typedef int(* | parse_node_visit_function) (MYSQL_ITEM item, unsigned char *arg) |
typedef int(* | sql_condition_handler_function) (int sql_errno, const char *sqlstate, const char *msg, void *state) |
typedef MYSQL_THD(* | mysql_current_session_t) () |
typedef MYSQL_THD(* | mysql_open_session_t) () |
typedef void(* | mysql_start_thread_t) (MYSQL_THD thd, void *(*callback_fun) (void *), void *arg, struct my_thread_handle *thread_handle) |
typedef void(* | mysql_join_thread_t) (struct my_thread_handle *thread_handle) |
typedef void(* | mysql_set_current_database_t) (MYSQL_THD thd, const MYSQL_LEX_STRING db) |
typedef int(* | mysql_parse_t) (MYSQL_THD thd, const MYSQL_LEX_STRING query, unsigned char is_prepared, sql_condition_handler_function handle_condition, void *condition_handler_state) |
Parses the query. More... | |
typedef int(* | mysql_get_statement_type_t) (MYSQL_THD thd) |
typedef int(* | mysql_get_statement_digest_t) (MYSQL_THD thd, unsigned char *digest) |
Returns the digest of the last parsed statement in the session. More... | |
typedef int(* | mysql_get_number_params_t) (MYSQL_THD thd) |
Returns the number of parameters ('?') in the parsed query. More... | |
typedef int(* | mysql_extract_prepared_params_t) (MYSQL_THD thd, int *positions) |
Stores in 'positions' the positions in the last parsed query of each parameter marker('?'). More... | |
typedef int(* | mysql_visit_tree_t) (MYSQL_THD thd, parse_node_visit_function processor, unsigned char *arg) |
Walks the tree depth first and applies a user defined function on each literal. More... | |
typedef MYSQL_LEX_STRING(* | mysql_item_string_t) (MYSQL_ITEM item) |
Renders the MYSQL_ITEM as a string and returns a reference in the form of a MYSQL_LEX_STRING. More... | |
typedef void(* | mysql_free_string_t) (MYSQL_LEX_STRING string) |
Frees a string buffer allocated by the server. More... | |
typedef MYSQL_LEX_STRING(* | mysql_get_query_t) (MYSQL_THD thd) |
Returns the current query string. More... | |
typedef MYSQL_LEX_STRING(* | mysql_get_normalized_query_t) (MYSQL_THD thd) |
Returns the current query in normalized form. More... | |
typedef void *(* | callback_function) (void *) |
Variables | |
struct mysql_parser_service_st * | mysql_parser_service |
Plugin service that provides access to the parser and some operations on the parse tree.
#define MYSQL_THD THD * |
#define PARSER_SERVICE_DIGEST_LENGTH 32 |
#define STATEMENT_TYPE_DELETE 4 |
#define STATEMENT_TYPE_INSERT 3 |
#define STATEMENT_TYPE_OTHER 6 |
#define STATEMENT_TYPE_REPLACE 5 |
#define STATEMENT_TYPE_SELECT 1 |
#define STATEMENT_TYPE_UPDATE 2 |
typedef void *(* callback_function) (void *) |
typedef MYSQL_THD(* mysql_current_session_t) () |
typedef int(* mysql_extract_prepared_params_t) (MYSQL_THD thd, int *positions) |
Stores in 'positions' the positions in the last parsed query of each parameter marker('?').
Positions must be an already allocated array of at least mysql_parser_service_st::mysql_get_number_params() size. This works only if the last query was parsed as a prepared statement.
thd | The session in which the query was parsed. |
positions | An already allocated array of at least mysql_parser_service_st::mysql_get_number_params() size. |
typedef void(* mysql_free_string_t) (MYSQL_LEX_STRING string) |
Frees a string buffer allocated by the server.
string | The string whose buffer will be freed. |
typedef MYSQL_LEX_STRING(* mysql_get_normalized_query_t) (MYSQL_THD thd) |
Returns the current query in normalized form.
This string is managed by the server and should not be freed by a plugin.
thd | The session in which the query was submitted. |
typedef int(* mysql_get_number_params_t) (MYSQL_THD thd) |
Returns the number of parameters ('?') in the parsed query.
This works only if the last query was parsed as a prepared statement.
thd | The session in which the query was parsed. |
typedef MYSQL_LEX_STRING(* mysql_get_query_t) (MYSQL_THD thd) |
Returns the current query string.
This string is managed by the server and should not be freed by a plugin.
thd | The session in which the query was submitted. |
typedef int(* mysql_get_statement_digest_t) (MYSQL_THD thd, unsigned char *digest) |
Returns the digest of the last parsed statement in the session.
thd | The session in which the statement was parsed. | |
[out] | digest | An area of at least size PARSER_SERVICE_DIGEST_LENGTH, where the digest is written. |
0 | Success. |
1 | Parse error. |
typedef int(* mysql_get_statement_type_t) (MYSQL_THD thd) |
typedef Item* MYSQL_ITEM |
typedef MYSQL_LEX_STRING(* mysql_item_string_t) (MYSQL_ITEM item) |
Renders the MYSQL_ITEM as a string and returns a reference in the form of a MYSQL_LEX_STRING.
The string buffer is allocated by the server and must be freed by mysql_free_string().
item | The literal to print. |
typedef void(* mysql_join_thread_t) (struct my_thread_handle *thread_handle) |
typedef MYSQL_THD(* mysql_open_session_t) () |
typedef int(* mysql_parse_t) (MYSQL_THD thd, const MYSQL_LEX_STRING query, unsigned char is_prepared, sql_condition_handler_function handle_condition, void *condition_handler_state) |
Parses the query.
thd | The session in which to parse. |
query | The query to parse. |
is_prepared | If non-zero, the query will be parsed as a prepared statement and won't throw errors when the query string contains '?'. |
handle_condition | Callback function that is called if a condition is raised during the preparation, parsing or cleanup after parsing. If this argument is non-NULL, the diagnostics area will be cleared before this function returns. |
condition_handler_state | Will be passed to handle_condition when called. Otherwise ignored. |
0 | Success. |
1 | Parse error. |
typedef void(* mysql_set_current_database_t) (MYSQL_THD thd, const MYSQL_LEX_STRING db) |
typedef void(* mysql_start_thread_t) (MYSQL_THD thd, void *(*callback_fun)(void *), void *arg, struct my_thread_handle *thread_handle) |
typedef int(* mysql_visit_tree_t) (MYSQL_THD thd, parse_node_visit_function processor, unsigned char *arg) |
Walks the tree depth first and applies a user defined function on each literal.
thd | The session in which the query was parsed. |
processor | Will be called for each literal in the parse tree. |
arg | Will be passed as argument to each call to 'processor'. |
typedef int(* parse_node_visit_function) (MYSQL_ITEM item, unsigned char *arg) |
typedef int(* sql_condition_handler_function) (int sql_errno, const char *sqlstate, const char *msg, void *state) |
MYSQL_THD mysql_parser_current_session | ( | ) |
int mysql_parser_extract_prepared_params | ( | MYSQL_THD | thd, |
int * | positions | ||
) |
void mysql_parser_free_string | ( | MYSQL_LEX_STRING | string | ) |
MYSQL_LEX_STRING mysql_parser_get_normalized_query | ( | MYSQL_THD | thd | ) |
int mysql_parser_get_number_params | ( | MYSQL_THD | thd | ) |
MYSQL_LEX_STRING mysql_parser_get_query | ( | MYSQL_THD | thd | ) |
int mysql_parser_get_statement_digest | ( | MYSQL_THD | thd, |
unsigned char * | digest | ||
) |
int mysql_parser_get_statement_type | ( | MYSQL_THD | thd | ) |
MYSQL_LEX_STRING mysql_parser_item_string | ( | MYSQL_ITEM | item | ) |
void mysql_parser_join_thread | ( | struct my_thread_handle * | thread_handle | ) |
MYSQL_THD mysql_parser_open_session | ( | ) |
int mysql_parser_parse | ( | MYSQL_THD | thd, |
const MYSQL_LEX_STRING | query, | ||
unsigned char | is_prepared, | ||
sql_condition_handler_function | handle_condition, | ||
void * | condition_handler_state | ||
) |
void mysql_parser_set_current_database | ( | MYSQL_THD | thd, |
const MYSQL_LEX_STRING | db | ||
) |
void mysql_parser_start_thread | ( | MYSQL_THD | thd, |
callback_function | fun, | ||
void * | arg, | ||
struct my_thread_handle * | thread_handle | ||
) |
int mysql_parser_visit_tree | ( | MYSQL_THD | thd, |
parse_node_visit_function | processor, | ||
unsigned char * | arg | ||
) |
struct mysql_parser_service_st * mysql_parser_service |