Added a new test and modify a non LOB sqlsrv test (#1000)
This commit is contained in:
parent
7c585c754e
commit
ec3a7a4437
78
test/functional/pdo_sqlsrv/pdo_test_non_LOB_types.phpt
Normal file
78
test/functional/pdo_sqlsrv/pdo_test_non_LOB_types.phpt
Normal file
|
@ -0,0 +1,78 @@
|
|||
--TEST--
|
||||
Test reading non LOB types
|
||||
--DESCRIPTION--
|
||||
A simpler version of sqlsrv test "test_sqlsrv_phptype_stream.phpt" for reading from
|
||||
pre-populated tables [test_streamable_types] and [test_types]
|
||||
--SKIPIF--
|
||||
<?php require('skipif_azure_dw.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
require('MsSetup.inc');
|
||||
|
||||
function verifyResult($result)
|
||||
{
|
||||
if (empty($result) || !is_array($result)) {
|
||||
echo "Result is empty or not an array!\n";
|
||||
return;
|
||||
}
|
||||
|
||||
$trimmedLen = 200;
|
||||
$fullLen = 256;
|
||||
$input = str_repeat('A', $trimmedLen);
|
||||
for ($i = 0; $i < count($result); $i++) {
|
||||
$expectedLen = ($i % 2 == 0) ? $fullLen : $trimmedLen;
|
||||
$len = strlen($result[$i]);
|
||||
if ($len != $expectedLen) {
|
||||
echo "String length $len for column ". $i + 1 . " is unexpected!\n";
|
||||
}
|
||||
|
||||
$data = rtrim($result[$i]);
|
||||
if ($data !== $input) {
|
||||
echo "Result for column ". $i + 1 . " is unexpected:";
|
||||
var_dump($result[$i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$conn = new PDO("sqlsrv:server=$server; Database = $databaseName", $uid, $pwd);
|
||||
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
|
||||
// test the allowed non LOB column types
|
||||
$tsql = "SELECT [char_short_type], [varchar_short_type], [nchar_short_type], [nvarchar_short_type], [binary_short_type], [varbinary_short_type] FROM [test_streamable_types]";
|
||||
$stmt = $conn->query($tsql);
|
||||
|
||||
$result = $stmt->fetch(PDO::FETCH_NUM);
|
||||
verifyResult($result);
|
||||
|
||||
// test not streamable types
|
||||
$tsql = "SELECT * FROM [test_types]";
|
||||
$stmt = $conn->query($tsql);
|
||||
$result = $stmt->fetch(PDO::FETCH_NUM);
|
||||
print_r($result);
|
||||
|
||||
} catch (PDOException $e) {
|
||||
var_dump($e->errorInfo);
|
||||
}
|
||||
|
||||
unset($stmt);
|
||||
unset($conn);
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
Array
|
||||
(
|
||||
[0] => 9223372036854775807
|
||||
[1] => 2147483647
|
||||
[2] => 32767
|
||||
[3] => 255
|
||||
[4] => 1
|
||||
[5] => 9999999999999999999999999999999999999
|
||||
[6] => 922337203685477.5807
|
||||
[7] => 214748.3647
|
||||
[8] => 1.79E+308
|
||||
[9] => 1.1799999E-38
|
||||
[10] => 1968-12-12 16:20:00.000
|
||||
[11] =>
|
||||
)
|
Binary file not shown.
Loading…
Reference in a new issue