List:Commits« Previous MessageNext Message »
From:uwendel Date:March 10 2008 10:38am
Subject:PHP mysqlnd svn commit: r1333 - trunk/tests/ext/pdo_mysql
View as plain text  
Author: uwendel
Date: 2008-03-10 11:38:17 +0100 (Mon, 10 Mar 2008)
New Revision: 1333

Added:
   trunk/tests/ext/pdo_mysql/pdo_mysql_stmt_nextrowset.phpt
Log:
Seems buggs, seems to be a bug on our side.


Added: trunk/tests/ext/pdo_mysql/pdo_mysql_stmt_nextrowset.phpt
===================================================================
--- trunk/tests/ext/pdo_mysql/pdo_mysql_stmt_nextrowset.phpt	                        (rev
0)
+++ trunk/tests/ext/pdo_mysql/pdo_mysql_stmt_nextrowset.phpt	2008-03-10 10:38:17 UTC (rev
1333)
@@ -0,0 +1,107 @@
+--TEST--
+MySQL PDOStatement->nextRowSet()
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('mysql_pdo_test.inc');
+MySQLPDOTest::skip();
+$db = MySQLPDOTest::factory();
+
+$row = $db->query('SELECT VERSION() as _version')->fetch(PDO::FETCH_ASSOC);
+$matches = array();
+if (!preg_match('/^(\d+)\.(\d+)\.(\d+)/ismU', $row['_version'], $matches))
+	die(sprintf("skip Cannot determine MySQL Server version\n"));
+
+$version = $matches[0] * 10000 + $matches[1] * 100 + $matches[2];
+if ($version < 50000)
+	die(sprintf("skip Need MySQL Server 5.0.0+, found %s.%s.%s (%d)\n",
+		$matches[0], $matches[1], $matches[2], $version);
+?>
+--FILE--
+<?php
+	require_once('mysql_pdo_test.inc');
+	$db = MySQLPDOTest::factory();
+	MySQLPDOTest::createTestTable($db);
+
+	$stmt = $db->query('SELECT id FROM test');
+	if (false !== ($tmp = $stmt->nextRowSet()))
+		printf("[002] Expecting false got %s\n", var_export($tmp, true));
+
+	// TODO: should give a warning, but its PDO, let's ignore the missing warning for now
+	if (false !== ($tmp = $stmt->nextRowSet(1)))
+		printf("[002] Expecting false got %s\n", var_export($tmp, true));
+
+	try {
+
+		$stmt = $db->query('SELECT @VERSION as _version');
+		$tmp = $stmt->fetch(PDO::FETCH_ASSOC);
+		assert($tmp['_version'] === NULL);
+
+		$db->exec('DROP PROCEDURE IF EXISTS p');
+		$db->exec('CREATE PROCEDURE p(OUT ver_param VARCHAR(25)) BEGIN SELECT VERSION() INTO
ver_param; END;');
+		$db->exec('CALL p(@VERSION)');
+		$stmt = $db->query('SELECT @VERSION as _version');
+		var_dump($stmt->fetchAll(PDO::FETCH_ASSOC));
+		var_dump($stmt->nextRowSet());
+
+		$db->exec('DROP PROCEDURE IF EXISTS p');
+		$db->exec('CREATE PROCEDURE p() BEGIN SELECT id FROM test ORDER BY id ASC LIMIT 3;
SELECT id FROM test ORDER BY id DESC LIMIT 3; END;');
+		$stmt = $db->query('CALL p()');
+		do {
+			var_dump($stmt->fetchAll(PDO::FETCH_ASSOC));
+		} while ($stmt->nextRowSet());
+		var_dump($stmt->nextRowSet());
+
+
+	} catch (PDOException $e) {
+		printf("[001] %s [%s] %s\n",
+			$e->getMessage(), $db->errorCode(), implode(' ', $db->errorInfo()));
+	}
+
+	print "done!";
+?>
+--EXPECTF--
+array(1) {
+  [0]=>
+  array(1) {
+    ["_version"]=>
+    string(%d) "%s"
+  }
+}
+bool(false)
+array(3) {
+  [0]=>
+  array(1) {
+    ["id"]=>
+    string(1) "1"
+  }
+  [1]=>
+  array(1) {
+    ["id"]=>
+    string(1) "2"
+  }
+  [2]=>
+  array(1) {
+    ["id"]=>
+    string(1) "3"
+  }
+}
+array(3) {
+  [0]=>
+  array(1) {
+    ["id"]=>
+    string(1) "3"
+  }
+  [1]=>
+  array(1) {
+    ["id"]=>
+    string(1) "2"
+  }
+  [2]=>
+  array(1) {
+    ["id"]=>
+    string(1) "1"
+  }
+}
+bool(false)
+done!
\ No newline at end of file

Thread
PHP mysqlnd svn commit: r1333 - trunk/tests/ext/pdo_mysqluwendel10 Mar