mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-23766: fix by assert (Windows)
This commit is contained in:
@ -24,7 +24,7 @@
|
|||||||
#ifdef JSON_WRITER_UNIT_TEST
|
#ifdef JSON_WRITER_UNIT_TEST
|
||||||
#include "sql_string.h"
|
#include "sql_string.h"
|
||||||
// Also, mock objects are defined in my_json_writer-t.cc
|
// Also, mock objects are defined in my_json_writer-t.cc
|
||||||
#define VALIDITY_ASSERT(x) if ((!x)) this->invalid_json= true;
|
#define VALIDITY_ASSERT(x) if (!(x)) this->invalid_json= true;
|
||||||
#else
|
#else
|
||||||
#include "sql_select.h"
|
#include "sql_select.h"
|
||||||
#define VALIDITY_ASSERT(x) DBUG_ASSERT(x)
|
#define VALIDITY_ASSERT(x) DBUG_ASSERT(x)
|
||||||
@ -356,6 +356,9 @@ public:
|
|||||||
/* A common base for Json_writer_object and Json_writer_array */
|
/* A common base for Json_writer_object and Json_writer_array */
|
||||||
class Json_writer_struct
|
class Json_writer_struct
|
||||||
{
|
{
|
||||||
|
Json_writer_struct(const Json_writer_struct&)= delete;
|
||||||
|
Json_writer_struct& operator=(const Json_writer_struct&)= delete;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Json_writer* my_writer;
|
Json_writer* my_writer;
|
||||||
Json_value_helper context;
|
Json_value_helper context;
|
||||||
@ -394,18 +397,15 @@ private:
|
|||||||
my_writer->add_member(name);
|
my_writer->add_member(name);
|
||||||
}
|
}
|
||||||
public:
|
public:
|
||||||
explicit Json_writer_object(THD *thd)
|
explicit Json_writer_object(THD* thd, const char *str= nullptr)
|
||||||
: Json_writer_struct(thd)
|
|
||||||
{
|
|
||||||
if (unlikely(my_writer))
|
|
||||||
my_writer->start_object();
|
|
||||||
}
|
|
||||||
|
|
||||||
explicit Json_writer_object(THD* thd, const char *str)
|
|
||||||
: Json_writer_struct(thd)
|
: Json_writer_struct(thd)
|
||||||
{
|
{
|
||||||
if (unlikely(my_writer))
|
if (unlikely(my_writer))
|
||||||
my_writer->add_member(str).start_object();
|
{
|
||||||
|
if (str)
|
||||||
|
my_writer->add_member(str);
|
||||||
|
my_writer->start_object();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
~Json_writer_object()
|
~Json_writer_object()
|
||||||
|
@ -5101,9 +5101,8 @@ TABLE_READ_PLAN *get_best_disjunct_quick(PARAM *param, SEL_IMERGE *imerge,
|
|||||||
n_child_scans)))
|
n_child_scans)))
|
||||||
DBUG_RETURN(NULL);
|
DBUG_RETURN(NULL);
|
||||||
|
|
||||||
Json_writer_object trace_best_disjunct = named_trace
|
const char* trace_best_disjunct_obj_name= named_trace ? "best_disjunct_quick" : nullptr;
|
||||||
? Json_writer_object(thd, "best_disjunct_quick")
|
Json_writer_object trace_best_disjunct(thd, trace_best_disjunct_obj_name);
|
||||||
: Json_writer_object(thd);
|
|
||||||
Json_writer_array to_merge(thd, "indexes_to_merge");
|
Json_writer_array to_merge(thd, "indexes_to_merge");
|
||||||
/*
|
/*
|
||||||
Collect best 'range' scan for each of disjuncts, and, while doing so,
|
Collect best 'range' scan for each of disjuncts, and, while doing so,
|
||||||
@ -5649,7 +5648,7 @@ void print_keyparts(THD *thd, KEY *key, uint key_parts)
|
|||||||
DBUG_ASSERT(thd->trace_started());
|
DBUG_ASSERT(thd->trace_started());
|
||||||
|
|
||||||
KEY_PART_INFO *part= key->key_part;
|
KEY_PART_INFO *part= key->key_part;
|
||||||
Json_writer_array keyparts= Json_writer_array(thd, "keyparts");
|
Json_writer_array keyparts(thd, "keyparts");
|
||||||
for(uint i= 0; i < key_parts; i++, part++)
|
for(uint i= 0; i < key_parts; i++, part++)
|
||||||
keyparts.add(part->field->field_name);
|
keyparts.add(part->field->field_name);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user