aboutsummaryrefslogtreecommitdiff
path: root/databases
diff options
context:
space:
mode:
authorKurt Jaeger <pi@FreeBSD.org>2015-08-31 10:43:30 +0000
committerKurt Jaeger <pi@FreeBSD.org>2015-08-31 10:43:30 +0000
commit3a4b2353edd5cccf9969c0e228f20cacc9c3f4cb (patch)
treed96449df39048210f7c58c2cf2f0c3b174522141 /databases
parent39297aa2d977caa1a1e0b87e4fb8c4b256f87c6f (diff)
downloadports-3a4b2353edd5cccf9969c0e228f20cacc9c3f4cb.tar.gz
ports-3a4b2353edd5cccf9969c0e228f20cacc9c3f4cb.zip
Notes
Diffstat (limited to 'databases')
-rw-r--r--databases/mysql-connector-odbc/Makefile3
-rw-r--r--databases/mysql-connector-odbc/files/patch-driver__execute.c22
-rw-r--r--databases/mysql-connector-odbc/files/patch-driver_catalog_no_i_s.c14
-rw-r--r--databases/mysql-connector-odbc/files/patch-driver_desc.c37
-rw-r--r--databases/mysql-connector-odbc/files/patch-driver_handle.c14
-rw-r--r--databases/mysql-connector-odbc/files/patch-driver_parse.c16
-rw-r--r--databases/mysql-connector-odbc/files/patch-util_odbcinstw.c12
7 files changed, 95 insertions, 23 deletions
diff --git a/databases/mysql-connector-odbc/Makefile b/databases/mysql-connector-odbc/Makefile
index 40e792e14314..ec5752ddfc97 100644
--- a/databases/mysql-connector-odbc/Makefile
+++ b/databases/mysql-connector-odbc/Makefile
@@ -3,6 +3,7 @@
PORTNAME= mysql-connector-odbc
PORTVERSION= 5.3.4
+PORTREVISION= 1
CATEGORIES= databases
MASTER_SITES= MYSQL/Connector-ODBC/5.3
PKGNAMESUFFIX= -${DRIVER_MANAGER}-mysql${MYSQL_VER}
@@ -18,7 +19,7 @@ USE_LDCONFIG= yes
USE_MYSQL= yes
USES= cmake
-IGNORE_WITH_MYSQL= 55 51
+IGNORE_WITH_MYSQL= 55 55m 55p 51 51m 51p
CMAKE_ARGS= -DWITH_UNIXODBC=1
LDFLAGS+= -L${LOCALBASE}/lib
diff --git a/databases/mysql-connector-odbc/files/patch-driver__execute.c b/databases/mysql-connector-odbc/files/patch-driver__execute.c
deleted file mode 100644
index 474cd526abbd..000000000000
--- a/databases/mysql-connector-odbc/files/patch-driver__execute.c
+++ /dev/null
@@ -1,22 +0,0 @@
---- driver/execute.c.orig 2014-11-05 14:41:16.000000000 +0300
-+++ driver/execute.c 2014-11-05 14:44:10.000000000 +0300
-@@ -563,11 +563,19 @@
- *res= buff;
- break;
- case SQL_C_SBIGINT:
-+#ifdef MARIADB_BASE_VERSION
-+ *length= longlong2str(*((longlong*) *res), buff, -10, 1) - buff;
-+#else
- *length= longlong2str(*((longlong*) *res), buff, -10) - buff;
-+#endif
- *res= buff;
- break;
- case SQL_C_UBIGINT:
-+#ifdef MARIADB_BASE_VERSION
-+ *length= longlong2str(*((ulonglong*) *res), buff, 10, 1) - buff;
-+#else
- *length= longlong2str(*((ulonglong*) *res), buff, 10) - buff;
-+#endif
- *res= buff;
- break;
- case SQL_C_FLOAT:
diff --git a/databases/mysql-connector-odbc/files/patch-driver_catalog_no_i_s.c b/databases/mysql-connector-odbc/files/patch-driver_catalog_no_i_s.c
new file mode 100644
index 000000000000..8555b2db9124
--- /dev/null
+++ b/databases/mysql-connector-odbc/files/patch-driver_catalog_no_i_s.c
@@ -0,0 +1,14 @@
+--- driver/catalog_no_i_s.c.orig 2014-06-19 02:50:16.000000000 +0400
++++ driver/catalog_no_i_s.c 2015-03-26 12:31:13.356945009 +0300
+@@ -1093,7 +1093,11 @@
+ unsigned long *lengths;
+ SQLRETURN rc= SQL_SUCCESS;
+
++#ifdef MARIADB_BASE_VERSION
++ my_init_dynamic_array(&records, sizeof(MY_FOREIGN_KEY_FIELD), 0, 0, 0);
++#else
+ my_init_dynamic_array(&records, sizeof(MY_FOREIGN_KEY_FIELD), 0, 0);
++#endif
+
+ /* Get the list of tables that match szCatalog and szTable */
+ pthread_mutex_lock(&stmt->dbc->lock);
diff --git a/databases/mysql-connector-odbc/files/patch-driver_desc.c b/databases/mysql-connector-odbc/files/patch-driver_desc.c
new file mode 100644
index 000000000000..a95514f390bc
--- /dev/null
+++ b/databases/mysql-connector-odbc/files/patch-driver_desc.c
@@ -0,0 +1,37 @@
+--- driver/desc.c.orig 2014-06-19 02:50:16.000000000 +0400
++++ driver/desc.c 2015-03-26 12:34:50.610931661 +0300
+@@ -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.
+ */
++#ifdef MARIADB_BASE_VERSION
++ if (my_init_dynamic_array(&desc->records, sizeof(DESCREC), 0, 0, 0))
++#else
+ if (my_init_dynamic_array(&desc->records, sizeof(DESCREC), 0, 0))
++#endif
+ {
+ x_free((char *)desc);
+ return NULL;
+ }
+
++#ifdef MARIADB_BASE_VERSION
++ if (my_init_dynamic_array(&desc->bookmark, sizeof(DESCREC), 0, 0, 0))
++#else
+ if (my_init_dynamic_array(&desc->bookmark, sizeof(DESCREC), 0, 0))
++#endif
+ {
+ delete_dynamic(&desc->records);
+ x_free((char *)desc);
+@@ -997,7 +1005,12 @@
+ delete_dynamic(&dest->records);
+ if (my_init_dynamic_array(&dest->records, sizeof(DESCREC),
+ src->records.max_element,
++#ifdef MARIADB_BASE_VERSION
++ src->records.alloc_increment,
++ 0))
++#else
+ src->records.alloc_increment))
++#endif
+ {
+ return set_desc_error(dest, "HY001",
+ "Memory allocation error",
diff --git a/databases/mysql-connector-odbc/files/patch-driver_handle.c b/databases/mysql-connector-odbc/files/patch-driver_handle.c
new file mode 100644
index 000000000000..c0e2c5834f8f
--- /dev/null
+++ b/databases/mysql-connector-odbc/files/patch-driver_handle.c
@@ -0,0 +1,14 @@
+--- driver/handle.c.orig 2014-06-19 02:50:16.000000000 +0400
++++ driver/handle.c 2015-03-26 12:36:14.548929818 +0300
+@@ -403,7 +403,11 @@
+ }
+ }
+
++#ifdef MARIADB_BASE_VERSION
++ my_init_dynamic_array(*param_bind, sizeof(MYSQL_BIND), elements, 10, 0);
++#else
+ my_init_dynamic_array(*param_bind, sizeof(MYSQL_BIND), elements, 10);
++#endif
+ memset((*param_bind)->buffer, 0, sizeof(MYSQL_BIND) *
+ (*param_bind)->max_element);
+
diff --git a/databases/mysql-connector-odbc/files/patch-driver_parse.c b/databases/mysql-connector-odbc/files/patch-driver_parse.c
new file mode 100644
index 000000000000..a65f66f0470f
--- /dev/null
+++ b/databases/mysql-connector-odbc/files/patch-driver_parse.c
@@ -0,0 +1,16 @@
+--- driver/parse.c.orig 2014-06-19 02:50:16.000000000 +0400
++++ driver/parse.c 2015-03-26 12:37:12.112907082 +0300
+@@ -129,8 +129,13 @@
+
+ /* TODO: Store offsets rather than ptrs. In this case we will be fine
+ if work with copy of the originally parsed string */
++#ifdef MARIADB_BASE_VERSION
++ my_init_dynamic_array(&pq->token, sizeof(uint), 20, 10, 0);
++ my_init_dynamic_array(&pq->param_pos, sizeof(uint), 10, 10, 0);
++#else
+ my_init_dynamic_array(&pq->token, sizeof(uint), 20, 10);
+ my_init_dynamic_array(&pq->param_pos, sizeof(uint), 10, 10);
++#endif
+ }
+
+ return pq;
diff --git a/databases/mysql-connector-odbc/files/patch-util_odbcinstw.c b/databases/mysql-connector-odbc/files/patch-util_odbcinstw.c
new file mode 100644
index 000000000000..8d2cdd5a6f38
--- /dev/null
+++ b/databases/mysql-connector-odbc/files/patch-util_odbcinstw.c
@@ -0,0 +1,12 @@
+--- util/odbcinstw.c.orig 2015-03-26 15:10:03.189270855 +0300
++++ util/odbcinstw.c 2015-03-26 15:10:43.503271192 +0300
+@@ -105,7 +105,8 @@
+ x_free(section);
+ x_free(entry);
+ x_free(def);
+- x_free(ret);
++ if (ret)
++ free(ret);
+ x_free(filename);
+
+ return rc;