blob: 60d88c3d1ab2cb5f759fe239357c03dfcf7c73ef [file] [log] [blame]
Brad Bishop19323692019-04-05 15:28:33 -04001From edb6b202b7e233864aa5dd84532646c50097b0b8 Mon Sep 17 00:00:00 2001
2From: Mingli Yu <mingli.yu@windriver.com>
3Date: Mon, 4 Mar 2019 00:49:17 -0800
4Subject: [PATCH] Use API function for reconnect
5
6For configuring reconnect functionality use standard API function
7MYSQL_OPT_RECONNECT instead of direct modification of internal structures
8which does not work for MariaDB. Fixes compilation with MariaDB 10.2.6+.
9
10Upstream-Status: Backport [https://github.com/perl5-dbi/DBD-mysql/commit/0b1884f4153d3de0a91bae4d3b3cc1771ffdf4f3]
11
12Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
13---
14 dbdimp.c | 16 ++++++++++------
15 1 file changed, 10 insertions(+), 6 deletions(-)
16
17diff --git a/dbdimp.c b/dbdimp.c
18index 9b8b313..3bed213 100644
19--- a/dbdimp.c
20+++ b/dbdimp.c
21@@ -1979,6 +1979,16 @@ MYSQL *mysql_dr_connect(
22
23 if (result)
24 {
25+ /*
26+ we turn off Mysql's auto reconnect and handle re-connecting ourselves
27+ so that we can keep track of when this happens.
28+ */
29+#if MYSQL_VERSION_ID >= 50013
30+ my_bool reconnect = FALSE;
31+ mysql_options(result, MYSQL_OPT_RECONNECT, &reconnect);
32+#else
33+ result->reconnect = 0;
34+#endif
35 #if MYSQL_VERSION_ID >=SERVER_PREPARE_VERSION
36 /* connection succeeded. */
37 /* imp_dbh == NULL when mysql_dr_connect() is called from mysql.xs
38@@ -1992,12 +2002,6 @@ MYSQL *mysql_dr_connect(
39 imp_dbh->async_query_in_flight = NULL;
40 }
41 #endif
42-
43- /*
44- we turn off Mysql's auto reconnect and handle re-connecting ourselves
45- so that we can keep track of when this happens.
46- */
47- result->reconnect=0;
48 }
49 else {
50 /*
51--
522.17.1
53