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