Commit 94ef277b authored by Sergei Krivonos's avatar Sergei Krivonos

MDEV-23766: fix by assert (Windows)

parent 04ad98b5
...@@ -24,7 +24,7 @@ ...@@ -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 @@ class Json_value_helper ...@@ -356,6 +356,9 @@ class Json_value_helper
/* 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 @@ class Json_writer_object : public Json_writer_struct ...@@ -394,18 +397,15 @@ class Json_writer_object : public Json_writer_struct
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, ...@@ -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) ...@@ -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);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment