You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
3.6 KiB
97 lines
3.6 KiB
7 years ago
|
diff -aurN a/driver/catalog_no_i_s.c b/driver/catalog_no_i_s.c
|
||
|
--- a/driver/catalog_no_i_s.c 2016-11-29 07:40:13.000000000 -0500
|
||
|
+++ b/driver/catalog_no_i_s.c 2017-02-17 14:07:03.979683613 -0500
|
||
|
@@ -1093,7 +1093,11 @@
|
||
|
unsigned long *lengths;
|
||
|
SQLRETURN rc= SQL_SUCCESS;
|
||
|
|
||
|
+#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001
|
||
|
+ myodbc_init_dynamic_array(&records, sizeof(MY_FOREIGN_KEY_FIELD), 0, 0, MYF(0));
|
||
|
+#else
|
||
|
myodbc_init_dynamic_array(&records, sizeof(MY_FOREIGN_KEY_FIELD), 0, 0);
|
||
|
+#endif
|
||
|
|
||
|
/* Get the list of tables that match szCatalog and szTable */
|
||
|
myodbc_mutex_lock(&stmt->dbc->lock);
|
||
|
diff -aurN a/driver/desc.c b/driver/desc.c
|
||
|
--- a/driver/desc.c 2016-11-29 07:40:13.000000000 -0500
|
||
|
+++ b/driver/desc.c 2017-02-17 14:09:30.139954232 -0500
|
||
|
@@ -63,13 +63,21 @@
|
||
|
but in desc_get_rec we manually get a pointer to it. This avoids
|
||
|
having to call set_dynamic after modifying the DESCREC.
|
||
|
*/
|
||
|
+#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001
|
||
|
+ if (myodbc_init_dynamic_array(&desc->records, sizeof(DESCREC), 0, 0, MYF(0)))
|
||
|
+#else
|
||
|
if (myodbc_init_dynamic_array(&desc->records, sizeof(DESCREC), 0, 0))
|
||
|
+#endif
|
||
|
{
|
||
|
x_free((char *)desc);
|
||
|
return NULL;
|
||
|
}
|
||
|
|
||
|
+#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001
|
||
|
+ if (myodbc_init_dynamic_array(&desc->bookmark, sizeof(DESCREC), 0, 0, MYF(0)))
|
||
|
+#else
|
||
|
if (myodbc_init_dynamic_array(&desc->bookmark, sizeof(DESCREC), 0, 0))
|
||
|
+#endif
|
||
|
{
|
||
|
delete_dynamic(&desc->records);
|
||
|
x_free((char *)desc);
|
||
|
@@ -997,7 +1005,11 @@
|
||
|
delete_dynamic(&dest->records);
|
||
|
if (myodbc_init_dynamic_array(&dest->records, sizeof(DESCREC),
|
||
|
src->records.max_element,
|
||
|
+#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001
|
||
|
+ src->records.alloc_increment, MYF(0)))
|
||
|
+#else
|
||
|
src->records.alloc_increment))
|
||
|
+#endif
|
||
|
{
|
||
|
return set_desc_error(dest, "HY001",
|
||
|
"Memory allocation error",
|
||
|
diff -aurN a/driver/handle.c b/driver/handle.c
|
||
|
--- a/driver/handle.c 2016-11-29 07:40:13.000000000 -0500
|
||
|
+++ b/driver/handle.c 2017-02-17 14:10:32.078797593 -0500
|
||
|
@@ -409,7 +409,11 @@
|
||
|
}
|
||
|
}
|
||
|
|
||
|
+#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001
|
||
|
+ myodbc_init_dynamic_array(*param_bind, sizeof(MYSQL_BIND), elements, 10, MYF(0));
|
||
|
+#else
|
||
|
myodbc_init_dynamic_array(*param_bind, sizeof(MYSQL_BIND), elements, 10);
|
||
|
+#endif
|
||
|
memset((*param_bind)->buffer, 0, sizeof(MYSQL_BIND) *
|
||
|
(*param_bind)->max_element);
|
||
|
|
||
|
diff -aurN a/driver/parse.c b/driver/parse.c
|
||
|
--- a/driver/parse.c 2016-11-29 07:40:13.000000000 -0500
|
||
|
+++ b/driver/parse.c 2017-02-17 14:12:00.638143846 -0500
|
||
|
@@ -139,8 +139,13 @@
|
||
|
|
||
|
/* TODO: Store offsets rather than ptrs. In this case we will be fine
|
||
|
if work with copy of the originally parsed string */
|
||
|
+#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001
|
||
|
+ myodbc_init_dynamic_array(&pq->token, sizeof(uint), 20, 10, MYF(0));
|
||
|
+ myodbc_init_dynamic_array(&pq->param_pos, sizeof(uint), 10, 10, MYF(0));
|
||
|
+#else
|
||
|
myodbc_init_dynamic_array(&pq->token, sizeof(uint), 20, 10);
|
||
|
myodbc_init_dynamic_array(&pq->param_pos, sizeof(uint), 10, 10);
|
||
|
+#endif
|
||
|
}
|
||
|
|
||
|
return pq;
|
||
|
diff -aurN a/MYODBC_MYSQL.h b/MYODBC_MYSQL.h
|
||
|
--- a/MYODBC_MYSQL.h 2016-11-29 07:40:13.000000000 -0500
|
||
|
+++ b/MYODBC_MYSQL.h 2017-02-17 15:04:47.153994839 -0500
|
||
|
@@ -44,7 +44,7 @@
|
||
|
#endif
|
||
|
|
||
|
#ifdef THREAD
|
||
|
-#if MYSQL_VERSION_ID < 50703
|
||
|
+#if MYSQL_VERSION_ID < 50703 || defined(MARIADB_BASE_VERSION)
|
||
|
#include <my_pthread.h>
|
||
|
#define myodbc_mutex_t pthread_mutex_t
|
||
|
#define myodbc_key_t pthread_key_t
|