MySQL 9.3.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
polyglot_utils.cc File Reference
#include "utils/polyglot_utils.h"
#include <numeric>
#include <optional>
#include <random>
#include <regex>
#include <sstream>
#include "utils/polyglot_api_clean.h"
#include "mysql/harness/logging/logging.h"
#include "mysqlrouter/jit_executor_value.h"
#include "native_wrappers/polyglot_collectable.h"
#include "utils/polyglot_error.h"
#include "utils/utils_string.h"

Namespaces

namespace  shcore
 
namespace  shcore::polyglot
 
namespace  shcore::polyglot::anonymous_namespace{polyglot_utils.cc}
 

Functions

poly_value shcore::polyglot::anonymous_namespace{polyglot_utils.cc}::poly_string (poly_thread thread, poly_context context, const char *data, size_t size)
 
size_t shcore::polyglot::parse_callback_args (poly_thread thread, poly_callback_info args, std::vector< poly_value > *argv, void **data)
 Parses the callback information sent by polyglot, returning if requested a vector with the arguments as well as the collectable associated to the call. More...
 
bool shcore::polyglot::get_data (poly_thread thread, poly_callback_info args, std::string_view name, void **data)
 Returns the collectable sent by Polyglot on a call to a C++ function. More...
 
bool shcore::polyglot::get_args_and_data (poly_thread thread, poly_callback_info args, std::string_view name, void **data, size_t expected_argc, std::vector< poly_value > *argv)
 Returns the collectable and arguments sent by Polyglot on a call to a C++ function. More...
 
bool shcore::polyglot::is_native_type (poly_thread thread, poly_value value, Collectable_type type, void **native_data=nullptr)
 Identifies if a given poly_value corresponds to a wrapped C++ element. More...
 
std::string shcore::polyglot::to_string (poly_thread thread, poly_value obj)
 Converts a polyglot string into a C++ string. More...
 
int64_t shcore::polyglot::to_int (poly_thread thread, poly_value obj)
 Converts a polyglot string into a C++ int64_t. More...
 
double shcore::polyglot::to_double (poly_thread thread, poly_value obj)
 Converts a polyglot string into a C++ double. More...
 
double shcore::polyglot::to_boolean (poly_thread thread, poly_value obj)
 Converts a polyglot string into a C++ double. More...
 
poly_value shcore::polyglot::poly_string (poly_thread thread, poly_context context, std::string_view data)
 Converts a string into a polyglot string. More...
 
poly_value shcore::polyglot::poly_bool (poly_thread thread, poly_context context, bool value)
 Converts a bool into a polyglot boolean. More...
 
poly_value shcore::polyglot::poly_int (poly_thread thread, poly_context context, int64_t value)
 Converts a bool into a polyglot boolean. More...
 
poly_value shcore::polyglot::poly_uint (poly_thread thread, poly_context context, uint64_t value)
 Converts a bool into a polyglot boolean. More...
 
poly_value shcore::polyglot::poly_double (poly_thread thread, poly_context context, double value)
 Converts a double into a polyglot double. More...
 
poly_value shcore::polyglot::poly_null (poly_thread thread, poly_context context)
 Returns a polyglot null value. More...
 
poly_value shcore::polyglot::poly_array (poly_thread thread, poly_context context, const std::vector< poly_value > &values)
 Converts an array of poly_values into a polyglot array. More...
 
std::vector< std::string > shcore::polyglot::get_member_keys (poly_thread thread, poly_context context, poly_value object)
 Retrieves the names of the members of the given poly_value. More...
 
void shcore::polyglot::throw_callback_exception (poly_thread thread, const char *error)
 The integration of the PolyglotAPI is mostly centered in the registration of C++ callbacks to implement the functionality for the different proxy objects. More...
 
poly_value shcore::polyglot::get_member (poly_thread thread, poly_value object, const std::string &name)
 Retrieves a member identified with name from the given object. More...
 
bool shcore::polyglot::is_executable (poly_thread thread, poly_value object)
 Returns true if the given value is executable. More...
 
bool shcore::polyglot::get_member (poly_thread thread, poly_value object, const char *name, poly_value *member)
 
bool shcore::polyglot::is_object (poly_thread thread, poly_value object, std::string *class_name)