From f90be11567550785f02f64f72ce4feb0a3a6205a Mon Sep 17 00:00:00 2001 From: yitam Date: Thu, 9 Feb 2017 13:27:48 -0800 Subject: [PATCH] added a test --- .../sqlsrv/srv_223_sqlsrv_fetch_absolute.phpt | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 test/sqlsrv/srv_223_sqlsrv_fetch_absolute.phpt diff --git a/test/sqlsrv/srv_223_sqlsrv_fetch_absolute.phpt b/test/sqlsrv/srv_223_sqlsrv_fetch_absolute.phpt new file mode 100644 index 00000000..2deb1482 --- /dev/null +++ b/test/sqlsrv/srv_223_sqlsrv_fetch_absolute.phpt @@ -0,0 +1,59 @@ +--TEST-- +sqlsrv_fetch() with SQLSRV_SCROLL_ABSOLUTE using out of range offset +--SKIPIF-- +--FILE-- + 0) + { + echo $message . "\n"; + } + die( print_r( sqlsrv_errors(), true)); +} + +function test() +{ + require_once("autonomous_setup.php"); + + // Connect + $conn = sqlsrv_connect($serverName, $connectionInfo); + if( !$conn ) { print_errors(); } + + // Prepare the statement + $sql = "select name from sys.databases"; + $stmt = sqlsrv_prepare( $conn, $sql, array(), array("Scrollable"=>SQLSRV_CURSOR_CLIENT_BUFFERED) ); + if( $stmt === false ) { print_errors(); } + sqlsrv_execute($stmt); + + // Get row count + $row_count = sqlsrv_num_rows( $stmt ); + if ($row_count == 0) { print_errors("There should be at least one row!\n"); } + + sqlsrv_execute($stmt); + $row = sqlsrv_fetch($stmt, SQLSRV_SCROLL_FIRST); + $field = sqlsrv_get_field($stmt, 0); + if (! $field) { print_errors(); } + + $row = sqlsrv_fetch($stmt, SQLSRV_SCROLL_ABSOLUTE, 3); + $field = sqlsrv_get_field($stmt, 0); + if (! $field) { print_errors(); } + + // this should return false + $row = sqlsrv_fetch($stmt, SQLSRV_SCROLL_ABSOLUTE, $row_count); + if ($row) { print_errors("This should return false!"); } + $field = sqlsrv_get_field($stmt, 0); + if ($field !== false) { print_errors("This should have resulted in error!"); } + + sqlsrv_free_stmt( $stmt); + sqlsrv_close($conn); +} + +test(); + +print "Done"; +?> + +--EXPECT-- +Done