php-sqlsrv/test/functional/sqlsrv/TC35_Cancel.phpt

56 lines
1.2 KiB
Plaintext
Raw Normal View History

2017-05-04 01:00:31 +02:00
--TEST--
Statement Cancel Test
--DESCRIPTION--
2017-10-11 01:54:20 +02:00
Verifies that "sqlsrv_cancel" discards any pending data in current result set
2017-05-04 01:00:31 +02:00
--ENV--
PHPT_EXEC=true
--SKIPIF--
<?php require('skipif_versions_old.inc'); ?>
2017-05-04 01:00:31 +02:00
--FILE--
<?php
require_once('MsCommon.inc');
2017-05-04 01:00:31 +02:00
2017-10-11 01:54:20 +02:00
function cancel()
2017-05-04 01:00:31 +02:00
{
$testName = "Statement - Cancel";
startTest($testName);
setup();
$conn1 = AE\connect();
2017-05-04 01:00:31 +02:00
$tableName = 'TC35test';
AE\createTestTable($conn1, $tableName);
AE\insertTestRows($conn1, $tableName, 5);
2017-05-04 01:00:31 +02:00
trace("Executing SELECT query on $tableName ...");
$stmt1 = AE\selectFromTable($conn1, $tableName);
if (sqlsrv_fetch($stmt1) === false) {
fatalError("Failed to retrieve data from test table");
2017-05-04 01:00:31 +02:00
}
trace(" data fetched successfully.\n");
2017-05-04 01:00:31 +02:00
trace("Cancel statement and attempt another fetch (expected to fail) ...\n");
2017-05-04 01:00:31 +02:00
sqlsrv_cancel($stmt1);
if (sqlsrv_fetch($stmt1) === false) {
handleErrors();
} else {
2017-05-04 01:00:31 +02:00
die("No succesfull data fetch expectd after statement cancel");
}
dropTable($conn1, $tableName);
2017-05-04 01:00:31 +02:00
sqlsrv_close($conn1);
endTest($testName);
2017-05-04 01:00:31 +02:00
}
2017-10-11 01:54:20 +02:00
try {
cancel();
} catch (Exception $e) {
echo $e->getMessage();
2017-05-04 01:00:31 +02:00
}
?>
--EXPECT--
Test "Statement - Cancel" completed successfully.