Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:63854 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 34237 invoked from network); 13 Nov 2012 19:15:10 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 13 Nov 2012 19:15:10 -0000 Authentication-Results: pb1.pair.com smtp.mail=johannes.schlueter@oracle.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=johannes.schlueter@oracle.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain oracle.com designates 156.151.31.81 as permitted sender) X-PHP-List-Original-Sender: johannes.schlueter@oracle.com X-Host-Fingerprint: 156.151.31.81 userp1040.oracle.com Received: from [156.151.31.81] ([156.151.31.81:16745] helo=userp1040.oracle.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 86/46-30200-C3C92A05 for ; Tue, 13 Nov 2012 14:15:09 -0500 Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by userp1040.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id qADJF2MQ001159 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 13 Nov 2012 19:15:03 GMT Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158]) by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id qADJF1mc020022 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 13 Nov 2012 19:15:02 GMT Received: from abhmt108.oracle.com (abhmt108.oracle.com [141.146.116.60]) by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id qADJF1al000754; Tue, 13 Nov 2012 13:15:01 -0600 Received: from [10.1.126.236] (/195.162.88.230) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 13 Nov 2012 11:15:01 -0800 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable References: <50A10A9D.9070402@oracle.com> <50A1946F.8010407@lerdorf.com> <50A20CCB.8090909@lsces.co.uk> <8A8A29F9E43E417FB5450D63019B2DDB@NeiRoze> <8f4231fc-6e3c-4a33-af71-2af5e7a95dfd@email.android.com> Mime-Version: 1.0 (1.0) In-Reply-To: Message-ID: <08070D7D-2697-4ADE-AACF-D493EEA8C47D@oracle.com> Date: Tue, 13 Nov 2012 20:56:43 +0200 Cc: Anthony Ferrara , Reinis Rozitis , PHP internals To: Arvids Godjuks X-Mailer: iPod Mail (10A523) X-Source-IP: ucsinet22.oracle.com [156.151.31.94] Subject: Re: [PHP-DEV] RFC: ext/mysql deprecation From: johannes.schlueter@oracle.com (=?utf-8?Q?Johannes_Schl=C3=BCter?=) On Nov 13, 2012, at 18:28, Arvids Godjuks wrote: > It took me like 10 minutes of "Search & Replace" in my IDE to make a switc= h to mysqli and a few more hours to validate that everything is ok and catch= places where search & replace failed. The amount of work is overestimated, e= specially if you have a regexp capable search & replace. That's not enough in many cases: A key property of ext/MySQL is that you hav= e this "default connection" so users don't have to pass a connection handle.= Adding that in a sane way can quickly become non-trivial. A help there exists, though: Chris posted the link to the oracle wiki which h= as a link to some script we in the MySQL company wrote (actually that was do= ne before I joined) which tries to convert ext/mysql based applications to m= ysqli whole trying to catch more edge cases. > Not being able to migrate to mysqli in a few days is a sign of project mes= sed up so badly, that just upgrading your PHP should break it every time, an= d you are probably better off rewriting the whole thing. Or just freeze the P= HP version you are using and let it live until you are able to rewrite it. Actually PHP has a quite good BC story. Yes, sometimes we break thing (on pu= rpose or accident) but in 90% of the cases easy workaround a exist (I.e. emu= lating register_globals is quite easy). So users can migrate their "crappy" c= ode from version to version and be happy. Swapping out database access in a m= ixture of PHP, HTML and SQL is way harder. > Unfortunately people need a kick in the nuts to start to act. And that old= project argument is exactly from the people that need that kick in the firs= t place. I agree, docs and these things aren't enough. E_DEPRECATED is our tool for t= his. > I don't even wana start about using a VPS/virtualization and compiling the= damn thing --with-mysql and being happy that you don't have to do anything t= o keep it running. Well, you still need --with-mysqli (or --with-pdo-mysql) which is even more t= o type ;) johannes --=20 Johannes Schl=C3=BCter, MySQL Connectors Team, ORACLE Corporation=