Skip to content

Commit 50c4aa1

Browse files
committed
Tighten up nullability
1 parent bacbf92 commit 50c4aa1

File tree

8 files changed

+24
-24
lines changed

8 files changed

+24
-24
lines changed

MssqlMcp/MssqlMcp/Tools/CreateTable.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Mssql.McpServer;
99
public partial class Tools
1010
{
1111
[McpServerTool, Description("Creates a new table in the SQL Database. Expects a valid CREATE TABLE SQL statement as input.")]
12-
public async Task<object?> CreateTable(
12+
public async Task<DbOperationResult> CreateTable(
1313
[Description("CREATE TABLE SQL statement")] string sql)
1414
{
1515
var conn = await _connectionFactory.GetOpenConnectionAsync();
@@ -24,7 +24,7 @@ public partial class Tools
2424
}
2525
catch (Exception ex)
2626
{
27-
_logger?.LogError(ex, "CreateTable failed: {Message}", ex.Message);
27+
_logger.LogError(ex, "CreateTable failed: {Message}", ex.Message);
2828
return new DbOperationResult { Success = false, Error = ex.Message };
2929
}
3030
}

MssqlMcp/MssqlMcp/Tools/DescribeTable.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace Mssql.McpServer;
1010
public partial class Tools
1111
{
1212
[McpServerTool, Description("Returns table schema")]
13-
public async Task<object?> DescribeTable(
13+
public async Task<DbOperationResult> DescribeTable(
1414
[Description("Name of table")] string name)
1515
{
1616
// Query for table metadata
@@ -50,11 +50,11 @@ FROM sys.key_constraints kc
5050
{
5151
using (conn)
5252
{
53-
var result = new Dictionary<string, object?>();
53+
var result = new Dictionary<string, object>();
5454
// Table info
5555
using (var cmd = new SqlCommand(TableInfoQuery, conn))
5656
{
57-
cmd.Parameters.AddWithValue("@TableName", name);
57+
var _ = cmd.Parameters.AddWithValue("@TableName", name);
5858
using var reader = await cmd.ExecuteReaderAsync();
5959
if (await reader.ReadAsync())
6060
{
@@ -76,7 +76,7 @@ FROM sys.key_constraints kc
7676
// Columns
7777
using (var cmd = new SqlCommand(ColumnsQuery, conn))
7878
{
79-
cmd.Parameters.AddWithValue("@TableName", name);
79+
var _ = cmd.Parameters.AddWithValue("@TableName", name);
8080
using var reader = await cmd.ExecuteReaderAsync();
8181
var columns = new List<object>();
8282
while (await reader.ReadAsync())
@@ -96,7 +96,7 @@ FROM sys.key_constraints kc
9696
// Indexes
9797
using (var cmd = new SqlCommand(IndexesQuery, conn))
9898
{
99-
cmd.Parameters.AddWithValue("@TableName", name);
99+
var _ = cmd.Parameters.AddWithValue("@TableName", name);
100100
using var reader = await cmd.ExecuteReaderAsync();
101101
var indexes = new List<object>();
102102
while (await reader.ReadAsync())
@@ -114,7 +114,7 @@ FROM sys.key_constraints kc
114114
// Constraints
115115
using (var cmd = new SqlCommand(ConstraintsQuery, conn))
116116
{
117-
cmd.Parameters.AddWithValue("@TableName", name);
117+
var _ = cmd.Parameters.AddWithValue("@TableName", name);
118118
using var reader = await cmd.ExecuteReaderAsync();
119119
var constraints = new List<object>();
120120
while (await reader.ReadAsync())
@@ -133,7 +133,7 @@ FROM sys.key_constraints kc
133133
}
134134
catch (Exception ex)
135135
{
136-
_logger?.LogError(ex, "DescribeTable failed: {Message}", ex.Message);
136+
_logger.LogError(ex, "DescribeTable failed: {Message}", ex.Message);
137137
return new DbOperationResult { Success = false, Error = ex.Message };
138138
}
139139
}

MssqlMcp/MssqlMcp/Tools/DropTable.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Mssql.McpServer;
99
public partial class Tools
1010
{
1111
[McpServerTool, Description("Drops a table in the SQL Database. Expects a valid DROP TABLE SQL statement as input.")]
12-
public async Task<object?> DropTable(
12+
public async Task<DbOperationResult> DropTable(
1313
[Description("DROP TABLE SQL statement")] string sql)
1414
{
1515
var conn = await _connectionFactory.GetOpenConnectionAsync();
@@ -24,7 +24,7 @@ public partial class Tools
2424
}
2525
catch (Exception ex)
2626
{
27-
_logger?.LogError(ex, "DropTable failed: {Message}", ex.Message);
27+
_logger.LogError(ex, "DropTable failed: {Message}", ex.Message);
2828
return new DbOperationResult { Success = false, Error = ex.Message };
2929
}
3030
}

MssqlMcp/MssqlMcp/Tools/InsertData.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Mssql.McpServer;
99
public partial class Tools
1010
{
1111
[McpServerTool, Description("Updates data in a table in the SQL Database. Expects a valid INSERT SQL statement as input. ")]
12-
public async Task<object?> InsertData(
12+
public async Task<DbOperationResult> InsertData(
1313
[Description("INSERT SQL statement")] string sql)
1414
{
1515
var conn = await _connectionFactory.GetOpenConnectionAsync();
@@ -24,7 +24,7 @@ public partial class Tools
2424
}
2525
catch (Exception ex)
2626
{
27-
_logger?.LogError(ex, "InsertData failed: {Message}", ex.Message);
27+
_logger.LogError(ex, "InsertData failed: {Message}", ex.Message);
2828
return new DbOperationResult { Success = false, Error = ex.Message };
2929
}
3030
}

MssqlMcp/MssqlMcp/Tools/ListTables.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public partial class Tools
1313
private const string ListTablesQuery = @"SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' ORDER BY TABLE_SCHEMA, TABLE_NAME";
1414

1515
[McpServerTool, Description("Lists all tables in the SQL Database.")]
16-
public async Task<object?> ListTables()
16+
public async Task<DbOperationResult> ListTables()
1717
{
1818
var conn = await _connectionFactory.GetOpenConnectionAsync();
1919
try
@@ -29,7 +29,7 @@ public partial class Tools
2929
}
3030
catch (Exception ex)
3131
{
32-
_logger?.LogError(ex, "ListTables failed: {Message}", ex.Message);
32+
_logger.LogError(ex, "ListTables failed: {Message}", ex.Message);
3333
return new DbOperationResult { Success = false, Error = ex.Message };
3434
}
3535
}

MssqlMcp/MssqlMcp/Tools/ReadData.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace Mssql.McpServer;
1010
public partial class Tools
1111
{
1212
[McpServerTool, Description("Executes SQL queries against SQL Database to read data")]
13-
public async Task<object?> ReadData(
13+
public async Task<DbOperationResult> ReadData(
1414
[Description("SQL query to execute")] string sql)
1515
{
1616
var conn = await _connectionFactory.GetOpenConnectionAsync();
@@ -27,7 +27,7 @@ public partial class Tools
2727
}
2828
catch (Exception ex)
2929
{
30-
_logger?.LogError(ex, "ReadData failed: {Message}", ex.Message);
30+
_logger.LogError(ex, "ReadData failed: {Message}", ex.Message);
3131
return new DbOperationResult { Success = false, Error = ex.Message };
3232
}
3333
}

MssqlMcp/MssqlMcp/Tools/Tools.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,18 @@ namespace Mssql.McpServer;
88

99
// Register this class as a tool container
1010
[McpServerToolType]
11-
public partial class Tools(ISqlConnectionFactory connectionFactory, ILogger<Tools>? logger)
11+
public partial class Tools(ISqlConnectionFactory connectionFactory, ILogger<Tools> logger)
1212
{
1313
private readonly ISqlConnectionFactory _connectionFactory = connectionFactory;
14-
private readonly ILogger<Tools>? _logger = logger;
14+
private readonly ILogger<Tools> _logger = logger;
1515

1616
// Helper to convert DataTable to a serializable list
17-
private static List<Dictionary<string, object?>> DataTableToList(DataTable table)
17+
private static List<Dictionary<string, object>> DataTableToList(DataTable table)
1818
{
19-
var result = new List<Dictionary<string, object?>>();
19+
var result = new List<Dictionary<string, object>>();
2020
foreach (DataRow row in table.Rows)
2121
{
22-
var dict = new Dictionary<string, object?>();
22+
var dict = new Dictionary<string, object>();
2323
foreach (DataColumn col in table.Columns)
2424
{
2525
dict[col.ColumnName] = row[col];

MssqlMcp/MssqlMcp/Tools/UpdateData.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Mssql.McpServer;
99
public partial class Tools
1010
{
1111
[McpServerTool, Description("Updates data in a table in the SQL Database. Expects a valid UPDATE SQL statement as input.")]
12-
public async Task<object?> UpdateData(
12+
public async Task<DbOperationResult> UpdateData(
1313
[Description("UPDATE SQL statement")] string sql)
1414
{
1515
var conn = await _connectionFactory.GetOpenConnectionAsync();
@@ -24,7 +24,7 @@ public partial class Tools
2424
}
2525
catch (Exception ex)
2626
{
27-
_logger?.LogError(ex, "UpdateData failed: {Message}", ex.Message);
27+
_logger.LogError(ex, "UpdateData failed: {Message}", ex.Message);
2828
return new DbOperationResult { Success = false, Error = ex.Message };
2929
}
3030
}

0 commit comments

Comments
 (0)