From 6c0be02618997bd674792dd911660154e4d3b898 Mon Sep 17 00:00:00 2001 From: yitam Date: Fri, 23 Jun 2017 13:09:37 -0700 Subject: [PATCH 1/4] rearrange test folders as functional --- test/{ => functional}/pdo_sqlsrv/MsCommon.inc | 0 test/{ => functional}/pdo_sqlsrv/MsData.inc | 0 .../pdo_sqlsrv/MsData_UTF8.inc | 0 test/{ => functional}/pdo_sqlsrv/MsSetup.inc | 0 .../pdo_sqlsrv/PDO100_InsertNulls.phpt | 0 .../pdo_sqlsrv/PDO101_LargeColumnName.phpt | 0 ...O101_LargeColumnName_unicode_col_name.phpt | 0 .../pdo_sqlsrv/PDO102_MaxOutputParams.phpt | 0 .../pdo_sqlsrv/PDO11_Drivers.phpt | 0 .../pdo_sqlsrv/PDO12_Info.phpt | 0 .../pdo_sqlsrv/PDO21_Connection.phpt | 0 .../pdo_sqlsrv/PDO22_ConnPool1.phpt | 0 .../pdo_sqlsrv/PDO23_ConnPool2.phpt | 0 .../pdo_sqlsrv/PDO24_ErrorCode.phpt | 0 .../pdo_sqlsrv/PDO25_ErrorInfo.phpt | 0 .../pdo_sqlsrv/PDO26_ConnAttr.phpt | 0 .../pdo_sqlsrv/PDO27_ReadOnlyAttr.phpt | 0 .../pdo_sqlsrv/PDO28_CaseAttr.phpt | 0 .../pdo_sqlsrv/PDO29_ConnInterface.phpt | 0 .../pdo_sqlsrv/PDO30_Exec.phpt | 0 .../pdo_sqlsrv/PDO31_Statement.phpt | 0 .../pdo_sqlsrv/PDO32_StmtInterface.phpt | 0 .../pdo_sqlsrv/PDO33_Execute.phpt | 0 .../pdo_sqlsrv/PDO34_ColumnCount.phpt | 0 .../pdo_sqlsrv/PDO35_ColumnMeta.phpt | 0 .../pdo_sqlsrv/PDO36_RowCount.phpt | 0 .../pdo_sqlsrv/PDO37_FetchMode.phpt | 0 .../pdo_sqlsrv/PDO38_FetchBound.phpt | 0 .../pdo_sqlsrv/PDO39_FetchInto.phpt | 0 .../pdo_sqlsrv/PDO40_FetchLazy.phpt | 0 .../pdo_sqlsrv/PDO41_FetchAssoc.phpt | 0 .../pdo_sqlsrv/PDO42_FetchNum.phpt | 0 .../pdo_sqlsrv/PDO43_FetchBoth.phpt | 0 .../pdo_sqlsrv/PDO44_FetchObj.phpt | 0 .../pdo_sqlsrv/PDO45_FetchGroup.phpt | 0 .../pdo_sqlsrv/PDO46_FetchUnique.phpt | 0 .../pdo_sqlsrv/PDO47_FetchClass.phpt | 0 .../pdo_sqlsrv/PDO48_FetchColumn.phpt | 0 .../PDO48_FetchColumn_unicode_col_name.phpt | 0 .../pdo_sqlsrv/PDO49_FetchFunc.phpt | 0 .../pdo_sqlsrv/PDO50_FetchObject.phpt | 0 .../pdo_sqlsrv/PDO51_FetchLOB.phpt | 0 .../pdo_sqlsrv/PDO61_BindColumn1.phpt | 0 .../pdo_sqlsrv/PDO62_BindColumn2.phpt | 0 .../pdo_sqlsrv/PDO63_BindParam1.phpt | 0 .../pdo_sqlsrv/PDO64_BindParam2.phpt | 0 .../pdo_sqlsrv/PDO65_BindValue1.phpt | 0 .../pdo_sqlsrv/PDO66_BindValue2.phpt | 0 .../pdo_sqlsrv/PDO67_BindTruncation.phpt | 0 .../pdo_sqlsrv/PDO71_TransExec.phpt | 0 .../pdo_sqlsrv/PDO72_TransDisconnect.phpt | 0 .../pdo_sqlsrv/PDO81_MemoryCheck.phpt | 0 .../pdo_sqlsrv/PDO82_ComplexInsert.phpt | 0 .../pdo_sqlsrv/PDO91_Parent.phpt | 0 .../pdo_sqlsrv/PDO92_Iterator.phpt | 0 .../pdo_sqlsrv/PDO93_Recursive.phpt | 0 .../pdo_sqlsrv/PDO94_Extend1.phpt | 0 .../pdo_sqlsrv/PDO95_Extend2.phpt | 0 .../pdo_sqlsrv/PDO96_Extend3.phpt | 0 .../pdo_sqlsrv/PDO97_Extend4.phpt | 0 .../pdo_sqlsrv/PDO98_Extend5.phpt | 0 .../pdo_sqlsrv/PDO99_QuoteNullTerminated.phpt | 0 .../pdo_sqlsrv/PDO_ConnPool_Unix.phpt | 0 .../{ => functional}/pdo_sqlsrv/break_pdo.php | 0 test/{ => functional}/pdo_sqlsrv/isPooled.php | 0 .../pdo_sqlsrv/issue_52_pdo.phpt | 0 ...ement_bindParam_inout_emulate_prepare.phpt | 0 ...ment_bindParam_output_emulate_prepare.phpt | 0 .../pdo_sqlsrv/pdo_002_connect_app.phpt | 70 +-- .../pdo_sqlsrv/pdo_011_quote.phpt | 100 ++-- .../pdo_sqlsrv/pdo_012_bind_param.phpt | 0 .../pdo_sqlsrv/pdo_013_row_count.phpt | 112 ++-- .../pdo_014_integer_custom_formats.phpt | 0 ...do_015_integer_custom_formats_pooling.phpt | 0 test/{ => functional}/pdo_sqlsrv/pdo_016.phpt | 0 test/{ => functional}/pdo_sqlsrv/pdo_017.phpt | 0 .../pdo_sqlsrv/pdo_018_next_result_set.phpt | 0 .../pdo_019_next_result_set_pooling.phpt | 0 .../pdo_sqlsrv/pdo_020_bind_params_array.phpt | 0 .../pdo_sqlsrv/pdo_021_extended_ascii.phpt | 0 .../pdo_sqlsrv/pdo_022_xml_bind_value.phpt | 0 test/{ => functional}/pdo_sqlsrv/pdo_023.phpt | 0 .../pdo_sqlsrv/pdo_033_binary_unicode.phpt | 0 ...5_binary_encoding_error_bound_by_name.phpt | 0 .../pdo_sqlsrv/pdo_040_error_information.phpt | 0 ...prepare_execute_fetch_pooling_default.phpt | 0 ...prepare_execute_fetch_pooling_enabled.phpt | 0 ...repare_execute_fetch_pooling_disabled.phpt | 0 .../pdo_065_construct_persistent.phpt | 0 .../pdo_065_construct_prefetch.phpt | 0 ...pdo_069_fetch_empty_nvarchar_buffered.phpt | 0 ...do_092_emulate_prepare_statement_utf8.phpt | 0 .../pdo_138_unicode_column_name.phpt | 0 .../pdo_140_emulate_prepare_mix_binary.phpt | 0 ..._140_emulate_prepare_pos_placehodlers.phpt | 0 ...28_setAttribute_clientbuffermaxkbsize.phpt | 0 .../pdo_sqlsrv/pdo_267_closeCursor.phpt | 0 .../pdo_sqlsrv/pdo_270_fetch_binary.phpt | 0 .../pdo_308_empty_output_param.phpt | 0 ...o_336_pho_exec_empty_result_set_error.phpt | 0 .../pdo_sqlsrv/pdo_378_out_param_error.phpt | 0 .../{ => functional}/pdo_sqlsrv/pdo_TNIR.phpt | 0 .../pdo_azure_ad_authentication.phpt | 0 .../pdo_bindparam_inout_binary_encoding.phpt | 0 .../pdo_sqlsrv/pdo_connection_quote.phpt | 0 .../pdo_sqlsrv/pdo_connection_resiliency.phpt | 0 .../pdo_connection_resiliency_keywords.phpt | 0 ...onnection_resiliency_prepare_transact.phpt | 0 .../pdo_connection_resiliency_timeouts.phpt | 0 .../pdo_sqlsrv/pdo_construct.phpt | 0 .../pdo_construct_TransactionIsolation.phpt | 0 .../pdo_sqlsrv/pdo_construct_attr.phpt | 0 .../pdo_construct_conn_options.phpt | 0 .../pdo_sqlsrv/pdo_construct_dsn_error.phpt | 0 .../pdo_sqlsrv/pdo_error.phpt | 0 .../pdo_sqlsrv/pdo_errorMode.phpt | 0 .../pdo_errorinfo_emulateprepare.phpt | 0 .../{ => functional}/pdo_sqlsrv/pdo_exec.phpt | 0 .../pdo_sqlsrv/pdo_exec_invalid_query.phpt | 0 .../pdo_fetch_bindcolumn_fetchmode.phpt | 0 .../pdo_fetch_columns_fetchmode.phpt | 0 .../pdo_fetch_complex_transactions.phpt | 0 .../pdo_fetch_cursorBuffered_binary.phpt | 210 +++---- .../pdo_fetch_cursorBuffered_char.phpt | 210 +++---- .../pdo_fetch_cursorBuffered_datetime.phpt | 210 +++---- .../pdo_fetch_cursorBuffered_decimal.phpt | 210 +++---- ...cursorBuffered_decimal_bindColumn_int.phpt | 226 ++++---- .../pdo_fetch_cursorBuffered_float.phpt | 282 ++++----- ...h_cursorBuffered_float_bindColumn_lob.phpt | 234 ++++---- .../pdo_fetch_cursorBuffered_int.phpt | 210 +++---- ...tch_cursorBuffered_int_bindColumn_int.phpt | 228 ++++---- .../pdo_fetch_cursorBuffered_money.phpt | 210 +++---- ...h_cursorBuffered_money_bindColumn_int.phpt | 230 ++++---- ...pdo_fetch_cursorBuffered_multicolumns.phpt | 542 +++++++++--------- ...ch_cursorBuffered_strings_to_integers.phpt | 464 +++++++-------- .../pdo_fetch_cursorBuffered_unicode.phpt | 210 +++---- .../pdo_fetch_cursor_scroll_random.phpt | 0 .../pdo_fetch_fetchinto_query_args.phpt | 0 .../pdo_fetch_variants_diff_styles.phpt | 0 .../pdo_getAttribute_clientInfo.phpt | 0 .../pdo_sqlsrv/pdo_getAvailableDrivers.phpt | 0 .../pdo_sqlsrv/pdo_get_attr_invalid.phpt | 0 .../pdo_sqlsrv/pdo_get_set_attr.phpt | 0 .../pdo_sqlsrv/pdo_insertDataType.phpt | 0 .../pdo_sqlsrv/pdo_invalid_conn_opt.phpt | 0 .../pdo_sqlsrv/pdo_katmai_special_types.phpt | 0 .../pdo_sqlsrv/pdo_lastInsertId.phpt | 0 .../pdo_sqlsrv/pdo_nested_query_mars.phpt | 0 .../pdo_sqlsrv/pdo_output_decimal.phpt | 0 .../pdo_param_output_select_variant.phpt | 0 .../pdo_sqlsrv/pdo_param_output_variants.phpt | 0 .../pdo_sqlsrv/pdo_passwords.phpt | 0 .../pdo_sqlsrv/pdo_prepare.phpt | 0 .../pdo_sqlsrv/pdo_prepare_attribute.phpt | 0 .../pdo_prepare_emulatePrepare_binary.phpt | 0 .../pdo_prepare_emulatePrepare_char.phpt | 0 .../pdo_prepare_emulatePrepare_datetime.phpt | 0 .../pdo_prepare_emulatePrepare_decimal.phpt | 0 .../pdo_prepare_emulatePrepare_float.phpt | 0 .../pdo_prepare_emulatePrepare_int.phpt | 0 .../pdo_prepare_emulatePrepare_money.phpt | 0 .../pdo_prepare_emulatePrepare_unicode.phpt | 0 .../pdo_prepare_invalid_cursor.phpt | 0 .../pdo_prepare_invalid_encoding.phpt | 0 .../pdo_prepare_invalid_option_key.phpt | 0 ...pdo_prepare_invalid_scrollable_cursor.phpt | 0 .../pdo_sqlsrv/pdo_prepare_options.phpt | 0 .../pdo_sqlsrv/pdo_query.phpt | 0 .../pdo_sqlsrv/pdo_query_timeout.phpt | 0 .../pdo_sqlsrv/pdo_quote.phpt | 0 .../pdo_sqlsrv/pdo_set_attr_invalid.phpt | 0 .../pdo_set_attr_invalid_encoding.phpt | 0 .../pdo_simple_update_variants.phpt | 0 .../pdo_statement_rowcount_query.phpt | 0 .../pdo_stored_proc_fetch_datatypes.phpt | 0 .../pdo_sqlsrv/pdo_testDataType.phpt | 0 .../{ => functional}/pdo_sqlsrv/pdo_tools.inc | 0 .../pdo_sqlsrv/pdo_transaction.phpt | 0 .../pdo_sqlsrv/pdo_transactions.phpt | 0 .../pdo_sqlsrv/pdo_utf8_conn.phpt | 0 .../pdo_utf8_stored_proc_unicode_chars.phpt | 0 .../pdo_sqlsrv/pdo_warnings.phpt | 0 .../pdo_sqlsrv/pdostatement_Buffqry.phpt | 0 .../pdo_sqlsrv/pdostatement_GetDataType.phpt | 0 .../pdo_sqlsrv/pdostatement_bindColumn.phpt | 0 .../pdo_sqlsrv/pdostatement_bindParam.phpt | 0 .../pdo_sqlsrv/pdostatement_bindValue.phpt | 0 .../pdostatement_bindcolumn_odd_types.phpt | 0 .../pdo_sqlsrv/pdostatement_closeCursor.phpt | 0 .../pdo_sqlsrv/pdostatement_columnCount.phpt | 0 .../pdostatement_debugDumpParams.phpt | 0 .../pdo_sqlsrv/pdostatement_error.phpt | 0 .../pdo_sqlsrv/pdostatement_execute.phpt | 0 .../pdo_sqlsrv/pdostatement_fetchAll.phpt | Bin .../pdo_sqlsrv/pdostatement_fetchColumn.phpt | 0 .../pdo_sqlsrv/pdostatement_fetchObject.phpt | Bin .../pdostatement_fetch_orientation.phpt | 0 .../pdo_sqlsrv/pdostatement_fetch_style.phpt | 0 ...dostatement_fetchmode_emulate_prepare.phpt | 0 .../pdostatement_getColumnMeta.phpt | 0 ...tement_getColumnMeta_unicode_col_name.phpt | 0 .../pdo_sqlsrv/pdostatement_get_set_attr.phpt | 0 .../pdo_sqlsrv/pdostatement_nextRowset.phpt | Bin .../pdo_sqlsrv/pdostatement_rowCount.phpt | 0 .../pdo_sqlsrv/pdostatement_setFetchMode.phpt | 0 test/{ => functional}/pdo_sqlsrv/skipif.inc | 0 .../pdo_sqlsrv/skipif_azure.inc | 0 .../pdo_sqlsrv/skipif_protocol_not_tcp.inc | 0 .../pdo_sqlsrv/skipif_unix.inc | 0 .../test_encoding_UTF8_emulate_prepare.phpt | 0 test/{ => functional}/sqlsrv/0013.phpt | 0 test/{ => functional}/sqlsrv/0020.phpt | 0 test/{ => functional}/sqlsrv/0022.phpt | 0 test/{ => functional}/sqlsrv/0052.phpt | 0 test/{ => functional}/sqlsrv/0053.phpt | 0 test/{ => functional}/sqlsrv/0060.phpt | 0 test/{ => functional}/sqlsrv/0061.phpt | 0 test/{ => functional}/sqlsrv/0065.phpt | 0 test/{ => functional}/sqlsrv/0066.phpt | 0 test/{ => functional}/sqlsrv/0067.phpt | 0 test/{ => functional}/sqlsrv/0068.phpt | 0 test/{ => functional}/sqlsrv/0069.phpt | 0 test/{ => functional}/sqlsrv/0072.phpt | 0 test/{ => functional}/sqlsrv/0073.phpt | 0 test/{ => functional}/sqlsrv/0074.phpt | 0 test/{ => functional}/sqlsrv/0075.phpt | 0 test/{ => functional}/sqlsrv/0076.phpt | 0 test/{ => functional}/sqlsrv/0078.phpt | 0 test/{ => functional}/sqlsrv/0079.phpt | 0 test/{ => functional}/sqlsrv/53_0021.phpt | 0 test/{ => functional}/sqlsrv/MsCommon.inc | 0 test/{ => functional}/sqlsrv/MsData.inc | 0 test/{ => functional}/sqlsrv/MsData_UTF8.inc | 0 test/{ => functional}/sqlsrv/MsSetup.inc | 0 test/{ => functional}/sqlsrv/TC11_Info.phpt | 0 test/{ => functional}/sqlsrv/TC12_Setup.phpt | 0 .../sqlsrv/TC21_Connection.phpt | 0 .../sqlsrv/TC22_ClientInfo.phpt | 0 .../sqlsrv/TC23_ServerInfo.phpt | 0 test/{ => functional}/sqlsrv/TC24_Close.phpt | 0 .../sqlsrv/TC31_SimpleQuery.phpt | 0 .../sqlsrv/TC32_DeleteQuery.phpt | 0 .../sqlsrv/TC33_ComplexQuery.phpt | 0 .../sqlsrv/TC34_PrepAndExec.phpt | 0 test/{ => functional}/sqlsrv/TC35_Cancel.phpt | 0 test/{ => functional}/sqlsrv/TC36_Close.phpt | 0 .../sqlsrv/TC37_QueryTimeout.phpt | 0 .../sqlsrv/TC38_InvalidQuery.phpt | 0 .../{ => functional}/sqlsrv/TC39_Cursors.phpt | 0 .../sqlsrv/TC41_FetchMetadata.phpt | 0 .../sqlsrv/TC42_FetchField.phpt | 0 .../sqlsrv/TC43_FetchData.phpt | 0 .../sqlsrv/TC44_FetchArray.phpt | 0 .../sqlsrv/TC45_FetchObject.phpt | 0 .../sqlsrv/TC46_FetchNextResult.phpt | 0 .../sqlsrv/TC47_ParamQuery.phpt | 0 .../sqlsrv/TC48_FetchScrollable.phpt | 0 .../sqlsrv/TC51_StreamRead.phpt | 0 .../sqlsrv/TC52_StreamSend.phpt | 0 .../sqlsrv/TC53_StreamCancel.phpt | 0 .../sqlsrv/TC54_StreamPrepared.phpt | 0 .../sqlsrv/TC55_StreamScrollable.phpt | 0 .../sqlsrv/TC61_TransactionExecution.phpt | 0 .../sqlsrv/TC62_TransactionDisconnect.phpt | 0 .../sqlsrv/TC63_TransactionBounds.phpt | 0 .../sqlsrv/TC64_TransactionProc.phpt | 0 .../sqlsrv/TC71_StoredProc.phpt | 0 .../sqlsrv/TC72_StoredFunc.phpt | 0 .../sqlsrv/TC73_ProcCall.phpt | 0 .../sqlsrv/TC74_ProcQuery.phpt | 0 .../sqlsrv/TC75_ProcRoundtrip.phpt | 0 .../sqlsrv/TC76_StoredProcNull.phpt | 0 .../sqlsrv/TC78_RegressionVSTS611146.phpt | 0 .../sqlsrv/TC79_RegressionVSTS846501.phpt | 0 .../sqlsrv/TC81_MemoryCheck.phpt | 0 .../sqlsrv/TC82_StoredProcRS.phpt | 0 .../sqlsrv/TC83_ComplexInsert.phpt | 0 .../sqlsrv/TC84_LargeColumnName.phpt | 0 .../sqlsrv/TC84_LargeColumnName_unicode.phpt | 0 ...TC84_LargeColumnName_unicode_col_name.phpt | 0 .../sqlsrv/TC85_MaxOutputParams.phpt | 0 .../sqlsrv/TC86_InsertNulls.phpt | 0 .../sqlsrv/bind_param_null.phpt | 0 test/{ => functional}/sqlsrv/break.php | 0 test/{ => functional}/sqlsrv/bug_611146.phpt | 0 test/{ => functional}/sqlsrv/bug_close.phpt | 0 test/{ => functional}/sqlsrv/bug_errors.phpt | 0 .../sqlsrv/bugfix_dataCorruption.phpt | 0 .../sqlsrv/connection_resiliency.phpt | 0 .../connection_resiliency_keywords.phpt | 0 ...onnection_resiliency_prepare_transact.phpt | 0 .../connection_resiliency_timeouts.phpt | 0 .../sqlsrv/datetime_inheritence.phpt | 0 .../sqlsrv/fix_test_168256-2.phpt | 0 .../sqlsrv/fix_test_168256.phpt | 0 .../sqlsrv/fix_test_182741.phpt | 0 test/{ => functional}/sqlsrv/isPooled.php | 0 test/{ => functional}/sqlsrv/issue_52.phpt | 0 test/{ => functional}/sqlsrv/php.gif | Bin test/{ => functional}/sqlsrv/skipif.inc | 0 test/{ => functional}/sqlsrv/skipif_azure.inc | 0 .../sqlsrv/skipif_protocol_not_tcp.inc | 0 test/{ => functional}/sqlsrv/skipif_unix.inc | 0 .../sqlsrv/sqlsrv_2008_dataTypes.phpt | 0 .../sqlsrv/sqlsrv_378_out_param_error.phpt | 0 .../sqlsrv/sqlsrv_ConnPool_Unix.phpt | 0 test/{ => functional}/sqlsrv/sqlsrv_LOB.phpt | 0 test/{ => functional}/sqlsrv/sqlsrv_TNIR.phpt | 0 .../sqlsrv_azure_ad_authentication.phpt | 0 .../sqlsrv/sqlsrv_bind_output_param.phpt | 0 .../sqlsrv/sqlsrv_bind_param_out_string.phpt | 0 .../sqlsrv/sqlsrv_buffered.phpt | 0 ...rv_buffered_result_set_extended_ascii.phpt | 0 .../sqlsrv/sqlsrv_bug_boolean_cast.phpt | 0 .../sqlsrv_bug_boolean_cast_in_bit.phpt | 0 .../sqlsrv_bug_boolean_cast_in_bool.phpt | 0 .../sqlsrv_bug_boolean_cast_inout_bit.phpt | 0 .../sqlsrv_bug_boolean_cast_inout_bool.phpt | 0 .../sqlsrv_bug_boolean_cast_out_bit.phpt | 0 .../sqlsrv_bug_boolean_cast_out_bool.phpt | 0 .../sqlsrv/sqlsrv_client_info.phpt | 0 .../{ => functional}/sqlsrv/sqlsrv_close.phpt | 0 .../sqlsrv/sqlsrv_close_twice.phpt | 0 .../sqlsrv/sqlsrv_commit.phpt | 0 .../sqlsrv/sqlsrv_complex_query.phpt | 0 .../sqlsrv/sqlsrv_configure.phpt | 0 .../sqlsrv/sqlsrv_configure_logs_only.phpt | 0 .../sqlsrv/sqlsrv_connStr.phpt | 0 .../sqlsrv/sqlsrv_connect.phpt | 0 .../sqlsrv/sqlsrv_custom_numeric_formats.phpt | 0 .../sqlsrv/sqlsrv_data_to_str.phpt | 0 .../sqlsrv_data_types_explict_fetch.phpt | 0 ...sqlsrv_data_types_fetch_binary_stream.phpt | 0 .../sqlsrv/sqlsrv_errors.phpt | 0 .../sqlsrv/sqlsrv_execute_twice.phpt | 0 .../sqlsrv_fetch_array_unicode_col_name.phpt | 0 .../sqlsrv_fetch_complex_transactions.phpt | 0 .../sqlsrv_fetch_cursor_static_scroll.phpt | 0 .../sqlsrv/sqlsrv_fetch_cursor_types.phpt | 0 .../sqlsrv_fetch_datetime_as_strings.phpt | 0 .../sqlsrv_fetch_field_twice_data_types.phpt | 0 .../sqlsrv/sqlsrv_fetch_invalid_types.phpt | 0 .../sqlsrv/sqlsrv_fetch_missing_row.phpt | 0 .../sqlsrv/sqlsrv_fetch_object.phpt | 0 .../sqlsrv/sqlsrv_fetch_object_2.phpt | 0 .../sqlsrv/sqlsrv_fetch_object_class.phpt | 0 ...sqlsrv_fetch_object_unicode_col_name1.phpt | 0 ...sqlsrv_fetch_object_unicode_col_name2.phpt | 0 .../sqlsrv/sqlsrv_get_config.phpt | 0 .../sqlsrv/sqlsrv_get_field.phpt | 0 .../sqlsrv_input_param_unknown_encoding.phpt | 0 .../sqlsrv/sqlsrv_katmai_special_types.phpt | 0 .../sqlsrv/sqlsrv_metadata.phpt | 0 .../sqlsrv_metadata_unicode_col_name1.phpt | 0 .../sqlsrv_metadata_unicode_col_name2.phpt | 0 .../sqlsrv/sqlsrv_num_fields.phpt | 0 .../sqlsrv/sqlsrv_num_rows.phpt | 0 .../sqlsrv/sqlsrv_param_floats.phpt | 0 .../sqlsrv/sqlsrv_param_input_variants.phpt | 0 .../sqlsrv_param_ints_with_deletes.phpt | 0 .../sqlsrv/sqlsrv_param_output_variants.phpt | 0 .../sqlsrv_param_query_array_inputs.phpt | 0 .../sqlsrv/sqlsrv_param_query_data_types.phpt | 0 .../sqlsrv/sqlsrv_param_query_errors.phpt | 0 .../sqlsrv_param_query_invalid_inputs.phpt | 0 .../sqlsrv/sqlsrv_prepare.phpt | 0 .../sqlsrv/sqlsrv_prepareAndExecute.phpt | 0 .../{ => functional}/sqlsrv/sqlsrv_query.phpt | 0 .../sqlsrv/sqlsrv_readStream.phpt | 0 .../sqlsrv/sqlsrv_rowsAffected.phpt | 0 .../sqlsrv/sqlsrv_send_stream_data.phpt | 0 .../sqlsrv/sqlsrv_serverInfo.phpt | 0 .../sqlsrv/sqlsrv_simple_fetch_variants.phpt | 0 .../sqlsrv/sqlsrv_simple_update_variants.phpt | 0 .../sqlsrv/sqlsrv_statement_cancel.phpt | 0 .../sqlsrv_statement_query_timeout.phpt | 0 ...v_statement_query_timeout_transaction.phpt | 0 .../sqlsrv_stmt_option_invalid_key.phpt | 0 .../sqlsrv/sqlsrv_stored_proc_varchar.phpt | 0 .../sqlsrv/sqlsrv_str_streams.phpt | 0 .../sqlsrv/sqlsrv_streams_empty_char.phpt | 0 .../sqlsrv/sqlsrv_streams_null_binary.phpt | 0 .../sqlsrv/sqlsrv_streams_null_nchar.phpt | 0 .../sqlsrv/sqlsrv_testConnection.phpt | 0 .../sqlsrv/sqlsrv_test_base.inc | 0 test/{ => functional}/sqlsrv/srv_001.phpt | 0 test/{ => functional}/sqlsrv/srv_002.phpt | 0 .../sqlsrv/srv_007_login_timeout.phpt | 0 .../sqlsrv/srv_009_connect_app_unicode.phpt | 0 .../sqlsrv/srv_011_temporary_table.phpt | 0 .../sqlsrv/srv_012_sqlsrv_fetch_array.phpt | 0 .../sqlsrv/srv_013_sqlsrv_get_field.phpt | 0 .../sqlsrv/srv_014_sqlsrv_get_field.phpt | 0 .../{ => functional}/sqlsrv/srv_019_char.phpt | 0 .../sqlsrv/srv_020_unicode_strings.phpt | 0 ...21_extended_ascii_strings_fetch_array.phpt | 0 .../srv_028_data_conversion_nvarchar.phpt | 0 ..._029_data_conversion_varchar_datetime.phpt | 0 .../sqlsrv/srv_031_sqlsrv_field_metadata.phpt | 0 .../sqlsrv/srv_033_binary_unicode.phpt | 0 .../srv_034_field_metadata_unicode.phpt | 0 .../sqlsrv/srv_036_transaction_commit.phpt | 0 .../sqlsrv/srv_037_sqlsrv_has_rows.phpt | 0 .../sqlsrv/srv_037_transaction_rollback.phpt | 0 .../sqlsrv/srv_047_stream_nvarchar.phpt | 0 .../sqlsrv/srv_048_stream_nvarchar.phpt | 0 .../sqlsrv/srv_049_stream_nvarchar_utf8.phpt | 0 .../srv_050_error_conversion_varchar_int.phpt | 0 .../srv_051_error_conversion_nchar.phpt | 0 .../{ => functional}/sqlsrv/srv_052_mars.phpt | 0 .../srv_053_mars_disabled_error_checks.phpt | 0 .../srv_064_sqlsrv_column_name_unicode.phpt | 0 .../sqlsrv/srv_066_sqlsrv_field_metadata.phpt | 0 ...srv_069_fetch_empty_nvarchar_buffered.phpt | 0 .../sqlsrv/srv_073_database.phpt | 0 .../srv_074_create_existing_database.phpt | 0 .../sqlsrv/srv_074_database.phpt | 0 .../sqlsrv/srv_074_database_wide_string.phpt | 0 .../sqlsrv/srv_075_database.phpt | 0 .../sqlsrv/srv_075_database_wide_string.phpt | 0 .../sqlsrv/srv_223_sqlsrv_fetch_absolute.phpt | 0 .../srv_228_sqlsrv_clientbuffermaxkbsize.phpt | 0 ...srv_230_sqlsrv_buffered_numeric_types.phpt | 402 ++++++------- ...srv_231_string_truncation_varchar_max.phpt | 0 .../sqlsrv/srv_308_empty_output_param.phpt | 0 ...v_330_numrow_null_buffered_result_set.phpt | 0 .../sqlsrv/test_XML_retrieve.phpt | 0 .../sqlsrv/test_closeConnection.phpt | 0 .../sqlsrv/test_concurrent_transac.phpt | 0 .../sqlsrv/test_conn_execute.phpt | 0 .../sqlsrv/test_connectionOption.phpt | 0 .../sqlsrv/test_datetime_objects.phpt | 0 .../sqlsrv/test_decimal_money.phpt | 0 .../sqlsrv/test_emptyResult.phpt | 0 .../sqlsrv/test_emptyStream.phpt | 0 .../sqlsrv/test_error_encoding.phpt | 0 test/{ => functional}/sqlsrv/test_fetch.phpt | 0 test/{ => functional}/sqlsrv/test_fetch2.phpt | 0 .../sqlsrv/test_insert_null.phpt | 0 .../sqlsrv/test_insert_nullStr.phpt | Bin .../test_integer_max_min_zero_date_types.phpt | 0 .../sqlsrv/test_largeData.phpt | 0 .../sqlsrv/test_newError_msg.phpt | 0 .../sqlsrv/test_non_alpha_password.phpt | 0 .../sqlsrv/test_precision_size.phpt | 0 .../sqlsrv/test_scrollable.phpt | 0 .../sqlsrv/test_sqlsrv_phptype_stream.phpt | Bin test/{ => functional}/sqlsrv/test_stream.phpt | 0 .../sqlsrv/test_stream_large_data.inc | 0 .../sqlsrv/test_stream_large_data.phpt | 0 .../sqlsrv/test_stream_large_data_UTF8.inc | 0 .../{ => functional}/sqlsrv/test_timeout.phpt | 0 .../sqlsrv/test_warning_errors.phpt | 0 .../sqlsrv/test_warning_errors2.phpt | 0 .../sqlsrv/test_warning_errors3.phpt | 0 test/{ => functional}/sqlsrv/tools.inc | 0 456 files changed, 2180 insertions(+), 2180 deletions(-) rename test/{ => functional}/pdo_sqlsrv/MsCommon.inc (100%) rename test/{ => functional}/pdo_sqlsrv/MsData.inc (100%) rename test/{ => functional}/pdo_sqlsrv/MsData_UTF8.inc (100%) rename test/{ => functional}/pdo_sqlsrv/MsSetup.inc (100%) rename test/{ => functional}/pdo_sqlsrv/PDO100_InsertNulls.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO101_LargeColumnName.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO101_LargeColumnName_unicode_col_name.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO102_MaxOutputParams.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO11_Drivers.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO12_Info.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO21_Connection.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO22_ConnPool1.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO23_ConnPool2.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO24_ErrorCode.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO25_ErrorInfo.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO26_ConnAttr.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO27_ReadOnlyAttr.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO28_CaseAttr.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO29_ConnInterface.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO30_Exec.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO31_Statement.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO32_StmtInterface.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO33_Execute.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO34_ColumnCount.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO35_ColumnMeta.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO36_RowCount.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO37_FetchMode.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO38_FetchBound.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO39_FetchInto.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO40_FetchLazy.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO41_FetchAssoc.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO42_FetchNum.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO43_FetchBoth.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO44_FetchObj.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO45_FetchGroup.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO46_FetchUnique.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO47_FetchClass.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO48_FetchColumn.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO48_FetchColumn_unicode_col_name.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO49_FetchFunc.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO50_FetchObject.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO51_FetchLOB.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO61_BindColumn1.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO62_BindColumn2.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO63_BindParam1.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO64_BindParam2.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO65_BindValue1.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO66_BindValue2.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO67_BindTruncation.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO71_TransExec.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO72_TransDisconnect.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO81_MemoryCheck.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO82_ComplexInsert.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO91_Parent.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO92_Iterator.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO93_Recursive.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO94_Extend1.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO95_Extend2.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO96_Extend3.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO97_Extend4.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO98_Extend5.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO99_QuoteNullTerminated.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/PDO_ConnPool_Unix.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/break_pdo.php (100%) rename test/{ => functional}/pdo_sqlsrv/isPooled.php (100%) rename test/{ => functional}/pdo_sqlsrv/issue_52_pdo.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdoStatement_bindParam_inout_emulate_prepare.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdoStatement_bindParam_output_emulate_prepare.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_002_connect_app.phpt (94%) rename test/{ => functional}/pdo_sqlsrv/pdo_011_quote.phpt (95%) rename test/{ => functional}/pdo_sqlsrv/pdo_012_bind_param.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_013_row_count.phpt (95%) rename test/{ => functional}/pdo_sqlsrv/pdo_014_integer_custom_formats.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_015_integer_custom_formats_pooling.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_016.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_017.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_018_next_result_set.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_019_next_result_set_pooling.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_020_bind_params_array.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_021_extended_ascii.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_022_xml_bind_value.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_023.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_033_binary_unicode.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_035_binary_encoding_error_bound_by_name.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_040_error_information.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_060_prepare_execute_fetch_pooling_default.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_061_prepare_execute_fetch_pooling_enabled.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_062_prepare_execute_fetch_pooling_disabled.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_065_construct_persistent.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_065_construct_prefetch.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_069_fetch_empty_nvarchar_buffered.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_092_emulate_prepare_statement_utf8.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_138_unicode_column_name.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_140_emulate_prepare_mix_binary.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_140_emulate_prepare_pos_placehodlers.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_228_setAttribute_clientbuffermaxkbsize.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_267_closeCursor.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_270_fetch_binary.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_308_empty_output_param.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_336_pho_exec_empty_result_set_error.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_378_out_param_error.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_TNIR.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_azure_ad_authentication.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_bindparam_inout_binary_encoding.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_connection_quote.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_connection_resiliency.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_connection_resiliency_keywords.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_connection_resiliency_prepare_transact.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_connection_resiliency_timeouts.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_construct.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_construct_TransactionIsolation.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_construct_attr.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_construct_conn_options.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_construct_dsn_error.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_error.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_errorMode.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_errorinfo_emulateprepare.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_exec.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_exec_invalid_query.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_bindcolumn_fetchmode.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_columns_fetchmode.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_complex_transactions.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_cursorBuffered_binary.phpt (97%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_cursorBuffered_char.phpt (97%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_cursorBuffered_datetime.phpt (97%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_cursorBuffered_decimal.phpt (97%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_cursorBuffered_decimal_bindColumn_int.phpt (97%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_cursorBuffered_float.phpt (97%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_cursorBuffered_float_bindColumn_lob.phpt (97%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_cursorBuffered_int.phpt (97%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_cursorBuffered_int_bindColumn_int.phpt (97%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_cursorBuffered_money.phpt (97%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_cursorBuffered_money_bindColumn_int.phpt (97%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_cursorBuffered_multicolumns.phpt (95%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_cursorBuffered_strings_to_integers.phpt (96%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_cursorBuffered_unicode.phpt (97%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_cursor_scroll_random.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_fetchinto_query_args.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_fetch_variants_diff_styles.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_getAttribute_clientInfo.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_getAvailableDrivers.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_get_attr_invalid.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_get_set_attr.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_insertDataType.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_invalid_conn_opt.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_katmai_special_types.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_lastInsertId.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_nested_query_mars.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_output_decimal.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_param_output_select_variant.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_param_output_variants.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_passwords.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_prepare.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_prepare_attribute.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_prepare_emulatePrepare_binary.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_prepare_emulatePrepare_char.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_prepare_emulatePrepare_datetime.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_prepare_emulatePrepare_decimal.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_prepare_emulatePrepare_float.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_prepare_emulatePrepare_int.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_prepare_emulatePrepare_money.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_prepare_emulatePrepare_unicode.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_prepare_invalid_cursor.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_prepare_invalid_encoding.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_prepare_invalid_option_key.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_prepare_invalid_scrollable_cursor.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_prepare_options.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_query.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_query_timeout.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_quote.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_set_attr_invalid.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_set_attr_invalid_encoding.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_simple_update_variants.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_statement_rowcount_query.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_stored_proc_fetch_datatypes.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_testDataType.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_tools.inc (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_transaction.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_transactions.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_utf8_conn.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_utf8_stored_proc_unicode_chars.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdo_warnings.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_Buffqry.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_GetDataType.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_bindColumn.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_bindParam.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_bindValue.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_bindcolumn_odd_types.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_closeCursor.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_columnCount.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_debugDumpParams.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_error.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_execute.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_fetchAll.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_fetchColumn.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_fetchObject.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_fetch_orientation.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_fetch_style.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_fetchmode_emulate_prepare.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_getColumnMeta.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_getColumnMeta_unicode_col_name.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_get_set_attr.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_nextRowset.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_rowCount.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/pdostatement_setFetchMode.phpt (100%) rename test/{ => functional}/pdo_sqlsrv/skipif.inc (100%) rename test/{ => functional}/pdo_sqlsrv/skipif_azure.inc (100%) rename test/{ => functional}/pdo_sqlsrv/skipif_protocol_not_tcp.inc (100%) rename test/{ => functional}/pdo_sqlsrv/skipif_unix.inc (100%) rename test/{ => functional}/pdo_sqlsrv/test_encoding_UTF8_emulate_prepare.phpt (100%) rename test/{ => functional}/sqlsrv/0013.phpt (100%) rename test/{ => functional}/sqlsrv/0020.phpt (100%) rename test/{ => functional}/sqlsrv/0022.phpt (100%) rename test/{ => functional}/sqlsrv/0052.phpt (100%) rename test/{ => functional}/sqlsrv/0053.phpt (100%) rename test/{ => functional}/sqlsrv/0060.phpt (100%) rename test/{ => functional}/sqlsrv/0061.phpt (100%) rename test/{ => functional}/sqlsrv/0065.phpt (100%) rename test/{ => functional}/sqlsrv/0066.phpt (100%) rename test/{ => functional}/sqlsrv/0067.phpt (100%) rename test/{ => functional}/sqlsrv/0068.phpt (100%) rename test/{ => functional}/sqlsrv/0069.phpt (100%) rename test/{ => functional}/sqlsrv/0072.phpt (100%) rename test/{ => functional}/sqlsrv/0073.phpt (100%) rename test/{ => functional}/sqlsrv/0074.phpt (100%) rename test/{ => functional}/sqlsrv/0075.phpt (100%) rename test/{ => functional}/sqlsrv/0076.phpt (100%) rename test/{ => functional}/sqlsrv/0078.phpt (100%) rename test/{ => functional}/sqlsrv/0079.phpt (100%) rename test/{ => functional}/sqlsrv/53_0021.phpt (100%) rename test/{ => functional}/sqlsrv/MsCommon.inc (100%) rename test/{ => functional}/sqlsrv/MsData.inc (100%) rename test/{ => functional}/sqlsrv/MsData_UTF8.inc (100%) rename test/{ => functional}/sqlsrv/MsSetup.inc (100%) rename test/{ => functional}/sqlsrv/TC11_Info.phpt (100%) rename test/{ => functional}/sqlsrv/TC12_Setup.phpt (100%) rename test/{ => functional}/sqlsrv/TC21_Connection.phpt (100%) rename test/{ => functional}/sqlsrv/TC22_ClientInfo.phpt (100%) rename test/{ => functional}/sqlsrv/TC23_ServerInfo.phpt (100%) rename test/{ => functional}/sqlsrv/TC24_Close.phpt (100%) rename test/{ => functional}/sqlsrv/TC31_SimpleQuery.phpt (100%) rename test/{ => functional}/sqlsrv/TC32_DeleteQuery.phpt (100%) rename test/{ => functional}/sqlsrv/TC33_ComplexQuery.phpt (100%) rename test/{ => functional}/sqlsrv/TC34_PrepAndExec.phpt (100%) rename test/{ => functional}/sqlsrv/TC35_Cancel.phpt (100%) rename test/{ => functional}/sqlsrv/TC36_Close.phpt (100%) rename test/{ => functional}/sqlsrv/TC37_QueryTimeout.phpt (100%) rename test/{ => functional}/sqlsrv/TC38_InvalidQuery.phpt (100%) rename test/{ => functional}/sqlsrv/TC39_Cursors.phpt (100%) rename test/{ => functional}/sqlsrv/TC41_FetchMetadata.phpt (100%) rename test/{ => functional}/sqlsrv/TC42_FetchField.phpt (100%) rename test/{ => functional}/sqlsrv/TC43_FetchData.phpt (100%) rename test/{ => functional}/sqlsrv/TC44_FetchArray.phpt (100%) rename test/{ => functional}/sqlsrv/TC45_FetchObject.phpt (100%) rename test/{ => functional}/sqlsrv/TC46_FetchNextResult.phpt (100%) rename test/{ => functional}/sqlsrv/TC47_ParamQuery.phpt (100%) rename test/{ => functional}/sqlsrv/TC48_FetchScrollable.phpt (100%) rename test/{ => functional}/sqlsrv/TC51_StreamRead.phpt (100%) rename test/{ => functional}/sqlsrv/TC52_StreamSend.phpt (100%) rename test/{ => functional}/sqlsrv/TC53_StreamCancel.phpt (100%) rename test/{ => functional}/sqlsrv/TC54_StreamPrepared.phpt (100%) rename test/{ => functional}/sqlsrv/TC55_StreamScrollable.phpt (100%) rename test/{ => functional}/sqlsrv/TC61_TransactionExecution.phpt (100%) rename test/{ => functional}/sqlsrv/TC62_TransactionDisconnect.phpt (100%) rename test/{ => functional}/sqlsrv/TC63_TransactionBounds.phpt (100%) rename test/{ => functional}/sqlsrv/TC64_TransactionProc.phpt (100%) rename test/{ => functional}/sqlsrv/TC71_StoredProc.phpt (100%) rename test/{ => functional}/sqlsrv/TC72_StoredFunc.phpt (100%) rename test/{ => functional}/sqlsrv/TC73_ProcCall.phpt (100%) rename test/{ => functional}/sqlsrv/TC74_ProcQuery.phpt (100%) rename test/{ => functional}/sqlsrv/TC75_ProcRoundtrip.phpt (100%) rename test/{ => functional}/sqlsrv/TC76_StoredProcNull.phpt (100%) rename test/{ => functional}/sqlsrv/TC78_RegressionVSTS611146.phpt (100%) rename test/{ => functional}/sqlsrv/TC79_RegressionVSTS846501.phpt (100%) rename test/{ => functional}/sqlsrv/TC81_MemoryCheck.phpt (100%) rename test/{ => functional}/sqlsrv/TC82_StoredProcRS.phpt (100%) rename test/{ => functional}/sqlsrv/TC83_ComplexInsert.phpt (100%) rename test/{ => functional}/sqlsrv/TC84_LargeColumnName.phpt (100%) rename test/{ => functional}/sqlsrv/TC84_LargeColumnName_unicode.phpt (100%) rename test/{ => functional}/sqlsrv/TC84_LargeColumnName_unicode_col_name.phpt (100%) rename test/{ => functional}/sqlsrv/TC85_MaxOutputParams.phpt (100%) rename test/{ => functional}/sqlsrv/TC86_InsertNulls.phpt (100%) rename test/{ => functional}/sqlsrv/bind_param_null.phpt (100%) rename test/{ => functional}/sqlsrv/break.php (100%) rename test/{ => functional}/sqlsrv/bug_611146.phpt (100%) rename test/{ => functional}/sqlsrv/bug_close.phpt (100%) rename test/{ => functional}/sqlsrv/bug_errors.phpt (100%) rename test/{ => functional}/sqlsrv/bugfix_dataCorruption.phpt (100%) rename test/{ => functional}/sqlsrv/connection_resiliency.phpt (100%) rename test/{ => functional}/sqlsrv/connection_resiliency_keywords.phpt (100%) rename test/{ => functional}/sqlsrv/connection_resiliency_prepare_transact.phpt (100%) rename test/{ => functional}/sqlsrv/connection_resiliency_timeouts.phpt (100%) rename test/{ => functional}/sqlsrv/datetime_inheritence.phpt (100%) rename test/{ => functional}/sqlsrv/fix_test_168256-2.phpt (100%) rename test/{ => functional}/sqlsrv/fix_test_168256.phpt (100%) rename test/{ => functional}/sqlsrv/fix_test_182741.phpt (100%) rename test/{ => functional}/sqlsrv/isPooled.php (100%) rename test/{ => functional}/sqlsrv/issue_52.phpt (100%) rename test/{ => functional}/sqlsrv/php.gif (100%) rename test/{ => functional}/sqlsrv/skipif.inc (100%) rename test/{ => functional}/sqlsrv/skipif_azure.inc (100%) rename test/{ => functional}/sqlsrv/skipif_protocol_not_tcp.inc (100%) rename test/{ => functional}/sqlsrv/skipif_unix.inc (100%) rename test/{ => functional}/sqlsrv/sqlsrv_2008_dataTypes.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_378_out_param_error.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_ConnPool_Unix.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_LOB.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_TNIR.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_azure_ad_authentication.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_bind_output_param.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_bind_param_out_string.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_buffered.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_buffered_result_set_extended_ascii.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_bug_boolean_cast.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_bug_boolean_cast_in_bit.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_bug_boolean_cast_in_bool.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_bug_boolean_cast_inout_bit.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_bug_boolean_cast_inout_bool.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_bug_boolean_cast_out_bit.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_bug_boolean_cast_out_bool.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_client_info.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_close.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_close_twice.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_commit.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_complex_query.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_configure.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_configure_logs_only.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_connStr.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_connect.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_custom_numeric_formats.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_data_to_str.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_data_types_explict_fetch.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_data_types_fetch_binary_stream.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_errors.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_execute_twice.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_fetch_array_unicode_col_name.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_fetch_complex_transactions.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_fetch_cursor_static_scroll.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_fetch_cursor_types.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_fetch_datetime_as_strings.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_fetch_field_twice_data_types.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_fetch_invalid_types.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_fetch_missing_row.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_fetch_object.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_fetch_object_2.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_fetch_object_class.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_fetch_object_unicode_col_name1.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_fetch_object_unicode_col_name2.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_get_config.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_get_field.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_input_param_unknown_encoding.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_katmai_special_types.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_metadata.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_metadata_unicode_col_name1.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_metadata_unicode_col_name2.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_num_fields.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_num_rows.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_param_floats.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_param_input_variants.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_param_ints_with_deletes.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_param_output_variants.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_param_query_array_inputs.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_param_query_data_types.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_param_query_errors.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_param_query_invalid_inputs.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_prepare.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_prepareAndExecute.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_query.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_readStream.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_rowsAffected.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_send_stream_data.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_serverInfo.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_simple_fetch_variants.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_simple_update_variants.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_statement_cancel.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_statement_query_timeout.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_statement_query_timeout_transaction.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_stmt_option_invalid_key.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_stored_proc_varchar.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_str_streams.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_streams_empty_char.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_streams_null_binary.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_streams_null_nchar.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_testConnection.phpt (100%) rename test/{ => functional}/sqlsrv/sqlsrv_test_base.inc (100%) rename test/{ => functional}/sqlsrv/srv_001.phpt (100%) rename test/{ => functional}/sqlsrv/srv_002.phpt (100%) rename test/{ => functional}/sqlsrv/srv_007_login_timeout.phpt (100%) rename test/{ => functional}/sqlsrv/srv_009_connect_app_unicode.phpt (100%) rename test/{ => functional}/sqlsrv/srv_011_temporary_table.phpt (100%) rename test/{ => functional}/sqlsrv/srv_012_sqlsrv_fetch_array.phpt (100%) rename test/{ => functional}/sqlsrv/srv_013_sqlsrv_get_field.phpt (100%) rename test/{ => functional}/sqlsrv/srv_014_sqlsrv_get_field.phpt (100%) rename test/{ => functional}/sqlsrv/srv_019_char.phpt (100%) rename test/{ => functional}/sqlsrv/srv_020_unicode_strings.phpt (100%) rename test/{ => functional}/sqlsrv/srv_021_extended_ascii_strings_fetch_array.phpt (100%) rename test/{ => functional}/sqlsrv/srv_028_data_conversion_nvarchar.phpt (100%) rename test/{ => functional}/sqlsrv/srv_029_data_conversion_varchar_datetime.phpt (100%) rename test/{ => functional}/sqlsrv/srv_031_sqlsrv_field_metadata.phpt (100%) rename test/{ => functional}/sqlsrv/srv_033_binary_unicode.phpt (100%) rename test/{ => functional}/sqlsrv/srv_034_field_metadata_unicode.phpt (100%) rename test/{ => functional}/sqlsrv/srv_036_transaction_commit.phpt (100%) rename test/{ => functional}/sqlsrv/srv_037_sqlsrv_has_rows.phpt (100%) rename test/{ => functional}/sqlsrv/srv_037_transaction_rollback.phpt (100%) rename test/{ => functional}/sqlsrv/srv_047_stream_nvarchar.phpt (100%) rename test/{ => functional}/sqlsrv/srv_048_stream_nvarchar.phpt (100%) rename test/{ => functional}/sqlsrv/srv_049_stream_nvarchar_utf8.phpt (100%) rename test/{ => functional}/sqlsrv/srv_050_error_conversion_varchar_int.phpt (100%) rename test/{ => functional}/sqlsrv/srv_051_error_conversion_nchar.phpt (100%) rename test/{ => functional}/sqlsrv/srv_052_mars.phpt (100%) rename test/{ => functional}/sqlsrv/srv_053_mars_disabled_error_checks.phpt (100%) rename test/{ => functional}/sqlsrv/srv_064_sqlsrv_column_name_unicode.phpt (100%) rename test/{ => functional}/sqlsrv/srv_066_sqlsrv_field_metadata.phpt (100%) rename test/{ => functional}/sqlsrv/srv_069_fetch_empty_nvarchar_buffered.phpt (100%) rename test/{ => functional}/sqlsrv/srv_073_database.phpt (100%) rename test/{ => functional}/sqlsrv/srv_074_create_existing_database.phpt (100%) rename test/{ => functional}/sqlsrv/srv_074_database.phpt (100%) rename test/{ => functional}/sqlsrv/srv_074_database_wide_string.phpt (100%) rename test/{ => functional}/sqlsrv/srv_075_database.phpt (100%) rename test/{ => functional}/sqlsrv/srv_075_database_wide_string.phpt (100%) rename test/{ => functional}/sqlsrv/srv_223_sqlsrv_fetch_absolute.phpt (100%) rename test/{ => functional}/sqlsrv/srv_228_sqlsrv_clientbuffermaxkbsize.phpt (100%) rename test/{ => functional}/sqlsrv/srv_230_sqlsrv_buffered_numeric_types.phpt (95%) rename test/{ => functional}/sqlsrv/srv_231_string_truncation_varchar_max.phpt (100%) rename test/{ => functional}/sqlsrv/srv_308_empty_output_param.phpt (100%) rename test/{ => functional}/sqlsrv/srv_330_numrow_null_buffered_result_set.phpt (100%) rename test/{ => functional}/sqlsrv/test_XML_retrieve.phpt (100%) rename test/{ => functional}/sqlsrv/test_closeConnection.phpt (100%) rename test/{ => functional}/sqlsrv/test_concurrent_transac.phpt (100%) rename test/{ => functional}/sqlsrv/test_conn_execute.phpt (100%) rename test/{ => functional}/sqlsrv/test_connectionOption.phpt (100%) rename test/{ => functional}/sqlsrv/test_datetime_objects.phpt (100%) rename test/{ => functional}/sqlsrv/test_decimal_money.phpt (100%) rename test/{ => functional}/sqlsrv/test_emptyResult.phpt (100%) rename test/{ => functional}/sqlsrv/test_emptyStream.phpt (100%) rename test/{ => functional}/sqlsrv/test_error_encoding.phpt (100%) rename test/{ => functional}/sqlsrv/test_fetch.phpt (100%) rename test/{ => functional}/sqlsrv/test_fetch2.phpt (100%) rename test/{ => functional}/sqlsrv/test_insert_null.phpt (100%) rename test/{ => functional}/sqlsrv/test_insert_nullStr.phpt (100%) rename test/{ => functional}/sqlsrv/test_integer_max_min_zero_date_types.phpt (100%) rename test/{ => functional}/sqlsrv/test_largeData.phpt (100%) rename test/{ => functional}/sqlsrv/test_newError_msg.phpt (100%) rename test/{ => functional}/sqlsrv/test_non_alpha_password.phpt (100%) rename test/{ => functional}/sqlsrv/test_precision_size.phpt (100%) rename test/{ => functional}/sqlsrv/test_scrollable.phpt (100%) rename test/{ => functional}/sqlsrv/test_sqlsrv_phptype_stream.phpt (100%) rename test/{ => functional}/sqlsrv/test_stream.phpt (100%) rename test/{ => functional}/sqlsrv/test_stream_large_data.inc (100%) rename test/{ => functional}/sqlsrv/test_stream_large_data.phpt (100%) rename test/{ => functional}/sqlsrv/test_stream_large_data_UTF8.inc (100%) rename test/{ => functional}/sqlsrv/test_timeout.phpt (100%) rename test/{ => functional}/sqlsrv/test_warning_errors.phpt (100%) rename test/{ => functional}/sqlsrv/test_warning_errors2.phpt (100%) rename test/{ => functional}/sqlsrv/test_warning_errors3.phpt (100%) rename test/{ => functional}/sqlsrv/tools.inc (100%) 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 From 3b925f47fbec339dbec83ec18725278b1872d3be Mon Sep 17 00:00:00 2001 From: yitam Date: Fri, 23 Jun 2017 13:26:51 -0700 Subject: [PATCH 2/4] fix scripts to use new folder structure --- .travis.yml | 12 ++++++------ Dockerfile-msphpsql | 4 ++-- appveyor.yml | 16 ++++++++-------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.travis.yml b/.travis.yml index 728e93e9..dc5738d1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,12 +29,12 @@ script: - docker ps -a - docker exec client python ./test/setup/setup_dbs.py -dbname $SQLSRV_DBNAME - docker exec client python ./test/setup/setup_dbs.py -dbname $PDOSQLSRV_DBNAME - - docker exec client php ./source/pdo_sqlsrv/run-tests.php ./test/pdo_sqlsrv/*.phpt - - docker exec client php ./source/sqlsrv/run-tests.php ./test/sqlsrv/*.phpt - - docker exec client bash -c 'for f in ./test/sqlsrv/*.diff; do ls $f 2>/dev/null; cat $f 2>/dev/null; done || true' - - docker exec client bash -c 'for f in ./test/sqlsrv/*.out; do ls $f 2>/dev/null; cat $f 2>/dev/null; done || true' - - docker exec client bash -c 'for f in ./test/pdo_sqlsrv/*.diff; do ls $f 2>/dev/null; cat $f 2>/dev/null; done || true' - - docker exec client bash -c 'for f in ./test/pdo_sqlsrv/*.out; do ls $f 2>/dev/null; cat $f 2>/dev/null; done || true' + - docker exec client php ./source/pdo_sqlsrv/run-tests.php ./test/functional/pdo_sqlsrv/*.phpt + - docker exec client php ./source/sqlsrv/run-tests.php ./test/functional/sqlsrv/*.phpt + - docker exec client bash -c 'for f in ./test/functional/sqlsrv/*.diff; do ls $f 2>/dev/null; cat $f 2>/dev/null; done || true' + - docker exec client bash -c 'for f in ./test/functional/sqlsrv/*.out; do ls $f 2>/dev/null; cat $f 2>/dev/null; done || true' + - docker exec client bash -c 'for f in ./test/functional/pdo_sqlsrv/*.diff; do ls $f 2>/dev/null; cat $f 2>/dev/null; done || true' + - docker exec client bash -c 'for f in ./test/functional/pdo_sqlsrv/*.out; do ls $f 2>/dev/null; cat $f 2>/dev/null; done || true' - docker exec client python ./test/setup/cleanup_dbs.py -dbname $SQLSRV_DBNAME - docker exec client python ./test/setup/cleanup_dbs.py -dbname $PDOSQLSRV_DBNAME - docker exec client coveralls -e ./source/shared/ --gcov-options '\-lp' diff --git a/Dockerfile-msphpsql b/Dockerfile-msphpsql index e025375c..81ff073f 100644 --- a/Dockerfile-msphpsql +++ b/Dockerfile-msphpsql @@ -67,13 +67,13 @@ WORKDIR $PHPSQLDIR/source/pdo_sqlsrv RUN phpize && ./configure LDFLAGS="-lgcov" CXXFLAGS="-O0 --coverage" && make && make install # set name of sql server host to use -WORKDIR $PHPSQLDIR/test/pdo_sqlsrv +WORKDIR $PHPSQLDIR/test/functional/pdo_sqlsrv RUN sed -i -e 's/TARGET_SERVER/sql/g' MsSetup.inc RUN sed -i -e 's/TARGET_DATABASE/msphpsql_pdosqlsrv/g' MsSetup.inc RUN sed -i -e 's/TARGET_USERNAME/'"$TEST_PHP_SQL_UID"'/g' MsSetup.inc RUN sed -i -e 's/TARGET_PASSWORD/'"$TEST_PHP_SQL_PWD"'/g' MsSetup.inc -WORKDIR $PHPSQLDIR/test/sqlsrv +WORKDIR $PHPSQLDIR/test/functional/sqlsrv RUN sed -i -e 's/TARGET_SERVER/sql/g' MsSetup.inc RUN sed -i -e 's/TARGET_DATABASE/msphpsql_sqlsrv/g' MsSetup.inc RUN sed -i -e 's/TARGET_USERNAME/'"$TEST_PHP_SQL_UID"'/g' MsSetup.inc diff --git a/appveyor.yml b/appveyor.yml index 77a06f4e..1cb3d1ae 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -123,10 +123,10 @@ install: - 7z x -y php-sdk-binary-tools-20110915.zip -o%PHP_SDK% - 7z x -y php.zip -o%PHP_SDK_DIR% - echo update SQL connection string - - ps: (Get-Content ${env:APPVEYOR_BUILD_FOLDER}\test\pdo_sqlsrv\MsSetup.inc) | ForEach-Object { $_ -replace "TARGET_SERVER", ${env:TEST_PHP_SQL_SERVER} -replace "TARGET_DATABASE", ${env:PDOSQLSRV_DBNAME} -replace "TARGET_USERNAME", ${env:TEST_PHP_SQL_UID} -replace "TARGET_PASSWORD", ${env:TEST_PHP_SQL_PWD} } | Set-Content ${env:APPVEYOR_BUILD_FOLDER}\test\pdo_sqlsrv\MsSetup.inc - - ps: Get-Content ${env:APPVEYOR_BUILD_FOLDER}\test\pdo_sqlsrv\MsSetup.inc - - ps: (Get-Content ${env:APPVEYOR_BUILD_FOLDER}\test\sqlsrv\MsSetup.inc) | ForEach-Object { $_ -replace "TARGET_SERVER", ${env:TEST_PHP_SQL_SERVER} -replace "TARGET_DATABASE", ${env:SQLSRV_DBNAME} -replace "TARGET_USERNAME", ${env:TEST_PHP_SQL_UID} -replace "TARGET_PASSWORD", ${env:TEST_PHP_SQL_PWD} } | Set-Content ${env:APPVEYOR_BUILD_FOLDER}\test\sqlsrv\MsSetup.inc - - ps: Get-Content ${env:APPVEYOR_BUILD_FOLDER}\test\sqlsrv\MsSetup.inc + - ps: (Get-Content ${env:APPVEYOR_BUILD_FOLDER}\test\functional\pdo_sqlsrv\MsSetup.inc) | ForEach-Object { $_ -replace "TARGET_SERVER", ${env:TEST_PHP_SQL_SERVER} -replace "TARGET_DATABASE", ${env:PDOSQLSRV_DBNAME} -replace "TARGET_USERNAME", ${env:TEST_PHP_SQL_UID} -replace "TARGET_PASSWORD", ${env:TEST_PHP_SQL_PWD} } | Set-Content ${env:APPVEYOR_BUILD_FOLDER}\test\functional\pdo_sqlsrv\MsSetup.inc + - ps: Get-Content ${env:APPVEYOR_BUILD_FOLDER}\test\functional\pdo_sqlsrv\MsSetup.inc + - ps: (Get-Content ${env:APPVEYOR_BUILD_FOLDER}\test\functional\sqlsrv\MsSetup.inc) | ForEach-Object { $_ -replace "TARGET_SERVER", ${env:TEST_PHP_SQL_SERVER} -replace "TARGET_DATABASE", ${env:SQLSRV_DBNAME} -replace "TARGET_USERNAME", ${env:TEST_PHP_SQL_UID} -replace "TARGET_PASSWORD", ${env:TEST_PHP_SQL_PWD} } | Set-Content ${env:APPVEYOR_BUILD_FOLDER}\test\functional\sqlsrv\MsSetup.inc + - ps: Get-Content ${env:APPVEYOR_BUILD_FOLDER}\test\functional\sqlsrv\MsSetup.inc build_script: - '"C:\\Program Files (x86)\\Microsoft Visual Studio %PHP_VC%.0\\VC\\vcvarsall.bat" %BUILD_PLATFORM%' @@ -166,10 +166,10 @@ test_script: - python %APPVEYOR_BUILD_FOLDER%\test\setup\setup_dbs.py -dbname %SQLSRV_DBNAME% - Echo setup test database for PDO_SQLSRV tests - %PDOSQLSRV_DBNAME% - python %APPVEYOR_BUILD_FOLDER%\test\setup\setup_dbs.py -dbname %PDOSQLSRV_DBNAME% - - php run-tests.php -p php.exe %APPVEYOR_BUILD_FOLDER%\test\sqlsrv\*.phpt > %APPVEYOR_BUILD_FOLDER%\test\sqlsrv.log 2>&1 - - type %APPVEYOR_BUILD_FOLDER%\test\sqlsrv.log - - php run-tests.php -p php.exe %APPVEYOR_BUILD_FOLDER%\test\pdo_sqlsrv\*.phpt > %APPVEYOR_BUILD_FOLDER%\test\pdo_sqlsrv.log 2>&1 - - type %APPVEYOR_BUILD_FOLDER%\test\pdo_sqlsrv.log + - php run-tests.php -p php.exe %APPVEYOR_BUILD_FOLDER%\test\functional\sqlsrv\*.phpt > %APPVEYOR_BUILD_FOLDER%\test\functional\sqlsrv.log 2>&1 + - type %APPVEYOR_BUILD_FOLDER%\test\functional\sqlsrv.log + - php run-tests.php -p php.exe %APPVEYOR_BUILD_FOLDER%\test\functional\pdo_sqlsrv\*.phpt > %APPVEYOR_BUILD_FOLDER%\test\functional\pdo_sqlsrv.log 2>&1 + - type %APPVEYOR_BUILD_FOLDER%\test\functional\pdo_sqlsrv.log - python %APPVEYOR_BUILD_FOLDER%\test\setup\cleanup_dbs.py -dbname %SQLSRV_DBNAME% - python %APPVEYOR_BUILD_FOLDER%\test\setup\cleanup_dbs.py -dbname %PDOSQLSRV_DBNAME% From 087f1150183e377012908413a6951891d40e16f9 Mon Sep 17 00:00:00 2001 From: yitam Date: Fri, 23 Jun 2017 13:46:26 -0700 Subject: [PATCH 3/4] fixed the paths to test results --- appveyor.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 1cb3d1ae..6b1e6fb7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -176,12 +176,12 @@ test_script: after_test: - cd %APPVEYOR_BUILD_FOLDER%\test\ - python output.py - - ps: $difffiles = Get-ChildItem sqlsrv\*.diff - - ps: $outfiles = Get-ChildItem sqlsrv\*.out + - ps: $difffiles = Get-ChildItem functional\sqlsrv\*.diff + - ps: $outfiles = Get-ChildItem functional\sqlsrv\*.out - ps: foreach($file in $difffiles){ls $file; more $file} - ps: foreach($file in $outfiles){ls $file; more $file} - - ps: $difffiles = Get-ChildItem pdo_sqlsrv\*.diff - - ps: $outfiles = Get-ChildItem pdo_sqlsrv\*.out + - ps: $difffiles = Get-ChildItem functional\pdo_sqlsrv\*.diff + - ps: $outfiles = Get-ChildItem functional\pdo_sqlsrv\*.out - ps: foreach($file in $difffiles){ls $file; more $file} - ps: foreach($file in $outfiles){ls $file; more $file} - ps: (new-object net.webclient).UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\nativeresult1.xml)) From 6c6061819fd9104578f4686ee48147de6dad21c7 Mon Sep 17 00:00:00 2001 From: yitam Date: Fri, 23 Jun 2017 14:05:23 -0700 Subject: [PATCH 4/4] moved output.py too --- appveyor.yml | 10 +++++----- test/{ => functional}/output.py | 0 2 files changed, 5 insertions(+), 5 deletions(-) rename test/{ => functional}/output.py (100%) diff --git a/appveyor.yml b/appveyor.yml index 6b1e6fb7..c80e64d6 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -174,14 +174,14 @@ test_script: - python %APPVEYOR_BUILD_FOLDER%\test\setup\cleanup_dbs.py -dbname %PDOSQLSRV_DBNAME% after_test: - - cd %APPVEYOR_BUILD_FOLDER%\test\ + - cd %APPVEYOR_BUILD_FOLDER%\test\functional\ - python output.py - - ps: $difffiles = Get-ChildItem functional\sqlsrv\*.diff - - ps: $outfiles = Get-ChildItem functional\sqlsrv\*.out + - ps: $difffiles = Get-ChildItem sqlsrv\*.diff + - ps: $outfiles = Get-ChildItem sqlsrv\*.out - ps: foreach($file in $difffiles){ls $file; more $file} - ps: foreach($file in $outfiles){ls $file; more $file} - - ps: $difffiles = Get-ChildItem functional\pdo_sqlsrv\*.diff - - ps: $outfiles = Get-ChildItem functional\pdo_sqlsrv\*.out + - ps: $difffiles = Get-ChildItem pdo_sqlsrv\*.diff + - ps: $outfiles = Get-ChildItem pdo_sqlsrv\*.out - ps: foreach($file in $difffiles){ls $file; more $file} - ps: foreach($file in $outfiles){ls $file; more $file} - ps: (new-object net.webclient).UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\nativeresult1.xml)) diff --git a/test/output.py b/test/functional/output.py similarity index 100% rename from test/output.py rename to test/functional/output.py