diff options
author | Sergei Krivonos <sergei.krivonos@mariadb.com> | 2021-11-15 00:42:26 +0200 |
---|---|---|
committer | Sergei Krivonos <sergeikrivonos@gmail.com> | 2021-11-24 13:01:49 +0200 |
commit | cba065f4fef0f950e575e33ee6150db8a821414a (patch) | |
tree | 27eb340a453d0610fd9ec56f24884d3170a93ce0 | |
parent | 691f7e165a4cd1b645a6f8960effc463f4e9b94c (diff) | |
download | mariadb-git-cba065f4fef0f950e575e33ee6150db8a821414a.tar.gz |
Json_writer_object add integers
-rw-r--r-- | sql/my_json_writer.h | 28 | ||||
-rw-r--r-- | sql/opt_range.cc | 2 | ||||
-rw-r--r-- | sql/sql_select.cc | 2 |
3 files changed, 16 insertions, 16 deletions
diff --git a/sql/my_json_writer.h b/sql/my_json_writer.h index 619eafd9bc6..3cdf2a8c71a 100644 --- a/sql/my_json_writer.h +++ b/sql/my_json_writer.h @@ -19,6 +19,9 @@ #include "my_base.h" #if !defined(NDEBUG) || defined(JSON_WRITER_UNIT_TEST) || defined ENABLED_JSON_WRITER_CONSISTENCY_CHECKS +#include <set> +#include <stack> +#include <string> #include <vector> #endif @@ -31,6 +34,8 @@ #define VALIDITY_ASSERT(x) DBUG_ASSERT(x) #endif +#include <type_traits> + class Opt_trace_stmt; class Opt_trace_context; class Json_writer; @@ -462,17 +467,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<longlong>(value)); + my_writer->add_ull(value); } return *this; } - Json_writer_object& add(const char *name, longlong value) + + template<class IntT, + typename= typename ::std::enable_if<std::is_integral<IntT>::value>::type + > + Json_writer_object& add(const char *name, IntT value) { DBUG_ASSERT(!closed); if (my_writer) @@ -482,6 +492,7 @@ public: } return *this; } + Json_writer_object& add(const char *name, double value) { DBUG_ASSERT(!closed); @@ -492,18 +503,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<longlong>(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 b573dc25ef0..ae24a257aaa 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -6939,7 +6939,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<longlong>(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 e90fe4079fd..3a20e9de210 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -404,7 +404,7 @@ static void trace_table_dependencies(THD *thd, { if (map & (1ULL << j)) { - trace_one_table.add("map_bit", static_cast<longlong>(j)); + trace_one_table.add("map_bit", j); break; } } |