diff --git a/test/pdo_sqlsrv/MsCommon.inc b/test/functional/pdo_sqlsrv/MsCommon.inc similarity index 100% rename from test/pdo_sqlsrv/MsCommon.inc rename to test/functional/pdo_sqlsrv/MsCommon.inc diff --git a/test/pdo_sqlsrv/MsData.inc b/test/functional/pdo_sqlsrv/MsData.inc similarity index 100% rename from test/pdo_sqlsrv/MsData.inc rename to test/functional/pdo_sqlsrv/MsData.inc diff --git a/test/pdo_sqlsrv/MsData_UTF8.inc b/test/functional/pdo_sqlsrv/MsData_UTF8.inc similarity index 100% rename from test/pdo_sqlsrv/MsData_UTF8.inc rename to test/functional/pdo_sqlsrv/MsData_UTF8.inc diff --git a/test/pdo_sqlsrv/MsSetup.inc b/test/functional/pdo_sqlsrv/MsSetup.inc similarity index 100% rename from test/pdo_sqlsrv/MsSetup.inc rename to test/functional/pdo_sqlsrv/MsSetup.inc diff --git a/test/pdo_sqlsrv/PDO100_InsertNulls.phpt b/test/functional/pdo_sqlsrv/PDO100_InsertNulls.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO100_InsertNulls.phpt rename to test/functional/pdo_sqlsrv/PDO100_InsertNulls.phpt diff --git a/test/pdo_sqlsrv/PDO101_LargeColumnName.phpt b/test/functional/pdo_sqlsrv/PDO101_LargeColumnName.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO101_LargeColumnName.phpt rename to test/functional/pdo_sqlsrv/PDO101_LargeColumnName.phpt diff --git a/test/pdo_sqlsrv/PDO101_LargeColumnName_unicode_col_name.phpt b/test/functional/pdo_sqlsrv/PDO101_LargeColumnName_unicode_col_name.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO101_LargeColumnName_unicode_col_name.phpt rename to test/functional/pdo_sqlsrv/PDO101_LargeColumnName_unicode_col_name.phpt diff --git a/test/pdo_sqlsrv/PDO102_MaxOutputParams.phpt b/test/functional/pdo_sqlsrv/PDO102_MaxOutputParams.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO102_MaxOutputParams.phpt rename to test/functional/pdo_sqlsrv/PDO102_MaxOutputParams.phpt diff --git a/test/pdo_sqlsrv/PDO11_Drivers.phpt b/test/functional/pdo_sqlsrv/PDO11_Drivers.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO11_Drivers.phpt rename to test/functional/pdo_sqlsrv/PDO11_Drivers.phpt diff --git a/test/pdo_sqlsrv/PDO12_Info.phpt b/test/functional/pdo_sqlsrv/PDO12_Info.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO12_Info.phpt rename to test/functional/pdo_sqlsrv/PDO12_Info.phpt diff --git a/test/pdo_sqlsrv/PDO21_Connection.phpt b/test/functional/pdo_sqlsrv/PDO21_Connection.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO21_Connection.phpt rename to test/functional/pdo_sqlsrv/PDO21_Connection.phpt diff --git a/test/pdo_sqlsrv/PDO22_ConnPool1.phpt b/test/functional/pdo_sqlsrv/PDO22_ConnPool1.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO22_ConnPool1.phpt rename to test/functional/pdo_sqlsrv/PDO22_ConnPool1.phpt diff --git a/test/pdo_sqlsrv/PDO23_ConnPool2.phpt b/test/functional/pdo_sqlsrv/PDO23_ConnPool2.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO23_ConnPool2.phpt rename to test/functional/pdo_sqlsrv/PDO23_ConnPool2.phpt diff --git a/test/pdo_sqlsrv/PDO24_ErrorCode.phpt b/test/functional/pdo_sqlsrv/PDO24_ErrorCode.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO24_ErrorCode.phpt rename to test/functional/pdo_sqlsrv/PDO24_ErrorCode.phpt diff --git a/test/pdo_sqlsrv/PDO25_ErrorInfo.phpt b/test/functional/pdo_sqlsrv/PDO25_ErrorInfo.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO25_ErrorInfo.phpt rename to test/functional/pdo_sqlsrv/PDO25_ErrorInfo.phpt diff --git a/test/pdo_sqlsrv/PDO26_ConnAttr.phpt b/test/functional/pdo_sqlsrv/PDO26_ConnAttr.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO26_ConnAttr.phpt rename to test/functional/pdo_sqlsrv/PDO26_ConnAttr.phpt diff --git a/test/pdo_sqlsrv/PDO27_ReadOnlyAttr.phpt b/test/functional/pdo_sqlsrv/PDO27_ReadOnlyAttr.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO27_ReadOnlyAttr.phpt rename to test/functional/pdo_sqlsrv/PDO27_ReadOnlyAttr.phpt diff --git a/test/pdo_sqlsrv/PDO28_CaseAttr.phpt b/test/functional/pdo_sqlsrv/PDO28_CaseAttr.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO28_CaseAttr.phpt rename to test/functional/pdo_sqlsrv/PDO28_CaseAttr.phpt diff --git a/test/pdo_sqlsrv/PDO29_ConnInterface.phpt b/test/functional/pdo_sqlsrv/PDO29_ConnInterface.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO29_ConnInterface.phpt rename to test/functional/pdo_sqlsrv/PDO29_ConnInterface.phpt diff --git a/test/pdo_sqlsrv/PDO30_Exec.phpt b/test/functional/pdo_sqlsrv/PDO30_Exec.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO30_Exec.phpt rename to test/functional/pdo_sqlsrv/PDO30_Exec.phpt diff --git a/test/pdo_sqlsrv/PDO31_Statement.phpt b/test/functional/pdo_sqlsrv/PDO31_Statement.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO31_Statement.phpt rename to test/functional/pdo_sqlsrv/PDO31_Statement.phpt diff --git a/test/pdo_sqlsrv/PDO32_StmtInterface.phpt b/test/functional/pdo_sqlsrv/PDO32_StmtInterface.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO32_StmtInterface.phpt rename to test/functional/pdo_sqlsrv/PDO32_StmtInterface.phpt diff --git a/test/pdo_sqlsrv/PDO33_Execute.phpt b/test/functional/pdo_sqlsrv/PDO33_Execute.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO33_Execute.phpt rename to test/functional/pdo_sqlsrv/PDO33_Execute.phpt diff --git a/test/pdo_sqlsrv/PDO34_ColumnCount.phpt b/test/functional/pdo_sqlsrv/PDO34_ColumnCount.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO34_ColumnCount.phpt rename to test/functional/pdo_sqlsrv/PDO34_ColumnCount.phpt diff --git a/test/pdo_sqlsrv/PDO35_ColumnMeta.phpt b/test/functional/pdo_sqlsrv/PDO35_ColumnMeta.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO35_ColumnMeta.phpt rename to test/functional/pdo_sqlsrv/PDO35_ColumnMeta.phpt diff --git a/test/pdo_sqlsrv/PDO36_RowCount.phpt b/test/functional/pdo_sqlsrv/PDO36_RowCount.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO36_RowCount.phpt rename to test/functional/pdo_sqlsrv/PDO36_RowCount.phpt diff --git a/test/pdo_sqlsrv/PDO37_FetchMode.phpt b/test/functional/pdo_sqlsrv/PDO37_FetchMode.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO37_FetchMode.phpt rename to test/functional/pdo_sqlsrv/PDO37_FetchMode.phpt diff --git a/test/pdo_sqlsrv/PDO38_FetchBound.phpt b/test/functional/pdo_sqlsrv/PDO38_FetchBound.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO38_FetchBound.phpt rename to test/functional/pdo_sqlsrv/PDO38_FetchBound.phpt diff --git a/test/pdo_sqlsrv/PDO39_FetchInto.phpt b/test/functional/pdo_sqlsrv/PDO39_FetchInto.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO39_FetchInto.phpt rename to test/functional/pdo_sqlsrv/PDO39_FetchInto.phpt diff --git a/test/pdo_sqlsrv/PDO40_FetchLazy.phpt b/test/functional/pdo_sqlsrv/PDO40_FetchLazy.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO40_FetchLazy.phpt rename to test/functional/pdo_sqlsrv/PDO40_FetchLazy.phpt diff --git a/test/pdo_sqlsrv/PDO41_FetchAssoc.phpt b/test/functional/pdo_sqlsrv/PDO41_FetchAssoc.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO41_FetchAssoc.phpt rename to test/functional/pdo_sqlsrv/PDO41_FetchAssoc.phpt diff --git a/test/pdo_sqlsrv/PDO42_FetchNum.phpt b/test/functional/pdo_sqlsrv/PDO42_FetchNum.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO42_FetchNum.phpt rename to test/functional/pdo_sqlsrv/PDO42_FetchNum.phpt diff --git a/test/pdo_sqlsrv/PDO43_FetchBoth.phpt b/test/functional/pdo_sqlsrv/PDO43_FetchBoth.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO43_FetchBoth.phpt rename to test/functional/pdo_sqlsrv/PDO43_FetchBoth.phpt diff --git a/test/pdo_sqlsrv/PDO44_FetchObj.phpt b/test/functional/pdo_sqlsrv/PDO44_FetchObj.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO44_FetchObj.phpt rename to test/functional/pdo_sqlsrv/PDO44_FetchObj.phpt diff --git a/test/pdo_sqlsrv/PDO45_FetchGroup.phpt b/test/functional/pdo_sqlsrv/PDO45_FetchGroup.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO45_FetchGroup.phpt rename to test/functional/pdo_sqlsrv/PDO45_FetchGroup.phpt diff --git a/test/pdo_sqlsrv/PDO46_FetchUnique.phpt b/test/functional/pdo_sqlsrv/PDO46_FetchUnique.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO46_FetchUnique.phpt rename to test/functional/pdo_sqlsrv/PDO46_FetchUnique.phpt diff --git a/test/pdo_sqlsrv/PDO47_FetchClass.phpt b/test/functional/pdo_sqlsrv/PDO47_FetchClass.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO47_FetchClass.phpt rename to test/functional/pdo_sqlsrv/PDO47_FetchClass.phpt diff --git a/test/pdo_sqlsrv/PDO48_FetchColumn.phpt b/test/functional/pdo_sqlsrv/PDO48_FetchColumn.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO48_FetchColumn.phpt rename to test/functional/pdo_sqlsrv/PDO48_FetchColumn.phpt diff --git a/test/pdo_sqlsrv/PDO48_FetchColumn_unicode_col_name.phpt b/test/functional/pdo_sqlsrv/PDO48_FetchColumn_unicode_col_name.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO48_FetchColumn_unicode_col_name.phpt rename to test/functional/pdo_sqlsrv/PDO48_FetchColumn_unicode_col_name.phpt diff --git a/test/pdo_sqlsrv/PDO49_FetchFunc.phpt b/test/functional/pdo_sqlsrv/PDO49_FetchFunc.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO49_FetchFunc.phpt rename to test/functional/pdo_sqlsrv/PDO49_FetchFunc.phpt diff --git a/test/pdo_sqlsrv/PDO50_FetchObject.phpt b/test/functional/pdo_sqlsrv/PDO50_FetchObject.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO50_FetchObject.phpt rename to test/functional/pdo_sqlsrv/PDO50_FetchObject.phpt diff --git a/test/pdo_sqlsrv/PDO51_FetchLOB.phpt b/test/functional/pdo_sqlsrv/PDO51_FetchLOB.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO51_FetchLOB.phpt rename to test/functional/pdo_sqlsrv/PDO51_FetchLOB.phpt diff --git a/test/pdo_sqlsrv/PDO61_BindColumn1.phpt b/test/functional/pdo_sqlsrv/PDO61_BindColumn1.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO61_BindColumn1.phpt rename to test/functional/pdo_sqlsrv/PDO61_BindColumn1.phpt diff --git a/test/pdo_sqlsrv/PDO62_BindColumn2.phpt b/test/functional/pdo_sqlsrv/PDO62_BindColumn2.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO62_BindColumn2.phpt rename to test/functional/pdo_sqlsrv/PDO62_BindColumn2.phpt diff --git a/test/pdo_sqlsrv/PDO63_BindParam1.phpt b/test/functional/pdo_sqlsrv/PDO63_BindParam1.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO63_BindParam1.phpt rename to test/functional/pdo_sqlsrv/PDO63_BindParam1.phpt diff --git a/test/pdo_sqlsrv/PDO64_BindParam2.phpt b/test/functional/pdo_sqlsrv/PDO64_BindParam2.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO64_BindParam2.phpt rename to test/functional/pdo_sqlsrv/PDO64_BindParam2.phpt diff --git a/test/pdo_sqlsrv/PDO65_BindValue1.phpt b/test/functional/pdo_sqlsrv/PDO65_BindValue1.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO65_BindValue1.phpt rename to test/functional/pdo_sqlsrv/PDO65_BindValue1.phpt diff --git a/test/pdo_sqlsrv/PDO66_BindValue2.phpt b/test/functional/pdo_sqlsrv/PDO66_BindValue2.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO66_BindValue2.phpt rename to test/functional/pdo_sqlsrv/PDO66_BindValue2.phpt diff --git a/test/pdo_sqlsrv/PDO67_BindTruncation.phpt b/test/functional/pdo_sqlsrv/PDO67_BindTruncation.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO67_BindTruncation.phpt rename to test/functional/pdo_sqlsrv/PDO67_BindTruncation.phpt diff --git a/test/pdo_sqlsrv/PDO71_TransExec.phpt b/test/functional/pdo_sqlsrv/PDO71_TransExec.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO71_TransExec.phpt rename to test/functional/pdo_sqlsrv/PDO71_TransExec.phpt diff --git a/test/pdo_sqlsrv/PDO72_TransDisconnect.phpt b/test/functional/pdo_sqlsrv/PDO72_TransDisconnect.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO72_TransDisconnect.phpt rename to test/functional/pdo_sqlsrv/PDO72_TransDisconnect.phpt diff --git a/test/pdo_sqlsrv/PDO81_MemoryCheck.phpt b/test/functional/pdo_sqlsrv/PDO81_MemoryCheck.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO81_MemoryCheck.phpt rename to test/functional/pdo_sqlsrv/PDO81_MemoryCheck.phpt diff --git a/test/pdo_sqlsrv/PDO82_ComplexInsert.phpt b/test/functional/pdo_sqlsrv/PDO82_ComplexInsert.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO82_ComplexInsert.phpt rename to test/functional/pdo_sqlsrv/PDO82_ComplexInsert.phpt diff --git a/test/pdo_sqlsrv/PDO91_Parent.phpt b/test/functional/pdo_sqlsrv/PDO91_Parent.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO91_Parent.phpt rename to test/functional/pdo_sqlsrv/PDO91_Parent.phpt diff --git a/test/pdo_sqlsrv/PDO92_Iterator.phpt b/test/functional/pdo_sqlsrv/PDO92_Iterator.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO92_Iterator.phpt rename to test/functional/pdo_sqlsrv/PDO92_Iterator.phpt diff --git a/test/pdo_sqlsrv/PDO93_Recursive.phpt b/test/functional/pdo_sqlsrv/PDO93_Recursive.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO93_Recursive.phpt rename to test/functional/pdo_sqlsrv/PDO93_Recursive.phpt diff --git a/test/pdo_sqlsrv/PDO94_Extend1.phpt b/test/functional/pdo_sqlsrv/PDO94_Extend1.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO94_Extend1.phpt rename to test/functional/pdo_sqlsrv/PDO94_Extend1.phpt diff --git a/test/pdo_sqlsrv/PDO95_Extend2.phpt b/test/functional/pdo_sqlsrv/PDO95_Extend2.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO95_Extend2.phpt rename to test/functional/pdo_sqlsrv/PDO95_Extend2.phpt diff --git a/test/pdo_sqlsrv/PDO96_Extend3.phpt b/test/functional/pdo_sqlsrv/PDO96_Extend3.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO96_Extend3.phpt rename to test/functional/pdo_sqlsrv/PDO96_Extend3.phpt diff --git a/test/pdo_sqlsrv/PDO97_Extend4.phpt b/test/functional/pdo_sqlsrv/PDO97_Extend4.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO97_Extend4.phpt rename to test/functional/pdo_sqlsrv/PDO97_Extend4.phpt diff --git a/test/pdo_sqlsrv/PDO98_Extend5.phpt b/test/functional/pdo_sqlsrv/PDO98_Extend5.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO98_Extend5.phpt rename to test/functional/pdo_sqlsrv/PDO98_Extend5.phpt diff --git a/test/pdo_sqlsrv/PDO99_QuoteNullTerminated.phpt b/test/functional/pdo_sqlsrv/PDO99_QuoteNullTerminated.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO99_QuoteNullTerminated.phpt rename to test/functional/pdo_sqlsrv/PDO99_QuoteNullTerminated.phpt diff --git a/test/pdo_sqlsrv/PDO_ConnPool_Unix.phpt b/test/functional/pdo_sqlsrv/PDO_ConnPool_Unix.phpt similarity index 100% rename from test/pdo_sqlsrv/PDO_ConnPool_Unix.phpt rename to test/functional/pdo_sqlsrv/PDO_ConnPool_Unix.phpt diff --git a/test/pdo_sqlsrv/break_pdo.php b/test/functional/pdo_sqlsrv/break_pdo.php similarity index 100% rename from test/pdo_sqlsrv/break_pdo.php rename to test/functional/pdo_sqlsrv/break_pdo.php diff --git a/test/pdo_sqlsrv/isPooled.php b/test/functional/pdo_sqlsrv/isPooled.php similarity index 100% rename from test/pdo_sqlsrv/isPooled.php rename to test/functional/pdo_sqlsrv/isPooled.php diff --git a/test/pdo_sqlsrv/issue_52_pdo.phpt b/test/functional/pdo_sqlsrv/issue_52_pdo.phpt similarity index 100% rename from test/pdo_sqlsrv/issue_52_pdo.phpt rename to test/functional/pdo_sqlsrv/issue_52_pdo.phpt diff --git a/test/pdo_sqlsrv/pdoStatement_bindParam_inout_emulate_prepare.phpt b/test/functional/pdo_sqlsrv/pdoStatement_bindParam_inout_emulate_prepare.phpt similarity index 100% rename from test/pdo_sqlsrv/pdoStatement_bindParam_inout_emulate_prepare.phpt rename to test/functional/pdo_sqlsrv/pdoStatement_bindParam_inout_emulate_prepare.phpt diff --git a/test/pdo_sqlsrv/pdoStatement_bindParam_output_emulate_prepare.phpt b/test/functional/pdo_sqlsrv/pdoStatement_bindParam_output_emulate_prepare.phpt similarity index 100% rename from test/pdo_sqlsrv/pdoStatement_bindParam_output_emulate_prepare.phpt rename to test/functional/pdo_sqlsrv/pdoStatement_bindParam_output_emulate_prepare.phpt diff --git a/test/pdo_sqlsrv/pdo_002_connect_app.phpt b/test/functional/pdo_sqlsrv/pdo_002_connect_app.phpt similarity index 94% rename from test/pdo_sqlsrv/pdo_002_connect_app.phpt rename to test/functional/pdo_sqlsrv/pdo_002_connect_app.phpt index 77a5a4d0..c385a77b 100644 --- a/test/pdo_sqlsrv/pdo_002_connect_app.phpt +++ b/test/functional/pdo_sqlsrv/pdo_002_connect_app.phpt @@ -1,35 +1,35 @@ ---TEST-- -Connection option APP name unicode ---SKIPIF-- - ---FILE-- -query($query); -while ( $row = $stmt->fetch(PDO::FETCH_NUM) ){ - echo $row[0]."\n"; -} - -$stmt = $conn->query($query); -while ( $row = $stmt->fetch(PDO::FETCH_ASSOC) ){ - echo $row['']."\n"; -} - -// Free the connection -$conn=null; -echo "Done" -?> - ---EXPECTREGEX-- -APP_PoP_银河 -APP_PoP_银河 -Done +--TEST-- +Connection option APP name unicode +--SKIPIF-- + +--FILE-- +query($query); +while ( $row = $stmt->fetch(PDO::FETCH_NUM) ){ + echo $row[0]."\n"; +} + +$stmt = $conn->query($query); +while ( $row = $stmt->fetch(PDO::FETCH_ASSOC) ){ + echo $row['']."\n"; +} + +// Free the connection +$conn=null; +echo "Done" +?> + +--EXPECTREGEX-- +APP_PoP_银河 +APP_PoP_银河 +Done diff --git a/test/pdo_sqlsrv/pdo_011_quote.phpt b/test/functional/pdo_sqlsrv/pdo_011_quote.phpt similarity index 95% rename from test/pdo_sqlsrv/pdo_011_quote.phpt rename to test/functional/pdo_sqlsrv/pdo_011_quote.phpt index 6cd5a9ca..abfe8816 100644 --- a/test/pdo_sqlsrv/pdo_011_quote.phpt +++ b/test/functional/pdo_sqlsrv/pdo_011_quote.phpt @@ -1,50 +1,50 @@ ---TEST-- -Insert with quoted parameters ---SKIPIF-- - ---FILE-- -quote( $param ); - -// Create a temporary table -$tableName = '#tmpTable'; -$query = "CREATE TABLE $tableName (col1 VARCHAR(10), col2 VARCHAR(20))"; -$stmt = $conn->exec($query); -if( $stmt === false ) { die(); } - -// Inserd data -$query = "INSERT INTO $tableName VALUES( ?, '1' )"; -$stmt = $conn->prepare( $query ); -$stmt->execute(array($param)); - -// Inserd data -$query = "INSERT INTO $tableName VALUES( ?, ? )"; -$stmt = $conn->prepare( $query ); -$stmt->execute(array($param, $param2)); - -// Query -$query = "SELECT * FROM $tableName"; -$stmt = $conn->query($query); -while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){ - print_r( $row['col1'] ." was inserted\n" ); -} - -// Revert the inserts -$query = "delete from $tableName where col1 = ?"; -$stmt = $conn->prepare( $query ); -$stmt->execute(array($param)); - -//free the statement and connection -$stmt=null; -$conn=null; -?> ---EXPECT-- -a ' g was inserted -a ' g was inserted - +--TEST-- +Insert with quoted parameters +--SKIPIF-- + +--FILE-- +quote( $param ); + +// Create a temporary table +$tableName = '#tmpTable'; +$query = "CREATE TABLE $tableName (col1 VARCHAR(10), col2 VARCHAR(20))"; +$stmt = $conn->exec($query); +if( $stmt === false ) { die(); } + +// Inserd data +$query = "INSERT INTO $tableName VALUES( ?, '1' )"; +$stmt = $conn->prepare( $query ); +$stmt->execute(array($param)); + +// Inserd data +$query = "INSERT INTO $tableName VALUES( ?, ? )"; +$stmt = $conn->prepare( $query ); +$stmt->execute(array($param, $param2)); + +// Query +$query = "SELECT * FROM $tableName"; +$stmt = $conn->query($query); +while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){ + print_r( $row['col1'] ." was inserted\n" ); +} + +// Revert the inserts +$query = "delete from $tableName where col1 = ?"; +$stmt = $conn->prepare( $query ); +$stmt->execute(array($param)); + +//free the statement and connection +$stmt=null; +$conn=null; +?> +--EXPECT-- +a ' g was inserted +a ' g was inserted + diff --git a/test/pdo_sqlsrv/pdo_012_bind_param.phpt b/test/functional/pdo_sqlsrv/pdo_012_bind_param.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_012_bind_param.phpt rename to test/functional/pdo_sqlsrv/pdo_012_bind_param.phpt diff --git a/test/pdo_sqlsrv/pdo_013_row_count.phpt b/test/functional/pdo_sqlsrv/pdo_013_row_count.phpt similarity index 95% rename from test/pdo_sqlsrv/pdo_013_row_count.phpt rename to test/functional/pdo_sqlsrv/pdo_013_row_count.phpt index 887ae835..54014382 100644 --- a/test/pdo_sqlsrv/pdo_013_row_count.phpt +++ b/test/functional/pdo_sqlsrv/pdo_013_row_count.phpt @@ -1,56 +1,56 @@ ---TEST-- -Number of rows in a result set ---SKIPIF-- - ---FILE-- -exec("CREATE TABLE $tableName (c1 VARCHAR(32))"); -$stmt=null; - -// Insert data -$query = "INSERT INTO $tableName VALUES ('Salmon'),('Butterfish'),('Cod'),('NULL'),('Crab')"; -$stmt = $conn->query($query); -$res[] = $stmt->rowCount(); - -// Update data -$query = "UPDATE $tableName SET c1='Salmon' WHERE c1='Cod'"; -$stmt = $conn->query($query); -$res[] = $stmt->rowCount(); - -// Update data -$query = "UPDATE $tableName SET c1='Salmon' WHERE c1='NULL'"; -$stmt = $conn->query($query); -$res[] = $stmt->rowCount(); - -// Update data -$query = "UPDATE $tableName SET c1='Salmon' WHERE c1='NO_NAME'"; -$stmt = $conn->query($query); -$res[] = $stmt->rowCount(); - -// Update data -$query = "UPDATE $tableName SET c1='N/A'"; -$stmt = $conn->query($query); -$res[] = $stmt->rowCount(); - -print_r($res); - -$stmt=null; -$conn=null; -print "Done" -?> ---EXPECT-- -Array -( - [0] => 5 - [1] => 1 - [2] => 1 - [3] => 0 - [4] => 5 -) -Done +--TEST-- +Number of rows in a result set +--SKIPIF-- + +--FILE-- +exec("CREATE TABLE $tableName (c1 VARCHAR(32))"); +$stmt=null; + +// Insert data +$query = "INSERT INTO $tableName VALUES ('Salmon'),('Butterfish'),('Cod'),('NULL'),('Crab')"; +$stmt = $conn->query($query); +$res[] = $stmt->rowCount(); + +// Update data +$query = "UPDATE $tableName SET c1='Salmon' WHERE c1='Cod'"; +$stmt = $conn->query($query); +$res[] = $stmt->rowCount(); + +// Update data +$query = "UPDATE $tableName SET c1='Salmon' WHERE c1='NULL'"; +$stmt = $conn->query($query); +$res[] = $stmt->rowCount(); + +// Update data +$query = "UPDATE $tableName SET c1='Salmon' WHERE c1='NO_NAME'"; +$stmt = $conn->query($query); +$res[] = $stmt->rowCount(); + +// Update data +$query = "UPDATE $tableName SET c1='N/A'"; +$stmt = $conn->query($query); +$res[] = $stmt->rowCount(); + +print_r($res); + +$stmt=null; +$conn=null; +print "Done" +?> +--EXPECT-- +Array +( + [0] => 5 + [1] => 1 + [2] => 1 + [3] => 0 + [4] => 5 +) +Done diff --git a/test/pdo_sqlsrv/pdo_014_integer_custom_formats.phpt b/test/functional/pdo_sqlsrv/pdo_014_integer_custom_formats.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_014_integer_custom_formats.phpt rename to test/functional/pdo_sqlsrv/pdo_014_integer_custom_formats.phpt diff --git a/test/pdo_sqlsrv/pdo_015_integer_custom_formats_pooling.phpt b/test/functional/pdo_sqlsrv/pdo_015_integer_custom_formats_pooling.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_015_integer_custom_formats_pooling.phpt rename to test/functional/pdo_sqlsrv/pdo_015_integer_custom_formats_pooling.phpt diff --git a/test/pdo_sqlsrv/pdo_016.phpt b/test/functional/pdo_sqlsrv/pdo_016.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_016.phpt rename to test/functional/pdo_sqlsrv/pdo_016.phpt diff --git a/test/pdo_sqlsrv/pdo_017.phpt b/test/functional/pdo_sqlsrv/pdo_017.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_017.phpt rename to test/functional/pdo_sqlsrv/pdo_017.phpt diff --git a/test/pdo_sqlsrv/pdo_018_next_result_set.phpt b/test/functional/pdo_sqlsrv/pdo_018_next_result_set.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_018_next_result_set.phpt rename to test/functional/pdo_sqlsrv/pdo_018_next_result_set.phpt diff --git a/test/pdo_sqlsrv/pdo_019_next_result_set_pooling.phpt b/test/functional/pdo_sqlsrv/pdo_019_next_result_set_pooling.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_019_next_result_set_pooling.phpt rename to test/functional/pdo_sqlsrv/pdo_019_next_result_set_pooling.phpt diff --git a/test/pdo_sqlsrv/pdo_020_bind_params_array.phpt b/test/functional/pdo_sqlsrv/pdo_020_bind_params_array.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_020_bind_params_array.phpt rename to test/functional/pdo_sqlsrv/pdo_020_bind_params_array.phpt diff --git a/test/pdo_sqlsrv/pdo_021_extended_ascii.phpt b/test/functional/pdo_sqlsrv/pdo_021_extended_ascii.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_021_extended_ascii.phpt rename to test/functional/pdo_sqlsrv/pdo_021_extended_ascii.phpt diff --git a/test/pdo_sqlsrv/pdo_022_xml_bind_value.phpt b/test/functional/pdo_sqlsrv/pdo_022_xml_bind_value.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_022_xml_bind_value.phpt rename to test/functional/pdo_sqlsrv/pdo_022_xml_bind_value.phpt diff --git a/test/pdo_sqlsrv/pdo_023.phpt b/test/functional/pdo_sqlsrv/pdo_023.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_023.phpt rename to test/functional/pdo_sqlsrv/pdo_023.phpt diff --git a/test/pdo_sqlsrv/pdo_033_binary_unicode.phpt b/test/functional/pdo_sqlsrv/pdo_033_binary_unicode.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_033_binary_unicode.phpt rename to test/functional/pdo_sqlsrv/pdo_033_binary_unicode.phpt diff --git a/test/pdo_sqlsrv/pdo_035_binary_encoding_error_bound_by_name.phpt b/test/functional/pdo_sqlsrv/pdo_035_binary_encoding_error_bound_by_name.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_035_binary_encoding_error_bound_by_name.phpt rename to test/functional/pdo_sqlsrv/pdo_035_binary_encoding_error_bound_by_name.phpt diff --git a/test/pdo_sqlsrv/pdo_040_error_information.phpt b/test/functional/pdo_sqlsrv/pdo_040_error_information.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_040_error_information.phpt rename to test/functional/pdo_sqlsrv/pdo_040_error_information.phpt diff --git a/test/pdo_sqlsrv/pdo_060_prepare_execute_fetch_pooling_default.phpt b/test/functional/pdo_sqlsrv/pdo_060_prepare_execute_fetch_pooling_default.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_060_prepare_execute_fetch_pooling_default.phpt rename to test/functional/pdo_sqlsrv/pdo_060_prepare_execute_fetch_pooling_default.phpt diff --git a/test/pdo_sqlsrv/pdo_061_prepare_execute_fetch_pooling_enabled.phpt b/test/functional/pdo_sqlsrv/pdo_061_prepare_execute_fetch_pooling_enabled.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_061_prepare_execute_fetch_pooling_enabled.phpt rename to test/functional/pdo_sqlsrv/pdo_061_prepare_execute_fetch_pooling_enabled.phpt diff --git a/test/pdo_sqlsrv/pdo_062_prepare_execute_fetch_pooling_disabled.phpt b/test/functional/pdo_sqlsrv/pdo_062_prepare_execute_fetch_pooling_disabled.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_062_prepare_execute_fetch_pooling_disabled.phpt rename to test/functional/pdo_sqlsrv/pdo_062_prepare_execute_fetch_pooling_disabled.phpt diff --git a/test/pdo_sqlsrv/pdo_065_construct_persistent.phpt b/test/functional/pdo_sqlsrv/pdo_065_construct_persistent.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_065_construct_persistent.phpt rename to test/functional/pdo_sqlsrv/pdo_065_construct_persistent.phpt diff --git a/test/pdo_sqlsrv/pdo_065_construct_prefetch.phpt b/test/functional/pdo_sqlsrv/pdo_065_construct_prefetch.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_065_construct_prefetch.phpt rename to test/functional/pdo_sqlsrv/pdo_065_construct_prefetch.phpt diff --git a/test/pdo_sqlsrv/pdo_069_fetch_empty_nvarchar_buffered.phpt b/test/functional/pdo_sqlsrv/pdo_069_fetch_empty_nvarchar_buffered.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_069_fetch_empty_nvarchar_buffered.phpt rename to test/functional/pdo_sqlsrv/pdo_069_fetch_empty_nvarchar_buffered.phpt diff --git a/test/pdo_sqlsrv/pdo_092_emulate_prepare_statement_utf8.phpt b/test/functional/pdo_sqlsrv/pdo_092_emulate_prepare_statement_utf8.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_092_emulate_prepare_statement_utf8.phpt rename to test/functional/pdo_sqlsrv/pdo_092_emulate_prepare_statement_utf8.phpt diff --git a/test/pdo_sqlsrv/pdo_138_unicode_column_name.phpt b/test/functional/pdo_sqlsrv/pdo_138_unicode_column_name.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_138_unicode_column_name.phpt rename to test/functional/pdo_sqlsrv/pdo_138_unicode_column_name.phpt diff --git a/test/pdo_sqlsrv/pdo_140_emulate_prepare_mix_binary.phpt b/test/functional/pdo_sqlsrv/pdo_140_emulate_prepare_mix_binary.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_140_emulate_prepare_mix_binary.phpt rename to test/functional/pdo_sqlsrv/pdo_140_emulate_prepare_mix_binary.phpt diff --git a/test/pdo_sqlsrv/pdo_140_emulate_prepare_pos_placehodlers.phpt b/test/functional/pdo_sqlsrv/pdo_140_emulate_prepare_pos_placehodlers.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_140_emulate_prepare_pos_placehodlers.phpt rename to test/functional/pdo_sqlsrv/pdo_140_emulate_prepare_pos_placehodlers.phpt diff --git a/test/pdo_sqlsrv/pdo_228_setAttribute_clientbuffermaxkbsize.phpt b/test/functional/pdo_sqlsrv/pdo_228_setAttribute_clientbuffermaxkbsize.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_228_setAttribute_clientbuffermaxkbsize.phpt rename to test/functional/pdo_sqlsrv/pdo_228_setAttribute_clientbuffermaxkbsize.phpt diff --git a/test/pdo_sqlsrv/pdo_267_closeCursor.phpt b/test/functional/pdo_sqlsrv/pdo_267_closeCursor.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_267_closeCursor.phpt rename to test/functional/pdo_sqlsrv/pdo_267_closeCursor.phpt diff --git a/test/pdo_sqlsrv/pdo_270_fetch_binary.phpt b/test/functional/pdo_sqlsrv/pdo_270_fetch_binary.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_270_fetch_binary.phpt rename to test/functional/pdo_sqlsrv/pdo_270_fetch_binary.phpt diff --git a/test/pdo_sqlsrv/pdo_308_empty_output_param.phpt b/test/functional/pdo_sqlsrv/pdo_308_empty_output_param.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_308_empty_output_param.phpt rename to test/functional/pdo_sqlsrv/pdo_308_empty_output_param.phpt diff --git a/test/pdo_sqlsrv/pdo_336_pho_exec_empty_result_set_error.phpt b/test/functional/pdo_sqlsrv/pdo_336_pho_exec_empty_result_set_error.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_336_pho_exec_empty_result_set_error.phpt rename to test/functional/pdo_sqlsrv/pdo_336_pho_exec_empty_result_set_error.phpt diff --git a/test/pdo_sqlsrv/pdo_378_out_param_error.phpt b/test/functional/pdo_sqlsrv/pdo_378_out_param_error.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_378_out_param_error.phpt rename to test/functional/pdo_sqlsrv/pdo_378_out_param_error.phpt diff --git a/test/pdo_sqlsrv/pdo_TNIR.phpt b/test/functional/pdo_sqlsrv/pdo_TNIR.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_TNIR.phpt rename to test/functional/pdo_sqlsrv/pdo_TNIR.phpt diff --git a/test/pdo_sqlsrv/pdo_azure_ad_authentication.phpt b/test/functional/pdo_sqlsrv/pdo_azure_ad_authentication.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_azure_ad_authentication.phpt rename to test/functional/pdo_sqlsrv/pdo_azure_ad_authentication.phpt diff --git a/test/pdo_sqlsrv/pdo_bindparam_inout_binary_encoding.phpt b/test/functional/pdo_sqlsrv/pdo_bindparam_inout_binary_encoding.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_bindparam_inout_binary_encoding.phpt rename to test/functional/pdo_sqlsrv/pdo_bindparam_inout_binary_encoding.phpt diff --git a/test/pdo_sqlsrv/pdo_connection_quote.phpt b/test/functional/pdo_sqlsrv/pdo_connection_quote.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_connection_quote.phpt rename to test/functional/pdo_sqlsrv/pdo_connection_quote.phpt diff --git a/test/pdo_sqlsrv/pdo_connection_resiliency.phpt b/test/functional/pdo_sqlsrv/pdo_connection_resiliency.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_connection_resiliency.phpt rename to test/functional/pdo_sqlsrv/pdo_connection_resiliency.phpt diff --git a/test/pdo_sqlsrv/pdo_connection_resiliency_keywords.phpt b/test/functional/pdo_sqlsrv/pdo_connection_resiliency_keywords.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_connection_resiliency_keywords.phpt rename to test/functional/pdo_sqlsrv/pdo_connection_resiliency_keywords.phpt diff --git a/test/pdo_sqlsrv/pdo_connection_resiliency_prepare_transact.phpt b/test/functional/pdo_sqlsrv/pdo_connection_resiliency_prepare_transact.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_connection_resiliency_prepare_transact.phpt rename to test/functional/pdo_sqlsrv/pdo_connection_resiliency_prepare_transact.phpt diff --git a/test/pdo_sqlsrv/pdo_connection_resiliency_timeouts.phpt b/test/functional/pdo_sqlsrv/pdo_connection_resiliency_timeouts.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_connection_resiliency_timeouts.phpt rename to test/functional/pdo_sqlsrv/pdo_connection_resiliency_timeouts.phpt diff --git a/test/pdo_sqlsrv/pdo_construct.phpt b/test/functional/pdo_sqlsrv/pdo_construct.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_construct.phpt rename to test/functional/pdo_sqlsrv/pdo_construct.phpt diff --git a/test/pdo_sqlsrv/pdo_construct_TransactionIsolation.phpt b/test/functional/pdo_sqlsrv/pdo_construct_TransactionIsolation.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_construct_TransactionIsolation.phpt rename to test/functional/pdo_sqlsrv/pdo_construct_TransactionIsolation.phpt diff --git a/test/pdo_sqlsrv/pdo_construct_attr.phpt b/test/functional/pdo_sqlsrv/pdo_construct_attr.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_construct_attr.phpt rename to test/functional/pdo_sqlsrv/pdo_construct_attr.phpt diff --git a/test/pdo_sqlsrv/pdo_construct_conn_options.phpt b/test/functional/pdo_sqlsrv/pdo_construct_conn_options.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_construct_conn_options.phpt rename to test/functional/pdo_sqlsrv/pdo_construct_conn_options.phpt diff --git a/test/pdo_sqlsrv/pdo_construct_dsn_error.phpt b/test/functional/pdo_sqlsrv/pdo_construct_dsn_error.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_construct_dsn_error.phpt rename to test/functional/pdo_sqlsrv/pdo_construct_dsn_error.phpt diff --git a/test/pdo_sqlsrv/pdo_error.phpt b/test/functional/pdo_sqlsrv/pdo_error.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_error.phpt rename to test/functional/pdo_sqlsrv/pdo_error.phpt diff --git a/test/pdo_sqlsrv/pdo_errorMode.phpt b/test/functional/pdo_sqlsrv/pdo_errorMode.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_errorMode.phpt rename to test/functional/pdo_sqlsrv/pdo_errorMode.phpt diff --git a/test/pdo_sqlsrv/pdo_errorinfo_emulateprepare.phpt b/test/functional/pdo_sqlsrv/pdo_errorinfo_emulateprepare.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_errorinfo_emulateprepare.phpt rename to test/functional/pdo_sqlsrv/pdo_errorinfo_emulateprepare.phpt diff --git a/test/pdo_sqlsrv/pdo_exec.phpt b/test/functional/pdo_sqlsrv/pdo_exec.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_exec.phpt rename to test/functional/pdo_sqlsrv/pdo_exec.phpt diff --git a/test/pdo_sqlsrv/pdo_exec_invalid_query.phpt b/test/functional/pdo_sqlsrv/pdo_exec_invalid_query.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_exec_invalid_query.phpt rename to test/functional/pdo_sqlsrv/pdo_exec_invalid_query.phpt diff --git a/test/pdo_sqlsrv/pdo_fetch_bindcolumn_fetchmode.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_bindcolumn_fetchmode.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_fetch_bindcolumn_fetchmode.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_bindcolumn_fetchmode.phpt diff --git a/test/pdo_sqlsrv/pdo_fetch_columns_fetchmode.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_columns_fetchmode.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_fetch_columns_fetchmode.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_columns_fetchmode.phpt diff --git a/test/pdo_sqlsrv/pdo_fetch_complex_transactions.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_complex_transactions.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_fetch_complex_transactions.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_complex_transactions.phpt diff --git a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_binary.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_binary.phpt similarity index 97% rename from test/pdo_sqlsrv/pdo_fetch_cursorBuffered_binary.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_binary.phpt index ed59de5b..a9c3e965 100644 --- a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_binary.phpt +++ b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_binary.phpt @@ -1,105 +1,105 @@ ---TEST-- -prepare with cursor buffered and fetch a varbinary column ---SKIPIF-- - ---FILE-- -setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); -$sample = 'asdgasdgasdgsadg'; - -$query = 'CREATE TABLE #TESTTABLE (exist varbinary(max))'; -$stmt = $conn->exec($query); -$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; -$stmt = $conn->prepare($query); -$stmt->bindParam(':p0', $sample, PDO::PARAM_LOB, 0, PDO::SQLSRV_ENCODING_BINARY); -$stmt->execute(); - -$query = 'SELECT TOP 1 * FROM #TESTTABLE'; - -//prepare with no buffered cursor -print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -//prepare with client buffered cursor -print "\nbuffered cursor, stringify off, fetch_numeric off\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -$stmt = null; -$conn = null; - -?> ---EXPECT-- -no buffered cursor, stringify off, fetch_numeric off -string(16) "asdgasdgasdgsadg" - -no buffered cursor, stringify off, fetch_numeric on -string(16) "asdgasdgasdgsadg" - -no buffered cursor, stringify on, fetch_numeric on -string(16) "asdgasdgasdgsadg" - -no buffered cursor, stringify on, fetch_numeric off -string(16) "asdgasdgasdgsadg" - -buffered cursor, stringify off, fetch_numeric off -string(16) "asdgasdgasdgsadg" - -buffered cursor, stringify off, fetch_numeric on -string(16) "asdgasdgasdgsadg" - -buffered cursor, stringify on, fetch_numeric on -string(16) "asdgasdgasdgsadg" - -buffered cursor, stringify on, fetch_numeric off -string(16) "asdgasdgasdgsadg" +--TEST-- +prepare with cursor buffered and fetch a varbinary column +--SKIPIF-- + +--FILE-- +setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); +$sample = 'asdgasdgasdgsadg'; + +$query = 'CREATE TABLE #TESTTABLE (exist varbinary(max))'; +$stmt = $conn->exec($query); +$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; +$stmt = $conn->prepare($query); +$stmt->bindParam(':p0', $sample, PDO::PARAM_LOB, 0, PDO::SQLSRV_ENCODING_BINARY); +$stmt->execute(); + +$query = 'SELECT TOP 1 * FROM #TESTTABLE'; + +//prepare with no buffered cursor +print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +//prepare with client buffered cursor +print "\nbuffered cursor, stringify off, fetch_numeric off\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +$stmt = null; +$conn = null; + +?> +--EXPECT-- +no buffered cursor, stringify off, fetch_numeric off +string(16) "asdgasdgasdgsadg" + +no buffered cursor, stringify off, fetch_numeric on +string(16) "asdgasdgasdgsadg" + +no buffered cursor, stringify on, fetch_numeric on +string(16) "asdgasdgasdgsadg" + +no buffered cursor, stringify on, fetch_numeric off +string(16) "asdgasdgasdgsadg" + +buffered cursor, stringify off, fetch_numeric off +string(16) "asdgasdgasdgsadg" + +buffered cursor, stringify off, fetch_numeric on +string(16) "asdgasdgasdgsadg" + +buffered cursor, stringify on, fetch_numeric on +string(16) "asdgasdgasdgsadg" + +buffered cursor, stringify on, fetch_numeric off +string(16) "asdgasdgasdgsadg" diff --git a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_char.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_char.phpt similarity index 97% rename from test/pdo_sqlsrv/pdo_fetch_cursorBuffered_char.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_char.phpt index 7c2c808d..5c501003 100644 --- a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_char.phpt +++ b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_char.phpt @@ -1,105 +1,105 @@ ---TEST-- -prepare with cursor buffered and fetch a varchar column ---SKIPIF-- - ---FILE-- -setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); -$sample = "eight"; - -$query = 'CREATE TABLE #TESTTABLE (exist varchar(10))'; -$stmt = $conn->exec($query); -$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; -$stmt = $conn->prepare($query); -$stmt->bindValue(':p0', $sample, PDO::PARAM_STR); -$stmt->execute(); - -$query = 'SELECT TOP 1 * FROM #TESTTABLE'; - -//prepare with no buffered cursor -print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -//prepare with client buffered cursor -print "\nbuffered cursor, stringify off, fetch_numeric off\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -$stmt = null; -$conn = null; - -?> ---EXPECT-- -no buffered cursor, stringify off, fetch_numeric off -string(5) "eight" - -no buffered cursor, stringify off, fetch_numeric on -string(5) "eight" - -no buffered cursor, stringify on, fetch_numeric on -string(5) "eight" - -no buffered cursor, stringify on, fetch_numeric off -string(5) "eight" - -buffered cursor, stringify off, fetch_numeric off -string(5) "eight" - -buffered cursor, stringify off, fetch_numeric on -string(5) "eight" - -buffered cursor, stringify on, fetch_numeric on -string(5) "eight" - -buffered cursor, stringify on, fetch_numeric off -string(5) "eight" +--TEST-- +prepare with cursor buffered and fetch a varchar column +--SKIPIF-- + +--FILE-- +setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); +$sample = "eight"; + +$query = 'CREATE TABLE #TESTTABLE (exist varchar(10))'; +$stmt = $conn->exec($query); +$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; +$stmt = $conn->prepare($query); +$stmt->bindValue(':p0', $sample, PDO::PARAM_STR); +$stmt->execute(); + +$query = 'SELECT TOP 1 * FROM #TESTTABLE'; + +//prepare with no buffered cursor +print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +//prepare with client buffered cursor +print "\nbuffered cursor, stringify off, fetch_numeric off\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +$stmt = null; +$conn = null; + +?> +--EXPECT-- +no buffered cursor, stringify off, fetch_numeric off +string(5) "eight" + +no buffered cursor, stringify off, fetch_numeric on +string(5) "eight" + +no buffered cursor, stringify on, fetch_numeric on +string(5) "eight" + +no buffered cursor, stringify on, fetch_numeric off +string(5) "eight" + +buffered cursor, stringify off, fetch_numeric off +string(5) "eight" + +buffered cursor, stringify off, fetch_numeric on +string(5) "eight" + +buffered cursor, stringify on, fetch_numeric on +string(5) "eight" + +buffered cursor, stringify on, fetch_numeric off +string(5) "eight" diff --git a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_datetime.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_datetime.phpt similarity index 97% rename from test/pdo_sqlsrv/pdo_fetch_cursorBuffered_datetime.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_datetime.phpt index 6fcfc6d0..c698f14b 100644 --- a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_datetime.phpt +++ b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_datetime.phpt @@ -1,105 +1,105 @@ ---TEST-- -prepare with cursor buffered and fetch a datetime column ---SKIPIF-- - ---FILE-- -setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); -$sample = '2012-06-18 10:34:09'; - -$query = 'CREATE TABLE #TESTTABLE (exist datetime)'; -$stmt = $conn->exec($query); -$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; -$stmt = $conn->prepare($query); -$stmt->bindParam(':p0', $sample, PDO::PARAM_LOB); -$stmt->execute(); - -$query = 'SELECT TOP 1 * FROM #TESTTABLE'; - -//prepare with no buffered cursor -print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -//prepare with client buffered cursor -print "\nbuffered cursor, stringify off, fetch_numeric off\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -$stmt = null; -$conn = null; - -?> ---EXPECT-- -no buffered cursor, stringify off, fetch_numeric off -string(23) "2012-06-18 10:34:09.000" - -no buffered cursor, stringify off, fetch_numeric on -string(23) "2012-06-18 10:34:09.000" - -no buffered cursor, stringify on, fetch_numeric on -string(23) "2012-06-18 10:34:09.000" - -no buffered cursor, stringify on, fetch_numeric off -string(23) "2012-06-18 10:34:09.000" - -buffered cursor, stringify off, fetch_numeric off -string(23) "2012-06-18 10:34:09.000" - -buffered cursor, stringify off, fetch_numeric on -string(23) "2012-06-18 10:34:09.000" - -buffered cursor, stringify on, fetch_numeric on -string(23) "2012-06-18 10:34:09.000" - -buffered cursor, stringify on, fetch_numeric off -string(23) "2012-06-18 10:34:09.000" +--TEST-- +prepare with cursor buffered and fetch a datetime column +--SKIPIF-- + +--FILE-- +setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); +$sample = '2012-06-18 10:34:09'; + +$query = 'CREATE TABLE #TESTTABLE (exist datetime)'; +$stmt = $conn->exec($query); +$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; +$stmt = $conn->prepare($query); +$stmt->bindParam(':p0', $sample, PDO::PARAM_LOB); +$stmt->execute(); + +$query = 'SELECT TOP 1 * FROM #TESTTABLE'; + +//prepare with no buffered cursor +print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +//prepare with client buffered cursor +print "\nbuffered cursor, stringify off, fetch_numeric off\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +$stmt = null; +$conn = null; + +?> +--EXPECT-- +no buffered cursor, stringify off, fetch_numeric off +string(23) "2012-06-18 10:34:09.000" + +no buffered cursor, stringify off, fetch_numeric on +string(23) "2012-06-18 10:34:09.000" + +no buffered cursor, stringify on, fetch_numeric on +string(23) "2012-06-18 10:34:09.000" + +no buffered cursor, stringify on, fetch_numeric off +string(23) "2012-06-18 10:34:09.000" + +buffered cursor, stringify off, fetch_numeric off +string(23) "2012-06-18 10:34:09.000" + +buffered cursor, stringify off, fetch_numeric on +string(23) "2012-06-18 10:34:09.000" + +buffered cursor, stringify on, fetch_numeric on +string(23) "2012-06-18 10:34:09.000" + +buffered cursor, stringify on, fetch_numeric off +string(23) "2012-06-18 10:34:09.000" diff --git a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_decimal.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_decimal.phpt similarity index 97% rename from test/pdo_sqlsrv/pdo_fetch_cursorBuffered_decimal.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_decimal.phpt index 975f53d7..173fd6d8 100644 --- a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_decimal.phpt +++ b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_decimal.phpt @@ -1,105 +1,105 @@ ---TEST-- -prepare with cursor buffered and fetch a decimal column ---SKIPIF-- - ---FILE-- -setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); -$sample = 1234567890.1234; - -$query = 'CREATE TABLE #TESTTABLE (exist decimal(16, 6))'; -$stmt = $conn->exec($query); -$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; -$stmt = $conn->prepare($query); -$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); -$stmt->execute(); - -$query = 'SELECT TOP 1 * FROM #TESTTABLE'; - -//prepare with no buffered cursor -print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -//prepare with client buffered cursor -print "\nbuffered cursor, stringify off, fetch_numeric off\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -$stmt = null; -$conn = null; - -?> ---EXPECT-- -no buffered cursor, stringify off, fetch_numeric off -string(17) "1234567890.123400" - -no buffered cursor, stringify off, fetch_numeric on -string(17) "1234567890.123400" - -no buffered cursor, stringify on, fetch_numeric on -string(17) "1234567890.123400" - -no buffered cursor, stringify on, fetch_numeric off -string(17) "1234567890.123400" - -buffered cursor, stringify off, fetch_numeric off -string(17) "1234567890.123400" - -buffered cursor, stringify off, fetch_numeric on -string(17) "1234567890.123400" - -buffered cursor, stringify on, fetch_numeric on -string(17) "1234567890.123400" - -buffered cursor, stringify on, fetch_numeric off -string(17) "1234567890.123400" +--TEST-- +prepare with cursor buffered and fetch a decimal column +--SKIPIF-- + +--FILE-- +setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); +$sample = 1234567890.1234; + +$query = 'CREATE TABLE #TESTTABLE (exist decimal(16, 6))'; +$stmt = $conn->exec($query); +$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; +$stmt = $conn->prepare($query); +$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); +$stmt->execute(); + +$query = 'SELECT TOP 1 * FROM #TESTTABLE'; + +//prepare with no buffered cursor +print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +//prepare with client buffered cursor +print "\nbuffered cursor, stringify off, fetch_numeric off\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +$stmt = null; +$conn = null; + +?> +--EXPECT-- +no buffered cursor, stringify off, fetch_numeric off +string(17) "1234567890.123400" + +no buffered cursor, stringify off, fetch_numeric on +string(17) "1234567890.123400" + +no buffered cursor, stringify on, fetch_numeric on +string(17) "1234567890.123400" + +no buffered cursor, stringify on, fetch_numeric off +string(17) "1234567890.123400" + +buffered cursor, stringify off, fetch_numeric off +string(17) "1234567890.123400" + +buffered cursor, stringify off, fetch_numeric on +string(17) "1234567890.123400" + +buffered cursor, stringify on, fetch_numeric on +string(17) "1234567890.123400" + +buffered cursor, stringify on, fetch_numeric off +string(17) "1234567890.123400" diff --git a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_decimal_bindColumn_int.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_decimal_bindColumn_int.phpt similarity index 97% rename from test/pdo_sqlsrv/pdo_fetch_cursorBuffered_decimal_bindColumn_int.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_decimal_bindColumn_int.phpt index e2ac5b4d..9a5d8c33 100644 --- a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_decimal_bindColumn_int.phpt +++ b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_decimal_bindColumn_int.phpt @@ -1,113 +1,113 @@ ---TEST-- -prepare with cursor buffered and fetch a decimal column with the column bound and specified to pdo type int ---SKIPIF-- - ---FILE-- -setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); -$sample = 1234567890.1234; - -$query = 'CREATE TABLE #TESTTABLE (exist decimal(18, 8))'; -$stmt = $conn->exec($query); -$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; -$stmt = $conn->prepare($query); -$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); -$stmt->execute(); - -$query = 'SELECT exist FROM #TESTTABLE'; - -//prepare with no buffered cursor -print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default -$stmt = $conn->prepare($query); -$stmt->execute(); -$stmt->bindColumn('exist', $decimal_col, PDO::PARAM_INT); -$value = $stmt->fetch( PDO::FETCH_BOUND ); -var_dump ($decimal_col); - -print "\nno buffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$stmt->bindColumn('exist', $decimal_col, PDO::PARAM_INT); -$value = $stmt->fetch(PDO::FETCH_BOUND); -var_dump ($decimal_col); - -print "\nno buffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$stmt->bindColumn('exist', $decimal_col, PDO::PARAM_INT); -$value = $stmt->fetch(PDO::FETCH_BOUND); -var_dump ($decimal_col); - -print "\nno buffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query); -$stmt->execute(); -$stmt->bindColumn('exist', $decimal_col, PDO::PARAM_INT); -$value = $stmt->fetch(PDO::FETCH_BOUND); -var_dump ($decimal_col); - -//prepare with client buffered cursor -print "\nbuffered cursor, stringify off, fetch_numeric off\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$stmt->bindColumn('exist', $decimal_col, PDO::PARAM_INT); -$value = $stmt->fetch(PDO::FETCH_BOUND); -var_dump ($decimal_col); - -print "\nbuffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$stmt->bindColumn('exist', $decimal_col, PDO::PARAM_INT); -$value = $stmt->fetch(PDO::FETCH_BOUND); -var_dump ($decimal_col); - -print "\nbuffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$stmt->bindColumn('exist', $decimal_col, PDO::PARAM_INT); -$value = $stmt->fetch(PDO::FETCH_BOUND); -var_dump ($decimal_col); - -print "\nbuffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$stmt->bindColumn('exist', $decimal_col, PDO::PARAM_INT); -$value = $stmt->fetch(PDO::FETCH_BOUND); -var_dump ($decimal_col); - -$stmt = null; -$conn = null; - -?> ---EXPECT-- -no buffered cursor, stringify off, fetch_numeric off -int(1234567890) - -no buffered cursor, stringify off, fetch_numeric on -int(1234567890) - -no buffered cursor, stringify on, fetch_numeric on -string(10) "1234567890" - -no buffered cursor, stringify on, fetch_numeric off -string(10) "1234567890" - -buffered cursor, stringify off, fetch_numeric off -int(1234567890) - -buffered cursor, stringify off, fetch_numeric on -int(1234567890) - -buffered cursor, stringify on, fetch_numeric on -string(10) "1234567890" - -buffered cursor, stringify on, fetch_numeric off -string(10) "1234567890" +--TEST-- +prepare with cursor buffered and fetch a decimal column with the column bound and specified to pdo type int +--SKIPIF-- + +--FILE-- +setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); +$sample = 1234567890.1234; + +$query = 'CREATE TABLE #TESTTABLE (exist decimal(18, 8))'; +$stmt = $conn->exec($query); +$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; +$stmt = $conn->prepare($query); +$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); +$stmt->execute(); + +$query = 'SELECT exist FROM #TESTTABLE'; + +//prepare with no buffered cursor +print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default +$stmt = $conn->prepare($query); +$stmt->execute(); +$stmt->bindColumn('exist', $decimal_col, PDO::PARAM_INT); +$value = $stmt->fetch( PDO::FETCH_BOUND ); +var_dump ($decimal_col); + +print "\nno buffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$stmt->bindColumn('exist', $decimal_col, PDO::PARAM_INT); +$value = $stmt->fetch(PDO::FETCH_BOUND); +var_dump ($decimal_col); + +print "\nno buffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$stmt->bindColumn('exist', $decimal_col, PDO::PARAM_INT); +$value = $stmt->fetch(PDO::FETCH_BOUND); +var_dump ($decimal_col); + +print "\nno buffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query); +$stmt->execute(); +$stmt->bindColumn('exist', $decimal_col, PDO::PARAM_INT); +$value = $stmt->fetch(PDO::FETCH_BOUND); +var_dump ($decimal_col); + +//prepare with client buffered cursor +print "\nbuffered cursor, stringify off, fetch_numeric off\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$stmt->bindColumn('exist', $decimal_col, PDO::PARAM_INT); +$value = $stmt->fetch(PDO::FETCH_BOUND); +var_dump ($decimal_col); + +print "\nbuffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$stmt->bindColumn('exist', $decimal_col, PDO::PARAM_INT); +$value = $stmt->fetch(PDO::FETCH_BOUND); +var_dump ($decimal_col); + +print "\nbuffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$stmt->bindColumn('exist', $decimal_col, PDO::PARAM_INT); +$value = $stmt->fetch(PDO::FETCH_BOUND); +var_dump ($decimal_col); + +print "\nbuffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$stmt->bindColumn('exist', $decimal_col, PDO::PARAM_INT); +$value = $stmt->fetch(PDO::FETCH_BOUND); +var_dump ($decimal_col); + +$stmt = null; +$conn = null; + +?> +--EXPECT-- +no buffered cursor, stringify off, fetch_numeric off +int(1234567890) + +no buffered cursor, stringify off, fetch_numeric on +int(1234567890) + +no buffered cursor, stringify on, fetch_numeric on +string(10) "1234567890" + +no buffered cursor, stringify on, fetch_numeric off +string(10) "1234567890" + +buffered cursor, stringify off, fetch_numeric off +int(1234567890) + +buffered cursor, stringify off, fetch_numeric on +int(1234567890) + +buffered cursor, stringify on, fetch_numeric on +string(10) "1234567890" + +buffered cursor, stringify on, fetch_numeric off +string(10) "1234567890" diff --git a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_float.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_float.phpt similarity index 97% rename from test/pdo_sqlsrv/pdo_fetch_cursorBuffered_float.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_float.phpt index 6a74d163..f8c9ba08 100644 --- a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_float.phpt +++ b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_float.phpt @@ -1,141 +1,141 @@ ---TEST-- -prepare with cursor buffered and fetch a float column ---SKIPIF-- - ---FILE-- -setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); -$sample = 1234567890.1234; - -$query = 'CREATE TABLE #TESTTABLE (exist float(53))'; -$stmt = $conn->exec($query); -$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; -$stmt = $conn->prepare($query); -$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); -$stmt->execute(); - -$query = 'SELECT TOP 1 * FROM #TESTTABLE'; - -//prepare with no buffered cursor -print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); -$ok = FlatsAreEqual($sample, $value) ? 'TRUE' : 'FALSE'; -print "\nFetched value = Input? $ok\n\n"; - -print "no buffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); -$ok = FlatsAreEqual($sample, $value) ? 'TRUE' : 'FALSE'; -print "\nFetched value = Input? $ok\n\n"; - -print "no buffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); -$ok = FlatsAreEqual($sample, $value) ? 'TRUE' : 'FALSE'; -print "\nFetched value = Input? $ok\n\n"; - -print "no buffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); -$ok = FlatsAreEqual($sample, $value) ? 'TRUE' : 'FALSE'; -print "\nFetched value = Input? $ok\n\n"; - -//prepare with client buffered cursor -print "buffered cursor, stringify off, fetch_numeric off\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); -$ok = FlatsAreEqual($sample, $value) ? 'TRUE' : 'FALSE'; -print "\nFetched value = Input? $ok\n\n"; - -print "buffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); -$ok = FlatsAreEqual($sample, $value) ? 'TRUE' : 'FALSE'; -print "\nFetched value = Input? $ok\n\n"; - -print "buffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); -$ok = FlatsAreEqual($sample, $value) ? 'TRUE' : 'FALSE'; -print "\nFetched value = Input? $ok\n\n"; - -print "buffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); -$ok = FlatsAreEqual($sample, $value) ? 'TRUE' : 'FALSE'; -print "\nFetched value = Input? $ok\n\n"; - -$stmt = null; -$conn = null; - -?> ---EXPECT-- -no buffered cursor, stringify off, fetch_numeric off -string(15) "1234567890.1234" - -Fetched value = Input? TRUE - -no buffered cursor, stringify off, fetch_numeric on -float(1234567890.1234) - -Fetched value = Input? TRUE - -no buffered cursor, stringify on, fetch_numeric on -string(15) "1234567890.1234" - -Fetched value = Input? TRUE - -no buffered cursor, stringify on, fetch_numeric off -string(15) "1234567890.1234" - -Fetched value = Input? TRUE - -buffered cursor, stringify off, fetch_numeric off -string(15) "1234567890.1234" - -Fetched value = Input? TRUE - -buffered cursor, stringify off, fetch_numeric on -float(1234567890.1234) - -Fetched value = Input? TRUE - -buffered cursor, stringify on, fetch_numeric on -string(15) "1234567890.1234" - -Fetched value = Input? TRUE - -buffered cursor, stringify on, fetch_numeric off -string(15) "1234567890.1234" - -Fetched value = Input? TRUE +--TEST-- +prepare with cursor buffered and fetch a float column +--SKIPIF-- + +--FILE-- +setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); +$sample = 1234567890.1234; + +$query = 'CREATE TABLE #TESTTABLE (exist float(53))'; +$stmt = $conn->exec($query); +$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; +$stmt = $conn->prepare($query); +$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); +$stmt->execute(); + +$query = 'SELECT TOP 1 * FROM #TESTTABLE'; + +//prepare with no buffered cursor +print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); +$ok = FlatsAreEqual($sample, $value) ? 'TRUE' : 'FALSE'; +print "\nFetched value = Input? $ok\n\n"; + +print "no buffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); +$ok = FlatsAreEqual($sample, $value) ? 'TRUE' : 'FALSE'; +print "\nFetched value = Input? $ok\n\n"; + +print "no buffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); +$ok = FlatsAreEqual($sample, $value) ? 'TRUE' : 'FALSE'; +print "\nFetched value = Input? $ok\n\n"; + +print "no buffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); +$ok = FlatsAreEqual($sample, $value) ? 'TRUE' : 'FALSE'; +print "\nFetched value = Input? $ok\n\n"; + +//prepare with client buffered cursor +print "buffered cursor, stringify off, fetch_numeric off\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); +$ok = FlatsAreEqual($sample, $value) ? 'TRUE' : 'FALSE'; +print "\nFetched value = Input? $ok\n\n"; + +print "buffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); +$ok = FlatsAreEqual($sample, $value) ? 'TRUE' : 'FALSE'; +print "\nFetched value = Input? $ok\n\n"; + +print "buffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); +$ok = FlatsAreEqual($sample, $value) ? 'TRUE' : 'FALSE'; +print "\nFetched value = Input? $ok\n\n"; + +print "buffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); +$ok = FlatsAreEqual($sample, $value) ? 'TRUE' : 'FALSE'; +print "\nFetched value = Input? $ok\n\n"; + +$stmt = null; +$conn = null; + +?> +--EXPECT-- +no buffered cursor, stringify off, fetch_numeric off +string(15) "1234567890.1234" + +Fetched value = Input? TRUE + +no buffered cursor, stringify off, fetch_numeric on +float(1234567890.1234) + +Fetched value = Input? TRUE + +no buffered cursor, stringify on, fetch_numeric on +string(15) "1234567890.1234" + +Fetched value = Input? TRUE + +no buffered cursor, stringify on, fetch_numeric off +string(15) "1234567890.1234" + +Fetched value = Input? TRUE + +buffered cursor, stringify off, fetch_numeric off +string(15) "1234567890.1234" + +Fetched value = Input? TRUE + +buffered cursor, stringify off, fetch_numeric on +float(1234567890.1234) + +Fetched value = Input? TRUE + +buffered cursor, stringify on, fetch_numeric on +string(15) "1234567890.1234" + +Fetched value = Input? TRUE + +buffered cursor, stringify on, fetch_numeric off +string(15) "1234567890.1234" + +Fetched value = Input? TRUE diff --git a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_float_bindColumn_lob.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_float_bindColumn_lob.phpt similarity index 97% rename from test/pdo_sqlsrv/pdo_fetch_cursorBuffered_float_bindColumn_lob.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_float_bindColumn_lob.phpt index 8f6ecc3e..3e387cc8 100644 --- a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_float_bindColumn_lob.phpt +++ b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_float_bindColumn_lob.phpt @@ -1,117 +1,117 @@ ---TEST-- -prepare with cursor buffered and fetch a float column with the column bound and specified to type LOB ---SKIPIF-- - ---FILE-- -setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); -$sample = 1234567890.1234; - -$query = 'CREATE TABLE #TESTTABLE (exist float(53))'; -$stmt = $conn->exec($query); -$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; -$stmt = $conn->prepare($query); -$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); -$stmt->execute(); - -$query = 'SELECT exist FROM #TESTTABLE'; - -//prepare with no buffered cursor -print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default -$stmt = $conn->prepare($query); -$stmt->execute(); -$stmt->bindColumn('exist', $float_col, PDO::PARAM_LOB); -$value = $stmt->fetch(); -var_dump ($float_col); - -print "\nno buffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$stmt->bindColumn('exist', $float_col, PDO::PARAM_LOB); -$value = $stmt->fetch(); -var_dump ($float_col); - -print "\nno buffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$stmt->bindColumn('exist', $float_col, PDO::PARAM_LOB); -$value = $stmt->fetch(); -var_dump ($float_col); - -print "\nno buffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query); -$stmt->execute(); -$stmt->bindColumn('exist', $float_col, PDO::PARAM_LOB); -$value = $stmt->fetch(); -var_dump ($float_col); - -//prepare with client buffered cursor -print "\nbuffered cursor, stringify off, fetch_numeric off\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$stmt->bindColumn('exist', $float_col, PDO::PARAM_LOB); -$value = $stmt->fetch(); -var_dump ($float_col); - -print "\nbuffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$stmt->bindColumn('exist', $float_col, PDO::PARAM_LOB); -$value = $stmt->fetch(); -var_dump ($float_col); - -print "\nbuffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$stmt->bindColumn('exist', $float_col, PDO::PARAM_LOB); -$value = $stmt->fetch(); -var_dump ($float_col); - -print "\nbuffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$stmt->bindColumn('exist', $float_col, PDO::PARAM_LOB); -$value = $stmt->fetch(); -var_dump ($float_col); - -$stmt = null; -$conn = null; - -?> ---EXPECT-- -no buffered cursor, stringify off, fetch_numeric off -string(15) "1234567890.1234" - -no buffered cursor, stringify off, fetch_numeric on -string(15) "1234567890.1234" - -no buffered cursor, stringify on, fetch_numeric on -string(15) "1234567890.1234" - -no buffered cursor, stringify on, fetch_numeric off -string(15) "1234567890.1234" - -buffered cursor, stringify off, fetch_numeric off -string(15) "1234567890.1234" - -buffered cursor, stringify off, fetch_numeric on -string(15) "1234567890.1234" - -buffered cursor, stringify on, fetch_numeric on -string(15) "1234567890.1234" - -buffered cursor, stringify on, fetch_numeric off -string(15) "1234567890.1234" +--TEST-- +prepare with cursor buffered and fetch a float column with the column bound and specified to type LOB +--SKIPIF-- + +--FILE-- +setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); +$sample = 1234567890.1234; + +$query = 'CREATE TABLE #TESTTABLE (exist float(53))'; +$stmt = $conn->exec($query); +$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; +$stmt = $conn->prepare($query); +$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); +$stmt->execute(); + +$query = 'SELECT exist FROM #TESTTABLE'; + +//prepare with no buffered cursor +print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default +$stmt = $conn->prepare($query); +$stmt->execute(); +$stmt->bindColumn('exist', $float_col, PDO::PARAM_LOB); +$value = $stmt->fetch(); +var_dump ($float_col); + +print "\nno buffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$stmt->bindColumn('exist', $float_col, PDO::PARAM_LOB); +$value = $stmt->fetch(); +var_dump ($float_col); + +print "\nno buffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$stmt->bindColumn('exist', $float_col, PDO::PARAM_LOB); +$value = $stmt->fetch(); +var_dump ($float_col); + +print "\nno buffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query); +$stmt->execute(); +$stmt->bindColumn('exist', $float_col, PDO::PARAM_LOB); +$value = $stmt->fetch(); +var_dump ($float_col); + +//prepare with client buffered cursor +print "\nbuffered cursor, stringify off, fetch_numeric off\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$stmt->bindColumn('exist', $float_col, PDO::PARAM_LOB); +$value = $stmt->fetch(); +var_dump ($float_col); + +print "\nbuffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$stmt->bindColumn('exist', $float_col, PDO::PARAM_LOB); +$value = $stmt->fetch(); +var_dump ($float_col); + +print "\nbuffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$stmt->bindColumn('exist', $float_col, PDO::PARAM_LOB); +$value = $stmt->fetch(); +var_dump ($float_col); + +print "\nbuffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$stmt->bindColumn('exist', $float_col, PDO::PARAM_LOB); +$value = $stmt->fetch(); +var_dump ($float_col); + +$stmt = null; +$conn = null; + +?> +--EXPECT-- +no buffered cursor, stringify off, fetch_numeric off +string(15) "1234567890.1234" + +no buffered cursor, stringify off, fetch_numeric on +string(15) "1234567890.1234" + +no buffered cursor, stringify on, fetch_numeric on +string(15) "1234567890.1234" + +no buffered cursor, stringify on, fetch_numeric off +string(15) "1234567890.1234" + +buffered cursor, stringify off, fetch_numeric off +string(15) "1234567890.1234" + +buffered cursor, stringify off, fetch_numeric on +string(15) "1234567890.1234" + +buffered cursor, stringify on, fetch_numeric on +string(15) "1234567890.1234" + +buffered cursor, stringify on, fetch_numeric off +string(15) "1234567890.1234" diff --git a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_int.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_int.phpt similarity index 97% rename from test/pdo_sqlsrv/pdo_fetch_cursorBuffered_int.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_int.phpt index 4d377301..b56b31d3 100644 --- a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_int.phpt +++ b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_int.phpt @@ -1,105 +1,105 @@ ---TEST-- -prepare with cursor buffered and fetch a int column ---SKIPIF-- - ---FILE-- -setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); -$sample = 1234567890; - -$query = 'CREATE TABLE #TESTTABLE (exist int)'; -$stmt = $conn->exec($query); -$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; -$stmt = $conn->prepare($query); -$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); -$stmt->execute(); - -$query = 'SELECT TOP 1 * FROM #TESTTABLE'; - -//prepare with no buffered cursor -print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -//prepare with client buffered cursor -print "\nbuffered cursor, stringify off, fetch_numeric off\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -$stmt = null; -$conn = null; - -?> ---EXPECT-- -no buffered cursor, stringify off, fetch_numeric off -string(10) "1234567890" - -no buffered cursor, stringify off, fetch_numeric on -int(1234567890) - -no buffered cursor, stringify on, fetch_numeric on -string(10) "1234567890" - -no buffered cursor, stringify on, fetch_numeric off -string(10) "1234567890" - -buffered cursor, stringify off, fetch_numeric off -string(10) "1234567890" - -buffered cursor, stringify off, fetch_numeric on -int(1234567890) - -buffered cursor, stringify on, fetch_numeric on -string(10) "1234567890" - -buffered cursor, stringify on, fetch_numeric off -string(10) "1234567890" +--TEST-- +prepare with cursor buffered and fetch a int column +--SKIPIF-- + +--FILE-- +setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); +$sample = 1234567890; + +$query = 'CREATE TABLE #TESTTABLE (exist int)'; +$stmt = $conn->exec($query); +$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; +$stmt = $conn->prepare($query); +$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); +$stmt->execute(); + +$query = 'SELECT TOP 1 * FROM #TESTTABLE'; + +//prepare with no buffered cursor +print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +//prepare with client buffered cursor +print "\nbuffered cursor, stringify off, fetch_numeric off\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +$stmt = null; +$conn = null; + +?> +--EXPECT-- +no buffered cursor, stringify off, fetch_numeric off +string(10) "1234567890" + +no buffered cursor, stringify off, fetch_numeric on +int(1234567890) + +no buffered cursor, stringify on, fetch_numeric on +string(10) "1234567890" + +no buffered cursor, stringify on, fetch_numeric off +string(10) "1234567890" + +buffered cursor, stringify off, fetch_numeric off +string(10) "1234567890" + +buffered cursor, stringify off, fetch_numeric on +int(1234567890) + +buffered cursor, stringify on, fetch_numeric on +string(10) "1234567890" + +buffered cursor, stringify on, fetch_numeric off +string(10) "1234567890" diff --git a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_int_bindColumn_int.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_int_bindColumn_int.phpt similarity index 97% rename from test/pdo_sqlsrv/pdo_fetch_cursorBuffered_int_bindColumn_int.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_int_bindColumn_int.phpt index 25ecc66b..be84ad13 100644 --- a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_int_bindColumn_int.phpt +++ b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_int_bindColumn_int.phpt @@ -1,114 +1,114 @@ ---TEST-- -prepare with cursor buffered and fetch a int column with the column bound and specified as pdo type int ---SKIPIF-- - ---FILE-- -setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); - -$sample = 1234567890; - -$query = 'CREATE TABLE #TESTTABLE (exist int)'; -$stmt = $conn->exec($query); -$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; -$stmt = $conn->prepare($query); -$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); -$stmt->execute(); - -$query = 'SELECT exist FROM #TESTTABLE'; - -//prepare with no buffered cursor -print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default -$stmt = $conn->prepare($query); -$stmt->execute(); -$stmt->bindColumn('exist', $int_col, PDO::PARAM_INT); -$value = $stmt->fetch( PDO::FETCH_BOUND ); -var_dump ($int_col); - -print "\nno buffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$stmt->bindColumn('exist', $int_col, PDO::PARAM_INT); -$value = $stmt->fetch( PDO::FETCH_BOUND ); -var_dump ($int_col); - -print "\nno buffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$stmt->bindColumn('exist', $int_col, PDO::PARAM_INT); -$value = $stmt->fetch( PDO::FETCH_BOUND ); -var_dump ($int_col); - -print "\nno buffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query); -$stmt->execute(); -$stmt->bindColumn('exist', $int_col, PDO::PARAM_INT); -$value = $stmt->fetch( PDO::FETCH_BOUND ); -var_dump ($int_col); - -//prepare with client buffered cursor -print "\nbuffered cursor, stringify off, fetch_numeric off\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$stmt->bindColumn('exist', $int_col, PDO::PARAM_INT); -$value = $stmt->fetch( PDO::FETCH_BOUND ); -var_dump ($int_col); - -print "\nbuffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$stmt->bindColumn('exist', $int_col, PDO::PARAM_INT); -$value = $stmt->fetch( PDO::FETCH_BOUND ); -var_dump ($int_col); - -print "\nbuffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$stmt->bindColumn('exist', $int_col, PDO::PARAM_INT); -$value = $stmt->fetch( PDO::FETCH_BOUND ); -var_dump ($int_col); - -print "\nbuffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$stmt->bindColumn('exist', $int_col, PDO::PARAM_INT); -$value = $stmt->fetch( PDO::FETCH_BOUND ); -var_dump ($int_col); - -$stmt = null; -$conn = null; - -?> ---EXPECT-- -no buffered cursor, stringify off, fetch_numeric off -int(1234567890) - -no buffered cursor, stringify off, fetch_numeric on -int(1234567890) - -no buffered cursor, stringify on, fetch_numeric on -string(10) "1234567890" - -no buffered cursor, stringify on, fetch_numeric off -string(10) "1234567890" - -buffered cursor, stringify off, fetch_numeric off -int(1234567890) - -buffered cursor, stringify off, fetch_numeric on -int(1234567890) - -buffered cursor, stringify on, fetch_numeric on -string(10) "1234567890" - -buffered cursor, stringify on, fetch_numeric off -string(10) "1234567890" +--TEST-- +prepare with cursor buffered and fetch a int column with the column bound and specified as pdo type int +--SKIPIF-- + +--FILE-- +setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); + +$sample = 1234567890; + +$query = 'CREATE TABLE #TESTTABLE (exist int)'; +$stmt = $conn->exec($query); +$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; +$stmt = $conn->prepare($query); +$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); +$stmt->execute(); + +$query = 'SELECT exist FROM #TESTTABLE'; + +//prepare with no buffered cursor +print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default +$stmt = $conn->prepare($query); +$stmt->execute(); +$stmt->bindColumn('exist', $int_col, PDO::PARAM_INT); +$value = $stmt->fetch( PDO::FETCH_BOUND ); +var_dump ($int_col); + +print "\nno buffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$stmt->bindColumn('exist', $int_col, PDO::PARAM_INT); +$value = $stmt->fetch( PDO::FETCH_BOUND ); +var_dump ($int_col); + +print "\nno buffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$stmt->bindColumn('exist', $int_col, PDO::PARAM_INT); +$value = $stmt->fetch( PDO::FETCH_BOUND ); +var_dump ($int_col); + +print "\nno buffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query); +$stmt->execute(); +$stmt->bindColumn('exist', $int_col, PDO::PARAM_INT); +$value = $stmt->fetch( PDO::FETCH_BOUND ); +var_dump ($int_col); + +//prepare with client buffered cursor +print "\nbuffered cursor, stringify off, fetch_numeric off\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$stmt->bindColumn('exist', $int_col, PDO::PARAM_INT); +$value = $stmt->fetch( PDO::FETCH_BOUND ); +var_dump ($int_col); + +print "\nbuffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$stmt->bindColumn('exist', $int_col, PDO::PARAM_INT); +$value = $stmt->fetch( PDO::FETCH_BOUND ); +var_dump ($int_col); + +print "\nbuffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$stmt->bindColumn('exist', $int_col, PDO::PARAM_INT); +$value = $stmt->fetch( PDO::FETCH_BOUND ); +var_dump ($int_col); + +print "\nbuffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$stmt->bindColumn('exist', $int_col, PDO::PARAM_INT); +$value = $stmt->fetch( PDO::FETCH_BOUND ); +var_dump ($int_col); + +$stmt = null; +$conn = null; + +?> +--EXPECT-- +no buffered cursor, stringify off, fetch_numeric off +int(1234567890) + +no buffered cursor, stringify off, fetch_numeric on +int(1234567890) + +no buffered cursor, stringify on, fetch_numeric on +string(10) "1234567890" + +no buffered cursor, stringify on, fetch_numeric off +string(10) "1234567890" + +buffered cursor, stringify off, fetch_numeric off +int(1234567890) + +buffered cursor, stringify off, fetch_numeric on +int(1234567890) + +buffered cursor, stringify on, fetch_numeric on +string(10) "1234567890" + +buffered cursor, stringify on, fetch_numeric off +string(10) "1234567890" diff --git a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_money.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_money.phpt similarity index 97% rename from test/pdo_sqlsrv/pdo_fetch_cursorBuffered_money.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_money.phpt index 930f0d89..6a0c2ba4 100644 --- a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_money.phpt +++ b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_money.phpt @@ -1,105 +1,105 @@ ---TEST-- -prepare with cursor buffered and fetch a money column ---SKIPIF-- - ---FILE-- -setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); -$sample = 1234567890.1234; - -$query = 'CREATE TABLE #TESTTABLE (exist money)'; -$stmt = $conn->exec($query); -$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; -$stmt = $conn->prepare($query); -$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); -$stmt->execute(); - -$query = 'SELECT TOP 1 * FROM #TESTTABLE'; - -//prepare with no buffered cursor -print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -//prepare with client buffered cursor -print "\nbuffered cursor, stringify off, fetch_numeric off\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -$stmt = null; -$conn = null; - -?> ---EXPECT-- -no buffered cursor, stringify off, fetch_numeric off -string(15) "1234567890.1234" - -no buffered cursor, stringify off, fetch_numeric on -string(15) "1234567890.1234" - -no buffered cursor, stringify on, fetch_numeric on -string(15) "1234567890.1234" - -no buffered cursor, stringify on, fetch_numeric off -string(15) "1234567890.1234" - -buffered cursor, stringify off, fetch_numeric off -string(15) "1234567890.1234" - -buffered cursor, stringify off, fetch_numeric on -string(15) "1234567890.1234" - -buffered cursor, stringify on, fetch_numeric on -string(15) "1234567890.1234" - -buffered cursor, stringify on, fetch_numeric off -string(15) "1234567890.1234" +--TEST-- +prepare with cursor buffered and fetch a money column +--SKIPIF-- + +--FILE-- +setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); +$sample = 1234567890.1234; + +$query = 'CREATE TABLE #TESTTABLE (exist money)'; +$stmt = $conn->exec($query); +$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; +$stmt = $conn->prepare($query); +$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); +$stmt->execute(); + +$query = 'SELECT TOP 1 * FROM #TESTTABLE'; + +//prepare with no buffered cursor +print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +//prepare with client buffered cursor +print "\nbuffered cursor, stringify off, fetch_numeric off\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +$stmt = null; +$conn = null; + +?> +--EXPECT-- +no buffered cursor, stringify off, fetch_numeric off +string(15) "1234567890.1234" + +no buffered cursor, stringify off, fetch_numeric on +string(15) "1234567890.1234" + +no buffered cursor, stringify on, fetch_numeric on +string(15) "1234567890.1234" + +no buffered cursor, stringify on, fetch_numeric off +string(15) "1234567890.1234" + +buffered cursor, stringify off, fetch_numeric off +string(15) "1234567890.1234" + +buffered cursor, stringify off, fetch_numeric on +string(15) "1234567890.1234" + +buffered cursor, stringify on, fetch_numeric on +string(15) "1234567890.1234" + +buffered cursor, stringify on, fetch_numeric off +string(15) "1234567890.1234" diff --git a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_money_bindColumn_int.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_money_bindColumn_int.phpt similarity index 97% rename from test/pdo_sqlsrv/pdo_fetch_cursorBuffered_money_bindColumn_int.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_money_bindColumn_int.phpt index f8d18868..09a6114b 100644 --- a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_money_bindColumn_int.phpt +++ b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_money_bindColumn_int.phpt @@ -1,115 +1,115 @@ ---TEST-- -prepare with cursor buffered and fetch a money column with the column bound and specified as pdo type int ---SKIPIF-- - ---FILE-- -setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); - -$sample = 1234567890.1234; - -$query = 'CREATE TABLE #TESTTABLE (exist money)'; -$stmt = $conn->exec($query); -$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; -$stmt = $conn->prepare($query); -$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); -$stmt->execute(); - -$query = 'SELECT exist FROM #TESTTABLE'; - -//prepare with no buffered cursor -print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default -$stmt = $conn->prepare($query); -$stmt->execute(); -$stmt->bindColumn('exist', $money_col, PDO::PARAM_INT); -$value = $stmt->fetch(PDO::FETCH_BOUND); -var_dump ($money_col); - -print "\nno buffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$stmt->bindColumn('exist', $money_col, PDO::PARAM_INT); -$value = $stmt->fetch(PDO::FETCH_BOUND); -var_dump ($money_col); - -print "\nno buffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$stmt->bindColumn('exist', $money_col, PDO::PARAM_INT); -$value = $stmt->fetch(PDO::FETCH_BOUND); -var_dump ($money_col); - -print "\nno buffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query); -$stmt->execute(); -$stmt->bindColumn('exist', $money_col, PDO::PARAM_INT); -$value = $stmt->fetch(PDO::FETCH_BOUND); -var_dump ($money_col); - -//prepare with client buffered cursor -print "\nbuffered cursor, stringify off, fetch_numeric off\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$stmt->bindColumn('exist', $money_col, PDO::PARAM_INT); -$value = $stmt->fetch(PDO::FETCH_BOUND); -var_dump ($money_col); - -print "\nbuffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$stmt->bindColumn('exist', $money_col, PDO::PARAM_INT); -$value = $stmt->fetch(PDO::FETCH_BOUND); -var_dump ($money_col); - -print "\nbuffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$stmt->bindColumn('exist', $money_col, PDO::PARAM_INT); -$value = $stmt->fetch(PDO::FETCH_BOUND); -var_dump ($money_col); - -print "\nbuffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$stmt->bindColumn('exist', $money_col, PDO::PARAM_INT); -$value = $stmt->fetch(PDO::FETCH_BOUND); -var_dump ($money_col); - - -$stmt = null; -$conn = null; - -?> ---EXPECT-- -no buffered cursor, stringify off, fetch_numeric off -int(1234567890) - -no buffered cursor, stringify off, fetch_numeric on -int(1234567890) - -no buffered cursor, stringify on, fetch_numeric on -string(10) "1234567890" - -no buffered cursor, stringify on, fetch_numeric off -string(10) "1234567890" - -buffered cursor, stringify off, fetch_numeric off -int(1234567890) - -buffered cursor, stringify off, fetch_numeric on -int(1234567890) - -buffered cursor, stringify on, fetch_numeric on -string(10) "1234567890" - -buffered cursor, stringify on, fetch_numeric off -string(10) "1234567890" +--TEST-- +prepare with cursor buffered and fetch a money column with the column bound and specified as pdo type int +--SKIPIF-- + +--FILE-- +setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); + +$sample = 1234567890.1234; + +$query = 'CREATE TABLE #TESTTABLE (exist money)'; +$stmt = $conn->exec($query); +$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; +$stmt = $conn->prepare($query); +$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); +$stmt->execute(); + +$query = 'SELECT exist FROM #TESTTABLE'; + +//prepare with no buffered cursor +print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default +$stmt = $conn->prepare($query); +$stmt->execute(); +$stmt->bindColumn('exist', $money_col, PDO::PARAM_INT); +$value = $stmt->fetch(PDO::FETCH_BOUND); +var_dump ($money_col); + +print "\nno buffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$stmt->bindColumn('exist', $money_col, PDO::PARAM_INT); +$value = $stmt->fetch(PDO::FETCH_BOUND); +var_dump ($money_col); + +print "\nno buffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$stmt->bindColumn('exist', $money_col, PDO::PARAM_INT); +$value = $stmt->fetch(PDO::FETCH_BOUND); +var_dump ($money_col); + +print "\nno buffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query); +$stmt->execute(); +$stmt->bindColumn('exist', $money_col, PDO::PARAM_INT); +$value = $stmt->fetch(PDO::FETCH_BOUND); +var_dump ($money_col); + +//prepare with client buffered cursor +print "\nbuffered cursor, stringify off, fetch_numeric off\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$stmt->bindColumn('exist', $money_col, PDO::PARAM_INT); +$value = $stmt->fetch(PDO::FETCH_BOUND); +var_dump ($money_col); + +print "\nbuffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$stmt->bindColumn('exist', $money_col, PDO::PARAM_INT); +$value = $stmt->fetch(PDO::FETCH_BOUND); +var_dump ($money_col); + +print "\nbuffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$stmt->bindColumn('exist', $money_col, PDO::PARAM_INT); +$value = $stmt->fetch(PDO::FETCH_BOUND); +var_dump ($money_col); + +print "\nbuffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$stmt->bindColumn('exist', $money_col, PDO::PARAM_INT); +$value = $stmt->fetch(PDO::FETCH_BOUND); +var_dump ($money_col); + + +$stmt = null; +$conn = null; + +?> +--EXPECT-- +no buffered cursor, stringify off, fetch_numeric off +int(1234567890) + +no buffered cursor, stringify off, fetch_numeric on +int(1234567890) + +no buffered cursor, stringify on, fetch_numeric on +string(10) "1234567890" + +no buffered cursor, stringify on, fetch_numeric off +string(10) "1234567890" + +buffered cursor, stringify off, fetch_numeric off +int(1234567890) + +buffered cursor, stringify off, fetch_numeric on +int(1234567890) + +buffered cursor, stringify on, fetch_numeric on +string(10) "1234567890" + +buffered cursor, stringify on, fetch_numeric off +string(10) "1234567890" diff --git a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_multicolumns.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_multicolumns.phpt similarity index 95% rename from test/pdo_sqlsrv/pdo_fetch_cursorBuffered_multicolumns.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_multicolumns.phpt index 9a56f36d..3028c37a 100644 --- a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_multicolumns.phpt +++ b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_multicolumns.phpt @@ -1,271 +1,271 @@ ---TEST-- -prepare with cursor buffered and fetch from numeric columns. ---DESCRIPTION-- -Uses buffered cursor to fetch from float, int, and decimal columns that have positive, negative and zero value. ---SKIPIF-- - ---FILE-- -setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); -$sample = 1234567890.1234; -$sample1 = -1234567890.1234; -$sample2 = 1; -$sample3 = -1; -$sample4 = 0.5; -$sample5 = -0.55; - -$query = 'CREATE TABLE #TESTTABLE (a float(53), neg_a float(53), b int, neg_b int, c decimal(16, 6), neg_c decimal(16, 6), zero int, zerof float(53), zerod decimal(16,6))'; -$stmt = $conn->exec($query); -$query = 'INSERT INTO #TESTTABLE VALUES(:p0, :p1, :p2, :p3, :p4, :p5, 0, 0, 0)'; -$stmt = $conn->prepare($query); -$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); -$stmt->bindValue(':p1', $sample1, PDO::PARAM_INT); -$stmt->bindValue(':p2', $sample2, PDO::PARAM_INT); -$stmt->bindValue(':p3', $sample3, PDO::PARAM_INT); -$stmt->bindValue(':p4', $sample4, PDO::PARAM_INT); -$stmt->bindValue(':p5', $sample5, PDO::PARAM_INT); -$stmt->execute(); - -$query = 'SELECT TOP 1 * FROM #TESTTABLE'; - -//prepare with no buffered cursor -print "\nno buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetch(PDO::FETCH_NUM); -var_dump ($value); - -print "\nno buffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetch(PDO::FETCH_NUM); -var_dump ($value); - -print "\nno buffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetch(PDO::FETCH_NUM); -var_dump ($value); - -print "\nno buffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetch(PDO::FETCH_NUM); -var_dump ($value); - -//prepare with client buffered cursor -print "\nbuffered cursor, stringify off, fetch_numeric off\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetch(PDO::FETCH_NUM); -var_dump ($value); - -print "\nbuffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetch(PDO::FETCH_NUM); -var_dump ($value); - -print "\nbuffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetch(PDO::FETCH_NUM); -var_dump ($value); - -print "\nbuffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetch(PDO::FETCH_NUM); -var_dump ($value); - -$stmt = null; -$conn = null; - -?> ---EXPECT-- -no buffered cursor, stringify off, fetch_numeric off -array(9) { - [0]=> - string(15) "1234567890.1234" - [1]=> - string(16) "-1234567890.1234" - [2]=> - string(1) "1" - [3]=> - string(2) "-1" - [4]=> - string(7) ".500000" - [5]=> - string(8) "-.550000" - [6]=> - string(1) "0" - [7]=> - string(3) "0.0" - [8]=> - string(7) ".000000" -} - -no buffered cursor, stringify off, fetch_numeric on -array(9) { - [0]=> - float(1234567890.1234) - [1]=> - float(-1234567890.1234) - [2]=> - int(1) - [3]=> - int(-1) - [4]=> - string(7) ".500000" - [5]=> - string(8) "-.550000" - [6]=> - int(0) - [7]=> - float(0) - [8]=> - string(7) ".000000" -} - -no buffered cursor, stringify on, fetch_numeric on -array(9) { - [0]=> - string(15) "1234567890.1234" - [1]=> - string(16) "-1234567890.1234" - [2]=> - string(1) "1" - [3]=> - string(2) "-1" - [4]=> - string(7) ".500000" - [5]=> - string(8) "-.550000" - [6]=> - string(1) "0" - [7]=> - string(1) "0" - [8]=> - string(7) ".000000" -} - -no buffered cursor, stringify on, fetch_numeric off -array(9) { - [0]=> - string(15) "1234567890.1234" - [1]=> - string(16) "-1234567890.1234" - [2]=> - string(1) "1" - [3]=> - string(2) "-1" - [4]=> - string(7) ".500000" - [5]=> - string(8) "-.550000" - [6]=> - string(1) "0" - [7]=> - string(3) "0.0" - [8]=> - string(7) ".000000" -} - -buffered cursor, stringify off, fetch_numeric off -array(9) { - [0]=> - string(15) "1234567890.1234" - [1]=> - string(16) "-1234567890.1234" - [2]=> - string(1) "1" - [3]=> - string(2) "-1" - [4]=> - string(7) ".500000" - [5]=> - string(8) "-.550000" - [6]=> - string(1) "0" - [7]=> - string(1) "0" - [8]=> - string(7) ".000000" -} - -buffered cursor, stringify off, fetch_numeric on -array(9) { - [0]=> - float(1234567890.1234) - [1]=> - float(-1234567890.1234) - [2]=> - int(1) - [3]=> - int(-1) - [4]=> - string(7) ".500000" - [5]=> - string(8) "-.550000" - [6]=> - int(0) - [7]=> - float(0) - [8]=> - string(7) ".000000" -} - -buffered cursor, stringify on, fetch_numeric on -array(9) { - [0]=> - string(15) "1234567890.1234" - [1]=> - string(16) "-1234567890.1234" - [2]=> - string(1) "1" - [3]=> - string(2) "-1" - [4]=> - string(7) ".500000" - [5]=> - string(8) "-.550000" - [6]=> - string(1) "0" - [7]=> - string(1) "0" - [8]=> - string(7) ".000000" -} - -buffered cursor, stringify on, fetch_numeric off -array(9) { - [0]=> - string(15) "1234567890.1234" - [1]=> - string(16) "-1234567890.1234" - [2]=> - string(1) "1" - [3]=> - string(2) "-1" - [4]=> - string(7) ".500000" - [5]=> - string(8) "-.550000" - [6]=> - string(1) "0" - [7]=> - string(1) "0" - [8]=> - string(7) ".000000" -} - +--TEST-- +prepare with cursor buffered and fetch from numeric columns. +--DESCRIPTION-- +Uses buffered cursor to fetch from float, int, and decimal columns that have positive, negative and zero value. +--SKIPIF-- + +--FILE-- +setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); +$sample = 1234567890.1234; +$sample1 = -1234567890.1234; +$sample2 = 1; +$sample3 = -1; +$sample4 = 0.5; +$sample5 = -0.55; + +$query = 'CREATE TABLE #TESTTABLE (a float(53), neg_a float(53), b int, neg_b int, c decimal(16, 6), neg_c decimal(16, 6), zero int, zerof float(53), zerod decimal(16,6))'; +$stmt = $conn->exec($query); +$query = 'INSERT INTO #TESTTABLE VALUES(:p0, :p1, :p2, :p3, :p4, :p5, 0, 0, 0)'; +$stmt = $conn->prepare($query); +$stmt->bindValue(':p0', $sample, PDO::PARAM_INT); +$stmt->bindValue(':p1', $sample1, PDO::PARAM_INT); +$stmt->bindValue(':p2', $sample2, PDO::PARAM_INT); +$stmt->bindValue(':p3', $sample3, PDO::PARAM_INT); +$stmt->bindValue(':p4', $sample4, PDO::PARAM_INT); +$stmt->bindValue(':p5', $sample5, PDO::PARAM_INT); +$stmt->execute(); + +$query = 'SELECT TOP 1 * FROM #TESTTABLE'; + +//prepare with no buffered cursor +print "\nno buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetch(PDO::FETCH_NUM); +var_dump ($value); + +print "\nno buffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetch(PDO::FETCH_NUM); +var_dump ($value); + +print "\nno buffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetch(PDO::FETCH_NUM); +var_dump ($value); + +print "\nno buffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetch(PDO::FETCH_NUM); +var_dump ($value); + +//prepare with client buffered cursor +print "\nbuffered cursor, stringify off, fetch_numeric off\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetch(PDO::FETCH_NUM); +var_dump ($value); + +print "\nbuffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetch(PDO::FETCH_NUM); +var_dump ($value); + +print "\nbuffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetch(PDO::FETCH_NUM); +var_dump ($value); + +print "\nbuffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetch(PDO::FETCH_NUM); +var_dump ($value); + +$stmt = null; +$conn = null; + +?> +--EXPECT-- +no buffered cursor, stringify off, fetch_numeric off +array(9) { + [0]=> + string(15) "1234567890.1234" + [1]=> + string(16) "-1234567890.1234" + [2]=> + string(1) "1" + [3]=> + string(2) "-1" + [4]=> + string(7) ".500000" + [5]=> + string(8) "-.550000" + [6]=> + string(1) "0" + [7]=> + string(3) "0.0" + [8]=> + string(7) ".000000" +} + +no buffered cursor, stringify off, fetch_numeric on +array(9) { + [0]=> + float(1234567890.1234) + [1]=> + float(-1234567890.1234) + [2]=> + int(1) + [3]=> + int(-1) + [4]=> + string(7) ".500000" + [5]=> + string(8) "-.550000" + [6]=> + int(0) + [7]=> + float(0) + [8]=> + string(7) ".000000" +} + +no buffered cursor, stringify on, fetch_numeric on +array(9) { + [0]=> + string(15) "1234567890.1234" + [1]=> + string(16) "-1234567890.1234" + [2]=> + string(1) "1" + [3]=> + string(2) "-1" + [4]=> + string(7) ".500000" + [5]=> + string(8) "-.550000" + [6]=> + string(1) "0" + [7]=> + string(1) "0" + [8]=> + string(7) ".000000" +} + +no buffered cursor, stringify on, fetch_numeric off +array(9) { + [0]=> + string(15) "1234567890.1234" + [1]=> + string(16) "-1234567890.1234" + [2]=> + string(1) "1" + [3]=> + string(2) "-1" + [4]=> + string(7) ".500000" + [5]=> + string(8) "-.550000" + [6]=> + string(1) "0" + [7]=> + string(3) "0.0" + [8]=> + string(7) ".000000" +} + +buffered cursor, stringify off, fetch_numeric off +array(9) { + [0]=> + string(15) "1234567890.1234" + [1]=> + string(16) "-1234567890.1234" + [2]=> + string(1) "1" + [3]=> + string(2) "-1" + [4]=> + string(7) ".500000" + [5]=> + string(8) "-.550000" + [6]=> + string(1) "0" + [7]=> + string(1) "0" + [8]=> + string(7) ".000000" +} + +buffered cursor, stringify off, fetch_numeric on +array(9) { + [0]=> + float(1234567890.1234) + [1]=> + float(-1234567890.1234) + [2]=> + int(1) + [3]=> + int(-1) + [4]=> + string(7) ".500000" + [5]=> + string(8) "-.550000" + [6]=> + int(0) + [7]=> + float(0) + [8]=> + string(7) ".000000" +} + +buffered cursor, stringify on, fetch_numeric on +array(9) { + [0]=> + string(15) "1234567890.1234" + [1]=> + string(16) "-1234567890.1234" + [2]=> + string(1) "1" + [3]=> + string(2) "-1" + [4]=> + string(7) ".500000" + [5]=> + string(8) "-.550000" + [6]=> + string(1) "0" + [7]=> + string(1) "0" + [8]=> + string(7) ".000000" +} + +buffered cursor, stringify on, fetch_numeric off +array(9) { + [0]=> + string(15) "1234567890.1234" + [1]=> + string(16) "-1234567890.1234" + [2]=> + string(1) "1" + [3]=> + string(2) "-1" + [4]=> + string(7) ".500000" + [5]=> + string(8) "-.550000" + [6]=> + string(1) "0" + [7]=> + string(1) "0" + [8]=> + string(7) ".000000" +} + diff --git a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_strings_to_integers.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_strings_to_integers.phpt similarity index 96% rename from test/pdo_sqlsrv/pdo_fetch_cursorBuffered_strings_to_integers.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_strings_to_integers.phpt index cc33cbfa..3df828a9 100644 --- a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_strings_to_integers.phpt +++ b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_strings_to_integers.phpt @@ -1,232 +1,232 @@ ---TEST-- -prepare with cursor buffered and fetch various columns with the column bound and specified to pdo type int ---SKIPIF-- - ---FILE-- -setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); - - $decimal = -2345209.3103; - $numeric = 987234.9919; - $salary = "3456789.15"; - $debt = "98765.99"; - - $query = 'CREATE TABLE #TESTTABLE ([c_decimal] decimal(28,4), [c_numeric] numeric(32,4), [c_varchar] varchar(20), [c_nvarchar] nvarchar(20))'; - - $stmt = $conn->exec($query); - - $query = 'INSERT INTO #TESTTABLE VALUES(:p0, :p1, :p2, :p3)'; - $stmt = $conn->prepare($query); - $stmt->bindValue(':p0', $decimal); - $stmt->bindValue(':p1', $numeric); - $stmt->bindValue(':p2', $salary); - $stmt->bindValue(':p3', $debt); - $stmt->execute(); - - $decimal2 = $decimal * 2; - $numeric2 = $numeric * 2; - $salary2 = $salary * 2; - $debt2 = $debt * 2; - - $stmt->bindValue(':p0', $decimal2); - $stmt->bindValue(':p1', $numeric2); - $stmt->bindValue(':p2', $salary2); - $stmt->bindValue(':p3', $debt2); - $stmt->execute(); - - $decimal3 = $decimal * 3; - $numeric3 = $numeric * 3; - $salary3 = $salary * 3; - $debt3 = $debt * 3; - - $stmt->bindValue(':p0', $decimal3); - $stmt->bindValue(':p1', $numeric3); - $stmt->bindValue(':p2', $salary3); - $stmt->bindValue(':p3', $debt3); - $stmt->execute(); - - $stmt = null; - - echo ("Input values:\n\torginal:$decimal\t$numeric\t$salary\t$debt\n\tdoubles:$decimal2\t$numeric2\t$salary2\t$debt2\n\ttriples:$decimal3\t$numeric3\t$salary3\t$debt3\n"); - - $query = 'SELECT * FROM #TESTTABLE'; - - // prepare with no buffered cursor - echo "\n\nComparing results (stringify off, fetch_numeric on):\n"; - // no buffered cursor, stringify off, fetch_numeric on - $conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); - $stmt1 = $conn->prepare($query); - $stmt1->execute(); - - // buffered cursor, stringify off, fetch_numeric on - $conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); - $stmt2 = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); - $stmt2->execute(); - - compareResults($stmt1, $stmt2); - - $stmt1 = null; - $stmt2 = null; - - echo "\n\nComparing results (stringify off, fetch_numeric off):\n"; - // no buffered cursor, stringify off, fetch_numeric off - $conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); - $conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); - $stmt1 = $conn->prepare($query); - $stmt1->execute(); - - // buffered cursor, stringify off, fetch_numeric off - $conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); - $conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); - $stmt2 = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); - $stmt2->execute(); - - compareResults($stmt1, $stmt2); - - $stmt1 = null; - $stmt2 = null; - - $conn = null; -} - -function compareResults($stmt1, $stmt2) -{ - $stmt1->bindColumn('c_decimal', $decimal_col1, PDO::PARAM_INT); - $stmt1->bindColumn('c_numeric', $numeric_col1, PDO::PARAM_INT); - $stmt1->bindColumn('c_varchar', $salary_col1, PDO::PARAM_INT); - $stmt1->bindColumn('c_nvarchar', $debt_col1, PDO::PARAM_INT); - - $stmt2->bindColumn('c_decimal', $decimal_col2, PDO::PARAM_INT); - $stmt2->bindColumn('c_numeric', $numeric_col2, PDO::PARAM_INT); - $stmt2->bindColumn('c_varchar', $salary_col2, PDO::PARAM_INT); - $stmt2->bindColumn('c_nvarchar', $debt_col2, PDO::PARAM_INT); - - $numRows = 3; - for ($i = 1; $i <= $numRows; $i++) - { - echo "\nreading row " . $i . "\n"; - - $value1 = $stmt1->fetch( PDO::FETCH_BOUND ); - $value2 = $stmt2->fetch( PDO::FETCH_BOUND ); - - compareData($decimal_col1, $decimal_col2); - compareData($numeric_col1, $numeric_col2); - compareData($salary_col1, $salary_col2); - compareData($debt_col1, $debt_col2); - } -} - -function compareData($data1, $data2) -{ - if ($data1 != $data2) - echo "Not matched!\n"; - else - echo "Matched!\n"; - - echo ("\tExpected: "); var_dump ($data1); - echo ("\tActual: "); var_dump ($data2); -} - -test(); - -?> ---EXPECT-- -Input values: - orginal:-2345209.3103 987234.9919 3456789.15 98765.99 - doubles:-4690418.6206 1974469.9838 6913578.3 197531.98 - triples:-7035627.9309 2961704.9757 10370367.45 296297.97 - - -Comparing results (stringify off, fetch_numeric on): - -reading row 1 -Matched! - Expected: int(-2345209) - Actual: int(-2345209) -Matched! - Expected: int(987234) - Actual: int(987234) -Matched! - Expected: int(3456789) - Actual: int(3456789) -Matched! - Expected: int(98765) - Actual: int(98765) - -reading row 2 -Matched! - Expected: int(-4690418) - Actual: int(-4690418) -Matched! - Expected: int(1974469) - Actual: int(1974469) -Matched! - Expected: int(6913578) - Actual: int(6913578) -Matched! - Expected: int(197531) - Actual: int(197531) - -reading row 3 -Matched! - Expected: int(-7035627) - Actual: int(-7035627) -Matched! - Expected: int(2961704) - Actual: int(2961704) -Matched! - Expected: int(10370367) - Actual: int(10370367) -Matched! - Expected: int(296297) - Actual: int(296297) - - -Comparing results (stringify off, fetch_numeric off): - -reading row 1 -Matched! - Expected: int(-2345209) - Actual: int(-2345209) -Matched! - Expected: int(987234) - Actual: int(987234) -Matched! - Expected: int(3456789) - Actual: int(3456789) -Matched! - Expected: int(98765) - Actual: int(98765) - -reading row 2 -Matched! - Expected: int(-4690418) - Actual: int(-4690418) -Matched! - Expected: int(1974469) - Actual: int(1974469) -Matched! - Expected: int(6913578) - Actual: int(6913578) -Matched! - Expected: int(197531) - Actual: int(197531) - -reading row 3 -Matched! - Expected: int(-7035627) - Actual: int(-7035627) -Matched! - Expected: int(2961704) - Actual: int(2961704) -Matched! - Expected: int(10370367) - Actual: int(10370367) -Matched! - Expected: int(296297) - Actual: int(296297) +--TEST-- +prepare with cursor buffered and fetch various columns with the column bound and specified to pdo type int +--SKIPIF-- + +--FILE-- +setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); + + $decimal = -2345209.3103; + $numeric = 987234.9919; + $salary = "3456789.15"; + $debt = "98765.99"; + + $query = 'CREATE TABLE #TESTTABLE ([c_decimal] decimal(28,4), [c_numeric] numeric(32,4), [c_varchar] varchar(20), [c_nvarchar] nvarchar(20))'; + + $stmt = $conn->exec($query); + + $query = 'INSERT INTO #TESTTABLE VALUES(:p0, :p1, :p2, :p3)'; + $stmt = $conn->prepare($query); + $stmt->bindValue(':p0', $decimal); + $stmt->bindValue(':p1', $numeric); + $stmt->bindValue(':p2', $salary); + $stmt->bindValue(':p3', $debt); + $stmt->execute(); + + $decimal2 = $decimal * 2; + $numeric2 = $numeric * 2; + $salary2 = $salary * 2; + $debt2 = $debt * 2; + + $stmt->bindValue(':p0', $decimal2); + $stmt->bindValue(':p1', $numeric2); + $stmt->bindValue(':p2', $salary2); + $stmt->bindValue(':p3', $debt2); + $stmt->execute(); + + $decimal3 = $decimal * 3; + $numeric3 = $numeric * 3; + $salary3 = $salary * 3; + $debt3 = $debt * 3; + + $stmt->bindValue(':p0', $decimal3); + $stmt->bindValue(':p1', $numeric3); + $stmt->bindValue(':p2', $salary3); + $stmt->bindValue(':p3', $debt3); + $stmt->execute(); + + $stmt = null; + + echo ("Input values:\n\torginal:$decimal\t$numeric\t$salary\t$debt\n\tdoubles:$decimal2\t$numeric2\t$salary2\t$debt2\n\ttriples:$decimal3\t$numeric3\t$salary3\t$debt3\n"); + + $query = 'SELECT * FROM #TESTTABLE'; + + // prepare with no buffered cursor + echo "\n\nComparing results (stringify off, fetch_numeric on):\n"; + // no buffered cursor, stringify off, fetch_numeric on + $conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); + $stmt1 = $conn->prepare($query); + $stmt1->execute(); + + // buffered cursor, stringify off, fetch_numeric on + $conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); + $stmt2 = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); + $stmt2->execute(); + + compareResults($stmt1, $stmt2); + + $stmt1 = null; + $stmt2 = null; + + echo "\n\nComparing results (stringify off, fetch_numeric off):\n"; + // no buffered cursor, stringify off, fetch_numeric off + $conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); + $conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); + $stmt1 = $conn->prepare($query); + $stmt1->execute(); + + // buffered cursor, stringify off, fetch_numeric off + $conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); + $conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); + $stmt2 = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); + $stmt2->execute(); + + compareResults($stmt1, $stmt2); + + $stmt1 = null; + $stmt2 = null; + + $conn = null; +} + +function compareResults($stmt1, $stmt2) +{ + $stmt1->bindColumn('c_decimal', $decimal_col1, PDO::PARAM_INT); + $stmt1->bindColumn('c_numeric', $numeric_col1, PDO::PARAM_INT); + $stmt1->bindColumn('c_varchar', $salary_col1, PDO::PARAM_INT); + $stmt1->bindColumn('c_nvarchar', $debt_col1, PDO::PARAM_INT); + + $stmt2->bindColumn('c_decimal', $decimal_col2, PDO::PARAM_INT); + $stmt2->bindColumn('c_numeric', $numeric_col2, PDO::PARAM_INT); + $stmt2->bindColumn('c_varchar', $salary_col2, PDO::PARAM_INT); + $stmt2->bindColumn('c_nvarchar', $debt_col2, PDO::PARAM_INT); + + $numRows = 3; + for ($i = 1; $i <= $numRows; $i++) + { + echo "\nreading row " . $i . "\n"; + + $value1 = $stmt1->fetch( PDO::FETCH_BOUND ); + $value2 = $stmt2->fetch( PDO::FETCH_BOUND ); + + compareData($decimal_col1, $decimal_col2); + compareData($numeric_col1, $numeric_col2); + compareData($salary_col1, $salary_col2); + compareData($debt_col1, $debt_col2); + } +} + +function compareData($data1, $data2) +{ + if ($data1 != $data2) + echo "Not matched!\n"; + else + echo "Matched!\n"; + + echo ("\tExpected: "); var_dump ($data1); + echo ("\tActual: "); var_dump ($data2); +} + +test(); + +?> +--EXPECT-- +Input values: + orginal:-2345209.3103 987234.9919 3456789.15 98765.99 + doubles:-4690418.6206 1974469.9838 6913578.3 197531.98 + triples:-7035627.9309 2961704.9757 10370367.45 296297.97 + + +Comparing results (stringify off, fetch_numeric on): + +reading row 1 +Matched! + Expected: int(-2345209) + Actual: int(-2345209) +Matched! + Expected: int(987234) + Actual: int(987234) +Matched! + Expected: int(3456789) + Actual: int(3456789) +Matched! + Expected: int(98765) + Actual: int(98765) + +reading row 2 +Matched! + Expected: int(-4690418) + Actual: int(-4690418) +Matched! + Expected: int(1974469) + Actual: int(1974469) +Matched! + Expected: int(6913578) + Actual: int(6913578) +Matched! + Expected: int(197531) + Actual: int(197531) + +reading row 3 +Matched! + Expected: int(-7035627) + Actual: int(-7035627) +Matched! + Expected: int(2961704) + Actual: int(2961704) +Matched! + Expected: int(10370367) + Actual: int(10370367) +Matched! + Expected: int(296297) + Actual: int(296297) + + +Comparing results (stringify off, fetch_numeric off): + +reading row 1 +Matched! + Expected: int(-2345209) + Actual: int(-2345209) +Matched! + Expected: int(987234) + Actual: int(987234) +Matched! + Expected: int(3456789) + Actual: int(3456789) +Matched! + Expected: int(98765) + Actual: int(98765) + +reading row 2 +Matched! + Expected: int(-4690418) + Actual: int(-4690418) +Matched! + Expected: int(1974469) + Actual: int(1974469) +Matched! + Expected: int(6913578) + Actual: int(6913578) +Matched! + Expected: int(197531) + Actual: int(197531) + +reading row 3 +Matched! + Expected: int(-7035627) + Actual: int(-7035627) +Matched! + Expected: int(2961704) + Actual: int(2961704) +Matched! + Expected: int(10370367) + Actual: int(10370367) +Matched! + Expected: int(296297) + Actual: int(296297) diff --git a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_unicode.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_unicode.phpt similarity index 97% rename from test/pdo_sqlsrv/pdo_fetch_cursorBuffered_unicode.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_unicode.phpt index 6a38f729..83259f63 100644 --- a/test/pdo_sqlsrv/pdo_fetch_cursorBuffered_unicode.phpt +++ b/test/functional/pdo_sqlsrv/pdo_fetch_cursorBuffered_unicode.phpt @@ -1,105 +1,105 @@ ---TEST-- -prepare with cursor buffered and fetch a nvarchar column ---SKIPIF-- - ---FILE-- -setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); -$sample = "가각"; - -$query = 'CREATE TABLE #TESTTABLE (exist nvarchar(10))'; -$stmt = $conn->exec($query); -$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; -$stmt = $conn->prepare($query); -$stmt->bindValue(':p0', $sample, PDO::PARAM_STR); -$stmt->execute(); - -$query = 'SELECT TOP 1 * FROM #TESTTABLE'; - -//prepare with no buffered cursor -print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nno buffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -//prepare with client buffered cursor -print "\nbuffered cursor, stringify off, fetch_numeric off\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify off, fetch_numeric on\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify on, fetch_numeric on\n"; -$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -print "\nbuffered cursor, stringify on, fetch_numeric off\n"; -$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); -$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); -$stmt->execute(); -$value = $stmt->fetchColumn(); -var_dump ($value); - -$stmt = null; -$conn = null; - -?> ---EXPECT-- -no buffered cursor, stringify off, fetch_numeric off -string(6) "가각" - -no buffered cursor, stringify off, fetch_numeric on -string(6) "가각" - -no buffered cursor, stringify on, fetch_numeric on -string(6) "가각" - -no buffered cursor, stringify on, fetch_numeric off -string(6) "가각" - -buffered cursor, stringify off, fetch_numeric off -string(6) "가각" - -buffered cursor, stringify off, fetch_numeric on -string(6) "가각" - -buffered cursor, stringify on, fetch_numeric on -string(6) "가각" - -buffered cursor, stringify on, fetch_numeric off -string(6) "가각" +--TEST-- +prepare with cursor buffered and fetch a nvarchar column +--SKIPIF-- + +--FILE-- +setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); +$sample = "가각"; + +$query = 'CREATE TABLE #TESTTABLE (exist nvarchar(10))'; +$stmt = $conn->exec($query); +$query = 'INSERT INTO #TESTTABLE VALUES(:p0)'; +$stmt = $conn->prepare($query); +$stmt->bindValue(':p0', $sample, PDO::PARAM_STR); +$stmt->execute(); + +$query = 'SELECT TOP 1 * FROM #TESTTABLE'; + +//prepare with no buffered cursor +print "no buffered cursor, stringify off, fetch_numeric off\n"; //stringify and fetch_numeric is off by default +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nno buffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +//prepare with client buffered cursor +print "\nbuffered cursor, stringify off, fetch_numeric off\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify off, fetch_numeric on\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify on, fetch_numeric on\n"; +$conn->setAttribute( PDO::ATTR_STRINGIFY_FETCHES, true); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +print "\nbuffered cursor, stringify on, fetch_numeric off\n"; +$conn->setAttribute( PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, false); +$stmt = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED)); +$stmt->execute(); +$value = $stmt->fetchColumn(); +var_dump ($value); + +$stmt = null; +$conn = null; + +?> +--EXPECT-- +no buffered cursor, stringify off, fetch_numeric off +string(6) "가각" + +no buffered cursor, stringify off, fetch_numeric on +string(6) "가각" + +no buffered cursor, stringify on, fetch_numeric on +string(6) "가각" + +no buffered cursor, stringify on, fetch_numeric off +string(6) "가각" + +buffered cursor, stringify off, fetch_numeric off +string(6) "가각" + +buffered cursor, stringify off, fetch_numeric on +string(6) "가각" + +buffered cursor, stringify on, fetch_numeric on +string(6) "가각" + +buffered cursor, stringify on, fetch_numeric off +string(6) "가각" diff --git a/test/pdo_sqlsrv/pdo_fetch_cursor_scroll_random.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_cursor_scroll_random.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_fetch_cursor_scroll_random.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_cursor_scroll_random.phpt diff --git a/test/pdo_sqlsrv/pdo_fetch_fetchinto_query_args.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_fetchinto_query_args.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_fetch_fetchinto_query_args.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_fetchinto_query_args.phpt diff --git a/test/pdo_sqlsrv/pdo_fetch_variants_diff_styles.phpt b/test/functional/pdo_sqlsrv/pdo_fetch_variants_diff_styles.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_fetch_variants_diff_styles.phpt rename to test/functional/pdo_sqlsrv/pdo_fetch_variants_diff_styles.phpt diff --git a/test/pdo_sqlsrv/pdo_getAttribute_clientInfo.phpt b/test/functional/pdo_sqlsrv/pdo_getAttribute_clientInfo.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_getAttribute_clientInfo.phpt rename to test/functional/pdo_sqlsrv/pdo_getAttribute_clientInfo.phpt diff --git a/test/pdo_sqlsrv/pdo_getAvailableDrivers.phpt b/test/functional/pdo_sqlsrv/pdo_getAvailableDrivers.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_getAvailableDrivers.phpt rename to test/functional/pdo_sqlsrv/pdo_getAvailableDrivers.phpt diff --git a/test/pdo_sqlsrv/pdo_get_attr_invalid.phpt b/test/functional/pdo_sqlsrv/pdo_get_attr_invalid.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_get_attr_invalid.phpt rename to test/functional/pdo_sqlsrv/pdo_get_attr_invalid.phpt diff --git a/test/pdo_sqlsrv/pdo_get_set_attr.phpt b/test/functional/pdo_sqlsrv/pdo_get_set_attr.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_get_set_attr.phpt rename to test/functional/pdo_sqlsrv/pdo_get_set_attr.phpt diff --git a/test/pdo_sqlsrv/pdo_insertDataType.phpt b/test/functional/pdo_sqlsrv/pdo_insertDataType.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_insertDataType.phpt rename to test/functional/pdo_sqlsrv/pdo_insertDataType.phpt diff --git a/test/pdo_sqlsrv/pdo_invalid_conn_opt.phpt b/test/functional/pdo_sqlsrv/pdo_invalid_conn_opt.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_invalid_conn_opt.phpt rename to test/functional/pdo_sqlsrv/pdo_invalid_conn_opt.phpt diff --git a/test/pdo_sqlsrv/pdo_katmai_special_types.phpt b/test/functional/pdo_sqlsrv/pdo_katmai_special_types.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_katmai_special_types.phpt rename to test/functional/pdo_sqlsrv/pdo_katmai_special_types.phpt diff --git a/test/pdo_sqlsrv/pdo_lastInsertId.phpt b/test/functional/pdo_sqlsrv/pdo_lastInsertId.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_lastInsertId.phpt rename to test/functional/pdo_sqlsrv/pdo_lastInsertId.phpt diff --git a/test/pdo_sqlsrv/pdo_nested_query_mars.phpt b/test/functional/pdo_sqlsrv/pdo_nested_query_mars.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_nested_query_mars.phpt rename to test/functional/pdo_sqlsrv/pdo_nested_query_mars.phpt diff --git a/test/pdo_sqlsrv/pdo_output_decimal.phpt b/test/functional/pdo_sqlsrv/pdo_output_decimal.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_output_decimal.phpt rename to test/functional/pdo_sqlsrv/pdo_output_decimal.phpt diff --git a/test/pdo_sqlsrv/pdo_param_output_select_variant.phpt b/test/functional/pdo_sqlsrv/pdo_param_output_select_variant.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_param_output_select_variant.phpt rename to test/functional/pdo_sqlsrv/pdo_param_output_select_variant.phpt diff --git a/test/pdo_sqlsrv/pdo_param_output_variants.phpt b/test/functional/pdo_sqlsrv/pdo_param_output_variants.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_param_output_variants.phpt rename to test/functional/pdo_sqlsrv/pdo_param_output_variants.phpt diff --git a/test/pdo_sqlsrv/pdo_passwords.phpt b/test/functional/pdo_sqlsrv/pdo_passwords.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_passwords.phpt rename to test/functional/pdo_sqlsrv/pdo_passwords.phpt diff --git a/test/pdo_sqlsrv/pdo_prepare.phpt b/test/functional/pdo_sqlsrv/pdo_prepare.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_prepare.phpt rename to test/functional/pdo_sqlsrv/pdo_prepare.phpt diff --git a/test/pdo_sqlsrv/pdo_prepare_attribute.phpt b/test/functional/pdo_sqlsrv/pdo_prepare_attribute.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_prepare_attribute.phpt rename to test/functional/pdo_sqlsrv/pdo_prepare_attribute.phpt diff --git a/test/pdo_sqlsrv/pdo_prepare_emulatePrepare_binary.phpt b/test/functional/pdo_sqlsrv/pdo_prepare_emulatePrepare_binary.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_prepare_emulatePrepare_binary.phpt rename to test/functional/pdo_sqlsrv/pdo_prepare_emulatePrepare_binary.phpt diff --git a/test/pdo_sqlsrv/pdo_prepare_emulatePrepare_char.phpt b/test/functional/pdo_sqlsrv/pdo_prepare_emulatePrepare_char.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_prepare_emulatePrepare_char.phpt rename to test/functional/pdo_sqlsrv/pdo_prepare_emulatePrepare_char.phpt diff --git a/test/pdo_sqlsrv/pdo_prepare_emulatePrepare_datetime.phpt b/test/functional/pdo_sqlsrv/pdo_prepare_emulatePrepare_datetime.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_prepare_emulatePrepare_datetime.phpt rename to test/functional/pdo_sqlsrv/pdo_prepare_emulatePrepare_datetime.phpt diff --git a/test/pdo_sqlsrv/pdo_prepare_emulatePrepare_decimal.phpt b/test/functional/pdo_sqlsrv/pdo_prepare_emulatePrepare_decimal.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_prepare_emulatePrepare_decimal.phpt rename to test/functional/pdo_sqlsrv/pdo_prepare_emulatePrepare_decimal.phpt diff --git a/test/pdo_sqlsrv/pdo_prepare_emulatePrepare_float.phpt b/test/functional/pdo_sqlsrv/pdo_prepare_emulatePrepare_float.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_prepare_emulatePrepare_float.phpt rename to test/functional/pdo_sqlsrv/pdo_prepare_emulatePrepare_float.phpt diff --git a/test/pdo_sqlsrv/pdo_prepare_emulatePrepare_int.phpt b/test/functional/pdo_sqlsrv/pdo_prepare_emulatePrepare_int.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_prepare_emulatePrepare_int.phpt rename to test/functional/pdo_sqlsrv/pdo_prepare_emulatePrepare_int.phpt diff --git a/test/pdo_sqlsrv/pdo_prepare_emulatePrepare_money.phpt b/test/functional/pdo_sqlsrv/pdo_prepare_emulatePrepare_money.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_prepare_emulatePrepare_money.phpt rename to test/functional/pdo_sqlsrv/pdo_prepare_emulatePrepare_money.phpt diff --git a/test/pdo_sqlsrv/pdo_prepare_emulatePrepare_unicode.phpt b/test/functional/pdo_sqlsrv/pdo_prepare_emulatePrepare_unicode.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_prepare_emulatePrepare_unicode.phpt rename to test/functional/pdo_sqlsrv/pdo_prepare_emulatePrepare_unicode.phpt diff --git a/test/pdo_sqlsrv/pdo_prepare_invalid_cursor.phpt b/test/functional/pdo_sqlsrv/pdo_prepare_invalid_cursor.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_prepare_invalid_cursor.phpt rename to test/functional/pdo_sqlsrv/pdo_prepare_invalid_cursor.phpt diff --git a/test/pdo_sqlsrv/pdo_prepare_invalid_encoding.phpt b/test/functional/pdo_sqlsrv/pdo_prepare_invalid_encoding.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_prepare_invalid_encoding.phpt rename to test/functional/pdo_sqlsrv/pdo_prepare_invalid_encoding.phpt diff --git a/test/pdo_sqlsrv/pdo_prepare_invalid_option_key.phpt b/test/functional/pdo_sqlsrv/pdo_prepare_invalid_option_key.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_prepare_invalid_option_key.phpt rename to test/functional/pdo_sqlsrv/pdo_prepare_invalid_option_key.phpt diff --git a/test/pdo_sqlsrv/pdo_prepare_invalid_scrollable_cursor.phpt b/test/functional/pdo_sqlsrv/pdo_prepare_invalid_scrollable_cursor.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_prepare_invalid_scrollable_cursor.phpt rename to test/functional/pdo_sqlsrv/pdo_prepare_invalid_scrollable_cursor.phpt diff --git a/test/pdo_sqlsrv/pdo_prepare_options.phpt b/test/functional/pdo_sqlsrv/pdo_prepare_options.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_prepare_options.phpt rename to test/functional/pdo_sqlsrv/pdo_prepare_options.phpt diff --git a/test/pdo_sqlsrv/pdo_query.phpt b/test/functional/pdo_sqlsrv/pdo_query.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_query.phpt rename to test/functional/pdo_sqlsrv/pdo_query.phpt diff --git a/test/pdo_sqlsrv/pdo_query_timeout.phpt b/test/functional/pdo_sqlsrv/pdo_query_timeout.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_query_timeout.phpt rename to test/functional/pdo_sqlsrv/pdo_query_timeout.phpt diff --git a/test/pdo_sqlsrv/pdo_quote.phpt b/test/functional/pdo_sqlsrv/pdo_quote.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_quote.phpt rename to test/functional/pdo_sqlsrv/pdo_quote.phpt diff --git a/test/pdo_sqlsrv/pdo_set_attr_invalid.phpt b/test/functional/pdo_sqlsrv/pdo_set_attr_invalid.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_set_attr_invalid.phpt rename to test/functional/pdo_sqlsrv/pdo_set_attr_invalid.phpt diff --git a/test/pdo_sqlsrv/pdo_set_attr_invalid_encoding.phpt b/test/functional/pdo_sqlsrv/pdo_set_attr_invalid_encoding.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_set_attr_invalid_encoding.phpt rename to test/functional/pdo_sqlsrv/pdo_set_attr_invalid_encoding.phpt diff --git a/test/pdo_sqlsrv/pdo_simple_update_variants.phpt b/test/functional/pdo_sqlsrv/pdo_simple_update_variants.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_simple_update_variants.phpt rename to test/functional/pdo_sqlsrv/pdo_simple_update_variants.phpt diff --git a/test/pdo_sqlsrv/pdo_statement_rowcount_query.phpt b/test/functional/pdo_sqlsrv/pdo_statement_rowcount_query.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_statement_rowcount_query.phpt rename to test/functional/pdo_sqlsrv/pdo_statement_rowcount_query.phpt diff --git a/test/pdo_sqlsrv/pdo_stored_proc_fetch_datatypes.phpt b/test/functional/pdo_sqlsrv/pdo_stored_proc_fetch_datatypes.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_stored_proc_fetch_datatypes.phpt rename to test/functional/pdo_sqlsrv/pdo_stored_proc_fetch_datatypes.phpt diff --git a/test/pdo_sqlsrv/pdo_testDataType.phpt b/test/functional/pdo_sqlsrv/pdo_testDataType.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_testDataType.phpt rename to test/functional/pdo_sqlsrv/pdo_testDataType.phpt diff --git a/test/pdo_sqlsrv/pdo_tools.inc b/test/functional/pdo_sqlsrv/pdo_tools.inc similarity index 100% rename from test/pdo_sqlsrv/pdo_tools.inc rename to test/functional/pdo_sqlsrv/pdo_tools.inc diff --git a/test/pdo_sqlsrv/pdo_transaction.phpt b/test/functional/pdo_sqlsrv/pdo_transaction.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_transaction.phpt rename to test/functional/pdo_sqlsrv/pdo_transaction.phpt diff --git a/test/pdo_sqlsrv/pdo_transactions.phpt b/test/functional/pdo_sqlsrv/pdo_transactions.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_transactions.phpt rename to test/functional/pdo_sqlsrv/pdo_transactions.phpt diff --git a/test/pdo_sqlsrv/pdo_utf8_conn.phpt b/test/functional/pdo_sqlsrv/pdo_utf8_conn.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_utf8_conn.phpt rename to test/functional/pdo_sqlsrv/pdo_utf8_conn.phpt diff --git a/test/pdo_sqlsrv/pdo_utf8_stored_proc_unicode_chars.phpt b/test/functional/pdo_sqlsrv/pdo_utf8_stored_proc_unicode_chars.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_utf8_stored_proc_unicode_chars.phpt rename to test/functional/pdo_sqlsrv/pdo_utf8_stored_proc_unicode_chars.phpt diff --git a/test/pdo_sqlsrv/pdo_warnings.phpt b/test/functional/pdo_sqlsrv/pdo_warnings.phpt similarity index 100% rename from test/pdo_sqlsrv/pdo_warnings.phpt rename to test/functional/pdo_sqlsrv/pdo_warnings.phpt diff --git a/test/pdo_sqlsrv/pdostatement_Buffqry.phpt b/test/functional/pdo_sqlsrv/pdostatement_Buffqry.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_Buffqry.phpt rename to test/functional/pdo_sqlsrv/pdostatement_Buffqry.phpt diff --git a/test/pdo_sqlsrv/pdostatement_GetDataType.phpt b/test/functional/pdo_sqlsrv/pdostatement_GetDataType.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_GetDataType.phpt rename to test/functional/pdo_sqlsrv/pdostatement_GetDataType.phpt diff --git a/test/pdo_sqlsrv/pdostatement_bindColumn.phpt b/test/functional/pdo_sqlsrv/pdostatement_bindColumn.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_bindColumn.phpt rename to test/functional/pdo_sqlsrv/pdostatement_bindColumn.phpt diff --git a/test/pdo_sqlsrv/pdostatement_bindParam.phpt b/test/functional/pdo_sqlsrv/pdostatement_bindParam.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_bindParam.phpt rename to test/functional/pdo_sqlsrv/pdostatement_bindParam.phpt diff --git a/test/pdo_sqlsrv/pdostatement_bindValue.phpt b/test/functional/pdo_sqlsrv/pdostatement_bindValue.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_bindValue.phpt rename to test/functional/pdo_sqlsrv/pdostatement_bindValue.phpt diff --git a/test/pdo_sqlsrv/pdostatement_bindcolumn_odd_types.phpt b/test/functional/pdo_sqlsrv/pdostatement_bindcolumn_odd_types.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_bindcolumn_odd_types.phpt rename to test/functional/pdo_sqlsrv/pdostatement_bindcolumn_odd_types.phpt diff --git a/test/pdo_sqlsrv/pdostatement_closeCursor.phpt b/test/functional/pdo_sqlsrv/pdostatement_closeCursor.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_closeCursor.phpt rename to test/functional/pdo_sqlsrv/pdostatement_closeCursor.phpt diff --git a/test/pdo_sqlsrv/pdostatement_columnCount.phpt b/test/functional/pdo_sqlsrv/pdostatement_columnCount.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_columnCount.phpt rename to test/functional/pdo_sqlsrv/pdostatement_columnCount.phpt diff --git a/test/pdo_sqlsrv/pdostatement_debugDumpParams.phpt b/test/functional/pdo_sqlsrv/pdostatement_debugDumpParams.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_debugDumpParams.phpt rename to test/functional/pdo_sqlsrv/pdostatement_debugDumpParams.phpt diff --git a/test/pdo_sqlsrv/pdostatement_error.phpt b/test/functional/pdo_sqlsrv/pdostatement_error.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_error.phpt rename to test/functional/pdo_sqlsrv/pdostatement_error.phpt diff --git a/test/pdo_sqlsrv/pdostatement_execute.phpt b/test/functional/pdo_sqlsrv/pdostatement_execute.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_execute.phpt rename to test/functional/pdo_sqlsrv/pdostatement_execute.phpt diff --git a/test/pdo_sqlsrv/pdostatement_fetchAll.phpt b/test/functional/pdo_sqlsrv/pdostatement_fetchAll.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_fetchAll.phpt rename to test/functional/pdo_sqlsrv/pdostatement_fetchAll.phpt diff --git a/test/pdo_sqlsrv/pdostatement_fetchColumn.phpt b/test/functional/pdo_sqlsrv/pdostatement_fetchColumn.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_fetchColumn.phpt rename to test/functional/pdo_sqlsrv/pdostatement_fetchColumn.phpt diff --git a/test/pdo_sqlsrv/pdostatement_fetchObject.phpt b/test/functional/pdo_sqlsrv/pdostatement_fetchObject.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_fetchObject.phpt rename to test/functional/pdo_sqlsrv/pdostatement_fetchObject.phpt diff --git a/test/pdo_sqlsrv/pdostatement_fetch_orientation.phpt b/test/functional/pdo_sqlsrv/pdostatement_fetch_orientation.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_fetch_orientation.phpt rename to test/functional/pdo_sqlsrv/pdostatement_fetch_orientation.phpt diff --git a/test/pdo_sqlsrv/pdostatement_fetch_style.phpt b/test/functional/pdo_sqlsrv/pdostatement_fetch_style.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_fetch_style.phpt rename to test/functional/pdo_sqlsrv/pdostatement_fetch_style.phpt diff --git a/test/pdo_sqlsrv/pdostatement_fetchmode_emulate_prepare.phpt b/test/functional/pdo_sqlsrv/pdostatement_fetchmode_emulate_prepare.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_fetchmode_emulate_prepare.phpt rename to test/functional/pdo_sqlsrv/pdostatement_fetchmode_emulate_prepare.phpt diff --git a/test/pdo_sqlsrv/pdostatement_getColumnMeta.phpt b/test/functional/pdo_sqlsrv/pdostatement_getColumnMeta.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_getColumnMeta.phpt rename to test/functional/pdo_sqlsrv/pdostatement_getColumnMeta.phpt diff --git a/test/pdo_sqlsrv/pdostatement_getColumnMeta_unicode_col_name.phpt b/test/functional/pdo_sqlsrv/pdostatement_getColumnMeta_unicode_col_name.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_getColumnMeta_unicode_col_name.phpt rename to test/functional/pdo_sqlsrv/pdostatement_getColumnMeta_unicode_col_name.phpt diff --git a/test/pdo_sqlsrv/pdostatement_get_set_attr.phpt b/test/functional/pdo_sqlsrv/pdostatement_get_set_attr.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_get_set_attr.phpt rename to test/functional/pdo_sqlsrv/pdostatement_get_set_attr.phpt diff --git a/test/pdo_sqlsrv/pdostatement_nextRowset.phpt b/test/functional/pdo_sqlsrv/pdostatement_nextRowset.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_nextRowset.phpt rename to test/functional/pdo_sqlsrv/pdostatement_nextRowset.phpt diff --git a/test/pdo_sqlsrv/pdostatement_rowCount.phpt b/test/functional/pdo_sqlsrv/pdostatement_rowCount.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_rowCount.phpt rename to test/functional/pdo_sqlsrv/pdostatement_rowCount.phpt diff --git a/test/pdo_sqlsrv/pdostatement_setFetchMode.phpt b/test/functional/pdo_sqlsrv/pdostatement_setFetchMode.phpt similarity index 100% rename from test/pdo_sqlsrv/pdostatement_setFetchMode.phpt rename to test/functional/pdo_sqlsrv/pdostatement_setFetchMode.phpt diff --git a/test/pdo_sqlsrv/skipif.inc b/test/functional/pdo_sqlsrv/skipif.inc similarity index 100% rename from test/pdo_sqlsrv/skipif.inc rename to test/functional/pdo_sqlsrv/skipif.inc diff --git a/test/pdo_sqlsrv/skipif_azure.inc b/test/functional/pdo_sqlsrv/skipif_azure.inc similarity index 100% rename from test/pdo_sqlsrv/skipif_azure.inc rename to test/functional/pdo_sqlsrv/skipif_azure.inc diff --git a/test/pdo_sqlsrv/skipif_protocol_not_tcp.inc b/test/functional/pdo_sqlsrv/skipif_protocol_not_tcp.inc similarity index 100% rename from test/pdo_sqlsrv/skipif_protocol_not_tcp.inc rename to test/functional/pdo_sqlsrv/skipif_protocol_not_tcp.inc diff --git a/test/pdo_sqlsrv/skipif_unix.inc b/test/functional/pdo_sqlsrv/skipif_unix.inc similarity index 100% rename from test/pdo_sqlsrv/skipif_unix.inc rename to test/functional/pdo_sqlsrv/skipif_unix.inc diff --git a/test/pdo_sqlsrv/test_encoding_UTF8_emulate_prepare.phpt b/test/functional/pdo_sqlsrv/test_encoding_UTF8_emulate_prepare.phpt similarity index 100% rename from test/pdo_sqlsrv/test_encoding_UTF8_emulate_prepare.phpt rename to test/functional/pdo_sqlsrv/test_encoding_UTF8_emulate_prepare.phpt diff --git a/test/sqlsrv/0013.phpt b/test/functional/sqlsrv/0013.phpt similarity index 100% rename from test/sqlsrv/0013.phpt rename to test/functional/sqlsrv/0013.phpt diff --git a/test/sqlsrv/0020.phpt b/test/functional/sqlsrv/0020.phpt similarity index 100% rename from test/sqlsrv/0020.phpt rename to test/functional/sqlsrv/0020.phpt diff --git a/test/sqlsrv/0022.phpt b/test/functional/sqlsrv/0022.phpt similarity index 100% rename from test/sqlsrv/0022.phpt rename to test/functional/sqlsrv/0022.phpt diff --git a/test/sqlsrv/0052.phpt b/test/functional/sqlsrv/0052.phpt similarity index 100% rename from test/sqlsrv/0052.phpt rename to test/functional/sqlsrv/0052.phpt diff --git a/test/sqlsrv/0053.phpt b/test/functional/sqlsrv/0053.phpt similarity index 100% rename from test/sqlsrv/0053.phpt rename to test/functional/sqlsrv/0053.phpt diff --git a/test/sqlsrv/0060.phpt b/test/functional/sqlsrv/0060.phpt similarity index 100% rename from test/sqlsrv/0060.phpt rename to test/functional/sqlsrv/0060.phpt diff --git a/test/sqlsrv/0061.phpt b/test/functional/sqlsrv/0061.phpt similarity index 100% rename from test/sqlsrv/0061.phpt rename to test/functional/sqlsrv/0061.phpt diff --git a/test/sqlsrv/0065.phpt b/test/functional/sqlsrv/0065.phpt similarity index 100% rename from test/sqlsrv/0065.phpt rename to test/functional/sqlsrv/0065.phpt diff --git a/test/sqlsrv/0066.phpt b/test/functional/sqlsrv/0066.phpt similarity index 100% rename from test/sqlsrv/0066.phpt rename to test/functional/sqlsrv/0066.phpt diff --git a/test/sqlsrv/0067.phpt b/test/functional/sqlsrv/0067.phpt similarity index 100% rename from test/sqlsrv/0067.phpt rename to test/functional/sqlsrv/0067.phpt diff --git a/test/sqlsrv/0068.phpt b/test/functional/sqlsrv/0068.phpt similarity index 100% rename from test/sqlsrv/0068.phpt rename to test/functional/sqlsrv/0068.phpt diff --git a/test/sqlsrv/0069.phpt b/test/functional/sqlsrv/0069.phpt similarity index 100% rename from test/sqlsrv/0069.phpt rename to test/functional/sqlsrv/0069.phpt diff --git a/test/sqlsrv/0072.phpt b/test/functional/sqlsrv/0072.phpt similarity index 100% rename from test/sqlsrv/0072.phpt rename to test/functional/sqlsrv/0072.phpt diff --git a/test/sqlsrv/0073.phpt b/test/functional/sqlsrv/0073.phpt similarity index 100% rename from test/sqlsrv/0073.phpt rename to test/functional/sqlsrv/0073.phpt diff --git a/test/sqlsrv/0074.phpt b/test/functional/sqlsrv/0074.phpt similarity index 100% rename from test/sqlsrv/0074.phpt rename to test/functional/sqlsrv/0074.phpt diff --git a/test/sqlsrv/0075.phpt b/test/functional/sqlsrv/0075.phpt similarity index 100% rename from test/sqlsrv/0075.phpt rename to test/functional/sqlsrv/0075.phpt diff --git a/test/sqlsrv/0076.phpt b/test/functional/sqlsrv/0076.phpt similarity index 100% rename from test/sqlsrv/0076.phpt rename to test/functional/sqlsrv/0076.phpt diff --git a/test/sqlsrv/0078.phpt b/test/functional/sqlsrv/0078.phpt similarity index 100% rename from test/sqlsrv/0078.phpt rename to test/functional/sqlsrv/0078.phpt diff --git a/test/sqlsrv/0079.phpt b/test/functional/sqlsrv/0079.phpt similarity index 100% rename from test/sqlsrv/0079.phpt rename to test/functional/sqlsrv/0079.phpt diff --git a/test/sqlsrv/53_0021.phpt b/test/functional/sqlsrv/53_0021.phpt similarity index 100% rename from test/sqlsrv/53_0021.phpt rename to test/functional/sqlsrv/53_0021.phpt diff --git a/test/sqlsrv/MsCommon.inc b/test/functional/sqlsrv/MsCommon.inc similarity index 100% rename from test/sqlsrv/MsCommon.inc rename to test/functional/sqlsrv/MsCommon.inc diff --git a/test/sqlsrv/MsData.inc b/test/functional/sqlsrv/MsData.inc similarity index 100% rename from test/sqlsrv/MsData.inc rename to test/functional/sqlsrv/MsData.inc diff --git a/test/sqlsrv/MsData_UTF8.inc b/test/functional/sqlsrv/MsData_UTF8.inc similarity index 100% rename from test/sqlsrv/MsData_UTF8.inc rename to test/functional/sqlsrv/MsData_UTF8.inc diff --git a/test/sqlsrv/MsSetup.inc b/test/functional/sqlsrv/MsSetup.inc similarity index 100% rename from test/sqlsrv/MsSetup.inc rename to test/functional/sqlsrv/MsSetup.inc diff --git a/test/sqlsrv/TC11_Info.phpt b/test/functional/sqlsrv/TC11_Info.phpt similarity index 100% rename from test/sqlsrv/TC11_Info.phpt rename to test/functional/sqlsrv/TC11_Info.phpt diff --git a/test/sqlsrv/TC12_Setup.phpt b/test/functional/sqlsrv/TC12_Setup.phpt similarity index 100% rename from test/sqlsrv/TC12_Setup.phpt rename to test/functional/sqlsrv/TC12_Setup.phpt diff --git a/test/sqlsrv/TC21_Connection.phpt b/test/functional/sqlsrv/TC21_Connection.phpt similarity index 100% rename from test/sqlsrv/TC21_Connection.phpt rename to test/functional/sqlsrv/TC21_Connection.phpt diff --git a/test/sqlsrv/TC22_ClientInfo.phpt b/test/functional/sqlsrv/TC22_ClientInfo.phpt similarity index 100% rename from test/sqlsrv/TC22_ClientInfo.phpt rename to test/functional/sqlsrv/TC22_ClientInfo.phpt diff --git a/test/sqlsrv/TC23_ServerInfo.phpt b/test/functional/sqlsrv/TC23_ServerInfo.phpt similarity index 100% rename from test/sqlsrv/TC23_ServerInfo.phpt rename to test/functional/sqlsrv/TC23_ServerInfo.phpt diff --git a/test/sqlsrv/TC24_Close.phpt b/test/functional/sqlsrv/TC24_Close.phpt similarity index 100% rename from test/sqlsrv/TC24_Close.phpt rename to test/functional/sqlsrv/TC24_Close.phpt diff --git a/test/sqlsrv/TC31_SimpleQuery.phpt b/test/functional/sqlsrv/TC31_SimpleQuery.phpt similarity index 100% rename from test/sqlsrv/TC31_SimpleQuery.phpt rename to test/functional/sqlsrv/TC31_SimpleQuery.phpt diff --git a/test/sqlsrv/TC32_DeleteQuery.phpt b/test/functional/sqlsrv/TC32_DeleteQuery.phpt similarity index 100% rename from test/sqlsrv/TC32_DeleteQuery.phpt rename to test/functional/sqlsrv/TC32_DeleteQuery.phpt diff --git a/test/sqlsrv/TC33_ComplexQuery.phpt b/test/functional/sqlsrv/TC33_ComplexQuery.phpt similarity index 100% rename from test/sqlsrv/TC33_ComplexQuery.phpt rename to test/functional/sqlsrv/TC33_ComplexQuery.phpt diff --git a/test/sqlsrv/TC34_PrepAndExec.phpt b/test/functional/sqlsrv/TC34_PrepAndExec.phpt similarity index 100% rename from test/sqlsrv/TC34_PrepAndExec.phpt rename to test/functional/sqlsrv/TC34_PrepAndExec.phpt diff --git a/test/sqlsrv/TC35_Cancel.phpt b/test/functional/sqlsrv/TC35_Cancel.phpt similarity index 100% rename from test/sqlsrv/TC35_Cancel.phpt rename to test/functional/sqlsrv/TC35_Cancel.phpt diff --git a/test/sqlsrv/TC36_Close.phpt b/test/functional/sqlsrv/TC36_Close.phpt similarity index 100% rename from test/sqlsrv/TC36_Close.phpt rename to test/functional/sqlsrv/TC36_Close.phpt diff --git a/test/sqlsrv/TC37_QueryTimeout.phpt b/test/functional/sqlsrv/TC37_QueryTimeout.phpt similarity index 100% rename from test/sqlsrv/TC37_QueryTimeout.phpt rename to test/functional/sqlsrv/TC37_QueryTimeout.phpt diff --git a/test/sqlsrv/TC38_InvalidQuery.phpt b/test/functional/sqlsrv/TC38_InvalidQuery.phpt similarity index 100% rename from test/sqlsrv/TC38_InvalidQuery.phpt rename to test/functional/sqlsrv/TC38_InvalidQuery.phpt diff --git a/test/sqlsrv/TC39_Cursors.phpt b/test/functional/sqlsrv/TC39_Cursors.phpt similarity index 100% rename from test/sqlsrv/TC39_Cursors.phpt rename to test/functional/sqlsrv/TC39_Cursors.phpt diff --git a/test/sqlsrv/TC41_FetchMetadata.phpt b/test/functional/sqlsrv/TC41_FetchMetadata.phpt similarity index 100% rename from test/sqlsrv/TC41_FetchMetadata.phpt rename to test/functional/sqlsrv/TC41_FetchMetadata.phpt diff --git a/test/sqlsrv/TC42_FetchField.phpt b/test/functional/sqlsrv/TC42_FetchField.phpt similarity index 100% rename from test/sqlsrv/TC42_FetchField.phpt rename to test/functional/sqlsrv/TC42_FetchField.phpt diff --git a/test/sqlsrv/TC43_FetchData.phpt b/test/functional/sqlsrv/TC43_FetchData.phpt similarity index 100% rename from test/sqlsrv/TC43_FetchData.phpt rename to test/functional/sqlsrv/TC43_FetchData.phpt diff --git a/test/sqlsrv/TC44_FetchArray.phpt b/test/functional/sqlsrv/TC44_FetchArray.phpt similarity index 100% rename from test/sqlsrv/TC44_FetchArray.phpt rename to test/functional/sqlsrv/TC44_FetchArray.phpt diff --git a/test/sqlsrv/TC45_FetchObject.phpt b/test/functional/sqlsrv/TC45_FetchObject.phpt similarity index 100% rename from test/sqlsrv/TC45_FetchObject.phpt rename to test/functional/sqlsrv/TC45_FetchObject.phpt diff --git a/test/sqlsrv/TC46_FetchNextResult.phpt b/test/functional/sqlsrv/TC46_FetchNextResult.phpt similarity index 100% rename from test/sqlsrv/TC46_FetchNextResult.phpt rename to test/functional/sqlsrv/TC46_FetchNextResult.phpt diff --git a/test/sqlsrv/TC47_ParamQuery.phpt b/test/functional/sqlsrv/TC47_ParamQuery.phpt similarity index 100% rename from test/sqlsrv/TC47_ParamQuery.phpt rename to test/functional/sqlsrv/TC47_ParamQuery.phpt diff --git a/test/sqlsrv/TC48_FetchScrollable.phpt b/test/functional/sqlsrv/TC48_FetchScrollable.phpt similarity index 100% rename from test/sqlsrv/TC48_FetchScrollable.phpt rename to test/functional/sqlsrv/TC48_FetchScrollable.phpt diff --git a/test/sqlsrv/TC51_StreamRead.phpt b/test/functional/sqlsrv/TC51_StreamRead.phpt similarity index 100% rename from test/sqlsrv/TC51_StreamRead.phpt rename to test/functional/sqlsrv/TC51_StreamRead.phpt diff --git a/test/sqlsrv/TC52_StreamSend.phpt b/test/functional/sqlsrv/TC52_StreamSend.phpt similarity index 100% rename from test/sqlsrv/TC52_StreamSend.phpt rename to test/functional/sqlsrv/TC52_StreamSend.phpt diff --git a/test/sqlsrv/TC53_StreamCancel.phpt b/test/functional/sqlsrv/TC53_StreamCancel.phpt similarity index 100% rename from test/sqlsrv/TC53_StreamCancel.phpt rename to test/functional/sqlsrv/TC53_StreamCancel.phpt diff --git a/test/sqlsrv/TC54_StreamPrepared.phpt b/test/functional/sqlsrv/TC54_StreamPrepared.phpt similarity index 100% rename from test/sqlsrv/TC54_StreamPrepared.phpt rename to test/functional/sqlsrv/TC54_StreamPrepared.phpt diff --git a/test/sqlsrv/TC55_StreamScrollable.phpt b/test/functional/sqlsrv/TC55_StreamScrollable.phpt similarity index 100% rename from test/sqlsrv/TC55_StreamScrollable.phpt rename to test/functional/sqlsrv/TC55_StreamScrollable.phpt diff --git a/test/sqlsrv/TC61_TransactionExecution.phpt b/test/functional/sqlsrv/TC61_TransactionExecution.phpt similarity index 100% rename from test/sqlsrv/TC61_TransactionExecution.phpt rename to test/functional/sqlsrv/TC61_TransactionExecution.phpt diff --git a/test/sqlsrv/TC62_TransactionDisconnect.phpt b/test/functional/sqlsrv/TC62_TransactionDisconnect.phpt similarity index 100% rename from test/sqlsrv/TC62_TransactionDisconnect.phpt rename to test/functional/sqlsrv/TC62_TransactionDisconnect.phpt diff --git a/test/sqlsrv/TC63_TransactionBounds.phpt b/test/functional/sqlsrv/TC63_TransactionBounds.phpt similarity index 100% rename from test/sqlsrv/TC63_TransactionBounds.phpt rename to test/functional/sqlsrv/TC63_TransactionBounds.phpt diff --git a/test/sqlsrv/TC64_TransactionProc.phpt b/test/functional/sqlsrv/TC64_TransactionProc.phpt similarity index 100% rename from test/sqlsrv/TC64_TransactionProc.phpt rename to test/functional/sqlsrv/TC64_TransactionProc.phpt diff --git a/test/sqlsrv/TC71_StoredProc.phpt b/test/functional/sqlsrv/TC71_StoredProc.phpt similarity index 100% rename from test/sqlsrv/TC71_StoredProc.phpt rename to test/functional/sqlsrv/TC71_StoredProc.phpt diff --git a/test/sqlsrv/TC72_StoredFunc.phpt b/test/functional/sqlsrv/TC72_StoredFunc.phpt similarity index 100% rename from test/sqlsrv/TC72_StoredFunc.phpt rename to test/functional/sqlsrv/TC72_StoredFunc.phpt diff --git a/test/sqlsrv/TC73_ProcCall.phpt b/test/functional/sqlsrv/TC73_ProcCall.phpt similarity index 100% rename from test/sqlsrv/TC73_ProcCall.phpt rename to test/functional/sqlsrv/TC73_ProcCall.phpt diff --git a/test/sqlsrv/TC74_ProcQuery.phpt b/test/functional/sqlsrv/TC74_ProcQuery.phpt similarity index 100% rename from test/sqlsrv/TC74_ProcQuery.phpt rename to test/functional/sqlsrv/TC74_ProcQuery.phpt diff --git a/test/sqlsrv/TC75_ProcRoundtrip.phpt b/test/functional/sqlsrv/TC75_ProcRoundtrip.phpt similarity index 100% rename from test/sqlsrv/TC75_ProcRoundtrip.phpt rename to test/functional/sqlsrv/TC75_ProcRoundtrip.phpt diff --git a/test/sqlsrv/TC76_StoredProcNull.phpt b/test/functional/sqlsrv/TC76_StoredProcNull.phpt similarity index 100% rename from test/sqlsrv/TC76_StoredProcNull.phpt rename to test/functional/sqlsrv/TC76_StoredProcNull.phpt diff --git a/test/sqlsrv/TC78_RegressionVSTS611146.phpt b/test/functional/sqlsrv/TC78_RegressionVSTS611146.phpt similarity index 100% rename from test/sqlsrv/TC78_RegressionVSTS611146.phpt rename to test/functional/sqlsrv/TC78_RegressionVSTS611146.phpt diff --git a/test/sqlsrv/TC79_RegressionVSTS846501.phpt b/test/functional/sqlsrv/TC79_RegressionVSTS846501.phpt similarity index 100% rename from test/sqlsrv/TC79_RegressionVSTS846501.phpt rename to test/functional/sqlsrv/TC79_RegressionVSTS846501.phpt diff --git a/test/sqlsrv/TC81_MemoryCheck.phpt b/test/functional/sqlsrv/TC81_MemoryCheck.phpt similarity index 100% rename from test/sqlsrv/TC81_MemoryCheck.phpt rename to test/functional/sqlsrv/TC81_MemoryCheck.phpt diff --git a/test/sqlsrv/TC82_StoredProcRS.phpt b/test/functional/sqlsrv/TC82_StoredProcRS.phpt similarity index 100% rename from test/sqlsrv/TC82_StoredProcRS.phpt rename to test/functional/sqlsrv/TC82_StoredProcRS.phpt diff --git a/test/sqlsrv/TC83_ComplexInsert.phpt b/test/functional/sqlsrv/TC83_ComplexInsert.phpt similarity index 100% rename from test/sqlsrv/TC83_ComplexInsert.phpt rename to test/functional/sqlsrv/TC83_ComplexInsert.phpt diff --git a/test/sqlsrv/TC84_LargeColumnName.phpt b/test/functional/sqlsrv/TC84_LargeColumnName.phpt similarity index 100% rename from test/sqlsrv/TC84_LargeColumnName.phpt rename to test/functional/sqlsrv/TC84_LargeColumnName.phpt diff --git a/test/sqlsrv/TC84_LargeColumnName_unicode.phpt b/test/functional/sqlsrv/TC84_LargeColumnName_unicode.phpt similarity index 100% rename from test/sqlsrv/TC84_LargeColumnName_unicode.phpt rename to test/functional/sqlsrv/TC84_LargeColumnName_unicode.phpt diff --git a/test/sqlsrv/TC84_LargeColumnName_unicode_col_name.phpt b/test/functional/sqlsrv/TC84_LargeColumnName_unicode_col_name.phpt similarity index 100% rename from test/sqlsrv/TC84_LargeColumnName_unicode_col_name.phpt rename to test/functional/sqlsrv/TC84_LargeColumnName_unicode_col_name.phpt diff --git a/test/sqlsrv/TC85_MaxOutputParams.phpt b/test/functional/sqlsrv/TC85_MaxOutputParams.phpt similarity index 100% rename from test/sqlsrv/TC85_MaxOutputParams.phpt rename to test/functional/sqlsrv/TC85_MaxOutputParams.phpt diff --git a/test/sqlsrv/TC86_InsertNulls.phpt b/test/functional/sqlsrv/TC86_InsertNulls.phpt similarity index 100% rename from test/sqlsrv/TC86_InsertNulls.phpt rename to test/functional/sqlsrv/TC86_InsertNulls.phpt diff --git a/test/sqlsrv/bind_param_null.phpt b/test/functional/sqlsrv/bind_param_null.phpt similarity index 100% rename from test/sqlsrv/bind_param_null.phpt rename to test/functional/sqlsrv/bind_param_null.phpt diff --git a/test/sqlsrv/break.php b/test/functional/sqlsrv/break.php similarity index 100% rename from test/sqlsrv/break.php rename to test/functional/sqlsrv/break.php diff --git a/test/sqlsrv/bug_611146.phpt b/test/functional/sqlsrv/bug_611146.phpt similarity index 100% rename from test/sqlsrv/bug_611146.phpt rename to test/functional/sqlsrv/bug_611146.phpt diff --git a/test/sqlsrv/bug_close.phpt b/test/functional/sqlsrv/bug_close.phpt similarity index 100% rename from test/sqlsrv/bug_close.phpt rename to test/functional/sqlsrv/bug_close.phpt diff --git a/test/sqlsrv/bug_errors.phpt b/test/functional/sqlsrv/bug_errors.phpt similarity index 100% rename from test/sqlsrv/bug_errors.phpt rename to test/functional/sqlsrv/bug_errors.phpt diff --git a/test/sqlsrv/bugfix_dataCorruption.phpt b/test/functional/sqlsrv/bugfix_dataCorruption.phpt similarity index 100% rename from test/sqlsrv/bugfix_dataCorruption.phpt rename to test/functional/sqlsrv/bugfix_dataCorruption.phpt diff --git a/test/sqlsrv/connection_resiliency.phpt b/test/functional/sqlsrv/connection_resiliency.phpt similarity index 100% rename from test/sqlsrv/connection_resiliency.phpt rename to test/functional/sqlsrv/connection_resiliency.phpt diff --git a/test/sqlsrv/connection_resiliency_keywords.phpt b/test/functional/sqlsrv/connection_resiliency_keywords.phpt similarity index 100% rename from test/sqlsrv/connection_resiliency_keywords.phpt rename to test/functional/sqlsrv/connection_resiliency_keywords.phpt diff --git a/test/sqlsrv/connection_resiliency_prepare_transact.phpt b/test/functional/sqlsrv/connection_resiliency_prepare_transact.phpt similarity index 100% rename from test/sqlsrv/connection_resiliency_prepare_transact.phpt rename to test/functional/sqlsrv/connection_resiliency_prepare_transact.phpt diff --git a/test/sqlsrv/connection_resiliency_timeouts.phpt b/test/functional/sqlsrv/connection_resiliency_timeouts.phpt similarity index 100% rename from test/sqlsrv/connection_resiliency_timeouts.phpt rename to test/functional/sqlsrv/connection_resiliency_timeouts.phpt diff --git a/test/sqlsrv/datetime_inheritence.phpt b/test/functional/sqlsrv/datetime_inheritence.phpt similarity index 100% rename from test/sqlsrv/datetime_inheritence.phpt rename to test/functional/sqlsrv/datetime_inheritence.phpt diff --git a/test/sqlsrv/fix_test_168256-2.phpt b/test/functional/sqlsrv/fix_test_168256-2.phpt similarity index 100% rename from test/sqlsrv/fix_test_168256-2.phpt rename to test/functional/sqlsrv/fix_test_168256-2.phpt diff --git a/test/sqlsrv/fix_test_168256.phpt b/test/functional/sqlsrv/fix_test_168256.phpt similarity index 100% rename from test/sqlsrv/fix_test_168256.phpt rename to test/functional/sqlsrv/fix_test_168256.phpt diff --git a/test/sqlsrv/fix_test_182741.phpt b/test/functional/sqlsrv/fix_test_182741.phpt similarity index 100% rename from test/sqlsrv/fix_test_182741.phpt rename to test/functional/sqlsrv/fix_test_182741.phpt diff --git a/test/sqlsrv/isPooled.php b/test/functional/sqlsrv/isPooled.php similarity index 100% rename from test/sqlsrv/isPooled.php rename to test/functional/sqlsrv/isPooled.php diff --git a/test/sqlsrv/issue_52.phpt b/test/functional/sqlsrv/issue_52.phpt similarity index 100% rename from test/sqlsrv/issue_52.phpt rename to test/functional/sqlsrv/issue_52.phpt diff --git a/test/sqlsrv/php.gif b/test/functional/sqlsrv/php.gif similarity index 100% rename from test/sqlsrv/php.gif rename to test/functional/sqlsrv/php.gif diff --git a/test/sqlsrv/skipif.inc b/test/functional/sqlsrv/skipif.inc similarity index 100% rename from test/sqlsrv/skipif.inc rename to test/functional/sqlsrv/skipif.inc diff --git a/test/sqlsrv/skipif_azure.inc b/test/functional/sqlsrv/skipif_azure.inc similarity index 100% rename from test/sqlsrv/skipif_azure.inc rename to test/functional/sqlsrv/skipif_azure.inc diff --git a/test/sqlsrv/skipif_protocol_not_tcp.inc b/test/functional/sqlsrv/skipif_protocol_not_tcp.inc similarity index 100% rename from test/sqlsrv/skipif_protocol_not_tcp.inc rename to test/functional/sqlsrv/skipif_protocol_not_tcp.inc diff --git a/test/sqlsrv/skipif_unix.inc b/test/functional/sqlsrv/skipif_unix.inc similarity index 100% rename from test/sqlsrv/skipif_unix.inc rename to test/functional/sqlsrv/skipif_unix.inc diff --git a/test/sqlsrv/sqlsrv_2008_dataTypes.phpt b/test/functional/sqlsrv/sqlsrv_2008_dataTypes.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_2008_dataTypes.phpt rename to test/functional/sqlsrv/sqlsrv_2008_dataTypes.phpt diff --git a/test/sqlsrv/sqlsrv_378_out_param_error.phpt b/test/functional/sqlsrv/sqlsrv_378_out_param_error.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_378_out_param_error.phpt rename to test/functional/sqlsrv/sqlsrv_378_out_param_error.phpt diff --git a/test/sqlsrv/sqlsrv_ConnPool_Unix.phpt b/test/functional/sqlsrv/sqlsrv_ConnPool_Unix.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_ConnPool_Unix.phpt rename to test/functional/sqlsrv/sqlsrv_ConnPool_Unix.phpt diff --git a/test/sqlsrv/sqlsrv_LOB.phpt b/test/functional/sqlsrv/sqlsrv_LOB.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_LOB.phpt rename to test/functional/sqlsrv/sqlsrv_LOB.phpt diff --git a/test/sqlsrv/sqlsrv_TNIR.phpt b/test/functional/sqlsrv/sqlsrv_TNIR.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_TNIR.phpt rename to test/functional/sqlsrv/sqlsrv_TNIR.phpt diff --git a/test/sqlsrv/sqlsrv_azure_ad_authentication.phpt b/test/functional/sqlsrv/sqlsrv_azure_ad_authentication.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_azure_ad_authentication.phpt rename to test/functional/sqlsrv/sqlsrv_azure_ad_authentication.phpt diff --git a/test/sqlsrv/sqlsrv_bind_output_param.phpt b/test/functional/sqlsrv/sqlsrv_bind_output_param.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_bind_output_param.phpt rename to test/functional/sqlsrv/sqlsrv_bind_output_param.phpt diff --git a/test/sqlsrv/sqlsrv_bind_param_out_string.phpt b/test/functional/sqlsrv/sqlsrv_bind_param_out_string.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_bind_param_out_string.phpt rename to test/functional/sqlsrv/sqlsrv_bind_param_out_string.phpt diff --git a/test/sqlsrv/sqlsrv_buffered.phpt b/test/functional/sqlsrv/sqlsrv_buffered.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_buffered.phpt rename to test/functional/sqlsrv/sqlsrv_buffered.phpt diff --git a/test/sqlsrv/sqlsrv_buffered_result_set_extended_ascii.phpt b/test/functional/sqlsrv/sqlsrv_buffered_result_set_extended_ascii.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_buffered_result_set_extended_ascii.phpt rename to test/functional/sqlsrv/sqlsrv_buffered_result_set_extended_ascii.phpt diff --git a/test/sqlsrv/sqlsrv_bug_boolean_cast.phpt b/test/functional/sqlsrv/sqlsrv_bug_boolean_cast.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_bug_boolean_cast.phpt rename to test/functional/sqlsrv/sqlsrv_bug_boolean_cast.phpt diff --git a/test/sqlsrv/sqlsrv_bug_boolean_cast_in_bit.phpt b/test/functional/sqlsrv/sqlsrv_bug_boolean_cast_in_bit.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_bug_boolean_cast_in_bit.phpt rename to test/functional/sqlsrv/sqlsrv_bug_boolean_cast_in_bit.phpt diff --git a/test/sqlsrv/sqlsrv_bug_boolean_cast_in_bool.phpt b/test/functional/sqlsrv/sqlsrv_bug_boolean_cast_in_bool.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_bug_boolean_cast_in_bool.phpt rename to test/functional/sqlsrv/sqlsrv_bug_boolean_cast_in_bool.phpt diff --git a/test/sqlsrv/sqlsrv_bug_boolean_cast_inout_bit.phpt b/test/functional/sqlsrv/sqlsrv_bug_boolean_cast_inout_bit.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_bug_boolean_cast_inout_bit.phpt rename to test/functional/sqlsrv/sqlsrv_bug_boolean_cast_inout_bit.phpt diff --git a/test/sqlsrv/sqlsrv_bug_boolean_cast_inout_bool.phpt b/test/functional/sqlsrv/sqlsrv_bug_boolean_cast_inout_bool.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_bug_boolean_cast_inout_bool.phpt rename to test/functional/sqlsrv/sqlsrv_bug_boolean_cast_inout_bool.phpt diff --git a/test/sqlsrv/sqlsrv_bug_boolean_cast_out_bit.phpt b/test/functional/sqlsrv/sqlsrv_bug_boolean_cast_out_bit.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_bug_boolean_cast_out_bit.phpt rename to test/functional/sqlsrv/sqlsrv_bug_boolean_cast_out_bit.phpt diff --git a/test/sqlsrv/sqlsrv_bug_boolean_cast_out_bool.phpt b/test/functional/sqlsrv/sqlsrv_bug_boolean_cast_out_bool.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_bug_boolean_cast_out_bool.phpt rename to test/functional/sqlsrv/sqlsrv_bug_boolean_cast_out_bool.phpt diff --git a/test/sqlsrv/sqlsrv_client_info.phpt b/test/functional/sqlsrv/sqlsrv_client_info.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_client_info.phpt rename to test/functional/sqlsrv/sqlsrv_client_info.phpt diff --git a/test/sqlsrv/sqlsrv_close.phpt b/test/functional/sqlsrv/sqlsrv_close.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_close.phpt rename to test/functional/sqlsrv/sqlsrv_close.phpt diff --git a/test/sqlsrv/sqlsrv_close_twice.phpt b/test/functional/sqlsrv/sqlsrv_close_twice.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_close_twice.phpt rename to test/functional/sqlsrv/sqlsrv_close_twice.phpt diff --git a/test/sqlsrv/sqlsrv_commit.phpt b/test/functional/sqlsrv/sqlsrv_commit.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_commit.phpt rename to test/functional/sqlsrv/sqlsrv_commit.phpt diff --git a/test/sqlsrv/sqlsrv_complex_query.phpt b/test/functional/sqlsrv/sqlsrv_complex_query.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_complex_query.phpt rename to test/functional/sqlsrv/sqlsrv_complex_query.phpt diff --git a/test/sqlsrv/sqlsrv_configure.phpt b/test/functional/sqlsrv/sqlsrv_configure.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_configure.phpt rename to test/functional/sqlsrv/sqlsrv_configure.phpt diff --git a/test/sqlsrv/sqlsrv_configure_logs_only.phpt b/test/functional/sqlsrv/sqlsrv_configure_logs_only.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_configure_logs_only.phpt rename to test/functional/sqlsrv/sqlsrv_configure_logs_only.phpt diff --git a/test/sqlsrv/sqlsrv_connStr.phpt b/test/functional/sqlsrv/sqlsrv_connStr.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_connStr.phpt rename to test/functional/sqlsrv/sqlsrv_connStr.phpt diff --git a/test/sqlsrv/sqlsrv_connect.phpt b/test/functional/sqlsrv/sqlsrv_connect.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_connect.phpt rename to test/functional/sqlsrv/sqlsrv_connect.phpt diff --git a/test/sqlsrv/sqlsrv_custom_numeric_formats.phpt b/test/functional/sqlsrv/sqlsrv_custom_numeric_formats.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_custom_numeric_formats.phpt rename to test/functional/sqlsrv/sqlsrv_custom_numeric_formats.phpt diff --git a/test/sqlsrv/sqlsrv_data_to_str.phpt b/test/functional/sqlsrv/sqlsrv_data_to_str.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_data_to_str.phpt rename to test/functional/sqlsrv/sqlsrv_data_to_str.phpt diff --git a/test/sqlsrv/sqlsrv_data_types_explict_fetch.phpt b/test/functional/sqlsrv/sqlsrv_data_types_explict_fetch.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_data_types_explict_fetch.phpt rename to test/functional/sqlsrv/sqlsrv_data_types_explict_fetch.phpt diff --git a/test/sqlsrv/sqlsrv_data_types_fetch_binary_stream.phpt b/test/functional/sqlsrv/sqlsrv_data_types_fetch_binary_stream.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_data_types_fetch_binary_stream.phpt rename to test/functional/sqlsrv/sqlsrv_data_types_fetch_binary_stream.phpt diff --git a/test/sqlsrv/sqlsrv_errors.phpt b/test/functional/sqlsrv/sqlsrv_errors.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_errors.phpt rename to test/functional/sqlsrv/sqlsrv_errors.phpt diff --git a/test/sqlsrv/sqlsrv_execute_twice.phpt b/test/functional/sqlsrv/sqlsrv_execute_twice.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_execute_twice.phpt rename to test/functional/sqlsrv/sqlsrv_execute_twice.phpt diff --git a/test/sqlsrv/sqlsrv_fetch_array_unicode_col_name.phpt b/test/functional/sqlsrv/sqlsrv_fetch_array_unicode_col_name.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_fetch_array_unicode_col_name.phpt rename to test/functional/sqlsrv/sqlsrv_fetch_array_unicode_col_name.phpt diff --git a/test/sqlsrv/sqlsrv_fetch_complex_transactions.phpt b/test/functional/sqlsrv/sqlsrv_fetch_complex_transactions.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_fetch_complex_transactions.phpt rename to test/functional/sqlsrv/sqlsrv_fetch_complex_transactions.phpt diff --git a/test/sqlsrv/sqlsrv_fetch_cursor_static_scroll.phpt b/test/functional/sqlsrv/sqlsrv_fetch_cursor_static_scroll.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_fetch_cursor_static_scroll.phpt rename to test/functional/sqlsrv/sqlsrv_fetch_cursor_static_scroll.phpt diff --git a/test/sqlsrv/sqlsrv_fetch_cursor_types.phpt b/test/functional/sqlsrv/sqlsrv_fetch_cursor_types.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_fetch_cursor_types.phpt rename to test/functional/sqlsrv/sqlsrv_fetch_cursor_types.phpt diff --git a/test/sqlsrv/sqlsrv_fetch_datetime_as_strings.phpt b/test/functional/sqlsrv/sqlsrv_fetch_datetime_as_strings.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_fetch_datetime_as_strings.phpt rename to test/functional/sqlsrv/sqlsrv_fetch_datetime_as_strings.phpt diff --git a/test/sqlsrv/sqlsrv_fetch_field_twice_data_types.phpt b/test/functional/sqlsrv/sqlsrv_fetch_field_twice_data_types.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_fetch_field_twice_data_types.phpt rename to test/functional/sqlsrv/sqlsrv_fetch_field_twice_data_types.phpt diff --git a/test/sqlsrv/sqlsrv_fetch_invalid_types.phpt b/test/functional/sqlsrv/sqlsrv_fetch_invalid_types.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_fetch_invalid_types.phpt rename to test/functional/sqlsrv/sqlsrv_fetch_invalid_types.phpt diff --git a/test/sqlsrv/sqlsrv_fetch_missing_row.phpt b/test/functional/sqlsrv/sqlsrv_fetch_missing_row.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_fetch_missing_row.phpt rename to test/functional/sqlsrv/sqlsrv_fetch_missing_row.phpt diff --git a/test/sqlsrv/sqlsrv_fetch_object.phpt b/test/functional/sqlsrv/sqlsrv_fetch_object.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_fetch_object.phpt rename to test/functional/sqlsrv/sqlsrv_fetch_object.phpt diff --git a/test/sqlsrv/sqlsrv_fetch_object_2.phpt b/test/functional/sqlsrv/sqlsrv_fetch_object_2.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_fetch_object_2.phpt rename to test/functional/sqlsrv/sqlsrv_fetch_object_2.phpt diff --git a/test/sqlsrv/sqlsrv_fetch_object_class.phpt b/test/functional/sqlsrv/sqlsrv_fetch_object_class.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_fetch_object_class.phpt rename to test/functional/sqlsrv/sqlsrv_fetch_object_class.phpt diff --git a/test/sqlsrv/sqlsrv_fetch_object_unicode_col_name1.phpt b/test/functional/sqlsrv/sqlsrv_fetch_object_unicode_col_name1.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_fetch_object_unicode_col_name1.phpt rename to test/functional/sqlsrv/sqlsrv_fetch_object_unicode_col_name1.phpt diff --git a/test/sqlsrv/sqlsrv_fetch_object_unicode_col_name2.phpt b/test/functional/sqlsrv/sqlsrv_fetch_object_unicode_col_name2.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_fetch_object_unicode_col_name2.phpt rename to test/functional/sqlsrv/sqlsrv_fetch_object_unicode_col_name2.phpt diff --git a/test/sqlsrv/sqlsrv_get_config.phpt b/test/functional/sqlsrv/sqlsrv_get_config.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_get_config.phpt rename to test/functional/sqlsrv/sqlsrv_get_config.phpt diff --git a/test/sqlsrv/sqlsrv_get_field.phpt b/test/functional/sqlsrv/sqlsrv_get_field.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_get_field.phpt rename to test/functional/sqlsrv/sqlsrv_get_field.phpt diff --git a/test/sqlsrv/sqlsrv_input_param_unknown_encoding.phpt b/test/functional/sqlsrv/sqlsrv_input_param_unknown_encoding.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_input_param_unknown_encoding.phpt rename to test/functional/sqlsrv/sqlsrv_input_param_unknown_encoding.phpt diff --git a/test/sqlsrv/sqlsrv_katmai_special_types.phpt b/test/functional/sqlsrv/sqlsrv_katmai_special_types.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_katmai_special_types.phpt rename to test/functional/sqlsrv/sqlsrv_katmai_special_types.phpt diff --git a/test/sqlsrv/sqlsrv_metadata.phpt b/test/functional/sqlsrv/sqlsrv_metadata.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_metadata.phpt rename to test/functional/sqlsrv/sqlsrv_metadata.phpt diff --git a/test/sqlsrv/sqlsrv_metadata_unicode_col_name1.phpt b/test/functional/sqlsrv/sqlsrv_metadata_unicode_col_name1.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_metadata_unicode_col_name1.phpt rename to test/functional/sqlsrv/sqlsrv_metadata_unicode_col_name1.phpt diff --git a/test/sqlsrv/sqlsrv_metadata_unicode_col_name2.phpt b/test/functional/sqlsrv/sqlsrv_metadata_unicode_col_name2.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_metadata_unicode_col_name2.phpt rename to test/functional/sqlsrv/sqlsrv_metadata_unicode_col_name2.phpt diff --git a/test/sqlsrv/sqlsrv_num_fields.phpt b/test/functional/sqlsrv/sqlsrv_num_fields.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_num_fields.phpt rename to test/functional/sqlsrv/sqlsrv_num_fields.phpt diff --git a/test/sqlsrv/sqlsrv_num_rows.phpt b/test/functional/sqlsrv/sqlsrv_num_rows.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_num_rows.phpt rename to test/functional/sqlsrv/sqlsrv_num_rows.phpt diff --git a/test/sqlsrv/sqlsrv_param_floats.phpt b/test/functional/sqlsrv/sqlsrv_param_floats.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_param_floats.phpt rename to test/functional/sqlsrv/sqlsrv_param_floats.phpt diff --git a/test/sqlsrv/sqlsrv_param_input_variants.phpt b/test/functional/sqlsrv/sqlsrv_param_input_variants.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_param_input_variants.phpt rename to test/functional/sqlsrv/sqlsrv_param_input_variants.phpt diff --git a/test/sqlsrv/sqlsrv_param_ints_with_deletes.phpt b/test/functional/sqlsrv/sqlsrv_param_ints_with_deletes.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_param_ints_with_deletes.phpt rename to test/functional/sqlsrv/sqlsrv_param_ints_with_deletes.phpt diff --git a/test/sqlsrv/sqlsrv_param_output_variants.phpt b/test/functional/sqlsrv/sqlsrv_param_output_variants.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_param_output_variants.phpt rename to test/functional/sqlsrv/sqlsrv_param_output_variants.phpt diff --git a/test/sqlsrv/sqlsrv_param_query_array_inputs.phpt b/test/functional/sqlsrv/sqlsrv_param_query_array_inputs.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_param_query_array_inputs.phpt rename to test/functional/sqlsrv/sqlsrv_param_query_array_inputs.phpt diff --git a/test/sqlsrv/sqlsrv_param_query_data_types.phpt b/test/functional/sqlsrv/sqlsrv_param_query_data_types.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_param_query_data_types.phpt rename to test/functional/sqlsrv/sqlsrv_param_query_data_types.phpt diff --git a/test/sqlsrv/sqlsrv_param_query_errors.phpt b/test/functional/sqlsrv/sqlsrv_param_query_errors.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_param_query_errors.phpt rename to test/functional/sqlsrv/sqlsrv_param_query_errors.phpt diff --git a/test/sqlsrv/sqlsrv_param_query_invalid_inputs.phpt b/test/functional/sqlsrv/sqlsrv_param_query_invalid_inputs.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_param_query_invalid_inputs.phpt rename to test/functional/sqlsrv/sqlsrv_param_query_invalid_inputs.phpt diff --git a/test/sqlsrv/sqlsrv_prepare.phpt b/test/functional/sqlsrv/sqlsrv_prepare.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_prepare.phpt rename to test/functional/sqlsrv/sqlsrv_prepare.phpt diff --git a/test/sqlsrv/sqlsrv_prepareAndExecute.phpt b/test/functional/sqlsrv/sqlsrv_prepareAndExecute.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_prepareAndExecute.phpt rename to test/functional/sqlsrv/sqlsrv_prepareAndExecute.phpt diff --git a/test/sqlsrv/sqlsrv_query.phpt b/test/functional/sqlsrv/sqlsrv_query.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_query.phpt rename to test/functional/sqlsrv/sqlsrv_query.phpt diff --git a/test/sqlsrv/sqlsrv_readStream.phpt b/test/functional/sqlsrv/sqlsrv_readStream.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_readStream.phpt rename to test/functional/sqlsrv/sqlsrv_readStream.phpt diff --git a/test/sqlsrv/sqlsrv_rowsAffected.phpt b/test/functional/sqlsrv/sqlsrv_rowsAffected.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_rowsAffected.phpt rename to test/functional/sqlsrv/sqlsrv_rowsAffected.phpt diff --git a/test/sqlsrv/sqlsrv_send_stream_data.phpt b/test/functional/sqlsrv/sqlsrv_send_stream_data.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_send_stream_data.phpt rename to test/functional/sqlsrv/sqlsrv_send_stream_data.phpt diff --git a/test/sqlsrv/sqlsrv_serverInfo.phpt b/test/functional/sqlsrv/sqlsrv_serverInfo.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_serverInfo.phpt rename to test/functional/sqlsrv/sqlsrv_serverInfo.phpt diff --git a/test/sqlsrv/sqlsrv_simple_fetch_variants.phpt b/test/functional/sqlsrv/sqlsrv_simple_fetch_variants.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_simple_fetch_variants.phpt rename to test/functional/sqlsrv/sqlsrv_simple_fetch_variants.phpt diff --git a/test/sqlsrv/sqlsrv_simple_update_variants.phpt b/test/functional/sqlsrv/sqlsrv_simple_update_variants.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_simple_update_variants.phpt rename to test/functional/sqlsrv/sqlsrv_simple_update_variants.phpt diff --git a/test/sqlsrv/sqlsrv_statement_cancel.phpt b/test/functional/sqlsrv/sqlsrv_statement_cancel.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_statement_cancel.phpt rename to test/functional/sqlsrv/sqlsrv_statement_cancel.phpt diff --git a/test/sqlsrv/sqlsrv_statement_query_timeout.phpt b/test/functional/sqlsrv/sqlsrv_statement_query_timeout.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_statement_query_timeout.phpt rename to test/functional/sqlsrv/sqlsrv_statement_query_timeout.phpt diff --git a/test/sqlsrv/sqlsrv_statement_query_timeout_transaction.phpt b/test/functional/sqlsrv/sqlsrv_statement_query_timeout_transaction.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_statement_query_timeout_transaction.phpt rename to test/functional/sqlsrv/sqlsrv_statement_query_timeout_transaction.phpt diff --git a/test/sqlsrv/sqlsrv_stmt_option_invalid_key.phpt b/test/functional/sqlsrv/sqlsrv_stmt_option_invalid_key.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_stmt_option_invalid_key.phpt rename to test/functional/sqlsrv/sqlsrv_stmt_option_invalid_key.phpt diff --git a/test/sqlsrv/sqlsrv_stored_proc_varchar.phpt b/test/functional/sqlsrv/sqlsrv_stored_proc_varchar.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_stored_proc_varchar.phpt rename to test/functional/sqlsrv/sqlsrv_stored_proc_varchar.phpt diff --git a/test/sqlsrv/sqlsrv_str_streams.phpt b/test/functional/sqlsrv/sqlsrv_str_streams.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_str_streams.phpt rename to test/functional/sqlsrv/sqlsrv_str_streams.phpt diff --git a/test/sqlsrv/sqlsrv_streams_empty_char.phpt b/test/functional/sqlsrv/sqlsrv_streams_empty_char.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_streams_empty_char.phpt rename to test/functional/sqlsrv/sqlsrv_streams_empty_char.phpt diff --git a/test/sqlsrv/sqlsrv_streams_null_binary.phpt b/test/functional/sqlsrv/sqlsrv_streams_null_binary.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_streams_null_binary.phpt rename to test/functional/sqlsrv/sqlsrv_streams_null_binary.phpt diff --git a/test/sqlsrv/sqlsrv_streams_null_nchar.phpt b/test/functional/sqlsrv/sqlsrv_streams_null_nchar.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_streams_null_nchar.phpt rename to test/functional/sqlsrv/sqlsrv_streams_null_nchar.phpt diff --git a/test/sqlsrv/sqlsrv_testConnection.phpt b/test/functional/sqlsrv/sqlsrv_testConnection.phpt similarity index 100% rename from test/sqlsrv/sqlsrv_testConnection.phpt rename to test/functional/sqlsrv/sqlsrv_testConnection.phpt diff --git a/test/sqlsrv/sqlsrv_test_base.inc b/test/functional/sqlsrv/sqlsrv_test_base.inc similarity index 100% rename from test/sqlsrv/sqlsrv_test_base.inc rename to test/functional/sqlsrv/sqlsrv_test_base.inc diff --git a/test/sqlsrv/srv_001.phpt b/test/functional/sqlsrv/srv_001.phpt similarity index 100% rename from test/sqlsrv/srv_001.phpt rename to test/functional/sqlsrv/srv_001.phpt diff --git a/test/sqlsrv/srv_002.phpt b/test/functional/sqlsrv/srv_002.phpt similarity index 100% rename from test/sqlsrv/srv_002.phpt rename to test/functional/sqlsrv/srv_002.phpt diff --git a/test/sqlsrv/srv_007_login_timeout.phpt b/test/functional/sqlsrv/srv_007_login_timeout.phpt similarity index 100% rename from test/sqlsrv/srv_007_login_timeout.phpt rename to test/functional/sqlsrv/srv_007_login_timeout.phpt diff --git a/test/sqlsrv/srv_009_connect_app_unicode.phpt b/test/functional/sqlsrv/srv_009_connect_app_unicode.phpt similarity index 100% rename from test/sqlsrv/srv_009_connect_app_unicode.phpt rename to test/functional/sqlsrv/srv_009_connect_app_unicode.phpt diff --git a/test/sqlsrv/srv_011_temporary_table.phpt b/test/functional/sqlsrv/srv_011_temporary_table.phpt similarity index 100% rename from test/sqlsrv/srv_011_temporary_table.phpt rename to test/functional/sqlsrv/srv_011_temporary_table.phpt diff --git a/test/sqlsrv/srv_012_sqlsrv_fetch_array.phpt b/test/functional/sqlsrv/srv_012_sqlsrv_fetch_array.phpt similarity index 100% rename from test/sqlsrv/srv_012_sqlsrv_fetch_array.phpt rename to test/functional/sqlsrv/srv_012_sqlsrv_fetch_array.phpt diff --git a/test/sqlsrv/srv_013_sqlsrv_get_field.phpt b/test/functional/sqlsrv/srv_013_sqlsrv_get_field.phpt similarity index 100% rename from test/sqlsrv/srv_013_sqlsrv_get_field.phpt rename to test/functional/sqlsrv/srv_013_sqlsrv_get_field.phpt diff --git a/test/sqlsrv/srv_014_sqlsrv_get_field.phpt b/test/functional/sqlsrv/srv_014_sqlsrv_get_field.phpt similarity index 100% rename from test/sqlsrv/srv_014_sqlsrv_get_field.phpt rename to test/functional/sqlsrv/srv_014_sqlsrv_get_field.phpt diff --git a/test/sqlsrv/srv_019_char.phpt b/test/functional/sqlsrv/srv_019_char.phpt similarity index 100% rename from test/sqlsrv/srv_019_char.phpt rename to test/functional/sqlsrv/srv_019_char.phpt diff --git a/test/sqlsrv/srv_020_unicode_strings.phpt b/test/functional/sqlsrv/srv_020_unicode_strings.phpt similarity index 100% rename from test/sqlsrv/srv_020_unicode_strings.phpt rename to test/functional/sqlsrv/srv_020_unicode_strings.phpt diff --git a/test/sqlsrv/srv_021_extended_ascii_strings_fetch_array.phpt b/test/functional/sqlsrv/srv_021_extended_ascii_strings_fetch_array.phpt similarity index 100% rename from test/sqlsrv/srv_021_extended_ascii_strings_fetch_array.phpt rename to test/functional/sqlsrv/srv_021_extended_ascii_strings_fetch_array.phpt diff --git a/test/sqlsrv/srv_028_data_conversion_nvarchar.phpt b/test/functional/sqlsrv/srv_028_data_conversion_nvarchar.phpt similarity index 100% rename from test/sqlsrv/srv_028_data_conversion_nvarchar.phpt rename to test/functional/sqlsrv/srv_028_data_conversion_nvarchar.phpt diff --git a/test/sqlsrv/srv_029_data_conversion_varchar_datetime.phpt b/test/functional/sqlsrv/srv_029_data_conversion_varchar_datetime.phpt similarity index 100% rename from test/sqlsrv/srv_029_data_conversion_varchar_datetime.phpt rename to test/functional/sqlsrv/srv_029_data_conversion_varchar_datetime.phpt diff --git a/test/sqlsrv/srv_031_sqlsrv_field_metadata.phpt b/test/functional/sqlsrv/srv_031_sqlsrv_field_metadata.phpt similarity index 100% rename from test/sqlsrv/srv_031_sqlsrv_field_metadata.phpt rename to test/functional/sqlsrv/srv_031_sqlsrv_field_metadata.phpt diff --git a/test/sqlsrv/srv_033_binary_unicode.phpt b/test/functional/sqlsrv/srv_033_binary_unicode.phpt similarity index 100% rename from test/sqlsrv/srv_033_binary_unicode.phpt rename to test/functional/sqlsrv/srv_033_binary_unicode.phpt diff --git a/test/sqlsrv/srv_034_field_metadata_unicode.phpt b/test/functional/sqlsrv/srv_034_field_metadata_unicode.phpt similarity index 100% rename from test/sqlsrv/srv_034_field_metadata_unicode.phpt rename to test/functional/sqlsrv/srv_034_field_metadata_unicode.phpt diff --git a/test/sqlsrv/srv_036_transaction_commit.phpt b/test/functional/sqlsrv/srv_036_transaction_commit.phpt similarity index 100% rename from test/sqlsrv/srv_036_transaction_commit.phpt rename to test/functional/sqlsrv/srv_036_transaction_commit.phpt diff --git a/test/sqlsrv/srv_037_sqlsrv_has_rows.phpt b/test/functional/sqlsrv/srv_037_sqlsrv_has_rows.phpt similarity index 100% rename from test/sqlsrv/srv_037_sqlsrv_has_rows.phpt rename to test/functional/sqlsrv/srv_037_sqlsrv_has_rows.phpt diff --git a/test/sqlsrv/srv_037_transaction_rollback.phpt b/test/functional/sqlsrv/srv_037_transaction_rollback.phpt similarity index 100% rename from test/sqlsrv/srv_037_transaction_rollback.phpt rename to test/functional/sqlsrv/srv_037_transaction_rollback.phpt diff --git a/test/sqlsrv/srv_047_stream_nvarchar.phpt b/test/functional/sqlsrv/srv_047_stream_nvarchar.phpt similarity index 100% rename from test/sqlsrv/srv_047_stream_nvarchar.phpt rename to test/functional/sqlsrv/srv_047_stream_nvarchar.phpt diff --git a/test/sqlsrv/srv_048_stream_nvarchar.phpt b/test/functional/sqlsrv/srv_048_stream_nvarchar.phpt similarity index 100% rename from test/sqlsrv/srv_048_stream_nvarchar.phpt rename to test/functional/sqlsrv/srv_048_stream_nvarchar.phpt diff --git a/test/sqlsrv/srv_049_stream_nvarchar_utf8.phpt b/test/functional/sqlsrv/srv_049_stream_nvarchar_utf8.phpt similarity index 100% rename from test/sqlsrv/srv_049_stream_nvarchar_utf8.phpt rename to test/functional/sqlsrv/srv_049_stream_nvarchar_utf8.phpt diff --git a/test/sqlsrv/srv_050_error_conversion_varchar_int.phpt b/test/functional/sqlsrv/srv_050_error_conversion_varchar_int.phpt similarity index 100% rename from test/sqlsrv/srv_050_error_conversion_varchar_int.phpt rename to test/functional/sqlsrv/srv_050_error_conversion_varchar_int.phpt diff --git a/test/sqlsrv/srv_051_error_conversion_nchar.phpt b/test/functional/sqlsrv/srv_051_error_conversion_nchar.phpt similarity index 100% rename from test/sqlsrv/srv_051_error_conversion_nchar.phpt rename to test/functional/sqlsrv/srv_051_error_conversion_nchar.phpt diff --git a/test/sqlsrv/srv_052_mars.phpt b/test/functional/sqlsrv/srv_052_mars.phpt similarity index 100% rename from test/sqlsrv/srv_052_mars.phpt rename to test/functional/sqlsrv/srv_052_mars.phpt diff --git a/test/sqlsrv/srv_053_mars_disabled_error_checks.phpt b/test/functional/sqlsrv/srv_053_mars_disabled_error_checks.phpt similarity index 100% rename from test/sqlsrv/srv_053_mars_disabled_error_checks.phpt rename to test/functional/sqlsrv/srv_053_mars_disabled_error_checks.phpt diff --git a/test/sqlsrv/srv_064_sqlsrv_column_name_unicode.phpt b/test/functional/sqlsrv/srv_064_sqlsrv_column_name_unicode.phpt similarity index 100% rename from test/sqlsrv/srv_064_sqlsrv_column_name_unicode.phpt rename to test/functional/sqlsrv/srv_064_sqlsrv_column_name_unicode.phpt diff --git a/test/sqlsrv/srv_066_sqlsrv_field_metadata.phpt b/test/functional/sqlsrv/srv_066_sqlsrv_field_metadata.phpt similarity index 100% rename from test/sqlsrv/srv_066_sqlsrv_field_metadata.phpt rename to test/functional/sqlsrv/srv_066_sqlsrv_field_metadata.phpt diff --git a/test/sqlsrv/srv_069_fetch_empty_nvarchar_buffered.phpt b/test/functional/sqlsrv/srv_069_fetch_empty_nvarchar_buffered.phpt similarity index 100% rename from test/sqlsrv/srv_069_fetch_empty_nvarchar_buffered.phpt rename to test/functional/sqlsrv/srv_069_fetch_empty_nvarchar_buffered.phpt diff --git a/test/sqlsrv/srv_073_database.phpt b/test/functional/sqlsrv/srv_073_database.phpt similarity index 100% rename from test/sqlsrv/srv_073_database.phpt rename to test/functional/sqlsrv/srv_073_database.phpt diff --git a/test/sqlsrv/srv_074_create_existing_database.phpt b/test/functional/sqlsrv/srv_074_create_existing_database.phpt similarity index 100% rename from test/sqlsrv/srv_074_create_existing_database.phpt rename to test/functional/sqlsrv/srv_074_create_existing_database.phpt diff --git a/test/sqlsrv/srv_074_database.phpt b/test/functional/sqlsrv/srv_074_database.phpt similarity index 100% rename from test/sqlsrv/srv_074_database.phpt rename to test/functional/sqlsrv/srv_074_database.phpt diff --git a/test/sqlsrv/srv_074_database_wide_string.phpt b/test/functional/sqlsrv/srv_074_database_wide_string.phpt similarity index 100% rename from test/sqlsrv/srv_074_database_wide_string.phpt rename to test/functional/sqlsrv/srv_074_database_wide_string.phpt diff --git a/test/sqlsrv/srv_075_database.phpt b/test/functional/sqlsrv/srv_075_database.phpt similarity index 100% rename from test/sqlsrv/srv_075_database.phpt rename to test/functional/sqlsrv/srv_075_database.phpt diff --git a/test/sqlsrv/srv_075_database_wide_string.phpt b/test/functional/sqlsrv/srv_075_database_wide_string.phpt similarity index 100% rename from test/sqlsrv/srv_075_database_wide_string.phpt rename to test/functional/sqlsrv/srv_075_database_wide_string.phpt diff --git a/test/sqlsrv/srv_223_sqlsrv_fetch_absolute.phpt b/test/functional/sqlsrv/srv_223_sqlsrv_fetch_absolute.phpt similarity index 100% rename from test/sqlsrv/srv_223_sqlsrv_fetch_absolute.phpt rename to test/functional/sqlsrv/srv_223_sqlsrv_fetch_absolute.phpt diff --git a/test/sqlsrv/srv_228_sqlsrv_clientbuffermaxkbsize.phpt b/test/functional/sqlsrv/srv_228_sqlsrv_clientbuffermaxkbsize.phpt similarity index 100% rename from test/sqlsrv/srv_228_sqlsrv_clientbuffermaxkbsize.phpt rename to test/functional/sqlsrv/srv_228_sqlsrv_clientbuffermaxkbsize.phpt diff --git a/test/sqlsrv/srv_230_sqlsrv_buffered_numeric_types.phpt b/test/functional/sqlsrv/srv_230_sqlsrv_buffered_numeric_types.phpt similarity index 95% rename from test/sqlsrv/srv_230_sqlsrv_buffered_numeric_types.phpt rename to test/functional/sqlsrv/srv_230_sqlsrv_buffered_numeric_types.phpt index 5493e309..fdb9c6e9 100644 --- a/test/sqlsrv/srv_230_sqlsrv_buffered_numeric_types.phpt +++ b/test/functional/sqlsrv/srv_230_sqlsrv_buffered_numeric_types.phpt @@ -1,201 +1,201 @@ ---TEST-- -Read numeric types from SQLSRV with buffered query. ---DESCRIPTION-- -Test numeric conversion (number to string, string to number) functionality for buffered queries with SQLSRV. ---SKIPIF-- ---FILE-- -"utf-8")); -if( !$conn ) { - PrintErrors("Connection could not be established.\n"); -} - -$sample = 1234567890.1234; -$sample1 = -1234567890.1234; -$sample2 = 1; -$sample3 = -1; -$sample4 = 0.5; -$sample5 = -0.55; - -$query = 'CREATE TABLE #TESTTABLE (a float(53), neg_a float(53), b int, neg_b int, c decimal(16, 6), neg_c decimal(16, 6), zero int, zerof float(53), zerod decimal(16,6))'; - -// Create table -$stmt = sqlsrv_query( $conn, $query ); -if( $stmt === false ) { - die( print_r( sqlsrv_errors(), true )); -} - -$query = 'INSERT INTO #TESTTABLE (a, neg_a, b, neg_b, c, neg_c, zero, zerof, zerod) VALUES(?, ?, ?, ?, ?, ?, 0, 0, 0)'; -$params = array($sample, $sample1, $sample2, $sample3, $sample4, $sample5); - -$stmt = sqlsrv_query( $conn, $query, $params ); -if( $stmt === false ) { - die( print_r( sqlsrv_errors(), true )); -} -$params = array($sample4, $sample5, 100000, -1234567, $sample, $sample1); -$stmt = sqlsrv_query( $conn, $query, $params ); -if( $stmt === false ) { - die( print_r( sqlsrv_errors(), true )); -} - -$query = 'SELECT TOP 2 * FROM #TESTTABLE'; -$stmt = sqlsrv_query( $conn, $query, array(), array("Scrollable"=>SQLSRV_CURSOR_CLIENT_BUFFERED)); -if(!$stmt) -{ - echo "Statement could not be prepared.\n"; - die( print_r( sqlsrv_errors(),true)); -} -sqlsrv_execute( $stmt ); - -$array = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC ); -var_dump($array); -$array = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC ); -var_dump($array); - -$numFields = sqlsrv_num_fields( $stmt ); -$meta = sqlsrv_field_metadata( $stmt ); -$rowcount = sqlsrv_num_rows( $stmt); -for($i = 0; $i < $rowcount; $i++){ - sqlsrv_fetch( $stmt, SQLSRV_SCROLL_ABSOLUTE, $i ); - for($j = 0; $j < $numFields; $j++) { - $name = $meta[$j]["Name"]; - print("\ncolumn: $name\n"); - $field = sqlsrv_get_field( $stmt, $j, SQLSRV_PHPTYPE_STRING(SQLSRV_ENC_CHAR) ); - var_dump($field); - if ($meta[$j]["Type"] == SQLSRV_SQLTYPE_INT) - { - $field = sqlsrv_get_field( $stmt, $j, SQLSRV_PHPTYPE_INT ); - var_dump($field); - } - $field = sqlsrv_get_field( $stmt, $j, SQLSRV_PHPTYPE_FLOAT); - var_dump($field); - } -} - -sqlsrv_free_stmt($stmt); -sqlsrv_close($conn); - -?> ---EXPECT-- -array(9) { - [0]=> - float(1234567890.1234) - [1]=> - float(-1234567890.1234) - [2]=> - int(1) - [3]=> - int(-1) - [4]=> - string(7) ".500000" - [5]=> - string(8) "-.550000" - [6]=> - int(0) - [7]=> - float(0) - [8]=> - string(7) ".000000" -} -array(9) { - [0]=> - float(0.5) - [1]=> - float(-0.55) - [2]=> - int(100000) - [3]=> - int(-1234567) - [4]=> - string(17) "1234567890.123400" - [5]=> - string(18) "-1234567890.123400" - [6]=> - int(0) - [7]=> - float(0) - [8]=> - string(7) ".000000" -} - -column: a -string(15) "1234567890.1234" -float(1234567890.1234) - -column: neg_a -string(16) "-1234567890.1234" -float(-1234567890.1234) - -column: b -string(1) "1" -int(1) -float(1) - -column: neg_b -string(2) "-1" -int(-1) -float(-1) - -column: c -string(7) ".500000" -float(0.5) - -column: neg_c -string(8) "-.550000" -float(-0.55) - -column: zero -string(1) "0" -int(0) -float(0) - -column: zerof -string(1) "0" -float(0) - -column: zerod -string(7) ".000000" -float(0) - -column: a -string(3) "0.5" -float(0.5) - -column: neg_a -string(5) "-0.55" -float(-0.55) - -column: b -string(6) "100000" -int(100000) -float(100000) - -column: neg_b -string(8) "-1234567" -int(-1234567) -float(-1234567) - -column: c -string(17) "1234567890.123400" -float(1234567890.1234) - -column: neg_c -string(18) "-1234567890.123400" -float(-1234567890.1234) - -column: zero -string(1) "0" -int(0) -float(0) - -column: zerof -string(1) "0" -float(0) - -column: zerod -string(7) ".000000" -float(0) - +--TEST-- +Read numeric types from SQLSRV with buffered query. +--DESCRIPTION-- +Test numeric conversion (number to string, string to number) functionality for buffered queries with SQLSRV. +--SKIPIF-- +--FILE-- +"utf-8")); +if( !$conn ) { + PrintErrors("Connection could not be established.\n"); +} + +$sample = 1234567890.1234; +$sample1 = -1234567890.1234; +$sample2 = 1; +$sample3 = -1; +$sample4 = 0.5; +$sample5 = -0.55; + +$query = 'CREATE TABLE #TESTTABLE (a float(53), neg_a float(53), b int, neg_b int, c decimal(16, 6), neg_c decimal(16, 6), zero int, zerof float(53), zerod decimal(16,6))'; + +// Create table +$stmt = sqlsrv_query( $conn, $query ); +if( $stmt === false ) { + die( print_r( sqlsrv_errors(), true )); +} + +$query = 'INSERT INTO #TESTTABLE (a, neg_a, b, neg_b, c, neg_c, zero, zerof, zerod) VALUES(?, ?, ?, ?, ?, ?, 0, 0, 0)'; +$params = array($sample, $sample1, $sample2, $sample3, $sample4, $sample5); + +$stmt = sqlsrv_query( $conn, $query, $params ); +if( $stmt === false ) { + die( print_r( sqlsrv_errors(), true )); +} +$params = array($sample4, $sample5, 100000, -1234567, $sample, $sample1); +$stmt = sqlsrv_query( $conn, $query, $params ); +if( $stmt === false ) { + die( print_r( sqlsrv_errors(), true )); +} + +$query = 'SELECT TOP 2 * FROM #TESTTABLE'; +$stmt = sqlsrv_query( $conn, $query, array(), array("Scrollable"=>SQLSRV_CURSOR_CLIENT_BUFFERED)); +if(!$stmt) +{ + echo "Statement could not be prepared.\n"; + die( print_r( sqlsrv_errors(),true)); +} +sqlsrv_execute( $stmt ); + +$array = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC ); +var_dump($array); +$array = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC ); +var_dump($array); + +$numFields = sqlsrv_num_fields( $stmt ); +$meta = sqlsrv_field_metadata( $stmt ); +$rowcount = sqlsrv_num_rows( $stmt); +for($i = 0; $i < $rowcount; $i++){ + sqlsrv_fetch( $stmt, SQLSRV_SCROLL_ABSOLUTE, $i ); + for($j = 0; $j < $numFields; $j++) { + $name = $meta[$j]["Name"]; + print("\ncolumn: $name\n"); + $field = sqlsrv_get_field( $stmt, $j, SQLSRV_PHPTYPE_STRING(SQLSRV_ENC_CHAR) ); + var_dump($field); + if ($meta[$j]["Type"] == SQLSRV_SQLTYPE_INT) + { + $field = sqlsrv_get_field( $stmt, $j, SQLSRV_PHPTYPE_INT ); + var_dump($field); + } + $field = sqlsrv_get_field( $stmt, $j, SQLSRV_PHPTYPE_FLOAT); + var_dump($field); + } +} + +sqlsrv_free_stmt($stmt); +sqlsrv_close($conn); + +?> +--EXPECT-- +array(9) { + [0]=> + float(1234567890.1234) + [1]=> + float(-1234567890.1234) + [2]=> + int(1) + [3]=> + int(-1) + [4]=> + string(7) ".500000" + [5]=> + string(8) "-.550000" + [6]=> + int(0) + [7]=> + float(0) + [8]=> + string(7) ".000000" +} +array(9) { + [0]=> + float(0.5) + [1]=> + float(-0.55) + [2]=> + int(100000) + [3]=> + int(-1234567) + [4]=> + string(17) "1234567890.123400" + [5]=> + string(18) "-1234567890.123400" + [6]=> + int(0) + [7]=> + float(0) + [8]=> + string(7) ".000000" +} + +column: a +string(15) "1234567890.1234" +float(1234567890.1234) + +column: neg_a +string(16) "-1234567890.1234" +float(-1234567890.1234) + +column: b +string(1) "1" +int(1) +float(1) + +column: neg_b +string(2) "-1" +int(-1) +float(-1) + +column: c +string(7) ".500000" +float(0.5) + +column: neg_c +string(8) "-.550000" +float(-0.55) + +column: zero +string(1) "0" +int(0) +float(0) + +column: zerof +string(1) "0" +float(0) + +column: zerod +string(7) ".000000" +float(0) + +column: a +string(3) "0.5" +float(0.5) + +column: neg_a +string(5) "-0.55" +float(-0.55) + +column: b +string(6) "100000" +int(100000) +float(100000) + +column: neg_b +string(8) "-1234567" +int(-1234567) +float(-1234567) + +column: c +string(17) "1234567890.123400" +float(1234567890.1234) + +column: neg_c +string(18) "-1234567890.123400" +float(-1234567890.1234) + +column: zero +string(1) "0" +int(0) +float(0) + +column: zerof +string(1) "0" +float(0) + +column: zerod +string(7) ".000000" +float(0) + diff --git a/test/sqlsrv/srv_231_string_truncation_varchar_max.phpt b/test/functional/sqlsrv/srv_231_string_truncation_varchar_max.phpt similarity index 100% rename from test/sqlsrv/srv_231_string_truncation_varchar_max.phpt rename to test/functional/sqlsrv/srv_231_string_truncation_varchar_max.phpt diff --git a/test/sqlsrv/srv_308_empty_output_param.phpt b/test/functional/sqlsrv/srv_308_empty_output_param.phpt similarity index 100% rename from test/sqlsrv/srv_308_empty_output_param.phpt rename to test/functional/sqlsrv/srv_308_empty_output_param.phpt diff --git a/test/sqlsrv/srv_330_numrow_null_buffered_result_set.phpt b/test/functional/sqlsrv/srv_330_numrow_null_buffered_result_set.phpt similarity index 100% rename from test/sqlsrv/srv_330_numrow_null_buffered_result_set.phpt rename to test/functional/sqlsrv/srv_330_numrow_null_buffered_result_set.phpt diff --git a/test/sqlsrv/test_XML_retrieve.phpt b/test/functional/sqlsrv/test_XML_retrieve.phpt similarity index 100% rename from test/sqlsrv/test_XML_retrieve.phpt rename to test/functional/sqlsrv/test_XML_retrieve.phpt diff --git a/test/sqlsrv/test_closeConnection.phpt b/test/functional/sqlsrv/test_closeConnection.phpt similarity index 100% rename from test/sqlsrv/test_closeConnection.phpt rename to test/functional/sqlsrv/test_closeConnection.phpt diff --git a/test/sqlsrv/test_concurrent_transac.phpt b/test/functional/sqlsrv/test_concurrent_transac.phpt similarity index 100% rename from test/sqlsrv/test_concurrent_transac.phpt rename to test/functional/sqlsrv/test_concurrent_transac.phpt diff --git a/test/sqlsrv/test_conn_execute.phpt b/test/functional/sqlsrv/test_conn_execute.phpt similarity index 100% rename from test/sqlsrv/test_conn_execute.phpt rename to test/functional/sqlsrv/test_conn_execute.phpt diff --git a/test/sqlsrv/test_connectionOption.phpt b/test/functional/sqlsrv/test_connectionOption.phpt similarity index 100% rename from test/sqlsrv/test_connectionOption.phpt rename to test/functional/sqlsrv/test_connectionOption.phpt diff --git a/test/sqlsrv/test_datetime_objects.phpt b/test/functional/sqlsrv/test_datetime_objects.phpt similarity index 100% rename from test/sqlsrv/test_datetime_objects.phpt rename to test/functional/sqlsrv/test_datetime_objects.phpt diff --git a/test/sqlsrv/test_decimal_money.phpt b/test/functional/sqlsrv/test_decimal_money.phpt similarity index 100% rename from test/sqlsrv/test_decimal_money.phpt rename to test/functional/sqlsrv/test_decimal_money.phpt diff --git a/test/sqlsrv/test_emptyResult.phpt b/test/functional/sqlsrv/test_emptyResult.phpt similarity index 100% rename from test/sqlsrv/test_emptyResult.phpt rename to test/functional/sqlsrv/test_emptyResult.phpt diff --git a/test/sqlsrv/test_emptyStream.phpt b/test/functional/sqlsrv/test_emptyStream.phpt similarity index 100% rename from test/sqlsrv/test_emptyStream.phpt rename to test/functional/sqlsrv/test_emptyStream.phpt diff --git a/test/sqlsrv/test_error_encoding.phpt b/test/functional/sqlsrv/test_error_encoding.phpt similarity index 100% rename from test/sqlsrv/test_error_encoding.phpt rename to test/functional/sqlsrv/test_error_encoding.phpt diff --git a/test/sqlsrv/test_fetch.phpt b/test/functional/sqlsrv/test_fetch.phpt similarity index 100% rename from test/sqlsrv/test_fetch.phpt rename to test/functional/sqlsrv/test_fetch.phpt diff --git a/test/sqlsrv/test_fetch2.phpt b/test/functional/sqlsrv/test_fetch2.phpt similarity index 100% rename from test/sqlsrv/test_fetch2.phpt rename to test/functional/sqlsrv/test_fetch2.phpt diff --git a/test/sqlsrv/test_insert_null.phpt b/test/functional/sqlsrv/test_insert_null.phpt similarity index 100% rename from test/sqlsrv/test_insert_null.phpt rename to test/functional/sqlsrv/test_insert_null.phpt diff --git a/test/sqlsrv/test_insert_nullStr.phpt b/test/functional/sqlsrv/test_insert_nullStr.phpt similarity index 100% rename from test/sqlsrv/test_insert_nullStr.phpt rename to test/functional/sqlsrv/test_insert_nullStr.phpt diff --git a/test/sqlsrv/test_integer_max_min_zero_date_types.phpt b/test/functional/sqlsrv/test_integer_max_min_zero_date_types.phpt similarity index 100% rename from test/sqlsrv/test_integer_max_min_zero_date_types.phpt rename to test/functional/sqlsrv/test_integer_max_min_zero_date_types.phpt diff --git a/test/sqlsrv/test_largeData.phpt b/test/functional/sqlsrv/test_largeData.phpt similarity index 100% rename from test/sqlsrv/test_largeData.phpt rename to test/functional/sqlsrv/test_largeData.phpt diff --git a/test/sqlsrv/test_newError_msg.phpt b/test/functional/sqlsrv/test_newError_msg.phpt similarity index 100% rename from test/sqlsrv/test_newError_msg.phpt rename to test/functional/sqlsrv/test_newError_msg.phpt diff --git a/test/sqlsrv/test_non_alpha_password.phpt b/test/functional/sqlsrv/test_non_alpha_password.phpt similarity index 100% rename from test/sqlsrv/test_non_alpha_password.phpt rename to test/functional/sqlsrv/test_non_alpha_password.phpt diff --git a/test/sqlsrv/test_precision_size.phpt b/test/functional/sqlsrv/test_precision_size.phpt similarity index 100% rename from test/sqlsrv/test_precision_size.phpt rename to test/functional/sqlsrv/test_precision_size.phpt diff --git a/test/sqlsrv/test_scrollable.phpt b/test/functional/sqlsrv/test_scrollable.phpt similarity index 100% rename from test/sqlsrv/test_scrollable.phpt rename to test/functional/sqlsrv/test_scrollable.phpt diff --git a/test/sqlsrv/test_sqlsrv_phptype_stream.phpt b/test/functional/sqlsrv/test_sqlsrv_phptype_stream.phpt similarity index 100% rename from test/sqlsrv/test_sqlsrv_phptype_stream.phpt rename to test/functional/sqlsrv/test_sqlsrv_phptype_stream.phpt diff --git a/test/sqlsrv/test_stream.phpt b/test/functional/sqlsrv/test_stream.phpt similarity index 100% rename from test/sqlsrv/test_stream.phpt rename to test/functional/sqlsrv/test_stream.phpt diff --git a/test/sqlsrv/test_stream_large_data.inc b/test/functional/sqlsrv/test_stream_large_data.inc similarity index 100% rename from test/sqlsrv/test_stream_large_data.inc rename to test/functional/sqlsrv/test_stream_large_data.inc diff --git a/test/sqlsrv/test_stream_large_data.phpt b/test/functional/sqlsrv/test_stream_large_data.phpt similarity index 100% rename from test/sqlsrv/test_stream_large_data.phpt rename to test/functional/sqlsrv/test_stream_large_data.phpt diff --git a/test/sqlsrv/test_stream_large_data_UTF8.inc b/test/functional/sqlsrv/test_stream_large_data_UTF8.inc similarity index 100% rename from test/sqlsrv/test_stream_large_data_UTF8.inc rename to test/functional/sqlsrv/test_stream_large_data_UTF8.inc diff --git a/test/sqlsrv/test_timeout.phpt b/test/functional/sqlsrv/test_timeout.phpt similarity index 100% rename from test/sqlsrv/test_timeout.phpt rename to test/functional/sqlsrv/test_timeout.phpt diff --git a/test/sqlsrv/test_warning_errors.phpt b/test/functional/sqlsrv/test_warning_errors.phpt similarity index 100% rename from test/sqlsrv/test_warning_errors.phpt rename to test/functional/sqlsrv/test_warning_errors.phpt diff --git a/test/sqlsrv/test_warning_errors2.phpt b/test/functional/sqlsrv/test_warning_errors2.phpt similarity index 100% rename from test/sqlsrv/test_warning_errors2.phpt rename to test/functional/sqlsrv/test_warning_errors2.phpt diff --git a/test/sqlsrv/test_warning_errors3.phpt b/test/functional/sqlsrv/test_warning_errors3.phpt similarity index 100% rename from test/sqlsrv/test_warning_errors3.phpt rename to test/functional/sqlsrv/test_warning_errors3.phpt diff --git a/test/sqlsrv/tools.inc b/test/functional/sqlsrv/tools.inc similarity index 100% rename from test/sqlsrv/tools.inc rename to test/functional/sqlsrv/tools.inc