Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:32000 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 63578 invoked by uid 1010); 31 Aug 2007 14:28:31 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 63563 invoked from network); 31 Aug 2007 14:28:31 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 31 Aug 2007 14:28:31 -0000 Authentication-Results: pb1.pair.com smtp.mail=buildsmart@daleenterprise.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=buildsmart@daleenterprise.com; 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:60005] helo=daleenterprise.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 22/96-22642-F8528D64 for ; Fri, 31 Aug 2007 10:28:31 -0400 Received: from localhost (localhost [127.0.0.1]) by daleenterprise.com (Postfix) with ESMTP id DC98B226F78 for ; Fri, 31 Aug 2007 10:28:28 -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 02623-02 for ; Fri, 31 Aug 2007 10:28:27 -0400 (EDT) Received: from [10.1.100.11] (relay.mustangrestomods.com [67.78.11.226]) by daleenterprise.com (Postfix) with ESMTP id 04171226F6E for ; Fri, 31 Aug 2007 10:28:27 -0400 (EDT) Mime-Version: 1.0 (Apple Message framework v752.2) In-Reply-To: <46D81AF2.1060900@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> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-ID: Content-Transfer-Encoding: 7bit Date: Fri, 31 Aug 2007 10:28:26 -0400 To: PHP Developers Mailing List 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 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? 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 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (Darwin) iD8DBQFG2CWK0hzWbkf0eKgRAuRsAJ92DTMONMIPvXktdkg5rv+qxMYfkgCgn7mL Wgb8LWm6JBBGZzf/X5Kh1ys= =iMCJ -----END PGP SIGNATURE-----