Annotation of embedaddon/php/ext/pdo_pgsql/tests/bug43925.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #43925 (Incorrect argument counter in prepared statements with pgsql)
! 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: require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
! 13: $dbh = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt');
! 14:
! 15: @$dbh->query('DROP TABLE nodes');
! 16:
! 17: $dbh->query('
! 18: CREATE TABLE nodes
! 19: (
! 20: id integer NOT NULL PRIMARY KEY
! 21: , root integer NOT NULL
! 22: , lft integer NOT NULL
! 23: , rgt integer NOT NULL
! 24: );');
! 25:
! 26: $dbh->query('INSERT INTO nodes (id, root, lft, rgt) VALUES (1, 1, 1, 6);');
! 27: $dbh->query('INSERT INTO nodes (id, root, lft, rgt) VALUES (2, 1, 2, 3);');
! 28: $dbh->query('INSERT INTO nodes (id, root, lft, rgt) VALUES (3, 1, 4, 5);');
! 29:
! 30:
! 31: $stmt = $dbh->prepare('
! 32: SELECT *
! 33: FROM nodes
! 34: WHERE (:rootId > 0 OR lft > :left OR rgt > :left)
! 35: AND (root = :rootId OR root = :left)
! 36: AND (1 > :left OR 1 < :left OR 1 = :left)
! 37: AND (:x > 0 OR :x < 10 OR :x > 100)
! 38: OR :y = 1 OR :left = 1
! 39: ');
! 40:
! 41: $stmt->bindValue('left', 1, PDO::PARAM_INT);
! 42: $stmt->bindValue('rootId', 3, PDO::PARAM_INT);
! 43: $stmt->bindValue('x', 5, PDO::PARAM_INT);
! 44: $stmt->bindValue('y', 50, PDO::PARAM_INT);
! 45:
! 46: $stmt->execute();
! 47:
! 48: foreach ($stmt->fetchAll() as $row) {
! 49: print implode(' - ', $row);
! 50: print "\n";
! 51: }
! 52:
! 53: $dbh->query('DROP TABLE nodes');
! 54:
! 55: ?>
! 56: --EXPECTF--
! 57: 1 - 1 - 1 - 1 - 1 - 1 - 6 - 6
! 58: 2 - 2 - 1 - 1 - 2 - 2 - 3 - 3
! 59: 3 - 3 - 1 - 1 - 4 - 4 - 5 - 5
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>