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