From 45436592aa64308b2ab46f84c6107c6d7de0a3ec Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
Date: Wed, 6 Mar 2019 00:16:17 -0800
Subject: [PATCH] _mysql.c: fix compilation with MariaDB 10.3.13

Use standard API function MYSQL_OPT_RECONNECT
instead of direct modification of internal structures
which does not work for MariaDB.

Upstream-Status: Pending

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
 _mysql.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

--- a/_mysql.c
+++ b/_mysql.c
@@ -2002,7 +2002,14 @@ _mysql_ConnectionObject_ping(
 	int r, reconnect = -1;
 	if (!PyArg_ParseTuple(args, "|I", &reconnect)) return NULL;
 	check_connection(self);
-	if ( reconnect != -1 ) self->connection.reconnect = reconnect;
+	if ( reconnect != -1 ) {
+#if MYSQL_VERSION_ID >= 50013
+		my_bool recon = reconnect;
+		mysql_options(&self->connection, MYSQL_OPT_RECONNECT, &recon);
+#else
+		self->connection.reconnect = reconnect;
+#endif
+        }
 	Py_BEGIN_ALLOW_THREADS
 	r = mysql_ping(&(self->connection));
 	Py_END_ALLOW_THREADS
