perl-DBD-MySQL/DBD-mysql-4.043-Fix-build-failures-for-MariaDB-10.2.patch
2017-07-14 14:40:04 +02:00

75 lines
2.2 KiB
Diff

From 60d57caa60ee925b3596c45c461ae260a2550502 Mon Sep 17 00:00:00 2001
From: Jitka Plesnikova <jplesnik@redhat.com>
Date: Fri, 14 Jul 2017 14:13:50 +0200
Subject: [PATCH] Fix build failures for MariaDB 10.2
---
dbdimp.c | 7 +++++++
dbdimp.h | 1 +
mysql.xs | 4 ++--
3 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/dbdimp.c b/dbdimp.c
index 9b8b313..fa628b0 100644
--- a/dbdimp.c
+++ b/dbdimp.c
@@ -1979,6 +1979,9 @@ MYSQL *mysql_dr_connect(
if (result)
{
+#if MYSQL_VERSION_ID >= 50013
+ my_bool reconnect= 1;
+#endif
#if MYSQL_VERSION_ID >=SERVER_PREPARE_VERSION
/* connection succeeded. */
/* imp_dbh == NULL when mysql_dr_connect() is called from mysql.xs
@@ -1997,7 +2000,11 @@ MYSQL *mysql_dr_connect(
we turn off Mysql's auto reconnect and handle re-connecting ourselves
so that we can keep track of when this happens.
*/
+#if MYSQL_VERSION_ID >= 50013
+ mysql_options(result, MYSQL_OPT_RECONNECT, &reconnect);
+#else
result->reconnect=0;
+#endif
}
else {
/*
diff --git a/dbdimp.h b/dbdimp.h
index 935256e..3a5fcaa 100644
--- a/dbdimp.h
+++ b/dbdimp.h
@@ -20,6 +20,7 @@
#include <DBIXS.h> /* installed by the DBI module */
#include <mysql.h> /* Comes with MySQL-devel */
#include <mysqld_error.h> /* Comes MySQL */
+#include <mysql_version.h> /* Comes with MySQL-devel */
#include <errmsg.h> /* Comes with MySQL-devel */
diff --git a/mysql.xs b/mysql.xs
index 13c6a57..bb3622b 100644
--- a/mysql.xs
+++ b/mysql.xs
@@ -790,7 +790,7 @@ dbd_mysql_get_info(dbh, sql_info_type)
D_imp_dbh(dbh);
IV type = 0;
SV* retsv=NULL;
-#if !defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 50709
+#if MYSQL_VERSION_ID >= 50709
/* MariaDB 10 is not MySQL source level compatible so this only applies to MySQL*/
IV buffer_len;
#endif
@@ -822,7 +822,7 @@ dbd_mysql_get_info(dbh, sql_info_type)
retsv = newSVpvn("`", 1);
break;
case SQL_MAXIMUM_STATEMENT_LENGTH:
-#if !defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 50709
+#if MYSQL_VERSION_ID >= 50709
/* MariaDB 10 is not MySQL source level compatible so this
only applies to MySQL*/
/* mysql_get_option() was added in mysql 5.7.3 */
--
2.9.4