Public/New-SqliteRow.ps1
|
function New-SqliteRow { [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseShouldProcessForStateChangingFunctions", "", Justification = "Creates in-memory object only.")] [CmdletBinding()][OutputType([PSCustomObject])] param ( [Parameter(Mandatory = $true)] [SQLiteDBConfig] $SqliteDBConfig, [Parameter(Mandatory = $true)] [string] $TableName, [Parameter(Mandatory = $true)] [System.Collections.IDictionary] $RowData, [Parameter()] [Microsoft.Data.Sqlite.SqliteConnection] $SqliteConnection, [Parameter()] [switch] $KeepAlive ) $ownsConnection = $false if (!$PSBoundParameters.ContainsKey('SqliteConnection') -or $null -eq $SqliteConnection) { $SqliteConnection = [SqliteHelper]::NewConnection($SqliteDBConfig.ConnectionString) $ownsConnection = $true } try { return [SqliteHelper]::NewRow($SqliteDBConfig, $TableName, [hashtable]$RowData, $SqliteConnection) } finally { if ($ownsConnection -and !$KeepAlive) { [SqliteHelper]::CloseConnection($SqliteConnection) } } } |