From 91b793251faf1db5c2bd45f7d98a2381a460b5ab Mon Sep 17 00:00:00 2001 From: Florian Date: Mon, 30 Mar 2026 17:47:51 +0200 Subject: [PATCH] Adding a function to show all open DuckDB Connections --- .../Public/duckdb/Show-DuckDBConnection.ps1 | 30 +++++++++++++++++++ SqlPipeline/SqlPipeline/SqlPipeline.psd1 | 5 +++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 SqlPipeline/SqlPipeline/Public/duckdb/Show-DuckDBConnection.ps1 diff --git a/SqlPipeline/SqlPipeline/Public/duckdb/Show-DuckDBConnection.ps1 b/SqlPipeline/SqlPipeline/Public/duckdb/Show-DuckDBConnection.ps1 new file mode 100644 index 0000000..2b328f2 --- /dev/null +++ b/SqlPipeline/SqlPipeline/Public/duckdb/Show-DuckDBConnection.ps1 @@ -0,0 +1,30 @@ +function Show-DuckDBConnections { + <# + .SYNOPSIS + Displays the current DuckDB connections managed by SqlPipeline. + .DESCRIPTION + Shows the in-memory connection and the active default connection, including + their connection strings and current state. + .EXAMPLE + Show-DuckDBConnections + #> + [CmdletBinding()] + param() + + [PSCustomObject]@{ + Name = 'InMemory' + ConnectionString = if ($null -ne $Script:InMemoryConnection) { $Script:InMemoryConnection.ConnectionString } else { $null } + State = if ($null -ne $Script:InMemoryConnection) { $Script:InMemoryConnection.State } else { 'Not initialized' } + IsDefault = [object]::ReferenceEquals($Script:DefaultConnection, $Script:InMemoryConnection) + } + + if ($null -ne $Script:DefaultConnection -and -not [object]::ReferenceEquals($Script:DefaultConnection, $Script:InMemoryConnection)) { + [PSCustomObject]@{ + Name = 'Default (file-based)' + ConnectionString = $Script:DefaultConnection.ConnectionString + State = $Script:DefaultConnection.State + IsDefault = $true + } + } + +} diff --git a/SqlPipeline/SqlPipeline/SqlPipeline.psd1 b/SqlPipeline/SqlPipeline/SqlPipeline.psd1 index dbbf88b..6862846 100644 --- a/SqlPipeline/SqlPipeline/SqlPipeline.psd1 +++ b/SqlPipeline/SqlPipeline/SqlPipeline.psd1 @@ -5,7 +5,7 @@ RootModule = 'SqlPipeline.psm1' # Die Versionsnummer dieses Moduls -ModuleVersion = '0.3.4' +ModuleVersion = '0.3.5' # Unterstützte PSEditions # CompatiblePSEditions = @() @@ -82,9 +82,11 @@ FunctionsToExport = @( "Invoke-DuckDBQuery" "Set-LoadMetadata" "Export-DuckDBToParquet" + "Show-DuckDBConnection" # General "Install-SqlPipeline" + ) # Aus diesem Modul zu exportierende Cmdlets. Um optimale Leistung zu erzielen, verwenden Sie keine Platzhalter und löschen den Eintrag nicht. Verwenden Sie ein leeres Array, wenn keine zu exportierenden Cmdlets vorhanden sind. @@ -124,6 +126,7 @@ PrivateData = @{ # 'ReleaseNotes' des Moduls ReleaseNotes = ' +0.3.5 Added function to show open DuckDB connections: Show-DuckDBConnection 0.3.4 Fixing package installation with PowerShell 5.1 because Expand-Archive only supports *.zip files 0.3.3 Extending Install-SqlPipeline to install DuckDB.net 1.4.4 when using PowerShell 5.1 (latest supported version), pwsh is supporting all latest versions Fixing to not cancel the module import if SimplySQL does not match the current processor architecture