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

1.1       misho       1: --TEST--
                      2: PDO PgSQL Bug #64953 (Postgres prepared statement positional parameter casting)
                      3: --SKIPIF--
                      4: <?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: echo "Test\n";
                     13: 
                     14: require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
                     15: $pdo = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt');
                     16: $pdo->setAttribute (\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
                     17: 
                     18: echo "Taken from the bug report:\n";
                     19: 
                     20: $st = $pdo->prepare('SELECT ?::char as i');
                     21: $st->bindValue(1, '1');
                     22: $st->execute();
                     23: var_dump($st->fetch()); // return false
                     24: 
                     25: 
                     26: $st = $pdo->prepare('SELECT (?)::char as i');
                     27: $st->bindValue(1, '1');
                     28: $st->execute();
                     29: var_dump($st->fetch());  // return array(1) { ["i"]=> string(1) "1" }
                     30: 
                     31: echo "Something more nasty:\n";
                     32: 
                     33: $st = $pdo->prepare("SELECT :int::int as i");
                     34: $st->execute(array(":int" => 123));
                     35: var_dump($st->fetch());
                     36: 
                     37: $st = $pdo->prepare("SELECT '''?'''::text as \":text\"");
                     38: $st->execute();
                     39: var_dump($st->fetch());
                     40: 
                     41: ?>
                     42: Done
                     43: --EXPECT--
                     44: Test
                     45: Taken from the bug report:
                     46: array(2) {
                     47:   ["i"]=>
                     48:   string(1) "1"
                     49:   [0]=>
                     50:   string(1) "1"
                     51: }
                     52: array(2) {
                     53:   ["i"]=>
                     54:   string(1) "1"
                     55:   [0]=>
                     56:   string(1) "1"
                     57: }
                     58: Something more nasty:
                     59: array(2) {
                     60:   ["i"]=>
                     61:   string(3) "123"
                     62:   [0]=>
                     63:   string(3) "123"
                     64: }
                     65: array(2) {
                     66:   [":text"]=>
                     67:   string(3) "'?'"
                     68:   [0]=>
                     69:   string(3) "'?'"
                     70: }
                     71: Done

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