- 27 May, 2020 1 commit
-
-
Grégoire Paris authored
-
- 04 May, 2020 1 commit
-
-
Grégoire Paris authored
-
- 15 Apr, 2020 1 commit
-
-
Grégoire Paris authored
-
- 30 Mar, 2020 1 commit
-
-
Luís Cobucci authored
By either defining their types or renaming to match parent class (or interface).
-
- 29 Mar, 2020 1 commit
-
-
Luís Cobucci authored
-
- 17 Mar, 2019 2 commits
-
-
Ahmed Abdou authored
-
Ahmed Abdou authored
-
- 03 Feb, 2019 1 commit
-
-
Sergei Morozov authored
-
- 29 Jan, 2019 1 commit
-
-
Sergei Morozov authored
-
- 22 Jan, 2019 1 commit
-
-
Sergei Morozov authored
-
- 20 Jan, 2019 1 commit
-
-
Sergei Morozov authored
-
- 02 Oct, 2018 4 commits
-
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
- 27 Sep, 2018 1 commit
-
-
Matthias Pigulla authored
The blob type maps BLOB (and also TEXT) columns to PHP streams. Internally, they use the ParameterType::LARGE_OBJECT (i. e. \PDO::PARAM_LOB) binding type, which suggests that efficient handling of PHP stream resources was intended. However, at least when using the mysqli driver, stream resources passed into insert() or update() are simply cast to strings. As a result, a literal string like "Resource id #126" will end up in the database. This PR fixes the issue by correctly processing streams in the MysqliStatement when they are passed with the ParameterType::LARGE_OBJECT binding type. It uses the mysqli::send_long_data() method to pass stream data in chunks to the MySQL server, thus keeping the memory footprint low. This method does not (despite claims to the contrary) allow to bypass the max_allowed_package size! The pdo_mysql driver was already capable of handling streams this way. Now this is covered by tests. Helpful documentation: - http://php.net/manual/en/mysqli-stmt.send-long-data.php - http://php.net/manual/en/mysqli-stmt.bind-param.php - see first "Note" - http://php.net/manual/en/pdo.lobs.php - https://blogs.oracle.com/oswald/phps-mysqli-extension:-storing-and-retrieving-blobs Additional notes on MySQL's max_allowed_packet: This change does not not intend to work around the max_allowed_packet setting, and quick tests show that this is not possible: When MySQL is configured to use a low max_allowed_packet value, an error will be triggered stating Parameter of prepared statement which is set through mysql_send_long_data() is longer than 'max_allowed_packet' bytes. Documentation for the underlying mysql_stmt_send_long_data() C API function suggests that max_allowed_packet is always a hard limit. References: - https://dev.mysql.com/doc/refman/8.0/en/mysql-stmt-send-long-data.html - https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_allowed_packet - https://bugs.mysql.com/bug.php?id=83958 What mysqli::send_long_data() seems to do is that every data chunk of data passed to it is immediately sent out to the network. I have confirmed this using tcpdump, and so the advantage might be that we can keep the memory footprint low on the PHP side while processing streams.
-
- 12 Sep, 2018 1 commit
-
-
Matthias Pigulla authored
As discussed in #3217 (see https://github.com/doctrine/dbal/pull/3217#issuecomment-419673323 in particular), there is no way in MySQL to get around the `max_allowed_packet` limitation.
-
- 16 Aug, 2018 1 commit
-
-
Sergei Morozov authored
-
- 01 Jul, 2018 1 commit
-
-
Vladimir Reznichenko authored
-
- 27 Jun, 2018 1 commit
-
-
Michael Moravec authored
-
- 19 May, 2018 1 commit
-
-
Sergei Morozov authored
-
- 01 Apr, 2018 1 commit
-
-
Michael Moravec authored
-
- 29 Jan, 2018 3 commits
-
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Gabriel Caruso authored
-
- 07 Jan, 2018 1 commit
-
-
Sergei Morozov authored
Fixes #2953.
-
- 03 Jan, 2018 1 commit
-
-
Gabriel Caruso authored
-
- 07 Dec, 2017 1 commit
-
-
Gabriel Caruso authored
-
- 19 Nov, 2017 2 commits
-
-
belgattitude authored
-
Nathan Tolbert authored
-
- 15 Sep, 2017 1 commit
-
-
Ian Jenkins authored
-
- 14 Sep, 2017 5 commits
-
-
Ian Jenkins authored
statements in a rewindable iterator. Skipped the test for iterating multiple times with a message regarding that iterators are non rewindable.
-
Ian Jenkins authored
Only added to mysqli for now, can add to other drivers (assuming they support reseting the pointer in some way) after feedback.
-
Ian Jenkins authored
-
Ian Jenkins authored
I don't really understand the mysqli driver too much and the changes break the tests so undo using an iterator for this particular driver.
-
Ian Jenkins authored
Allows result sets to be iterated over without running out of memory on large data sets.
-
- 13 Jun, 2017 1 commit
-
-
Alessandro Minoccheri authored
-
- 06 Jun, 2017 1 commit
-
-
Javier Spagnoletti authored
-
- 29 Apr, 2017 1 commit
-
-
Piotr Różański authored
-
- 01 Feb, 2017 1 commit
-
-
Pau authored
The current driver has no option to allow the usage of SSL connections on mysql. I've used the same name params as mysql client. An example of mysql client usage would be: mysql --ssl-ca='path_to_ca.pem' --ssl-cert='path_to_client_cert.pem' --ssl-key='path_to_client_key.pem' refactor secure connection as params remove space add space refactor secure connection rename method rename method docs: add ssl params to use in mysqli driver rename test method refactor method setSecureConnection fix bug add comment to method remove string escaping
-