Annotation of embedaddon/php/ext/pdo_mysql/tests/bug_41997.phpt, revision 1.1.1.2

1.1       misho       1: --TEST--
                      2: PDO MySQL Bug #41997 (stored procedure call returning single rowset blocks future queries)
                      3: --SKIPIF--
                      4: <?php
1.1.1.2 ! misho       5: require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'skipif.inc');
        !             6: require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
        !             7: MySQLPDOTest::skip();
1.1       misho       8: 
1.1.1.2 ! misho       9: $db = MySQLPDOTest::factory();
1.1       misho      10: $row = $db->query('SELECT VERSION() as _version')->fetch(PDO::FETCH_ASSOC);
                     11: $matches = array();
                     12: if (!preg_match('/^(\d+)\.(\d+)\.(\d+)/ismU', $row['_version'], $matches))
                     13:        die(sprintf("skip Cannot determine MySQL Server version\n"));
                     14: 
                     15: $version = $matches[0] * 10000 + $matches[1] * 100 + $matches[2];
                     16: if ($version < 50000)
                     17:        die(sprintf("skip Need MySQL Server 5.0.0+, found %d.%02d.%02d (%d)\n",
                     18:                $matches[0], $matches[1], $matches[2], $version));
                     19: ?>
                     20: --FILE--
                     21: <?php
1.1.1.2 ! misho      22: require dirname(__FILE__) . '/mysql_pdo_test.inc';
        !            23: $db = MySQLPDOTest::factory();
1.1       misho      24: 
                     25: $db->exec('DROP PROCEDURE IF EXISTS p');
                     26: $db->exec('CREATE PROCEDURE p() BEGIN SELECT 1 AS "one"; END');
                     27: 
                     28: $stmt = $db->query("CALL p()");
                     29: do {
                     30:        var_dump($stmt->fetchAll(PDO::FETCH_ASSOC));
                     31: } while ($stmt->nextRowset());
                     32: var_dump($stmt->errorInfo());
                     33: 
                     34: $stmt = $db->query('SELECT 2 AS "two"');
                     35: var_dump($stmt->fetchAll(PDO::FETCH_ASSOC));
                     36: var_dump($stmt->errorInfo());
                     37: print "done!";
                     38: ?>
                     39: --EXPECTF--
                     40: array(1) {
                     41:   [0]=>
                     42:   array(1) {
                     43:     [%u|b%"one"]=>
                     44:     %unicode|string%(1) "1"
                     45:   }
                     46: }
                     47: array(3) {
                     48:   [0]=>
                     49:   %unicode|string%(5) "00000"
                     50:   [1]=>
                     51:   NULL
                     52:   [2]=>
                     53:   NULL
                     54: }
                     55: array(1) {
                     56:   [0]=>
                     57:   array(1) {
                     58:     [%u|b%"two"]=>
                     59:     %unicode|string%(1) "2"
                     60:   }
                     61: }
                     62: array(3) {
                     63:   [0]=>
                     64:   %unicode|string%(5) "00000"
                     65:   [1]=>
                     66:   NULL
                     67:   [2]=>
                     68:   NULL
                     69: }
                     70: done!

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