Re: [PECL-DEV] mysqlnd_qc (mysqlnd query cache) 1.0.1 with prepared statement support

[email protected] (Lukas Kahwe Smith) Tue, 13 Jul 2010 23:30:09 +0200
Newsgroups php.pdo
Message-ID <[email protected]>
On 13.07.2010, at 23:27, Ulf Wendel wrote:

> Lukas Kahwe Smith schrieb:
>> On 13.07.2010, at 21:16, Ulf Wendel wrote:
>>> Lukas Kahwe Smith schrieb:
>>>> On 13.07.2010, at 19:55, Ulf Wendel wrote:
>>>>> Lukas Kahwe Smith schrieb:
>>>>>> On 13.07.2010, at 19:26, Ulf Wendel wrote:
>>>>>>> Benjamin Eberlei schrieb:
>>>>>>>> Actually missing prepared statements and unbuffered queries =
were the
>>>>>>>> only issues I had with the Query Cache so far. Can i compile =
the Mysqlnd
>>>>>>>> + Query Cache PECL Trunk against 5.3.99-DEV only to test it?=20
>>>>>>> ... remember that PDO emulates prepared statements by default.
>>>>>> by default? since when?
>>>>> Since when does it not?
>>>>>=20
>>>> good question.
>>>> it certainly didnt in the beginning:
>>>> http://netevil.org/uuid/444a6017-0548-2459-2943-44a601714d58
>>>> as you can see the feature was added later on and had to be enabled =
manually.
>>> Well, a blog post... one would have to check the CVS log but I'm too =
lazy/tired... To add one "I recall and in this blog...", emulation =
should have been the default when we started adding mysqlnd support in =
mid 2008. Whenever...
>>>=20
>>> Question is if and when to disable the emulation default in favour =
of native PS. The answer may be a bit like with ext/mysql, it may be: =
fear the installed user base.
>> The documentation also only talks about emulation being used in case =
its not natively available. I have not looked at the source, but if =
indeed this has changed, then it ought to be documented and I am not =
sure I really like this change, especially in light of the rather crude =
and flaky parser used and the simplistic quoting logic used.
>=20
> You are not the first one to be surprised about the status quo and you =
are certainly an insider.
>=20
> Yes, the PDO emulation is not the most sophisticated one. But I don't =
need to tell you about the shortcomings of the MySQL server and the =
drawbacks of native prepared statements. Although PDO_MYSQL will =
fallback to non-prepared statements, if the server hints that a =
statement cannot be prepared this does not solve the issue with the =
MySQL (Server) Query Cache for many. Also, the extra round trip to find =
out that a statement cannot be prepared is not desired.
>=20
> It is not an easy decision. Especially for me who always yells about =
abusing PS for security...
>=20
> How to move forward: improve documentation?


ok moving the discussion to the pdo list.
i guess first up we need to confirm if this is a general default or just =
the mysql default and when this all changed.

regards,
Lukas Kahwe Smith
[email protected]