From b1eaf277b7bfcf89f5b8761db12df06019d5ed2e Mon Sep 17 00:00:00 2001 From: Georg Richter Date: Tue, 12 May 2020 07:38:53 +0200 Subject: [PATCH 1/2] Windows build fixes --- include/mariadb_python.h | 6 ++++++ setup.py | 4 +--- src/mariadb.c | 7 +------ 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/include/mariadb_python.h b/include/mariadb_python.h index 9cac7fa..9fa3b8e 100755 --- a/include/mariadb_python.h +++ b/include/mariadb_python.h @@ -79,6 +79,12 @@ int clock_gettime(int dummy, struct timespec *ct); #endif /* L64 */ #endif /* _WIN32 */ +#define STRINGIFY(n) #n +#define TOSTRING(n) STRINGIFY(n) + +#define PY_MARIADB_VERSION TOSTRING(PY_MARIADB_MAJOR_VERSION) "." \ + TOSTRING(PY_MARIADB_MINOR_VERSION) "." TOSTRING(PY_MARIADB_PATCH_VERSION) + #define MAX_TPC_XID_SIZE 64 #define POOL_DEFAULT_SIZE 5 diff --git a/setup.py b/setup.py index d06c4cb..331849d 100644 --- a/setup.py +++ b/setup.py @@ -37,12 +37,10 @@ # Since we increase patch version even for alpha/beta/rc, pre release nr will be always zero. PY_MARIADB_PRE_RELEASE_NR=0 -define_macros.append(("PY_MARIADB_VERSION", "\"%s\"" % PY_MARIADB_VERSION)) define_macros.append(("PY_MARIADB_MAJOR_VERSION", PY_MARIADB_MAJOR_VERSION)) define_macros.append(("PY_MARIADB_MINOR_VERSION", PY_MARIADB_MINOR_VERSION)) define_macros.append(("PY_MARIADB_PATCH_VERSION", PY_MARIADB_PATCH_VERSION)) -define_macros.append(("PY_MARIADB_PRE_RELEASE_SEGMENT", "\"%s\"" % PY_MARIADB_PRE_RELEASE_SEGMENT)) -define_macros.append(("PY_MARIADB_AUTHORS", "\"%s\"" % PY_MARIADB_AUTHORS)) +define_macros.append(("PY_MARIADB_PRE_RELEASE_SEGMENT", PY_MARIADB_PRE_RELEASE_SEGMENT)) setup(name='mariadb', version=PY_MARIADB_VERSION, diff --git a/src/mariadb.c b/src/mariadb.c index 30e0555..d3eaf4d 100644 --- a/src/mariadb.c +++ b/src/mariadb.c @@ -207,7 +207,7 @@ PyMODINIT_FUNC PyInit_mariadb(void) if (PyTuple_SetItem(version_info, 0, PyLong_FromLong(PY_MARIADB_MAJOR_VERSION)) || PyTuple_SetItem(version_info, 1, PyLong_FromLong(PY_MARIADB_MINOR_VERSION)) || PyTuple_SetItem(version_info, 2, PyLong_FromLong(PY_MARIADB_PATCH_VERSION)) || - PyTuple_SetItem(version_info, 3, PyUnicode_FromString(PY_MARIADB_PRE_RELEASE_SEGMENT)) || + PyTuple_SetItem(version_info, 3, PyUnicode_FromString(TOSTRING(PY_MARIADB_PRE_RELEASE_SEGMENT))) || PyTuple_SetItem(version_info, 4, PyLong_FromLong(0L))) { goto error; @@ -215,11 +215,6 @@ PyMODINIT_FUNC PyInit_mariadb(void) PyModule_AddObject(module, "__version_info__", version_info); - - - PyModule_AddObject(module, "__author__", - PyUnicode_FromString(PY_MARIADB_AUTHORS)); - /* PEP-249: mandatory module globals */ PyModule_AddObject(module, "apilevel", PyUnicode_FromString(MARIADB_PY_APILEVEL)); From 2dab6a3b1085c3ca90c2f029bb1fa7064847e807 Mon Sep 17 00:00:00 2001 From: Georg Richter Date: Thu, 14 May 2020 06:27:36 +0200 Subject: [PATCH 2/2] Fix for CONPY-64: If a connection will be established without parameters we need to check kwargs before checking if a poolname was specified. --- src/mariadb_connection.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mariadb_connection.c b/src/mariadb_connection.c index 1cbb2cc..b71a42e 100644 --- a/src/mariadb_connection.c +++ b/src/mariadb_connection.c @@ -509,7 +509,7 @@ MrdbConnection_connect( /* if pool name exists, we need to return a connection from pool */ - if ((pn= PyDict_GetItemString(kwargs, "pool_name"))) + if (kwargs && (pn= PyDict_GetItemString(kwargs, "pool_name"))) { if ((pool = PyDict_GetItem(cnx_pool, pn))) {