MySQL 8.4.2
Source Code Documentation
Opt_trace_object Class Reference

A JSON object (unordered set of key/value pairs). More...

#include <opt_trace.h>

Inheritance diagram for Opt_trace_object:
[legend]

Public Member Functions

 Opt_trace_object (Opt_trace_context *ctx, const char *key, Opt_trace_context::feature_value feature=Opt_trace_context::MISC)
 Constructs an object. More...
 
 Opt_trace_object (Opt_trace_context *ctx, Opt_trace_context::feature_value feature=Opt_trace_context::MISC)
 Constructs an object. More...
 
- Public Member Functions inherited from Opt_trace_struct
void end ()
 The exception to RAII: this function is an explicit way of ending a structure before it goes out of scope. More...
 
Opt_trace_structadd_alnum (const char *key, const char *value)
 Adds a value (of string type) to the structure. More...
 
Opt_trace_structadd_alnum (const char *value)
 Adds a value (of string type) to the structure. More...
 
Opt_trace_structadd_utf8 (const char *key, const char *value, size_t val_length)
 Like add_alnum() but supports any UTF8 characters in 'value'. More...
 
Opt_trace_structadd_utf8 (const char *value, size_t val_length)
 Variant of add_utf8() for adding to an array (no key) More...
 
Opt_trace_structadd_utf8 (const char *key, const char *value)
 Variant of add_utf8() where 'value' is 0-terminated. More...
 
Opt_trace_structadd_utf8 (const char *value)
 Variant of add_utf8() where 'value' is 0-terminated. More...
 
Opt_trace_structadd (const char *key, const Item *item)
 Add a value (of Item type) to the structure. More...
 
Opt_trace_structadd (const Item *item)
 
Opt_trace_structadd (const char *key, bool value)
 
Opt_trace_structadd (bool value)
 
Opt_trace_structadd (const char *key, int value)
 
Opt_trace_structadd (int value)
 
Opt_trace_structadd (const char *key, uint value)
 
Opt_trace_structadd (uint value)
 
Opt_trace_structadd (const char *key, ulong value)
 
Opt_trace_structadd (ulong value)
 
Opt_trace_structadd (const char *key, longlong value)
 
Opt_trace_structadd (longlong value)
 
Opt_trace_structadd (const char *key, ulonglong value)
 
Opt_trace_structadd (ulonglong value)
 
Opt_trace_structadd (const char *key, double value)
 
Opt_trace_structadd (double value)
 
Opt_trace_structadd_null (const char *key)
 Adds a JSON null object (==Python's "None") More...
 
Opt_trace_structadd_utf8_table (const Table_ref *tab)
 Helper to put the database/table name in an object. More...
 
Opt_trace_structadd_select_number (uint select_number)
 Helper to put the number of query_block in an object. More...
 
Opt_trace_structadd (const char *key, const Cost_estimate &cost)
 Add a value to the structure. More...
 
bool set_not_empty ()
 Informs this structure that we are adding data (scalars, structures) to it. More...
 
const char * check_key (const char *key)
 Validates the key about to be added. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Opt_trace_struct
 Opt_trace_struct (Opt_trace_context *ctx_arg, bool requires_key_arg, const char *key, Opt_trace_context::feature_value feature)
 
 ~Opt_trace_struct ()
 

Detailed Description

A JSON object (unordered set of key/value pairs).

Defines only a constructor, all the rest is inherited from Opt_trace_struct.

Constructor & Destructor Documentation

◆ Opt_trace_object() [1/2]

Opt_trace_object::Opt_trace_object ( Opt_trace_context ctx,
const char *  key,
Opt_trace_context::feature_value  feature = Opt_trace_context::MISC 
)
inline

Constructs an object.

Key is specified, so the object is the value of a key/value pair.

Parameters
ctxcontext for this object
keykey
featureoptimizer feature to which this structure belongs

◆ Opt_trace_object() [2/2]

Opt_trace_object::Opt_trace_object ( Opt_trace_context ctx,
Opt_trace_context::feature_value  feature = Opt_trace_context::MISC 
)
inline

Constructs an object.

No key is specified, so the object is just a value (serves for the single root object or for adding the object to an array).

Parameters
ctxcontext for this object
featureoptimizer feature to which this structure belongs

The documentation for this class was generated from the following file: