php-sqlsrv/test/sqlsrv/TC79_RegressionVSTS846501.phpt
2017-05-04 08:14:11 -07:00

73 lines
1.7 KiB
PHP

--TEST--
Data Roundtrip via Stored Proc
--DESCRIPTION--
Verifies that data is not corrupted through a roundtrip via a store procedure.
Checks all character data types.
--ENV--
PHPT_EXEC=true
--SKIPIF--
<?php require('skipif.inc'); ?>
--FILE--
<?php
include 'MsCommon.inc';
function BugRepro()
{
include 'MsSetup.inc';
$testName = "Regression VSTS 846501";
StartTest($testName);
Setup();
$conn1 = Connect();
// empty parameter array
$s = sqlsrv_query( $conn1, "DROP TABLE test_bq" );
$s = sqlsrv_query( $conn1, "CREATE TABLE test_bq (id INT IDENTITY NOT NULL, test_varchar_max varchar(max))" );
if( $s === false ) {
die( print_r( sqlsrv_errors(), true ));
}
$s = sqlsrv_query( $conn1, "CREATE CLUSTERED INDEX [idx_test_int] ON test_bq (id)" );
if( $s === false ) {
die( print_r( sqlsrv_errors(), true ));
}
$s = sqlsrv_query( $conn1, "INSERT INTO test_bq (test_varchar_max) VALUES ('ABCD')" );
if( $s === false ) {
die( print_r( sqlsrv_errors(), true ));
}
$tsql = "select test_varchar_max from test_bq";
$result = sqlsrv_query( $conn1, $tsql, array(), array( "Scrollable" => SQLSRV_CURSOR_CLIENT_BUFFERED ));
while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_BOTH))
{
print $row['test_varchar_max']."\n";
}
sqlsrv_query( $conn1, "DROP TABLE test_bq" );
EndTest($testName);
}
//--------------------------------------------------------------------
// Repro
//
//--------------------------------------------------------------------
function Repro()
{
try
{
BugRepro();
}
catch (Exception $e)
{
echo $e->getMessage();
}
}
Repro();
?>
--EXPECT--
ABCD
Test "Regression VSTS 846501" completed successfully.