Annotation of embedaddon/php/ext/pdo/tests/bug_38253.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: PDO Common: Bug #38253 (PDO produces segfault with default fetch mode)
        !             3: --SKIPIF--
        !             4: <?php # vim:ft=php
        !             5: if (!extension_loaded('pdo')) die('skip');
        !             6: $dir = getenv('REDIR_TEST_DIR');
        !             7: if (false == $dir) die('skip no driver');
        !             8: require_once $dir . 'pdo_test.inc';
        !             9: PDOTest::skip();
        !            10: ?>
        !            11: --FILE--
        !            12: <?php
        !            13: if (getenv('REDIR_TEST_DIR') === false) putenv('REDIR_TEST_DIR='.dirname(__FILE__) . '/../../pdo/tests/');
        !            14: require_once getenv('REDIR_TEST_DIR') . 'pdo_test.inc';
        !            15: $pdo = PDOTest::factory();
        !            16: 
        !            17: $pdo->exec ("create table test (id integer primary key, n varchar(255))");
        !            18: $pdo->exec ("INSERT INTO test (id, n) VALUES (1, 'hi')");
        !            19: 
        !            20: $pdo->setAttribute (PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_CLASS);
        !            21: $stmt = $pdo->prepare ("SELECT * FROM test");
        !            22: $stmt->execute();
        !            23: var_dump($stmt->fetchAll());
        !            24: 
        !            25: $pdo = PDOTest::factory();
        !            26: 
        !            27: if ($pdo->getAttribute(PDO::ATTR_DRIVER_NAME) == 'oci') {
        !            28:     $type = "clob";
        !            29: } else{
        !            30:     $type = "text";
        !            31: }
        !            32: 
        !            33: $pdo->exec ("create table test2 (id integer primary key, n $type)");
        !            34: $pdo->exec ("INSERT INTO test2 (id, n) VALUES (1,'hi')");
        !            35: 
        !            36: $pdo->setAttribute (PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_FUNC);
        !            37: $stmt = $pdo->prepare ("SELECT * FROM test2");
        !            38: $stmt->execute();
        !            39: var_dump($stmt->fetchAll());
        !            40: 
        !            41: ?>
        !            42: --EXPECTF--
        !            43: Warning: PDOStatement::fetchAll(): SQLSTATE[HY000]: General error: No fetch class specified in %s on line %d
        !            44: 
        !            45: Warning: PDOStatement::fetchAll(): SQLSTATE[HY000]: General error%s on line %d
        !            46: array(0) {
        !            47: }
        !            48: 
        !            49: Warning: PDOStatement::fetchAll(): SQLSTATE[HY000]: General error: No fetch function specified in %s on line %d
        !            50: 
        !            51: Warning: PDOStatement::fetchAll(): SQLSTATE[HY000]: General error%s on line %d
        !            52: array(0) {
        !            53: }

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