Commit Graph

250 Commits

Author SHA1 Message Date
Ulf Wendel
5ed0015f62 mysqli won't accept empty string for socket, skip test of mysqli.default_socket if test run does not use socket 2009-11-04 16:56:32 +00:00
Ulf Wendel
4a95aa3989 Fix for bug #49965 . Let mysqli_options() try to cast option values to the appropriate type. 2009-11-03 14:56:04 +00:00
Ulf Wendel
00654b8a06 Fixing stats, updating test to accept new stats 2009-10-22 16:05:33 +00:00
Ulf Wendel
d356459971 There subtle differences between Linux and Win. mysqlnd is a bit more verbose on Win... silencing to make the test pass 2009-10-21 18:57:45 +00:00
Ulf Wendel
8df115c25e Making test a bit more portable 2009-10-20 17:54:57 +00:00
Ulf Wendel
03c3c1edb3 Fixing test 2009-10-20 17:03:32 +00:00
Ulf Wendel
3258a6572d libmysql is still 'buggy' - skip test with libmysql 2009-10-20 14:11:43 +00:00
Ulf Wendel
3fb67347ea Well, hacking around to cope with mysql version specific behaviour if using libmysql... 2009-10-20 13:58:57 +00:00
Ulf Wendel
87a4f09cbf Skipping tests if InnoDB is available but disabled. I wonder what InnoDB status comes next... 2009-10-20 12:41:58 +00:00
Ulf Wendel
57c1b63c2d Fixing typo in SKIPIF and partly skipping tests if using remote MySQL because LOAD LOCAL INFILE will fail 2009-10-20 12:31:04 +00:00
Ulf Wendel
eb0e09f5dc Using require[_once] instead of include. Adding logic to connect.inc to detect multiple inclusions of connect.inc which leads to a Fatal error because of my_mysqli_connect() function redefinition. Some tests did include connect.inc twice -> run-tests - even the one from trunk - did not detect Fatal error in SKIPIF -> false-positive test result... 2009-10-19 20:07:25 +00:00
Ulf Wendel
344d6803ec mysqlnd is a bit more verbose than libmysql - silence mysqlnd here for easier comparison of test results. 2009-10-19 16:07:10 +00:00
Ulf Wendel
f610cdd9a2 MySQL server and metadata - a sad story... trying to make the test pass with a few more server versions 2009-10-19 12:55:11 +00:00
Ulf Wendel
d01d398bad Fixing host info for TCP/IP and aligning mysqlnd and libmysql 2009-10-19 12:09:48 +00:00
Ulf Wendel
3eeaf566e0 Extending mysqlnd statistics/monitoring. Now counting COM_* commands. 2009-10-16 13:02:01 +00:00
Ulf Wendel
ab4670ee53 Fixing problems when calling connect (again and again) on a valid connection handle. Most of the patch comes from Andrey. 2009-10-15 15:49:40 +00:00
Ulf Wendel
5cb8e9b22a Updating test because of http://news.php.net/php.cvs/60561 2009-10-01 08:56:28 +00:00
Ulf Wendel
e56e60c3a0 Fixing test 2009-09-29 16:37:50 +00:00
Ulf Wendel
91315a9307 Fixing test 2009-09-28 10:42:36 +00:00
Ulf Wendel
8621a06eed Trying to respect time limit to please Andrey who must be using slooow hardware... 2009-09-25 13:21:44 +00:00
Andrey Hristov
3828ca158e Fix mysqli_stmt_attr_set in libmysql mode.
mysql_stmt_attr_set returns my_bool instead of int.
If it was int, then 0 is success and !0 is failure, but
for my_bool 0 (FALSE) is failure and !0 is success.
2009-09-25 12:25:54 +00:00
Ulf Wendel
bd69506171 Large package to check how compression handles package queues. 2009-09-25 10:56:17 +00:00
Ulf Wendel
a5e4c6f795 Replacing MYSQL_TEST_COMPRESS env var with more generic MYSQL_TEST_CONNECT_FLAGS to be able to test all connection flags. Fixing some test. 2009-09-25 10:54:16 +00:00
Ulf Wendel
c01b505a44 Proxying as many connect calls as possible to make testing of the compression protocol @ mysqlnd easier. By setting the environment variable MYSQL_TEST_COMPRESS you can tell the tests to set the MYSQLI_CLIENT_COMPRESS flag upon connect. 2009-09-24 12:51:03 +00:00
Ulf Wendel
7b50b0794d Fixing test 2009-09-24 09:40:24 +00:00
Ulf Wendel
057a62fc52 Coverage for the OO variants of some functions 2009-09-24 08:19:56 +00:00
Ulf Wendel
75d415efbe Fixing test 2009-09-22 08:42:44 +00:00
Ulf Wendel
77f44b7926 Fixing test. There is nothing we can do about the MySQL Client Library allocate huge 4GB buffers for some SQL types. 2009-09-22 07:11:50 +00:00
Ulf Wendel
5c67cdf62b Fixing test. Can't wait to see the new run-tests materialize for detecting skip section parse errors. 2009-09-22 06:59:04 +00:00
Ulf Wendel
6ef632d129 Fixing test 2009-09-21 15:59:22 +00:00
Ulf Wendel
e94d475ad0 Fixing test 2009-09-21 15:24:47 +00:00
Ulf Wendel
e4f41b1f9f Moving test code around to get test failures down without testing less. Users of the MySQL Client Lib should always call stmt_bind_result after execute - not before. 2009-09-21 14:20:05 +00:00
Ulf Wendel
9afd024715 Fixing test by calling it a known limit. We keept the test failing as a reminder to think about how to handle BIT(32) and up but none of us has an idea. Thinks work fine up to BIT(31) - the limitation should be documented. 2009-09-21 12:02:30 +00:00
Ulf Wendel
47b209a3cd Fixing test 2009-09-21 11:54:15 +00:00
Ulf Wendel
dc1e7d6d6d Not nice but neither the MySQL Client Library not mysqlnd are supposed to detect invalid flags. Therefore: fixing test 2009-09-21 10:16:44 +00:00
Ulf Wendel
1a3b7774e6 Fixing mysqli_result_references_mysqlnd.php 2009-09-21 10:06:13 +00:00
Ulf Wendel
a0a8c5832f Fixing mysqli_get_client_stats.phpt. More testing for MYSQLI_INIT_COMMAND 2009-09-21 09:35:23 +00:00
Ulf Wendel
025e670f54 Fixing test: references has to be collected even if the users disables the collection of statistics. It is needed for memory management. 2009-09-21 08:59:00 +00:00
Ulf Wendel
a77ee71cf0 Fixing test - the standard test table will not accept NULL values for column id 2009-09-21 08:36:14 +00:00
Andrey Hristov
967239727e MFH:Fix for bug#48909 Segmentation fault in mysqli_stmt_execute 2009-09-18 14:33:08 +00:00
Ulf Wendel
1388912ded better coverage for mysqli_info 2009-09-17 07:11:25 +00:00
Ulf Wendel
e6cf6693e6 Fix (by Andrey) and test for bug #49442 . Don't use efree() for memory allocated with malloc()... If a connection gets created by mysqli_init(), mysqlnd makes it 'persistent'. 'Persistent' means that mysqlnd uses malloc(). mysqlnd does use malloc() instead of ealloc() because it is unknown if the connection will become a true persistent connection in the sense of ext/mysqli. It is unknown if the user wants a persistent connection or not until the user calls mysqli_real_connect(). To avoid tricky conversions mysqlnd uses malloc(), which sets a private persistent flag in the mysqlnd structures. A precondition for the crash to happen was that the private persistent flag is set. The flag is also set when creating a real persistent connection (in the sense of ext/mysqli) and so the bug can happen with mysql_init()/mysqli_real_connect() and mysql_connect('p:<host>', ...). Therefore we test both cases. Note the (tricky?) difference between the implementation detail'mysqlnd private persistent flag = use malloc()' and persistent connections from a user perspective. Although mysqlnd will always set its private persistent flag and use malloc() for connections created with mysqli_init() it is still up to the user to decide in mysqli_real_connect() if the connection shall become a (true) persistent connection or not. 2009-09-16 17:03:44 +00:00
Ulf Wendel
20005db2a0 Fix and tests for bug #49511 . mysqlnd and the MySQL Client Library (libmysql) use different networking APIs. mysqlnd does use PHP streams whereas libmysql uses its own wrapper of the operating level network calls. PHP sets by default a read timeout of 60s for streams - php.ini, default_socket_timeout. This default applies to all streams that set no other timeout value. mysqlnd has not set any other value and therefore it connections of long running queries can have been cut off after default_socket_timeout seconds resulting in a 2006 - MySQL Server has gone away error message. The MySQL Client Library sets a default timeout of 365 * 24 * 3600 seconds (1year) and waits for other timeouts to happen, e.g. TCP/IP timeouts. mysqlnd now uses the same very long timeout. The value is configurable through a new php.ini setting: mysqlnd.net_read_timeout. mysqlnd.net_read_timeout gets used by any extension (ext/mysql, ext/mysqli, PDO_MySQL) that uses mysqlnd. mysqlnd tells PHP Streams to use mysqlnd.net_read_timeout. Please note that there may be subtle differences between MYSQL_OPT_READ_TIMEOUT from the MySQL Client Library and PHP Streams. E.g. MYSQL_OPT_READ_TIMEOUT is documented to work only for TCP/IP connections and, prior to MySQL 5.1.2, only for Windows. PHP streams may not have this limitation. Please check the streams documentation, if in doubt. 2009-09-16 15:00:54 +00:00
Ulf Wendel
617b4e9bd1 Fix for bug #49357 (MySQLi extension fails to recognize POINT (spatial) colums).
Do yourself a favour and use mysqlnd. mysqlnd has no isuses here.

If you insist on using the MySQL Client Library (libmysql) I strongly recommend to use mysqli_stmt_store_result() when fetching geometry data using prepared statements. When streaming data, which is the default for prepared statements, ext/mysqli will have to make a guess on the size of the result buffer it needs. The guess is based on a length reported by the MySQL CLient Library (libmysql). The MySQL Client Library reports 4GB (!) for a POINT - a conservative and safe guess. Consequently, ext/mysqli will try to allocate 4GB of RAM. The true (maximum) size of the column is not available before buffering the result on the client using mysqli_stmt_store_result(). If you call mysqli_stmt_store_result(), the result buffers will not get bigger than needed. However, store_result()/buffering is usually not what you want when you ask for prepared statements.
2009-09-11 13:38:47 +00:00
Ulf Wendel
c4c11fd38a Fixing a crash which must have existed since PHP 5.0. At least the crash can be reproduced with PHP 5.0.6. The crash happens only when using the MySQL Client Library (libmysql) - it does not happen
when using mysqlnd.
2009-09-11 12:16:56 +00:00
Ulf Wendel
416ff5872d Andrey fixed the bug but the test was somewhat borked. Fixing test. 2009-09-09 18:31:00 +00:00
Ulf Wendel
f51e935e96 Tests for http://bugs.php.net/bug.php?id=49357 (libmysql only) . The simple fix suggested in the bug system is not good enough, therefore no fix yet. 2009-09-09 17:10:29 +00:00
Andrey Hristov
67c7a37d9b Fixed bug #49027 (mysqli_options() doesn't work when using mysqlnd) 2009-08-27 13:16:39 +00:00
Andrey Hristov
43d33e8a99 Fix for bug#46614 Extended MySQLi class gives incorrect empty() result 2009-08-27 12:41:14 +00:00
Jani Taskinen
10a7066591 - Fix test 2009-07-30 10:53:04 +00:00