ports/164953: update databases/mysql-connector-odbc (patch)
Pavel Timofeev
timp87 at gmail.com
Fri Feb 10 12:10:07 UTC 2012
>Number: 164953
>Category: ports
>Synopsis: update databases/mysql-connector-odbc (patch)
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Feb 10 12:10:06 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Pavel Timofeev
>Release: FreeBSD 9.0 RELEASE amd64
>Organization:
>Environment:
>Description:
It's an update for databases/mysql-connector-odbc from 3.51.26 to 3.51.30.
2 files needs to be deleted:
patch-driver_myodbc3.h
patch-driver_myutil.h
others need to be patched.
Now it works with MySQL55!
It's tested with:
iodbc - compiles (work's not tested)
unixODBC - compiles and works with mysql55
I know about http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/161832 but I don't know how to solve those problem. While this version works with MySQL55 too.
Changelog from source's tarball:
3.51.30(02-Feb-2012)
Functionality added or changed:
* MyODBC queries log is written to %TEMP%\myodbc.sql, or to C:\myodbc.sql if
TEMP is not defined.
Bugs fixed:
* SQLPrepare causes Prefetch of table. (Bug #46411)
* SQL_ATTR_MAX_ROWS make some SELECT statement invalid. (Bug #49726)
* In some cases TIMESTAMP field could be described as SQL_NO_NULLS.
(Bug #13532987)
* SQLFetch has to return an error if indicator pointer is NULL for NULL value.
(Bug #13542600)
* A failure on one stmt causes another stmt to fail. (Bug #13097201/#62657)
* A DSN created by the setup dialog could contain notation that was not
recognized by the driver. (Bug #13647492)
Built using MySQL 5.5.18.
----
3.51.29(04-Oct-2011)
Functionality added or changed:
* Native Windows setup library has been downmerged from 5.1.
* Support of windows authentication
Bugs fixed:
* MS Access with VARCHAR NOT NULL columns. (Bug #31067)
Built using MySQL 5.5.16.
----
3.51.28 (09-Feb-2011)
Functionality added or changed:
* Removed use of "old" SQLLEN/SQLULEN types aliases. They are not
supported in unixODBC 2.2.13 and later 64-bit builds. Removed
SQLROWCOUNT, SQLROWSETSIZE, SQLTRANSID, SQLROWOFFSET.
* Options in the GUI are groupped on named tabs.
* Added connection option INTERACTIVE that tells driver that client is
ineractive and interactive_timeout has to be used. (Bug #48603)
* SQLTables uses now INFORMATION_SCHEMA. Added connection option to use
old code. (Bug #43644)
* Added GUI options for MIN_DATE_TO_ZERO and ZERO_DATE_TO_MIN connection
options. (Bug #30539)
Bugs fixed:
* SQLFetch() did not return SQL_ERROR if connection was dropped due to a
timeout. (Bug #39878)
* FLAG_NO_BIGINT still returns bigint for SQLDescribeCol()
(Bug #17679)
* SQLGetTypeInfo() doesn't return any rows SQL_TIMESTAMP on an ODBC v2
connection. (Bug #30626)
* Inserting a new record using SQLSetPos if the table is from different than
current catalog. (Bug #41946)
* If NO_BACKSLASH_ESCAPES mode is used on a server, escaping binary data
can lead to server query parsing errors. (Bug #49029)
* Column octet length includes terminating null byte. (Bug #54206)
* Driver returns wrong results about column case sensitivity. (Bug #54212)
* Binding bit field to a numeric types doesn't work. (Bug #32821)
* Some catalog functions used fixed-sized buffers for handling
arguments that could be overrun, and misinterpreted some arguments
as patterns when they should be treated as identifiers. (Bug #36275)
* SQLDescribeCol returns incorrect values of SQLTables data. (Bug #37621)
* SQLForeignKeys included in results rows for foreign keys pointing to
unique fields. (Bug #51422)
* SQLColumns returns wrong transfer octet length. (Bug #53235)
* SQLTablePrivileges requires SELECT privilege on mysql database. (Bug #50195)
* If there are foreign key constraints with same name for tables with same
names in 2 schemas, SQLForeignKeys can return rows for both
schemas in query about one of those tables. (Bug #49660)
Built using MySQL 5.1.46sp1.
----
3.51.27 (20-Nov-2008)
Bugs fixed:
* Cannot use ssl (Bug #29955)
* Enable auto reconnect doesn't work (Bug #37179)
* Add read and write timeouts on the connection (Bug #40407)
>How-To-Repeat:
Try to use this port with port's default MySQL55
>Fix:
Commit it=)
Patch attached with submission follows:
diff -ruN Makefile.orig Makefile
--- Makefile.orig 2012-02-09 14:15:29.000000000 +0400
+++ Makefile 2012-02-09 15:38:57.000000000 +0400
@@ -6,21 +6,16 @@
#
PORTNAME= mysql-connector-odbc
-PORTVERSION= 3.51.26
-DISTVERSIONSUFFIX= r1127
-PORTREVISION= 4
+PORTVERSION= 3.51.30
CATEGORIES= databases
MASTER_SITES= ${MASTER_SITE_MYSQL}
MASTER_SITE_SUBDIR= Connector-ODBC/3.51
PKGNAMESUFFIX= -${DRIVER_MANAGER}-mysql${MYSQL_VER}
+DISTNAME= ${PORTNAME}-${PORTVERSION}-src
MAINTAINER= sergey at network-asp.biz
COMMENT= ODBC driver for MySQL${MYSQL_VER} / ${DRIVER_MANAGER}
-USE_MYSQL= yes
-DEFAULT_MYSQL_VER= 51
-IGNORE_WITH_MYSQL= 55
-
USE_GMAKE= yes
USE_AUTOTOOLS= libtool libltdl
USE_LDCONFIG= yes
@@ -31,8 +26,8 @@
PLIST_SUB= VER=${PORTVERSION}
-PORTDOCS= ChangeLog INSTALL LICENSE.exceptions LICENSE.gpl \
- README README.debug
+PORTDOCS= ChangeLog COPYING INSTALL README README.debug \
+ Licenses_for_Third-Party_Components.txt
# MyODBC needs an ODBC driver manager to be installed, and it supports both
# iODBC and unixODBC.
@@ -58,7 +53,6 @@
--with-iodbc-includes=${LOCALBASE}/include \
--with-iodbc-libs=${LOCALBASE}/lib \
--with-odbc-ini=${LOCALBASE}/etc/libiodbc/odbc.ini
-EXTRA_PATCHES= ${PATCHDIR}/myodbc-iodbc-patch
DRIVER_MANAGER= iodbc
.endif
diff -ruN distinfo.orig distinfo
--- distinfo.orig 2012-02-09 14:15:38.000000000 +0400
+++ distinfo 2012-02-09 14:27:07.000000000 +0400
@@ -1,2 +1,2 @@
-SHA256 (mysql-connector-odbc-3.51.26r1127.tar.gz) = 78d6311946e92e72a40da6c6dfc06b0c4e7cb20d9431358351b2850c5e4a924a
-SIZE (mysql-connector-odbc-3.51.26r1127.tar.gz) = 954125
+SHA256 (mysql-connector-odbc-3.51.30-src.tar.gz) = 8ef39718bebcc3f934342a6a579b2d2e55a7052eda293d288a735299ac5cf5ba
+SIZE (mysql-connector-odbc-3.51.30-src.tar.gz) = 857972
diff -ruN pkg-plist.orig pkg-plist
--- pkg-plist.orig 2012-02-09 15:38:07.000000000 +0400
+++ pkg-plist 2012-02-09 15:21:08.000000000 +0400
@@ -1,4 +1,3 @@
-bin/myodbc3m
bin/myodbc3i
lib/libmyodbc3-%%VER%%.so
lib/libmyodbc3.a
diff -ruN files/patch-configure.orig files/patch-configure
--- files/patch-configure.orig 2012-02-09 14:31:08.000000000 +0400
+++ files/patch-configure 2012-02-09 14:31:17.000000000 +0400
@@ -1,6 +1,6 @@
---- configure.orig 2008-07-10 23:32:20.000000000 +0300
-+++ configure 2008-07-10 23:33:51.000000000 +0300
-@@ -1653,13 +1653,13 @@
+--- configure.orig 2012-02-09 14:29:45.000000000 +0400
++++ configure 2012-02-09 14:30:22.000000000 +0400
+@@ -2271,13 +2271,13 @@
# The aliases save the names the user supplied, while $host etc.
# will get canonicalized.
@@ -10,14 +10,14 @@
- program_prefix=${target_alias}-
-
-# When changing, also change VersionInfo.h and driver/myodbc3.def
--am__api_version="1.9"
+-am__api_version='1.10'
+#test -n "$target_alias" &&
+# test "$program_prefix$program_suffix$program_transform_name" = \
+# NONENONEs,x,x, &&
+# program_prefix=${target_alias}-
+#
+## When changing, also change VersionInfo.h and driver/myodbc3.def
-+#am__api_version="1.9"
++#am__api_version='1.10'
+
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
- # incompatible versions:
diff -ruN files/patch-driver_myodbc3.h.orig files/patch-driver_myodbc3.h
--- files/patch-driver_myodbc3.h.orig 2012-02-09 15:49:03.000000000 +0400
+++ files/patch-driver_myodbc3.h 2012-02-09 15:51:45.000000000 +0400
@@ -1,22 +0,0 @@
---- driver/myodbc3.h.orig 2008-07-02 06:43:38.000000000 -0800
-+++ driver/myodbc3.h 2009-01-08 11:59:38.000000000 -0900
-@@ -161,7 +161,7 @@
- #define FLAG_MIN_DATE_TO_ZERO (1 << 25) /* Convert ODBC min date to 0000-00-00 on query */
- #define FLAG_MULTI_STATEMENTS (1 << 26) /* Allow multiple statements in a query */
- #define FLAG_COLUMN_SIZE_S32 (1 << 27) /* Limit column size to a signed 32-bit value (automatically set for ADO) */
--#define FLAG_NO_BINARY_RESULT (1 << 28) /* Disables charset 63 for columns with empty org_table */
-+#define FLAG_NO_BINARY_RESULT (1 << 28) /* Disables charset 63 for columns with empty org_table */
-
- /* We don't make any assumption about what the default may be. */
- #ifndef DEFAULT_TXN_ISOLATION
-@@ -252,8 +252,8 @@
- SQLINTEGER ValueMax;
- SQLLEN * actual_len;
- SQLINTEGER value_length;
-- bool alloced,used;
-- bool real_param_done;
-+ my_bool alloced,used;
-+ my_bool real_param_done;
- } PARAM_BIND;
-
-
diff -ruN files/patch-driver_myutil.h.orig files/patch-driver_myutil.h
--- files/patch-driver_myutil.h.orig 2012-02-09 15:49:03.000000000 +0400
+++ files/patch-driver_myutil.h 2012-02-09 15:54:23.000000000 +0400
@@ -1,12 +0,0 @@
---- driver/myutil.h.orig 2008-04-11 01:58:44.000000000 -0800
-+++ driver/myutil.h 2009-01-08 11:50:41.000000000 -0900
-@@ -174,7 +174,7 @@
- SQLLEN *pcbValue);
- SQLRETURN SQL_API my_SQLExtendedFetch(SQLHSTMT hstmt, SQLUSMALLINT fFetchType,
-- 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);
- int default_c_type(int sql_data_type);
diff -ruN files/patch-driver_results.c.orig files/patch-driver_results.c
--- files/patch-driver_results.c.orig 2012-02-09 16:28:15.000000000 +0400
+++ files/patch-driver_results.c 2012-02-09 16:16:48.000000000 +0400
@@ -1,38 +1,18 @@
---- 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 )
-+ my_bool upd_status )
- {
- 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,
+--- driver/results.c.orig 2012-02-09 14:46:45.000000000 +0400
++++ driver/results.c 2012-02-09 14:47:41.000000000 +0400
+@@ -1780,14 +1780,11 @@
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;
+- *pcrow= (SQLULEN)rows;
+ rc= my_SQLExtendedFetch(hstmt, fFetchType, irow, pcrow, rgfRowStatus, 1);
-
+
return rc;
}
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list