MySQL 8.3.0
Source Code Documentation
services.h File Reference

Conversion layer between the parser service and this plugin. More...

#include <mysql/service_parser.h>
#include <string>
#include <vector>
#include "my_inttypes.h"

Go to the source code of this file.

Classes

class  services::Session
 
class  services::Digest
 
class  services::Literal_visitor
 
class  services::Condition_handler
 This class may inherited and passed to parse() in order to handle conditions raised by the server. More...
 

Namespaces

namespace  services
 

Functions

string services::print_digest (const unsigned char *digest)
 
void services::set_current_database (MYSQL_THD thd, const std::string &db)
 
bool services::parse (MYSQL_THD thd, const std::string &query, bool is_prepared, Condition_handler *handler)
 
bool services::parse (MYSQL_THD thd, const std::string &query, bool is_prepared)
 
bool services::is_supported_statement (MYSQL_THD thd)
 
int services::get_number_params (MYSQL_THD thd)
 
bool services::visit_parse_tree (MYSQL_THD thd, Literal_visitor *visitor)
 
string services::print_item (MYSQL_ITEM item)
 Prints an Item as an std::string. More...
 
string services::get_current_query_normalized (MYSQL_THD thd)
 
std::vector< int > services::get_parameter_positions (MYSQL_THD thd)
 

Detailed Description

Conversion layer between the parser service and this plugin.

This plugin is written in C++, while the parser service is written in C.

The layer handles:

  • Copying between server and plugin memory. This is necessary on some platforms (e.g. Windows) where dynamically linked libraries have their own heap.
  • Wrapping raw const char * in std::string classes.