1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-23766: fix by assert (Windows)

This commit is contained in:
Sergei Krivonos
2021-11-09 20:06:22 +02:00
parent 04ad98b500
commit 94ef277b5b
2 changed files with 13 additions and 14 deletions

View File

@ -24,7 +24,7 @@
#ifdef JSON_WRITER_UNIT_TEST
#include "sql_string.h"
// 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
#include "sql_select.h"
#define VALIDITY_ASSERT(x) DBUG_ASSERT(x)
@ -356,6 +356,9 @@ public:
/* A common base for Json_writer_object and Json_writer_array */
class Json_writer_struct
{
Json_writer_struct(const Json_writer_struct&)= delete;
Json_writer_struct& operator=(const Json_writer_struct&)= delete;
protected:
Json_writer* my_writer;
Json_value_helper context;
@ -394,18 +397,15 @@ private:
my_writer->add_member(name);
}
public:
explicit Json_writer_object(THD *thd)
: Json_writer_struct(thd)
{
if (unlikely(my_writer))
my_writer->start_object();
}
explicit Json_writer_object(THD* thd, const char *str)
explicit Json_writer_object(THD* thd, const char *str= nullptr)
: Json_writer_struct(thd)
{
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()

View File

@ -5101,9 +5101,8 @@ TABLE_READ_PLAN *get_best_disjunct_quick(PARAM *param, SEL_IMERGE *imerge,
n_child_scans)))
DBUG_RETURN(NULL);
Json_writer_object trace_best_disjunct = named_trace
? Json_writer_object(thd, "best_disjunct_quick")
: Json_writer_object(thd);
const char* trace_best_disjunct_obj_name= named_trace ? "best_disjunct_quick" : nullptr;
Json_writer_object trace_best_disjunct(thd, trace_best_disjunct_obj_name);
Json_writer_array to_merge(thd, "indexes_to_merge");
/*
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());
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++)
keyparts.add(part->field->field_name);
}