From 711a6e3b9bc70a39d3b890a070990dcc2a30cd29 Mon Sep 17 00:00:00 2001 From: "Dailey, Alaric" Date: Tue, 20 Oct 2026 06:32:14 -0500 Subject: [PATCH] Default CommandType to Text and Direction to Input IDbCommand.CommandType: "The default is Text." DbParameter.Direction: "The default is Input." Both auto-properties started at 0, which is not a CommandType or ParameterDirection value. Co-Authored-By: Claude Opus 5.5 --- DuckDB.NET.Data/DuckDBCommand.cs | 2 +- DuckDB.NET.Data/DuckDBParameter.cs | 2 +- DuckDB.NET.Test/DuckDBCommandTests.cs | 9 ++++++++- DuckDB.NET.Test/Parameters/ParameterCollectionTests.cs | 9 +++++++++ 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/DuckDB.NET.Data/DuckDBCommand.cs b/DuckDB.NET.Data/DuckDBCommand.cs index 6d602614..548c5747 100644 --- a/DuckDB.NET.Data/DuckDBCommand.cs +++ b/DuckDB.NET.Data/DuckDBCommand.cs @@ -19,7 +19,7 @@ public class DuckDBCommand : DbCommand public new virtual DuckDBParameterCollection Parameters => parameters; public override int CommandTimeout { get; set; } - public override CommandType CommandType { get; set; } + public override CommandType CommandType { get; set; } = CommandType.Text; public override bool DesignTimeVisible { get; set; } public override UpdateRowSource UpdatedRowSource { get; set; } diff --git a/DuckDB.NET.Data/DuckDBParameter.cs b/DuckDB.NET.Data/DuckDBParameter.cs index 7ace2d50..7f082143 100644 --- a/DuckDB.NET.Data/DuckDBParameter.cs +++ b/DuckDB.NET.Data/DuckDBParameter.cs @@ -29,7 +29,7 @@ public override object? Value } } - public override ParameterDirection Direction { get; set; } + public override ParameterDirection Direction { get; set; } = ParameterDirection.Input; public override bool IsNullable { get; set; } [AllowNull] diff --git a/DuckDB.NET.Test/DuckDBCommandTests.cs b/DuckDB.NET.Test/DuckDBCommandTests.cs index b807f2b6..1b58d831 100644 --- a/DuckDB.NET.Test/DuckDBCommandTests.cs +++ b/DuckDB.NET.Test/DuckDBCommandTests.cs @@ -17,4 +17,11 @@ public void SetCommandTextAndConnection() cmd.CommandText.Should().Be("Select 1"); cmd.Connection.Should().Be(Connection); } -} \ No newline at end of file + + // https://learn.microsoft.com/dotnet/api/system.data.idbcommand.commandtype: "The default is Text." + [Fact] + public void CommandTypeDefaultsToText() + { + new DuckDBCommand().CommandType.Should().Be(CommandType.Text); + } +} diff --git a/DuckDB.NET.Test/Parameters/ParameterCollectionTests.cs b/DuckDB.NET.Test/Parameters/ParameterCollectionTests.cs index 786c93be..5d486538 100644 --- a/DuckDB.NET.Test/Parameters/ParameterCollectionTests.cs +++ b/DuckDB.NET.Test/Parameters/ParameterCollectionTests.cs @@ -5,6 +5,15 @@ namespace DuckDB.NET.Test.Parameters; public class ParameterCollectionTests(DuckDBDatabaseFixture db) : DuckDBTestBase(db) { + // https://learn.microsoft.com/dotnet/api/system.data.common.dbparameter.direction: "The default is Input." + [Fact] + public void ParameterDirectionDefaultsToInput() + { + new DuckDBParameter().Direction.Should().Be(ParameterDirection.Input); + new DuckDBParameter("name", 42).Direction.Should().Be(ParameterDirection.Input); + Command.CreateParameter().Direction.Should().Be(ParameterDirection.Input); + } + [Theory] [InlineData("SELECT ?1::INT;")] [InlineData("SELECT ?::INT;")]