Author: ahristov
Date: 2007-07-13 18:26:40 +0200 (Fri, 13 Jul 2007)
New Revision: 755
Modified:
trunk/mysqlnd/mysqlnd.c
trunk/php5/ext/mysqli/mysqli.c
trunk/php6/ext/mysqli/mysqli.c
trunk/tests/ext/mysqli/mysqli_options.phpt
Log:
Make test not to fail randomly.
Compile-out options which are not used by any
extension.
Modified: trunk/mysqlnd/mysqlnd.c
===================================================================
--- trunk/mysqlnd/mysqlnd.c 2007-07-13 16:00:52 UTC (rev 754)
+++ trunk/mysqlnd/mysqlnd.c 2007-07-13 16:26:40 UTC (rev 755)
@@ -1346,12 +1346,14 @@
case MYSQL_OPT_CONNECT_TIMEOUT:
conn->options.timeout_connect = *(uint*) value;
break;
+#ifdef WHEN_SUPPORTED_BY_MYSQLI
case MYSQL_OPT_READ_TIMEOUT:
conn->options.timeout_read = *(uint*) value;
break;
case MYSQL_OPT_WRITE_TIMEOUT:
conn->options.timeout_write = *(uint*) value;
break;
+#endif
case MYSQL_OPT_LOCAL_INFILE:
if (!value || (*(uint*) value) ? 1 : 0) {
conn->options.flags |= CLIENT_LOCAL_FILES;
@@ -1359,18 +1361,23 @@
conn->options.flags &= ~CLIENT_LOCAL_FILES;
}
break;
+#ifdef WHEN_SUPPORTED_BY_MYSQLI
case MYSQL_OPT_COMPRESS:
+#endif
case MYSQL_INIT_COMMAND:
case MYSQL_READ_DEFAULT_FILE:
case MYSQL_READ_DEFAULT_GROUP:
+#ifdef WHEN_SUPPORTED_BY_MYSQLI
case MYSQL_SET_CLIENT_IP:
case MYSQL_REPORT_DATA_TRUNCATION:
case MYSQL_OPT_SSL_VERIFY_SERVER_CERT:
+#endif
/* currently not supported. Todo!! */
break;
case MYSQL_SET_CHARSET_NAME:
conn->options.charset_name = pestrdup(value, conn->persistent);
break;
+#ifdef WHEN_SUPPORTED_BY_MYSQLI
case MYSQL_SET_CHARSET_DIR:
case MYSQL_OPT_RECONNECT:
case MYSQL_OPT_PROTOCOL:
@@ -1382,12 +1389,15 @@
case MYSQL_OPT_GUESS_CONNECTION:
/* todo: throw an error, we don't support embedded */
break;
+#endif
+#ifdef WHEN_SUPPORTED_BY_MYSQLI
case MYSQL_OPT_NAMED_PIPE:
case MYSQL_SHARED_MEMORY_BASE_NAME:
case MYSQL_OPT_USE_RESULT:
case MYSQL_SECURE_AUTH:
/* not sure, todo ? */
+#endif
default:
return FAIL;
}
Modified: trunk/php5/ext/mysqli/mysqli.c
===================================================================
--- trunk/php5/ext/mysqli/mysqli.c 2007-07-13 16:00:52 UTC (rev 754)
+++ trunk/php5/ext/mysqli/mysqli.c 2007-07-13 16:26:40 UTC (rev 755)
@@ -707,8 +707,8 @@
REGISTER_LONG_CONSTANT("MYSQLI_TYPE_BIT", FIELD_TYPE_BIT, CONST_CS | CONST_PERSISTENT);
#endif
+ REGISTER_LONG_CONSTANT("MYSQLI_SET_CHARSET_NAME", MYSQL_SET_CHARSET_NAME, CONST_CS |
CONST_PERSISTENT);
-
/* replication */
#if !defined(HAVE_MYSQLND)
REGISTER_LONG_CONSTANT("MYSQLI_RPL_MASTER", MYSQL_RPL_MASTER, CONST_CS |
CONST_PERSISTENT);
Modified: trunk/php6/ext/mysqli/mysqli.c
===================================================================
--- trunk/php6/ext/mysqli/mysqli.c 2007-07-13 16:00:52 UTC (rev 754)
+++ trunk/php6/ext/mysqli/mysqli.c 2007-07-13 16:26:40 UTC (rev 755)
@@ -715,8 +715,8 @@
REGISTER_LONG_CONSTANT("MYSQLI_TYPE_BIT", FIELD_TYPE_BIT, CONST_CS | CONST_PERSISTENT);
#endif
+ REGISTER_LONG_CONSTANT("MYSQLI_SET_CHARSET_NAME", MYSQL_SET_CHARSET_NAME, CONST_CS |
CONST_PERSISTENT);
-
/* replication */
#if !defined(HAVE_MYSQLND)
REGISTER_LONG_CONSTANT("MYSQLI_RPL_MASTER", MYSQL_RPL_MASTER, CONST_CS |
CONST_PERSISTENT);
Modified: trunk/tests/ext/mysqli/mysqli_options.phpt
===================================================================
--- trunk/tests/ext/mysqli/mysqli_options.phpt 2007-07-13 16:00:52 UTC (rev 754)
+++ trunk/tests/ext/mysqli/mysqli_options.phpt 2007-07-13 16:26:40 UTC (rev 755)
@@ -10,7 +10,8 @@
MYSQLI_OPT_CONNECT_TIMEOUT, MYSQLI_OPT_LOCAL_INFILE,
MYSQLI_INIT_COMMAND, MYSQLI_READ_DEFAULT_GROUP,
MYSQLI_READ_DEFAULT_FILE, MYSQLI_OPT_CONNECT_TIMEOUT,
- MYSQLI_OPT_LOCAL_INFILE, MYSQLI_INIT_COMMAND);
+ MYSQLI_OPT_LOCAL_INFILE, MYSQLI_INIT_COMMAND,
+ MYSQLI_SET_CHARSET_NAME);
if ($IS_MYSQLND && defined('MYSQLI_OPT_INT_AND_YEARS_AS_INT'))
$valid_options[] = constant('MYSQLI_OPT_INT_AND_YEARS_AS_INT');
@@ -58,11 +59,13 @@
!($tmp = mysqli_options($link,
constant('MYSQLI_OPT_NUMERIC_AND_DATETIME_AS_UNICODE'), true)))
printf("[006] Expecting boolean/true got %s/%s\n", gettype($tmp), $tmp);
- do {
- $flag = mt_rand(0, 1000);
- } while (in_array($flag, $valid_options));
-
- var_dump("SOME_FLAG", $flag, mysqli_options($link, $flag, 'definetely not an
mysqli_option'));
+ for ($flag = -10000; $flag < 10000; $flag++) {
+ if (in_array($flag, $valid_options))
+ continue;
+ if (FALSE !== ($tmp = mysqli_options($link, $flag, 'definetely not an mysqli_option')))
{
+ var_dump("SOME_FLAG", $flag, $tmp);
+ }
+ }
mysqli_close($link);
@@ -95,9 +98,6 @@
bool(true)
%s(17) "MYSQLI_CLIENT_SSL"
bool(false)
-%s(9) "SOME_FLAG"
-int(%d)
-bool(false)
Link closed
Warning: mysqli_options(): Couldn't fetch mysqli in %s line %d
%s(19) "MYSQLI_INIT_COMMAND"
| Thread |
|---|
| • PHP mysqlnd svn commit: r755 - in trunk: mysqlnd php5/ext/mysqli php6/ext/mysqli tests/ext/mysqli | ahristov | 13 Jul |