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
|