Skip to content

Commit bb45776

Browse files
committed
Set duckdb_api config option for connections
1 parent dbedb37 commit bb45776

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

DuckDB.NET.Data/DuckDBConnectionStringBuilder.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public class DuckDBConnectionStringBuilder : DbConnectionStringBuilder
1919
public const string InMemorySharedConnectionString = "DataSource=:memory:?cache=shared";
2020

2121
private const string DataSourceKey = "DataSource";
22+
private const string DuckDBApiConfigKey = "duckdb_api";
2223

2324
static DuckDBConnectionStringBuilder()
2425
{
@@ -38,6 +39,11 @@ internal static DuckDBConnectionString Parse(string connectionString)
3839
ConnectionString = connectionString
3940
};
4041

42+
if (!builder.ContainsKey(DuckDBApiConfigKey))
43+
{
44+
builder[DuckDBApiConfigKey] = "DuckDB.NET";
45+
}
46+
4147
var dataSource = builder.DataSource;
4248

4349
var configurations = new Dictionary<string, string>();

DuckDB.NET.Test/DuckDBConnectionTests.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -536,4 +536,17 @@ void Assert(object sender, StateChangeEventArgs args)
536536
handlerCalled = true;
537537
}
538538
}
539+
540+
[Fact]
541+
public void ConnectionSetsDuckDBApiConfigOption()
542+
{
543+
using (var connection = new DuckDBConnection(DuckDBConnectionStringBuilder.InMemoryConnectionString))
544+
{
545+
connection.Open();
546+
using var command = connection.CreateCommand();
547+
command.CommandText = "SELECT current_setting('duckdb_api');";
548+
var value = command.ExecuteScalar();
549+
value.Should().Be("DuckDB.NET");
550+
}
551+
}
539552
}

0 commit comments

Comments
 (0)