uw                                       Fri, 02 Sep 2011 10:38:51 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=316033

Log:
As of MySQL 5.6.1 the server variable have_innodb is no more. Updating InnoDB 
check...

Changed paths:
    U   php/php-src/branches/PHP_5_3/ext/mysqli/tests/014.phpt
    U   php/php-src/branches/PHP_5_3/ext/mysqli/tests/015.phpt
    U   php/php-src/branches/PHP_5_3/ext/mysqli/tests/connect.inc
    U   php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_autocommit.phpt
    U   php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_autocommit_oo.phpt
    U   
php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_change_user_rollback.phpt
    U   php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_commit.phpt
    U   php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_commit_oo.phpt
    U   php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_fork.phpt
    U   php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_rollback.phpt
    U   php/php-src/branches/PHP_5_4/ext/mysqli/tests/014.phpt
    U   php/php-src/branches/PHP_5_4/ext/mysqli/tests/015.phpt
    U   php/php-src/branches/PHP_5_4/ext/mysqli/tests/connect.inc
    U   php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_autocommit.phpt
    U   php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_autocommit_oo.phpt
    U   
php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_change_user_rollback.phpt
    U   php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_commit.phpt
    U   php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_commit_oo.phpt
    U   php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_fork.phpt
    U   php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_rollback.phpt
    U   php/php-src/trunk/ext/mysqli/tests/014.phpt
    U   php/php-src/trunk/ext/mysqli/tests/015.phpt
    U   php/php-src/trunk/ext/mysqli/tests/connect.inc
    U   php/php-src/trunk/ext/mysqli/tests/mysqli_autocommit.phpt
    U   php/php-src/trunk/ext/mysqli/tests/mysqli_autocommit_oo.phpt
    U   php/php-src/trunk/ext/mysqli/tests/mysqli_change_user_rollback.phpt
    U   php/php-src/trunk/ext/mysqli/tests/mysqli_commit.phpt
    U   php/php-src/trunk/ext/mysqli/tests/mysqli_commit_oo.phpt
    U   php/php-src/trunk/ext/mysqli/tests/mysqli_fork.phpt
    U   php/php-src/trunk/ext/mysqli/tests/mysqli_rollback.phpt

Modified: php/php-src/branches/PHP_5_3/ext/mysqli/tests/014.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqli/tests/014.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/tests/014.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -5,19 +5,13 @@
 	require_once('skipif.inc');
 	require_once('skipifconnectfailure.inc');
 	require_once("connect.inc");
+
 	$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket);
-	if (!$result = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'")) {
-		die("skip Cannot check for required InnoDB suppot");
-	}
-	if (!$row = mysqli_fetch_row($result))
-		die("skip Cannot check for required InnoDB suppot");
+	if (!$link)
+		die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-	mysqli_free_result($result);
-	mysqli_close($link);
-	if ($row[1] == "DISABLED" || $row[1] == "NO") {
-		printf ("skip innodb support is not installed or enabled.");
-		exit;
-	}
+	if (!have_innodb($link))
+		die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_3/ext/mysqli/tests/015.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqli/tests/015.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/tests/015.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -4,17 +4,13 @@
 <?php
 	require_once('skipif.inc');
 	require_once('skipifconnectfailure.inc');
-	require_once("connect.inc");
-	$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket);
-	$result = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'");
-	$row = mysqli_fetch_row($result);
-	mysqli_free_result($result);
-	mysqli_close($link);

-	if ($row[1] == "DISABLED" || $row[1] == "NO") {
-		printf ("skip innodb support is not installed or enabled.");
-		exit;
-	}
+	require_once('connect.inc');
+	if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+		die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));
+
+	if (!have_innodb($link))
+		die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_3/ext/mysqli/tests/connect.inc
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqli/tests/connect.inc	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/tests/connect.inc	2011-09-02 10:38:51 UTC (rev 316033)
@@ -222,7 +222,47 @@
 			return $charsets;
 		}

+		function have_innodb($link) {
+		  if ($res = $link->query("SHOW VARIABLES LIKE 'have_innodb'") &&
+				$row = $res->fetch_row() &&
+				!empty($row)) {
+				if ($row[1] == "DISABLED" || $row[1] == "NO") {
+					return false;
+				}
+				return true;
+		  } else {
+				/* MySQL 5.6.1+ */
+				if ($res = $link->query("SHOW ENGINES")) {
+					while ($row = $res->fetch_assoc()) {
+						if (('InnoDB' == $row['Engine']) && ('YES' == $row['Support'])) {
+							return true;
+						}
+					}
+					return false;
+				} else {
+					return false;
+				}
+		  }
+		  return false;
+		}
+
 	} else {
 		printf("skip Eeeek/BUG/FIXME - connect.inc included twice! skipif bug?\n");
 	}
-?>
\ No newline at end of file
+
+	function handle_catchable_fatal($errno, $error, $file, $line) {
+		static $errcodes = array();
+		if (empty($errcodes)) {
+			$constants = get_defined_constants();
+			foreach ($constants as $name => $value) {
+				if (substr($name, 0, 2) == "E_")
+					$errcodes[$value] = $name;
+			}
+		}
+		printf("[%s] %s in %s on line %s\n",
+			(isset($errcodes[$errno])) ? $errcodes[$errno] : $errno,
+			 $error, $file, $line);
+
+		return true;
+	}
+?>

Modified: php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_autocommit.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_autocommit.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_autocommit.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -12,17 +12,8 @@
 			$host, $user, $db, $port, $socket));
 	}

-	if (!$result = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'")) {
-		die("skip Cannot check for required InnoDB suppot");
-	}
-	if (!$row = mysqli_fetch_row($result))
-		die("skip Cannot check for required InnoDB suppot");
-
-	mysqli_free_result($result);
-	mysqli_close($link);
-	if ($row[1] == "DISABLED" || $row[1] == "NO") {
-		die(sprintf ("skip innodb support is not installed or enabled."));
-	}
+	if (!have_innodb($link))
+		die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_autocommit_oo.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_autocommit_oo.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_autocommit_oo.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -13,19 +13,8 @@
 		exit(1);
 	}

-	if (!$res = $mysqli->query("SHOW VARIABLES LIKE 'have_innodb'")) {
-		printf("skip Cannot fetch have_innodb variable\n");
-		exit(1);
-	}
-
-	$row = $res->fetch_row();
-	$res->free_result();
-	$mysqli->close();
-
-	if ($row[1] == "DISABLED" || $row[1] == "NO") {
-		printf ("skip Innodb support is not installed or enabled.");
-		exit(1);
-	}
+	if (!have_innodb($link))
+		die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_change_user_rollback.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_change_user_rollback.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_change_user_rollback.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -6,16 +6,11 @@
 require_once('skipifemb.inc');
 require_once('skipifconnectfailure.inc');
 require_once('connect.inc');
-$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket);
-$result = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'");
-$row = mysqli_fetch_row($result);
-mysqli_free_result($result);
-mysqli_close($link);
+if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+	die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-if ($row[1] == "DISABLED" || $row[1] == "NO") {
-	printf ("skip innodb support is not installed or enabled.");
-	exit;
-}
+if (!have_innodb($link))
+	die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_commit.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_commit.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_commit.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -6,22 +6,12 @@
 require_once('skipifemb.inc');
 require_once('skipifconnectfailure.inc');

-if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
-	die(sprintf("skip Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
-		$host, $user, $db, $port, $socket));
-}
+require_once('connect.inc');
+if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+	die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-if (!$res = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'")) {
-	die(sprintf("skip Cannot fetch have_innodb variable\n"));
-}
-
-$row = mysqli_fetch_row($res);
-mysqli_free_result($res);
-mysqli_close($link);
-
-if ($row[1] == "DISABLED" || $row[1] == "NO") {
-	die(sprintf ("skip Innodb support is not installed or enabled."));
-}
+if (!have_innodb($link))
+	die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_commit_oo.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_commit_oo.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_commit_oo.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -5,22 +5,13 @@
 require_once('skipif.inc');
 require_once('skipifemb.inc');
 require_once('skipifconnectfailure.inc');
-if (!$mysqli = new my_mysqli($host, $user, $passwd, $db, $port, $socket)) {
-	die(sprintf("skip Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
-		$host, $user, $db, $port, $socket));
-}

-if (!$res = $mysqli->query("SHOW VARIABLES LIKE 'have_innodb'")) {
-	die(sprintf("skip Cannot fetch have_innodb variable\n"));
-}
+require_once('connect.inc');
+if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+	die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-$row = $res->fetch_row();
-$res->free();
-$mysqli->close();
-
-if ($row[1] == "DISABLED" || $row[1] == "NO") {
-	die(sprintf("skip Innodb support is not installed or enabled."));
-}
+if (!have_innodb($link))
+	die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_fork.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_fork.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_fork.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -13,22 +13,11 @@
 	die("skip POSIX functions not available");

 require_once('connect.inc');
-if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
-	die(sprintf("skip Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
-		$host, $user, $db, $port, $socket));
-}
+if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+	die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-if (!$res = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'")) {
-	die(sprintf("skip Cannot fetch have_innodb variable\n"));
-}
-
-$row = mysqli_fetch_row($res);
-mysqli_free_result($res);
-mysqli_close($link);
-
-if ($row[1] == "DISABLED" || $row[1] == "NO") {
-	die(sprintf ("skip Innodb support is not installed or enabled."));
-}
+if (!have_innodb($link))
+	die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_rollback.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_rollback.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_rollback.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -9,23 +9,11 @@
 	require_once('skipifconnectfailure.inc');

 	require_once('connect.inc');
+	if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+		die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-	if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
-		die(sprintf("skip Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
-			$host, $user, $db, $port, $socket));
-	}
-
-	if (!$res = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'")) {
-		die(sprintf("skip Cannot fetch have_innodb variable\n"));
-	}
-
-	$row = mysqli_fetch_row($res);
-	mysqli_free_result($res);
-	mysqli_close($link);
-
-	if ($row[1] == "DISABLED" || $row[1] == "NO") {
-		die(sprintf("skip Innodb support is not installed or enabled."));
-	}
+	if (!have_innodb($link))
+		die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_4/ext/mysqli/tests/014.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/mysqli/tests/014.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_4/ext/mysqli/tests/014.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -5,19 +5,13 @@
 	require_once('skipif.inc');
 	require_once('skipifconnectfailure.inc');
 	require_once("connect.inc");
+
 	$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket);
-	if (!$result = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'")) {
-		die("skip Cannot check for required InnoDB suppot");
-	}
-	if (!$row = mysqli_fetch_row($result))
-		die("skip Cannot check for required InnoDB suppot");
+	if (!$link)
+		die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-	mysqli_free_result($result);
-	mysqli_close($link);
-	if ($row[1] == "DISABLED" || $row[1] == "NO") {
-		printf ("skip innodb support is not installed or enabled.");
-		exit;
-	}
+	if (!have_innodb($link))
+		die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_4/ext/mysqli/tests/015.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/mysqli/tests/015.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_4/ext/mysqli/tests/015.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -4,17 +4,13 @@
 <?php
 	require_once('skipif.inc');
 	require_once('skipifconnectfailure.inc');
-	require_once("connect.inc");
-	$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket);
-	$result = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'");
-	$row = mysqli_fetch_row($result);
-	mysqli_free_result($result);
-	mysqli_close($link);

-	if ($row[1] == "DISABLED" || $row[1] == "NO") {
-		printf ("skip innodb support is not installed or enabled.");
-		exit;
-	}
+	require_once('connect.inc');
+	if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+		die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));
+
+	if (!have_innodb($link))
+		die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_4/ext/mysqli/tests/connect.inc
===================================================================
--- php/php-src/branches/PHP_5_4/ext/mysqli/tests/connect.inc	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_4/ext/mysqli/tests/connect.inc	2011-09-02 10:38:51 UTC (rev 316033)
@@ -222,6 +222,30 @@
 			return $charsets;
 		}

+		function have_innodb($link) {
+		  if ($res = $link->query("SHOW VARIABLES LIKE 'have_innodb'") &&
+				$row = $res->fetch_row() &&
+				!empty($row)) {
+				if ($row[1] == "DISABLED" || $row[1] == "NO") {
+					return false;
+				}
+				return true;
+		  } else {
+				/* MySQL 5.6.1+ */
+				if ($res = $link->query("SHOW ENGINES")) {
+					while ($row = $res->fetch_assoc()) {
+						if (('InnoDB' == $row['Engine']) && ('YES' == $row['Support'])) {
+							return true;
+						}
+					}
+					return false;
+				} else {
+					return false;
+				}
+		  }
+		  return false;
+		}
+
 	} else {
 		printf("skip Eeeek/BUG/FIXME - connect.inc included twice! skipif bug?\n");
 	}

Modified: php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_autocommit.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_autocommit.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_autocommit.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -12,17 +12,8 @@
 			$host, $user, $db, $port, $socket));
 	}

-	if (!$result = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'")) {
-		die("skip Cannot check for required InnoDB suppot");
-	}
-	if (!$row = mysqli_fetch_row($result))
-		die("skip Cannot check for required InnoDB suppot");
-
-	mysqli_free_result($result);
-	mysqli_close($link);
-	if ($row[1] == "DISABLED" || $row[1] == "NO") {
-		die(sprintf ("skip innodb support is not installed or enabled."));
-	}
+	if (!have_innodb($link))
+		die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_autocommit_oo.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_autocommit_oo.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_autocommit_oo.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -13,19 +13,8 @@
 		exit(1);
 	}

-	if (!$res = $mysqli->query("SHOW VARIABLES LIKE 'have_innodb'")) {
-		printf("skip Cannot fetch have_innodb variable\n");
-		exit(1);
-	}
-
-	$row = $res->fetch_row();
-	$res->free_result();
-	$mysqli->close();
-
-	if ($row[1] == "DISABLED" || $row[1] == "NO") {
-		printf ("skip Innodb support is not installed or enabled.");
-		exit(1);
-	}
+	if (!have_innodb($link))
+		die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_change_user_rollback.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_change_user_rollback.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_change_user_rollback.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -6,16 +6,11 @@
 require_once('skipifemb.inc');
 require_once('skipifconnectfailure.inc');
 require_once('connect.inc');
-$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket);
-$result = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'");
-$row = mysqli_fetch_row($result);
-mysqli_free_result($result);
-mysqli_close($link);
+if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+	die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-if ($row[1] == "DISABLED" || $row[1] == "NO") {
-	printf ("skip innodb support is not installed or enabled.");
-	exit;
-}
+if (!have_innodb($link))
+	die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_commit.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_commit.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_commit.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -6,22 +6,12 @@
 require_once('skipifemb.inc');
 require_once('skipifconnectfailure.inc');

-if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
-	die(sprintf("skip Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
-		$host, $user, $db, $port, $socket));
-}
+require_once('connect.inc');
+if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+	die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-if (!$res = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'")) {
-	die(sprintf("skip Cannot fetch have_innodb variable\n"));
-}
-
-$row = mysqli_fetch_row($res);
-mysqli_free_result($res);
-mysqli_close($link);
-
-if ($row[1] == "DISABLED" || $row[1] == "NO") {
-	die(sprintf ("skip Innodb support is not installed or enabled."));
-}
+if (!have_innodb($link))
+	die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_commit_oo.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_commit_oo.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_commit_oo.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -5,22 +5,13 @@
 require_once('skipif.inc');
 require_once('skipifemb.inc');
 require_once('skipifconnectfailure.inc');
-if (!$mysqli = new my_mysqli($host, $user, $passwd, $db, $port, $socket)) {
-	die(sprintf("skip Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
-		$host, $user, $db, $port, $socket));
-}

-if (!$res = $mysqli->query("SHOW VARIABLES LIKE 'have_innodb'")) {
-	die(sprintf("skip Cannot fetch have_innodb variable\n"));
-}
+require_once('connect.inc');
+if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+	die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-$row = $res->fetch_row();
-$res->free();
-$mysqli->close();
-
-if ($row[1] == "DISABLED" || $row[1] == "NO") {
-	die(sprintf("skip Innodb support is not installed or enabled."));
-}
+if (!have_innodb($link))
+	die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_fork.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_fork.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_fork.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -13,22 +13,11 @@
 	die("skip POSIX functions not available");

 require_once('connect.inc');
-if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
-	die(sprintf("skip Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
-		$host, $user, $db, $port, $socket));
-}
+if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+	die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-if (!$res = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'")) {
-	die(sprintf("skip Cannot fetch have_innodb variable\n"));
-}
-
-$row = mysqli_fetch_row($res);
-mysqli_free_result($res);
-mysqli_close($link);
-
-if ($row[1] == "DISABLED" || $row[1] == "NO") {
-	die(sprintf ("skip Innodb support is not installed or enabled."));
-}
+if (!have_innodb($link))
+	die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_rollback.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_rollback.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/branches/PHP_5_4/ext/mysqli/tests/mysqli_rollback.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -9,23 +9,11 @@
 	require_once('skipifconnectfailure.inc');

 	require_once('connect.inc');
+	if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+		die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-	if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
-		die(sprintf("skip Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
-			$host, $user, $db, $port, $socket));
-	}
-
-	if (!$res = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'")) {
-		die(sprintf("skip Cannot fetch have_innodb variable\n"));
-	}
-
-	$row = mysqli_fetch_row($res);
-	mysqli_free_result($res);
-	mysqli_close($link);
-
-	if ($row[1] == "DISABLED" || $row[1] == "NO") {
-		die(sprintf("skip Innodb support is not installed or enabled."));
-	}
+	if (!have_innodb($link))
+		die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/trunk/ext/mysqli/tests/014.phpt
===================================================================
--- php/php-src/trunk/ext/mysqli/tests/014.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/trunk/ext/mysqli/tests/014.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -5,19 +5,13 @@
 	require_once('skipif.inc');
 	require_once('skipifconnectfailure.inc');
 	require_once("connect.inc");
+
 	$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket);
-	if (!$result = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'")) {
-		die("skip Cannot check for required InnoDB suppot");
-	}
-	if (!$row = mysqli_fetch_row($result))
-		die("skip Cannot check for required InnoDB suppot");
+	if (!$link)
+		die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-	mysqli_free_result($result);
-	mysqli_close($link);
-	if ($row[1] == "DISABLED" || $row[1] == "NO") {
-		printf ("skip innodb support is not installed or enabled.");
-		exit;
-	}
+	if (!have_innodb($link))
+		die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/trunk/ext/mysqli/tests/015.phpt
===================================================================
--- php/php-src/trunk/ext/mysqli/tests/015.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/trunk/ext/mysqli/tests/015.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -4,17 +4,13 @@
 <?php
 	require_once('skipif.inc');
 	require_once('skipifconnectfailure.inc');
-	require_once("connect.inc");
-	$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket);
-	$result = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'");
-	$row = mysqli_fetch_row($result);
-	mysqli_free_result($result);
-	mysqli_close($link);

-	if ($row[1] == "DISABLED" || $row[1] == "NO") {
-		printf ("skip innodb support is not installed or enabled.");
-		exit;
-	}
+	require_once('connect.inc');
+	if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+		die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));
+
+	if (!have_innodb($link))
+		die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/trunk/ext/mysqli/tests/connect.inc
===================================================================
--- php/php-src/trunk/ext/mysqli/tests/connect.inc	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/trunk/ext/mysqli/tests/connect.inc	2011-09-02 10:38:51 UTC (rev 316033)
@@ -222,6 +222,30 @@
 			return $charsets;
 		}

+		function have_innodb($link) {
+		  if ($res = $link->query("SHOW VARIABLES LIKE 'have_innodb'") &&
+				$row = $res->fetch_row() &&
+				!empty($row)) {
+				if ($row[1] == "DISABLED" || $row[1] == "NO") {
+					return false;
+				}
+				return true;
+		  } else {
+				/* MySQL 5.6.1+ */
+				if ($res = $link->query("SHOW ENGINES")) {
+					while ($row = $res->fetch_assoc()) {
+						if (('InnoDB' == $row['Engine']) && ('YES' == $row['Support'])) {
+							return true;
+						}
+					}
+					return false;
+				} else {
+					return false;
+				}
+		  }
+		  return false;
+		}
+
 	} else {
 		printf("skip Eeeek/BUG/FIXME - connect.inc included twice! skipif bug?\n");
 	}

Modified: php/php-src/trunk/ext/mysqli/tests/mysqli_autocommit.phpt
===================================================================
--- php/php-src/trunk/ext/mysqli/tests/mysqli_autocommit.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/trunk/ext/mysqli/tests/mysqli_autocommit.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -12,17 +12,8 @@
 			$host, $user, $db, $port, $socket));
 	}

-	if (!$result = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'")) {
-		die("skip Cannot check for required InnoDB suppot");
-	}
-	if (!$row = mysqli_fetch_row($result))
-		die("skip Cannot check for required InnoDB suppot");
-
-	mysqli_free_result($result);
-	mysqli_close($link);
-	if ($row[1] == "DISABLED" || $row[1] == "NO") {
-		die(sprintf ("skip innodb support is not installed or enabled."));
-	}
+	if (!have_innodb($link))
+		die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/trunk/ext/mysqli/tests/mysqli_autocommit_oo.phpt
===================================================================
--- php/php-src/trunk/ext/mysqli/tests/mysqli_autocommit_oo.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/trunk/ext/mysqli/tests/mysqli_autocommit_oo.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -13,19 +13,8 @@
 		exit(1);
 	}

-	if (!$res = $mysqli->query("SHOW VARIABLES LIKE 'have_innodb'")) {
-		printf("skip Cannot fetch have_innodb variable\n");
-		exit(1);
-	}
-
-	$row = $res->fetch_row();
-	$res->free_result();
-	$mysqli->close();
-
-	if ($row[1] == "DISABLED" || $row[1] == "NO") {
-		printf ("skip Innodb support is not installed or enabled.");
-		exit(1);
-	}
+	if (!have_innodb($link))
+		die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/trunk/ext/mysqli/tests/mysqli_change_user_rollback.phpt
===================================================================
--- php/php-src/trunk/ext/mysqli/tests/mysqli_change_user_rollback.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/trunk/ext/mysqli/tests/mysqli_change_user_rollback.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -6,16 +6,11 @@
 require_once('skipifemb.inc');
 require_once('skipifconnectfailure.inc');
 require_once('connect.inc');
-$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket);
-$result = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'");
-$row = mysqli_fetch_row($result);
-mysqli_free_result($result);
-mysqli_close($link);
+if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+	die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-if ($row[1] == "DISABLED" || $row[1] == "NO") {
-	printf ("skip innodb support is not installed or enabled.");
-	exit;
-}
+if (!have_innodb($link))
+	die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/trunk/ext/mysqli/tests/mysqli_commit.phpt
===================================================================
--- php/php-src/trunk/ext/mysqli/tests/mysqli_commit.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/trunk/ext/mysqli/tests/mysqli_commit.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -6,22 +6,12 @@
 require_once('skipifemb.inc');
 require_once('skipifconnectfailure.inc');

-if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
-	die(sprintf("skip Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
-		$host, $user, $db, $port, $socket));
-}
+require_once('connect.inc');
+if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+	die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-if (!$res = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'")) {
-	die(sprintf("skip Cannot fetch have_innodb variable\n"));
-}
-
-$row = mysqli_fetch_row($res);
-mysqli_free_result($res);
-mysqli_close($link);
-
-if ($row[1] == "DISABLED" || $row[1] == "NO") {
-	die(sprintf ("skip Innodb support is not installed or enabled."));
-}
+if (!have_innodb($link))
+	die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/trunk/ext/mysqli/tests/mysqli_commit_oo.phpt
===================================================================
--- php/php-src/trunk/ext/mysqli/tests/mysqli_commit_oo.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/trunk/ext/mysqli/tests/mysqli_commit_oo.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -5,22 +5,13 @@
 require_once('skipif.inc');
 require_once('skipifemb.inc');
 require_once('skipifconnectfailure.inc');
-if (!$mysqli = new my_mysqli($host, $user, $passwd, $db, $port, $socket)) {
-	die(sprintf("skip Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
-		$host, $user, $db, $port, $socket));
-}

-if (!$res = $mysqli->query("SHOW VARIABLES LIKE 'have_innodb'")) {
-	die(sprintf("skip Cannot fetch have_innodb variable\n"));
-}
+require_once('connect.inc');
+if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+	die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-$row = $res->fetch_row();
-$res->free();
-$mysqli->close();
-
-if ($row[1] == "DISABLED" || $row[1] == "NO") {
-	die(sprintf("skip Innodb support is not installed or enabled."));
-}
+if (!have_innodb($link))
+	die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/trunk/ext/mysqli/tests/mysqli_fork.phpt
===================================================================
--- php/php-src/trunk/ext/mysqli/tests/mysqli_fork.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/trunk/ext/mysqli/tests/mysqli_fork.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -13,22 +13,11 @@
 	die("skip POSIX functions not available");

 require_once('connect.inc');
-if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
-	die(sprintf("skip Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
-		$host, $user, $db, $port, $socket));
-}
+if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+	die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-if (!$res = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'")) {
-	die(sprintf("skip Cannot fetch have_innodb variable\n"));
-}
-
-$row = mysqli_fetch_row($res);
-mysqli_free_result($res);
-mysqli_close($link);
-
-if ($row[1] == "DISABLED" || $row[1] == "NO") {
-	die(sprintf ("skip Innodb support is not installed or enabled."));
-}
+if (!have_innodb($link))
+	die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php

Modified: php/php-src/trunk/ext/mysqli/tests/mysqli_rollback.phpt
===================================================================
--- php/php-src/trunk/ext/mysqli/tests/mysqli_rollback.phpt	2011-09-02 10:13:30 UTC (rev 316032)
+++ php/php-src/trunk/ext/mysqli/tests/mysqli_rollback.phpt	2011-09-02 10:38:51 UTC (rev 316033)
@@ -9,23 +9,11 @@
 	require_once('skipifconnectfailure.inc');

 	require_once('connect.inc');
+	if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+		die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));

-	if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
-		die(sprintf("skip Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
-			$host, $user, $db, $port, $socket));
-	}
-
-	if (!$res = mysqli_query($link, "SHOW VARIABLES LIKE 'have_innodb'")) {
-		die(sprintf("skip Cannot fetch have_innodb variable\n"));
-	}
-
-	$row = mysqli_fetch_row($res);
-	mysqli_free_result($res);
-	mysqli_close($link);
-
-	if ($row[1] == "DISABLED" || $row[1] == "NO") {
-		die(sprintf("skip Innodb support is not installed or enabled."));
-	}
+	if (!have_innodb($link))
+		die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
 ?>
 --FILE--
 <?php
-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to