1*4882a593SmuzhiyunFrom 45436592aa64308b2ab46f84c6107c6d7de0a3ec Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Mingli Yu <mingli.yu@windriver.com>
3*4882a593SmuzhiyunDate: Wed, 6 Mar 2019 00:16:17 -0800
4*4882a593SmuzhiyunSubject: [PATCH] _mysql.c: fix compilation with MariaDB 10.3.13
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunUse standard API function MYSQL_OPT_RECONNECT
7*4882a593Smuzhiyuninstead of direct modification of internal structures
8*4882a593Smuzhiyunwhich does not work for MariaDB.
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunUpstream-Status: Pending
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunSigned-off-by: Mingli Yu <mingli.yu@windriver.com>
13*4882a593Smuzhiyun---
14*4882a593Smuzhiyun _mysql.c | 9 ++++++++-
15*4882a593Smuzhiyun 1 file changed, 8 insertions(+), 1 deletion(-)
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun--- a/_mysql.c
18*4882a593Smuzhiyun+++ b/_mysql.c
19*4882a593Smuzhiyun@@ -2002,7 +2002,14 @@ _mysql_ConnectionObject_ping(
20*4882a593Smuzhiyun 	int r, reconnect = -1;
21*4882a593Smuzhiyun 	if (!PyArg_ParseTuple(args, "|I", &reconnect)) return NULL;
22*4882a593Smuzhiyun 	check_connection(self);
23*4882a593Smuzhiyun-	if ( reconnect != -1 ) self->connection.reconnect = reconnect;
24*4882a593Smuzhiyun+	if ( reconnect != -1 ) {
25*4882a593Smuzhiyun+#if MYSQL_VERSION_ID >= 50013
26*4882a593Smuzhiyun+		my_bool recon = reconnect;
27*4882a593Smuzhiyun+		mysql_options(&self->connection, MYSQL_OPT_RECONNECT, &recon);
28*4882a593Smuzhiyun+#else
29*4882a593Smuzhiyun+		self->connection.reconnect = reconnect;
30*4882a593Smuzhiyun+#endif
31*4882a593Smuzhiyun+        }
32*4882a593Smuzhiyun 	Py_BEGIN_ALLOW_THREADS
33*4882a593Smuzhiyun 	r = mysql_ping(&(self->connection));
34*4882a593Smuzhiyun 	Py_END_ALLOW_THREADS
35