]> granicus.if.org Git - php/commit
New result fetching mode for mysqlnd, which should use less memory but
authorAndrey Hristov <andrey@php.net>
Thu, 10 Apr 2014 13:44:54 +0000 (16:44 +0300)
committerAndrey Hristov <andrey@php.net>
Thu, 10 Apr 2014 13:44:54 +0000 (16:44 +0300)
commit63791d055ad64762c3f63e08ca7ad8ba1f44e0ab
treecf93f62a6b9b2c0c85cf00b0094501fa8166d938
parent973f379efcb43887a83317482c7916004d1a2506
New result fetching mode for mysqlnd, which should use less memory but
implies more memory copy. The old method is still available and can be used.
It stays as default. Choosing the method is through a flag to mysqli_query()/mysqli_real_query()
New mode can be forced with an INI setting, for all extensions that support this mode
(ext/mysql and mysqli, because PDO due to it's architecture can't support it)
The setting is mysqlnd.fetch_data_copy=[0|1]
44 files changed:
ext/mysql/php_mysql.c
ext/mysqli/mysqli.c
ext/mysqli/mysqli_api.c
ext/mysqli/mysqli_fe.c
ext/mysqli/mysqli_nonapi.c
ext/mysqli/mysqli_priv.h
ext/mysqli/tests/bug66043.phpt
ext/mysqli/tests/bug66762.phpt
ext/mysqli/tests/mysqli_begin_transaction.phpt [new file with mode: 0644]
ext/mysqli/tests/mysqli_change_user.phpt
ext/mysqli/tests/mysqli_change_user_new.phpt [new file with mode: 0644]
ext/mysqli/tests/mysqli_change_user_old.phpt [new file with mode: 0644]
ext/mysqli/tests/mysqli_change_user_oo.phpt
ext/mysqli/tests/mysqli_class_mysqli_reflection.phpt
ext/mysqli/tests/mysqli_constants.phpt
ext/mysqli/tests/mysqli_fetch_all.phpt
ext/mysqli/tests/mysqli_fetch_lengths.phpt
ext/mysqli/tests/mysqli_poll.phpt
ext/mysqli/tests/mysqli_poll_kill.phpt
ext/mysqli/tests/mysqli_poll_mixing_insert_select.phpt
ext/mysqli/tests/mysqli_reap_async_query.phpt [new file with mode: 0644]
ext/mysqli/tests/mysqli_release_savepoint.phpt [new file with mode: 0644]
ext/mysqli/tests/mysqli_report.phpt
ext/mysqli/tests/mysqli_report_new.phpt [new file with mode: 0644]
ext/mysqli/tests/mysqli_report_wo_ps.phpt
ext/mysqli/tests/mysqli_savepoint.phpt [new file with mode: 0644]
ext/mysqli/tests/mysqli_stmt_get_warnings.phpt
ext/mysqli/tests/mysqli_store_result_buffered_c.phpt [new file with mode: 0644]
ext/mysqli/tests/mysqli_store_result_copy.phpt [new file with mode: 0644]
ext/mysqlnd/mysqlnd.c
ext/mysqlnd/mysqlnd.h
ext/mysqlnd/mysqlnd_enum_n_def.h
ext/mysqlnd/mysqlnd_ext_plugin.c
ext/mysqlnd/mysqlnd_ext_plugin.h
ext/mysqlnd/mysqlnd_ps.c
ext/mysqlnd/mysqlnd_result.c
ext/mysqlnd/mysqlnd_result.h
ext/mysqlnd/mysqlnd_reverse_api.c
ext/mysqlnd/mysqlnd_reverse_api.h
ext/mysqlnd/mysqlnd_structs.h
ext/mysqlnd/mysqlnd_wireprotocol.c
ext/mysqlnd/mysqlnd_wireprotocol.h
ext/mysqlnd/php_mysqlnd.c
ext/pdo_mysql/mysql_driver.c