MySQL 9.2.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
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.