Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:45954 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 25923 invoked from network); 5 Nov 2009 18:45:29 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 5 Nov 2009 18:45:29 -0000 Received: from [127.0.0.1] ([127.0.0.1:22983]) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ECSTREAM id 7D/F2-08268-94D13FA4 for ; Thu, 05 Nov 2009 13:45:29 -0500 Authentication-Results: pb1.pair.com smtp.mail=timr@asteriasgi.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=timr@asteriasgi.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain asteriasgi.com from 69.73.20.70 cause and error) X-PHP-List-Original-Sender: timr@asteriasgi.com X-Host-Fingerprint: 69.73.20.70 bigmo.asteriasgi.com Received: from [69.73.20.70] ([69.73.20.70:33550] helo=asteriasgi.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 31/F2-08268-D9B13FA4 for ; Thu, 05 Nov 2009 13:38:24 -0500 Received: (qmail 18653 invoked from network); 5 Nov 2009 18:38:07 -0000 Received: from sneezy.asteriasgi.com (192.168.2.2) by bigmo.asteriasgi.com with ESMTPS (AES128-SHA encrypted); 5 Nov 2009 18:38:07 -0000 Received: from [192.168.2.137] (192.168.2.137) by sneezy.asteriasgi.com (192.168.2.2) with Microsoft SMTP Server (TLS) id 8.1.393.1; Thu, 5 Nov 2009 12:38:07 -0600 Message-ID: <4AF31B63.7000705@asteriasgi.com> Date: Thu, 5 Nov 2009 12:37:23 -0600 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.4pre) Gecko/20090915 Thunderbird/3.0b4 MIME-Version: 1.0 To: Content-Type: multipart/mixed; boundary="------------040902030201030709070608" Subject: [patch] add COPY functions to pdo_pgsql From: timr@asteriasgi.com (Tim Ringenbach) --------------040902030201030709070608 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Here's a patch to add pgsqlGetCopyData, pgsqlPutCopyData, and pgsqlEndCopyData methods. I opened bug #50092 but I don't seem able to attach the patch, so I attached it here. --Tim --------------040902030201030709070608 Content-Type: text/plain; name="pdo_pgsql_copy_svn.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pdo_pgsql_copy_svn.diff" SW5kZXg6IGV4dC9wZG9fcGdzcWwvcGdzcWxfZHJpdmVyLmMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g ZXh0L3Bkb19wZ3NxbC9wZ3NxbF9kcml2ZXIuYwkocmV2aXNpb24gMjkwMzU5KQorKysgZXh0 L3Bkb19wZ3NxbC9wZ3NxbF9kcml2ZXIuYwkod29ya2luZyBjb3B5KQpAQCAtMjkyLDcgKzI5 Miw3IEBACiAJCXJldHVybiAtMTsKIAl9CiAJcXMgPSBQUXJlc3VsdFN0YXR1cyhyZXMpOwot CWlmIChxcyAhPSBQR1JFU19DT01NQU5EX09LICYmIHFzICE9IFBHUkVTX1RVUExFU19PSykg eworCWlmIChxcyAhPSBQR1JFU19DT01NQU5EX09LICYmIHFzICE9IFBHUkVTX1RVUExFU19P SyAmJiBxcyAhPSBQR1JFU19DT1BZX09VVCAmJiBxcyAhPSBQR1JFU19DT1BZX0lOKSB7CiAJ CXBkb19wZ3NxbF9lcnJvcihkYmgsIHFzLCBwZG9fcGdzcWxfc3Fsc3RhdGUocmVzKSk7CiAJ CVBRY2xlYXIocmVzKTsKIAkJcmV0dXJuIC0xOwpAQCAtNjAzLDExICs2MDMsOTkgQEAKIH0K IC8qIH19fSAqLwogCisvKiB7e3sgcHJvdG8gc3RyaW5nIFBETzo6cGdzcWxHZXRDb3B5RGF0 YSgpCisgICBSZWNlaXZlcyBkYXRhIGFmdGVyIGlzc3VpbmcgYSBDT1BZIFRPIFNURE9VVCBx dWVyeS4gKi8KK3N0YXRpYyBQSFBfTUVUSE9EKFBETywgcGdzcWxHZXRDb3B5RGF0YSkKK3sK KwlwZG9fZGJoX3QgKmRiaDsKKwlwZG9fcGdzcWxfZGJfaGFuZGxlICpIOworCWludCByZXM7 CisJY2hhciAqYnVmZmVyOworCQorCWRiaCA9IHplbmRfb2JqZWN0X3N0b3JlX2dldF9vYmpl Y3QoZ2V0VGhpcygpIFRTUk1MU19DQyk7CisJUERPX0NPTlNUUlVDVF9DSEVDSzsKIAorCUgg PSAocGRvX3Bnc3FsX2RiX2hhbmRsZSAqKWRiaC0+ZHJpdmVyX2RhdGE7CisKKwlyZXMgPSBQ UWdldENvcHlEYXRhKEgtPnNlcnZlciwgJmJ1ZmZlciwgMCk7CisKKwlpZiAocmVzID4gMCkg eworCQljaGFyICpyZXQgPSBlbWFsbG9jKHJlcyk7CisJCW1lbWNweShyZXQsIGJ1ZmZlciwg cmVzKTsKKwkJUFFmcmVlbWVtKGJ1ZmZlcik7CisJCVJFVFVSTl9TVFJJTkdMKHJldCwgcmVz LCAwKTsKKwl9IGVsc2UgaWYgKHJlcyA9PSAtMSkgeworCQkvKiBEb25lIGNvcHlpbmcgKi8K KwkJUkVUVVJOX0ZBTFNFOworCX0gZWxzZSB7CisJCXBkb19wZ3NxbF9lcnJvcihkYmgsIFBH UkVTX0ZBVEFMX0VSUk9SLCAiSFkwMDAiKTsKKwl9CisJUkVUVVJOX0ZBTFNFOworfQorLyog fX19ICovCisKKy8qIHt7eyBwcm90byBib29sZWFuIFBETzo6cGdzcWxQdXRDb3B5RGF0YShz dHJpbmcpCisgICBTZW5kIGRhdGEgdG8gdGhlIHBvc3RncmVzcWwgc2VydmVyIGFmdGVyIGlz c3VpbmcgYSBDT1BZIEZST00gU1RESU4uICovCitzdGF0aWMgUEhQX01FVEhPRChQRE8sIHBn c3FsUHV0Q29weURhdGEpCit7CisJcGRvX2RiaF90ICpkYmg7CisJcGRvX3Bnc3FsX2RiX2hh bmRsZSAqSDsKKwlpbnQgcmVzOworCWNoYXIgKmJ1ZmZlcjsKKwlpbnQgYnVmZmVybGVuOwor CisJaWYgKEZBSUxVUkUgPT0gemVuZF9wYXJzZV9wYXJhbWV0ZXJzKFpFTkRfTlVNX0FSR1Mo KSBUU1JNTFNfQ0MsICJzIiwKKwkJCQkmYnVmZmVyLCAmYnVmZmVybGVuKSkgeworCQlSRVRV Uk5fRkFMU0U7CisJfQorCisJZGJoID0gemVuZF9vYmplY3Rfc3RvcmVfZ2V0X29iamVjdChn ZXRUaGlzKCkgVFNSTUxTX0NDKTsKKwlQRE9fQ09OU1RSVUNUX0NIRUNLOworCisJSCA9IChw ZG9fcGdzcWxfZGJfaGFuZGxlICopZGJoLT5kcml2ZXJfZGF0YTsKKworCXJlcyA9IFBRcHV0 Q29weURhdGEoSC0+c2VydmVyLCBidWZmZXIsIGJ1ZmZlcmxlbik7CisKKwlpZiAocmVzID09 IDEpIHsKKwkJUkVUVVJOX1RSVUU7CisJfSBlbHNlIHsKKwkJcGRvX3Bnc3FsX2Vycm9yKGRi aCwgUEdSRVNfRkFUQUxfRVJST1IsICJIWTAwMCIpOworCX0KKwlSRVRVUk5fRkFMU0U7Cit9 CisvKiB9fX0gKi8KKworLyoge3t7IHByb3RvIGJvb2xlYW4gUERPOjpwZ3NxbFB1dENvcHlF bmQoKQorICAgRW5kIHNlbmRpbmcgZGF0YSB0byB0aGUgcG9zdGdyZXNxbCBzZXJ2ZXIgYWZ0 ZXIgaXNzdWluZyBhIENPUFkgRlJPTSBTVERJTi4gKi8KK3N0YXRpYyBQSFBfTUVUSE9EKFBE TywgcGdzcWxQdXRDb3B5RW5kKQoreworCXBkb19kYmhfdCAqZGJoOworCXBkb19wZ3NxbF9k Yl9oYW5kbGUgKkg7CisJaW50IHJlczsKKworCWRiaCA9IHplbmRfb2JqZWN0X3N0b3JlX2dl dF9vYmplY3QoZ2V0VGhpcygpIFRTUk1MU19DQyk7CisJUERPX0NPTlNUUlVDVF9DSEVDSzsK KworCUggPSAocGRvX3Bnc3FsX2RiX2hhbmRsZSAqKWRiaC0+ZHJpdmVyX2RhdGE7CisKKwly ZXMgPSBQUXB1dENvcHlFbmQoSC0+c2VydmVyLCBOVUxMKTsKKworCWlmIChyZXMgPT0gMSkg eworCQlSRVRVUk5fVFJVRTsKKwl9IGVsc2UgeworCQlwZG9fcGdzcWxfZXJyb3IoZGJoLCBQ R1JFU19GQVRBTF9FUlJPUiwgIkhZMDAwIik7CisJfQorCVJFVFVSTl9GQUxTRTsKK30KKy8q IH19fSAqLworCiBzdGF0aWMgY29uc3QgemVuZF9mdW5jdGlvbl9lbnRyeSBkYmhfbWV0aG9k c1tdID0gewogCVBIUF9NRShQRE8sIHBnc3FsTE9CQ3JlYXRlLCBOVUxMLCBaRU5EX0FDQ19Q VUJMSUMpCiAJUEhQX01FKFBETywgcGdzcWxMT0JPcGVuLCBOVUxMLCBaRU5EX0FDQ19QVUJM SUMpCiAJUEhQX01FKFBETywgcGdzcWxMT0JVbmxpbmssIE5VTEwsIFpFTkRfQUNDX1BVQkxJ QykKKwlQSFBfTUUoUERPLCBwZ3NxbEdldENvcHlEYXRhLCBOVUxMLCBaRU5EX0FDQ19QVUJM SUMpCisJUEhQX01FKFBETywgcGdzcWxQdXRDb3B5RGF0YSwgTlVMTCwgWkVORF9BQ0NfUFVC TElDKQorCVBIUF9NRShQRE8sIHBnc3FsUHV0Q29weUVuZCwgTlVMTCwgWkVORF9BQ0NfUFVC TElDKQogCXtOVUxMLCBOVUxMLCBOVUxMfQogfTsKIApJbmRleDogZXh0L3Bkb19wZ3NxbC9w Z3NxbF9zdGF0ZW1lbnQuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBleHQvcGRvX3Bnc3FsL3Bnc3Fs X3N0YXRlbWVudC5jCShyZXZpc2lvbiAyOTAzNTkpCisrKyBleHQvcGRvX3Bnc3FsL3Bnc3Fs X3N0YXRlbWVudC5jCSh3b3JraW5nIGNvcHkpCkBAIC0yMTUsNyArMjE1LDcgQEAKIAl9CiAJ c3RhdHVzID0gUFFyZXN1bHRTdGF0dXMoUy0+cmVzdWx0KTsKIAotCWlmIChzdGF0dXMgIT0g UEdSRVNfQ09NTUFORF9PSyAmJiBzdGF0dXMgIT0gUEdSRVNfVFVQTEVTX09LKSB7CisJaWYg KHN0YXR1cyAhPSBQR1JFU19DT01NQU5EX09LICYmIHN0YXR1cyAhPSBQR1JFU19UVVBMRVNf T0sgJiYgc3RhdHVzICE9IFBHUkVTX0NPUFlfT1VUICYmIHN0YXR1cyAhPSBQR1JFU19DT1BZ X0lOKSB7CiAJCXBkb19wZ3NxbF9lcnJvcl9zdG10KHN0bXQsIHN0YXR1cywgcGRvX3Bnc3Fs X3NxbHN0YXRlKFMtPnJlc3VsdCkpOwogCQlyZXR1cm4gMDsKIAl9CkBAIC0yMjgsNyArMjI4 LDcgQEAKIAlpZiAoc3RhdHVzID09IFBHUkVTX0NPTU1BTkRfT0spIHsKIAkJc3RtdC0+cm93 X2NvdW50ID0gKGxvbmcpYXRvaShQUWNtZFR1cGxlcyhTLT5yZXN1bHQpKTsKIAkJSC0+cGdv aWQgPSBQUW9pZFZhbHVlKFMtPnJlc3VsdCk7Ci0JfSBlbHNlIHsKKwl9IGVsc2UgaWYgKHN0 YXR1cyA9PSBQR1JFU19UVVBMRVNfT0spIHsKIAkJc3RtdC0+cm93X2NvdW50ID0gKGxvbmcp UFFudHVwbGVzKFMtPnJlc3VsdCk7CiAJfQogCkBAIC00MjMsNiArNDIzLDExIEBACiAJCiAJ aWYgKCFTLT5yZXN1bHQpIHsKIAkJcmV0dXJuIDA7CisJfSBlbHNlIHsKKwkJRXhlY1N0YXR1 c1R5cGUgc3RhdHVzID0gUFFyZXN1bHRTdGF0dXMoUy0+cmVzdWx0KTsKKwkJaWYgKHN0YXR1 cyAhPSBQR1JFU19DT01NQU5EX09LICYmIHN0YXR1cyAhPSBQR1JFU19UVVBMRVNfT0spIHsK KwkJCXJldHVybiAwOworCQl9CiAJfQogCiAJY29sc1tjb2xub10ubmFtZSA9IGVzdHJkdXAo UFFmbmFtZShTLT5yZXN1bHQsIGNvbG5vKSk7Cg== --------------040902030201030709070608--