MySQL 8.0.29
Source Code Documentation
Opt_trace_array Class Reference

A JSON array (ordered set of values). More...

#include <opt_trace.h>

Inheritance diagram for Opt_trace_array:
[legend]

Public Member Functions

 Opt_trace_array (Opt_trace_context *ctx, const char *key, Opt_trace_context::feature_value feature=Opt_trace_context::MISC)
 Constructs an array. More...
 
 Opt_trace_array (Opt_trace_context *ctx, Opt_trace_context::feature_value feature=Opt_trace_context::MISC)
 Constructs an array. 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, Item *item)
 Add a value (of Item type) to the structure. More...
 
Opt_trace_structadd (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_LIST *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 array (ordered set of values).

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

Constructor & Destructor Documentation

◆ Opt_trace_array() [1/2]

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

Constructs an array.

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

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

◆ Opt_trace_array() [2/2]

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

Constructs an array.

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

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

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