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>