Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:117862 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 48716 invoked from network); 7 Jun 2022 06:31:33 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 7 Jun 2022 06:31:33 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 72426180384 for ; Tue, 7 Jun 2022 01:17:15 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS29838 64.147.123.0/24 X-Spam-Virus: No X-Envelope-From: Received: from wout3-smtp.messagingengine.com (wout3-smtp.messagingengine.com [64.147.123.19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 7 Jun 2022 01:17:14 -0700 (PDT) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 9883432009AB; Tue, 7 Jun 2022 04:17:12 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Tue, 07 Jun 2022 04:17:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=beccati.com; h= cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1654589832; x= 1654676232; bh=gAw3BO+oW1l7ztKM812/9VM+d9V/v9fHTmjK8scK9Gs=; b=0 VkjHp3lh1VnO/8eCr+qCCYGUk3PGnwSLSvgp99GDY184Zhgo0tO28Beox0BgyiLp jaEgxdJH3t8YehxR0AclQBYhd2Gb+mbda5f1wjh7faori8s8UNYexJAgkhrYxhYe tnuPD4jD4aXo7diTG+tKs3DJ8V37UVUbN6qQuWUBu8e57Map77jnNSS8nH49NaFM k0vY5OfN1lCIvKZWRIsaJY6yI8G2LjzMY/Aq3rkqicVkbxd6Dndt94NTGrfxRNjd HlJkxyyd4q/1Pz+PSgkTbpFR73QdUZOliuc/sy808jrzHnpoOY+DBjrehidThbmf BCzw/Y1dy5WAMjsP7it0w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:date:feedback-id:feedback-id:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; t=1654589832; x=1654676232; bh=g Aw3BO+oW1l7ztKM812/9VM+d9V/v9fHTmjK8scK9Gs=; b=SNlnBn1cktVfArusc 3ZJk+jtKn5N4FjRnoNBxSmrplvyped3hdHJPZClsW4DVBl6e8bCCmkimhJjV7Qq7 6bpc0Zuy34aZf1tZ2bcts2AKrhKD0Kl+l8DT8Ke5G01GCwaE2pjCLzfMzaKSHN2c bJSFppGVB9dFaE96CJo/pp78PRAiX5iEoEnpg4fo5iCmED7g4qHa5tNaKdqBL/5e gUXiI2d76WVY6hnoNPqPjvR0GkV3J8y2vgbtNo3wD3691UuD/3Z+IdvoqdW3tgo3 FlJ7WBJeMHq6M0G3+9qzeFaEPmd4nk+kGgOIbHzT4PYywQKSFFakBWQEG5vMtWmy Oc4Ng== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedruddthecutefuodetggdotefrodftvfcurf hrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug hrpefkffggfgfuvfhfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeforghtthgvohcu uegvtggtrghtihcuoehphhhpsegsvggttggrthhirdgtohhmqeenucggtffrrghtthgvrh hnpefgvdejieejkefgtdevvdduieehhffhfffhfeefvdeiffffgeevjeffueetieeifeen ucffohhmrghinhepvgigthgvrhhnrghlshdrihhopdgsvggttggrthhirdgtohhmnecuve hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepphhhphessggv tggtrghtihdrtghomh X-ME-Proxy: Feedback-ID: i6f4c46c2:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 7 Jun 2022 04:17:11 -0400 (EDT) Message-ID: <712d22c1-1409-d48d-9f83-c94c46ead578@beccati.com> Date: Tue, 7 Jun 2022 10:17:04 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0 Thunderbird/102.0 Content-Language: en-GB To: Dan Ackroyd , PHP internals References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] DB specific PDO subclasses questions. From: php@beccati.com (Matteo Beccati) Hi Dan, On 06/06/2022 21:15, Dan Ackroyd wrote: > Hi, > > I'm looking at making an RFC for subclassing PDO to expose database > specific methods in a less magic way, aka implementing what was > discussed here: https://externals.io/message/100773#100813 Oh, that was a long thread! Not sure what the RFC goal would be, but I'm happy to discuss :) > I have two questions for people who use the PDO with SQLite or Postgres > > 1. Are any of the functions that are specific to those databases > horribly designed and need changing? As the functions would be 'copied > across' from where they are now, changes could be made without having > horrible BC breaks. I will check, but... > That is, are any of these functions horrible to use: [snip] Not that I know of. > 2. Other than the SQLite blobOpen functionality, does anyone know of > any other functionality that is exposed by SQLite or Postgres that > isn't currently exposed through the magic PDO methods? ext/pgsql has plenty of low level functions, e.g. for connection management, more large-object functionality and has async functionalities. For various reasons, none of them seem a good fit for PDO to me: - connection management: a common interface would be best - large objects: mostly obsolete functionality, a PITA to work with - async: better to leave that for PDO2, PDO-ng or PDO++ ;-) Cheers -- Matteo Beccati Development & Consulting - http://www.beccati.com/