Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:100810 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 11011 invoked from network); 2 Oct 2017 21:49:05 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 2 Oct 2017 21:49:05 -0000 Authentication-Results: pb1.pair.com header.from=php@bohwaz.net; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=php@bohwaz.net; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain bohwaz.net designates 5.135.163.151 as permitted sender) X-PHP-List-Original-Sender: php@bohwaz.net X-Host-Fingerprint: 5.135.163.151 sanguine.kd2.org Received: from [5.135.163.151] ([5.135.163.151:55802] helo=mail.kd2.org) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 93/FD-34435-D44B2D95 for ; Mon, 02 Oct 2017 17:49:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bohwaz.net; s=mail; h=Message-ID:References:In-Reply-To:Cc:From:Date:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:To; bh=vgVg33v4gJIBAORr+/l6/y33PGTwUYzz8X0N9RWGDr4=; b=Nu8YUUfmwSyZDabjXf2OzAV7wX76At5oaX6D5XQBPRZkKh8/8mhjwczY0BK3lAzbXNqe4ukN7hxFwIzfcJwcpFRgilfhgTAEsVcd/pX+ELmjmf6bW20yyCmuXSBo4Obja30Kv2BPbHUlL7dYr2QjyEtiv8xaKe5QXecdoh7z1qE=; Received: from narragoon by mail.kd2.org with local (Exim 4.84_2) (envelope-from ) id 1dz8aA-0002fv-2P; Mon, 02 Oct 2017 23:48:58 +0200 To: Lester Caine X-PHP-Originating-Script: 0:rcube.php MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Tue, 03 Oct 2017 10:48:57 +1300 Cc: internals@lists.php.net In-Reply-To: References: <25903b1e0fc5a726e44b1e3a5ab4aec4@bohwaz.net> <0607d622-caa9-ae1d-33db-1958a0ff0500@gmx.de> <20171001185540.5e572e58@platypus> Message-ID: <209262d743236c86c8d66972922fba13@bohwaz.net> X-Sender: php@bohwaz.net User-Agent: Roundcube Webmail/1.1.5 Subject: Re: [PHP-DEV] Re: [RFC] [Discussion] Implement SQLite "openBlob" feature in PDO From: php@bohwaz.net (BohwaZ/PHP) > On 02/10/17 01:48, BohwaZ/PHP wrote: >> So for me the use case is quite different here, and openBlob allows >> stuff that PDO::PARAM_LOB with bindColumn and bindParam cannot allow >> currently. In conclusion openBlob is still useful as it allows >> accessing >> a BLOB outside of a statement and allows to read and write at the same >> time without having to load the blob in memory. > > This is where the limitations of some of the other database engines > come > into play. In many cases in shared hosting, the database is provided on > another machine, so one has to transfer the data results between > machines and do not have direct access to the data. PDO can't emulate > this function so the question is still SHOULD something that can't be > made generically functional be allowed in PDO. Personally I would > prefer > that for this sort of action the generic driver was used used rather > than PDO and I have to do that for other functions in other databases > currently anyway. So one does not have to overload PDO with more checks > as to if your code will work on the different drivers. I don't agree with that. You might want to be able to use a generic abstraction layer such as PDO to offer support for multiple database engines without having to create your own abstraction layer with every specific database extension (that would be huge work) but still be able to access driver-specific features if available. This is why I am pushing for PDO to be feature-full, so that you have the choice to use PDO and not have to implement your own abstraction layer just because you need one specific feature in one single case :) If you follow your logic, then PDO::sqliteCreateFunction shouldn't exist, and this would make the PDO sqlite driver pretty much useless as SQLite is missing a number of important functions.