Repository navigation
[3.0] Handle failed prepare statements and oversized data in error logs - #9873
jdarwood007 wants to merge 1 commit into
Conversation
bf1ffc2 to
fc4521a
Compare
|
I tested this against an installed forum on both engines, by calling 1. The fallback to As written, the fallback also cannot work. It passes 2. 3.
I've opened #9882 as an alternative. It keeps to the prepared statement only and returns when the statement cannot be prepared. Before binding, it cleans the values: strings are cut with The loop described in #7831, where the connection dies after the first query, turned out not to be in |
fc4521a to
e910b5d
Compare
e910b5d to
eefb51a
Compare
|
I re-ran the same tests against the current head (eefb51a), on MySQL and PostgreSQL. Each message ran in a PHP process of its own, so that the new counter doesn't hide anything. 1. Only the first two errors of a request are logged.
2. Every error is lost when the prepare fails. The fallback still passes a single flat row to 3.
4. Invalid UTF-8 erases the message. #9882 avoids all four: there is no fallback and no counter, strings are cut with |
Fixes #7831