php-sqlsrv/test/functional/pdo_sqlsrv/PDO102_MaxOutputParams.phpt

55 lines
1.3 KiB
Plaintext
Raw Normal View History

2017-05-03 23:04:17 +02:00
--TEST--
PDO - Max Output Params Test
--DESCRIPTION--
Fetch data as VARCHAR(MAX)
--ENV--
PHPT_EXEC=true
--SKIPIF--
<?php require_once("skipif_mid-refactor.inc"); ?>
2017-05-03 23:04:17 +02:00
--FILE--
<?php
require_once("MsCommon_mid-refactor.inc");
2017-05-03 23:04:17 +02:00
function maxOutputParamsTest($expected, $length)
2017-05-03 23:04:17 +02:00
{
$outstr = null;
$conn = connect();
2017-05-03 23:04:17 +02:00
$procName = "EXEC_TEST";
dropProc($conn, $procName);
$conn->query("CREATE PROC [$procName] (@OUT varchar(80) output) AS BEGIN
SET NOCOUNT ON; select @OUT = '$expected'; return(0) END");
2017-05-03 23:04:17 +02:00
$sql = "execute EXEC_TEST ?";
$stmt = $conn->prepare($sql);
$stmt->bindParam(1, $outstr, PDO::PARAM_STR, $length);
2017-05-03 23:04:17 +02:00
$stmt->execute();
echo "Expected: $expected Received: $outstr\n";
2017-12-06 01:32:18 +01:00
$failed = false;
if ($outstr !== $expected) {
2017-05-03 23:04:17 +02:00
print_r($stmt->errorInfo());
2017-12-06 01:32:18 +01:00
$failed = true;
2017-05-03 23:04:17 +02:00
}
2017-12-06 01:32:18 +01:00
return $failed;
2017-05-03 23:04:17 +02:00
}
//--------------------------------------------------------------------
// Repro
//
//--------------------------------------------------------------------
2017-12-06 01:32:18 +01:00
$failed = false;
2017-05-03 23:04:17 +02:00
$failed |= maxOutputParamsTest("abc", 3);
$failed |= maxOutputParamsTest("abc", 10);
2017-05-03 23:04:17 +02:00
if ($failed) {
2017-12-06 01:32:18 +01:00
fatalError("Possible Regression: Value returned as VARCHAR(MAX) truncated");
2017-05-03 23:04:17 +02:00
}
?>
--EXPECT--
Expected: abc Received: abc
Expected: abc Received: abc