Skip to content

Commit

Permalink
Fix | Fix SqlClientMetaDataCollectionNames.Parameters mismatching iss…
Browse files Browse the repository at this point in the history
…ue (#580)

* Fix Parameters undefined issue and add test case

* Update valid names and add tests
  • Loading branch information
karinazhou committed Jun 10, 2020
1 parent e1b6cd4 commit 4258e4b
Show file tree
Hide file tree
Showing 7 changed files with 116 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,10 @@
<summary>A constant for use with the **GetSchema** method that represents the **Indexes** collection.</summary>
<remarks>To be added.</remarks>
</Indexes>
<Parameters>
<summary>A constant for use with the **GetSchema** method that represents the **Parameters** collection.</summary>
<ProcedureParameters>
<summary>A constant for use with the **GetSchema** method that represents the **ProcedureParameters** collection.</summary>
<remarks>To be added.</remarks>
</Parameters>
<ProcedureColumns>
<summary>A constant for use with the **GetSchema** method that represents the **ProcedureColumns** collection.</summary>
<remarks>To be added.</remarks>
</ProcedureColumns>
</ProcedureParameters>
<Procedures>
<summary>A constant for use with the **GetSchema** method that represents the **Procedures** collection.</summary>
<remarks>To be added.</remarks>
Expand All @@ -56,5 +52,13 @@
<summary>A constant for use with the **GetSchema** method that represents the **Views** collection.</summary>
<remarks>To be added.</remarks>
</Views>
<AllColumns>
<summary>A constant for use with the **GetSchema** method that represents the **AllColumns** collection.</summary>
<remarks>To be added.</remarks>
</AllColumns>
<ColumnSetColumns>
<summary>A constant for use with the **GetSchema** method that represents the **ColumnSetColumns** collection.</summary>
<remarks>To be added.</remarks>
</ColumnSetColumns>
</members>
</docs>
Original file line number Diff line number Diff line change
Expand Up @@ -328,10 +328,8 @@ public static partial class SqlClientMetaDataCollectionNames
public static readonly string IndexColumns;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Indexes/*'/>
public static readonly string Indexes;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Parameters/*'/>
public static readonly string Parameters;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/ProcedureColumns/*'/>
public static readonly string ProcedureColumns;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/ProcedureParameters/*'/>
public static readonly string ProcedureParameters;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Procedures/*'/>
public static readonly string Procedures;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Tables/*'/>
Expand All @@ -344,6 +342,10 @@ public static partial class SqlClientMetaDataCollectionNames
public static readonly string ViewColumns;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Views/*'/>
public static readonly string Views;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/AllColumns/*'/>
public static readonly string AllColumns;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/ColumnSetColumns/*'/>
public static readonly string ColumnSetColumns;
}
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlCommand.xml' path='docs/members[@name="SqlCommand"]/SqlCommand/*'/>
[System.ComponentModel.DefaultEventAttribute("RecordsAffected")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,8 @@ public static class SqlClientMetaDataCollectionNames
/// <include file='../../../../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Indexes/*' />
public static readonly string Indexes = "Indexes";

/// <include file='../../../../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Parameters/*' />
public static readonly string Parameters = "Parameters";

/// <include file='../../../../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/ProcedureColumns/*' />
public static readonly string ProcedureColumns = "ProcedureColumns";
/// <include file='../../../../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/ProcedureParameters/*' />
public static readonly string ProcedureParameters = "ProcedureParameters";

/// <include file='../../../../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Procedures/*' />
public static readonly string Procedures = "Procedures";
Expand All @@ -46,5 +43,11 @@ public static class SqlClientMetaDataCollectionNames

/// <include file='../../../../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Views/*' />
public static readonly string Views = "Views";

/// <include file='../../../../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/AllColumns/*' />
public static readonly string AllColumns = "AllColumns"; // supported starting from SQL Server 2008

/// <include file='../../../../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/ColumnSetColumns/*' />
public static readonly string ColumnSetColumns = "ColumnSetColumns"; // supported starting from SQL Server 2008
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -365,10 +365,8 @@ public static partial class SqlClientMetaDataCollectionNames
public static readonly string IndexColumns;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Indexes/*'/>
public static readonly string Indexes;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Parameters/*'/>
public static readonly string Parameters;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/ProcedureColumns/*'/>
public static readonly string ProcedureColumns;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/ProcedureParameters/*'/>
public static readonly string ProcedureParameters;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Procedures/*'/>
public static readonly string Procedures;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Tables/*'/>
Expand All @@ -381,6 +379,10 @@ public static partial class SqlClientMetaDataCollectionNames
public static readonly string ViewColumns;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Views/*'/>
public static readonly string Views;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/AllColumns/*'/>
public static readonly string AllColumns;
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/ColumnSetColumns/*'/>
public static readonly string ColumnSetColumns;
}
/// <include file='../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientPermission.xml' path='docs/members[@name="SqlClientPermission"]/SqlClientPermission/*'/>
public sealed partial class SqlClientPermission : System.Data.Common.DBDataPermission
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,8 @@ public static class SqlClientMetaDataCollectionNames
/// <include file='..\..\..\..\..\..\..\doc\snippets\Microsoft.Data.SqlClient\SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Indexes/*' />
public static readonly string Indexes = "Indexes";

/// <include file='..\..\..\..\..\..\..\doc\snippets\Microsoft.Data.SqlClient\SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Parameters/*' />
public static readonly string Parameters = "Parameters";

/// <include file='..\..\..\..\..\..\..\doc\snippets\Microsoft.Data.SqlClient\SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/ProcedureColumns/*' />
public static readonly string ProcedureColumns = "ProcedureColumns";
/// <include file='..\..\..\..\..\..\..\doc\snippets\Microsoft.Data.SqlClient\SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/ProcedureParameters/*' />
public static readonly string ProcedureParameters = "ProcedureParameters";

/// <include file='..\..\..\..\..\..\..\doc\snippets\Microsoft.Data.SqlClient\SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Procedures/*' />
public static readonly string Procedures = "Procedures";
Expand All @@ -46,5 +43,11 @@ public static class SqlClientMetaDataCollectionNames
/// <include file='..\..\..\..\..\..\..\doc\snippets\Microsoft.Data.SqlClient\SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/Views/*' />
public static readonly string Views = "Views";

/// <include file='../../../../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/AllColumns/*' />
public static readonly string AllColumns = "AllColumns"; // supported starting from SQL Server 2008

/// <include file='../../../../../../../doc/snippets/Microsoft.Data.SqlClient/SqlClientMetaDataCollectionNames.xml' path='docs/members[@name="SqlClientMetaDataCollectionNames"]/ColumnSetColumns/*' />
public static readonly string ColumnSetColumns = "ColumnSetColumns"; // supported starting from SQL Server 2008

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,15 @@ public void ValuesTest()
Assert.Equal("ForeignKeys", SqlClientMetaDataCollectionNames.ForeignKeys);
Assert.Equal("IndexColumns", SqlClientMetaDataCollectionNames.IndexColumns);
Assert.Equal("Indexes", SqlClientMetaDataCollectionNames.Indexes);
Assert.Equal("Parameters", SqlClientMetaDataCollectionNames.Parameters);
Assert.Equal("ProcedureColumns", SqlClientMetaDataCollectionNames.ProcedureColumns);
Assert.Equal("ProcedureParameters", SqlClientMetaDataCollectionNames.ProcedureParameters);
Assert.Equal("Procedures", SqlClientMetaDataCollectionNames.Procedures);
Assert.Equal("Tables", SqlClientMetaDataCollectionNames.Tables);
Assert.Equal("UserDefinedTypes", SqlClientMetaDataCollectionNames.UserDefinedTypes);
Assert.Equal("Users", SqlClientMetaDataCollectionNames.Users);
Assert.Equal("ViewColumns", SqlClientMetaDataCollectionNames.ViewColumns);
Assert.Equal("Views", SqlClientMetaDataCollectionNames.Views);
Assert.Equal("AllColumns", SqlClientMetaDataCollectionNames.AllColumns);
Assert.Equal("ColumnSetColumns", SqlClientMetaDataCollectionNames.ColumnSetColumns);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,89 @@ public static class ConnectionSchemaTest
{

[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup))]
public static void GetAllTablesFromSchema()
public static void GetTablesFromSchema()
{
VerifySchemaTable(SqlClientMetaDataCollectionNames.Tables, new string[] { "TABLE_CATALOG", "TABLE_SCHEMA", "TABLE_NAME", "TABLE_TYPE" });
}

[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup))]
public static void GetAllProceduresFromSchema()
public static void GetProceduresFromSchema()
{
VerifySchemaTable(SqlClientMetaDataCollectionNames.Procedures, new string[] { "ROUTINE_SCHEMA", "ROUTINE_NAME", "ROUTINE_TYPE" });
}

[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup))]
public static void GetProcedureParametersFromSchema()
{
VerifySchemaTable(SqlClientMetaDataCollectionNames.ProcedureParameters, new string[] { "PARAMETER_MODE", "PARAMETER_NAME" });
}

[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup))]
public static void GetDatabasesFromSchema()
{
VerifySchemaTable(SqlClientMetaDataCollectionNames.Databases, new string[] { "database_name", "dbid", "create_date" });
}

[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup))]
public static void GetForeignKeysFromSchema()
{
VerifySchemaTable(SqlClientMetaDataCollectionNames.ForeignKeys, new string[] { "CONSTRAINT_TYPE", "IS_DEFERRABLE", "INITIALLY_DEFERRED" });
}

[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup))]
public static void GetIndexesFromSchema()
{
VerifySchemaTable(SqlClientMetaDataCollectionNames.Indexes, new string[] { "index_name", "constraint_name" });
}

[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup))]
public static void GetIndexColumnsFromSchema()
{
VerifySchemaTable(SqlClientMetaDataCollectionNames.IndexColumns, new string[] { "index_name", "KeyType", "column_name" });
}

[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup))]
public static void GetColumnsFromSchema()
{
VerifySchemaTable(SqlClientMetaDataCollectionNames.Columns, new string[] { "IS_NULLABLE", "COLUMN_DEFAULT" });
}

[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup))]
public static void GetAllColumnsFromSchema()
{
VerifySchemaTable(SqlClientMetaDataCollectionNames.AllColumns, new string[] { "IS_NULLABLE", "COLUMN_DEFAULT", "IS_FILESTREAM", "IS_SPARSE", "IS_COLUMN_SET" });
}

[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup))]
public static void GetColumnSetColumnsFromSchema()
{
VerifySchemaTable(SqlClientMetaDataCollectionNames.ColumnSetColumns, new string[] { "IS_NULLABLE", "COLUMN_DEFAULT", "IS_FILESTREAM", "IS_SPARSE", "IS_COLUMN_SET" });
}

[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup))]
public static void GetUsersFromSchema()
{
VerifySchemaTable(SqlClientMetaDataCollectionNames.Users, new string[] { "uid", "user_name" });
}

[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup))]
public static void GetViewsFromSchema()
{
VerifySchemaTable(SqlClientMetaDataCollectionNames.Views, new string[] { "TABLE_NAME", "CHECK_OPTION", "IS_UPDATABLE" });
}

[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup))]
public static void GetViewColumnsFromSchema()
{
VerifySchemaTable(SqlClientMetaDataCollectionNames.ViewColumns, new string[] { "VIEW_CATALOG", "VIEW_SCHEMA", "VIEW_NAME" });
}

[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup))]
public static void GetUserDefinedTypesFromSchema()
{
VerifySchemaTable(SqlClientMetaDataCollectionNames.UserDefinedTypes, new string[] { "assembly_name", "version_revision", "culture_info" });
}

private static void VerifySchemaTable(string schemaItemName, string[] testColumnNames)
{
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(DataTestUtility.TCPConnectionString)
Expand All @@ -36,9 +108,6 @@ private static void VerifySchemaTable(string schemaItemName, string[] testColumn
connection.Open();
DataTable table = connection.GetSchema(schemaItemName);

// Display the contents of the table.
Assert.InRange<int>(table.Rows.Count, 1, int.MaxValue);

// Get all table columns
HashSet<string> columnNames = new HashSet<string>();

Expand Down

0 comments on commit 4258e4b

Please sign in to comment.