used to return "" and not bool(false). It's not worth keeping it because
STR_FREE() and zval_dtor() always have to check for it and it slows down
the general case. In addition, it seems that empty_string has been abused
quite a lot, and was used not only for setting zval's but generally in
PHP code instead of "", which wasn't the intention. Last but not least,
nuking empty_string should improve stability as I doubt every place
correctly checked if they are not mistakenly erealloc()'ing it or
calling efree() on it.
NOTE: Some code is probably broken. Each extension maintainer should
check and see that my changes are OK. Also, I haven't had time to touch
PECL yet. Will try and do it tomorrow.
the original connection has been changed).
* Fixed a crash when trying to fetch an unbuffered result after
mysql_close() has been called.
* Added a check to make sure no unbuffered results are inside the buffer
when calling functions that internally execute a query. Affected functions
are: mysql_select_db(), mysql_list_dbs(), mysql_list_tables(),
mysql_list_processes(), mysql_list_fields(), mysql_stat() and mysql_ping().
* Do not re-select a database if the database to be selected is the same.
windows sockets. The winsock implementation will only work with sockets;
our implementation works with sockets and file descriptors.
By association, stream_select() will now operate correctly with files, pipes and sockets.
This change required linking against the winsock2 library. In terms of
compatibility, only older versions of windows 95 do not have winsock2
installed by default. It is available as a redistributable file, and is most likely installed by any OS patches (eg: Internet Explorer) applied by the user.
Also, add a win32 compatible pipe test when opening a stream from a pipe. This test will only work on NT, win2k and XP platforms. Without this test, interleaved fread() and select() calls would cause the read buffer to be clobbered. I will be working on a fix for this issue for win9x.
mysql_ping() as a more efficient alternative to using mysql_stat() to
check if the server is alive and then calling mysql_(real_)?connect() to
reconnect.
Simple tests of opening pconnects indicate that only about 10k of data per
ping needs to be returned to the client per connection check, rather than
about 110k per status check.
Major changes to _restore_connection_defaults
- added code block to finds and releases the active mysql result (if any)
- this should prevent the 'Commands out of sync' error that would be
raised when a query is made when unfreed results exist
Minor changes to _restore_connection_defaults
- replaced calls to mysql_real_query with mysql_query
- we probably should not be using mysql_real_query without checking to
see if we have a version that supports the function.
- given that we control the query strings here and do not need to
worry about binary safety, I am using mysql_query instead
- see the bug report for further discussion
#- This will remove the annoying notices, while this function is used in
# a lot of scripts. There is not reason why we should discontinue it's use
# as it works perfect for about 99% of the time.