Date: Fri, 10 Feb 2012 12:06:38 GMT From: Pavel Timofeev <timp87@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/164953: update databases/mysql-connector-odbc (patch) Message-ID: <201202101206.q1AC6c97009652@red.freebsd.org> Resent-Message-ID: <201202101210.q1ACA7il083716@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201202101206.q1AC6c97009652>