mirror of
https://github.com/php/pecl-database-mysql_xdevapi.git
synced 2026-04-29 18:03:11 +02:00
54 lines
1.2 KiB
PHP
54 lines
1.2 KiB
PHP
--TEST--
|
|
mysqlx basic transactions
|
|
--SKIPIF--
|
|
--INI--
|
|
error_reporting=0
|
|
--FILE--
|
|
<?php
|
|
require("connect.inc");
|
|
|
|
$session = create_test_db();
|
|
$schema = $session->getSchema($db);
|
|
$coll = $schema->getCollection("test_collection");
|
|
|
|
$session->startTransaction();
|
|
|
|
try{
|
|
fill_db_collection($coll);
|
|
$session->commit();
|
|
} catch( Exception $e ) {
|
|
test_step_failed();
|
|
}
|
|
|
|
$res = $coll->find()->execute();
|
|
expect_eq( count($res->fetchAll()), 16);
|
|
|
|
$session->startTransaction();
|
|
|
|
try{
|
|
$coll->add('{"_id":17, "name": "Massimo", "age": 32, "job": "Cavia"}')->execute();
|
|
$coll->add('{"_id":18, "name": "Carlo", "age": 47, "job": "Cavia"}')->execute();
|
|
$coll->add('{"_id":17, "name": "Leonardo", "age": 53, "job": "Cavia"}')->execute();
|
|
$session->commit();
|
|
test_step_failed(); //commit shall raise an exception!
|
|
} catch( Exception $e) {
|
|
expect_eq($e->getMessage(),
|
|
"[HY000] Couldn't fetch data");
|
|
expect_eq($e->getCode(), 10000);
|
|
$session->rollback();
|
|
}
|
|
|
|
$res = $coll->find()->execute();
|
|
expect_eq( count($res->fetchAll()), 16);
|
|
|
|
verify_expectations();
|
|
print "done!\n";
|
|
?>
|
|
--CLEAN--
|
|
<?php
|
|
require("connect.inc");
|
|
clean_test_db();
|
|
?>
|
|
--EXPECTF--
|
|
done!%A
|