diff --git a/eng/pipelines/common/templates/steps/build-and-run-tests-netcore-step.yml b/eng/pipelines/common/templates/steps/build-and-run-tests-netcore-step.yml index f25b719bc2..f9f99aa23e 100644 --- a/eng/pipelines/common/templates/steps/build-and-run-tests-netcore-step.yml +++ b/eng/pipelines/common/templates/steps/build-and-run-tests-netcore-step.yml @@ -147,5 +147,4 @@ steps: --blame-hang --blame-hang-dump-type full --blame-hang-timeout 10m - retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }} continueOnError: true diff --git a/eng/pipelines/common/templates/steps/build-and-run-tests-netfx-step.yml b/eng/pipelines/common/templates/steps/build-and-run-tests-netfx-step.yml index 7db39da4a6..9571569705 100644 --- a/eng/pipelines/common/templates/steps/build-and-run-tests-netfx-step.yml +++ b/eng/pipelines/common/templates/steps/build-and-run-tests-netfx-step.yml @@ -149,5 +149,4 @@ steps: --blame-hang --blame-hang-dump-type full --blame-hang-timeout 10m - retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }} continueOnError: true diff --git a/eng/pipelines/common/templates/steps/run-all-tests-step.yml b/eng/pipelines/common/templates/steps/run-all-tests-step.yml index 5297795653..7c78e48a6c 100644 --- a/eng/pipelines/common/templates/steps/run-all-tests-step.yml +++ b/eng/pipelines/common/templates/steps/run-all-tests-step.yml @@ -226,7 +226,6 @@ steps: -p:Filter="category=flaky" -p:CollectCodeCoverage=false continueOnError: true - retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }} - ${{ else }}: # Linux or macOS - ${{if eq(parameters.referenceType, 'Project')}}: @@ -350,4 +349,3 @@ steps: verbosityRestore: Detailed verbosityPack: Detailed continueOnError: true - retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }} diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/Microsoft.Data.SqlClient.ManualTests.csproj b/src/Microsoft.Data.SqlClient/tests/ManualTests/Microsoft.Data.SqlClient.ManualTests.csproj index a27e137cf3..8efbafbe7c 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/Microsoft.Data.SqlClient.ManualTests.csproj +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/Microsoft.Data.SqlClient.ManualTests.csproj @@ -199,6 +199,12 @@ + + + + + + @@ -237,14 +243,104 @@ - - - - + + + + PreserveNewest + StreamInputParameter_DebugMode.bsl + + + PreserveNewest + StreamInputParameter_DebugMode_Azure.bsl + + + PreserveNewest + StreamInputParameter_ReleaseMode.bsl + + + PreserveNewest + StreamInputParameter_ReleaseMode_Azure.bsl + + + PreserveNewest + TvpColumnBoundaries_DebugMode.bsl + + + PreserveNewest + TvpColumnBoundaries_DebugMode_Azure.bsl + + + PreserveNewest + TvpColumnBoundaries_ReleaseMode.bsl + + + PreserveNewest + TvpColumnBoundaries_ReleaseMode_Azure.bsl + + + PreserveNewest + TvpQueryHints_DebugMode.bsl + + + PreserveNewest + TvpQueryHints_DebugMode_Azure.bsl + + + PreserveNewest + TvpQueryHints_ReleaseMode.bsl + + + PreserveNewest + TvpQueryHints_ReleaseMode_Azure.bsl + + + PreserveNewest + SqlVariantParameter_DebugMode.bsl + + + PreserveNewest + SqlVariantParameter_DebugMode_Azure.bsl + + + PreserveNewest + SqlVariantParameter_ReleaseMode.bsl + + + PreserveNewest + SqlVariantParameter_ReleaseMode_Azure.bsl + + + PreserveNewest + DateTimeVariant_DebugMode.bsl + + + PreserveNewest + DateTimeVariant_DebugMode_Azure.bsl + + + PreserveNewest + DateTimeVariant_ReleaseMode.bsl + + + PreserveNewest + DateTimeVariant_ReleaseMode_Azure.bsl + + + PreserveNewest + OutputParameter_DebugMode.bsl + + + PreserveNewest + OutputParameter_DebugMode_Azure.bsl + + + PreserveNewest + OutputParameter_ReleaseMode.bsl + + + PreserveNewest + OutputParameter_ReleaseMode_Azure.bsl + diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/JsonTest/JsonStreamTest.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/JsonTest/JsonStreamTest.cs index f580347f67..eee3b2d515 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/JsonTest/JsonStreamTest.cs +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/JsonTest/JsonStreamTest.cs @@ -69,10 +69,10 @@ private void CompareJsonFiles() } } - private void PrintJsonDataToFile(SqlConnection connection) + private void PrintJsonDataToFile(SqlConnection connection, string tableName) { DeleteFile(_outputFile); - using (SqlCommand command = new SqlCommand("SELECT [data] FROM [jsonTab]", connection)) + using (SqlCommand command = new SqlCommand($"SELECT [data] FROM {tableName}", connection)) { using (SqlDataReader reader = command.ExecuteReader(CommandBehavior.SequentialAccess)) { @@ -99,10 +99,10 @@ private void PrintJsonDataToFile(SqlConnection connection) } } - private async Task PrintJsonDataToFileAsync(SqlConnection connection) + private async Task PrintJsonDataToFileAsync(SqlConnection connection, string tableName) { DeleteFile(_outputFile); - using (SqlCommand command = new SqlCommand("SELECT [data] FROM [jsonTab]", connection)) + using (SqlCommand command = new SqlCommand($"SELECT [data] FROM {tableName}", connection)) { using (SqlDataReader reader = await command.ExecuteReaderAsync(CommandBehavior.SequentialAccess)) { @@ -129,9 +129,9 @@ private async Task PrintJsonDataToFileAsync(SqlConnection connection) } } - private void StreamJsonFileToServer(SqlConnection connection) + private void StreamJsonFileToServer(SqlConnection connection, string tableName) { - using (SqlCommand cmd = new SqlCommand("INSERT INTO [jsonTab] (data) VALUES (@jsondata)", connection)) + using (SqlCommand cmd = new SqlCommand($"INSERT INTO {tableName} (data) VALUES (@jsondata)", connection)) { using (StreamReader jsonFile = File.OpenText(_jsonFile)) { @@ -141,9 +141,9 @@ private void StreamJsonFileToServer(SqlConnection connection) } } - private async Task StreamJsonFileToServerAsync(SqlConnection connection) + private async Task StreamJsonFileToServerAsync(SqlConnection connection, string tableName) { - using (SqlCommand cmd = new SqlCommand("INSERT INTO [jsonTab] (data) VALUES (@jsondata)", connection)) + using (SqlCommand cmd = new SqlCommand($"INSERT INTO {tableName} (data) VALUES (@jsondata)", connection)) { using (StreamReader jsonFile = File.OpenText(_jsonFile)) { @@ -168,9 +168,10 @@ public void TestJsonStreaming() using (SqlConnection connection = new SqlConnection(DataTestUtility.TCPConnectionString)) { connection.Open(); - DataTestUtility.CreateTable(connection, "jsonTab", "(data json)"); - StreamJsonFileToServer(connection); - PrintJsonDataToFile(connection); + var tableName = DataTestUtility.GetLongName("jsonTab"); + DataTestUtility.CreateTable(connection, tableName, "(data json)"); + StreamJsonFileToServer(connection, tableName); + PrintJsonDataToFile(connection, tableName); CompareJsonFiles(); DeleteFile(_jsonFile); DeleteFile(_outputFile); @@ -184,9 +185,10 @@ public async Task TestJsonStreamingAsync() using (SqlConnection connection = new SqlConnection(DataTestUtility.TCPConnectionString)) { await connection.OpenAsync(); - DataTestUtility.CreateTable(connection, "jsonTab", "(data json)"); - await StreamJsonFileToServerAsync(connection); - await PrintJsonDataToFileAsync(connection); + var tableName = DataTestUtility.GetLongName("jsonTab"); + DataTestUtility.CreateTable(connection, tableName, "(data json)"); + await StreamJsonFileToServerAsync(connection, tableName); + await PrintJsonDataToFileAsync(connection, tableName); CompareJsonFiles(); DeleteFile(_jsonFile); DeleteFile(_outputFile); diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/DateTimeVariantTests.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/DateTimeVariantTests.cs new file mode 100644 index 0000000000..344f3798d7 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/DateTimeVariantTests.cs @@ -0,0 +1,146 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Globalization; +using System.IO; +using System.Text; +using System.Threading; +using Xunit; + +namespace Microsoft.Data.SqlClient.ManualTesting.Tests +{ + /// + /// Tests for DateTime variant parameters with different date/time types. + /// These tests run independently with their own baseline comparison. + /// + [Collection("ParameterBaselineTests")] + public class DateTimeVariantTests + { + private readonly string _connStr; + + public DateTimeVariantTests() + { + _connStr = DataTestUtility.TCPConnectionString; + } + + [Trait("Category", "flaky")] + [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] + public void DateTimeVariantParameterTest() + { + Assert.True(RunTestAndCompareWithBaseline()); + } + + private bool RunTestAndCompareWithBaseline() + { + CultureInfo previousCulture = Thread.CurrentThread.CurrentCulture; + Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); + try + { + string outputPath = "DateTimeVariant.out"; + string baselinePath; +#if DEBUG + if (DataTestUtility.IsNotAzureServer() || DataTestUtility.IsManagedInstance) + { + baselinePath = "DateTimeVariant_DebugMode.bsl"; + } + else + { + baselinePath = "DateTimeVariant_DebugMode_Azure.bsl"; + } +#else + if (DataTestUtility.IsNotAzureServer() || DataTestUtility.IsManagedInstance) + { + baselinePath = "DateTimeVariant_ReleaseMode.bsl"; + } + else + { + baselinePath = "DateTimeVariant_ReleaseMode_Azure.bsl"; + } +#endif + + var fstream = new FileStream(outputPath, FileMode.Create, FileAccess.Write, FileShare.Read); + var swriter = new StreamWriter(fstream, Encoding.UTF8); + var twriter = new TvpTest.CarriageReturnLineFeedReplacer(swriter); + Console.SetOut(twriter); + + // Run Test + DateTimeVariantTest.TestAllDateTimeWithDataTypeAndVariant(_connStr); + + Console.Out.Flush(); + Console.Out.Dispose(); + + // Recover the standard output stream + StreamWriter standardOutput = new(Console.OpenStandardOutput()); + standardOutput.AutoFlush = true; + Console.SetOut(standardOutput); + + // Compare output file + var comparisonResult = FindDiffFromBaseline(baselinePath, outputPath); + + if (string.IsNullOrEmpty(comparisonResult)) + { + return true; + } + + Console.WriteLine("DateTimeVariantParameterTest Failed!"); + Console.WriteLine("Please compare baseline: {0} with output: {1}", Path.GetFullPath(baselinePath), Path.GetFullPath(outputPath)); + Console.WriteLine("Comparison Results:"); + Console.WriteLine(comparisonResult); + return false; + } + finally + { + Thread.CurrentThread.CurrentCulture = previousCulture; + } + } + + private static string FindDiffFromBaseline(string baselinePath, string outputPath) + { + var expectedLines = File.ReadAllLines(baselinePath); + var outputLines = File.ReadAllLines(outputPath); + + var comparisonSb = new StringBuilder(); + + var expectedLength = expectedLines.Length; + var outputLength = outputLines.Length; + var findDiffLength = Math.Min(expectedLength, outputLength); + + for (var lineNo = 0; lineNo < findDiffLength; lineNo++) + { + if (!expectedLines[lineNo].Equals(outputLines[lineNo])) + { + comparisonSb.AppendFormat("** DIFF at line {0} \n", lineNo); + comparisonSb.AppendFormat("A : {0} \n", outputLines[lineNo]); + comparisonSb.AppendFormat("E : {0} \n", expectedLines[lineNo]); + } + } + + var startIndex = findDiffLength - 1; + if (startIndex < 0) + { + startIndex = 0; + } + + if (findDiffLength < expectedLength) + { + comparisonSb.AppendFormat("** MISSING \n"); + for (var lineNo = startIndex; lineNo < expectedLength; lineNo++) + { + comparisonSb.AppendFormat("{0} : {1}", lineNo, expectedLines[lineNo]); + } + } + if (findDiffLength < outputLength) + { + comparisonSb.AppendFormat("** EXTRA \n"); + for (var lineNo = startIndex; lineNo < outputLength; lineNo++) + { + comparisonSb.AppendFormat("{0} : {1}", lineNo, outputLines[lineNo]); + } + } + + return comparisonSb.ToString(); + } + } +} diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SqlParameterTest_ReleaseMode.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/DateTimeVariant_DebugMode.bsl similarity index 78% rename from src/Microsoft.Data.SqlClient/tests/ManualTests/SqlParameterTest_ReleaseMode.bsl rename to src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/DateTimeVariant_DebugMode.bsl index 6e9cab52b9..aa19a20d9a 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SqlParameterTest_ReleaseMode.bsl +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/DateTimeVariant_DebugMode.bsl @@ -1,615 +1,3 @@ -Starting test 'TvpTest' -Starting Test using AsyncDebugScope -Tests using AsyncDebugScope are only supported in Debug mode! -Finished Test using AsyncDebugScope -Test immediate cancel for binary stream -PASS: Task is cancelled -Test immediate cancel for text stream -PASS: Task is cancelled -Test immediate cancel for xml stream -PASS: Task is cancelled -Test command preparation PASS -Test reuse of command after cancel -PASS -Test reuse of command after cancel -PASS -Test reuse of command after cancel -PASS -+++++++ Iteration 0 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 1 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 2 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 3 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 4 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 5 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 6 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 7 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 8 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 9 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 10 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 11 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 12 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 13 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 14 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 15 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 16 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 17 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 18 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 19 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 20 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -Matches = 14 -SqlException. Error Code: 2628 -Matches = 28 -Matches = 14 -SqlException. Error Code: 2628 -Matches = 14 -Matches = 14 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 21 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 22 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 23 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 24 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 25 ++++++++ -------IEnumerable--------- -Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=0, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=1, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=4, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=5, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=8, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=9, Column=5 -Matches = 162 -------DbDataReader--------- -Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=0, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=1, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=4, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=5, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=8, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=9, Column=5 -Matches = 162 -------DataTables--------- -SqlException. Error Code: 242 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 26 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 27 ++++++++ -------IEnumerable--------- -Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[2]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[10]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[11]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=0, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=1, Column=5 -Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney - Row=1, Column=9 -Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney - Row=2, Column=9 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=4, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=5, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=8, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=9, Column=5 -Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney - Row=10, Column=9 -Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney - Row=11, Column=9 -Matches = 158 -------DbDataReader--------- -Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[2]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[10]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[11]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=0, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=1, Column=5 -Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney - Row=1, Column=9 -Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney - Row=2, Column=9 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=4, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=5, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=8, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=9, Column=5 -Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney - Row=10, Column=9 -Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney - Row=11, Column=9 -Matches = 158 -------DataTables--------- -SqlException. Error Code: 242 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 8115 -------- Sort order + uniqueness #1: simple ------- -------------- -0 Z-value 3/1/2000 12:00:00 AM 5 -1 X-value 1/1/2000 12:00:00 AM 7 - -------------- -------- Sort order + uniqueness #2: mixed order ------- -------------- -4 X-value 1/1/2000 12:00:00 AM 3 -5 X-value 3/1/2000 12:00:00 AM 3 - -------------- -------- default column #1: outer subset ------- -------------- --1 Y-value 1/1/2000 12:00:00 AM -1 --1 Z-value 1/1/2000 12:00:00 AM -1 - -------------- -------- default column #1: middle subset ------- -------------- -4 DEFUALT 1/1/2006 12:00:00 AM 3 -5 DEFUALT 1/1/2006 12:00:00 AM 3 - -------------- -------- default column #1: all ------- -------------- --1 DEFUALT 1/1/2006 12:00:00 AM -1 --1 DEFUALT 1/1/2006 12:00:00 AM -1 - -------------- - -Starting test 'SqlVariantParam' -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlSingle:real -SendVariantParam -> System.Data.SqlTypes.SqlSingle:real -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlSingle:real -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlSingle:real -SendVariantParam -> System.Data.SqlTypes.SqlSingle:real -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlSingle:real -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantParam -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDouble:float -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDouble:float -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDouble:float -SendVariantParam -> System.Data.SqlTypes.SqlDouble:float -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDouble:float -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDouble:float -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantParam -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantParam -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantParam -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantParam -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantParam -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantParam -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt32:int -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt32:int -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt32:int -SendVariantParam -> System.Data.SqlTypes.SqlInt32:int -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt32:int -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt32:int -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantParam -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantParam -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantParam -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric - --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal - --> ERROR: Expected base type money does not match actual base type numeric -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDecimal:numeric - --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal - --> ERROR: Expected base type money does not match actual base type numeric -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDecimal:numeric - --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal - --> ERROR: Expected base type money does not match actual base type numeric -SendVariantParam -> System.Data.SqlTypes.SqlMoney:money -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlMoney:money -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlMoney:money -End test 'SqlVariantParam' ------------------------------ TestSimpleParameter_Type [type: date value:1/1/0001 00:00:00] ------------------------------ Type => Expected : Actual == System.DateTime : System.DateTime @@ -1768,6 +1156,3 @@ Base Type => Expected : Actual == time : datetime Value => Expected : Actual == 3155378975999999999 : 3155378975999970000 SqlBulkCopy From Data Row [Variant Type]>>> ERROR: VARIANT BASE TYPE MISMATCH!!! [Actual = datetime] [Expected = time] SqlBulkCopy From Data Row [Variant Type]>>> ERROR: VALUE MISMATCH!!! [Actual = 12/31/9999 11:59:59 PM] [Expected = 12/31/9999 11:59:59 PM] -Starting 'OutputParameter' tests -Test setting output SqlParameter to an invalid value -Done diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SqlParameterTest_ReleaseMode_Azure.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/DateTimeVariant_DebugMode_Azure.bsl similarity index 78% rename from src/Microsoft.Data.SqlClient/tests/ManualTests/SqlParameterTest_ReleaseMode_Azure.bsl rename to src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/DateTimeVariant_DebugMode_Azure.bsl index 60bcac02f5..aa19a20d9a 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SqlParameterTest_ReleaseMode_Azure.bsl +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/DateTimeVariant_DebugMode_Azure.bsl @@ -1,615 +1,3 @@ -Starting test 'TvpTest' -Starting Test using AsyncDebugScope -Tests using AsyncDebugScope are only supported in Debug mode! -Finished Test using AsyncDebugScope -Test immediate cancel for binary stream -PASS: Task is cancelled -Test immediate cancel for text stream -PASS: Task is cancelled -Test immediate cancel for xml stream -PASS: Task is cancelled -Test command preparation PASS -Test reuse of command after cancel -PASS -Test reuse of command after cancel -PASS -Test reuse of command after cancel -PASS -+++++++ Iteration 0 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 1 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 2 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 3 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 4 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 5 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 6 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 7 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 8 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 9 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 10 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 11 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 12 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 13 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 14 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 15 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 16 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 17 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 18 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 19 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 20 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -Matches = 14 -SqlException. Error Code: 8152 -Matches = 28 -Matches = 14 -SqlException. Error Code: 8152 -Matches = 14 -Matches = 14 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 21 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 22 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 23 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 24 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 25 ++++++++ -------IEnumerable--------- -Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=0, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=1, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=4, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=5, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=8, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=9, Column=5 -Matches = 162 -------DbDataReader--------- -Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=0, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=1, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=4, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=5, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=8, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=9, Column=5 -Matches = 162 -------DataTables--------- -SqlException. Error Code: 242 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 26 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 27 ++++++++ -------IEnumerable--------- -Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[2]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[10]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[11]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=0, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=1, Column=5 -Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney - Row=1, Column=9 -Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney - Row=2, Column=9 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=4, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=5, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=8, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=9, Column=5 -Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney - Row=10, Column=9 -Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney - Row=11, Column=9 -Matches = 158 -------DbDataReader--------- -Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[2]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[10]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[11]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=0, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=1, Column=5 -Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney - Row=1, Column=9 -Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney - Row=2, Column=9 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=4, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=5, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=8, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=9, Column=5 -Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney - Row=10, Column=9 -Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney - Row=11, Column=9 -Matches = 158 -------DataTables--------- -SqlException. Error Code: 242 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8115 -------- Sort order + uniqueness #1: simple ------- -------------- -0 Z-value 3/1/2000 12:00:00 AM 5 -1 X-value 1/1/2000 12:00:00 AM 7 - -------------- -------- Sort order + uniqueness #2: mixed order ------- -------------- -4 X-value 1/1/2000 12:00:00 AM 3 -5 X-value 3/1/2000 12:00:00 AM 3 - -------------- -------- default column #1: outer subset ------- -------------- --1 Y-value 1/1/2000 12:00:00 AM -1 --1 Z-value 1/1/2000 12:00:00 AM -1 - -------------- -------- default column #1: middle subset ------- -------------- -4 DEFUALT 1/1/2006 12:00:00 AM 3 -5 DEFUALT 1/1/2006 12:00:00 AM 3 - -------------- -------- default column #1: all ------- -------------- --1 DEFUALT 1/1/2006 12:00:00 AM -1 --1 DEFUALT 1/1/2006 12:00:00 AM -1 - -------------- - -Starting test 'SqlVariantParam' -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlSingle:real -SendVariantParam -> System.Data.SqlTypes.SqlSingle:real -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlSingle:real -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlSingle:real -SendVariantParam -> System.Data.SqlTypes.SqlSingle:real -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlSingle:real -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantParam -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDouble:float -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDouble:float -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDouble:float -SendVariantParam -> System.Data.SqlTypes.SqlDouble:float -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDouble:float -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDouble:float -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantParam -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantParam -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantParam -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantParam -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantParam -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantParam -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt32:int -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt32:int -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt32:int -SendVariantParam -> System.Data.SqlTypes.SqlInt32:int -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt32:int -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt32:int -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantParam -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantParam -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantParam -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric - --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal - --> ERROR: Expected base type money does not match actual base type numeric -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDecimal:numeric - --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal - --> ERROR: Expected base type money does not match actual base type numeric -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDecimal:numeric - --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal - --> ERROR: Expected base type money does not match actual base type numeric -SendVariantParam -> System.Data.SqlTypes.SqlMoney:money -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlMoney:money -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlMoney:money -End test 'SqlVariantParam' ------------------------------ TestSimpleParameter_Type [type: date value:1/1/0001 00:00:00] ------------------------------ Type => Expected : Actual == System.DateTime : System.DateTime @@ -1768,6 +1156,3 @@ Base Type => Expected : Actual == time : datetime Value => Expected : Actual == 3155378975999999999 : 3155378975999970000 SqlBulkCopy From Data Row [Variant Type]>>> ERROR: VARIANT BASE TYPE MISMATCH!!! [Actual = datetime] [Expected = time] SqlBulkCopy From Data Row [Variant Type]>>> ERROR: VALUE MISMATCH!!! [Actual = 12/31/9999 11:59:59 PM] [Expected = 12/31/9999 11:59:59 PM] -Starting 'OutputParameter' tests -Test setting output SqlParameter to an invalid value -Done diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SqlParameterTest_DebugMode.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/DateTimeVariant_ReleaseMode.bsl similarity index 58% rename from src/Microsoft.Data.SqlClient/tests/ManualTests/SqlParameterTest_DebugMode.bsl rename to src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/DateTimeVariant_ReleaseMode.bsl index 955d43c807..aa19a20d9a 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SqlParameterTest_DebugMode.bsl +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/DateTimeVariant_ReleaseMode.bsl @@ -1,1076 +1,3 @@ -Starting test 'TvpTest' -Starting Test using AsyncDebugScope -Using stored procedure False -TestStream (Sync True DataLen 100000 ParamLen -1 OLD False AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync True DataLen 500 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync True DataLen 500 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen -1 OLD False AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 0 OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 9000 Error False OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 1000 Error False OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 0 Error False OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False OLD False AVW False) is OK -TestXml2Text (Sync True ParamLen -1 NVARCHAR False OLD False) is OK -TestXml2Text (Sync True ParamLen 1000000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync True ParamLen 9000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync True ParamLen 1000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync True ParamLen 0 NVARCHAR False OLD False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True OLD False AVW False) is OK -TestXml2Text (Sync True ParamLen -1 NVARCHAR True OLD False) is OK -TestXml2Text (Sync True ParamLen 1000000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync True ParamLen 9000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync True ParamLen 1000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync True ParamLen 0 NVARCHAR True OLD False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW False) is OK -TestXml (Sync True LimitLength True ) is OK -TestXml (Sync True LimitLength False ) is OK -TestStream (Sync True DataLen 100000 ParamLen -1 OLD False AVW True) is OK -TestStream (Sync True DataLen 0 ParamLen -1 OLD False AVW True) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD False AVW True) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD False AVW True) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW True) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW True) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW True) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW True) is OK -TestXml (Sync True LimitLength False ) is OK -TestStream (Sync False DataLen 100000 ParamLen -1 OLD False AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync False DataLen 500 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync False DataLen 500 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen -1 OLD False AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 0 OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 9000 Error False OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 1000 Error False OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 0 Error False OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False OLD False AVW False) is OK -TestXml2Text (Sync False ParamLen -1 NVARCHAR False OLD False) is OK -TestXml2Text (Sync False ParamLen 1000000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync False ParamLen 9000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync False ParamLen 1000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync False ParamLen 0 NVARCHAR False OLD False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True OLD False AVW False) is OK -TestXml2Text (Sync False ParamLen -1 NVARCHAR True OLD False) is OK -TestXml2Text (Sync False ParamLen 1000000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync False ParamLen 9000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync False ParamLen 1000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync False ParamLen 0 NVARCHAR True OLD False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW False) is OK -TestXml (Sync False LimitLength True ) is OK -TestXml (Sync False LimitLength False ) is OK -TestStream (Sync False DataLen 100000 ParamLen -1 OLD False AVW True) is OK -TestStream (Sync False DataLen 0 ParamLen -1 OLD False AVW True) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD False AVW True) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD False AVW True) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW True) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW True) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW True) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW True) is OK -TestXml (Sync False LimitLength False ) is OK -TestStream (Sync True DataLen 100000 ParamLen -1 OLD True AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync True DataLen 500 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync True DataLen 500 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen -1 OLD True AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 0 OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 9000 Error False OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 1000 Error False OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 0 Error False OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False OLD True AVW False) is OK -TestXml2Text (Sync True ParamLen -1 NVARCHAR False OLD True) is OK -TestXml2Text (Sync True ParamLen 1000000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync True ParamLen 9000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync True ParamLen 1000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync True ParamLen 0 NVARCHAR False OLD True) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True OLD True AVW False) is OK -TestXml2Text (Sync True ParamLen -1 NVARCHAR True OLD True) is OK -TestXml2Text (Sync True ParamLen 1000000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync True ParamLen 9000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync True ParamLen 1000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync True ParamLen 0 NVARCHAR True OLD True) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD True AVW False) is OK -TestStream (Sync False DataLen 100000 ParamLen -1 OLD True AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync False DataLen 500 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync False DataLen 500 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen -1 OLD True AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 0 OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 9000 Error False OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 1000 Error False OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 0 Error False OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False OLD True AVW False) is OK -TestXml2Text (Sync False ParamLen -1 NVARCHAR False OLD True) is OK -TestXml2Text (Sync False ParamLen 1000000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync False ParamLen 9000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync False ParamLen 1000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync False ParamLen 0 NVARCHAR False OLD True) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True OLD True AVW False) is OK -TestXml2Text (Sync False ParamLen -1 NVARCHAR True OLD True) is OK -TestXml2Text (Sync False ParamLen 1000000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync False ParamLen 9000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync False ParamLen 1000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync False ParamLen 0 NVARCHAR True OLD True) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD True AVW False) is OK -Using stored procedure True -TestStream (Sync True DataLen 100000 ParamLen -1 OLD False AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync True DataLen 500 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync True DataLen 500 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen -1 OLD False AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 0 OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 9000 Error False OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 1000 Error False OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 0 Error False OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False OLD False AVW False) is OK -TestXml2Text (Sync True ParamLen -1 NVARCHAR False OLD False) is OK -TestXml2Text (Sync True ParamLen 1000000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync True ParamLen 9000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync True ParamLen 1000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync True ParamLen 0 NVARCHAR False OLD False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True OLD False AVW False) is OK -TestXml2Text (Sync True ParamLen -1 NVARCHAR True OLD False) is OK -TestXml2Text (Sync True ParamLen 1000000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync True ParamLen 9000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync True ParamLen 1000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync True ParamLen 0 NVARCHAR True OLD False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW False) is OK -TestXml (Sync True LimitLength True ) is OK -TestXml (Sync True LimitLength False ) is OK -TestStream (Sync True DataLen 100000 ParamLen -1 OLD False AVW True) is OK -TestStream (Sync True DataLen 0 ParamLen -1 OLD False AVW True) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD False AVW True) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD False AVW True) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW True) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW True) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW True) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW True) is OK -TestXml (Sync True LimitLength False ) is OK -TestStream (Sync False DataLen 100000 ParamLen -1 OLD False AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync False DataLen 500 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync False DataLen 500 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen -1 OLD False AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 0 OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 9000 Error False OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 1000 Error False OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 0 Error False OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False OLD False AVW False) is OK -TestXml2Text (Sync False ParamLen -1 NVARCHAR False OLD False) is OK -TestXml2Text (Sync False ParamLen 1000000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync False ParamLen 9000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync False ParamLen 1000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync False ParamLen 0 NVARCHAR False OLD False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True OLD False AVW False) is OK -TestXml2Text (Sync False ParamLen -1 NVARCHAR True OLD False) is OK -TestXml2Text (Sync False ParamLen 1000000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync False ParamLen 9000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync False ParamLen 1000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync False ParamLen 0 NVARCHAR True OLD False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW False) is OK -TestXml (Sync False LimitLength True ) is OK -TestXml (Sync False LimitLength False ) is OK -TestStream (Sync False DataLen 100000 ParamLen -1 OLD False AVW True) is OK -TestStream (Sync False DataLen 0 ParamLen -1 OLD False AVW True) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD False AVW True) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD False AVW True) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW True) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW True) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW True) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW True) is OK -TestXml (Sync False LimitLength False ) is OK -TestStream (Sync True DataLen 100000 ParamLen -1 OLD True AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync True DataLen 500 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync True DataLen 500 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen -1 OLD True AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 0 OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 9000 Error False OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 1000 Error False OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 0 Error False OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False OLD True AVW False) is OK -TestXml2Text (Sync True ParamLen -1 NVARCHAR False OLD True) is OK -TestXml2Text (Sync True ParamLen 1000000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync True ParamLen 9000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync True ParamLen 1000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync True ParamLen 0 NVARCHAR False OLD True) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True OLD True AVW False) is OK -TestXml2Text (Sync True ParamLen -1 NVARCHAR True OLD True) is OK -TestXml2Text (Sync True ParamLen 1000000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync True ParamLen 9000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync True ParamLen 1000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync True ParamLen 0 NVARCHAR True OLD True) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD True AVW False) is OK -TestStream (Sync False DataLen 100000 ParamLen -1 OLD True AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync False DataLen 500 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync False DataLen 500 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen -1 OLD True AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 0 OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 9000 Error False OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 1000 Error False OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 0 Error False OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False OLD True AVW False) is OK -TestXml2Text (Sync False ParamLen -1 NVARCHAR False OLD True) is OK -TestXml2Text (Sync False ParamLen 1000000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync False ParamLen 9000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync False ParamLen 1000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync False ParamLen 0 NVARCHAR False OLD True) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True OLD True AVW False) is OK -TestXml2Text (Sync False ParamLen -1 NVARCHAR True OLD True) is OK -TestXml2Text (Sync False ParamLen 1000000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync False ParamLen 9000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync False ParamLen 1000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync False ParamLen 0 NVARCHAR True OLD True) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD True AVW False) is OK -Finished Test using AsyncDebugScope -Test immediate cancel for binary stream -PASS: Task is cancelled -Test immediate cancel for text stream -PASS: Task is cancelled -Test immediate cancel for xml stream -PASS: Task is cancelled -Test command preparation PASS -Test reuse of command after cancel -PASS -Test reuse of command after cancel -PASS -Test reuse of command after cancel -PASS -+++++++ Iteration 0 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 1 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 2 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 3 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 4 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 5 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 6 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 7 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 8 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 9 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 10 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 11 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 12 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 13 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 14 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 15 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 16 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 17 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 18 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 19 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 20 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -Matches = 14 -SqlException. Error Code: 2628 -Matches = 28 -Matches = 14 -SqlException. Error Code: 2628 -Matches = 14 -Matches = 14 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 21 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 22 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 23 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 24 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 25 ++++++++ -------IEnumerable--------- -Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=0, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=1, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=4, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=5, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=8, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=9, Column=5 -Matches = 162 -------DbDataReader--------- -Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=0, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=1, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=4, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=5, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=8, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=9, Column=5 -Matches = 162 -------DataTables--------- -SqlException. Error Code: 242 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 26 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 28 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -Matches = 14 -+++++++ Iteration 27 ++++++++ -------IEnumerable--------- -Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[2]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[10]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[11]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=0, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=1, Column=5 -Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney - Row=1, Column=9 -Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney - Row=2, Column=9 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=4, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=5, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=8, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=9, Column=5 -Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney - Row=10, Column=9 -Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney - Row=11, Column=9 -Matches = 158 -------DbDataReader--------- -Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[2]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[10]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[11]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=0, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=1, Column=5 -Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney - Row=1, Column=9 -Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney - Row=2, Column=9 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=4, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=5, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=8, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=9, Column=5 -Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney - Row=10, Column=9 -Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney - Row=11, Column=9 -Matches = 158 -------DataTables--------- -SqlException. Error Code: 242 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 2628 -SqlException. Error Code: 8115 -------- Sort order + uniqueness #1: simple ------- -------------- -0 Z-value 3/1/2000 12:00:00 AM 5 -1 X-value 1/1/2000 12:00:00 AM 7 - -------------- -------- Sort order + uniqueness #2: mixed order ------- -------------- -4 X-value 1/1/2000 12:00:00 AM 3 -5 X-value 3/1/2000 12:00:00 AM 3 - -------------- -------- default column #1: outer subset ------- -------------- --1 Y-value 1/1/2000 12:00:00 AM -1 --1 Z-value 1/1/2000 12:00:00 AM -1 - -------------- -------- default column #1: middle subset ------- -------------- -4 DEFUALT 1/1/2006 12:00:00 AM 3 -5 DEFUALT 1/1/2006 12:00:00 AM 3 - -------------- -------- default column #1: all ------- -------------- --1 DEFUALT 1/1/2006 12:00:00 AM -1 --1 DEFUALT 1/1/2006 12:00:00 AM -1 - -------------- - -Starting test 'SqlVariantParam' -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlSingle:real -SendVariantParam -> System.Data.SqlTypes.SqlSingle:real -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlSingle:real -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlSingle:real -SendVariantParam -> System.Data.SqlTypes.SqlSingle:real -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlSingle:real -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantParam -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDouble:float -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDouble:float -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDouble:float -SendVariantParam -> System.Data.SqlTypes.SqlDouble:float -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDouble:float -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDouble:float -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantParam -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantParam -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantParam -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantParam -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantParam -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantParam -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt32:int -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt32:int -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt32:int -SendVariantParam -> System.Data.SqlTypes.SqlInt32:int -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt32:int -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt32:int -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantParam -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantParam -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantParam -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric - --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal - --> ERROR: Expected base type money does not match actual base type numeric -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDecimal:numeric - --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal - --> ERROR: Expected base type money does not match actual base type numeric -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDecimal:numeric - --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal - --> ERROR: Expected base type money does not match actual base type numeric -SendVariantParam -> System.Data.SqlTypes.SqlMoney:money -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlMoney:money -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlMoney:money -End test 'SqlVariantParam' ------------------------------ TestSimpleParameter_Type [type: date value:1/1/0001 00:00:00] ------------------------------ Type => Expected : Actual == System.DateTime : System.DateTime @@ -2229,6 +1156,3 @@ Base Type => Expected : Actual == time : datetime Value => Expected : Actual == 3155378975999999999 : 3155378975999970000 SqlBulkCopy From Data Row [Variant Type]>>> ERROR: VARIANT BASE TYPE MISMATCH!!! [Actual = datetime] [Expected = time] SqlBulkCopy From Data Row [Variant Type]>>> ERROR: VALUE MISMATCH!!! [Actual = 12/31/9999 11:59:59 PM] [Expected = 12/31/9999 11:59:59 PM] -Starting 'OutputParameter' tests -Test setting output SqlParameter to an invalid value -Done diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SqlParameterTest_DebugMode_Azure.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/DateTimeVariant_ReleaseMode_Azure.bsl similarity index 58% rename from src/Microsoft.Data.SqlClient/tests/ManualTests/SqlParameterTest_DebugMode_Azure.bsl rename to src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/DateTimeVariant_ReleaseMode_Azure.bsl index 47929daf5c..aa19a20d9a 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SqlParameterTest_DebugMode_Azure.bsl +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/DateTimeVariant_ReleaseMode_Azure.bsl @@ -1,1076 +1,3 @@ -Starting test 'TvpTest' -Starting Test using AsyncDebugScope -Using stored procedure False -TestStream (Sync True DataLen 100000 ParamLen -1 OLD False AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync True DataLen 500 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync True DataLen 500 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen -1 OLD False AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 0 OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 9000 Error False OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 1000 Error False OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 0 Error False OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False OLD False AVW False) is OK -TestXml2Text (Sync True ParamLen -1 NVARCHAR False OLD False) is OK -TestXml2Text (Sync True ParamLen 1000000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync True ParamLen 9000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync True ParamLen 1000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync True ParamLen 0 NVARCHAR False OLD False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True OLD False AVW False) is OK -TestXml2Text (Sync True ParamLen -1 NVARCHAR True OLD False) is OK -TestXml2Text (Sync True ParamLen 1000000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync True ParamLen 9000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync True ParamLen 1000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync True ParamLen 0 NVARCHAR True OLD False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW False) is OK -TestXml (Sync True LimitLength True ) is OK -TestXml (Sync True LimitLength False ) is OK -TestStream (Sync True DataLen 100000 ParamLen -1 OLD False AVW True) is OK -TestStream (Sync True DataLen 0 ParamLen -1 OLD False AVW True) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD False AVW True) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD False AVW True) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW True) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW True) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW True) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW True) is OK -TestXml (Sync True LimitLength False ) is OK -TestStream (Sync False DataLen 100000 ParamLen -1 OLD False AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync False DataLen 500 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync False DataLen 500 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen -1 OLD False AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 0 OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 9000 Error False OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 1000 Error False OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 0 Error False OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False OLD False AVW False) is OK -TestXml2Text (Sync False ParamLen -1 NVARCHAR False OLD False) is OK -TestXml2Text (Sync False ParamLen 1000000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync False ParamLen 9000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync False ParamLen 1000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync False ParamLen 0 NVARCHAR False OLD False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True OLD False AVW False) is OK -TestXml2Text (Sync False ParamLen -1 NVARCHAR True OLD False) is OK -TestXml2Text (Sync False ParamLen 1000000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync False ParamLen 9000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync False ParamLen 1000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync False ParamLen 0 NVARCHAR True OLD False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW False) is OK -TestXml (Sync False LimitLength True ) is OK -TestXml (Sync False LimitLength False ) is OK -TestStream (Sync False DataLen 100000 ParamLen -1 OLD False AVW True) is OK -TestStream (Sync False DataLen 0 ParamLen -1 OLD False AVW True) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD False AVW True) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD False AVW True) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW True) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW True) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW True) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW True) is OK -TestXml (Sync False LimitLength False ) is OK -TestStream (Sync True DataLen 100000 ParamLen -1 OLD True AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync True DataLen 500 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync True DataLen 500 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen -1 OLD True AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 0 OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 9000 Error False OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 1000 Error False OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 0 Error False OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False OLD True AVW False) is OK -TestXml2Text (Sync True ParamLen -1 NVARCHAR False OLD True) is OK -TestXml2Text (Sync True ParamLen 1000000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync True ParamLen 9000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync True ParamLen 1000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync True ParamLen 0 NVARCHAR False OLD True) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True OLD True AVW False) is OK -TestXml2Text (Sync True ParamLen -1 NVARCHAR True OLD True) is OK -TestXml2Text (Sync True ParamLen 1000000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync True ParamLen 9000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync True ParamLen 1000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync True ParamLen 0 NVARCHAR True OLD True) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD True AVW False) is OK -TestStream (Sync False DataLen 100000 ParamLen -1 OLD True AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync False DataLen 500 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync False DataLen 500 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen -1 OLD True AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 0 OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 9000 Error False OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 1000 Error False OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 0 Error False OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False OLD True AVW False) is OK -TestXml2Text (Sync False ParamLen -1 NVARCHAR False OLD True) is OK -TestXml2Text (Sync False ParamLen 1000000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync False ParamLen 9000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync False ParamLen 1000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync False ParamLen 0 NVARCHAR False OLD True) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True OLD True AVW False) is OK -TestXml2Text (Sync False ParamLen -1 NVARCHAR True OLD True) is OK -TestXml2Text (Sync False ParamLen 1000000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync False ParamLen 9000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync False ParamLen 1000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync False ParamLen 0 NVARCHAR True OLD True) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD True AVW False) is OK -Using stored procedure True -TestStream (Sync True DataLen 100000 ParamLen -1 OLD False AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync True DataLen 500 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync True DataLen 500 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen -1 OLD False AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 0 OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 9000 Error False OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 1000 Error False OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 0 Error False OLD False AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False OLD False AVW False) is OK -TestXml2Text (Sync True ParamLen -1 NVARCHAR False OLD False) is OK -TestXml2Text (Sync True ParamLen 1000000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync True ParamLen 9000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync True ParamLen 1000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync True ParamLen 0 NVARCHAR False OLD False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True OLD False AVW False) is OK -TestXml2Text (Sync True ParamLen -1 NVARCHAR True OLD False) is OK -TestXml2Text (Sync True ParamLen 1000000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync True ParamLen 9000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync True ParamLen 1000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync True ParamLen 0 NVARCHAR True OLD False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW False) is OK -TestXml (Sync True LimitLength True ) is OK -TestXml (Sync True LimitLength False ) is OK -TestStream (Sync True DataLen 100000 ParamLen -1 OLD False AVW True) is OK -TestStream (Sync True DataLen 0 ParamLen -1 OLD False AVW True) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD False AVW True) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD False AVW True) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW True) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW True) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW True) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW True) is OK -TestXml (Sync True LimitLength False ) is OK -TestStream (Sync False DataLen 100000 ParamLen -1 OLD False AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync False DataLen 500 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync False DataLen 500 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen -1 OLD False AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen 9000 OLD False AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen 1000 OLD False AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 0 OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 9000 Error False OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 1000 Error False OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 0 Error False OLD False AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False OLD False AVW False) is OK -TestXml2Text (Sync False ParamLen -1 NVARCHAR False OLD False) is OK -TestXml2Text (Sync False ParamLen 1000000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync False ParamLen 9000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync False ParamLen 1000 NVARCHAR False OLD False) is OK -TestXml2Text (Sync False ParamLen 0 NVARCHAR False OLD False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True OLD False AVW False) is OK -TestXml2Text (Sync False ParamLen -1 NVARCHAR True OLD False) is OK -TestXml2Text (Sync False ParamLen 1000000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync False ParamLen 9000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync False ParamLen 1000 NVARCHAR True OLD False) is OK -TestXml2Text (Sync False ParamLen 0 NVARCHAR True OLD False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD False AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW False) is OK -TestXml (Sync False LimitLength True ) is OK -TestXml (Sync False LimitLength False ) is OK -TestStream (Sync False DataLen 100000 ParamLen -1 OLD False AVW True) is OK -TestStream (Sync False DataLen 0 ParamLen -1 OLD False AVW True) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD False AVW True) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD False AVW True) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW True) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW True) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW True) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW True) is OK -TestXml (Sync False LimitLength False ) is OK -TestStream (Sync True DataLen 100000 ParamLen -1 OLD True AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync True DataLen 500 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync True DataLen 500 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen -1 OLD True AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync True DataLen 0 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync True DataLen 10000 ParamLen 0 OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 9000 Error False OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 1000 Error False OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen 0 Error False OLD True AVW False) is OK -TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False OLD True AVW False) is OK -TestXml2Text (Sync True ParamLen -1 NVARCHAR False OLD True) is OK -TestXml2Text (Sync True ParamLen 1000000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync True ParamLen 9000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync True ParamLen 1000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync True ParamLen 0 NVARCHAR False OLD True) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True OLD True AVW False) is OK -TestXml2Text (Sync True ParamLen -1 NVARCHAR True OLD True) is OK -TestXml2Text (Sync True ParamLen 1000000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync True ParamLen 9000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync True ParamLen 1000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync True ParamLen 0 NVARCHAR True OLD True) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD True AVW False) is OK -TestStream (Sync False DataLen 100000 ParamLen -1 OLD True AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync False DataLen 500 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync False DataLen 500 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen -1 OLD True AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen 9000 OLD True AVW False) is OK -TestStream (Sync False DataLen 0 ParamLen 1000 OLD True AVW False) is OK -TestStream (Sync False DataLen 10000 ParamLen 0 OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 9000 Error False OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 1000 Error False OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen 0 Error False OLD True AVW False) is OK -TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False OLD True AVW False) is OK -TestXml2Text (Sync False ParamLen -1 NVARCHAR False OLD True) is OK -TestXml2Text (Sync False ParamLen 1000000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync False ParamLen 9000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync False ParamLen 1000 NVARCHAR False OLD True) is OK -TestXml2Text (Sync False ParamLen 0 NVARCHAR False OLD True) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK -TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True OLD True AVW False) is OK -TestXml2Text (Sync False ParamLen -1 NVARCHAR True OLD True) is OK -TestXml2Text (Sync False ParamLen 1000000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync False ParamLen 9000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync False ParamLen 1000 NVARCHAR True OLD True) is OK -TestXml2Text (Sync False ParamLen 0 NVARCHAR True OLD True) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD True AVW False) is OK -TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD True AVW False) is OK -Finished Test using AsyncDebugScope -Test immediate cancel for binary stream -PASS: Task is cancelled -Test immediate cancel for text stream -PASS: Task is cancelled -Test immediate cancel for xml stream -PASS: Task is cancelled -Test command preparation PASS -Test reuse of command after cancel -PASS -Test reuse of command after cancel -PASS -Test reuse of command after cancel -PASS -+++++++ Iteration 0 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 1 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 2 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 3 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 4 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 5 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 6 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 7 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 8 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 9 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 10 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 11 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 12 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 13 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 14 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 15 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 16 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 17 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 18 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 19 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 20 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -Matches = 14 -SqlException. Error Code: 8152 -Matches = 28 -Matches = 14 -SqlException. Error Code: 8152 -Matches = 14 -Matches = 14 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 21 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 22 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 23 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 24 ++++++++ -SqlException creating objects: 1701 -SqlException dropping objects: 3701 -+++++++ Iteration 25 ++++++++ -------IEnumerable--------- -Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=0, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=1, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=4, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=5, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=8, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=9, Column=5 -Matches = 162 -------DbDataReader--------- -Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=0, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=1, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=4, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=5, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=8, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=9, Column=5 -Matches = 162 -------DataTables--------- -SqlException. Error Code: 242 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 26 ++++++++ -------IEnumerable--------- -Matches = 168 -------DbDataReader--------- -Matches = 168 -------DataTables--------- -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 28 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -Matches = 14 -+++++++ Iteration 27 ++++++++ -------IEnumerable--------- -Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[2]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[10]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[11]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=0, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=1, Column=5 -Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney - Row=1, Column=9 -Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney - Row=2, Column=9 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=4, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=5, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=8, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=9, Column=5 -Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney - Row=10, Column=9 -Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney - Row=11, Column=9 -Matches = 158 -------DbDataReader--------- -Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[1]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[2]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. -Failed Row[10]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. -Failed Row[11]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=0, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=1, Column=5 -Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney - Row=1, Column=9 -Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney - Row=2, Column=9 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=4, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=5, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=8, Column=5 -Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime - Row=9, Column=5 -Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney - Row=10, Column=9 -Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney - Row=11, Column=9 -Matches = 158 -------DataTables--------- -SqlException. Error Code: 242 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8152 -SqlException. Error Code: 8115 -------- Sort order + uniqueness #1: simple ------- -------------- -0 Z-value 3/1/2000 12:00:00 AM 5 -1 X-value 1/1/2000 12:00:00 AM 7 - -------------- -------- Sort order + uniqueness #2: mixed order ------- -------------- -4 X-value 1/1/2000 12:00:00 AM 3 -5 X-value 3/1/2000 12:00:00 AM 3 - -------------- -------- default column #1: outer subset ------- -------------- --1 Y-value 1/1/2000 12:00:00 AM -1 --1 Z-value 1/1/2000 12:00:00 AM -1 - -------------- -------- default column #1: middle subset ------- -------------- -4 DEFUALT 1/1/2006 12:00:00 AM 3 -5 DEFUALT 1/1/2006 12:00:00 AM 3 - -------------- -------- default column #1: all ------- -------------- --1 DEFUALT 1/1/2006 12:00:00 AM -1 --1 DEFUALT 1/1/2006 12:00:00 AM -1 - -------------- - -Starting test 'SqlVariantParam' -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlSingle:real -SendVariantParam -> System.Data.SqlTypes.SqlSingle:real -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlSingle:real -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlSingle:real -SendVariantParam -> System.Data.SqlTypes.SqlSingle:real -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlSingle:real -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantParam -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlString:nvarchar -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDouble:float -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDouble:float -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDouble:float -SendVariantParam -> System.Data.SqlTypes.SqlDouble:float -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDouble:float -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDouble:float -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantParam -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBinary:varbinary -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantParam -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantParam -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantParam -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantParam -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlByte:tinyint -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantParam -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt16:smallint -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt32:int -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt32:int -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt32:int -SendVariantParam -> System.Data.SqlTypes.SqlInt32:int -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt32:int -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt32:int -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantParam -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt64:bigint -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantParam -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantParam -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDateTime:datetime -SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric - --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal - --> ERROR: Expected base type money does not match actual base type numeric -SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDecimal:numeric - --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal - --> ERROR: Expected base type money does not match actual base type numeric -SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDecimal:numeric - --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal - --> ERROR: Expected base type money does not match actual base type numeric -SendVariantParam -> System.Data.SqlTypes.SqlMoney:money -SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlMoney:money -SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlMoney:money -End test 'SqlVariantParam' ------------------------------ TestSimpleParameter_Type [type: date value:1/1/0001 00:00:00] ------------------------------ Type => Expected : Actual == System.DateTime : System.DateTime @@ -2229,6 +1156,3 @@ Base Type => Expected : Actual == time : datetime Value => Expected : Actual == 3155378975999999999 : 3155378975999970000 SqlBulkCopy From Data Row [Variant Type]>>> ERROR: VARIANT BASE TYPE MISMATCH!!! [Actual = datetime] [Expected = time] SqlBulkCopy From Data Row [Variant Type]>>> ERROR: VALUE MISMATCH!!! [Actual = 12/31/9999 11:59:59 PM] [Expected = 12/31/9999 11:59:59 PM] -Starting 'OutputParameter' tests -Test setting output SqlParameter to an invalid value -Done diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameterTests.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameterTests.cs new file mode 100644 index 0000000000..7719ed2c01 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameterTests.cs @@ -0,0 +1,146 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Globalization; +using System.IO; +using System.Text; +using System.Threading; +using Xunit; + +namespace Microsoft.Data.SqlClient.ManualTesting.Tests +{ + /// + /// Tests for output parameters. + /// These tests run independently with their own baseline comparison. + /// + [Collection("ParameterBaselineTests")] + public class OutputParameterTests + { + private readonly string _connStr; + + public OutputParameterTests() + { + _connStr = DataTestUtility.TCPConnectionString; + } + + [Trait("Category", "flaky")] + [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] + public void OutputParameterTest() + { + Assert.True(RunTestAndCompareWithBaseline()); + } + + private bool RunTestAndCompareWithBaseline() + { + CultureInfo previousCulture = Thread.CurrentThread.CurrentCulture; + Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); + try + { + string outputPath = "OutputParameter.out"; + string baselinePath; +#if DEBUG + if (DataTestUtility.IsNotAzureServer() || DataTestUtility.IsManagedInstance) + { + baselinePath = "OutputParameter_DebugMode.bsl"; + } + else + { + baselinePath = "OutputParameter_DebugMode_Azure.bsl"; + } +#else + if (DataTestUtility.IsNotAzureServer() || DataTestUtility.IsManagedInstance) + { + baselinePath = "OutputParameter_ReleaseMode.bsl"; + } + else + { + baselinePath = "OutputParameter_ReleaseMode_Azure.bsl"; + } +#endif + + var fstream = new FileStream(outputPath, FileMode.Create, FileAccess.Write, FileShare.Read); + var swriter = new StreamWriter(fstream, Encoding.UTF8); + var twriter = new TvpTest.CarriageReturnLineFeedReplacer(swriter); + Console.SetOut(twriter); + + // Run Test + OutputParameter.Run(_connStr); + + Console.Out.Flush(); + Console.Out.Dispose(); + + // Recover the standard output stream + StreamWriter standardOutput = new(Console.OpenStandardOutput()); + standardOutput.AutoFlush = true; + Console.SetOut(standardOutput); + + // Compare output file + var comparisonResult = FindDiffFromBaseline(baselinePath, outputPath); + + if (string.IsNullOrEmpty(comparisonResult)) + { + return true; + } + + Console.WriteLine("OutputParameterTest Failed!"); + Console.WriteLine("Please compare baseline: {0} with output: {1}", Path.GetFullPath(baselinePath), Path.GetFullPath(outputPath)); + Console.WriteLine("Comparison Results:"); + Console.WriteLine(comparisonResult); + return false; + } + finally + { + Thread.CurrentThread.CurrentCulture = previousCulture; + } + } + + private static string FindDiffFromBaseline(string baselinePath, string outputPath) + { + var expectedLines = File.ReadAllLines(baselinePath); + var outputLines = File.ReadAllLines(outputPath); + + var comparisonSb = new StringBuilder(); + + var expectedLength = expectedLines.Length; + var outputLength = outputLines.Length; + var findDiffLength = Math.Min(expectedLength, outputLength); + + for (var lineNo = 0; lineNo < findDiffLength; lineNo++) + { + if (!expectedLines[lineNo].Equals(outputLines[lineNo])) + { + comparisonSb.AppendFormat("** DIFF at line {0} \n", lineNo); + comparisonSb.AppendFormat("A : {0} \n", outputLines[lineNo]); + comparisonSb.AppendFormat("E : {0} \n", expectedLines[lineNo]); + } + } + + var startIndex = findDiffLength - 1; + if (startIndex < 0) + { + startIndex = 0; + } + + if (findDiffLength < expectedLength) + { + comparisonSb.AppendFormat("** MISSING \n"); + for (var lineNo = startIndex; lineNo < expectedLength; lineNo++) + { + comparisonSb.AppendFormat("{0} : {1}", lineNo, expectedLines[lineNo]); + } + } + if (findDiffLength < outputLength) + { + comparisonSb.AppendFormat("** EXTRA \n"); + for (var lineNo = startIndex; lineNo < outputLength; lineNo++) + { + comparisonSb.AppendFormat("{0} : {1}", lineNo, outputLines[lineNo]); + } + } + + return comparisonSb.ToString(); + } + } +} diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameter_DebugMode.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameter_DebugMode.bsl new file mode 100644 index 0000000000..14ce4d701d --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameter_DebugMode.bsl @@ -0,0 +1,3 @@ +Starting 'OutputParameter' tests +Test setting output SqlParameter to an invalid value +Done diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameter_DebugMode_Azure.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameter_DebugMode_Azure.bsl new file mode 100644 index 0000000000..14ce4d701d --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameter_DebugMode_Azure.bsl @@ -0,0 +1,3 @@ +Starting 'OutputParameter' tests +Test setting output SqlParameter to an invalid value +Done diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameter_ReleaseMode.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameter_ReleaseMode.bsl new file mode 100644 index 0000000000..14ce4d701d --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameter_ReleaseMode.bsl @@ -0,0 +1,3 @@ +Starting 'OutputParameter' tests +Test setting output SqlParameter to an invalid value +Done diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameter_ReleaseMode_Azure.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameter_ReleaseMode_Azure.bsl new file mode 100644 index 0000000000..14ce4d701d --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameter_ReleaseMode_Azure.bsl @@ -0,0 +1,3 @@ +Starting 'OutputParameter' tests +Test setting output SqlParameter to an invalid value +Done diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/ParametersTest.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/ParametersTest.cs index 4574f81a93..67c9d0aa2b 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/ParametersTest.cs +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/ParametersTest.cs @@ -258,6 +258,7 @@ public static void Test_WithGuidValue_ShouldReturnGuid() } // Synapse: Parse error at line: 1, column: 8: Incorrect syntax near 'TYPE'. + [Trait("Category", "flaky")] [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] public static void TestParametersWithDatatablesTVPInsert() { @@ -326,6 +327,7 @@ public static void TestParametersWithDatatablesTVPInsert() #if !NETFRAMEWORK // Synapse: Parse error at line: 1, column: 8: Incorrect syntax near 'TYPE'. + [Trait("Category", "flaky")] [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] public static void TestParametersWithSqlRecordsTVPInsert() { @@ -409,6 +411,7 @@ @newRoads as {typeName} READONLY } } + [Trait("Category", "flaky")] [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] public static void TestDateOnlyTVPDataTable_CommandSP() { @@ -457,6 +460,7 @@ public static void TestDateOnlyTVPDataTable_CommandSP() } } + [Trait("Category", "flaky")] [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] public static void TestDateOnlyTVPSqlDataRecord_CommandSP() { @@ -648,6 +652,7 @@ public static void TestScaledDecimalParameter_BulkCopy(string connectionString, } // Synapse: Parse error at line: 2, column: 8: Incorrect syntax near 'TYPE'. + [Trait("Category", "flaky")] [ConditionalTheory(typeof(DataTestUtility), nameof(DataTestUtility.IsNotAzureSynapse))] [ClassData(typeof(ConnectionStringsProvider))] public static void TestScaledDecimalTVP_CommandSP(string connectionString, bool truncateScaledDecimal) diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlVariantParameterTests.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlVariantParameterTests.cs new file mode 100644 index 0000000000..f7002f559a --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlVariantParameterTests.cs @@ -0,0 +1,146 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Globalization; +using System.IO; +using System.Text; +using System.Threading; +using Xunit; + +namespace Microsoft.Data.SqlClient.ManualTesting.Tests +{ + /// + /// Tests for SQL Variant parameters. + /// These tests run independently with their own baseline comparison. + /// + [Collection("ParameterBaselineTests")] + public class SqlVariantParameterTests + { + private readonly string _connStr; + + public SqlVariantParameterTests() + { + _connStr = DataTestUtility.TCPConnectionString; + } + + [Trait("Category", "flaky")] + [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] + public void SqlVariantParameterTest() + { + Assert.True(RunTestAndCompareWithBaseline()); + } + + private bool RunTestAndCompareWithBaseline() + { + CultureInfo previousCulture = Thread.CurrentThread.CurrentCulture; + Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); + try + { + string outputPath = "SqlVariantParameter.out"; + string baselinePath; +#if DEBUG + if (DataTestUtility.IsNotAzureServer() || DataTestUtility.IsManagedInstance) + { + baselinePath = "SqlVariantParameter_DebugMode.bsl"; + } + else + { + baselinePath = "SqlVariantParameter_DebugMode_Azure.bsl"; + } +#else + if (DataTestUtility.IsNotAzureServer() || DataTestUtility.IsManagedInstance) + { + baselinePath = "SqlVariantParameter_ReleaseMode.bsl"; + } + else + { + baselinePath = "SqlVariantParameter_ReleaseMode_Azure.bsl"; + } +#endif + + var fstream = new FileStream(outputPath, FileMode.Create, FileAccess.Write, FileShare.Read); + var swriter = new StreamWriter(fstream, Encoding.UTF8); + var twriter = new TvpTest.CarriageReturnLineFeedReplacer(swriter); + Console.SetOut(twriter); + + // Run Test + SqlVariantParam.SendAllSqlTypesInsideVariant(_connStr); + + Console.Out.Flush(); + Console.Out.Dispose(); + + // Recover the standard output stream + StreamWriter standardOutput = new(Console.OpenStandardOutput()); + standardOutput.AutoFlush = true; + Console.SetOut(standardOutput); + + // Compare output file + var comparisonResult = FindDiffFromBaseline(baselinePath, outputPath); + + if (string.IsNullOrEmpty(comparisonResult)) + { + return true; + } + + Console.WriteLine("SqlVariantParameterTest Failed!"); + Console.WriteLine("Please compare baseline: {0} with output: {1}", Path.GetFullPath(baselinePath), Path.GetFullPath(outputPath)); + Console.WriteLine("Comparison Results:"); + Console.WriteLine(comparisonResult); + return false; + } + finally + { + Thread.CurrentThread.CurrentCulture = previousCulture; + } + } + + private static string FindDiffFromBaseline(string baselinePath, string outputPath) + { + var expectedLines = File.ReadAllLines(baselinePath); + var outputLines = File.ReadAllLines(outputPath); + + var comparisonSb = new StringBuilder(); + + var expectedLength = expectedLines.Length; + var outputLength = outputLines.Length; + var findDiffLength = Math.Min(expectedLength, outputLength); + + for (var lineNo = 0; lineNo < findDiffLength; lineNo++) + { + if (!expectedLines[lineNo].Equals(outputLines[lineNo])) + { + comparisonSb.AppendFormat("** DIFF at line {0} \n", lineNo); + comparisonSb.AppendFormat("A : {0} \n", outputLines[lineNo]); + comparisonSb.AppendFormat("E : {0} \n", expectedLines[lineNo]); + } + } + + var startIndex = findDiffLength - 1; + if (startIndex < 0) + { + startIndex = 0; + } + + if (findDiffLength < expectedLength) + { + comparisonSb.AppendFormat("** MISSING \n"); + for (var lineNo = startIndex; lineNo < expectedLength; lineNo++) + { + comparisonSb.AppendFormat("{0} : {1}", lineNo, expectedLines[lineNo]); + } + } + if (findDiffLength < outputLength) + { + comparisonSb.AppendFormat("** EXTRA \n"); + for (var lineNo = startIndex; lineNo < outputLength; lineNo++) + { + comparisonSb.AppendFormat("{0} : {1}", lineNo, outputLines[lineNo]); + } + } + + return comparisonSb.ToString(); + } + } +} diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlVariantParameter_DebugMode.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlVariantParameter_DebugMode.bsl new file mode 100644 index 0000000000..1b8f54d980 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlVariantParameter_DebugMode.bsl @@ -0,0 +1,99 @@ + +Starting test 'SqlVariantParam' +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlSingle:real +SendVariantParam -> System.Data.SqlTypes.SqlSingle:real +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlSingle:real +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlSingle:real +SendVariantParam -> System.Data.SqlTypes.SqlSingle:real +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlSingle:real +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantParam -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDouble:float +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDouble:float +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDouble:float +SendVariantParam -> System.Data.SqlTypes.SqlDouble:float +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDouble:float +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDouble:float +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantParam -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantParam -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantParam -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantParam -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantParam -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantParam -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt32:int +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt32:int +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt32:int +SendVariantParam -> System.Data.SqlTypes.SqlInt32:int +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt32:int +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt32:int +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantParam -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantParam -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantParam -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric + --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal + --> ERROR: Expected base type money does not match actual base type numeric +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDecimal:numeric + --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal + --> ERROR: Expected base type money does not match actual base type numeric +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDecimal:numeric + --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal + --> ERROR: Expected base type money does not match actual base type numeric +SendVariantParam -> System.Data.SqlTypes.SqlMoney:money +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlMoney:money +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlMoney:money +End test 'SqlVariantParam' diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlVariantParameter_DebugMode_Azure.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlVariantParameter_DebugMode_Azure.bsl new file mode 100644 index 0000000000..1b8f54d980 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlVariantParameter_DebugMode_Azure.bsl @@ -0,0 +1,99 @@ + +Starting test 'SqlVariantParam' +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlSingle:real +SendVariantParam -> System.Data.SqlTypes.SqlSingle:real +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlSingle:real +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlSingle:real +SendVariantParam -> System.Data.SqlTypes.SqlSingle:real +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlSingle:real +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantParam -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDouble:float +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDouble:float +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDouble:float +SendVariantParam -> System.Data.SqlTypes.SqlDouble:float +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDouble:float +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDouble:float +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantParam -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantParam -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantParam -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantParam -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantParam -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantParam -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt32:int +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt32:int +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt32:int +SendVariantParam -> System.Data.SqlTypes.SqlInt32:int +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt32:int +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt32:int +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantParam -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantParam -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantParam -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric + --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal + --> ERROR: Expected base type money does not match actual base type numeric +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDecimal:numeric + --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal + --> ERROR: Expected base type money does not match actual base type numeric +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDecimal:numeric + --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal + --> ERROR: Expected base type money does not match actual base type numeric +SendVariantParam -> System.Data.SqlTypes.SqlMoney:money +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlMoney:money +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlMoney:money +End test 'SqlVariantParam' diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlVariantParameter_ReleaseMode.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlVariantParameter_ReleaseMode.bsl new file mode 100644 index 0000000000..1b8f54d980 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlVariantParameter_ReleaseMode.bsl @@ -0,0 +1,99 @@ + +Starting test 'SqlVariantParam' +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlSingle:real +SendVariantParam -> System.Data.SqlTypes.SqlSingle:real +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlSingle:real +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlSingle:real +SendVariantParam -> System.Data.SqlTypes.SqlSingle:real +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlSingle:real +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantParam -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDouble:float +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDouble:float +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDouble:float +SendVariantParam -> System.Data.SqlTypes.SqlDouble:float +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDouble:float +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDouble:float +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantParam -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantParam -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantParam -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantParam -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantParam -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantParam -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt32:int +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt32:int +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt32:int +SendVariantParam -> System.Data.SqlTypes.SqlInt32:int +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt32:int +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt32:int +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantParam -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantParam -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantParam -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric + --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal + --> ERROR: Expected base type money does not match actual base type numeric +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDecimal:numeric + --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal + --> ERROR: Expected base type money does not match actual base type numeric +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDecimal:numeric + --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal + --> ERROR: Expected base type money does not match actual base type numeric +SendVariantParam -> System.Data.SqlTypes.SqlMoney:money +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlMoney:money +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlMoney:money +End test 'SqlVariantParam' diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlVariantParameter_ReleaseMode_Azure.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlVariantParameter_ReleaseMode_Azure.bsl new file mode 100644 index 0000000000..1b8f54d980 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/SqlVariantParameter_ReleaseMode_Azure.bsl @@ -0,0 +1,99 @@ + +Starting test 'SqlVariantParam' +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlSingle:real +SendVariantParam -> System.Data.SqlTypes.SqlSingle:real +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlSingle:real +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlSingle:real +SendVariantParam -> System.Data.SqlTypes.SqlSingle:real +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlSingle:real +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlSingle:real +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantParam -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlString:nvarchar +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDouble:float +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDouble:float +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDouble:float +SendVariantParam -> System.Data.SqlTypes.SqlDouble:float +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDouble:float +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDouble:float +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantParam -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBinary:varbinary +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantParam -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlGuid:uniqueidentifier +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantParam -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantParam -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlBoolean:bit +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantParam -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlByte:tinyint +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantParam -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt16:smallint +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt32:int +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt32:int +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt32:int +SendVariantParam -> System.Data.SqlTypes.SqlInt32:int +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt32:int +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt32:int +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantParam -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlInt64:bigint +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantParam -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantParam -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlDateTime:datetime +SendVariantBulkCopy[SqlDataReader] -> System.Data.SqlTypes.SqlDecimal:numeric + --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal + --> ERROR: Expected base type money does not match actual base type numeric +SendVariantBulkCopy[DataTable] -> System.Data.SqlTypes.SqlDecimal:numeric + --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal + --> ERROR: Expected base type money does not match actual base type numeric +SendVariantBulkCopy[DataRow] -> System.Data.SqlTypes.SqlDecimal:numeric + --> ERROR: Expected type System.Data.SqlTypes.SqlMoney does not match actual type System.Data.SqlTypes.SqlDecimal + --> ERROR: Expected base type money does not match actual base type numeric +SendVariantParam -> System.Data.SqlTypes.SqlMoney:money +SendVariantTvp[SqlMetaData] -> System.Data.SqlTypes.SqlMoney:money +SendVariantTvp[SqlDataReader] -> System.Data.SqlTypes.SqlMoney:money +End test 'SqlVariantParam' diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/StreamInputParameterTests.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/StreamInputParameterTests.cs new file mode 100644 index 0000000000..4d69360e68 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/StreamInputParameterTests.cs @@ -0,0 +1,149 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Globalization; +using System.IO; +using System.Text; +using System.Threading; +using Xunit; + +namespace Microsoft.Data.SqlClient.ManualTesting.Tests +{ + /// + /// Tests for stream input parameters (binary streams, text readers, XML). + /// These tests run independently with their own baseline comparison. + /// + [Collection("ParameterBaselineTests")] + public class StreamInputParameterTests + { + private readonly string _connStr; + + public StreamInputParameterTests() + { + _connStr = DataTestUtility.TCPConnectionString; + } + + [Trait("Category", "flaky")] + [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] + public void StreamInputParameterTest() + { + Assert.True(RunTestAndCompareWithBaseline()); + } + + private bool RunTestAndCompareWithBaseline() + { + CultureInfo previousCulture = Thread.CurrentThread.CurrentCulture; + Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); + try + { + string outputPath = "StreamInputParameter.out"; + string baselinePath; +#if DEBUG + if (DataTestUtility.IsNotAzureServer() || DataTestUtility.IsManagedInstance) + { + baselinePath = "StreamInputParameter_DebugMode.bsl"; + } + else + { + baselinePath = "StreamInputParameter_DebugMode_Azure.bsl"; + } +#else + if (DataTestUtility.IsNotAzureServer() || DataTestUtility.IsManagedInstance) + { + baselinePath = "StreamInputParameter_ReleaseMode.bsl"; + } + else + { + baselinePath = "StreamInputParameter_ReleaseMode_Azure.bsl"; + } +#endif + + var fstream = new FileStream(outputPath, FileMode.Create, FileAccess.Write, FileShare.Read); + var swriter = new StreamWriter(fstream, Encoding.UTF8); + var twriter = new TvpTest.CarriageReturnLineFeedReplacer(swriter); + Console.SetOut(twriter); + + // Print header to match baseline (original RunTest() printed this) + Console.WriteLine("Starting test 'TvpTest'"); + + // Run Test + StreamInputParam.Run(_connStr); + + Console.Out.Flush(); + Console.Out.Dispose(); + + // Recover the standard output stream + StreamWriter standardOutput = new(Console.OpenStandardOutput()); + standardOutput.AutoFlush = true; + Console.SetOut(standardOutput); + + // Compare output file + var comparisonResult = FindDiffFromBaseline(baselinePath, outputPath); + + if (string.IsNullOrEmpty(comparisonResult)) + { + return true; + } + + Console.WriteLine("StreamInputParameterTest Failed!"); + Console.WriteLine("Please compare baseline: {0} with output: {1}", Path.GetFullPath(baselinePath), Path.GetFullPath(outputPath)); + Console.WriteLine("Comparison Results:"); + Console.WriteLine(comparisonResult); + return false; + } + finally + { + Thread.CurrentThread.CurrentCulture = previousCulture; + } + } + + private static string FindDiffFromBaseline(string baselinePath, string outputPath) + { + var expectedLines = File.ReadAllLines(baselinePath); + var outputLines = File.ReadAllLines(outputPath); + + var comparisonSb = new StringBuilder(); + + var expectedLength = expectedLines.Length; + var outputLength = outputLines.Length; + var findDiffLength = Math.Min(expectedLength, outputLength); + + for (var lineNo = 0; lineNo < findDiffLength; lineNo++) + { + if (!expectedLines[lineNo].Equals(outputLines[lineNo])) + { + comparisonSb.AppendFormat("** DIFF at line {0} \n", lineNo); + comparisonSb.AppendFormat("A : {0} \n", outputLines[lineNo]); + comparisonSb.AppendFormat("E : {0} \n", expectedLines[lineNo]); + } + } + + var startIndex = findDiffLength - 1; + if (startIndex < 0) + { + startIndex = 0; + } + + if (findDiffLength < expectedLength) + { + comparisonSb.AppendFormat("** MISSING \n"); + for (var lineNo = startIndex; lineNo < expectedLength; lineNo++) + { + comparisonSb.AppendFormat("{0} : {1}", lineNo, expectedLines[lineNo]); + } + } + if (findDiffLength < outputLength) + { + comparisonSb.AppendFormat("** EXTRA \n"); + for (var lineNo = startIndex; lineNo < outputLength; lineNo++) + { + comparisonSb.AppendFormat("{0} : {1}", lineNo, outputLines[lineNo]); + } + } + + return comparisonSb.ToString(); + } + } +} diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/StreamInputParameter_DebugMode.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/StreamInputParameter_DebugMode.bsl new file mode 100644 index 0000000000..111aae41a4 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/StreamInputParameter_DebugMode.bsl @@ -0,0 +1,478 @@ +Starting test 'TvpTest' +Starting Test using AsyncDebugScope +Using stored procedure False +TestStream (Sync True DataLen 100000 ParamLen -1 OLD False AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync True DataLen 500 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync True DataLen 500 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen -1 OLD False AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 0 OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 9000 Error False OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 1000 Error False OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 0 Error False OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False OLD False AVW False) is OK +TestXml2Text (Sync True ParamLen -1 NVARCHAR False OLD False) is OK +TestXml2Text (Sync True ParamLen 1000000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync True ParamLen 9000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync True ParamLen 1000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync True ParamLen 0 NVARCHAR False OLD False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True OLD False AVW False) is OK +TestXml2Text (Sync True ParamLen -1 NVARCHAR True OLD False) is OK +TestXml2Text (Sync True ParamLen 1000000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync True ParamLen 9000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync True ParamLen 1000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync True ParamLen 0 NVARCHAR True OLD False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW False) is OK +TestXml (Sync True LimitLength True ) is OK +TestXml (Sync True LimitLength False ) is OK +TestStream (Sync True DataLen 100000 ParamLen -1 OLD False AVW True) is OK +TestStream (Sync True DataLen 0 ParamLen -1 OLD False AVW True) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD False AVW True) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD False AVW True) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW True) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW True) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW True) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW True) is OK +TestXml (Sync True LimitLength False ) is OK +TestStream (Sync False DataLen 100000 ParamLen -1 OLD False AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync False DataLen 500 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync False DataLen 500 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen -1 OLD False AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 0 OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 9000 Error False OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 1000 Error False OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 0 Error False OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False OLD False AVW False) is OK +TestXml2Text (Sync False ParamLen -1 NVARCHAR False OLD False) is OK +TestXml2Text (Sync False ParamLen 1000000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync False ParamLen 9000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync False ParamLen 1000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync False ParamLen 0 NVARCHAR False OLD False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True OLD False AVW False) is OK +TestXml2Text (Sync False ParamLen -1 NVARCHAR True OLD False) is OK +TestXml2Text (Sync False ParamLen 1000000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync False ParamLen 9000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync False ParamLen 1000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync False ParamLen 0 NVARCHAR True OLD False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW False) is OK +TestXml (Sync False LimitLength True ) is OK +TestXml (Sync False LimitLength False ) is OK +TestStream (Sync False DataLen 100000 ParamLen -1 OLD False AVW True) is OK +TestStream (Sync False DataLen 0 ParamLen -1 OLD False AVW True) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD False AVW True) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD False AVW True) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW True) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW True) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW True) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW True) is OK +TestXml (Sync False LimitLength False ) is OK +TestStream (Sync True DataLen 100000 ParamLen -1 OLD True AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync True DataLen 500 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync True DataLen 500 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen -1 OLD True AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 0 OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 9000 Error False OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 1000 Error False OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 0 Error False OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False OLD True AVW False) is OK +TestXml2Text (Sync True ParamLen -1 NVARCHAR False OLD True) is OK +TestXml2Text (Sync True ParamLen 1000000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync True ParamLen 9000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync True ParamLen 1000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync True ParamLen 0 NVARCHAR False OLD True) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True OLD True AVW False) is OK +TestXml2Text (Sync True ParamLen -1 NVARCHAR True OLD True) is OK +TestXml2Text (Sync True ParamLen 1000000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync True ParamLen 9000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync True ParamLen 1000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync True ParamLen 0 NVARCHAR True OLD True) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD True AVW False) is OK +TestStream (Sync False DataLen 100000 ParamLen -1 OLD True AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync False DataLen 500 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync False DataLen 500 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen -1 OLD True AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 0 OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 9000 Error False OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 1000 Error False OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 0 Error False OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False OLD True AVW False) is OK +TestXml2Text (Sync False ParamLen -1 NVARCHAR False OLD True) is OK +TestXml2Text (Sync False ParamLen 1000000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync False ParamLen 9000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync False ParamLen 1000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync False ParamLen 0 NVARCHAR False OLD True) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True OLD True AVW False) is OK +TestXml2Text (Sync False ParamLen -1 NVARCHAR True OLD True) is OK +TestXml2Text (Sync False ParamLen 1000000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync False ParamLen 9000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync False ParamLen 1000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync False ParamLen 0 NVARCHAR True OLD True) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD True AVW False) is OK +Using stored procedure True +TestStream (Sync True DataLen 100000 ParamLen -1 OLD False AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync True DataLen 500 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync True DataLen 500 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen -1 OLD False AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 0 OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 9000 Error False OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 1000 Error False OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 0 Error False OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False OLD False AVW False) is OK +TestXml2Text (Sync True ParamLen -1 NVARCHAR False OLD False) is OK +TestXml2Text (Sync True ParamLen 1000000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync True ParamLen 9000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync True ParamLen 1000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync True ParamLen 0 NVARCHAR False OLD False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True OLD False AVW False) is OK +TestXml2Text (Sync True ParamLen -1 NVARCHAR True OLD False) is OK +TestXml2Text (Sync True ParamLen 1000000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync True ParamLen 9000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync True ParamLen 1000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync True ParamLen 0 NVARCHAR True OLD False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW False) is OK +TestXml (Sync True LimitLength True ) is OK +TestXml (Sync True LimitLength False ) is OK +TestStream (Sync True DataLen 100000 ParamLen -1 OLD False AVW True) is OK +TestStream (Sync True DataLen 0 ParamLen -1 OLD False AVW True) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD False AVW True) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD False AVW True) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW True) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW True) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW True) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW True) is OK +TestXml (Sync True LimitLength False ) is OK +TestStream (Sync False DataLen 100000 ParamLen -1 OLD False AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync False DataLen 500 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync False DataLen 500 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen -1 OLD False AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 0 OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 9000 Error False OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 1000 Error False OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 0 Error False OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False OLD False AVW False) is OK +TestXml2Text (Sync False ParamLen -1 NVARCHAR False OLD False) is OK +TestXml2Text (Sync False ParamLen 1000000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync False ParamLen 9000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync False ParamLen 1000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync False ParamLen 0 NVARCHAR False OLD False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True OLD False AVW False) is OK +TestXml2Text (Sync False ParamLen -1 NVARCHAR True OLD False) is OK +TestXml2Text (Sync False ParamLen 1000000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync False ParamLen 9000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync False ParamLen 1000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync False ParamLen 0 NVARCHAR True OLD False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW False) is OK +TestXml (Sync False LimitLength True ) is OK +TestXml (Sync False LimitLength False ) is OK +TestStream (Sync False DataLen 100000 ParamLen -1 OLD False AVW True) is OK +TestStream (Sync False DataLen 0 ParamLen -1 OLD False AVW True) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD False AVW True) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD False AVW True) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW True) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW True) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW True) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW True) is OK +TestXml (Sync False LimitLength False ) is OK +TestStream (Sync True DataLen 100000 ParamLen -1 OLD True AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync True DataLen 500 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync True DataLen 500 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen -1 OLD True AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 0 OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 9000 Error False OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 1000 Error False OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 0 Error False OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False OLD True AVW False) is OK +TestXml2Text (Sync True ParamLen -1 NVARCHAR False OLD True) is OK +TestXml2Text (Sync True ParamLen 1000000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync True ParamLen 9000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync True ParamLen 1000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync True ParamLen 0 NVARCHAR False OLD True) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True OLD True AVW False) is OK +TestXml2Text (Sync True ParamLen -1 NVARCHAR True OLD True) is OK +TestXml2Text (Sync True ParamLen 1000000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync True ParamLen 9000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync True ParamLen 1000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync True ParamLen 0 NVARCHAR True OLD True) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD True AVW False) is OK +TestStream (Sync False DataLen 100000 ParamLen -1 OLD True AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync False DataLen 500 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync False DataLen 500 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen -1 OLD True AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 0 OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 9000 Error False OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 1000 Error False OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 0 Error False OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False OLD True AVW False) is OK +TestXml2Text (Sync False ParamLen -1 NVARCHAR False OLD True) is OK +TestXml2Text (Sync False ParamLen 1000000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync False ParamLen 9000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync False ParamLen 1000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync False ParamLen 0 NVARCHAR False OLD True) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True OLD True AVW False) is OK +TestXml2Text (Sync False ParamLen -1 NVARCHAR True OLD True) is OK +TestXml2Text (Sync False ParamLen 1000000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync False ParamLen 9000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync False ParamLen 1000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync False ParamLen 0 NVARCHAR True OLD True) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD True AVW False) is OK +Finished Test using AsyncDebugScope +Test immediate cancel for binary stream +PASS: Task is cancelled +Test immediate cancel for text stream +PASS: Task is cancelled +Test immediate cancel for xml stream +PASS: Task is cancelled +Test command preparation PASS +Test reuse of command after cancel +PASS +Test reuse of command after cancel +PASS +Test reuse of command after cancel +PASS diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/StreamInputParameter_DebugMode_Azure.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/StreamInputParameter_DebugMode_Azure.bsl new file mode 100644 index 0000000000..111aae41a4 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/StreamInputParameter_DebugMode_Azure.bsl @@ -0,0 +1,478 @@ +Starting test 'TvpTest' +Starting Test using AsyncDebugScope +Using stored procedure False +TestStream (Sync True DataLen 100000 ParamLen -1 OLD False AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync True DataLen 500 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync True DataLen 500 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen -1 OLD False AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 0 OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 9000 Error False OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 1000 Error False OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 0 Error False OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False OLD False AVW False) is OK +TestXml2Text (Sync True ParamLen -1 NVARCHAR False OLD False) is OK +TestXml2Text (Sync True ParamLen 1000000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync True ParamLen 9000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync True ParamLen 1000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync True ParamLen 0 NVARCHAR False OLD False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True OLD False AVW False) is OK +TestXml2Text (Sync True ParamLen -1 NVARCHAR True OLD False) is OK +TestXml2Text (Sync True ParamLen 1000000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync True ParamLen 9000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync True ParamLen 1000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync True ParamLen 0 NVARCHAR True OLD False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW False) is OK +TestXml (Sync True LimitLength True ) is OK +TestXml (Sync True LimitLength False ) is OK +TestStream (Sync True DataLen 100000 ParamLen -1 OLD False AVW True) is OK +TestStream (Sync True DataLen 0 ParamLen -1 OLD False AVW True) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD False AVW True) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD False AVW True) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW True) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW True) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW True) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW True) is OK +TestXml (Sync True LimitLength False ) is OK +TestStream (Sync False DataLen 100000 ParamLen -1 OLD False AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync False DataLen 500 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync False DataLen 500 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen -1 OLD False AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 0 OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 9000 Error False OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 1000 Error False OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 0 Error False OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False OLD False AVW False) is OK +TestXml2Text (Sync False ParamLen -1 NVARCHAR False OLD False) is OK +TestXml2Text (Sync False ParamLen 1000000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync False ParamLen 9000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync False ParamLen 1000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync False ParamLen 0 NVARCHAR False OLD False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True OLD False AVW False) is OK +TestXml2Text (Sync False ParamLen -1 NVARCHAR True OLD False) is OK +TestXml2Text (Sync False ParamLen 1000000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync False ParamLen 9000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync False ParamLen 1000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync False ParamLen 0 NVARCHAR True OLD False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW False) is OK +TestXml (Sync False LimitLength True ) is OK +TestXml (Sync False LimitLength False ) is OK +TestStream (Sync False DataLen 100000 ParamLen -1 OLD False AVW True) is OK +TestStream (Sync False DataLen 0 ParamLen -1 OLD False AVW True) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD False AVW True) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD False AVW True) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW True) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW True) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW True) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW True) is OK +TestXml (Sync False LimitLength False ) is OK +TestStream (Sync True DataLen 100000 ParamLen -1 OLD True AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync True DataLen 500 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync True DataLen 500 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen -1 OLD True AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 0 OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 9000 Error False OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 1000 Error False OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 0 Error False OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False OLD True AVW False) is OK +TestXml2Text (Sync True ParamLen -1 NVARCHAR False OLD True) is OK +TestXml2Text (Sync True ParamLen 1000000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync True ParamLen 9000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync True ParamLen 1000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync True ParamLen 0 NVARCHAR False OLD True) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True OLD True AVW False) is OK +TestXml2Text (Sync True ParamLen -1 NVARCHAR True OLD True) is OK +TestXml2Text (Sync True ParamLen 1000000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync True ParamLen 9000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync True ParamLen 1000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync True ParamLen 0 NVARCHAR True OLD True) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD True AVW False) is OK +TestStream (Sync False DataLen 100000 ParamLen -1 OLD True AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync False DataLen 500 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync False DataLen 500 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen -1 OLD True AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 0 OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 9000 Error False OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 1000 Error False OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 0 Error False OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False OLD True AVW False) is OK +TestXml2Text (Sync False ParamLen -1 NVARCHAR False OLD True) is OK +TestXml2Text (Sync False ParamLen 1000000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync False ParamLen 9000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync False ParamLen 1000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync False ParamLen 0 NVARCHAR False OLD True) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True OLD True AVW False) is OK +TestXml2Text (Sync False ParamLen -1 NVARCHAR True OLD True) is OK +TestXml2Text (Sync False ParamLen 1000000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync False ParamLen 9000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync False ParamLen 1000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync False ParamLen 0 NVARCHAR True OLD True) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD True AVW False) is OK +Using stored procedure True +TestStream (Sync True DataLen 100000 ParamLen -1 OLD False AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync True DataLen 500 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync True DataLen 500 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen -1 OLD False AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 0 OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 9000 Error False OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 1000 Error False OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 0 Error False OLD False AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False OLD False AVW False) is OK +TestXml2Text (Sync True ParamLen -1 NVARCHAR False OLD False) is OK +TestXml2Text (Sync True ParamLen 1000000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync True ParamLen 9000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync True ParamLen 1000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync True ParamLen 0 NVARCHAR False OLD False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True OLD False AVW False) is OK +TestXml2Text (Sync True ParamLen -1 NVARCHAR True OLD False) is OK +TestXml2Text (Sync True ParamLen 1000000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync True ParamLen 9000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync True ParamLen 1000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync True ParamLen 0 NVARCHAR True OLD False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW False) is OK +TestXml (Sync True LimitLength True ) is OK +TestXml (Sync True LimitLength False ) is OK +TestStream (Sync True DataLen 100000 ParamLen -1 OLD False AVW True) is OK +TestStream (Sync True DataLen 0 ParamLen -1 OLD False AVW True) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD False AVW True) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD False AVW True) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW True) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW True) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW True) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW True) is OK +TestXml (Sync True LimitLength False ) is OK +TestStream (Sync False DataLen 100000 ParamLen -1 OLD False AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync False DataLen 500 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync False DataLen 500 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen -1 OLD False AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen 9000 OLD False AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen 1000 OLD False AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 0 OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 9000 Error False OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 1000 Error False OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 0 Error False OLD False AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR False OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False OLD False AVW False) is OK +TestXml2Text (Sync False ParamLen -1 NVARCHAR False OLD False) is OK +TestXml2Text (Sync False ParamLen 1000000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync False ParamLen 9000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync False ParamLen 1000 NVARCHAR False OLD False) is OK +TestXml2Text (Sync False ParamLen 0 NVARCHAR False OLD False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR True OLD False AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True OLD False AVW False) is OK +TestXml2Text (Sync False ParamLen -1 NVARCHAR True OLD False) is OK +TestXml2Text (Sync False ParamLen 1000000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync False ParamLen 9000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync False ParamLen 1000 NVARCHAR True OLD False) is OK +TestXml2Text (Sync False ParamLen 0 NVARCHAR True OLD False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD False AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW False) is OK +TestXml (Sync False LimitLength True ) is OK +TestXml (Sync False LimitLength False ) is OK +TestStream (Sync False DataLen 100000 ParamLen -1 OLD False AVW True) is OK +TestStream (Sync False DataLen 0 ParamLen -1 OLD False AVW True) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD False AVW True) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD False AVW True) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD False AVW True) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD False AVW True) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD False AVW True) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD False AVW True) is OK +TestXml (Sync False LimitLength False ) is OK +TestStream (Sync True DataLen 100000 ParamLen -1 OLD True AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync True DataLen 500 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync True DataLen 500 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen -1 OLD True AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync True DataLen 0 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync True DataLen 10000 ParamLen 0 OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error False OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 9000 Error False OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 1000 Error False OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen 0 Error False OLD True AVW False) is OK +TestCustomStream (Sync True DataLen 10000 ParamLen -1 Error True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False OLD True AVW False) is OK +TestXml2Text (Sync True ParamLen -1 NVARCHAR False OLD True) is OK +TestXml2Text (Sync True ParamLen 1000000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync True ParamLen 9000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync True ParamLen 1000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync True ParamLen 0 NVARCHAR False OLD True) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 100000 ParamLen -1 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 500 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen -1 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 0 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True OLD True AVW False) is OK +TestXml2Text (Sync True ParamLen -1 NVARCHAR True OLD True) is OK +TestXml2Text (Sync True ParamLen 1000000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync True ParamLen 9000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync True ParamLen 1000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync True ParamLen 0 NVARCHAR True OLD True) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync True DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD True AVW False) is OK +TestStream (Sync False DataLen 100000 ParamLen -1 OLD True AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync False DataLen 500 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync False DataLen 500 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen -1 OLD True AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen 9000 OLD True AVW False) is OK +TestStream (Sync False DataLen 0 ParamLen 1000 OLD True AVW False) is OK +TestStream (Sync False DataLen 10000 ParamLen 0 OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error False OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 9000 Error False OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 1000 Error False OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen 0 Error False OLD True AVW False) is OK +TestCustomStream (Sync False DataLen 10000 ParamLen -1 Error True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR False OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False OLD True AVW False) is OK +TestXml2Text (Sync False ParamLen -1 NVARCHAR False OLD True) is OK +TestXml2Text (Sync False ParamLen 1000000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync False ParamLen 9000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync False ParamLen 1000 NVARCHAR False OLD True) is OK +TestXml2Text (Sync False ParamLen 0 NVARCHAR False OLD True) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR False Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR False Error True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 100000 ParamLen -1 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 500 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen -1 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 9000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 0 ParamLen 1000 NVARCHAR True OLD True AVW False) is OK +TestTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True OLD True AVW False) is OK +TestXml2Text (Sync False ParamLen -1 NVARCHAR True OLD True) is OK +TestXml2Text (Sync False ParamLen 1000000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync False ParamLen 9000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync False ParamLen 1000 NVARCHAR True OLD True) is OK +TestXml2Text (Sync False ParamLen 0 NVARCHAR True OLD True) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 9000 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 1000 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen 0 NVARCHAR True Error False OLD True AVW False) is OK +TestCustomTextReader (Sync False DataLen 10000 ParamLen -1 NVARCHAR True Error True OLD True AVW False) is OK +Finished Test using AsyncDebugScope +Test immediate cancel for binary stream +PASS: Task is cancelled +Test immediate cancel for text stream +PASS: Task is cancelled +Test immediate cancel for xml stream +PASS: Task is cancelled +Test command preparation PASS +Test reuse of command after cancel +PASS +Test reuse of command after cancel +PASS +Test reuse of command after cancel +PASS diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/StreamInputParameter_ReleaseMode.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/StreamInputParameter_ReleaseMode.bsl new file mode 100644 index 0000000000..3f3569899b --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/StreamInputParameter_ReleaseMode.bsl @@ -0,0 +1,17 @@ +Starting test 'TvpTest' +Starting Test using AsyncDebugScope +Tests using AsyncDebugScope are only supported in Debug mode! +Finished Test using AsyncDebugScope +Test immediate cancel for binary stream +PASS: Task is cancelled +Test immediate cancel for text stream +PASS: Task is cancelled +Test immediate cancel for xml stream +PASS: Task is cancelled +Test command preparation PASS +Test reuse of command after cancel +PASS +Test reuse of command after cancel +PASS +Test reuse of command after cancel +PASS diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/StreamInputParameter_ReleaseMode_Azure.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/StreamInputParameter_ReleaseMode_Azure.bsl new file mode 100644 index 0000000000..3f3569899b --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/StreamInputParameter_ReleaseMode_Azure.bsl @@ -0,0 +1,17 @@ +Starting test 'TvpTest' +Starting Test using AsyncDebugScope +Tests using AsyncDebugScope are only supported in Debug mode! +Finished Test using AsyncDebugScope +Test immediate cancel for binary stream +PASS: Task is cancelled +Test immediate cancel for text stream +PASS: Task is cancelled +Test immediate cancel for xml stream +PASS: Task is cancelled +Test command preparation PASS +Test reuse of command after cancel +PASS +Test reuse of command after cancel +PASS +Test reuse of command after cancel +PASS diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpColumnBoundariesTests.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpColumnBoundariesTests.cs new file mode 100644 index 0000000000..6793bcfd06 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpColumnBoundariesTests.cs @@ -0,0 +1,140 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Globalization; +using System.IO; +using System.Text; +using System.Threading; +using Xunit; + +namespace Microsoft.Data.SqlClient.ManualTesting.Tests +{ + /// + /// Tests for TVP column boundaries with various data types. + /// These tests run independently with their own baseline comparison. + /// + [Collection("ParameterBaselineTests")] + public class TvpColumnBoundariesTests + { + [Trait("Category", "flaky")] + [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] + public void TvpColumnBoundariesTest() + { + Assert.True(RunTestAndCompareWithBaseline()); + } + + private bool RunTestAndCompareWithBaseline() + { + CultureInfo previousCulture = Thread.CurrentThread.CurrentCulture; + Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); + try + { + string outputPath = "TvpColumnBoundaries.out"; + string baselinePath; +#if DEBUG + if (DataTestUtility.IsNotAzureServer() || DataTestUtility.IsManagedInstance) + { + baselinePath = "TvpColumnBoundaries_DebugMode.bsl"; + } + else + { + baselinePath = "TvpColumnBoundaries_DebugMode_Azure.bsl"; + } +#else + if (DataTestUtility.IsNotAzureServer() || DataTestUtility.IsManagedInstance) + { + baselinePath = "TvpColumnBoundaries_ReleaseMode.bsl"; + } + else + { + baselinePath = "TvpColumnBoundaries_ReleaseMode_Azure.bsl"; + } +#endif + + var fstream = new FileStream(outputPath, FileMode.Create, FileAccess.Write, FileShare.Read); + var swriter = new StreamWriter(fstream, Encoding.UTF8); + var twriter = new TvpTest.CarriageReturnLineFeedReplacer(swriter); + Console.SetOut(twriter); + + // Run Test - TvpTest instance is needed to access ColumnBoundariesTest + var tvpTest = new TvpTest(); + tvpTest.ColumnBoundariesTest(); + + Console.Out.Flush(); + Console.Out.Dispose(); + + // Recover the standard output stream + StreamWriter standardOutput = new(Console.OpenStandardOutput()); + standardOutput.AutoFlush = true; + Console.SetOut(standardOutput); + + // Compare output file + var comparisonResult = FindDiffFromBaseline(baselinePath, outputPath); + + if (string.IsNullOrEmpty(comparisonResult)) + { + return true; + } + + Console.WriteLine("TvpColumnBoundariesTest Failed!"); + Console.WriteLine("Please compare baseline: {0} with output: {1}", Path.GetFullPath(baselinePath), Path.GetFullPath(outputPath)); + Console.WriteLine("Comparison Results:"); + Console.WriteLine(comparisonResult); + return false; + } + finally + { + Thread.CurrentThread.CurrentCulture = previousCulture; + } + } + + private static string FindDiffFromBaseline(string baselinePath, string outputPath) + { + var expectedLines = File.ReadAllLines(baselinePath); + var outputLines = File.ReadAllLines(outputPath); + + var comparisonSb = new StringBuilder(); + + var expectedLength = expectedLines.Length; + var outputLength = outputLines.Length; + var findDiffLength = Math.Min(expectedLength, outputLength); + + for (var lineNo = 0; lineNo < findDiffLength; lineNo++) + { + if (!expectedLines[lineNo].Equals(outputLines[lineNo])) + { + comparisonSb.AppendFormat("** DIFF at line {0} \n", lineNo); + comparisonSb.AppendFormat("A : {0} \n", outputLines[lineNo]); + comparisonSb.AppendFormat("E : {0} \n", expectedLines[lineNo]); + } + } + + var startIndex = findDiffLength - 1; + if (startIndex < 0) + { + startIndex = 0; + } + + if (findDiffLength < expectedLength) + { + comparisonSb.AppendFormat("** MISSING \n"); + for (var lineNo = startIndex; lineNo < expectedLength; lineNo++) + { + comparisonSb.AppendFormat("{0} : {1}", lineNo, expectedLines[lineNo]); + } + } + if (findDiffLength < outputLength) + { + comparisonSb.AppendFormat("** EXTRA \n"); + for (var lineNo = startIndex; lineNo < outputLength; lineNo++) + { + comparisonSb.AppendFormat("{0} : {1}", lineNo, outputLines[lineNo]); + } + } + + return comparisonSb.ToString(); + } + } +} diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpColumnBoundaries_DebugMode.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpColumnBoundaries_DebugMode.bsl new file mode 100644 index 0000000000..89f59d8715 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpColumnBoundaries_DebugMode.bsl @@ -0,0 +1,466 @@ ++++++++ Iteration 0 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 1 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 2 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 3 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 4 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 5 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 6 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 7 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 8 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 9 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 10 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 11 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 12 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 13 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 14 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 15 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 16 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 17 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 18 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 19 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 20 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +Matches = 14 +SqlException. Error Code: 2628 +Matches = 28 +Matches = 14 +SqlException. Error Code: 2628 +Matches = 14 +Matches = 14 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 21 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 22 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 23 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 24 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 25 ++++++++ +------IEnumerable--------- +Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=0, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=1, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=4, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=5, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=8, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=9, Column=5 +Matches = 162 +------DbDataReader--------- +Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=0, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=1, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=4, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=5, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=8, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=9, Column=5 +Matches = 162 +------DataTables--------- +SqlException. Error Code: 242 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 26 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 27 ++++++++ +------IEnumerable--------- +Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[2]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[10]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[11]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=0, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=1, Column=5 +Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney + Row=1, Column=9 +Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney + Row=2, Column=9 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=4, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=5, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=8, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=9, Column=5 +Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney + Row=10, Column=9 +Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney + Row=11, Column=9 +Matches = 158 +------DbDataReader--------- +Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[2]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[10]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[11]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=0, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=1, Column=5 +Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney + Row=1, Column=9 +Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney + Row=2, Column=9 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=4, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=5, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=8, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=9, Column=5 +Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney + Row=10, Column=9 +Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney + Row=11, Column=9 +Matches = 158 +------DataTables--------- +SqlException. Error Code: 242 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 8115 diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpColumnBoundaries_DebugMode_Azure.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpColumnBoundaries_DebugMode_Azure.bsl new file mode 100644 index 0000000000..b59044ae03 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpColumnBoundaries_DebugMode_Azure.bsl @@ -0,0 +1,466 @@ ++++++++ Iteration 0 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 1 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 2 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 3 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 4 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 5 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 6 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 7 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 8 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 9 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 10 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 11 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 12 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 13 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 14 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 15 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 16 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 17 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 18 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 19 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 20 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +Matches = 14 +SqlException. Error Code: 8152 +Matches = 28 +Matches = 14 +SqlException. Error Code: 8152 +Matches = 14 +Matches = 14 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 21 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 22 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 23 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 24 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 25 ++++++++ +------IEnumerable--------- +Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=0, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=1, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=4, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=5, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=8, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=9, Column=5 +Matches = 162 +------DbDataReader--------- +Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=0, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=1, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=4, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=5, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=8, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=9, Column=5 +Matches = 162 +------DataTables--------- +SqlException. Error Code: 242 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 26 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 27 ++++++++ +------IEnumerable--------- +Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[2]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[10]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[11]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=0, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=1, Column=5 +Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney + Row=1, Column=9 +Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney + Row=2, Column=9 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=4, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=5, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=8, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=9, Column=5 +Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney + Row=10, Column=9 +Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney + Row=11, Column=9 +Matches = 158 +------DbDataReader--------- +Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[2]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[10]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[11]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=0, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=1, Column=5 +Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney + Row=1, Column=9 +Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney + Row=2, Column=9 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=4, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=5, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=8, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=9, Column=5 +Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney + Row=10, Column=9 +Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney + Row=11, Column=9 +Matches = 158 +------DataTables--------- +SqlException. Error Code: 242 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8115 diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpColumnBoundaries_ReleaseMode.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpColumnBoundaries_ReleaseMode.bsl new file mode 100644 index 0000000000..89f59d8715 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpColumnBoundaries_ReleaseMode.bsl @@ -0,0 +1,466 @@ ++++++++ Iteration 0 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 1 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 2 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 3 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 4 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 5 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 6 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 7 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 8 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 9 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 10 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 11 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 12 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 13 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 14 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 15 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 16 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 17 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 18 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 19 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 20 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +Matches = 14 +SqlException. Error Code: 2628 +Matches = 28 +Matches = 14 +SqlException. Error Code: 2628 +Matches = 14 +Matches = 14 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 21 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 22 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 23 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 24 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 25 ++++++++ +------IEnumerable--------- +Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=0, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=1, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=4, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=5, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=8, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=9, Column=5 +Matches = 162 +------DbDataReader--------- +Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=0, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=1, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=4, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=5, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=8, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=9, Column=5 +Matches = 162 +------DataTables--------- +SqlException. Error Code: 242 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 26 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 28 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +Matches = 14 ++++++++ Iteration 27 ++++++++ +------IEnumerable--------- +Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[2]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[10]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[11]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=0, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=1, Column=5 +Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney + Row=1, Column=9 +Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney + Row=2, Column=9 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=4, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=5, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=8, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=9, Column=5 +Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney + Row=10, Column=9 +Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney + Row=11, Column=9 +Matches = 158 +------DbDataReader--------- +Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[2]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[10]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[11]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=0, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=1, Column=5 +Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney + Row=1, Column=9 +Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney + Row=2, Column=9 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=4, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=5, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=8, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=9, Column=5 +Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney + Row=10, Column=9 +Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney + Row=11, Column=9 +Matches = 158 +------DataTables--------- +SqlException. Error Code: 242 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 2628 +SqlException. Error Code: 8115 diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpColumnBoundaries_ReleaseMode_Azure.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpColumnBoundaries_ReleaseMode_Azure.bsl new file mode 100644 index 0000000000..b59044ae03 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpColumnBoundaries_ReleaseMode_Azure.bsl @@ -0,0 +1,466 @@ ++++++++ Iteration 0 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 1 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 2 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 3 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 4 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 5 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 6 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 7 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 8 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 9 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 10 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 11 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 12 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 13 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 14 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 15 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 16 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 17 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 18 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 19 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 20 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +Matches = 14 +SqlException. Error Code: 8152 +Matches = 28 +Matches = 14 +SqlException. Error Code: 8152 +Matches = 14 +Matches = 14 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 21 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 22 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 23 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 24 ++++++++ +SqlException creating objects: 1701 +SqlException dropping objects: 3701 ++++++++ Iteration 25 ++++++++ +------IEnumerable--------- +Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=0, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=1, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=4, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=5, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=8, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=9, Column=5 +Matches = 162 +------DbDataReader--------- +Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=0, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=1, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=4, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=5, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=8, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=9, Column=5 +Matches = 162 +------DataTables--------- +SqlException. Error Code: 242 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 26 ++++++++ +------IEnumerable--------- +Matches = 168 +------DbDataReader--------- +Matches = 168 +------DataTables--------- +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 28 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +Matches = 14 ++++++++ Iteration 27 ++++++++ +------IEnumerable--------- +Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[2]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[10]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[11]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=0, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=1, Column=5 +Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney + Row=1, Column=9 +Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney + Row=2, Column=9 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=4, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=5, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=8, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=9, Column=5 +Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney + Row=10, Column=9 +Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney + Row=11, Column=9 +Matches = 158 +------DbDataReader--------- +Failed Row[0]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[1]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[2]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[4]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[5]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[8]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[9]Col[5] = 1/1/1753 12:00:00 AM: Invalid value for this metadata. +Failed Row[10]Col[9] = -922337203685477: SqlDbType.SmallMoney overflow. Value '-922337203685477.0000' is out of range. Must be between -214,748.3648 and 214,748.3647. +Failed Row[11]Col[9] = 922337203685477.5807: SqlDbType.SmallMoney overflow. Value '922337203685477.5807' is out of range. Must be between -214,748.3648 and 214,748.3647. +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=0, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=1, Column=5 +Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney + Row=1, Column=9 +Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney + Row=2, Column=9 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=4, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=5, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=8, Column=5 +Mismatch: Source = 1/1/1753 12:00:00 AM, result = , metadata=SteAttributeKey=SmallDateTime + Row=9, Column=5 +Mismatch: Source = -922337203685477, result = , metadata=SteAttributeKey=SmallMoney + Row=10, Column=9 +Mismatch: Source = 922337203685477.5807, result = , metadata=SteAttributeKey=SmallMoney + Row=11, Column=9 +Matches = 158 +------DataTables--------- +SqlException. Error Code: 242 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8152 +SqlException. Error Code: 8115 diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpQueryHintsTests.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpQueryHintsTests.cs new file mode 100644 index 0000000000..512026f0a5 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpQueryHintsTests.cs @@ -0,0 +1,140 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Globalization; +using System.IO; +using System.Text; +using System.Threading; +using Xunit; + +namespace Microsoft.Data.SqlClient.ManualTesting.Tests +{ + /// + /// Tests for TVP query hints (sort order, uniqueness, default columns). + /// These tests run independently with their own baseline comparison. + /// + [Collection("ParameterBaselineTests")] + public class TvpQueryHintsTests + { + [Trait("Category", "flaky")] + [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] + public void TvpQueryHintsTest() + { + Assert.True(RunTestAndCompareWithBaseline()); + } + + private bool RunTestAndCompareWithBaseline() + { + CultureInfo previousCulture = Thread.CurrentThread.CurrentCulture; + Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); + try + { + string outputPath = "TvpQueryHints.out"; + string baselinePath; +#if DEBUG + if (DataTestUtility.IsNotAzureServer() || DataTestUtility.IsManagedInstance) + { + baselinePath = "TvpQueryHints_DebugMode.bsl"; + } + else + { + baselinePath = "TvpQueryHints_DebugMode_Azure.bsl"; + } +#else + if (DataTestUtility.IsNotAzureServer() || DataTestUtility.IsManagedInstance) + { + baselinePath = "TvpQueryHints_ReleaseMode.bsl"; + } + else + { + baselinePath = "TvpQueryHints_ReleaseMode_Azure.bsl"; + } +#endif + + var fstream = new FileStream(outputPath, FileMode.Create, FileAccess.Write, FileShare.Read); + var swriter = new StreamWriter(fstream, Encoding.UTF8); + var twriter = new TvpTest.CarriageReturnLineFeedReplacer(swriter); + Console.SetOut(twriter); + + // Run Test - TvpTest instance is needed to access QueryHintsTest + var tvpTest = new TvpTest(); + tvpTest.QueryHintsTest(); + + Console.Out.Flush(); + Console.Out.Dispose(); + + // Recover the standard output stream + StreamWriter standardOutput = new(Console.OpenStandardOutput()); + standardOutput.AutoFlush = true; + Console.SetOut(standardOutput); + + // Compare output file + var comparisonResult = FindDiffFromBaseline(baselinePath, outputPath); + + if (string.IsNullOrEmpty(comparisonResult)) + { + return true; + } + + Console.WriteLine("TvpQueryHintsTest Failed!"); + Console.WriteLine("Please compare baseline: {0} with output: {1}", Path.GetFullPath(baselinePath), Path.GetFullPath(outputPath)); + Console.WriteLine("Comparison Results:"); + Console.WriteLine(comparisonResult); + return false; + } + finally + { + Thread.CurrentThread.CurrentCulture = previousCulture; + } + } + + private static string FindDiffFromBaseline(string baselinePath, string outputPath) + { + var expectedLines = File.ReadAllLines(baselinePath); + var outputLines = File.ReadAllLines(outputPath); + + var comparisonSb = new StringBuilder(); + + var expectedLength = expectedLines.Length; + var outputLength = outputLines.Length; + var findDiffLength = Math.Min(expectedLength, outputLength); + + for (var lineNo = 0; lineNo < findDiffLength; lineNo++) + { + if (!expectedLines[lineNo].Equals(outputLines[lineNo])) + { + comparisonSb.AppendFormat("** DIFF at line {0} \n", lineNo); + comparisonSb.AppendFormat("A : {0} \n", outputLines[lineNo]); + comparisonSb.AppendFormat("E : {0} \n", expectedLines[lineNo]); + } + } + + var startIndex = findDiffLength - 1; + if (startIndex < 0) + { + startIndex = 0; + } + + if (findDiffLength < expectedLength) + { + comparisonSb.AppendFormat("** MISSING \n"); + for (var lineNo = startIndex; lineNo < expectedLength; lineNo++) + { + comparisonSb.AppendFormat("{0} : {1}", lineNo, expectedLines[lineNo]); + } + } + if (findDiffLength < outputLength) + { + comparisonSb.AppendFormat("** EXTRA \n"); + for (var lineNo = startIndex; lineNo < outputLength; lineNo++) + { + comparisonSb.AppendFormat("{0} : {1}", lineNo, outputLines[lineNo]); + } + } + + return comparisonSb.ToString(); + } + } +} diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpQueryHints_DebugMode.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpQueryHints_DebugMode.bsl new file mode 100644 index 0000000000..e72190c064 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpQueryHints_DebugMode.bsl @@ -0,0 +1,30 @@ +------- Sort order + uniqueness #1: simple ------- +------------- +0 Z-value 3/1/2000 12:00:00 AM 5 +1 X-value 1/1/2000 12:00:00 AM 7 + +------------- +------- Sort order + uniqueness #2: mixed order ------- +------------- +4 X-value 1/1/2000 12:00:00 AM 3 +5 X-value 3/1/2000 12:00:00 AM 3 + +------------- +------- default column #1: outer subset ------- +------------- +-1 Y-value 1/1/2000 12:00:00 AM -1 +-1 Z-value 1/1/2000 12:00:00 AM -1 + +------------- +------- default column #1: middle subset ------- +------------- +4 DEFUALT 1/1/2006 12:00:00 AM 3 +5 DEFUALT 1/1/2006 12:00:00 AM 3 + +------------- +------- default column #1: all ------- +------------- +-1 DEFUALT 1/1/2006 12:00:00 AM -1 +-1 DEFUALT 1/1/2006 12:00:00 AM -1 + +------------- diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpQueryHints_DebugMode_Azure.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpQueryHints_DebugMode_Azure.bsl new file mode 100644 index 0000000000..e72190c064 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpQueryHints_DebugMode_Azure.bsl @@ -0,0 +1,30 @@ +------- Sort order + uniqueness #1: simple ------- +------------- +0 Z-value 3/1/2000 12:00:00 AM 5 +1 X-value 1/1/2000 12:00:00 AM 7 + +------------- +------- Sort order + uniqueness #2: mixed order ------- +------------- +4 X-value 1/1/2000 12:00:00 AM 3 +5 X-value 3/1/2000 12:00:00 AM 3 + +------------- +------- default column #1: outer subset ------- +------------- +-1 Y-value 1/1/2000 12:00:00 AM -1 +-1 Z-value 1/1/2000 12:00:00 AM -1 + +------------- +------- default column #1: middle subset ------- +------------- +4 DEFUALT 1/1/2006 12:00:00 AM 3 +5 DEFUALT 1/1/2006 12:00:00 AM 3 + +------------- +------- default column #1: all ------- +------------- +-1 DEFUALT 1/1/2006 12:00:00 AM -1 +-1 DEFUALT 1/1/2006 12:00:00 AM -1 + +------------- diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpQueryHints_ReleaseMode.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpQueryHints_ReleaseMode.bsl new file mode 100644 index 0000000000..e72190c064 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpQueryHints_ReleaseMode.bsl @@ -0,0 +1,30 @@ +------- Sort order + uniqueness #1: simple ------- +------------- +0 Z-value 3/1/2000 12:00:00 AM 5 +1 X-value 1/1/2000 12:00:00 AM 7 + +------------- +------- Sort order + uniqueness #2: mixed order ------- +------------- +4 X-value 1/1/2000 12:00:00 AM 3 +5 X-value 3/1/2000 12:00:00 AM 3 + +------------- +------- default column #1: outer subset ------- +------------- +-1 Y-value 1/1/2000 12:00:00 AM -1 +-1 Z-value 1/1/2000 12:00:00 AM -1 + +------------- +------- default column #1: middle subset ------- +------------- +4 DEFUALT 1/1/2006 12:00:00 AM 3 +5 DEFUALT 1/1/2006 12:00:00 AM 3 + +------------- +------- default column #1: all ------- +------------- +-1 DEFUALT 1/1/2006 12:00:00 AM -1 +-1 DEFUALT 1/1/2006 12:00:00 AM -1 + +------------- diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpQueryHints_ReleaseMode_Azure.bsl b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpQueryHints_ReleaseMode_Azure.bsl new file mode 100644 index 0000000000..e72190c064 --- /dev/null +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpQueryHints_ReleaseMode_Azure.bsl @@ -0,0 +1,30 @@ +------- Sort order + uniqueness #1: simple ------- +------------- +0 Z-value 3/1/2000 12:00:00 AM 5 +1 X-value 1/1/2000 12:00:00 AM 7 + +------------- +------- Sort order + uniqueness #2: mixed order ------- +------------- +4 X-value 1/1/2000 12:00:00 AM 3 +5 X-value 3/1/2000 12:00:00 AM 3 + +------------- +------- default column #1: outer subset ------- +------------- +-1 Y-value 1/1/2000 12:00:00 AM -1 +-1 Z-value 1/1/2000 12:00:00 AM -1 + +------------- +------- default column #1: middle subset ------- +------------- +4 DEFUALT 1/1/2006 12:00:00 AM 3 +5 DEFUALT 1/1/2006 12:00:00 AM 3 + +------------- +------- default column #1: all ------- +------------- +-1 DEFUALT 1/1/2006 12:00:00 AM -1 +-1 DEFUALT 1/1/2006 12:00:00 AM -1 + +------------- diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpTest.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpTest.cs index 912800016e..5c788be58a 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpTest.cs +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpTest.cs @@ -42,18 +42,6 @@ public class TvpTest // data value and server consts private readonly string _connStr; - // This test occasionally hangs forever, hence marked as flaky. - [Trait("Category", "flaky")] - // Synapse: The statement failed. Column 'blob' has a data type that cannot participate in a columnstore index. - [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] - public void TestMain() - { - Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); // To keep things consistent since we output dates as strings - - // This test is additionally affected by #26, where a Cancel throws SqlException instead of InvalidOperationException on Linux. - Assert.True(RunTestCoreAndCompareWithBaseline()); - } - [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))] public async Task TestPacketNumberWraparound() { @@ -195,123 +183,7 @@ public TvpTest() _connStr = DataTestUtility.TCPConnectionString; } - private void RunTest() - { - Console.WriteLine("Starting test \'TvpTest\'"); - StreamInputParam.Run(_connStr); - ColumnBoundariesTest(); - QueryHintsTest(); - SqlVariantParam.SendAllSqlTypesInsideVariant(_connStr); - DateTimeVariantTest.TestAllDateTimeWithDataTypeAndVariant(_connStr); - OutputParameter.Run(_connStr); - } - - private bool RunTestCoreAndCompareWithBaseline() - { - string outputPath = "SqlParameterTest.out"; - string baselinePath; -#if DEBUG - if (DataTestUtility.IsNotAzureServer() || DataTestUtility.IsManagedInstance) - { - baselinePath = "SqlParameterTest_DebugMode.bsl"; - } - else - { - baselinePath = "SqlParameterTest_DebugMode_Azure.bsl"; - } -#else - if (DataTestUtility.IsNotAzureServer() || DataTestUtility.IsManagedInstance) - { - baselinePath = "SqlParameterTest_ReleaseMode.bsl"; - } - else - { - baselinePath = "SqlParameterTest_ReleaseMode_Azure.bsl"; - } -#endif - - var fstream = new FileStream(outputPath, FileMode.Create, FileAccess.Write, FileShare.Read); - var swriter = new StreamWriter(fstream, Encoding.UTF8); - // Convert all string writes of '\n' to '\r\n' so output files can be 'text' not 'binary' - var twriter = new CarriageReturnLineFeedReplacer(swriter); - Console.SetOut(twriter); // "redirect" Console.Out - - // Run Test - RunTest(); - - Console.Out.Flush(); - Console.Out.Dispose(); - - // Recover the standard output stream - StreamWriter standardOutput = new(Console.OpenStandardOutput()); - standardOutput.AutoFlush = true; - Console.SetOut(standardOutput); - - // Compare output file - var comparisonResult = FindDiffFromBaseline(baselinePath, outputPath); - - if (string.IsNullOrEmpty(comparisonResult)) - { - return true; - } - - Console.WriteLine("Test Failed!"); - Console.WriteLine("Please compare baseline : {0} with output :{1}", Path.GetFullPath(baselinePath), Path.GetFullPath(outputPath)); - Console.WriteLine("Comparison Results : "); - Console.WriteLine(comparisonResult); - return false; - } - - private string FindDiffFromBaseline(string baselinePath, string outputPath) - { - var expectedLines = File.ReadAllLines(baselinePath); - var outputLines = File.ReadAllLines(outputPath); - - var comparisonSb = new StringBuilder(); - - // Start compare results - var expectedLength = expectedLines.Length; - var outputLength = outputLines.Length; - var findDiffLength = Math.Min(expectedLength, outputLength); - - // Find diff for each lines - for (var lineNo = 0; lineNo < findDiffLength; lineNo++) - { - if (!expectedLines[lineNo].Equals(outputLines[lineNo])) - { - comparisonSb.AppendFormat("** DIFF at line {0} \n", lineNo); - comparisonSb.AppendFormat("A : {0} \n", outputLines[lineNo]); - comparisonSb.AppendFormat("E : {0} \n", expectedLines[lineNo]); - } - } - - var startIndex = findDiffLength - 1; - if (startIndex < 0) - { - startIndex = 0; - } - - if (findDiffLength < expectedLength) - { - comparisonSb.AppendFormat("** MISSING \n"); - for (var lineNo = startIndex; lineNo < expectedLength; lineNo++) - { - comparisonSb.AppendFormat("{0} : {1}", lineNo, expectedLines[lineNo]); - } - } - if (findDiffLength < outputLength) - { - comparisonSb.AppendFormat("** EXTRA \n"); - for (var lineNo = startIndex; lineNo < outputLength; lineNo++) - { - comparisonSb.AppendFormat("{0} : {1}", lineNo, outputLines[lineNo]); - } - } - - return comparisonSb.ToString(); - } - - private sealed class CarriageReturnLineFeedReplacer : TextWriter + internal sealed class CarriageReturnLineFeedReplacer : TextWriter { private TextWriter _output; private int _lineFeedCount; @@ -373,7 +245,7 @@ public override void Write(char value) } #region Main test methods - private void ColumnBoundariesTest() + internal void ColumnBoundariesTest() { _ = SteStructuredTypeBoundaries.AllColumnTypesExceptUdts.GetEnumerator( s_boundariesTestKeys); @@ -466,7 +338,7 @@ private void TestTVPPermutations(SteStructuredTypeBoundaries bounds, bool runOnl } } - private void QueryHintsTest() + internal void QueryHintsTest() { using SqlConnection conn = new(_connStr); conn.Open(); diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlSchemaInfoTest/SqlSchemaInfoTest.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlSchemaInfoTest/SqlSchemaInfoTest.cs index 4d2e964a5a..742a4fbbad 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlSchemaInfoTest/SqlSchemaInfoTest.cs +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlSchemaInfoTest/SqlSchemaInfoTest.cs @@ -45,6 +45,7 @@ public static void TestGetSchema(bool openTransaction) DataTable metaDataSourceInfo = conn.GetSchema(DbMetaDataCollectionNames.DataSourceInformation); Assert.True(metaDataSourceInfo != null && metaDataSourceInfo.Rows.Count > 0); + //TODO: lots of contention on data types. need to fix locking in other tests to make this more reliable DataTable metaDataTypes = conn.GetSchema(DbMetaDataCollectionNames.DataTypes); Assert.True(metaDataTypes != null && metaDataTypes.Rows.Count > 0);