Annotation of embedaddon/php/ext/pdo_pgsql/tests/is_in_transaction.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: PDO PgSQL isInTransaction
                      3: --SKIPIF--
                      4: <?php # vim:se ft=php:
                      5: if (!extension_loaded('pdo') || !extension_loaded('pdo_pgsql')) die('skip not loaded');
                      6: require dirname(__FILE__) . '/config.inc';
                      7: require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
                      8: PDOTest::skip();
                      9: ?>
                     10: --FILE--
                     11: <?php
                     12: require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
                     13: $db = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt');
                     14: $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                     15: $db->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
                     16: 
                     17: $db->exec('CREATE TABLE test (a integer not null primary key, b text)');
                     18: 
                     19: $db->beginTransaction();
                     20: try {
                     21: echo "Test PDO::PGSQL_TRANSACTION_INTRANS\n";
                     22: var_dump($db->inTransaction());
                     23: 
                     24: $stmt = $db->prepare("INSERT INTO test (a, b) values (?, ?)");
                     25: $stmt->bindValue(1, 1);
                     26: $stmt->bindValue(2, "test insert");
                     27: $stmt->execute();
                     28: 
                     29: $db->commit();
                     30: 
                     31: echo "Test PDO::PGSQL_TRANSACTION_IDLE\n";
                     32: var_dump($db->inTransaction());
                     33: 
                     34: $db->beginTransaction();
                     35: 
                     36: try {
                     37: $stmt = $db->prepare("INSERT INTO test (a, b) values (?, ?)");
                     38: $stmt->bindValue(1, "error");
                     39: $stmt->bindValue(2, "test insert");
                     40: $stmt->execute();
                     41: } catch (Exception $e) {
                     42:        /* We catch the exception because the execute will give error and we must test the PDO::PGSQL_TRANSACTION_ERROR */
                     43:        echo "Test PDO::PGSQL_TRANSACTION_INERROR\n";
                     44:        var_dump($db->inTransaction());
                     45:        $db->rollBack();
                     46: }
                     47: 
                     48: echo "Test PDO::PGSQL_TRANSACTION_IDLE\n";
                     49: var_dump($db->inTransaction());
                     50: 
                     51: } catch (Exception $e) {
                     52:        /* catch exceptions so that we can show the relative error */
                     53:        echo "Exception! at line ", $e->getLine(), "\n";
                     54:        var_dump($e->getMessage());
                     55: }
                     56: 
                     57: ?>
                     58: --EXPECT--
                     59: Test PDO::PGSQL_TRANSACTION_INTRANS
                     60: int(2)
                     61: Test PDO::PGSQL_TRANSACTION_IDLE
                     62: int(0)
                     63: Test PDO::PGSQL_TRANSACTION_INERROR
                     64: int(3)
                     65: Test PDO::PGSQL_TRANSACTION_IDLE
                     66: int(0)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>