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