Annotation of embedaddon/php/ext/pdo_pgsql/tests/bug64953.phpt, revision 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>