diff --git a/sql/my_json_writer.h b/sql/my_json_writer.h index 0bd1e550439..4b69ba70675 100644 --- a/sql/my_json_writer.h +++ b/sql/my_json_writer.h @@ -18,6 +18,9 @@ #include "my_base.h" #if !defined(NDEBUG) || defined(JSON_WRITER_UNIT_TEST) +#include +#include +#include #include #endif @@ -30,6 +33,8 @@ #define VALIDITY_ASSERT(x) DBUG_ASSERT(x) #endif +#include + class Opt_trace_stmt; class Opt_trace_context; class Json_writer; @@ -440,17 +445,22 @@ public: } return *this; } + Json_writer_object& add(const char *name, ulonglong value) { DBUG_ASSERT(!closed); if (my_writer) { add_member(name); - context.add_ll(static_cast(value)); + my_writer->add_ull(value); } return *this; } - Json_writer_object& add(const char *name, longlong value) + + template::value>::type + > + Json_writer_object& add(const char *name, IntT value) { DBUG_ASSERT(!closed); if (my_writer) @@ -460,6 +470,7 @@ public: } return *this; } + Json_writer_object& add(const char *name, double value) { DBUG_ASSERT(!closed); @@ -470,18 +481,7 @@ public: } return *this; } - #ifndef _WIN64 - Json_writer_object& add(const char *name, size_t value) - { - DBUG_ASSERT(!closed); - if (my_writer) - { - add_member(name); - context.add_ll(static_cast(value)); - } - return *this; - } - #endif + Json_writer_object& add(const char *name, const char *value) { DBUG_ASSERT(!closed); diff --git a/sql/opt_range.cc b/sql/opt_range.cc index 47bf8f1682f..5f13c9b3441 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -6908,7 +6908,7 @@ static bool ror_intersect_add(ROR_INTERSECT_INFO *info, DBUG_PRINT("info", ("info->total_cost= %g", info->total_cost)); } else - trace_costs->add("disk_sweep_cost", static_cast(0)); + trace_costs->add("disk_sweep_cost", 0); DBUG_PRINT("info", ("New out_rows: %g", info->out_rows)); DBUG_PRINT("info", ("New cost: %g, %scovering", info->total_cost, diff --git a/sql/sql_select.cc b/sql/sql_select.cc index e12eeb6c815..3272f8b7f65 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -396,7 +396,7 @@ static void trace_table_dependencies(THD *thd, { if (map & (1ULL << j)) { - trace_one_table.add("map_bit", static_cast(j)); + trace_one_table.add("map_bit", j); break; } }