summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Krivonos <sergei.krivonos@mariadb.com>2021-11-15 00:42:26 +0200
committerSergei Krivonos <sergeikrivonos@gmail.com>2021-11-24 13:01:49 +0200
commitcba065f4fef0f950e575e33ee6150db8a821414a (patch)
tree27eb340a453d0610fd9ec56f24884d3170a93ce0
parent691f7e165a4cd1b645a6f8960effc463f4e9b94c (diff)
downloadmariadb-git-cba065f4fef0f950e575e33ee6150db8a821414a.tar.gz
Json_writer_object add integers
-rw-r--r--sql/my_json_writer.h28
-rw-r--r--sql/opt_range.cc2
-rw-r--r--sql/sql_select.cc2
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;
}
}