From 39bc0caa2ac9acbae9a1a1217dc08704d96737c0 Mon Sep 17 00:00:00 2001
From: znone <glyc@sina.com.cn>
Date: Fri, 29 Mar 2019 11:25:08 +0000
Subject: [PATCH] 支持 MySQL 8
---
include/qtl_mysql.hpp | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/include/qtl_mysql.hpp b/include/qtl_mysql.hpp
index e0cb34f..70cef52 100644
--- a/include/qtl_mysql.hpp
+++ b/include/qtl_mysql.hpp
@@ -20,6 +20,10 @@
namespace mysql
{
+#if MYSQL_VERSION_ID >=80000
+typedef bool my_bool;
+#endif //MySQL 8
+
struct init
{
init(int argc=-1, char **argv=NULL, char **groups=NULL)
@@ -196,7 +200,7 @@
public:
error() : m_error(0) { }
error(unsigned int err, const char* errmsg) : m_error(err), m_errmsg(errmsg) { }
- explicit error(unsigned int err) : m_error(err), m_errmsg(ER(err)) { }
+ explicit error(unsigned int err) : m_error(err), m_errmsg(err_msg(err)) { }
explicit error(statement& stmt);
explicit error(database& db);
error(const error& src) = default;
@@ -206,6 +210,12 @@
private:
unsigned int m_error;
std::string m_errmsg;
+
+#if MYSQL_VERSION_ID < 80000
+ static const char* err_msg(int err) { return ER(err); }
+#else
+ static const char* err_msg(int err) { return ER_CLIENT(err); }
+#endif
};
class statement final
--
Gitblit v1.9.3