Author: uwendel
Date: 2008-01-08 16:47:11 +0100 (Tue, 08 Jan 2008)
New Revision: 1195
Modified:
trunk/tests/ext/pdo_mysql/pdo_mysql_commit.phpt
Log:
Nothing fancy, we have the "fancy" stuff in pdo_transaction_transitions.phpt and
pdo_mysql_begintransaction.phpt
Modified: trunk/tests/ext/pdo_mysql/pdo_mysql_commit.phpt
===================================================================
--- trunk/tests/ext/pdo_mysql/pdo_mysql_commit.phpt 2008-01-08 15:25:11 UTC (rev 1194)
+++ trunk/tests/ext/pdo_mysql/pdo_mysql_commit.phpt 2008-01-08 15:47:11 UTC (rev 1195)
@@ -28,6 +28,50 @@
$db->errorCode(), implode(' ', $db->errorInfo()));
}
+ // pdo_transaction_transitions should check this as well...
+ // ... just to be sure the most basic stuff really works we check it again...
+ if (1 !== ($tmp = $db->getAttribute(PDO::ATTR_AUTOCOMMIT)))
+ printf("[003] According to the manual we should be back to autocommit mode, got
%s/%s\n",
+ gettype($tmp), var_export($tmp, true));
+
+ if (true !== ($tmp = $db->beginTransaction()))
+ printf("[004] Expecting true, got %s/%s\n", gettype($tmp), $tmp);
+
+ $db->exec('INSERT INTO test(id, label) VALUES (100, "z")');
+
+ if (true !== ($tmp = $db->commit()))
+ printf("[005] No commit allowed? [%s] %s\n",
+ $db->errorCode(), implode(' ', $db->errorInfo()));
+
+ // a weak test without unicode etc. - lets leave that to dedicated tests
+ $stmt = $db->query('SELECT id, label FROM test WHERE id = 100');
+ $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ if (!isset($rows[0]['label']) || ($rows[0]['label'] != 'z')) {
+ printf("[006] Record data is strange, dumping rows\n");
+ var_dump($rows);
+ }
+
+ // Ok, lets check MyISAM resp. any other non-transactional engine
+ // pdo_mysql_begin_transaction has more on this, quick check only
+ $db = MySQLPDOTest::factory();
+ MySQLPDOTest::createTestTable($db, 'MyISAM');
+
+ if (true !== ($tmp = $db->beginTransaction()))
+ printf("[007] Expecting true, got %s/%s\n", gettype($tmp), $tmp);
+
+ $db->exec('INSERT INTO test(id, label) VALUES (100, "z")');
+ if (true !== ($tmp = $db->commit()))
+ printf("[008] No commit allowed? [%s] %s\n",
+ $db->errorCode(), implode(' ', $db->errorInfo()));
+
+ // a weak test without unicode etc. - lets leave that to dedicated tests
+ $stmt = $db->query('SELECT id, label FROM test WHERE id = 100');
+ $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ if (!isset($rows[0]['label']) || ($rows[0]['label'] != 'z')) {
+ printf("[009] Record data is strange, dumping rows\n");
+ var_dump($rows);
+ }
+
} catch (PDOException $e) {
printf("[002] %s, [%s] %s\n",
$e->getMessage(),
| Thread |
|---|
| • PHP mysqlnd svn commit: r1195 - trunk/tests/ext/pdo_mysql | uwendel | 8 Jan |