diff options
Diffstat (limited to 'ext/pdo_odbc/tests/bug80783a.phpt')
-rw-r--r-- | ext/pdo_odbc/tests/bug80783a.phpt | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/ext/pdo_odbc/tests/bug80783a.phpt b/ext/pdo_odbc/tests/bug80783a.phpt new file mode 100644 index 0000000000..f9e123ae54 --- /dev/null +++ b/ext/pdo_odbc/tests/bug80783a.phpt @@ -0,0 +1,33 @@ +--TEST-- +Bug #80783 (PDO ODBC truncates BLOB records at every 256th byte) +--SKIPIF-- +<?php +if (!extension_loaded('pdo_odbc')) die('skip pdo_odbc extension not available'); +require 'ext/pdo/tests/pdo_test.inc'; +PDOTest::skip(); +?> +--FILE-- +<?php +require 'ext/pdo/tests/pdo_test.inc'; +$db = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt'); +$db->exec("CREATE TABLE bug80783a (name NVARCHAR(MAX))"); + +$string = str_repeat("0123456789", 50); +$db->exec("INSERT INTO bug80783a VALUES('$string')"); + +$stmt = $db->prepare("SELECT name FROM bug80783a"); +$stmt->setAttribute(PDO::ODBC_ATTR_ASSUME_UTF8, true); +$stmt->bindColumn(1, $data, PDO::PARAM_STR); +$stmt->execute(); +$stmt->fetch(PDO::FETCH_BOUND); + +var_dump($data === $string); +?> +--CLEAN-- +<?php +require 'ext/pdo/tests/pdo_test.inc'; +$db = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt'); +$db->exec("DROP TABLE bug80783a"); +?> +--EXPECT-- +bool(true) |