Newsgroups: php.internals,php.pecl.dev Path: news.php.net Xref: news.php.net php.internals:32004 php.pecl.dev:4858 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 47115 invoked by uid 1010); 31 Aug 2007 21:04:21 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 47084 invoked from network); 31 Aug 2007 21:04:21 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 31 Aug 2007 21:04:21 -0000 Authentication-Results: pb1.pair.com header.from=buildsmart@daleenterprise.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=buildsmart@daleenterprise.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain daleenterprise.com from 67.78.11.229 cause and error) X-PHP-List-Original-Sender: buildsmart@daleenterprise.com X-Host-Fingerprint: 67.78.11.229 daleenterprise.com Received: from [67.78.11.229] ([67.78.11.229:62127] helo=daleenterprise.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 24/71-39364-35288D64 for ; Fri, 31 Aug 2007 17:04:20 -0400 Received: from localhost (localhost [127.0.0.1]) by daleenterprise.com (Postfix) with ESMTP id 22F49227E20; Fri, 31 Aug 2007 17:04:17 -0400 (EDT) Received: from daleenterprise.com ([127.0.0.1]) by localhost (daleenterprise.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 07774-11; Fri, 31 Aug 2007 17:04:14 -0400 (EDT) Received: from [10.1.100.11] (relay.mustangrestomods.com [67.78.11.226]) by daleenterprise.com (Postfix) with ESMTP id 1EBF9227E0B; Fri, 31 Aug 2007 17:04:03 -0400 (EDT) In-Reply-To: <46D857D1.5060201@hristov.com> References: <6ADD6B47-9E03-4588-873D-83AFD3021ECF@daleenterprise.com> <1188458314.3347.0.camel@localhost.localdomain> <675F8900-8D4A-4013-8F7F-4D035ACD49AA@daleenterprise.com> <46D81AF2.1060900@hristov.com> <46D857D1.5060201@hristov.com> Mime-Version: 1.0 (Apple Message framework v752.2) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-ID: <9F5D8833-CAD9-46D0-8944-E2B83BBE309D@daleenterprise.com> Cc: Andrey Hristov Content-Transfer-Encoding: 7bit Date: Fri, 31 Aug 2007 17:04:02 -0400 To: PHP Developers Mailing List , PECL-DEV X-Pgp-Agent: GPGMail 1.1.2 (Tiger) X-Mailer: Apple Mail (2.752.2) MTA-Interface: amavisd-new-2.3.3 (2005-08-22) + Maia Mailguard 1.1.0 at daleenterprise.com X-Spam-Scanned: using SpamAssassin 3.1.7 (2006-10-05) at daleenterprise.com X-Virus-Scanned: using ClamAV 0.88.6 (2006-11-05) at daleenterprise.com Subject: Re: [PHP-DEV] PHP6 - fixed mysql/mysqlnd/mysqli/pdo_mysql From: buildsmart@daleenterprise.com (BuildSmart) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Aug 31, 2007, at 14:02:57, Andrey Hristov wrote: > Hi Dale, > BuildSmart wrote: >> On Aug 31, 2007, at 09:43:14, Andrey Hristov wrote: >> >>> Hi, >>> BuildSmart wrote: >>>> >>>> On Aug 30, 2007, at 03:18:34, Jani Taskinen wrote: >>>> >>>>> Perhaps you could send the diff to the list, or better yet, an url >>>>> pointing to the place you uploaded the diff. And note: it >>>>> should be >>>>> unified diff. (diff -u) >> >>> I don't understand the intention of the changes? What was the >>> problem? >> >> Compile failures. >> >> The original #if tests had the same data in #else, obviously the >> original coder had the right intentions but forgot to check the >> data types. >> >> Things like MYSQL_TYPE_VARCHAR don't exist in 4.1.13 and below, I >> checked the header files for 4.1.10 and 4.1.13 and removed the >> ones that >> didn't exist. >> >> I can send you the header files if you wish? > > Yes, please. I don't have that ancient MySQL 4.1 :) > I have tested with versions like 4.1.19, 20, 21 I've only checked the versions that are vendor supplied (for Darwin / Mac OS X) 4.1.10, 4.1.13 and 5.0.24 so I couldn't tell you the specific version that it comes into play, perhaps a check if they are defined might be a direction to go rather than a version check unless you can isolate the specific version where these appeared. http://daleenterprise.com/patches/mysql_headers.tgz > >> One of the files didn't check at all and it didn't compensate for the >> mysql version differences so the check was added to correct this. >> >> > > Greets, > Andrey > >> >> >>>>> --Jani >>>> >>>> ______________________________ >>>> >>>> A link to it: >>>> http://daleenterprise.com/patches/mysql.diff >>>> ______________________________ >>>> >>>> a unified diff: >>>> diff -ur ext.orig/mysql/php_mysql.c ext/mysql/php_mysql.c >>>> --- ext.orig/mysql/php_mysql.c 2007-08-06 11:11:46.000000000 >>>> -0400 >>>> +++ ext/mysql/php_mysql.c 2007-08-30 15:00:16.000000000 -0400 >>>> @@ -1977,11 +1977,9 @@ >>>> (f)->type == MYSQL_TYPE_VAR_STRING || (f)->type == >>>> MYSQL_TYPE_VARCHAR || \ >>>> (f)->type == MYSQL_TYPE_STRING)&& (f)->charsetnr == >>>> MYSQL_BINARY_CHARSET_NR) >>>> #else >>>> -#define IS_BINARY_DATA(f) (((f)->type == MYSQL_TYPE_TINY_BLOB || >>>> (f)->type == MYSQL_TYPE_BLOB || \ >>>> +#define IS_BINARY_DATA(f) ((f)->type == MYSQL_TYPE_TINY_BLOB || >>>> (f)->type == MYSQL_TYPE_BLOB || \ >>>> (f)->type == MYSQL_TYPE_MEDIUM_BLOB || (f)->type == >>>> MYSQL_TYPE_LONG_BLOB || \ >>>> - (f)->type == MYSQL_TYPE_VAR_STRING || \ (f)->type == >>>> MYSQL_TYPE_VARCHAR || \ >>>> - (f)->type == MYSQL_TYPE_STRING)&& (f)->charsetnr == >>>> MYSQL_BINARY_CHARSET_NR) >>>> - >>>> + (f)->type == MYSQL_TYPE_VAR_STRING || (f)->type == >>>> MYSQL_TYPE_STRING) >>>> #endif >>>> /* {{{ php_mysql_fetch_hash >>>> diff -ur ext.orig/mysqli/mysqli.c ext/mysqli/mysqli.c >>>> --- ext.orig/mysqli/mysqli.c 2007-07-24 12:13:25.000000000 -0400 >>>> +++ ext/mysqli/mysqli.c 2007-08-30 15:01:02.000000000 -0400 >>>> @@ -947,11 +947,16 @@ >>>> #define MYSQL_BINARY_CHARSET_NR 63 >>>> +#if MYSQL_VERSION_ID > 50002 || defined(HAVE_MYSQLND) >>>> #define IS_BINARY_DATA(f) (((f).type == MYSQL_TYPE_TINY_BLOB || >>>> (f).type >>>> == MYSQL_TYPE_BLOB || \ >>>> (f).type == MYSQL_TYPE_MEDIUM_BLOB || (f).type == >>>> MYSQL_TYPE_LONG_BLOB || \ >>>> (f).type == MYSQL_TYPE_BIT || (f).type == >>>> MYSQL_TYPE_VAR_STRING || >>>> (f).type == MYSQL_TYPE_VARCHAR ||\ >>>> (f).type == MYSQL_TYPE_STRING) && (f).charsetnr == >>>> MYSQL_BINARY_CHARSET_NR) >>>> - >>>> +#else >>>> +#define IS_BINARY_DATA(f) ((f).type == MYSQL_TYPE_TINY_BLOB || >>>> (f).type >>>> == MYSQL_TYPE_BLOB || \ >>>> + (f).type == MYSQL_TYPE_MEDIUM_BLOB || (f).type == >>>> MYSQL_TYPE_LONG_BLOB || \ >>>> + (f).type == MYSQL_TYPE_VAR_STRING || (f).type == >>>> MYSQL_TYPE_STRING) >>>> +#endif >>>> /* {{{ php_mysqli_fetch_into_hash >>>> */ >>>> diff -ur ext.orig/mysqli/mysqli_api.c ext/mysqli/mysqli_api.c >>>> --- ext.orig/mysqli/mysqli_api.c 2007-07-24 >>>> 12:13:26.000000000 -0400 >>>> +++ ext/mysqli/mysqli_api.c 2007-08-30 15:01:02.000000000 -0400 >>>> @@ -759,10 +759,9 @@ >>>> (f).type == MYSQL_TYPE_STRING) && (f).charsetnr == >>>> MYSQL_BINARY_CHARSET_NR) >>>> #else >>>> /* No BIT */ >>>> -#define IS_BINARY_DATA(f) (((f).type == MYSQL_TYPE_TINY_BLOB || >>>> (f).type == MYSQL_TYPE_BLOB || \ >>>> +#define IS_BINARY_DATA(f) ((f).type == MYSQL_TYPE_TINY_BLOB || >>>> (f).type >>>> == MYSQL_TYPE_BLOB || \ >>>> (f).type == MYSQL_TYPE_MEDIUM_BLOB || (f).type == >>>> MYSQL_TYPE_LONG_BLOB || \ >>>> - (f).type == MYSQL_TYPE_VAR_STRING || (f).type == >>>> MYSQL_TYPE_VARCHAR ||\ >>>> - (f).type == MYSQL_TYPE_STRING) && (f).charsetnr == >>>> MYSQL_BINARY_CHARSET_NR) >>>> + (f).type == MYSQL_TYPE_VAR_STRING || (f).type == >>>> MYSQL_TYPE_STRING) >>>> #endif >>>> >>>> ______________________________ >>>> >>>> -- Dale >> >>> --PHP Internals - PHP Runtime Development Mailing List >>> To unsubscribe, visit: http://www.php.net/unsub.php >> >> -- BuildSmart - -- Dale -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (Darwin) iD8DBQFG2IJD0hzWbkf0eKgRAh9lAJ9fBNIBvYsfxGeSeXoTBDPLVcwT5gCfQ9nk ooSXEThB5v/U9jCxnhCTS9I= =f34o -----END PGP SIGNATURE-----