From 094e32dc193ab1e1c40efcd99f0fc28340265ef6 Mon Sep 17 00:00:00 2001 From: Jenny Tam Date: Fri, 10 Nov 2017 14:23:38 -0800 Subject: [PATCH] Used sqlsrv_query() instead --- test/functional/sqlsrv/MsHelper.inc | 3 +- ...rv_buffered_result_set_extended_ascii.phpt | 2 +- ...sqlsrv_fetch_object_unicode_col_name2.phpt | 86 +++++++++++++------ test/functional/sqlsrv/sqlsrv_num_rows.phpt | 4 +- .../sqlsrv/srv_037_sqlsrv_has_rows.phpt | 2 +- ...srv_230_sqlsrv_buffered_numeric_types.phpt | 2 +- test/functional/sqlsrv/test_scrollable.phpt | 15 ++-- 7 files changed, 75 insertions(+), 39 deletions(-) diff --git a/test/functional/sqlsrv/MsHelper.inc b/test/functional/sqlsrv/MsHelper.inc index a96a3155..e1cbb7e0 100644 --- a/test/functional/sqlsrv/MsHelper.inc +++ b/test/functional/sqlsrv/MsHelper.inc @@ -372,7 +372,6 @@ function connect($options = array(), $disableCE = false) $connectionOptions = array_merge($connectionOptions, array("ColumnEncryption" => "Enabled")); } if ($keystore == "ksp") { - // require('AE_Ksp.inc'); $ksp_path = getKSPPath(); $ksp_options = array("CEKeystoreProvider"=>$ksp_path, "CEKeystoreName"=>KSP_NAME, @@ -481,7 +480,7 @@ function selectFromTable($conn, $tbname, $conds = null, $values = null) * @param resource $conn : connection resource * @param string $sql : T-SQL query * @param string $conds : string of condition(s) possibly with placeholders, null by default - * @param array $values : array of parameters, null by default + * @param array $values : array of parameters for placeholders in $conds, null by default * @param array $options : array of query options, null by default * @return resource sqlsrv statement upon success or false otherwise */ diff --git a/test/functional/sqlsrv/sqlsrv_buffered_result_set_extended_ascii.phpt b/test/functional/sqlsrv/sqlsrv_buffered_result_set_extended_ascii.phpt index 58e14f77..601ac9b7 100644 --- a/test/functional/sqlsrv/sqlsrv_buffered_result_set_extended_ascii.phpt +++ b/test/functional/sqlsrv/sqlsrv_buffered_result_set_extended_ascii.phpt @@ -20,7 +20,7 @@ $stmt = AE\insertRow($conn, $tableName, array('ID' => 'Aå_Ð×Æ×Ø_B')); // Fetch data $query = "SELECT * FROM $tableName"; -$stmt = AE\executeQueryEx($conn, $query, array("Scrollable"=>"buffered")); +$stmt = sqlsrv_query($conn, $query, [], array("Scrollable"=>"buffered")); // Fetch $row = sqlsrv_fetch_array($stmt); diff --git a/test/functional/sqlsrv/sqlsrv_fetch_object_unicode_col_name2.phpt b/test/functional/sqlsrv/sqlsrv_fetch_object_unicode_col_name2.phpt index ce96533d..47251aa1 100644 --- a/test/functional/sqlsrv/sqlsrv_fetch_object_unicode_col_name2.phpt +++ b/test/functional/sqlsrv/sqlsrv_fetch_object_unicode_col_name2.phpt @@ -91,21 +91,51 @@ $columns = array(new AE\ColumnMeta('CHAR(4)', 'ID'), AE\createTable($conn, $tableName1, $columns); // Insert data -$params = array('P001', 'Pencil 2B', '102', '24', '0.24', '2016-02-01', 'Red'); -$data = getInputData1($params); -AE\insertRow($conn, $tableName1, $data); - -$params = array('P002', 'Notepad', '102', '12', '3.87', '2016-02-21', null); -$data = getInputData1($params); -AE\insertRow($conn, $tableName1, $data); - -$params = array('P001', 'Mirror 2\"', '652', '3', '15.99', '2016-02-01', null); -$data = getInputData1($params); -AE\insertRow($conn, $tableName1, $data); - -$params = array('P003', 'USB connector', '1652', '31', '9.99', '2016-02-01', null); -$data = getInputData1($params); -AE\insertRow($conn, $tableName1, $data); +if (AE\isColEncrypted()) { + $sql = "INSERT INTO $tableName1 VALUES + (?, ?, ?, ?, ?, ?, ?), + (?, ?, ?, ?, ?, ?, ?), + (?, ?, ?, ?, ?, ?, ?), + (?, ?, ?, ?, ?, ?, ?)"; + $stmt = sqlsrv_query($conn, $sql, array(array('P001', null, null, SQLSRV_SQLTYPE_CHAR(4)), + array('Pencil 2B', null, null, SQLSRV_SQLTYPE_VARCHAR(128)), + array('102', null, null, SQLSRV_SQLTYPE_SMALLINT), + array('24', null, null, SQLSRV_SQLTYPE_INT), + array('0.24', null, null, SQLSRV_SQLTYPE_FLOAT), + array('2016-02-01', null, null, SQLSRV_SQLTYPE_DATETIME), + array('Red', null, null, SQLSRV_SQLTYPE_VARCHAR(20)), + array('P002', null, null, SQLSRV_SQLTYPE_CHAR(4)), + array('Notepad', null, null, SQLSRV_SQLTYPE_VARCHAR(128)), + array('102', null, null, SQLSRV_SQLTYPE_SMALLINT), + array('12', null, null, SQLSRV_SQLTYPE_INT), + array('3.87', null, null, SQLSRV_SQLTYPE_FLOAT), + array('2016-02-21', null, null, SQLSRV_SQLTYPE_DATETIME), + array(null, null, null, SQLSRV_SQLTYPE_VARCHAR(20)), + array('P001', null, null, SQLSRV_SQLTYPE_CHAR(4)), + array('Mirror 2\"', null, null, SQLSRV_SQLTYPE_VARCHAR(128)), + array('652', null, null, SQLSRV_SQLTYPE_SMALLINT), + array('3', null, null, SQLSRV_SQLTYPE_INT), + array('15.99', null, null, SQLSRV_SQLTYPE_FLOAT), + array('2016-02-01', null, null, SQLSRV_SQLTYPE_DATETIME), + array(null, null, null, SQLSRV_SQLTYPE_VARCHAR(20)), + array('P003', null, null, SQLSRV_SQLTYPE_CHAR(4)), + array('USB connector', null, null, SQLSRV_SQLTYPE_VARCHAR(128)), + array('1652', null, null, SQLSRV_SQLTYPE_SMALLINT), + array('31', null, null, SQLSRV_SQLTYPE_INT), + array('9.99', null, null, SQLSRV_SQLTYPE_FLOAT), + array('2016-02-01', null, null, SQLSRV_SQLTYPE_DATETIME), + array(null, null, null, SQLSRV_SQLTYPE_VARCHAR(20)))); +} else { + $sql = "INSERT INTO $tableName1 VALUES + ('P001', 'Pencil 2B', '102', '24', '0.24', '2016-02-01', 'Red'), + ('P002', 'Notepad', '102', '12', '3.87', '2016-02-21', Null), + ('P001', 'Mirror 2\"', '652', '3', '15.99', '2016-02-01', NULL), + ('P003', 'USB connector', '1652', '31', '9.99', '2016-02-01', NULL)"; + $stmt = sqlsrv_query($conn, $sql); +} +if (!$stmt) { + fatalError("Failed to insert test data into $tableName1\n"); +} // Create table Country $columns = array(new AE\ColumnMeta('CHAR(4)', 'SerialNumber'), @@ -113,17 +143,21 @@ $columns = array(new AE\ColumnMeta('CHAR(4)', 'SerialNumber'), AE\createTable($conn, $tableName2, $columns); // Insert data -$params = array('P001', 'FR'); -$data = getInputData2($params); -AE\insertRow($conn, $tableName2, $data); - -$params = array('P002', 'UK'); -$data = getInputData2($params); -AE\insertRow($conn, $tableName2, $data); - -$params = array('P003', 'DE'); -$data = getInputData2($params); -AE\insertRow($conn, $tableName2, $data); +if (AE\isColEncrypted()) { + $sql = "INSERT INTO $tableName2 VALUES (?, ?), (?, ?), (?, ?)"; + $stmt = sqlsrv_query($conn, $sql, array(array('P001', null, null, SQLSRV_SQLTYPE_CHAR(4)), + array('FR', null, null, SQLSRV_SQLTYPE_VARCHAR(2)), + array('P002', null, null, SQLSRV_SQLTYPE_CHAR(4)), + array('UK', null, null, SQLSRV_SQLTYPE_VARCHAR(2)), + array('P003', null, null, SQLSRV_SQLTYPE_CHAR(4)), + array('DE', null, null, SQLSRV_SQLTYPE_VARCHAR(2)))); +} else { + $sql = "INSERT INTO $tableName2 VALUES ('P001', 'FR'), ('P002', 'UK'), ('P003', 'DE')"; + $stmt = sqlsrv_query($conn, $sql); +} +if (!$stmt) { + fatalError("Failed to insert test data into $tableName2\n"); +} // With AE enabled, we cannot do comparisons with encrypted columns // Also, only forward cursor or client buffer is supported diff --git a/test/functional/sqlsrv/sqlsrv_num_rows.phpt b/test/functional/sqlsrv/sqlsrv_num_rows.phpt index d6e8c34b..52d5da34 100644 --- a/test/functional/sqlsrv/sqlsrv_num_rows.phpt +++ b/test/functional/sqlsrv/sqlsrv_num_rows.phpt @@ -9,7 +9,7 @@ Test sqlsrv_num_rows method. require_once('MsCommon.inc'); $conn = AE\connect(); - $tableName = 'utf16invalid'; + $tableName = 'testNumRows'; $columns = array(new AE\ColumnMeta('int', 'id', 'identity'), new AE\ColumnMeta('nvarchar(100)', 'c1')); @@ -24,7 +24,7 @@ Test sqlsrv_num_rows method. } else { $options = array('Scrollable' => SQLSRV_CURSOR_KEYSET); } - $stmt = AE\executeQueryEx($conn, "SELECT * FROM $tableName", $options); + $stmt = sqlsrv_query($conn, "SELECT * FROM $tableName", array(), $options); $row_nums = sqlsrv_num_rows($stmt); echo $row_nums; diff --git a/test/functional/sqlsrv/srv_037_sqlsrv_has_rows.phpt b/test/functional/sqlsrv/srv_037_sqlsrv_has_rows.phpt index dab853f6..8cb226d8 100644 --- a/test/functional/sqlsrv/srv_037_sqlsrv_has_rows.phpt +++ b/test/functional/sqlsrv/srv_037_sqlsrv_has_rows.phpt @@ -40,7 +40,7 @@ if (sqlsrv_has_rows($stmt)) { } // Fetch data using a scrollable cursor -$stmt = AE\executeQueryEx($conn, $query, array("Scrollable"=>"buffered")); +$stmt = sqlsrv_query($conn, $query, [], array("Scrollable"=>"buffered")); echo "Has Rows?" . (sqlsrv_has_rows($stmt) ? " Yes!" : " NO!") . "\n"; echo "Has Rows?" . (sqlsrv_has_rows($stmt) ? " Yes!" : " NO!") . "\n"; diff --git a/test/functional/sqlsrv/srv_230_sqlsrv_buffered_numeric_types.phpt b/test/functional/sqlsrv/srv_230_sqlsrv_buffered_numeric_types.phpt index bdcb0752..99a915da 100644 --- a/test/functional/sqlsrv/srv_230_sqlsrv_buffered_numeric_types.phpt +++ b/test/functional/sqlsrv/srv_230_sqlsrv_buffered_numeric_types.phpt @@ -60,7 +60,7 @@ if (!$stmt) { } $query = "SELECT TOP 2 * FROM $tableName"; -$stmt = AE\executeQueryEx($conn, $query, array("Scrollable"=>SQLSRV_CURSOR_CLIENT_BUFFERED)); +$stmt = sqlsrv_query($conn, $query, array(), array("Scrollable"=>SQLSRV_CURSOR_CLIENT_BUFFERED)); $array = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_NUMERIC); var_dump($array); diff --git a/test/functional/sqlsrv/test_scrollable.phpt b/test/functional/sqlsrv/test_scrollable.phpt index 9f898c15..29d20113 100644 --- a/test/functional/sqlsrv/test_scrollable.phpt +++ b/test/functional/sqlsrv/test_scrollable.phpt @@ -73,14 +73,15 @@ for ($i = 1; $i <= $numRows; $i++) { // https://github.com/Microsoft/msphpsql/wiki/Features#aelimitation $query = "SELECT * FROM $tableName"; $options = array('Scrollable' => SQLSRV_CURSOR_FORWARD); -$stmt = AE\executeQueryEx($conn, $query, $options); +$stmt = sqlsrv_query($conn, $query, array(), $options); + hasRows($stmt, false); countRows($stmt, $numRows, 'forward only'); sqlsrv_free_stmt($stmt); if (! AE\isColEncrypted()) { $options = array('Scrollable' => 'static'); - $stmt = AE\executeQueryEx($conn, $query, $options); + $stmt = sqlsrv_query($conn, $query, array(), $options); $result = sqlsrv_fetch($stmt, SQLSRV_SCROLL_ABSOLUTE, 4); if($result !== null) { @@ -128,13 +129,14 @@ if (! AE\isColEncrypted()) { sqlsrv_free_stmt($stmt); $options = array('Scrollable' => 'static'); - $stmt = AE\executeQueryEx($conn, $query, $options); + $stmt = sqlsrv_query($conn, $query, array(), $options); + hasRows($stmt, false); countRows($stmt, $numRows, 'static'); sqlsrv_free_stmt($stmt); $options = array('Scrollable' => 'dynamic'); - $stmt = AE\executeQueryEx($conn, $query, $options); + $stmt = sqlsrv_query($conn, $query, array(), $options); sqlsrv_fetch($stmt); sqlsrv_fetch($stmt); @@ -148,7 +150,8 @@ if (! AE\isColEncrypted()) { sqlsrv_free_stmt($stmt); $options = array('Scrollable' => SQLSRV_CURSOR_STATIC); - $stmt = AE\executeQueryEx($conn, $query, $options); + $stmt = sqlsrv_query($conn, $query, array(), $options); + $row_count = sqlsrv_num_rows($stmt); if($row_count != $numRows) { die("sqlsrv_num_rows should have returned 6 rows in the static cursor\n"); @@ -164,7 +167,7 @@ if (! AE\isColEncrypted()) { } $options = array('Scrollable' => SQLSRV_CURSOR_DYNAMIC); - $stmt = AE\executeQueryEx($conn, $query, $options); + $stmt = sqlsrv_query($conn, $query, array(), $options); $result = sqlsrv_num_rows($stmt); if($result !== false) {