Skip to content

Commit

Permalink
Added a new test and modify a non LOB sqlsrv test (#1000)
Browse files Browse the repository at this point in the history
  • Loading branch information
yitam authored Jun 7, 2019
1 parent 7c585c7 commit ec3a7a4
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 0 deletions.
78 changes: 78 additions & 0 deletions test/functional/pdo_sqlsrv/pdo_test_non_LOB_types.phpt
Original file line number Diff line number Diff line change
@@ -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 modified test/functional/sqlsrv/test_sqlsrv_phptype_stream.phpt
Binary file not shown.

0 comments on commit ec3a7a4

Please sign in to comment.