summaryrefslogtreecommitdiff
path: root/databases/mysql-connector-odbc
diff options
context:
space:
mode:
authorMax Khon <fjoe@FreeBSD.org>2009-01-27 05:13:10 +0000
committerMax Khon <fjoe@FreeBSD.org>2009-01-27 05:13:10 +0000
commit3f65f803c1a50cc5084e81709f115916aeef47cc (patch)
tree19c8e5949ee8b520eaf3343bbacd12b015b5b8fe /databases/mysql-connector-odbc
parent- Fix ODBCINT64 and UODBCINT64 definitions in unixodbc_conf.h (diff)
Fix build with unixODBC 2.2.14: in 2.2.14 signatures of several functions
(SQLExtendedFetch, SQLColAttribute, SQLColAttributeW) were fixed. Approved by: portmgr (marcus)
Notes
Notes: svn path=/head/; revision=226944
Diffstat (limited to 'databases/mysql-connector-odbc')
-rw-r--r--databases/mysql-connector-odbc/Makefile5
-rw-r--r--databases/mysql-connector-odbc/files/patch-driver_myutil.h3
-rw-r--r--databases/mysql-connector-odbc/files/patch-driver_results.c35
-rw-r--r--databases/mysql-connector-odbc/files/patch-driver_utility.c38
4 files changed, 73 insertions, 8 deletions
diff --git a/databases/mysql-connector-odbc/Makefile b/databases/mysql-connector-odbc/Makefile
index 6b74caa0815c..8d66f8f52217 100644
--- a/databases/mysql-connector-odbc/Makefile
+++ b/databases/mysql-connector-odbc/Makefile
@@ -8,7 +8,7 @@
PORTNAME= mysql-connector-odbc
PORTVERSION= 3.51.26
DISTVERSIONSUFFIX= r1127
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= databases
MASTER_SITES= ${MASTER_SITE_MYSQL}
MASTER_SITE_SUBDIR= Connector-ODBC/3.51
@@ -45,9 +45,8 @@ WITH_UNIXODBC?= yes
.endif
.if defined(WITH_UNIXODBC)
-BROKEN= does not compile
-
LIB_DEPENDS+= odbc.1:${PORTSDIR}/databases/unixODBC
+BUILD_DEPENDS= unixODBC>=2.2.14_1:${PORTSDIR}/databases/unixODBC
CONFIGURE_ARGS+= --with-odbc-ini=${LOCALBASE}/etc/odbc.ini \
--with-unixODBC=${LOCALBASE}
CFLAGS+= ${PTHREAD_LIBS}
diff --git a/databases/mysql-connector-odbc/files/patch-driver_myutil.h b/databases/mysql-connector-odbc/files/patch-driver_myutil.h
index f1511754f08e..f6b648e76135 100644
--- a/databases/mysql-connector-odbc/files/patch-driver_myutil.h
+++ b/databases/mysql-connector-odbc/files/patch-driver_myutil.h
@@ -3,8 +3,9 @@
@@ -174,7 +174,7 @@
SQLLEN *pcbValue);
SQLRETURN SQL_API my_SQLExtendedFetch(SQLHSTMT hstmt, SQLUSMALLINT fFetchType,
- SQLROWOFFSET irow, SQLULEN *pcrow,
+- SQLROWOFFSET irow, SQLULEN *pcrow,
- SQLUSMALLINT FAR *rgfRowStatus, bool upd_status);
++ SQLLEN irow, SQLULEN *pcrow,
+ SQLUSMALLINT FAR *rgfRowStatus, my_bool upd_status);
SQLRETURN copy_stmt_error(STMT FAR *src, STMT FAR *dst);
int unireg_to_c_datatype(MYSQL_FIELD *field);
diff --git a/databases/mysql-connector-odbc/files/patch-driver_results.c b/databases/mysql-connector-odbc/files/patch-driver_results.c
index fa6b4e9ab290..869465e8940f 100644
--- a/databases/mysql-connector-odbc/files/patch-driver_results.c
+++ b/databases/mysql-connector-odbc/files/patch-driver_results.c
@@ -1,7 +1,11 @@
---- driver/results.c.orig 2008-04-11 01:58:44.000000000 -0800
-+++ driver/results.c 2009-01-08 11:46:27.000000000 -0900
-@@ -1248,7 +1248,7 @@
- SQLROWOFFSET irow,
+--- driver/results.c.orig 2008-04-11 16:58:44.000000000 +0700
++++ driver/results.c 2009-01-27 00:01:01.000000000 +0600
+@@ -1245,10 +1245,10 @@
+ */
+ SQLRETURN SQL_API my_SQLExtendedFetch( SQLHSTMT hstmt,
+ SQLUSMALLINT fFetchType,
+- SQLROWOFFSET irow,
++ SQLLEN irow,
SQLULEN *pcrow,
SQLUSMALLINT FAR *rgfRowStatus,
- bool upd_status )
@@ -9,3 +13,26 @@
{
ulong rows_to_fetch;
long cur_row, max_row;
+@@ -1511,19 +1511,16 @@
+
+ SQLRETURN SQL_API SQLExtendedFetch( SQLHSTMT hstmt,
+ SQLUSMALLINT fFetchType,
+- SQLROWOFFSET irow,
+- SQLROWSETSIZE *pcrow,
++ SQLLEN irow,
++ SQLULEN *pcrow,
+ SQLUSMALLINT FAR *rgfRowStatus )
+ {
+ SQLRETURN rc;
+- SQLULEN rows;
+ STMT_OPTIONS *options= &((STMT FAR *)hstmt)->stmt_options;
+
+ options->rowStatusPtr_ex= rgfRowStatus;
+
+- rc= my_SQLExtendedFetch(hstmt, fFetchType, irow, &rows, rgfRowStatus, 1);
+- if (pcrow)
+- *pcrow= (SQLROWSETSIZE)rows;
++ rc= my_SQLExtendedFetch(hstmt, fFetchType, irow, pcrow, rgfRowStatus, 1);
+
+ return rc;
+ }
diff --git a/databases/mysql-connector-odbc/files/patch-driver_utility.c b/databases/mysql-connector-odbc/files/patch-driver_utility.c
new file mode 100644
index 000000000000..1276118e6441
--- /dev/null
+++ b/databases/mysql-connector-odbc/files/patch-driver_utility.c
@@ -0,0 +1,38 @@
+--- driver/utility.c.orig 2009-01-27 00:14:43.000000000 +0600
++++ driver/utility.c 2009-01-27 00:15:46.000000000 +0600
+@@ -504,11 +504,6 @@
+
+ return field_is_binary ? SQL_BINARY : SQL_CHAR;
+
+- /*
+- MYSQL_TYPE_VARCHAR is never actually sent, this just silences
+- a compiler warning.
+- */
+- case MYSQL_TYPE_VARCHAR:
+ case MYSQL_TYPE_VAR_STRING:
+ if (buff)
+ (void)strmov(buff, field_is_binary ? "varbinary" : "varchar");
+@@ -657,7 +652,6 @@
+
+ case MYSQL_TYPE_ENUM:
+ case MYSQL_TYPE_SET:
+- case MYSQL_TYPE_VARCHAR:
+ case MYSQL_TYPE_VAR_STRING:
+ case MYSQL_TYPE_STRING:
+ case MYSQL_TYPE_TINY_BLOB:
+@@ -783,7 +777,6 @@
+
+ case MYSQL_TYPE_ENUM:
+ case MYSQL_TYPE_SET:
+- case MYSQL_TYPE_VARCHAR:
+ case MYSQL_TYPE_VAR_STRING:
+ case MYSQL_TYPE_STRING:
+ case MYSQL_TYPE_TINY_BLOB:
+@@ -867,7 +860,6 @@
+
+ case MYSQL_TYPE_ENUM:
+ case MYSQL_TYPE_SET:
+- case MYSQL_TYPE_VARCHAR:
+ case MYSQL_TYPE_VAR_STRING:
+ case MYSQL_TYPE_STRING:
+ case MYSQL_TYPE_TINY_BLOB: