Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:32982 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 39452 invoked by uid 1010); 26 Oct 2007 17:38:14 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 39437 invoked from network); 26 Oct 2007 17:38:14 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 Oct 2007 17:38:14 -0000 X-Host-Fingerprint: 209.155.232.242 office.atl.schematic.com Received: from [209.155.232.242] ([209.155.232.242:19088] helo=localhost.localdomain) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 1D/BB-03518-30622274 for ; Fri, 26 Oct 2007 13:38:12 -0400 Message-ID: <1D.BB.03518.30622274@pb1.pair.com> To: internals@lists.php.net Date: Fri, 26 Oct 2007 13:38:04 -0400 User-Agent: Thunderbird 2.0.0.6 (Macintosh/20070728) MIME-Version: 1.0 X-Enigmail-Version: 0.95.4 OpenPGP: id=CE409D61 Content-Type: multipart/mixed; boundary="------------090901020205010601080502" X-Posted-By: 209.155.232.242 Subject: [PATCH] Generate warning when using PDO::setAttribute() and ATTR_PERSISTENT From: ramsey@php.net (Ben Ramsey) --------------090901020205010601080502 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For a while, we were scratching our heads over why persistent connections were not being created when using PDO_OCI, even though we were explicitly calling PDO::setAttribute() to set PDO::ATTR_PERSISTENT. My colleague Brian DeShong further explains the issue on his blog: http://www.deshong.net/?p=61 "You must set PDO::ATTR_PERSISTENT => true in the array of options you pass to the PDO constructor! If you call $pdo->setAttribute(PDO::ATTR_PERSISTENT, true) after the instantiation of the object, you won’t be using persistent connections." He goes on to say: "It’d be nice if PDO::setAttribute() raised a warning if you try to set PDO::ATTR_PERSISTENT, by the way." I'm submitting the attached patch to do just that. :-) -- Ben Ramsey http://benramsey.com/ --------------090901020205010601080502 Content-Type: text/plain; x-mac-type="0"; x-mac-creator="0"; name="pdo_attr_persistent.diff.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="pdo_attr_persistent.diff.patch" SW5kZXg6IGV4dC9wZG8vcGRvX2RiaC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9yZXBv c2l0b3J5L3BocC1zcmMvZXh0L3Bkby9wZG9fZGJoLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9u IDEuODIuMi4zMS4yLjE1CmRpZmYgLXUgLXIxLjgyLjIuMzEuMi4xNSBwZG9fZGJoLmMKLS0t IGV4dC9wZG8vcGRvX2RiaC5jCTE2IEp1bCAyMDA3IDE4OjAwOjE4IC0wMDAwCTEuODIuMi4z MS4yLjE1CisrKyBleHQvcGRvL3Bkb19kYmguYwkyNiBPY3QgMjAwNyAxNzoyNjo1NyAtMDAw MApAQCAtODIzLDYgKzgyMywxOCBAQAogCiAJUERPX0NPTlNUUlVDVF9DSEVDSzsKIAorCXN3 aXRjaCAoYXR0cikgeworCQljYXNlIFBET19BVFRSX1BFUlNJU1RFTlQ6CisJCQlwZG9fcmFp c2VfaW1wbF9lcnJvcihkYmgsIE5VTEwsICJIWTAwMCIsIAorCQkJCSJQRE86OkFUVFJfUEVS U0lTVEVOVCBjYW5ub3QgYmUgc2V0IHdpdGggUERPOjpzZXRBdHRyaWJ1dGUoKTsgIgorCQkJ CSJpdCBtdXN0IGJlIHBhc3NlZCBhcyBhIGRyaXZlciBvcHRpb24gdG8gdGhlIFBETyBjb25z dHJ1Y3RvciIgVFNSTUxTX0NDKTsKKwkJCVBET19IQU5ETEVfREJIX0VSUigpOworCQkJcmV0 dXJuIEZBSUxVUkU7CisKKwkJZGVmYXVsdDoKKwkJCTsKKwl9CisJCiAJaWYgKHBkb19kYmhf YXR0cmlidXRlX3NldChkYmgsIGF0dHIsIHZhbHVlIFRTUk1MU19DQykgIT0gRkFJTFVSRSkg ewogIAkJUkVUVVJOX1RSVUU7CiAgCX0K --------------090901020205010601080502--