From 98fbca1f4c38175a5e715353b13b4159b22b371b Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Wed, 1 Apr 2026 19:22:53 +0200 Subject: [PATCH 01/12] Add Import-DbaParquet command and parquet dependencies Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../Microsoft.IO.RecyclableMemoryStream.dll | Bin 0 -> 62896 bytes bin/parquet/Parquet.Net.dll | Bin 0 -> 719360 bytes bin/parquet/Snappier.dll | Bin 0 -> 47616 bytes dbatools.psd1 | 1 + dbatools.psm1 | 1 + public/Import-DbaParquet.ps1 | 1009 +++++++++++++++++ tests/Import-DbaParquet.Tests.ps1 | 244 ++++ tests/pester.groups.ps1 | 1 + 8 files changed, 1256 insertions(+) create mode 100644 bin/parquet/Microsoft.IO.RecyclableMemoryStream.dll create mode 100644 bin/parquet/Parquet.Net.dll create mode 100644 bin/parquet/Snappier.dll create mode 100644 public/Import-DbaParquet.ps1 create mode 100644 tests/Import-DbaParquet.Tests.ps1 diff --git a/bin/parquet/Microsoft.IO.RecyclableMemoryStream.dll b/bin/parquet/Microsoft.IO.RecyclableMemoryStream.dll new file mode 100644 index 0000000000000000000000000000000000000000..ca6f0586a38bd87deb4966e2323cb997b5c679a7 GIT binary patch literal 62896 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νg+rkDgQ& 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 CpMx6! literal 0 HcmV?d00001 diff --git a/bin/parquet/Parquet.Net.dll b/bin/parquet/Parquet.Net.dll new file mode 100644 index 0000000000000000000000000000000000000000..da14edb75431c141dc3d00a01c2ca44834c8b228 GIT binary patch literal 719360 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⪙IhZ(LJ@G7EZV{)5bpz?JOU=^v^ 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�+=f);P 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%0Dpq{?J#6u4jnytK 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

ERS+Go%AgB3~j*c)M15tI3!Oi-qc3 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 NWc}m6|Nk`be*vd|4Cw#> literal 0 HcmV?d00001 diff --git a/bin/parquet/Snappier.dll b/bin/parquet/Snappier.dll new file mode 100644 index 0000000000000000000000000000000000000000..1d7e74bc93510c4c867950ccd0daa92a46e6397d GIT binary patch literal 47616 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 ihWadg>ci!x-F varchar(16/32/64/etc.)). + For production use with specific constraints, create tables manually with appropriate data types, indexes, and constraints. + + .PARAMETER NoColumnOptimize + Skips the automatic column size optimization that runs after AutoCreateTable imports. + By default, AutoCreateTable creates varchar(MAX) columns and then shrinks them to fit the imported data. + Use this switch when importing multiple Parquet files into the same auto-created table, so that later files + with longer values are not rejected due to columns being shrunk to fit only the first file's data. + + .PARAMETER Truncate + Removes all existing data from the destination table before importing. The truncate operation is part of the transaction. + Use this for full data refreshes where you want to replace all existing data with the Parquet contents. + + .PARAMETER NotifyAfter + Sets how often progress notifications are displayed during the import, measured in rows. Defaults to 50,000. + Lower values provide more frequent updates but may slow the import slightly, while higher values reduce overhead for very large files. + + .PARAMETER BatchSize + Controls how many rows are sent to SQL Server in each batch during the bulk copy operation. Defaults to 50,000. + Larger batches are generally more efficient but use more memory, while smaller batches provide better granular control and error isolation. + + .PARAMETER UseFileNameForSchema + Extracts the schema name from the filename using the first period as a delimiter. For example, 'sales.customers.parquet' imports to the 'sales' schema. + If no period is found, defaults to 'dbo'. The schema will be created if it doesn't exist. This parameter is ignored if -Schema is explicitly specified. + + .PARAMETER TableLock + Acquires an exclusive table lock for the duration of the import instead of using row-level locks. + Improves performance for large imports by reducing lock overhead, but blocks other operations on the table during the import. + + .PARAMETER CheckConstraints + Enforces check constraints, foreign keys, and other table constraints during the import. By default, constraints are not checked for performance. + Enable this when data integrity validation is critical, but expect slower import performance. + + .PARAMETER FireTriggers + Executes INSERT triggers on the destination table during the bulk copy operation. By default, triggers are not fired for performance. + Use this when your triggers perform essential business logic like auditing, logging, or cascading updates that must run during import. + + .PARAMETER KeepIdentity + Preserves identity column values from the Parquet file instead of generating new ones. By default, the destination assigns new identity values. + Use this when migrating data and you need to maintain existing primary key values or referential integrity. + + .PARAMETER NoProgress + Disables the progress bar display during import to improve performance, especially for very large files. + Use this in automated scripts or when maximum import speed is more important than visual progress feedback. + + .PARAMETER NoTransaction + Disables the automatic transaction wrapper, allowing partial imports to remain committed even if the operation fails. + Use this for very large imports where you want to commit data in batches, but be aware that failed imports may leave partial data. + + .PARAMETER StaticColumns + A hashtable of static column names and values to add to every row. + Useful for tagging imported data with metadata like source filename or import timestamp. + Keys are column names, values are the static values to insert. + Example: @{ SourceFile = "data.parquet"; ImportDate = (Get-Date) } + + .PARAMETER Parallel + Reserved for future use. Parallel processing is not currently implemented for Parquet imports. + + .PARAMETER ThrottleLimit + Reserved for future use. Only used when Parallel is specified. + + .PARAMETER ParallelBatchSize + Reserved for future use. Only used when Parallel is specified. + + .PARAMETER WhatIf + Shows what would happen if the command were to run. No actions are actually performed. + + .PARAMETER Confirm + Prompts you for confirmation before executing any changing operations within the command. + + .PARAMETER EnableException + By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message. + This avoids overwhelming you with "sea of red" exceptions, but is inconvenient because it basically disables advanced scripting. + Using this switch turns this "nice by default" feature off and enables you to catch exceptions with your own try/catch. + + .NOTES + Tags: Import, Data, Utility + Author: Chrissy LeMaire (@cl), netnerds.net + + Website: https://dbatools.io + Copyright: (c) 2018 by dbatools, licensed under MIT + License: MIT https://opensource.org/licenses/MIT + + Requires Parquet.NET library (Parquet.Net.dll) in the dbatools module bin directory. + + .LINK + https://dbatools.io/Import-DbaParquet + + + .OUTPUTS + PSCustomObject + + Returns one object per Parquet file imported. Each object contains comprehensive metrics about the import operation. + + Properties: + - ComputerName: The computer name of the SQL Server instance where the Parquet file was imported + - InstanceName: The SQL Server instance name + - SqlInstance: The full SQL Server instance name (computer\instance format) + - Database: The database name where data was imported + - Table: The table name where Parquet data was loaded + - Schema: The schema name containing the target table + - RowsCopied: The total number of rows successfully copied from the Parquet file (int64) + - Elapsed: The elapsed time for the import operation in elapsed time format (automatically formatted as HH:mm:ss.fff) + - RowsPerSecond: The average import rate calculated as total rows divided by elapsed time in seconds (decimal) + - Path: The full file system path of the imported Parquet file + + .EXAMPLE + PS C:\> Import-DbaParquet -Path C:\temp\housing.parquet -SqlInstance sql001 -Database markets + + Imports the entire housing.parquet to the SQL "markets" database on a SQL Server named sql001. + + Since a table name was not specified, the table name is automatically determined from filename as "housing". + + .EXAMPLE + PS C:\> Get-ChildItem -Path \\FileServer\parquets -Filter *.parquet | Import-DbaParquet -SqlInstance sql001, sql002 -Database tempdb -AutoCreateTable + + Imports every Parquet file in the \\FileServer\parquets path into both sql001 and sql002's tempdb database. Each Parquet file will be imported into an automatically determined table name. + + .EXAMPLE + PS C:\> Get-ChildItem -Path \\FileServer\parquets -Filter *.parquet | Import-DbaParquet -SqlInstance sql001, sql002 -Database tempdb -AutoCreateTable -WhatIf + + Shows what would happen if the command were to be executed + + .EXAMPLE + PS C:\> Import-DbaParquet -Path c:\temp\dataset.parquet -SqlInstance sql2016 -Database tempdb -Column Name, Address, Mobile + + Import only Name, Address and Mobile even if other columns exist. All other columns are ignored and therefore null or default values. + + .EXAMPLE + PS C:\> Import-DbaParquet -Path C:\temp\schema.data.parquet -SqlInstance sql2016 -database tempdb -UseFileNameForSchema + + Will import the contents of C:\temp\schema.data.parquet to table 'data' in schema 'schema'. + + .EXAMPLE + PS C:\> Import-DbaParquet -Path C:\temp\schema.data.parquet -SqlInstance sql2016 -database tempdb -UseFileNameForSchema -Table testtable + + Will import the contents of C:\temp\schema.data.parquet to table 'testtable' in schema 'schema'. + + .EXAMPLE + PS C:\> $columns = @{ + >> Text = 'FirstName' + >> Number = 'PhoneNumber' + >> } + PS C:\> Import-DbaParquet -Path c:\temp\supersmall.parquet -SqlInstance sql2016 -Database tempdb -ColumnMap $columns + + The Parquet field 'Text' is inserted into SQL column 'FirstName' and Parquet field Number is inserted into the SQL Column 'PhoneNumber'. All other columns are ignored and therefore null or default values. + + .EXAMPLE + PS C:\> Import-DbaParquet -Path C:\temp\refresh.parquet -SqlInstance sql001 -Database tempdb -Table LookupData -Truncate + + Performs a full data refresh by truncating the existing table before importing. The truncate and import + operations are wrapped in a transaction, so if the import fails, the original data is preserved. + + .EXAMPLE + PS C:\> $static = @{ SourceFile = "sales_2024.parquet"; ImportDate = (Get-Date); Region = "EMEA" } + PS C:\> Import-DbaParquet -Path C:\temp\sales.parquet -SqlInstance sql001 -Database sales -Table SalesData -StaticColumns $static -AutoCreateTable + + Imports Parquet data and adds three static columns (SourceFile, ImportDate, Region) to every row. + This is useful for tracking data lineage and tagging imported records with metadata. + + .EXAMPLE + PS C:\> Import-DbaParquet -Path C:\temp\quickload.parquet -SqlInstance sql001 -Database tempdb -Table QuickData -AutoCreateTable + + Imports quickload.parquet with AutoCreateTable. After import completes, column sizes are automatically + optimized by querying actual max lengths and altering columns from varchar(MAX) to padded sizes + like varchar(16), varchar(32), varchar(64), etc. + #> + [CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'Low')] + param ( + [parameter(ValueFromPipeline)] + [ValidateNotNullOrEmpty()] + [Alias("Parquet", "FullPath")] + [object[]]$Path, + [Parameter(Mandatory)] + [DbaInstanceParameter[]]$SqlInstance, + [PSCredential]$SqlCredential, + [Parameter(Mandatory)] + [string]$Database, + [string]$Table, + [string]$Schema, + [switch]$Truncate, + [int]$BatchSize = 50000, + [int]$NotifyAfter = 50000, + [switch]$TableLock, + [switch]$CheckConstraints, + [switch]$FireTriggers, + [switch]$KeepIdentity, + [string[]]$Column, + [hashtable]$ColumnMap, + [switch]$KeepOrdinalOrder, + [switch]$AutoCreateTable, + [switch]$NoColumnOptimize, + [switch]$NoProgress, + [switch]$UseFileNameForSchema, + [switch]$NoTransaction, + [hashtable]$StaticColumns, + [switch]$Parallel, + [int]$ThrottleLimit = 0, + [int]$ParallelBatchSize = 100, + [switch]$EnableException + ) + begin { + $scriptelapsed = [System.Diagnostics.Stopwatch]::StartNew() + + if ($PSBoundParameters.UseFileNameForSchema -and $PSBoundParameters.Schema) { + Write-Message -Level Warning -Message "Schema and UseFileNameForSchema parameters both specified. UseSchemaInFileName will be ignored." + } + + # Load Parquet.NET assembly + $parquetAssembly = [System.AppDomain]::CurrentDomain.GetAssemblies() | Where-Object { $_.GetName().Name -eq 'Parquet' } + if (-not $parquetAssembly) { + $moduleRoot = $script:PSModuleRoot + if (-not $moduleRoot) { + $moduleRoot = Split-Path -Path (Split-Path -Path $MyInvocation.MyCommand.ScriptBlock.File -Parent) -Parent + } + $parquetDllPath = Join-Path -Path $moduleRoot -ChildPath "bin\parquet\Parquet.Net.dll" + if (Test-Path $parquetDllPath) { + Add-Type -Path $parquetDllPath + } else { + Stop-Function -Message "Parquet.NET library not found. Ensure Parquet.Net.dll is available in the dbatools module directory at $parquetDllPath" -EnableException $true + return + } + } + + function Get-ParquetReader { + param([string]$Path) + $stream = [System.IO.File]::OpenRead($Path) + try { + $reader = [Parquet.ParquetReader]::CreateAsync($stream).GetAwaiter().GetResult() + return $reader + } catch { + $stream.Dispose() + throw + } + } + + function Get-ParquetDataFields { + param($Reader) + $dataFields = $Reader.Schema.GetDataFields() + # Fail-fast on nested/complex types + foreach ($df in $dataFields) { + if ($df.ClrType -eq [System.Object] -or + $df.ClrType.IsArray -and $df.ClrType -ne [byte[]]) { + Stop-Function -Message "Nested Parquet types not supported: $($df.Name) (type: $($df.ClrType.FullName))" -EnableException $true + return + } + } + return $dataFields + } + + function Get-ParquetDataTable { + param( + $Reader, + [string[]]$Column, + [hashtable]$StaticColumns, + [int]$RowGroupIndex + ) + + $dataFields = $Reader.Schema.GetDataFields() + $dataTable = New-Object System.Data.DataTable + + foreach ($df in $dataFields) { + if ($Column -and $Column -notcontains $df.Name) { continue } + [void]$dataTable.Columns.Add($df.Name, $df.ClrType) + } + + if ($StaticColumns) { + foreach ($key in $StaticColumns.Keys) { + if (-not $dataTable.Columns.Contains($key)) { + [void]$dataTable.Columns.Add($key, [string]) + } + } + } + + $rowGroupReader = $Reader.OpenRowGroupReader($RowGroupIndex) + $columns = @{} + $rowCount = 0 + foreach ($df in $dataFields) { + if ($Column -and $Column -notcontains $df.Name) { continue } + $col = $rowGroupReader.ReadColumnAsync($df).GetAwaiter().GetResult() + $columns[$df.Name] = $col.Data + $rowCount = $col.Data.Length + } + + for ($row = 0; $row -lt $rowCount; $row++) { + $dataRow = $dataTable.NewRow() + foreach ($name in $columns.Keys) { + $val = $columns[$name][$row] + $dataRow[$name] = if ($null -eq $val) { [DBNull]::Value } else { $val } + } + if ($StaticColumns) { + foreach ($key in $StaticColumns.Keys) { + $dataRow[$key] = $StaticColumns[$key] + } + } + [void]$dataTable.Rows.Add($dataRow) + } + + if ($rowGroupReader -is [System.IDisposable]) { $rowGroupReader.Dispose() } + + return ,$dataTable + } + + function Convert-ParquetTypeToSqlType { + param([System.Type]$ClrType) + switch ($ClrType.FullName) { + 'System.String' { return 'varchar(MAX)' } + 'System.Int32' { return 'int' } + 'System.Int64' { return 'bigint' } + 'System.Int16' { return 'smallint' } + 'System.Byte' { return 'tinyint' } + 'System.Boolean' { return 'bit' } + 'System.Single' { return 'real' } + 'System.Double' { return 'float' } + 'System.Decimal' { return 'decimal(38,18)' } + 'System.DateTime' { return 'datetime2(6)' } + 'System.DateTimeOffset' { return 'datetimeoffset' } + 'System.TimeSpan' { return 'time' } + 'System.Byte[]' { return 'varbinary(MAX)' } + 'System.Guid' { return 'uniqueidentifier' } + default { + Stop-Function -Message "Unsupported Parquet type: $($ClrType.FullName)" -EnableException $true + return + } + } + } + + function New-SqlTable { + <# + .SYNOPSIS + Creates new Table using existing SqlCommand. + + SQL datatypes based on Parquet schema data fields. + All columns use varchar(MAX). + + .EXAMPLE + New-SqlTable -DataFields $dataFields -SqlConn $sqlconn -Transaction $transaction + + .OUTPUTS + Creates new table + #> + [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseShouldProcessForStateChangingFunctions", "")] + param ( + [Parameter(Mandatory)] + [object[]]$DataFields, + [Microsoft.Data.SqlClient.SqlConnection]$sqlconn, + [Microsoft.Data.SqlClient.SqlTransaction]$transaction + ) + + $columns = @() + foreach ($df in $DataFields) { + $columns += $df.Name + } + + $sqldatatypes = @(); + + foreach ($column in $columns) { + $sqldatatypes += "[$column] varchar(MAX)" + } + + $sql = "BEGIN CREATE TABLE [$schema].[$table] ($($sqldatatypes -join ' NULL,')) END" + $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($sql, $sqlconn, $transaction) + + try { + $null = $sqlcmd.ExecuteNonQuery() + } catch { + $errormessage = $_.Exception.Message.ToString() + Stop-Function -Continue -Message "Failed to execute $sql. `n$errormessage" + } + + Write-Message -Level Verbose -Message "Successfully created table $schema.$table with the following column definitions:`n $($sqldatatypes -join "`n ")" + Write-Message -Level Verbose -Message "This is inefficient but allows the script to import without issues." + Write-Message -Level Verbose -Message "Consider creating the table first using best practices if the data will be used in production." + } + + function Optimize-ColumnSize { + <# + .SYNOPSIS + Optimizes varchar(MAX) columns to appropriate sizes after import. + + .DESCRIPTION + Queries MAX(LEN()) for each column and ALTERs to appropriate varchar sizes. + This is called automatically when AutoCreateTable is used. + + .NOTES + Requires SQL Server 2005 or higher. This is not a limitation since varchar(MAX) + was introduced in SQL Server 2005 - the feature this optimizes cannot exist on SQL 2000. + #> + [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseShouldProcessForStateChangingFunctions", "")] + param ( + [Microsoft.Data.SqlClient.SqlConnection]$SqlConn, + [string]$Schema, + [string]$Table + ) + + Write-Message -Level Verbose -Message "Optimizing column sizes for $Schema.$Table..." + + # Get column names and their current types from the table + $getColumnsSql = @" +SELECT c.name AS ColumnName, t.name AS TypeName +FROM sys.columns c +INNER JOIN sys.types t ON c.user_type_id = t.user_type_id +WHERE c.object_id = OBJECT_ID(@tableName) + AND t.name IN ('nvarchar', 'varchar') + AND c.max_length = -1 +"@ + $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($getColumnsSql, $SqlConn) + $null = $sqlcmd.Parameters.AddWithValue('tableName', "[$Schema].[$Table]") + + $columns = @{} + $reader = $sqlcmd.ExecuteReader() + while ($reader.Read()) { + $columns[$reader["ColumnName"]] = $reader["TypeName"] + } + $reader.Close() + + if ($columns.Count -eq 0) { + Write-Message -Level Verbose -Message "No nvarchar(MAX)/varchar(MAX) columns to optimize." + return + } + + # Build MAX(LEN()) query for all columns + $columnNames = @($columns.Keys) + $maxLenSelects = $columnNames | ForEach-Object { "MAX(LEN([$_])) AS [$_]" } + $maxLenSql = "SELECT $($maxLenSelects -join ', ') FROM [$Schema].[$Table]" + + $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($maxLenSql, $SqlConn) + $reader = $sqlcmd.ExecuteReader() + + $maxLengths = @{} + if ($reader.Read()) { + foreach ($col in $columnNames) { + $val = $reader[$col] + if ($val -is [DBNull] -or $null -eq $val) { + $maxLengths[$col] = 1 + } else { + $maxLengths[$col] = [int]$val + } + } + } + $reader.Close() + + # ALTER each column to appropriate size, preserving original type + foreach ($col in $columnNames) { + $maxLen = $maxLengths[$col] + if ($maxLen -eq 0) { $maxLen = 1 } + + # Preserve the original column type (nvarchar stays nvarchar, varchar stays varchar) + # This is safer than trying to detect Unicode - no risk of data loss + $baseType = $columns[$col] + $maxAllowed = if ($baseType -eq "nvarchar") { 4000 } else { 8000 } + + if ($maxLen -gt $maxAllowed) { + # Keep as MAX if truly needed + Write-Message -Level Verbose -Message "Column [$col] requires $baseType(MAX) - max length is $maxLen" + continue + } + + # Add padding to the length to allow for future data that may be slightly longer + # This prevents issues when re-importing to the same table with -Truncate + # Round up to common sizes: 16, 32, 64, 128, 256, 512, 1024, 2048, 4000/8000 + $paddedLen = switch ($true) { + ($maxLen -le 16) { 16; break } + ($maxLen -le 32) { 32; break } + ($maxLen -le 64) { 64; break } + ($maxLen -le 128) { 128; break } + ($maxLen -le 256) { 256; break } + ($maxLen -le 512) { 512; break } + ($maxLen -le 1024) { 1024; break } + ($maxLen -le 2048) { 2048; break } + default { $maxAllowed } + } + # Ensure we don't exceed the max allowed + if ($paddedLen -gt $maxAllowed) { $paddedLen = $maxAllowed } + + $newType = "${baseType}($paddedLen)" + # SQL Server 2008 R2 and earlier require NULL/NOT NULL in ALTER COLUMN + # Original columns were varchar(MAX) NULL, so we preserve NULL + $alterSql = "ALTER TABLE [$Schema].[$Table] ALTER COLUMN [$col] $newType NULL" + + Write-Message -Level Verbose -Message "Optimizing [$col]: varchar(MAX) -> $newType (max data length: $maxLen, padded to: $paddedLen)" + + try { + $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($alterSql, $SqlConn) + $null = $sqlcmd.ExecuteNonQuery() + } catch { + Write-Message -Level Warning -Message "Failed to optimize column [$col]: $($_.Exception.Message)" + } + } + + Write-Message -Level Verbose -Message "Column size optimization complete." + } + + function ConvertTo-DotnetType { + param ( + [string]$DataType + ) + + switch ($DataType) { + 'BigInt' { return [System.Int64] } + 'Binary' { return [System.Byte[]] } + 'VarBinary' { return [System.Byte[]] } + 'Bit' { return [System.Boolean] } + 'Char' { return [System.String] } + 'VarChar' { return [System.String] } + 'NChar' { return [System.String] } + 'NVarChar' { return [System.String] } + 'DateTime' { return [System.DateTime] } + 'SmallDateTime' { return [System.DateTime] } + 'Date' { return [System.DateTime] } + 'Time' { return [System.DateTime] } + 'DateTime2' { return [System.DateTime] } + 'Decimal' { return [System.Decimal] } + 'Numeric' { return [System.Decimal] } + 'Money' { return [System.Decimal] } + 'SmallMoney' { return [System.Decimal] } + 'Float' { return [System.Double] } + 'Int' { return [System.Int32] } + 'Real' { return [System.Single] } + 'UniqueIdentifier' { return [System.Guid] } + 'SmallInt' { return [System.Int16] } + 'TinyInt' { return [System.Byte] } + 'Xml' { return [System.String] } + default { throw "Unsupported SMO DataType: $($DataType)" } + } + } + + function Get-TableDefinitionFromInfoSchema { + param ( + [string]$table, + [string]$schema, + $sqlconn + ) + + $query = "SELECT c.COLUMN_NAME, c.DATA_TYPE, c.ORDINAL_POSITION - 1 FROM INFORMATION_SCHEMA.COLUMNS AS c WHERE TABLE_SCHEMA = @schema AND TABLE_NAME = @table;" + $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($query, $sqlconn, $transaction) + $null = $sqlcmd.Parameters.AddWithValue('schema', $schema) + $null = $sqlcmd.Parameters.AddWithValue('table', $table) + + $result = @() + try { + $reader = $sqlcmd.ExecuteReader() + foreach ($dataRow in $reader) { + $result += [PSCustomObject]@{ + Name = $dataRow[0] + DataType = $dataRow[1] + Index = $dataRow[2] + } + } + $reader.Close() + } catch { + # callers report back the error if $result is empty + } + + return $result + } + + Write-Message -Level Verbose -Message "Started at $(Get-Date)" + } + process { + if ($PSBoundParameters.ContainsKey('Parallel') -or $PSBoundParameters.ContainsKey('ThrottleLimit') -or $PSBoundParameters.ContainsKey('ParallelBatchSize')) { + Stop-Function -Message "Parallel import is not implemented for Import-DbaParquet." -EnableException $EnableException + return + } + + foreach ($filename in $Path) { + if (-not $PSBoundParameters.ColumnMap) { + $ColumnMap = $null + } + + if ($filename.FullName) { + $filename = $filename.FullName + } + + if (-not (Test-Path -Path $filename)) { + Stop-Function -Continue -Message "$filename cannot be found" + } + + $file = (Resolve-Path -Path $filename).ProviderPath + + $filename = [IO.Path]::GetFileNameWithoutExtension($file) + + # Automatically generate Table name if not specified + if (-not $PSBoundParameters.Table) { + if ($filename.IndexOf('.') -ne -1) { $periodFound = $true } + + if ($UseFileNameForSchema -and $periodFound -and -not $PSBoundParameters.Schema) { + $table = $filename.Remove(0, $filename.IndexOf('.') + 1) + Write-Message -Level Verbose -Message "Table name not specified, using $table from file name" + } else { + $table = $filename + Write-Message -Level Verbose -Message "Table name not specified, using $table" + } + } + + # Use dbo as schema name if not specified in params, or as first string before a period in filename + if (-not ($PSBoundParameters.Schema)) { + if ($UseFileNameForSchema) { + if ($filename.IndexOf('.') -eq -1) { + $schema = "dbo" + Write-Message -Level Verbose -Message "Schema not specified, and not found in file name, using dbo" + } else { + $schema = $filename.SubString(0, $filename.IndexOf('.')) + Write-Message -Level Verbose -Message "Schema detected in filename, using $schema" + } + } else { + $schema = 'dbo' + Write-Message -Level Verbose -Message "Schema not specified, using dbo" + } + } + + foreach ($instance in $SqlInstance) { + $elapsed = [System.Diagnostics.Stopwatch]::StartNew() + # Open Connection to SQL Server + # Detect if user passed an already-open connection that we should preserve + $startedWithAnOpenConnection = $false + try { + # Check if user passed a Server SMO object with an open connection + # Following the pattern from Invoke-DbaQuery.ps1 + if ($instance.InputObject.GetType().Name -eq "Server" -and + (-not $SqlCredential) -and + ($instance.InputObject.ConnectionContext.DatabaseName -eq $Database -or -not $Database)) { + $startedWithAnOpenConnection = $true + Write-Message -Level Debug -Message "User provided an open connection - will preserve it after import" + } + + $server = Connect-DbaInstance -SqlInstance $instance -SqlCredential $SqlCredential -Database $Database -MinimumVersion 9 + $sqlconn = $server.ConnectionContext.SqlConnectionObject + if ($sqlconn.State -ne 'Open') { + $sqlconn.Open() + } + } catch { + Stop-Function -Message "Failure" -Category ConnectionError -ErrorRecord $_ -Target $instance -Continue + } + + if (-not $NoTransaction) { + if ($PSCmdlet.ShouldProcess($instance, "Starting transaction in $Database")) { + # Everything will be contained within 1 transaction, even creating a new table if required + # and truncating the table, if specified. + $transaction = $sqlconn.BeginTransaction() + } + } + + # Ensure Schema exists + $sql = "SELECT COUNT(*) FROM sys.schemas WHERE name = @schema" + $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($sql, $sqlconn, $transaction) + $null = $sqlcmd.Parameters.AddWithValue('schema', $schema) + # If Schema doesn't exist create it + # Defaulting to dbo. + if (($sqlcmd.ExecuteScalar()) -eq 0) { + if (-not $AutoCreateTable) { + Stop-Function -Continue -Message "Schema $Schema does not exist and AutoCreateTable was not specified" + } + $sql = "CREATE SCHEMA [$schema] AUTHORIZATION dbo" + if ($PSCmdlet.ShouldProcess($instance, "Creating schema $schema")) { + $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($sql, $sqlconn, $transaction) + try { + $null = $sqlcmd.ExecuteNonQuery() + } catch { + Stop-Function -Continue -Message "Could not create $schema" -ErrorRecord $_ + } + } + } + + # Ensure table or view exists + $sql = "SELECT COUNT(*) FROM sys.tables WHERE name = @table AND schema_id = schema_id(@schema)" + $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($sql, $sqlconn, $transaction) + $null = $sqlcmd.Parameters.AddWithValue('schema', $schema) + $null = $sqlcmd.Parameters.AddWithValue('table', $table) + + $sql2 = "SELECT COUNT(*) FROM sys.views WHERE name = @table AND schema_id=schema_id(@schema)" + $sqlcmd2 = New-Object Microsoft.Data.SqlClient.SqlCommand($sql2, $sqlconn, $transaction) + $null = $sqlcmd2.Parameters.AddWithValue('schema', $schema) + $null = $sqlcmd2.Parameters.AddWithValue('table', $table) + + $shouldMapCorrectTypes = $false + + # Track if we created a "fat" table (varchar(MAX) for all columns) that needs post-import optimization + $createdFatTable = $false + + # Open Parquet reader to get schema information + $parquetReader = $null + try { + $parquetReader = Get-ParquetReader -Path $file + $dataFields = Get-ParquetDataFields -Reader $parquetReader + } catch { + Stop-Function -Continue -Message "Failed to open Parquet file: $file" -ErrorRecord $_ + } + + # Create the table if required. Remember, this will occur within a transaction, so if the script fails, the + # new table will no longer exist. + if (($sqlcmd.ExecuteScalar()) -eq 0 -and ($sqlcmd2.ExecuteScalar()) -eq 0) { + if (-not $AutoCreateTable) { + Stop-Function -Continue -Message "Table or view $table does not exist and AutoCreateTable was not specified" + } + Write-Message -Level Verbose -Message "Table does not exist" + + if ($PSCmdlet.ShouldProcess($instance, "Creating table $table")) { + try { + New-SqlTable -DataFields $dataFields -SqlConn $sqlconn -Transaction $transaction + $createdFatTable = $true + } catch { + Stop-Function -Continue -Message "Failure" -ErrorRecord $_ + } + } + } else { + $shouldMapCorrectTypes = $true + Write-Message -Level Verbose -Message "Table exists" + } + + # Truncate if specified. Remember, this will occur within a transaction, so if the script fails, the + # truncate will not be committed. + if ($Truncate) { + $sql = "TRUNCATE TABLE [$schema].[$table]" + if ($PSCmdlet.ShouldProcess($instance, "Performing TRUNCATE TABLE [$schema].[$table] on $Database")) { + $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($sql, $sqlconn, $transaction) + try { + $null = $sqlcmd.ExecuteNonQuery() + } catch { + Stop-Function -Continue -Message "Could not truncate $schema.$table" -ErrorRecord $_ + } + } + } + + # Setup bulk copy + Write-Message -Level Verbose -Message "Starting bulk copy for $(Split-Path $file -Leaf)" + + # Setup bulk copy options + [int]$bulkCopyOptions = ([Microsoft.Data.SqlClient.SqlBulkCopyOptions]::Default) + $options = "TableLock", "CheckConstraints", "FireTriggers", "KeepIdentity" + foreach ($option in $options) { + $optionValue = Get-Variable $option -ValueOnly -ErrorAction SilentlyContinue + if ($optionValue -eq $true) { + $bulkCopyOptions += $([Microsoft.Data.SqlClient.SqlBulkCopyOptions]::$option).value__ + } + } + + if ($PSCmdlet.ShouldProcess($instance, "Performing import from $file")) { + try { + # Create SqlBulkCopy using default options, or options specified in command line. + if ($bulkCopyOptions) { + $bulkcopy = New-Object Microsoft.Data.SqlClient.SqlBulkCopy($sqlconn, $bulkCopyOptions, $transaction) + } else { + $bulkcopy = New-Object Microsoft.Data.SqlClient.SqlBulkCopy($sqlconn, ([Microsoft.Data.SqlClient.SqlBulkCopyOptions]::Default), $transaction) + } + + $bulkcopy.DestinationTableName = "[$schema].[$table]" + $bulkcopy.BulkCopyTimeout = 0 + $bulkCopy.BatchSize = $BatchSize + $bulkCopy.NotifyAfter = $NotifyAfter + $bulkCopy.EnableStreaming = $true + + # Auto-create column mapping from Parquet schema for name-based matching + if (-not $KeepOrdinalOrder -and -not $Column) { + if ($ColumnMap) { + Write-Message -Level Verbose -Message "ColumnMap was supplied. Additional auto-mapping will not be attempted." + } else { + try { + $ColumnMap = @{ } + foreach ($df in $dataFields) { + Write-Message -Level Verbose -Message "Adding $($df.Name) to ColumnMap" + $ColumnMap.Add($df.Name, $df.Name) + } + } catch { + # oh well, we tried + Write-Message -Level Verbose -Message "Couldn't auto create ColumnMap from Parquet schema" + $ColumnMap = $null + } + } + } + + if ($ColumnMap) { + foreach ($columnname in $ColumnMap) { + foreach ($key in $columnname.Keys | Sort-Object) { + #sort added in case of column maps done by ordinal + $null = $bulkcopy.ColumnMappings.Add($key, $columnname[$key]) + } + } + } + + if ($Column) { + foreach ($columnname in $Column) { + $null = $bulkcopy.ColumnMappings.Add($columnname, $columnname) + } + } + + # Add static column mappings for metadata tagging + if ($PSBoundParameters.StaticColumns) { + foreach ($key in $StaticColumns.Keys) { + $null = $bulkcopy.ColumnMappings.Add($key, $key) + } + } + + } catch { + Stop-Function -Continue -Message "Failure" -ErrorRecord $_ + } + + # Write to server + try { + + # The legacy bulk copy library uses a 4 byte integer to track the RowsCopied, so the only option is to use + # integer wrap so that copy operations of row counts greater than [int32]::MaxValue will report accurate numbers. + # See https://github.com/dataplat/dbatools/issues/6927 for more details + $script:prevRowsCopied = [int64]0 + $script:totalRowsCopied = [int64]0 + + # Add rowcount output + $bulkCopy.Add_SqlRowsCopied( { + $script:totalRowsCopied += (Get-AdjustedTotalRowsCopied -ReportedRowsCopied $args[1].RowsCopied -PreviousRowsCopied $script:prevRowsCopied).NewRowCountAdded + + Write-Message -Level Verbose -FunctionName "Import-DbaParquet" -Message " Total rows copied = $($script:totalRowsCopied)" + # save the previous count of rows copied to be used on the next event notification + $script:prevRowsCopied = $args[1].RowsCopied + }) + + for ($rgIndex = 0; $rgIndex -lt $parquetReader.RowGroupCount; $rgIndex++) { + $dataTable = Get-ParquetDataTable -Reader $parquetReader -Column $Column -StaticColumns $StaticColumns -RowGroupIndex $rgIndex + + if (-not $NoProgress) { + $timetaken = [math]::Round($elapsed.Elapsed.TotalSeconds, 2) + $percent = [int]((($rgIndex + 1) / $parquetReader.RowGroupCount) * 100) + Write-ProgressHelper -StepNumber $percent -TotalSteps 100 -Activity "Importing from $file" -Message ([System.String]::Format("Progress: {0} rows {1}% in {2} seconds", $script:totalRowsCopied, $percent, $timetaken)) + } + + $dataReader = $dataTable.CreateDataReader() + $bulkCopy.WriteToServer($dataReader) + $dataReader.Dispose() + $dataTable.Dispose() + } + + $completed = $true + } catch { + $completed = $false + Stop-Function -Continue -Message "Failure" -ErrorRecord $_ + } finally { + try { + if ($parquetReader) { + $parquetReader.Dispose() + $parquetReader = $null + } + } catch { + } + + if (-not $NoTransaction) { + if ($completed) { + try { + $null = $transaction.Commit() + } catch { + } + + # Optimize column sizes after commit if we created a fat table + if ($createdFatTable -and -not $NoColumnOptimize) { + try { + Optimize-ColumnSize -SqlConn $sqlconn -Schema $schema -Table $table + } catch { + Write-Message -Level Warning -Message "Column size optimization failed: $($_.Exception.Message)" + } + } + } else { + try { + $null = $transaction.Rollback() + } catch { + } + } + } elseif ($completed -and $createdFatTable -and -not $NoColumnOptimize) { + # NoTransaction mode - still optimize if we created a fat table + try { + Optimize-ColumnSize -SqlConn $sqlconn -Schema $schema -Table $table + } catch { + Write-Message -Level Warning -Message "Column size optimization failed: $($_.Exception.Message)" + } + } + + # Only close connection if we created it (not user-provided) + if (-not $startedWithAnOpenConnection) { + try { + $sqlconn.Close() + $sqlconn.Dispose() + } catch { + } + } + + try { + $bulkCopy.Close() + $bulkcopy.Dispose() + } catch { + } + + $finalRowCountReported = Get-BulkRowsCopiedCount $bulkCopy + + $script:totalRowsCopied += (Get-AdjustedTotalRowsCopied -ReportedRowsCopied $finalRowCountReported -PreviousRowsCopied $script:prevRowsCopied).NewRowCountAdded + + if ($completed) { + Write-Progress -Id 1 -Activity "Inserting $($script:totalRowsCopied) rows" -Status "Complete" -Completed + } else { + Write-Progress -Id 1 -Activity "Inserting $($script:totalRowsCopied) rows" -Status "Failed" -Completed + } + } + } + # Clean up Parquet reader if ShouldProcess was skipped (WhatIf mode) + if ($parquetReader) { + try { $parquetReader.Dispose() } catch { } + $parquetReader = $null + } + if ($PSCmdlet.ShouldProcess($instance, "Finalizing import")) { + if ($completed) { + # "Note: This count does not take into consideration the number of rows actually inserted when Ignore Duplicates is set to ON." + $rowsPerSec = [math]::Round($script:totalRowsCopied / $elapsed.ElapsedMilliseconds * 1000.0, 1) + + Write-Message -Level Verbose -Message "$($script:totalRowsCopied) total rows copied" + + [PSCustomObject]@{ + ComputerName = $server.ComputerName + InstanceName = $server.ServiceName + SqlInstance = $server.DomainInstanceName + Database = $Database + Table = $table + Schema = $schema + RowsCopied = $script:totalRowsCopied + Elapsed = [prettytimespan]$elapsed.Elapsed + RowsPerSecond = $rowsPerSec + Path = $file + } + } else { + Stop-Function -Message "Transaction rolled back." + return + } + } + } + } + } + end { + # Close everything just in case & ignore errors + # Only close SQL connection if we created it (not user-provided) + try { + if (-not $startedWithAnOpenConnection) { + $null = $sqlconn.Close() + $null = $sqlconn.Dispose() + } + $null = $bulkCopy.Close() + $bulkcopy.Dispose() + if ($parquetReader) { + $parquetReader.Dispose() + } + } catch { + #here to avoid an empty catch + $null = 1 + } + + # Script is finished. Show elapsed time. + $totaltime = [math]::Round($scriptelapsed.Elapsed.TotalSeconds, 2) + Write-Message -Level Verbose -Message "Total Elapsed Time for everything: $totaltime seconds" + } +} diff --git a/tests/Import-DbaParquet.Tests.ps1 b/tests/Import-DbaParquet.Tests.ps1 new file mode 100644 index 000000000000..ca2874495bcd --- /dev/null +++ b/tests/Import-DbaParquet.Tests.ps1 @@ -0,0 +1,244 @@ +#Requires -Module @{ ModuleName="Pester"; ModuleVersion="5.0" } +param( + $ModuleName = "dbatools", + $CommandName = "Import-DbaParquet", + $PSDefaultParameterValues = $TestConfig.Defaults +) + +Describe $CommandName -Tag UnitTests { + Context "Parameter validation" { + It "Should have the expected parameters" { + $hasParameters = (Get-Command $CommandName).Parameters.Values.Name | Where-Object { $PSItem -notin ("WhatIf", "Confirm") } + $expectedParameters = $TestConfig.CommonParameters + $expectedParameters += @( + "Path", + "SqlInstance", + "SqlCredential", + "Database", + "Table", + "Schema", + "Truncate", + "BatchSize", + "NotifyAfter", + "TableLock", + "CheckConstraints", + "FireTriggers", + "KeepIdentity", + "Column", + "ColumnMap", + "KeepOrdinalOrder", + "AutoCreateTable", + "NoColumnOptimize", + "NoProgress", + "UseFileNameForSchema", + "NoTransaction", + "StaticColumns", + "EnableException", + "Parallel", + "ThrottleLimit", + "ParallelBatchSize" + ) + Compare-Object -ReferenceObject $expectedParameters -DifferenceObject $hasParameters | Should -BeNullOrEmpty + } + + It "Should not have any CSV-only parameters" { + $csvOnlyParams = @( + "NoHeaderRow", + "Delimiter", + "SingleColumn", + "KeepNulls", + "Quote", + "Escape", + "Comment", + "TrimmingOption", + "BufferSize", + "ParseErrorAction", + "Encoding", + "NullValue", + "MaxQuotedFieldLength", + "SkipEmptyLine", + "SupportsMultiline", + "UseColumnDefault", + "MaxDecompressedSize", + "SkipRows", + "QuoteMode", + "DuplicateHeaderBehavior", + "MismatchedFieldAction", + "DistinguishEmptyFromNull", + "NormalizeQuotes", + "CollectParseErrors", + "MaxParseErrors", + "DateTimeFormats", + "Culture", + "SampleRows", + "DetectColumnTypes" + ) + $commandParams = (Get-Command $CommandName).Parameters.Keys + foreach ($csvParam in $csvOnlyParams) { + $commandParams | Should -Not -Contain $csvParam + } + } + } +} + +Describe $CommandName -Tag IntegrationTests { + BeforeAll { + $PSDefaultParameterValues["*-Dba*:EnableException"] = $true + + # Set up Parquet file paths for testing + $pathEcdc = "$($TestConfig.appveyorlabrepo)\parquet\ecdc_cases.parquet" + $pathBoundaries = "$($TestConfig.appveyorlabrepo)\parquet\world-administrative-boundaries.parquet" + + $PSDefaultParameterValues.Remove("*-Dba*:EnableException") + } + + AfterAll { + $PSDefaultParameterValues["*-Dba*:EnableException"] = $true + + # Cleanup test tables + Get-DbaDbTable -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table ecdc_cases, "world-administrative-boundaries", ecdc_cases_static, ecdc_cases_ordinal, ecdc_cases_notxn -ErrorAction SilentlyContinue | Remove-DbaDbTable -ErrorAction SilentlyContinue + + $PSDefaultParameterValues.Remove("*-Dba*:EnableException") + } + + Context "Auto-create table path" { + It "imports a Parquet file with AutoCreateTable" { + $result = Import-DbaParquet -Path $pathEcdc -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable + + $result | Should -Not -BeNullOrEmpty + $result.RowsCopied | Should -BeGreaterThan 0 + $result.Database | Should -Be "tempdb" + $result.Table | Should -Be "ecdc_cases" + } + + AfterAll { + $PSDefaultParameterValues["*-Dba*:EnableException"] = $true + Get-DbaDbTable -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table ecdc_cases -ErrorAction SilentlyContinue | Remove-DbaDbTable -ErrorAction SilentlyContinue + $PSDefaultParameterValues.Remove("*-Dba*:EnableException") + } + } + + Context "Import into existing table" { + BeforeAll { + $PSDefaultParameterValues["*-Dba*:EnableException"] = $true + # First create table via auto-create, then truncate + $null = Import-DbaParquet -Path $pathEcdc -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable + $null = Invoke-DbaQuery -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Query "TRUNCATE TABLE ecdc_cases" + $PSDefaultParameterValues.Remove("*-Dba*:EnableException") + } + + It "imports into a pre-existing table" { + $result = Import-DbaParquet -Path $pathEcdc -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table ecdc_cases + + $result | Should -Not -BeNullOrEmpty + $result.RowsCopied | Should -BeGreaterThan 0 + $result.Database | Should -Be "tempdb" + $result.Table | Should -Be "ecdc_cases" + } + + AfterAll { + $PSDefaultParameterValues["*-Dba*:EnableException"] = $true + Get-DbaDbTable -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table ecdc_cases -ErrorAction SilentlyContinue | Remove-DbaDbTable -ErrorAction SilentlyContinue + $PSDefaultParameterValues.Remove("*-Dba*:EnableException") + } + } + + Context "Truncate path" { + BeforeAll { + $PSDefaultParameterValues["*-Dba*:EnableException"] = $true + $null = Import-DbaParquet -Path $pathEcdc -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable + $PSDefaultParameterValues.Remove("*-Dba*:EnableException") + } + + It "truncates and re-imports correctly" { + $result = Import-DbaParquet -Path $pathEcdc -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table ecdc_cases -Truncate + + $result | Should -Not -BeNullOrEmpty + $result.RowsCopied | Should -BeGreaterThan 0 + + # Verify row count equals single import, not doubled + $count = (Invoke-DbaQuery -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Query "SELECT COUNT(*) AS cnt FROM ecdc_cases").cnt + $count | Should -Be $result.RowsCopied + } + + AfterAll { + $PSDefaultParameterValues["*-Dba*:EnableException"] = $true + Get-DbaDbTable -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table ecdc_cases -ErrorAction SilentlyContinue | Remove-DbaDbTable -ErrorAction SilentlyContinue + $PSDefaultParameterValues.Remove("*-Dba*:EnableException") + } + } + + Context "Static columns" { + It "adds static columns to imported data" { + $result = Import-DbaParquet -Path $pathEcdc -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable -Table ecdc_cases_static -StaticColumns @{ ImportSource = 'test' } + + $result | Should -Not -BeNullOrEmpty + $result.RowsCopied | Should -BeGreaterThan 0 + + $data = Invoke-DbaQuery -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Query "SELECT TOP 1 ImportSource FROM ecdc_cases_static" + $data.ImportSource | Should -Be "test" + } + + AfterAll { + $PSDefaultParameterValues["*-Dba*:EnableException"] = $true + Get-DbaDbTable -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table ecdc_cases_static -ErrorAction SilentlyContinue | Remove-DbaDbTable -ErrorAction SilentlyContinue + $PSDefaultParameterValues.Remove("*-Dba*:EnableException") + } + } + + Context "Ordinal mapping" { + It "imports with KeepOrdinalOrder" { + $result = Import-DbaParquet -Path $pathEcdc -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable -Table ecdc_cases_ordinal -KeepOrdinalOrder + + $result | Should -Not -BeNullOrEmpty + $result.RowsCopied | Should -BeGreaterThan 0 + } + + AfterAll { + $PSDefaultParameterValues["*-Dba*:EnableException"] = $true + Get-DbaDbTable -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table ecdc_cases_ordinal -ErrorAction SilentlyContinue | Remove-DbaDbTable -ErrorAction SilentlyContinue + $PSDefaultParameterValues.Remove("*-Dba*:EnableException") + } + } + + Context "Non-transaction path" { + It "imports with NoTransaction" { + $result = Import-DbaParquet -Path $pathEcdc -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable -Table ecdc_cases_notxn -NoTransaction + + $result | Should -Not -BeNullOrEmpty + $result.RowsCopied | Should -BeGreaterThan 0 + } + + AfterAll { + $PSDefaultParameterValues["*-Dba*:EnableException"] = $true + Get-DbaDbTable -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table ecdc_cases_notxn -ErrorAction SilentlyContinue | Remove-DbaDbTable -ErrorAction SilentlyContinue + $PSDefaultParameterValues.Remove("*-Dba*:EnableException") + } + } + + Context "UseFileNameForSchema" { + BeforeAll { + $PSDefaultParameterValues["*-Dba*:EnableException"] = $true + $schemaTestFile = Join-Path $TestDrive "staging.ecdc_parquet_test.parquet" + Copy-Item $pathEcdc $schemaTestFile + # Create the staging schema if it doesn't exist + Invoke-DbaQuery -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Query "IF NOT EXISTS (SELECT 1 FROM sys.schemas WHERE name = 'staging') EXEC('CREATE SCHEMA staging')" + $PSDefaultParameterValues.Remove("*-Dba*:EnableException") + } + + It "derives schema from filename" { + $result = Import-DbaParquet -Path $schemaTestFile -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable -UseFileNameForSchema + + $result | Should -Not -BeNullOrEmpty + $result.Schema | Should -Be "staging" + $result.Table | Should -Be "ecdc_parquet_test" + $result.RowsCopied | Should -BeGreaterThan 0 + } + + AfterAll { + $PSDefaultParameterValues["*-Dba*:EnableException"] = $true + Invoke-DbaQuery -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Query "IF OBJECT_ID('staging.ecdc_parquet_test') IS NOT NULL DROP TABLE staging.ecdc_parquet_test" -ErrorAction SilentlyContinue + $PSDefaultParameterValues.Remove("*-Dba*:EnableException") + } + } +} diff --git a/tests/pester.groups.ps1 b/tests/pester.groups.ps1 index 3127fcaf5d31..6855bc4f9ea4 100644 --- a/tests/pester.groups.ps1 +++ b/tests/pester.groups.ps1 @@ -206,6 +206,7 @@ $TestsRunGroups = @{ 'Get-DbaWaitStatistic', 'Get-DbaWindowsLog', 'Import-DbaCsv', + 'Import-DbaParquet', 'Import-DbaPfDataCollectorSetTemplate', 'Import-DbaRegServer', 'Install-DbaDarlingData', From 43a7fb9e0a72bdae13216f6a3619c59b6a54c244 Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Wed, 1 Apr 2026 20:19:56 +0200 Subject: [PATCH 02/12] Fix bug in automatic table creation Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- public/Import-DbaParquet.ps1 | 23 +++++++++-------------- tests/Import-DbaParquet.Tests.ps1 | 19 +++++++++++++++++++ 2 files changed, 28 insertions(+), 14 deletions(-) diff --git a/public/Import-DbaParquet.ps1 b/public/Import-DbaParquet.ps1 index bf1031a1d3ad..74961a50603e 100644 --- a/public/Import-DbaParquet.ps1 +++ b/public/Import-DbaParquet.ps1 @@ -52,13 +52,13 @@ function Import-DbaParquet { Use this when column names don't match but the order is correct, or when dealing with files that have inconsistent naming. .PARAMETER AutoCreateTable - Creates the destination table automatically if it doesn't exist, using varchar(MAX) for all columns. - After import, column sizes are automatically optimized based on actual data lengths (varchar(MAX) -> varchar(16/32/64/etc.)). + Creates the destination table automatically if it doesn't exist, using Parquet schema types for SQL column definitions. + String columns are created as varchar(MAX), then automatically optimized based on actual data lengths (varchar(MAX) -> varchar(16/32/64/etc.)). For production use with specific constraints, create tables manually with appropriate data types, indexes, and constraints. .PARAMETER NoColumnOptimize Skips the automatic column size optimization that runs after AutoCreateTable imports. - By default, AutoCreateTable creates varchar(MAX) columns and then shrinks them to fit the imported data. + By default, AutoCreateTable creates string columns as varchar(MAX) and then shrinks them to fit the imported data. Use this switch when importing multiple Parquet files into the same auto-created table, so that later files with longer values are not rejected due to columns being shrunk to fit only the first file's data. @@ -385,8 +385,8 @@ function Import-DbaParquet { .SYNOPSIS Creates new Table using existing SqlCommand. - SQL datatypes based on Parquet schema data fields. - All columns use varchar(MAX). + SQL datatypes are inferred from Parquet schema data fields. + String columns use varchar(MAX) and can be post-optimized. .EXAMPLE New-SqlTable -DataFields $dataFields -SqlConn $sqlconn -Transaction $transaction @@ -402,18 +402,13 @@ function Import-DbaParquet { [Microsoft.Data.SqlClient.SqlTransaction]$transaction ) - $columns = @() - foreach ($df in $DataFields) { - $columns += $df.Name - } - $sqldatatypes = @(); - - foreach ($column in $columns) { - $sqldatatypes += "[$column] varchar(MAX)" + foreach ($df in $DataFields) { + $sqlType = Convert-ParquetTypeToSqlType -ClrType $df.ClrType + $sqldatatypes += "[$($df.Name)] $sqlType NULL" } - $sql = "BEGIN CREATE TABLE [$schema].[$table] ($($sqldatatypes -join ' NULL,')) END" + $sql = "BEGIN CREATE TABLE [$schema].[$table] ($($sqldatatypes -join ", ")) END" $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($sql, $sqlconn, $transaction) try { diff --git a/tests/Import-DbaParquet.Tests.ps1 b/tests/Import-DbaParquet.Tests.ps1 index ca2874495bcd..b5b7bbd201bb 100644 --- a/tests/Import-DbaParquet.Tests.ps1 +++ b/tests/Import-DbaParquet.Tests.ps1 @@ -111,6 +111,25 @@ Describe $CommandName -Tag IntegrationTests { $result.Table | Should -Be "ecdc_cases" } + It "creates SQL column types from Parquet schema in AutoCreateTable mode" { + $null = Import-DbaParquet -Path $pathEcdc -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable -NoColumnOptimize -Truncate + + $sql = @" +SELECT + c.name AS ColumnName, + t.name AS TypeName +FROM sys.columns c +INNER JOIN sys.types t + ON c.user_type_id = t.user_type_id +WHERE c.object_id = OBJECT_ID('dbo.ecdc_cases') + AND c.name IN ('date_rep', 'day', 'pop_data_2018') +"@ + $types = Invoke-DbaQuery -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Query $sql + ($types | Where-Object ColumnName -eq "date_rep").TypeName | Should -Be "datetime2" + ($types | Where-Object ColumnName -eq "day").TypeName | Should -Be "smallint" + ($types | Where-Object ColumnName -eq "pop_data_2018").TypeName | Should -Be "int" + } + AfterAll { $PSDefaultParameterValues["*-Dba*:EnableException"] = $true Get-DbaDbTable -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table ecdc_cases -ErrorAction SilentlyContinue | Remove-DbaDbTable -ErrorAction SilentlyContinue From 4dcb012fd802736f150c80a594d35c08eea25a1e Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Thu, 2 Apr 2026 00:32:27 +0200 Subject: [PATCH 03/12] Fix binary type mapping in Import-DbaParquet Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- public/Import-DbaParquet.ps1 | 56 ++++++++++++++++++++++++++++--- tests/Import-DbaParquet.Tests.ps1 | 11 +++++- 2 files changed, 61 insertions(+), 6 deletions(-) diff --git a/public/Import-DbaParquet.ps1 b/public/Import-DbaParquet.ps1 index 74961a50603e..7fbe4b9121f9 100644 --- a/public/Import-DbaParquet.ps1 +++ b/public/Import-DbaParquet.ps1 @@ -311,6 +311,51 @@ function Import-DbaParquet { [int]$RowGroupIndex ) + function Convert-ParquetValueForColumn { + param( + [object]$Value, + [System.Type]$TargetType, + [string]$ColumnName + ) + + if ($null -eq $Value) { + return [DBNull]::Value + } + + if ($TargetType -eq [byte[]]) { + if ($Value -is [byte[]]) { + return , $Value + } + + if ($Value -is [System.Array]) { + $converted = New-Object byte[] ($Value.Length) + for ($index = 0; $index -lt $Value.Length; $index++) { + $item = $Value[$index] + + if ($item -is [byte]) { + $converted[$index] = $item + continue + } + + if ($item -is [int] -and $item -ge [byte]::MinValue -and $item -le [byte]::MaxValue) { + $converted[$index] = [byte]$item + continue + } + + Stop-Function -Message "Could not convert value in column $ColumnName to byte array. Element type: $($item.GetType().FullName)." -EnableException $true + return + } + + return , $converted + } + + Stop-Function -Message "Could not convert value in column $ColumnName from type $($Value.GetType().FullName) to byte array." -EnableException $true + return + } + + return $Value + } + $dataFields = $Reader.Schema.GetDataFields() $dataTable = New-Object System.Data.DataTable @@ -328,7 +373,7 @@ function Import-DbaParquet { } $rowGroupReader = $Reader.OpenRowGroupReader($RowGroupIndex) - $columns = @{} + $columns = @{ } $rowCount = 0 foreach ($df in $dataFields) { if ($Column -and $Column -notcontains $df.Name) { continue } @@ -341,7 +386,8 @@ function Import-DbaParquet { $dataRow = $dataTable.NewRow() foreach ($name in $columns.Keys) { $val = $columns[$name][$row] - $dataRow[$name] = if ($null -eq $val) { [DBNull]::Value } else { $val } + $targetType = $dataTable.Columns[$name].DataType + $dataRow[$name] = Convert-ParquetValueForColumn -Value $val -TargetType $targetType -ColumnName $name } if ($StaticColumns) { foreach ($key in $StaticColumns.Keys) { @@ -353,7 +399,7 @@ function Import-DbaParquet { if ($rowGroupReader -is [System.IDisposable]) { $rowGroupReader.Dispose() } - return ,$dataTable + return , $dataTable } function Convert-ParquetTypeToSqlType { @@ -457,7 +503,7 @@ WHERE c.object_id = OBJECT_ID(@tableName) $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($getColumnsSql, $SqlConn) $null = $sqlcmd.Parameters.AddWithValue('tableName', "[$Schema].[$Table]") - $columns = @{} + $columns = @{ } $reader = $sqlcmd.ExecuteReader() while ($reader.Read()) { $columns[$reader["ColumnName"]] = $reader["TypeName"] @@ -477,7 +523,7 @@ WHERE c.object_id = OBJECT_ID(@tableName) $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($maxLenSql, $SqlConn) $reader = $sqlcmd.ExecuteReader() - $maxLengths = @{} + $maxLengths = @{ } if ($reader.Read()) { foreach ($col in $columnNames) { $val = $reader[$col] diff --git a/tests/Import-DbaParquet.Tests.ps1 b/tests/Import-DbaParquet.Tests.ps1 index b5b7bbd201bb..b1a083882ff6 100644 --- a/tests/Import-DbaParquet.Tests.ps1 +++ b/tests/Import-DbaParquet.Tests.ps1 @@ -1,6 +1,6 @@ #Requires -Module @{ ModuleName="Pester"; ModuleVersion="5.0" } param( - $ModuleName = "dbatools", + $ModuleName = "dbatools", $CommandName = "Import-DbaParquet", $PSDefaultParameterValues = $TestConfig.Defaults ) @@ -111,6 +111,15 @@ Describe $CommandName -Tag IntegrationTests { $result.Table | Should -Be "ecdc_cases" } + It "imports binary parquet columns with AutoCreateTable" { + $result = Import-DbaParquet -Path $pathBoundaries -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable + + $result | Should -Not -BeNullOrEmpty + $result.RowsCopied | Should -BeGreaterThan 0 + $result.Database | Should -Be "tempdb" + $result.Table | Should -Be "world-administrative-boundaries" + } + It "creates SQL column types from Parquet schema in AutoCreateTable mode" { $null = Import-DbaParquet -Path $pathEcdc -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable -NoColumnOptimize -Truncate From 72858d9569c156013b2c215ebf83319eaa90c4f1 Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Thu, 2 Apr 2026 01:49:13 +0200 Subject: [PATCH 04/12] Fix Import-DbaParquet dependency and test stability Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../CommunityToolkit.HighPerformance.dll | Bin 0 -> 116512 bytes public/Import-DbaParquet.ps1 | 18 +++++++++++++++- tests/Import-DbaParquet.Tests.ps1 | 20 +++++++++++++----- 3 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 bin/parquet/CommunityToolkit.HighPerformance.dll diff --git a/bin/parquet/CommunityToolkit.HighPerformance.dll b/bin/parquet/CommunityToolkit.HighPerformance.dll new file mode 100644 index 0000000000000000000000000000000000000000..c7fa9afe1c69a57d8801dd9d66c7649034024f16 GIT binary patch literal 116512 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

dJ&%R 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 x3yGHb&` Date: Thu, 2 Apr 2026 15:04:17 +0200 Subject: [PATCH 05/12] Improve Import-DbaParquet schema and error handling Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- public/Import-DbaParquet.ps1 | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/public/Import-DbaParquet.ps1 b/public/Import-DbaParquet.ps1 index 12fc50faf7cd..24f4ac2de1c9 100644 --- a/public/Import-DbaParquet.ps1 +++ b/public/Import-DbaParquet.ps1 @@ -419,7 +419,8 @@ function Import-DbaParquet { } function Convert-ParquetTypeToSqlType { - param([System.Type]$ClrType) + param([object]$DataField) + $clrType = $DataField.ClrType switch ($ClrType.FullName) { 'System.String' { return 'varchar(MAX)' } 'System.Int32' { return 'int' } @@ -429,14 +430,32 @@ function Import-DbaParquet { 'System.Boolean' { return 'bit' } 'System.Single' { return 'real' } 'System.Double' { return 'float' } - 'System.Decimal' { return 'decimal(38,18)' } + 'System.Decimal' { + $precision = 38 + $scale = 18 + + if ($DataField.GetType().Name -eq "DecimalDataField") { + $precision = $DataField.Precision + $scale = $DataField.Scale + } + + if ($precision -gt 38) { + $precision = 38 + } + + if ($scale -gt $precision) { + $scale = $precision + } + + return "decimal($precision,$scale)" + } 'System.DateTime' { return 'datetime2(6)' } 'System.DateTimeOffset' { return 'datetimeoffset' } 'System.TimeSpan' { return 'time' } 'System.Byte[]' { return 'varbinary(MAX)' } 'System.Guid' { return 'uniqueidentifier' } default { - Stop-Function -Message "Unsupported Parquet type: $($ClrType.FullName)" -EnableException $true + Stop-Function -Message "Unsupported Parquet type: $($clrType.FullName)" -EnableException $true return } } @@ -466,7 +485,7 @@ function Import-DbaParquet { $sqldatatypes = @(); foreach ($df in $DataFields) { - $sqlType = Convert-ParquetTypeToSqlType -ClrType $df.ClrType + $sqlType = Convert-ParquetTypeToSqlType -DataField $df $sqldatatypes += "[$($df.Name)] $sqlType NULL" } From 5cfd40235e9c941585e45e359416f7dcbca75054 Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Thu, 2 Apr 2026 19:45:48 +0200 Subject: [PATCH 06/12] Adding parameter StoreStringAsUtf8 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- public/Import-DbaParquet.ps1 | 40 ++++++++++++++++++++++--------- tests/Import-DbaParquet.Tests.ps1 | 1 + 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/public/Import-DbaParquet.ps1 b/public/Import-DbaParquet.ps1 index 24f4ac2de1c9..865d3170631b 100644 --- a/public/Import-DbaParquet.ps1 +++ b/public/Import-DbaParquet.ps1 @@ -8,7 +8,7 @@ function Import-DbaParquet { Parquet files are read using Parquet.NET, which provides high-performance columnar data access. Unlike CSV, Parquet files contain schema information including column names and data types, which are used automatically during import. - When the target table doesn't exist, you can use -AutoCreateTable to create it on the fly with varchar(MAX) columns. For production use, create your table first with proper data types and constraints. The function intelligently maps Parquet columns to table columns by name, with fallback to ordinal position when needed. + When the target table doesn't exist, you can use -AutoCreateTable to create it on the fly with string columns using UTF-8 varchar(MAX) by default (or nvarchar(MAX) with -StoreStringAsUtf8:$false). For production use, create your table first with proper data types and constraints. The function intelligently maps Parquet columns to table columns by name, with fallback to ordinal position when needed. Column mapping lets you import specific columns or rename them during import, while schema detection can automatically place data in the correct schema based on filename patterns. @@ -37,7 +37,7 @@ function Import-DbaParquet { .PARAMETER Table Specifies the destination table name. If omitted, uses the Parquet filename as the table name. - The table will be created automatically with -AutoCreateTable using varchar(MAX) columns, but for production use, create the table first with proper data types and constraints. + The table will be created automatically with -AutoCreateTable using UTF-8 varchar(MAX) columns for strings by default, but for production use, create the table first with proper data types and constraints. .PARAMETER Column Imports only the specified columns from the Parquet file, ignoring all others. Column names must match exactly. @@ -53,12 +53,17 @@ function Import-DbaParquet { .PARAMETER AutoCreateTable Creates the destination table automatically if it doesn't exist, using Parquet schema types for SQL column definitions. - String columns are created as varchar(MAX), then automatically optimized based on actual data lengths (varchar(MAX) -> varchar(16/32/64/etc.)). + String columns are created as UTF-8 varchar(MAX) by default (or nvarchar(MAX) if -StoreStringAsUtf8:$false), then automatically optimized based on actual data lengths. For production use with specific constraints, create tables manually with appropriate data types, indexes, and constraints. + .PARAMETER StoreStringAsUtf8 + Controls string column type used by -AutoCreateTable. + By default ($true), string columns are created as varchar(MAX) COLLATE Latin1_General_100_BIN2_UTF8. + Set to $false to create string columns as nvarchar(MAX) instead. + .PARAMETER NoColumnOptimize Skips the automatic column size optimization that runs after AutoCreateTable imports. - By default, AutoCreateTable creates string columns as varchar(MAX) and then shrinks them to fit the imported data. + By default, AutoCreateTable creates string columns as UTF-8 varchar(MAX) (or nvarchar(MAX) with -StoreStringAsUtf8:$false) and then shrinks them to fit the imported data. Use this switch when importing multiple Parquet files into the same auto-created table, so that later files with longer values are not rejected due to columns being shrunk to fit only the first file's data. @@ -244,6 +249,7 @@ function Import-DbaParquet { [hashtable]$ColumnMap, [switch]$KeepOrdinalOrder, [switch]$AutoCreateTable, + [bool]$StoreStringAsUtf8 = $true, [switch]$NoColumnOptimize, [switch]$NoProgress, [switch]$UseFileNameForSchema, @@ -422,7 +428,12 @@ function Import-DbaParquet { param([object]$DataField) $clrType = $DataField.ClrType switch ($ClrType.FullName) { - 'System.String' { return 'varchar(MAX)' } + 'System.String' { + if ($StoreStringAsUtf8) { + return "varchar(MAX) COLLATE Latin1_General_100_BIN2_UTF8" + } + return "nvarchar(MAX)" + } 'System.Int32' { return 'int' } 'System.Int64' { return 'bigint' } 'System.Int16' { return 'smallint' } @@ -467,7 +478,7 @@ function Import-DbaParquet { Creates new Table using existing SqlCommand. SQL datatypes are inferred from Parquet schema data fields. - String columns use varchar(MAX) and can be post-optimized. + String columns use UTF-8 varchar(MAX) by default (or nvarchar(MAX) when requested) and can be post-optimized. .EXAMPLE New-SqlTable -DataFields $dataFields -SqlConn $sqlconn -Transaction $transaction @@ -528,7 +539,7 @@ function Import-DbaParquet { # Get column names and their current types from the table $getColumnsSql = @" -SELECT c.name AS ColumnName, t.name AS TypeName +SELECT c.name AS ColumnName, t.name AS TypeName, c.collation_name AS CollationName FROM sys.columns c INNER JOIN sys.types t ON c.user_type_id = t.user_type_id WHERE c.object_id = OBJECT_ID(@tableName) @@ -541,7 +552,10 @@ WHERE c.object_id = OBJECT_ID(@tableName) $columns = @{ } $reader = $sqlcmd.ExecuteReader() while ($reader.Read()) { - $columns[$reader["ColumnName"]] = $reader["TypeName"] + $columns[$reader["ColumnName"]] = [PSCustomObject]@{ + TypeName = $reader["TypeName"] + CollationName = if ($reader["CollationName"] -is [DBNull]) { $null } else { [string]$reader["CollationName"] } + } } $reader.Close() @@ -578,7 +592,7 @@ WHERE c.object_id = OBJECT_ID(@tableName) # Preserve the original column type (nvarchar stays nvarchar, varchar stays varchar) # This is safer than trying to detect Unicode - no risk of data loss - $baseType = $columns[$col] + $baseType = $columns[$col].TypeName $maxAllowed = if ($baseType -eq "nvarchar") { 4000 } else { 8000 } if ($maxLen -gt $maxAllowed) { @@ -605,11 +619,15 @@ WHERE c.object_id = OBJECT_ID(@tableName) if ($paddedLen -gt $maxAllowed) { $paddedLen = $maxAllowed } $newType = "${baseType}($paddedLen)" + $collateClause = "" + if ($columns[$col].CollationName) { + $collateClause = " COLLATE $($columns[$col].CollationName)" + } # SQL Server 2008 R2 and earlier require NULL/NOT NULL in ALTER COLUMN # Original columns were varchar(MAX) NULL, so we preserve NULL - $alterSql = "ALTER TABLE [$Schema].[$Table] ALTER COLUMN [$col] $newType NULL" + $alterSql = "ALTER TABLE [$Schema].[$Table] ALTER COLUMN [$col] $newType$collateClause NULL" - Write-Message -Level Verbose -Message "Optimizing [$col]: varchar(MAX) -> $newType (max data length: $maxLen, padded to: $paddedLen)" + Write-Message -Level Verbose -Message "Optimizing [$col]: $baseType(MAX) -> $newType (max data length: $maxLen, padded to: $paddedLen)" try { $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($alterSql, $SqlConn) diff --git a/tests/Import-DbaParquet.Tests.ps1 b/tests/Import-DbaParquet.Tests.ps1 index 892d99a6e31d..5c5f84440da8 100644 --- a/tests/Import-DbaParquet.Tests.ps1 +++ b/tests/Import-DbaParquet.Tests.ps1 @@ -38,6 +38,7 @@ Describe $CommandName -Tag UnitTests { "ColumnMap", "KeepOrdinalOrder", "AutoCreateTable", + "StoreStringAsUtf8", "NoColumnOptimize", "NoProgress", "UseFileNameForSchema", From 9fb347f47d63bc24d8354274ffba6566672d22fb Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Thu, 2 Apr 2026 20:40:36 +0200 Subject: [PATCH 07/12] Add exact size logic for varchar and varbinary Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- public/Import-DbaParquet.ps1 | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/public/Import-DbaParquet.ps1 b/public/Import-DbaParquet.ps1 index 865d3170631b..05f979af91b2 100644 --- a/public/Import-DbaParquet.ps1 +++ b/public/Import-DbaParquet.ps1 @@ -429,10 +429,21 @@ function Import-DbaParquet { $clrType = $DataField.ClrType switch ($ClrType.FullName) { 'System.String' { + $stringLength = "MAX" + if ($DataField.SchemaElement -and + $DataField.SchemaElement.Type -eq "FIXED_LEN_BYTE_ARRAY" -and + $DataField.SchemaElement.TypeLength -gt 0) { + $maxAllowed = if ($StoreStringAsUtf8) { 8000 } else { 4000 } + $typeLength = [int]$DataField.SchemaElement.TypeLength + if ($typeLength -le $maxAllowed) { + $stringLength = $typeLength + } + } + if ($StoreStringAsUtf8) { - return "varchar(MAX) COLLATE Latin1_General_100_BIN2_UTF8" + return "varchar($stringLength) COLLATE Latin1_General_100_BIN2_UTF8" } - return "nvarchar(MAX)" + return "nvarchar($stringLength)" } 'System.Int32' { return 'int' } 'System.Int64' { return 'bigint' } @@ -463,7 +474,14 @@ function Import-DbaParquet { 'System.DateTime' { return 'datetime2(6)' } 'System.DateTimeOffset' { return 'datetimeoffset' } 'System.TimeSpan' { return 'time' } - 'System.Byte[]' { return 'varbinary(MAX)' } + 'System.Byte[]' { + if ($DataField.SchemaElement -and + $DataField.SchemaElement.Type -eq "FIXED_LEN_BYTE_ARRAY" -and + $DataField.SchemaElement.TypeLength -gt 0) { + return "varbinary($($DataField.SchemaElement.TypeLength))" + } + return "varbinary(MAX)" + } 'System.Guid' { return 'uniqueidentifier' } default { Stop-Function -Message "Unsupported Parquet type: $($clrType.FullName)" -EnableException $true From fe39b67dd327757072b077264f9c495c3c45d462 Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Sat, 4 Apr 2026 00:28:32 +0200 Subject: [PATCH 08/12] Import-DbaParquet - Add integration coverage for UTF8 and parallel guardrails (do Import-DbaParquet) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- tests/Import-DbaParquet.Tests.ps1 | 96 ++++++++++++++++++++++++++++++- 1 file changed, 95 insertions(+), 1 deletion(-) diff --git a/tests/Import-DbaParquet.Tests.ps1 b/tests/Import-DbaParquet.Tests.ps1 index 5c5f84440da8..d077b9ac4a34 100644 --- a/tests/Import-DbaParquet.Tests.ps1 +++ b/tests/Import-DbaParquet.Tests.ps1 @@ -107,7 +107,7 @@ Describe $CommandName -Tag IntegrationTests -Skip:(-not $hasIntegrationConfig) { $PSDefaultParameterValues["*-Dba*:EnableException"] = $true # Cleanup test tables - Get-DbaDbTable -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table ecdc_cases, "world-administrative-boundaries", ecdc_cases_static, ecdc_cases_ordinal, ecdc_cases_notxn -ErrorAction SilentlyContinue | Remove-DbaDbTable -ErrorAction SilentlyContinue + Get-DbaDbTable -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table ecdc_cases, "world-administrative-boundaries", ecdc_cases_static, ecdc_cases_ordinal, ecdc_cases_notxn, ecdc_cases_utf8, ecdc_cases_utf16 -ErrorAction SilentlyContinue | Remove-DbaDbTable -ErrorAction SilentlyContinue $PSDefaultParameterValues.Remove("*-Dba*:EnableException") } @@ -280,4 +280,98 @@ WHERE c.object_id = OBJECT_ID('dbo.ecdc_cases') $PSDefaultParameterValues.Remove("*-Dba*:EnableException") } } + + Context "StoreStringAsUtf8 behavior" { + It "creates UTF-8 varchar columns by default" { + $splatImport = @{ + Path = $pathEcdc + SqlInstance = $TestConfig.InstanceMulti1 + Database = "tempdb" + AutoCreateTable = $true + Table = "ecdc_cases_utf8" + NoColumnOptimize = $true + StoreStringAsUtf8 = $true + } + $result = Import-DbaParquet @splatImport + + $result | Should -Not -BeNullOrEmpty + $result.RowsCopied | Should -BeGreaterThan 0 + + $utf8ColumnSql = @" +SELECT TOP 1 + t.name AS TypeName, + c.collation_name AS CollationName +FROM sys.columns c +INNER JOIN sys.types t + ON c.user_type_id = t.user_type_id +WHERE c.object_id = OBJECT_ID('dbo.ecdc_cases_utf8') + AND t.name IN ('varchar', 'nvarchar') +ORDER BY c.column_id +"@ + $utf8Column = Invoke-DbaQuery -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Query $utf8ColumnSql + $utf8Column.TypeName | Should -Be "varchar" + $utf8Column.CollationName | Should -Match "UTF8" + } + + It "creates nvarchar columns when StoreStringAsUtf8 is false" { + $splatImport = @{ + Path = $pathEcdc + SqlInstance = $TestConfig.InstanceMulti1 + Database = "tempdb" + AutoCreateTable = $true + Table = "ecdc_cases_utf16" + NoColumnOptimize = $true + StoreStringAsUtf8 = $false + } + $result = Import-DbaParquet @splatImport + + $result | Should -Not -BeNullOrEmpty + $result.RowsCopied | Should -BeGreaterThan 0 + + $utf16ColumnSql = @" +SELECT TOP 1 + t.name AS TypeName, + c.collation_name AS CollationName +FROM sys.columns c +INNER JOIN sys.types t + ON c.user_type_id = t.user_type_id +WHERE c.object_id = OBJECT_ID('dbo.ecdc_cases_utf16') + AND t.name IN ('varchar', 'nvarchar') +ORDER BY c.column_id +"@ + $utf16Column = Invoke-DbaQuery -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Query $utf16ColumnSql + $utf16Column.TypeName | Should -Be "nvarchar" + $utf16Column.CollationName | Should -Not -Match "UTF8" + } + + AfterAll { + $PSDefaultParameterValues["*-Dba*:EnableException"] = $true + Get-DbaDbTable -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table ecdc_cases_utf8, ecdc_cases_utf16 -ErrorAction SilentlyContinue | Remove-DbaDbTable -ErrorAction SilentlyContinue + $PSDefaultParameterValues.Remove("*-Dba*:EnableException") + } + } + + Context "Parallel flags guardrail" { + It "throws when parallel-related parameters are supplied" { + $splatImport = @{ + Path = $pathEcdc + SqlInstance = $TestConfig.InstanceMulti1 + Database = "tempdb" + Table = "ecdc_cases" + Parallel = $true + ThrottleLimit = 2 + ParallelBatchSize = 10 + EnableException = $true + } + $errorRecord = $null + try { + $null = Import-DbaParquet @splatImport + } catch { + $errorRecord = $PSItem + } + + $errorRecord | Should -Not -BeNullOrEmpty + $errorRecord.Exception.Message | Should -Match "Parallel import is not implemented" + } + } } \ No newline at end of file From 5ab0ae602706187acbff7b69ecd00e300be3a1d8 Mon Sep 17 00:00:00 2001 From: Chrissy LeMaire Date: Sun, 3 May 2026 15:15:29 +0200 Subject: [PATCH 09/12] Externalize Parquet.NET dependencies (do Install-DbaParquet, Get-DbaParquetPath, Import-DbaParquet) --- .../CommunityToolkit.HighPerformance.dll | Bin 116512 -> 0 bytes .../Microsoft.IO.RecyclableMemoryStream.dll | Bin 62896 -> 0 bytes bin/parquet/Parquet.Net.dll | Bin 719360 -> 0 bytes bin/parquet/Snappier.dll | Bin 47616 -> 0 bytes dbatools.psd1 | 7 +- dbatools.psm1 | 3 +- private/configurations/settings/paths.ps1 | 5 +- private/functions/Get-DbaParquetPath.ps1 | 84 ++++ public/Import-DbaParquet.ps1 | 51 ++- public/Install-DbaParquet.ps1 | 433 ++++++++++++++++++ tests/Import-DbaParquet.Tests.ps1 | 4 +- tests/Install-DbaParquet.Tests.ps1 | 22 + 12 files changed, 582 insertions(+), 27 deletions(-) delete mode 100644 bin/parquet/CommunityToolkit.HighPerformance.dll delete mode 100644 bin/parquet/Microsoft.IO.RecyclableMemoryStream.dll delete mode 100644 bin/parquet/Parquet.Net.dll delete mode 100644 bin/parquet/Snappier.dll create mode 100644 private/functions/Get-DbaParquetPath.ps1 create mode 100644 public/Install-DbaParquet.ps1 create mode 100644 tests/Install-DbaParquet.Tests.ps1 diff --git a/bin/parquet/CommunityToolkit.HighPerformance.dll b/bin/parquet/CommunityToolkit.HighPerformance.dll deleted file mode 100644 index c7fa9afe1c69a57d8801dd9d66c7649034024f16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116512 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%0Dpq{?J#6u4jnytK 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

ERS+Go%AgB3~j*c)M15tI3!Oi-qc3 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 NWc}m6|Nk`be*vd|4Cw#> diff --git a/bin/parquet/Snappier.dll b/bin/parquet/Snappier.dll deleted file mode 100644 index 1d7e74bc93510c4c867950ccd0daa92a46e6397d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47616 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 ihWadg>ci!x-F + [CmdletBinding()] + param ( + [switch]$Silent, + [switch]$EnableException + ) + + $loadedAssembly = [System.AppDomain]::CurrentDomain.GetAssemblies() | Where-Object { $_.GetName().Name -eq "Parquet" } | Select-Object -First 1 + if ($loadedAssembly -and $loadedAssembly.Location -and (Test-Path -Path $loadedAssembly.Location)) { + Write-Message -Level Verbose -Message "Found loaded Parquet.NET assembly at: $($loadedAssembly.Location)" + return $loadedAssembly.Location + } + + $searchPaths = @() + + $configuredPath = Get-DbatoolsConfigValue -FullName "Path.DbatoolsParquet" + if ($configuredPath) { + $configuredPath = $configuredPath.TrimEnd("/", "\") + $searchPaths += Join-Path -Path $configuredPath -ChildPath "Parquet.dll" + $searchPaths += Join-Path -Path $configuredPath -ChildPath "Parquet.Net.dll" + } + + $dbatoolsData = Get-DbatoolsConfigValue -FullName "Path.DbatoolsData" + if ($dbatoolsData) { + $dbatoolsData = $dbatoolsData.TrimEnd("/", "\") + $searchPaths += Join-Path -Path $dbatoolsData -ChildPath "parquet" | Join-Path -ChildPath "Parquet.dll" + $searchPaths += Join-Path -Path $dbatoolsData -ChildPath "parquet" | Join-Path -ChildPath "Parquet.Net.dll" + } + + if ($script:PSModuleRoot) { + $searchPaths += Join-Path -Path $script:PSModuleRoot -ChildPath "bin" | Join-Path -ChildPath "parquet" | Join-Path -ChildPath "Parquet.dll" + $searchPaths += Join-Path -Path $script:PSModuleRoot -ChildPath "bin" | Join-Path -ChildPath "parquet" | Join-Path -ChildPath "Parquet.Net.dll" + } + + foreach ($path in $searchPaths) { + if (Test-Path -Path $path) { + Write-Message -Level Verbose -Message "Found Parquet.NET assembly at: $path" + return $path + } + } + + $message = @" +Could not find Parquet.NET. Parquet.NET is required for Import-DbaParquet. + +To install Parquet.NET, use: + Install-DbaParquet + +This will download Parquet.NET and its managed dependencies to your dbatools data directory. +"@ + + if ($Silent) { + return $null + } + + Stop-Function -Message $message -Target "Parquet.NET" + if ($EnableException) { + throw "Parquet.NET not found" + } + return $null +} diff --git a/public/Import-DbaParquet.ps1 b/public/Import-DbaParquet.ps1 index 05f979af91b2..14c186d7d92b 100644 --- a/public/Import-DbaParquet.ps1 +++ b/public/Import-DbaParquet.ps1 @@ -141,7 +141,7 @@ function Import-DbaParquet { Copyright: (c) 2018 by dbatools, licensed under MIT License: MIT https://opensource.org/licenses/MIT - Requires Parquet.NET library (Parquet.Net.dll) in the dbatools module bin directory. + Requires Parquet.NET. Use Install-DbaParquet to install the external Parquet.NET assemblies if they are not already available. .LINK https://dbatools.io/Import-DbaParquet @@ -270,31 +270,40 @@ function Import-DbaParquet { # Load Parquet.NET assembly $parquetAssembly = [System.AppDomain]::CurrentDomain.GetAssemblies() | Where-Object { $_.GetName().Name -eq 'Parquet' } if (-not $parquetAssembly) { - $moduleRoot = $script:PSModuleRoot - if (-not $moduleRoot) { - $moduleRoot = Split-Path -Path (Split-Path -Path $MyInvocation.MyCommand.ScriptBlock.File -Parent) -Parent + $parquetDllPath = Get-DbaParquetPath -EnableException:$EnableException + if (-not $parquetDllPath) { + return } - $dependencyDllRelativePaths = @( - "bin\parquet\CommunityToolkit.HighPerformance.dll", - "bin\parquet\Microsoft.IO.RecyclableMemoryStream.dll", - "bin\parquet\Snappier.dll" - ) - foreach ($dependencyDllRelativePath in $dependencyDllRelativePaths) { - $dependencyDllPath = Join-Path -Path $moduleRoot -ChildPath $dependencyDllRelativePath - if (Test-Path $dependencyDllPath) { - try { - Add-Type -Path $dependencyDllPath - } catch { + $parquetDirectory = Split-Path -Path $parquetDllPath -Parent + $script:dbatools_ParquetAssemblyPath = $parquetDirectory + if (-not $script:dbatools_ParquetAssemblyResolveRegistered) { + $script:dbatools_ParquetAssemblyResolve = [System.ResolveEventHandler] { + param($sender, $resolveArgs) + + $assemblyName = (New-Object -TypeName System.Reflection.AssemblyName -ArgumentList $resolveArgs.Name).Name + $candidate = Join-Path -Path $script:dbatools_ParquetAssemblyPath -ChildPath "$assemblyName.dll" + if (Test-Path -Path $candidate) { + return [System.Reflection.Assembly]::LoadFrom($candidate) } + return $null + } + [System.AppDomain]::CurrentDomain.add_AssemblyResolve($script:dbatools_ParquetAssemblyResolve) + $script:dbatools_ParquetAssemblyResolveRegistered = $true + } + + Get-ChildItem -Path $parquetDirectory -Filter "*.dll" | Where-Object Name -notin "Parquet.dll", "Parquet.Net.dll" | Sort-Object Name | ForEach-Object { + try { + Add-Type -Path $PSItem.FullName -ErrorAction Stop + } catch { + Write-Message -Level Verbose -Message "Could not preload Parquet.NET dependency $($PSItem.Name): $($_.Exception.Message)" } } - $parquetDllPath = Join-Path -Path $moduleRoot -ChildPath "bin\parquet\Parquet.Net.dll" - if (Test-Path $parquetDllPath) { - Add-Type -Path $parquetDllPath - } else { - Stop-Function -Message "Parquet.NET library not found. Ensure Parquet.Net.dll is available in the dbatools module directory at $parquetDllPath" -EnableException $true + try { + Add-Type -Path $parquetDllPath -ErrorAction Stop + } catch { + Stop-Function -Message "Could not load Parquet.NET from $parquetDllPath. Run Install-DbaParquet to install the required assemblies." -ErrorRecord $_ -EnableException $EnableException return } } @@ -1118,4 +1127,4 @@ WHERE c.object_id = OBJECT_ID(@tableName) $totaltime = [math]::Round($scriptelapsed.Elapsed.TotalSeconds, 2) Write-Message -Level Verbose -Message "Total Elapsed Time for everything: $totaltime seconds" } -} \ No newline at end of file +} diff --git a/public/Install-DbaParquet.ps1 b/public/Install-DbaParquet.ps1 new file mode 100644 index 000000000000..53d433b66396 --- /dev/null +++ b/public/Install-DbaParquet.ps1 @@ -0,0 +1,433 @@ +function Install-DbaParquet { + <# + .SYNOPSIS + Installs Parquet.NET assemblies required by Import-DbaParquet. + + .DESCRIPTION + Downloads Parquet.NET from NuGet and installs the netstandard2.0 assemblies into the dbatools data directory. + The installer also downloads and extracts the managed dependency closure declared by the NuGet packages. + + Parquet.NET is a managed .NET library, so the installed assemblies work across Windows, Linux, and macOS as long + as the host PowerShell/.NET runtime can load netstandard2.0 assemblies. + + By default, assemblies are installed to the dbatools data directory for the current user. Use -Path for a custom + portable location, or -LocalFile to install from an already downloaded nupkg, zip, or folder that contains + Parquet.dll or Parquet.Net.dll and its dependencies. + + .PARAMETER Path + Specifies the directory where Parquet.NET assemblies will be installed. + If not specified, defaults to the Path.DbatoolsParquet configuration value. + + .PARAMETER Version + Specifies the Parquet.Net NuGet package version to install. Defaults to 5.5.0, the version used by Import-DbaParquet. + + .PARAMETER LocalFile + Specifies a local nupkg, zip file, or directory containing Parquet.dll or Parquet.Net.dll and its dependency DLLs. + Use this for offline or pre-approved package installs. Local nupkg files only contain Parquet.NET itself, so + dependency DLLs must also be present if installing without internet access. + + .PARAMETER Force + Forces re-download and reinstallation even if Parquet.NET already exists in the target location. + + .PARAMETER WhatIf + Shows what would happen if the command were to run. No actions are actually performed. + + .PARAMETER Confirm + Prompts you for confirmation before executing any operations that change state. + + .PARAMETER EnableException + By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message. + This avoids overwhelming you with "sea of red" exceptions, but is inconvenient because it basically disables advanced scripting. + Using this switch turns this "nice by default" feature off and enables you to catch exceptions with your own try/catch. + + .NOTES + Tags: Import, Parquet, Install + Author: dbatools team + + Website: https://dbatools.io + Copyright: (c) 2026 by dbatools, licensed under MIT + License: MIT https://opensource.org/licenses/MIT + + .LINK + https://dbatools.io/Install-DbaParquet + + .OUTPUTS + PSCustomObject + + Returns installation details when Parquet.NET is installed or already present. + + Properties: + - Name: The primary assembly name + - Path: The full file path to the Parquet.NET assembly + - Version: The installed Parquet.NET file version + - Installed: Boolean value of $true indicating successful installation + + .EXAMPLE + PS C:\> Install-DbaParquet + + Downloads Parquet.NET and dependencies from NuGet and installs them to the dbatools data directory. + + .EXAMPLE + PS C:\> Install-DbaParquet -Path C:\dbatools\parquet + + Installs Parquet.NET and dependencies to C:\dbatools\parquet. + + .EXAMPLE + PS C:\> Install-DbaParquet -LocalFile C:\temp\parquet-libs.zip + + Installs Parquet.NET from a local zip file containing Parquet.dll and its dependencies. + #> + [CmdletBinding(SupportsShouldProcess, ConfirmImpact = "Medium")] + param ( + [string]$Path, + [ValidateNotNullOrEmpty()] + [string]$Version = "5.5.0", + [string]$LocalFile, + [switch]$Force, + [switch]$EnableException + ) + + begin { + function Resolve-NuGetDependencyVersion { + param ( + [Parameter(Mandatory)] + [string]$VersionRange + ) + + $range = $VersionRange.Trim() + if ($range -match "^\[(?[^,\]]+)\]$") { + return $Matches.exact.Trim() + } + if ($range -match "^[\[\(]?(?[^,\]\)]+)") { + return $Matches.minimum.Trim() + } + return $range + } + + function Get-NuGetPackageDownloadUrl { + param ( + [Parameter(Mandatory)] + [string]$PackageId, + [Parameter(Mandatory)] + [string]$PackageVersion + ) + + $lowerPackageId = $PackageId.ToLowerInvariant() + $lowerVersion = $PackageVersion.ToLowerInvariant() + "https://api.nuget.org/v3-flatcontainer/$lowerPackageId/$lowerVersion/$lowerPackageId.$lowerVersion.nupkg" + } + + function Save-NuGetPackage { + param ( + [Parameter(Mandatory)] + [string]$PackageId, + [Parameter(Mandatory)] + [string]$PackageVersion, + [Parameter(Mandatory)] + [string]$PackageCache + ) + + if (-not (Test-Path -Path $PackageCache)) { + $null = New-Item -Path $PackageCache -ItemType Directory -Force + } + + $packageFileName = "$($PackageId.ToLowerInvariant()).$($PackageVersion.ToLowerInvariant()).nupkg" + $packageFile = Join-Path -Path $PackageCache -ChildPath $packageFileName + if ((Test-Path -Path $packageFile) -and -not $Force) { + Write-Message -Level Verbose -Message "Using cached NuGet package $packageFile" + return $packageFile + } + + $url = Get-NuGetPackageDownloadUrl -PackageId $PackageId -PackageVersion $PackageVersion + Write-Message -Level Verbose -Message "Downloading $PackageId $PackageVersion from $url" + Invoke-TlsWebRequest -Uri $url -OutFile $packageFile -UseBasicParsing -ErrorAction Stop + return $packageFile + } + + function Expand-NuGetPackage { + param ( + [Parameter(Mandatory)] + [string]$PackageFile, + [Parameter(Mandatory)] + [string]$DestinationPath + ) + + if (-not (Test-Path -Path $DestinationPath)) { + $null = New-Item -Path $DestinationPath -ItemType Directory -Force + } + + $archivePath = $PackageFile + if (-not $PackageFile.EndsWith(".zip", [System.StringComparison]::OrdinalIgnoreCase)) { + $archivePath = Join-Path -Path ([System.IO.Path]::GetDirectoryName($PackageFile)) -ChildPath "$([System.IO.Path]::GetFileName($PackageFile)).zip" + Copy-Item -Path $PackageFile -Destination $archivePath -Force + } + + Expand-Archive -LiteralPath $archivePath -DestinationPath $DestinationPath -Force + } + + function Get-NuGetLibPath { + param ( + [Parameter(Mandatory)] + [string]$ExtractPath + ) + + $libRoot = Join-Path -Path $ExtractPath -ChildPath "lib" + if (-not (Test-Path -Path $libRoot)) { + return $null + } + + $preferredFrameworks = @( + "netstandard2.0", + "netstandard2.1", + "net8.0", + "net7.0", + "net6.0", + "net461", + "net462", + "net472", + "net48" + ) + + foreach ($framework in $preferredFrameworks) { + $candidate = Join-Path -Path $libRoot -ChildPath $framework + if (Test-Path -Path $candidate) { + return $candidate + } + } + + $fallback = Get-ChildItem -Path $libRoot -Directory | Sort-Object Name | Select-Object -First 1 + if ($fallback) { + return $fallback.FullName + } + return $null + } + + function Get-NuGetDependencies { + param ( + [Parameter(Mandatory)] + [string]$ExtractPath + ) + + $nuspecFile = Get-ChildItem -Path $ExtractPath -Filter "*.nuspec" | Select-Object -First 1 + if (-not $nuspecFile) { + return @() + } + + [xml]$nuspec = Get-Content -Path $nuspecFile.FullName -Raw + $dependencyGroups = @($nuspec.SelectNodes("//*[local-name()='dependencies']/*[local-name()='group']")) + $dependencies = @() + if ($dependencyGroups.Count -gt 0) { + $selectedGroup = $dependencyGroups | Where-Object { $_.targetFramework -in ".NETStandard2.0", "netstandard2.0", "NETStandard2.0" } | Select-Object -First 1 + if (-not $selectedGroup) { + $selectedGroup = $dependencyGroups | Where-Object { -not $_.targetFramework } | Select-Object -First 1 + } + if (-not $selectedGroup) { + $selectedGroup = $dependencyGroups | Where-Object { $_.targetFramework -match "netstandard" } | Sort-Object targetFramework | Select-Object -First 1 + } + if ($selectedGroup) { + $dependencies = @($selectedGroup.SelectNodes("*[local-name()='dependency']")) + } + } else { + $dependencies = @($nuspec.SelectNodes("//*[local-name()='dependencies']/*[local-name()='dependency']")) + } + + foreach ($dependency in $dependencies) { + if ($dependency.id -and $dependency.version) { + [PSCustomObject]@{ + Id = [string]$dependency.id + Version = Resolve-NuGetDependencyVersion -VersionRange ([string]$dependency.version) + } + } + } + } + + function Copy-NuGetLibAssemblies { + param ( + [Parameter(Mandatory)] + [string]$ExtractPath, + [Parameter(Mandatory)] + [string]$DestinationPath + ) + + $libPath = Get-NuGetLibPath -ExtractPath $ExtractPath + if (-not $libPath) { + Write-Message -Level Verbose -Message "No lib assets found in $ExtractPath" + return + } + + Get-ChildItem -Path $libPath -Filter "*.dll" | ForEach-Object { + Copy-Item -Path $PSItem.FullName -Destination $DestinationPath -Force + Write-Message -Level Verbose -Message "Installed $($PSItem.Name)" + } + } + + function Install-NuGetPackageWithDependencies { + param ( + [Parameter(Mandatory)] + [string]$PackageId, + [Parameter(Mandatory)] + [string]$PackageVersion, + [Parameter(Mandatory)] + [string]$PackageCache, + [Parameter(Mandatory)] + [string]$ExtractRoot, + [Parameter(Mandatory)] + [string]$DestinationPath, + [Parameter(Mandatory)] + [hashtable]$VisitedPackages + ) + + $visitKey = "$($PackageId.ToLowerInvariant())|$($PackageVersion.ToLowerInvariant())" + if ($VisitedPackages[$visitKey]) { + return + } + $VisitedPackages[$visitKey] = $true + + $packageFile = Save-NuGetPackage -PackageId $PackageId -PackageVersion $PackageVersion -PackageCache $PackageCache + $extractPath = Join-Path -Path $ExtractRoot -ChildPath $visitKey.Replace("|", ".") + Expand-NuGetPackage -PackageFile $packageFile -DestinationPath $extractPath + Copy-NuGetLibAssemblies -ExtractPath $extractPath -DestinationPath $DestinationPath + + foreach ($dependency in Get-NuGetDependencies -ExtractPath $extractPath) { + Install-NuGetPackageWithDependencies -PackageId $dependency.Id -PackageVersion $dependency.Version -PackageCache $PackageCache -ExtractRoot $ExtractRoot -DestinationPath $DestinationPath -VisitedPackages $VisitedPackages + } + } + + function Install-LocalParquetAssemblies { + param ( + [Parameter(Mandatory)] + [string]$SourcePath, + [Parameter(Mandatory)] + [string]$DestinationPath, + [Parameter(Mandatory)] + [string]$ExtractRoot + ) + + if (Test-Path -Path $SourcePath -PathType Container) { + $sourceRoot = $SourcePath + } else { + $sourceRoot = Join-Path -Path $ExtractRoot -ChildPath "local" + Expand-NuGetPackage -PackageFile $SourcePath -DestinationPath $sourceRoot + } + + $libPath = Get-NuGetLibPath -ExtractPath $sourceRoot + if ($libPath) { + Get-ChildItem -Path $libPath -Filter "*.dll" | Copy-Item -Destination $DestinationPath -Force + } else { + Get-ChildItem -Path $sourceRoot -Filter "*.dll" -Recurse | Copy-Item -Destination $DestinationPath -Force + } + } + + function Remove-DbaParquetTempDirectory { + param ( + [string]$TempPath + ) + + if (-not $TempPath) { + return + } + + try { + $resolvedTempPath = [System.IO.Path]::GetFullPath($TempPath) + $systemTempPath = [System.IO.Path]::GetFullPath([System.IO.Path]::GetTempPath()) + if ($resolvedTempPath.StartsWith($systemTempPath, [System.StringComparison]::OrdinalIgnoreCase)) { + Remove-Item -LiteralPath $resolvedTempPath -Recurse -Force -ErrorAction SilentlyContinue + } + } catch { + } + } + } + + process { + if ($Force) { $ConfirmPreference = "none" } + + if ($LocalFile -and $LocalFile.StartsWith("http")) { + Stop-Function -Message "LocalFile cannot be a URL. It must be a local file path." + return + } + + if ($LocalFile -and -not (Test-Path -Path $LocalFile)) { + Stop-Function -Message "LocalFile $LocalFile does not exist." + return + } + + Write-Progress -Activity "Installing Parquet.NET" -Status "Checking for existing installation..." -PercentComplete 0 + + $installedPath = Get-DbaParquetPath -Silent + if ($installedPath -and -not $Force) { + Write-Progress -Activity "Installing Parquet.NET" -Completed + $notes = "Parquet.NET already exists at $installedPath. Skipped installation. Use -Force to overwrite." + Write-Message -Level Verbose -Message $notes + [PSCustomObject]@{ + Name = Split-Path -Path $installedPath -Leaf + Path = $installedPath + Version = (Get-Item -Path $installedPath).VersionInfo.FileVersion + Installed = $true + Notes = $notes + } + return + } + + if (-not $Path) { + $Path = Get-DbatoolsConfigValue -FullName "Path.DbatoolsParquet" + if (-not $Path) { + $dbatoolsData = Get-DbatoolsConfigValue -FullName "Path.DbatoolsData" + $dbatoolsData = $dbatoolsData.TrimEnd("/", "\") + $Path = Join-Path -Path $dbatoolsData -ChildPath "parquet" + } + } else { + Set-DbatoolsConfig -FullName "Path.DbatoolsParquet" -Value $Path + } + + $tempRoot = Join-Path -Path ([System.IO.Path]::GetTempPath()) -ChildPath "dbatools-parquet-$([System.Guid]::NewGuid().ToString())" + try { + if (-not $PSCmdlet.ShouldProcess($Path, "Install Parquet.NET assemblies")) { + Write-Progress -Activity "Installing Parquet.NET" -Completed + return + } + + Write-Progress -Activity "Installing Parquet.NET" -Status "Preparing installation directory..." -PercentComplete 10 + if (-not (Test-Path -Path $Path)) { + $null = New-Item -Path $Path -ItemType Directory -Force + } + + if (-not (Test-Path -Path $tempRoot)) { + $null = New-Item -Path $tempRoot -ItemType Directory -Force + } + + if ($LocalFile) { + Write-Progress -Activity "Installing Parquet.NET" -Status "Installing local assemblies..." -PercentComplete 40 + Install-LocalParquetAssemblies -SourcePath $LocalFile -DestinationPath $Path -ExtractRoot $tempRoot + } else { + Write-Progress -Activity "Installing Parquet.NET" -Status "Downloading NuGet packages..." -PercentComplete 35 + $packageCache = Join-Path -Path $Path -ChildPath "packages" + $extractRoot = Join-Path -Path $tempRoot -ChildPath "packages" + $visitedPackages = @{ } + Install-NuGetPackageWithDependencies -PackageId "Parquet.Net" -PackageVersion $Version -PackageCache $packageCache -ExtractRoot $extractRoot -DestinationPath $Path -VisitedPackages $visitedPackages + } + + Write-Progress -Activity "Installing Parquet.NET" -Status "Verifying installation..." -PercentComplete 90 + $parquetDllPath = Join-Path -Path $Path -ChildPath "Parquet.dll" + if (-not (Test-Path -Path $parquetDllPath)) { + $parquetDllPath = Join-Path -Path $Path -ChildPath "Parquet.Net.dll" + } + if (Test-Path -Path $parquetDllPath) { + Write-Progress -Activity "Installing Parquet.NET" -Completed + [PSCustomObject]@{ + Name = Split-Path -Path $parquetDllPath -Leaf + Path = $parquetDllPath + Version = (Get-Item -Path $parquetDllPath).VersionInfo.FileVersion + Installed = $true + } + } else { + Write-Progress -Activity "Installing Parquet.NET" -Completed + Stop-Function -Message "Parquet.NET installation failed. Parquet.dll was not found in $Path." + } + } catch { + Write-Progress -Activity "Installing Parquet.NET" -Completed + Stop-Function -Message "Failed to install Parquet.NET. $_" -ErrorRecord $_ + } finally { + Remove-DbaParquetTempDirectory -TempPath $tempRoot + } + } +} diff --git a/tests/Import-DbaParquet.Tests.ps1 b/tests/Import-DbaParquet.Tests.ps1 index d077b9ac4a34..2bd46daae1f0 100644 --- a/tests/Import-DbaParquet.Tests.ps1 +++ b/tests/Import-DbaParquet.Tests.ps1 @@ -96,6 +96,8 @@ Describe $CommandName -Tag IntegrationTests -Skip:(-not $hasIntegrationConfig) { BeforeAll { $PSDefaultParameterValues["*-Dba*:EnableException"] = $true + $null = Install-DbaParquet + # Set up Parquet file paths for testing $pathEcdc = "$($TestConfig.appveyorlabrepo)\parquet\ecdc_cases.parquet" $pathBoundaries = "$($TestConfig.appveyorlabrepo)\parquet\world-administrative-boundaries.parquet" @@ -374,4 +376,4 @@ ORDER BY c.column_id $errorRecord.Exception.Message | Should -Match "Parallel import is not implemented" } } -} \ No newline at end of file +} diff --git a/tests/Install-DbaParquet.Tests.ps1 b/tests/Install-DbaParquet.Tests.ps1 new file mode 100644 index 000000000000..1355d7c2b1ad --- /dev/null +++ b/tests/Install-DbaParquet.Tests.ps1 @@ -0,0 +1,22 @@ +#Requires -Module @{ ModuleName="Pester"; ModuleVersion="5.0" } +param( + $ModuleName = "dbatools", + $CommandName = "Install-DbaParquet", + $PSDefaultParameterValues = $TestConfig.Defaults +) + +Describe $CommandName -Tag UnitTests { + Context "Parameter validation" { + It "Should have the expected parameters" { + $hasParameters = (Get-Command $CommandName).Parameters.Values.Name | Where-Object { $PSItem -notin ("WhatIf", "Confirm") } + $expectedParameters = @( + "Path", + "Version", + "LocalFile", + "Force", + "EnableException" + ) + ($expectedParameters | Where-Object { $PSItem -notin $hasParameters }) | Should -BeNullOrEmpty + } + } +} From cafa87153b26e49232cc3cc9224050c5bac3bb6b Mon Sep 17 00:00:00 2001 From: Chrissy LeMaire Date: Sun, 3 May 2026 20:23:50 +0200 Subject: [PATCH 10/12] Add Parquet integration fixture coverage (do Install-DbaParquet, Import-DbaParquet) --- tests/Import-DbaParquet.Tests.ps1 | 87 +++++++++++++++++++++++++++--- tests/Install-DbaParquet.Tests.ps1 | 27 ++++++++++ 2 files changed, 108 insertions(+), 6 deletions(-) diff --git a/tests/Import-DbaParquet.Tests.ps1 b/tests/Import-DbaParquet.Tests.ps1 index 2bd46daae1f0..a10e3b98b1bc 100644 --- a/tests/Import-DbaParquet.Tests.ps1 +++ b/tests/Import-DbaParquet.Tests.ps1 @@ -11,9 +11,11 @@ if ($null -eq $PSDefaultParameterValues) { $hasIntegrationConfig = $false if ($TestConfig -and $TestConfig.appveyorlabrepo -and $TestConfig.InstanceMulti1) { - $pathEcdc = Join-Path $TestConfig.appveyorlabrepo "parquet\ecdc_cases.parquet" - $pathBoundaries = Join-Path $TestConfig.appveyorlabrepo "parquet\world-administrative-boundaries.parquet" - $hasIntegrationConfig = (Test-Path $pathEcdc) -and (Test-Path $pathBoundaries) + $parquetFixturePath = Join-Path -Path $TestConfig.appveyorlabrepo -ChildPath "parquet" + $pathEcdc = Join-Path -Path $parquetFixturePath -ChildPath "ecdc_cases.parquet" + $pathBoundaries = Join-Path -Path $parquetFixturePath -ChildPath "world-administrative-boundaries.parquet" + $pathMixedTypes = Join-Path -Path $parquetFixturePath -ChildPath "mixed_types.parquet" + $hasIntegrationConfig = (Test-Path $pathEcdc) -and (Test-Path $pathBoundaries) -and (Test-Path $pathMixedTypes) } Describe $CommandName -Tag UnitTests { @@ -99,8 +101,10 @@ Describe $CommandName -Tag IntegrationTests -Skip:(-not $hasIntegrationConfig) { $null = Install-DbaParquet # Set up Parquet file paths for testing - $pathEcdc = "$($TestConfig.appveyorlabrepo)\parquet\ecdc_cases.parquet" - $pathBoundaries = "$($TestConfig.appveyorlabrepo)\parquet\world-administrative-boundaries.parquet" + $parquetFixturePath = Join-Path -Path $TestConfig.appveyorlabrepo -ChildPath "parquet" + $pathEcdc = Join-Path -Path $parquetFixturePath -ChildPath "ecdc_cases.parquet" + $pathBoundaries = Join-Path -Path $parquetFixturePath -ChildPath "world-administrative-boundaries.parquet" + $pathMixedTypes = Join-Path -Path $parquetFixturePath -ChildPath "mixed_types.parquet" $PSDefaultParameterValues.Remove("*-Dba*:EnableException") } @@ -109,7 +113,7 @@ Describe $CommandName -Tag IntegrationTests -Skip:(-not $hasIntegrationConfig) { $PSDefaultParameterValues["*-Dba*:EnableException"] = $true # Cleanup test tables - Get-DbaDbTable -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table ecdc_cases, "world-administrative-boundaries", ecdc_cases_static, ecdc_cases_ordinal, ecdc_cases_notxn, ecdc_cases_utf8, ecdc_cases_utf16 -ErrorAction SilentlyContinue | Remove-DbaDbTable -ErrorAction SilentlyContinue + Get-DbaDbTable -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table ecdc_cases, "world-administrative-boundaries", ecdc_cases_static, ecdc_cases_ordinal, ecdc_cases_notxn, ecdc_cases_utf8, ecdc_cases_utf16, mixed_types, mixed_types_columns, mixed_types_column_map, world_boundaries_exact -ErrorAction SilentlyContinue | Remove-DbaDbTable -ErrorAction SilentlyContinue $PSDefaultParameterValues.Remove("*-Dba*:EnableException") } @@ -159,6 +163,77 @@ WHERE c.object_id = OBJECT_ID('dbo.ecdc_cases') } } + Context "Deterministic lab fixtures" { + It "imports mixed-type fixture rows and preserves exact values" { + $result = Import-DbaParquet -Path $pathMixedTypes -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable -Table mixed_types -NoColumnOptimize -StoreStringAsUtf8:$false + + $result | Should -Not -BeNullOrEmpty + $result.RowsCopied | Should -Be 3 + + $data = Invoke-DbaQuery -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Query "SELECT [key], label, CAST(amount AS decimal(10,2)) AS amount, CONVERT(date, imported_on) AS imported_on FROM dbo.mixed_types ORDER BY [key]" + $data.Count | Should -Be 3 + $data[0]."key" | Should -Be 10 + $data[0].label | Should -Be "alpha" + $data[0].amount | Should -Be ([decimal]"12.34") + $data[0].imported_on | Should -Be ([datetime]"2024-05-01") + $data[2]."key" | Should -Be 30 + $data[2].label | Should -Be "gamma" + $data[2].amount | Should -Be ([decimal]"90.12") + $data[2].imported_on | Should -Be ([datetime]"2024-05-03") + } + + It "imports a selected-column projection into a pre-created table" { + Invoke-DbaQuery -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Query "IF OBJECT_ID('dbo.mixed_types_columns') IS NOT NULL DROP TABLE dbo.mixed_types_columns; CREATE TABLE dbo.mixed_types_columns ([key] int NULL, [label] nvarchar(20) NULL);" + + $result = Import-DbaParquet -Path $pathMixedTypes -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table mixed_types_columns -Column key, label + + $result | Should -Not -BeNullOrEmpty + $result.RowsCopied | Should -Be 3 + + $metadata = Invoke-DbaQuery -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Query "SELECT COUNT(*) AS cnt FROM sys.columns WHERE object_id = OBJECT_ID('dbo.mixed_types_columns') AND name IN ('amount', 'imported_on')" + $metadata.cnt | Should -Be 0 + + $summary = Invoke-DbaQuery -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Query "SELECT COUNT(*) AS cnt, MIN([key]) AS min_key, MAX([key]) AS max_key, MAX(label) AS max_label FROM dbo.mixed_types_columns" + $summary.cnt | Should -Be 3 + $summary.min_key | Should -Be 10 + $summary.max_key | Should -Be 30 + $summary.max_label | Should -Be "gamma" + } + + It "maps parquet columns into differently named SQL columns" { + Invoke-DbaQuery -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Query "IF OBJECT_ID('dbo.mixed_types_column_map') IS NOT NULL DROP TABLE dbo.mixed_types_column_map; CREATE TABLE dbo.mixed_types_column_map ([identifier] int NULL, [display_name] nvarchar(20) NULL);" + + $columnMap = @{ + key = "identifier" + label = "display_name" + } + $result = Import-DbaParquet -Path $pathMixedTypes -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table mixed_types_column_map -ColumnMap $columnMap + + $result | Should -Not -BeNullOrEmpty + $result.RowsCopied | Should -Be 3 + + $row = Invoke-DbaQuery -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Query "SELECT identifier, display_name FROM dbo.mixed_types_column_map WHERE identifier = 20" + $row.display_name | Should -Be "beta" + } + + It "imports binary fixture bytes and preserves their lengths" { + $result = Import-DbaParquet -Path $pathBoundaries -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable -Table world_boundaries_exact -NoColumnOptimize -StoreStringAsUtf8:$false + + $result | Should -Not -BeNullOrEmpty + $result.RowsCopied | Should -Be 2 + + $lengths = Invoke-DbaQuery -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Query "SELECT objectid, DATALENGTH(shape) AS shape_length FROM dbo.world_boundaries_exact ORDER BY objectid" + $lengths[0].shape_length | Should -Be 3 + $lengths[1].shape_length | Should -Be 4 + } + + AfterAll { + $PSDefaultParameterValues["*-Dba*:EnableException"] = $true + Get-DbaDbTable -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -Table mixed_types, mixed_types_columns, mixed_types_column_map, world_boundaries_exact -ErrorAction SilentlyContinue | Remove-DbaDbTable -ErrorAction SilentlyContinue + $PSDefaultParameterValues.Remove("*-Dba*:EnableException") + } + } + Context "Import into existing table" { BeforeAll { $PSDefaultParameterValues["*-Dba*:EnableException"] = $true diff --git a/tests/Install-DbaParquet.Tests.ps1 b/tests/Install-DbaParquet.Tests.ps1 index 1355d7c2b1ad..2178a2c986bd 100644 --- a/tests/Install-DbaParquet.Tests.ps1 +++ b/tests/Install-DbaParquet.Tests.ps1 @@ -20,3 +20,30 @@ Describe $CommandName -Tag UnitTests { } } } + +Describe $CommandName -Tag IntegrationTests { + BeforeAll { + $script:originalParquetPath = Get-DbatoolsConfigValue -FullName "Path.DbatoolsParquet" + } + + AfterAll { + Set-DbatoolsConfig -FullName "Path.DbatoolsParquet" -Value $script:originalParquetPath + } + + Context "NuGet installation" { + It "installs Parquet.NET and managed dependencies to a custom path" { + $installPath = Join-Path $TestDrive "parquet" + + $result = Install-DbaParquet -Path $installPath -Force -EnableException + + $result | Should -Not -BeNullOrEmpty + $result.Installed | Should -BeTrue + @("Parquet.dll", "Parquet.Net.dll") | Should -Contain $result.Name + Test-Path -Path $result.Path | Should -BeTrue + + foreach ($assemblyName in "CommunityToolkit.HighPerformance.dll", "K4os.Compression.LZ4.dll", "Snappier.dll", "ZstdSharp.dll") { + Test-Path -Path (Join-Path $installPath $assemblyName) | Should -BeTrue + } + } + } +} From e1256b8411ff55f3aae7e4b27bc274a7c45be5bb Mon Sep 17 00:00:00 2001 From: Chrissy LeMaire Date: Sun, 3 May 2026 21:05:20 +0200 Subject: [PATCH 11/12] Rename StoreStringAsUtf8 to NoUtf8 and cleanup Rename the AutoCreateTable string flag from StoreStringAsUtf8 to a clearer switch NoUtf8 (invert logic by setting StoreStringAsUtf8 = -not $NoUtf8). Update public docs, parameter help, and tests to reflect the new switch. Remove unused parallel-related parameters and associated tests, tighten error handling (pass EnableException to Stop-Function, propagate ErrorRecord), fix naming/casing and quoting inconsistencies, and improve SQL parameter usage and switch literal consistency. Also add a transaction parameter to GetTableDefinition and update authorship/copyright metadata to 2026. (do Install-DbaParquet, Import-DbaParquet) --- private/functions/Get-DbaParquetPath.ps1 | 7 +- public/Import-DbaParquet.ps1 | 186 +++++++++-------------- tests/Import-DbaParquet.Tests.ps1 | 67 +++----- 3 files changed, 97 insertions(+), 163 deletions(-) diff --git a/private/functions/Get-DbaParquetPath.ps1 b/private/functions/Get-DbaParquetPath.ps1 index 78134e375326..d71a80db918a 100644 --- a/private/functions/Get-DbaParquetPath.ps1 +++ b/private/functions/Get-DbaParquetPath.ps1 @@ -14,7 +14,7 @@ function Get-DbaParquetPath { .NOTES Tags: Parquet, Import - Author: dbatools team + Author: Jovan Popovic, the dbatools team + Claude Website: https://dbatools.io Copyright: (c) 2026 by dbatools, licensed under MIT @@ -76,9 +76,6 @@ This will download Parquet.NET and its managed dependencies to your dbatools dat return $null } - Stop-Function -Message $message -Target "Parquet.NET" - if ($EnableException) { - throw "Parquet.NET not found" - } + Stop-Function -Message $message -Target "Parquet.NET" -EnableException $EnableException return $null } diff --git a/public/Import-DbaParquet.ps1 b/public/Import-DbaParquet.ps1 index 14c186d7d92b..7b1218174ab0 100644 --- a/public/Import-DbaParquet.ps1 +++ b/public/Import-DbaParquet.ps1 @@ -8,7 +8,7 @@ function Import-DbaParquet { Parquet files are read using Parquet.NET, which provides high-performance columnar data access. Unlike CSV, Parquet files contain schema information including column names and data types, which are used automatically during import. - When the target table doesn't exist, you can use -AutoCreateTable to create it on the fly with string columns using UTF-8 varchar(MAX) by default (or nvarchar(MAX) with -StoreStringAsUtf8:$false). For production use, create your table first with proper data types and constraints. The function intelligently maps Parquet columns to table columns by name, with fallback to ordinal position when needed. + When the target table doesn't exist, you can use -AutoCreateTable to create it on the fly with string columns using UTF-8 varchar(MAX) by default (or nvarchar(MAX) with -NoUtf8). For production use, create your table first with proper data types and constraints. The function intelligently maps Parquet columns to table columns by name, with fallback to ordinal position when needed. Column mapping lets you import specific columns or rename them during import, while schema detection can automatically place data in the correct schema based on filename patterns. @@ -53,17 +53,17 @@ function Import-DbaParquet { .PARAMETER AutoCreateTable Creates the destination table automatically if it doesn't exist, using Parquet schema types for SQL column definitions. - String columns are created as UTF-8 varchar(MAX) by default (or nvarchar(MAX) if -StoreStringAsUtf8:$false), then automatically optimized based on actual data lengths. + String columns are created as UTF-8 varchar(MAX) by default (or nvarchar(MAX) with -NoUtf8), then automatically optimized based on actual data lengths. For production use with specific constraints, create tables manually with appropriate data types, indexes, and constraints. - .PARAMETER StoreStringAsUtf8 - Controls string column type used by -AutoCreateTable. - By default ($true), string columns are created as varchar(MAX) COLLATE Latin1_General_100_BIN2_UTF8. - Set to $false to create string columns as nvarchar(MAX) instead. + .PARAMETER NoUtf8 + Switches AutoCreateTable string columns from UTF-8 varchar to nvarchar. + By default, string columns are created as varchar(MAX) COLLATE Latin1_General_100_BIN2_UTF8. + Use this switch to create string columns as nvarchar(MAX) instead. .PARAMETER NoColumnOptimize Skips the automatic column size optimization that runs after AutoCreateTable imports. - By default, AutoCreateTable creates string columns as UTF-8 varchar(MAX) (or nvarchar(MAX) with -StoreStringAsUtf8:$false) and then shrinks them to fit the imported data. + By default, AutoCreateTable creates string columns as UTF-8 varchar(MAX) (or nvarchar(MAX) with -NoUtf8) and then shrinks them to fit the imported data. Use this switch when importing multiple Parquet files into the same auto-created table, so that later files with longer values are not rejected due to columns being shrunk to fit only the first file's data. @@ -113,15 +113,6 @@ function Import-DbaParquet { Keys are column names, values are the static values to insert. Example: @{ SourceFile = "data.parquet"; ImportDate = (Get-Date) } - .PARAMETER Parallel - Reserved for future use. Parallel processing is not currently implemented for Parquet imports. - - .PARAMETER ThrottleLimit - Reserved for future use. Only used when Parallel is specified. - - .PARAMETER ParallelBatchSize - Reserved for future use. Only used when Parallel is specified. - .PARAMETER WhatIf Shows what would happen if the command were to run. No actions are actually performed. @@ -135,10 +126,10 @@ function Import-DbaParquet { .NOTES Tags: Import, Data, Utility - Author: Chrissy LeMaire (@cl), netnerds.net + Author: Jovan Popovic, the dbatools team + Claude Website: https://dbatools.io - Copyright: (c) 2018 by dbatools, licensed under MIT + Copyright: (c) 2026 by dbatools, licensed under MIT License: MIT https://opensource.org/licenses/MIT Requires Parquet.NET. Use Install-DbaParquet to install the external Parquet.NET assemblies if they are not already available. @@ -198,8 +189,8 @@ function Import-DbaParquet { .EXAMPLE PS C:\> $columns = @{ - >> Text = 'FirstName' - >> Number = 'PhoneNumber' + >> Text = "FirstName" + >> Number = "PhoneNumber" >> } PS C:\> Import-DbaParquet -Path c:\temp\supersmall.parquet -SqlInstance sql2016 -Database tempdb -ColumnMap $columns @@ -225,7 +216,7 @@ function Import-DbaParquet { optimized by querying actual max lengths and altering columns from varchar(MAX) to padded sizes like varchar(16), varchar(32), varchar(64), etc. #> - [CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'Low')] + [CmdletBinding(SupportsShouldProcess, ConfirmImpact = "Low")] param ( [parameter(ValueFromPipeline)] [ValidateNotNullOrEmpty()] @@ -249,26 +240,24 @@ function Import-DbaParquet { [hashtable]$ColumnMap, [switch]$KeepOrdinalOrder, [switch]$AutoCreateTable, - [bool]$StoreStringAsUtf8 = $true, + [switch]$NoUtf8, [switch]$NoColumnOptimize, [switch]$NoProgress, [switch]$UseFileNameForSchema, [switch]$NoTransaction, [hashtable]$StaticColumns, - [switch]$Parallel, - [int]$ThrottleLimit = 0, - [int]$ParallelBatchSize = 100, [switch]$EnableException ) begin { $scriptelapsed = [System.Diagnostics.Stopwatch]::StartNew() + $StoreStringAsUtf8 = -not $NoUtf8 if ($PSBoundParameters.UseFileNameForSchema -and $PSBoundParameters.Schema) { Write-Message -Level Warning -Message "Schema and UseFileNameForSchema parameters both specified. UseSchemaInFileName will be ignored." } # Load Parquet.NET assembly - $parquetAssembly = [System.AppDomain]::CurrentDomain.GetAssemblies() | Where-Object { $_.GetName().Name -eq 'Parquet' } + $parquetAssembly = [System.AppDomain]::CurrentDomain.GetAssemblies() | Where-Object { $_.GetName().Name -eq "Parquet" } if (-not $parquetAssembly) { $parquetDllPath = Get-DbaParquetPath -EnableException:$EnableException if (-not $parquetDllPath) { @@ -436,8 +425,8 @@ function Import-DbaParquet { function Convert-ParquetTypeToSqlType { param([object]$DataField) $clrType = $DataField.ClrType - switch ($ClrType.FullName) { - 'System.String' { + switch ($clrType.FullName) { + "System.String" { $stringLength = "MAX" if ($DataField.SchemaElement -and $DataField.SchemaElement.Type -eq "FIXED_LEN_BYTE_ARRAY" -and @@ -454,14 +443,14 @@ function Import-DbaParquet { } return "nvarchar($stringLength)" } - 'System.Int32' { return 'int' } - 'System.Int64' { return 'bigint' } - 'System.Int16' { return 'smallint' } - 'System.Byte' { return 'tinyint' } - 'System.Boolean' { return 'bit' } - 'System.Single' { return 'real' } - 'System.Double' { return 'float' } - 'System.Decimal' { + "System.Int32" { return "int" } + "System.Int64" { return "bigint" } + "System.Int16" { return "smallint" } + "System.Byte" { return "tinyint" } + "System.Boolean" { return "bit" } + "System.Single" { return "real" } + "System.Double" { return "float" } + "System.Decimal" { $precision = 38 $scale = 18 @@ -480,10 +469,10 @@ function Import-DbaParquet { return "decimal($precision,$scale)" } - 'System.DateTime' { return 'datetime2(6)' } - 'System.DateTimeOffset' { return 'datetimeoffset' } - 'System.TimeSpan' { return 'time' } - 'System.Byte[]' { + "System.DateTime" { return "datetime2(6)" } + "System.DateTimeOffset" { return "datetimeoffset" } + "System.TimeSpan" { return "time" } + "System.Byte[]" { if ($DataField.SchemaElement -and $DataField.SchemaElement.Type -eq "FIXED_LEN_BYTE_ARRAY" -and $DataField.SchemaElement.TypeLength -gt 0) { @@ -491,7 +480,7 @@ function Import-DbaParquet { } return "varbinary(MAX)" } - 'System.Guid' { return 'uniqueidentifier' } + "System.Guid" { return "uniqueidentifier" } default { Stop-Function -Message "Unsupported Parquet type: $($clrType.FullName)" -EnableException $true return @@ -521,7 +510,7 @@ function Import-DbaParquet { [Microsoft.Data.SqlClient.SqlTransaction]$transaction ) - $sqldatatypes = @(); + $sqldatatypes = @() foreach ($df in $DataFields) { $sqlType = Convert-ParquetTypeToSqlType -DataField $df $sqldatatypes += "[$($df.Name)] $sqlType NULL" @@ -533,8 +522,7 @@ function Import-DbaParquet { try { $null = $sqlcmd.ExecuteNonQuery() } catch { - $errormessage = $_.Exception.Message.ToString() - Stop-Function -Continue -Message "Failed to execute $sql. `n$errormessage" + Stop-Function -Continue -Message "Failed to execute $sql" -ErrorRecord $_ } Write-Message -Level Verbose -Message "Successfully created table $schema.$table with the following column definitions:`n $($sqldatatypes -join "`n ")" @@ -574,7 +562,7 @@ WHERE c.object_id = OBJECT_ID(@tableName) AND c.max_length = -1 "@ $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($getColumnsSql, $SqlConn) - $null = $sqlcmd.Parameters.AddWithValue('tableName', "[$Schema].[$Table]") + $null = $sqlcmd.Parameters.AddWithValue("tableName", "[$Schema].[$Table]") $columns = @{ } $reader = $sqlcmd.ExecuteReader() @@ -594,7 +582,7 @@ WHERE c.object_id = OBJECT_ID(@tableName) # Build MAX(LEN()) query for all columns $columnNames = @($columns.Keys) $maxLenSelects = $columnNames | ForEach-Object { "MAX(LEN([$_])) AS [$_]" } - $maxLenSql = "SELECT $($maxLenSelects -join ', ') FROM [$Schema].[$Table]" + $maxLenSql = "SELECT $($maxLenSelects -join ", ") FROM [$Schema].[$Table]" $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($maxLenSql, $SqlConn) $reader = $sqlcmd.ExecuteReader() @@ -673,30 +661,30 @@ WHERE c.object_id = OBJECT_ID(@tableName) ) switch ($DataType) { - 'BigInt' { return [System.Int64] } - 'Binary' { return [System.Byte[]] } - 'VarBinary' { return [System.Byte[]] } - 'Bit' { return [System.Boolean] } - 'Char' { return [System.String] } - 'VarChar' { return [System.String] } - 'NChar' { return [System.String] } - 'NVarChar' { return [System.String] } - 'DateTime' { return [System.DateTime] } - 'SmallDateTime' { return [System.DateTime] } - 'Date' { return [System.DateTime] } - 'Time' { return [System.DateTime] } - 'DateTime2' { return [System.DateTime] } - 'Decimal' { return [System.Decimal] } - 'Numeric' { return [System.Decimal] } - 'Money' { return [System.Decimal] } - 'SmallMoney' { return [System.Decimal] } - 'Float' { return [System.Double] } - 'Int' { return [System.Int32] } - 'Real' { return [System.Single] } - 'UniqueIdentifier' { return [System.Guid] } - 'SmallInt' { return [System.Int16] } - 'TinyInt' { return [System.Byte] } - 'Xml' { return [System.String] } + "BigInt" { return [System.Int64] } + "Binary" { return [System.Byte[]] } + "VarBinary" { return [System.Byte[]] } + "Bit" { return [System.Boolean] } + "Char" { return [System.String] } + "VarChar" { return [System.String] } + "NChar" { return [System.String] } + "NVarChar" { return [System.String] } + "DateTime" { return [System.DateTime] } + "SmallDateTime" { return [System.DateTime] } + "Date" { return [System.DateTime] } + "Time" { return [System.DateTime] } + "DateTime2" { return [System.DateTime] } + "Decimal" { return [System.Decimal] } + "Numeric" { return [System.Decimal] } + "Money" { return [System.Decimal] } + "SmallMoney" { return [System.Decimal] } + "Float" { return [System.Double] } + "Int" { return [System.Int32] } + "Real" { return [System.Single] } + "UniqueIdentifier" { return [System.Guid] } + "SmallInt" { return [System.Int16] } + "TinyInt" { return [System.Byte] } + "Xml" { return [System.String] } default { throw "Unsupported SMO DataType: $($DataType)" } } } @@ -705,13 +693,14 @@ WHERE c.object_id = OBJECT_ID(@tableName) param ( [string]$table, [string]$schema, - $sqlconn + $sqlconn, + $transaction ) $query = "SELECT c.COLUMN_NAME, c.DATA_TYPE, c.ORDINAL_POSITION - 1 FROM INFORMATION_SCHEMA.COLUMNS AS c WHERE TABLE_SCHEMA = @schema AND TABLE_NAME = @table;" $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($query, $sqlconn, $transaction) - $null = $sqlcmd.Parameters.AddWithValue('schema', $schema) - $null = $sqlcmd.Parameters.AddWithValue('table', $table) + $null = $sqlcmd.Parameters.AddWithValue("schema", $schema) + $null = $sqlcmd.Parameters.AddWithValue("table", $table) $result = @() try { @@ -725,7 +714,7 @@ WHERE c.object_id = OBJECT_ID(@tableName) } $reader.Close() } catch { - # callers report back the error if $result is empty + Write-Message -Level Debug -Message "Error querying table definition: $_" } return $result @@ -734,11 +723,6 @@ WHERE c.object_id = OBJECT_ID(@tableName) Write-Message -Level Verbose -Message "Started at $(Get-Date)" } process { - if ($PSBoundParameters.ContainsKey('Parallel') -or $PSBoundParameters.ContainsKey('ThrottleLimit') -or $PSBoundParameters.ContainsKey('ParallelBatchSize')) { - Stop-Function -Message "Parallel import is not implemented for Import-DbaParquet." -EnableException $EnableException - return - } - foreach ($filename in $Path) { if (-not $PSBoundParameters.ColumnMap) { $ColumnMap = $null @@ -758,10 +742,11 @@ WHERE c.object_id = OBJECT_ID(@tableName) # Automatically generate Table name if not specified if (-not $PSBoundParameters.Table) { - if ($filename.IndexOf('.') -ne -1) { $periodFound = $true } + $periodFound = $false + if ($filename.IndexOf(".") -ne -1) { $periodFound = $true } if ($UseFileNameForSchema -and $periodFound -and -not $PSBoundParameters.Schema) { - $table = $filename.Remove(0, $filename.IndexOf('.') + 1) + $table = $filename.Remove(0, $filename.IndexOf(".") + 1) Write-Message -Level Verbose -Message "Table name not specified, using $table from file name" } else { $table = $filename @@ -772,15 +757,15 @@ WHERE c.object_id = OBJECT_ID(@tableName) # Use dbo as schema name if not specified in params, or as first string before a period in filename if (-not ($PSBoundParameters.Schema)) { if ($UseFileNameForSchema) { - if ($filename.IndexOf('.') -eq -1) { + if ($filename.IndexOf(".") -eq -1) { $schema = "dbo" Write-Message -Level Verbose -Message "Schema not specified, and not found in file name, using dbo" } else { - $schema = $filename.SubString(0, $filename.IndexOf('.')) + $schema = $filename.SubString(0, $filename.IndexOf(".")) Write-Message -Level Verbose -Message "Schema detected in filename, using $schema" } } else { - $schema = 'dbo' + $schema = "dbo" Write-Message -Level Verbose -Message "Schema not specified, using dbo" } } @@ -802,7 +787,7 @@ WHERE c.object_id = OBJECT_ID(@tableName) $server = Connect-DbaInstance -SqlInstance $instance -SqlCredential $SqlCredential -Database $Database -MinimumVersion 9 $sqlconn = $server.ConnectionContext.SqlConnectionObject - if ($sqlconn.State -ne 'Open') { + if ($sqlconn.State -ne "Open") { $sqlconn.Open() } } catch { @@ -820,7 +805,7 @@ WHERE c.object_id = OBJECT_ID(@tableName) # Ensure Schema exists $sql = "SELECT COUNT(*) FROM sys.schemas WHERE name = @schema" $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($sql, $sqlconn, $transaction) - $null = $sqlcmd.Parameters.AddWithValue('schema', $schema) + $null = $sqlcmd.Parameters.AddWithValue("schema", $schema) # If Schema doesn't exist create it # Defaulting to dbo. if (($sqlcmd.ExecuteScalar()) -eq 0) { @@ -841,15 +826,13 @@ WHERE c.object_id = OBJECT_ID(@tableName) # Ensure table or view exists $sql = "SELECT COUNT(*) FROM sys.tables WHERE name = @table AND schema_id = schema_id(@schema)" $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($sql, $sqlconn, $transaction) - $null = $sqlcmd.Parameters.AddWithValue('schema', $schema) - $null = $sqlcmd.Parameters.AddWithValue('table', $table) + $null = $sqlcmd.Parameters.AddWithValue("schema", $schema) + $null = $sqlcmd.Parameters.AddWithValue("table", $table) $sql2 = "SELECT COUNT(*) FROM sys.views WHERE name = @table AND schema_id=schema_id(@schema)" $sqlcmd2 = New-Object Microsoft.Data.SqlClient.SqlCommand($sql2, $sqlconn, $transaction) - $null = $sqlcmd2.Parameters.AddWithValue('schema', $schema) - $null = $sqlcmd2.Parameters.AddWithValue('table', $table) - - $shouldMapCorrectTypes = $false + $null = $sqlcmd2.Parameters.AddWithValue("schema", $schema) + $null = $sqlcmd2.Parameters.AddWithValue("table", $table) # Track if we created a "fat" table (varchar(MAX) for all columns) that needs post-import optimization $createdFatTable = $false @@ -880,7 +863,6 @@ WHERE c.object_id = OBJECT_ID(@tableName) } } } else { - $shouldMapCorrectTypes = $true Write-Message -Level Verbose -Message "Table exists" } @@ -1106,24 +1088,6 @@ WHERE c.object_id = OBJECT_ID(@tableName) } } end { - # Close everything just in case & ignore errors - # Only close SQL connection if we created it (not user-provided) - try { - if (-not $startedWithAnOpenConnection) { - $null = $sqlconn.Close() - $null = $sqlconn.Dispose() - } - $null = $bulkCopy.Close() - $bulkcopy.Dispose() - if ($parquetReader) { - $parquetReader.Dispose() - } - } catch { - #here to avoid an empty catch - $null = 1 - } - - # Script is finished. Show elapsed time. $totaltime = [math]::Round($scriptelapsed.Elapsed.TotalSeconds, 2) Write-Message -Level Verbose -Message "Total Elapsed Time for everything: $totaltime seconds" } diff --git a/tests/Import-DbaParquet.Tests.ps1 b/tests/Import-DbaParquet.Tests.ps1 index a10e3b98b1bc..29f8013c28ee 100644 --- a/tests/Import-DbaParquet.Tests.ps1 +++ b/tests/Import-DbaParquet.Tests.ps1 @@ -40,16 +40,13 @@ Describe $CommandName -Tag UnitTests { "ColumnMap", "KeepOrdinalOrder", "AutoCreateTable", - "StoreStringAsUtf8", + "NoUtf8", "NoColumnOptimize", "NoProgress", "UseFileNameForSchema", "NoTransaction", "StaticColumns", - "EnableException", - "Parallel", - "ThrottleLimit", - "ParallelBatchSize" + "EnableException" ) ($expectedParameters | Where-Object { $PSItem -notin $hasParameters }) | Should -BeNullOrEmpty } @@ -165,7 +162,7 @@ WHERE c.object_id = OBJECT_ID('dbo.ecdc_cases') Context "Deterministic lab fixtures" { It "imports mixed-type fixture rows and preserves exact values" { - $result = Import-DbaParquet -Path $pathMixedTypes -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable -Table mixed_types -NoColumnOptimize -StoreStringAsUtf8:$false + $result = Import-DbaParquet -Path $pathMixedTypes -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable -Table mixed_types -NoColumnOptimize -NoUtf8 $result | Should -Not -BeNullOrEmpty $result.RowsCopied | Should -Be 3 @@ -217,7 +214,7 @@ WHERE c.object_id = OBJECT_ID('dbo.ecdc_cases') } It "imports binary fixture bytes and preserves their lengths" { - $result = Import-DbaParquet -Path $pathBoundaries -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable -Table world_boundaries_exact -NoColumnOptimize -StoreStringAsUtf8:$false + $result = Import-DbaParquet -Path $pathBoundaries -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable -Table world_boundaries_exact -NoColumnOptimize -NoUtf8 $result | Should -Not -BeNullOrEmpty $result.RowsCopied | Should -Be 2 @@ -286,7 +283,7 @@ WHERE c.object_id = OBJECT_ID('dbo.ecdc_cases') Context "Static columns" { It "adds static columns to imported data" { - $result = Import-DbaParquet -Path $pathEcdc -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable -Table ecdc_cases_static -StaticColumns @{ ImportSource = 'test' } + $result = Import-DbaParquet -Path $pathEcdc -SqlInstance $TestConfig.InstanceMulti1 -Database tempdb -AutoCreateTable -Table ecdc_cases_static -StaticColumns @{ ImportSource = "test" } $result | Should -Not -BeNullOrEmpty $result.RowsCopied | Should -BeGreaterThan 0 @@ -358,16 +355,15 @@ WHERE c.object_id = OBJECT_ID('dbo.ecdc_cases') } } - Context "StoreStringAsUtf8 behavior" { + Context "NoUtf8 behavior" { It "creates UTF-8 varchar columns by default" { $splatImport = @{ - Path = $pathEcdc - SqlInstance = $TestConfig.InstanceMulti1 - Database = "tempdb" - AutoCreateTable = $true - Table = "ecdc_cases_utf8" - NoColumnOptimize = $true - StoreStringAsUtf8 = $true + Path = $pathEcdc + SqlInstance = $TestConfig.InstanceMulti1 + Database = "tempdb" + AutoCreateTable = $true + Table = "ecdc_cases_utf8" + NoColumnOptimize = $true } $result = Import-DbaParquet @splatImport @@ -390,15 +386,15 @@ ORDER BY c.column_id $utf8Column.CollationName | Should -Match "UTF8" } - It "creates nvarchar columns when StoreStringAsUtf8 is false" { + It "creates nvarchar columns when NoUtf8 is specified" { $splatImport = @{ - Path = $pathEcdc - SqlInstance = $TestConfig.InstanceMulti1 - Database = "tempdb" - AutoCreateTable = $true - Table = "ecdc_cases_utf16" - NoColumnOptimize = $true - StoreStringAsUtf8 = $false + Path = $pathEcdc + SqlInstance = $TestConfig.InstanceMulti1 + Database = "tempdb" + AutoCreateTable = $true + Table = "ecdc_cases_utf16" + NoColumnOptimize = $true + NoUtf8 = $true } $result = Import-DbaParquet @splatImport @@ -428,27 +424,4 @@ ORDER BY c.column_id } } - Context "Parallel flags guardrail" { - It "throws when parallel-related parameters are supplied" { - $splatImport = @{ - Path = $pathEcdc - SqlInstance = $TestConfig.InstanceMulti1 - Database = "tempdb" - Table = "ecdc_cases" - Parallel = $true - ThrottleLimit = 2 - ParallelBatchSize = 10 - EnableException = $true - } - $errorRecord = $null - try { - $null = Import-DbaParquet @splatImport - } catch { - $errorRecord = $PSItem - } - - $errorRecord | Should -Not -BeNullOrEmpty - $errorRecord.Exception.Message | Should -Match "Parallel import is not implemented" - } - } } From be3bb443b97e8f60fe5056c7bf00706817523665 Mon Sep 17 00:00:00 2001 From: Chrissy LeMaire Date: Mon, 4 May 2026 16:53:44 +0200 Subject: [PATCH 12/12] Add static column support and improve installer (do Install-DbaParquet, Import-DbaParquet) --- public/Import-DbaParquet.ps1 | 24 +++++- public/Install-DbaParquet.ps1 | 155 ++++++++++++++++++++++++---------- 2 files changed, 131 insertions(+), 48 deletions(-) diff --git a/public/Import-DbaParquet.ps1 b/public/Import-DbaParquet.ps1 index 7b1218174ab0..bcde9e9a0747 100644 --- a/public/Import-DbaParquet.ps1 +++ b/public/Import-DbaParquet.ps1 @@ -507,7 +507,8 @@ function Import-DbaParquet { [Parameter(Mandatory)] [object[]]$DataFields, [Microsoft.Data.SqlClient.SqlConnection]$sqlconn, - [Microsoft.Data.SqlClient.SqlTransaction]$transaction + [Microsoft.Data.SqlClient.SqlTransaction]$transaction, + [hashtable]$StaticColumns ) $sqldatatypes = @() @@ -516,6 +517,17 @@ function Import-DbaParquet { $sqldatatypes += "[$($df.Name)] $sqlType NULL" } + # Static columns ride along on every row in the DataTable, so they must exist in the + # destination too — otherwise SqlBulkCopy.ColumnMappings.Add fails with "does not match + # up with any column in the source or destination". Use the same string column shape + # the rest of AutoCreateTable picks for parquet strings. + if ($StaticColumns) { + $stringSqlType = if ($StoreStringAsUtf8) { "varchar(MAX) COLLATE Latin1_General_100_BIN2_UTF8" } else { "nvarchar(MAX)" } + foreach ($key in $StaticColumns.Keys) { + $sqldatatypes += "[$key] $stringSqlType NULL" + } + } + $sql = "BEGIN CREATE TABLE [$schema].[$table] ($($sqldatatypes -join ", ")) END" $sqlcmd = New-Object Microsoft.Data.SqlClient.SqlCommand($sql, $sqlconn, $transaction) @@ -856,7 +868,15 @@ WHERE c.object_id = OBJECT_ID(@tableName) if ($PSCmdlet.ShouldProcess($instance, "Creating table $table")) { try { - New-SqlTable -DataFields $dataFields -SqlConn $sqlconn -Transaction $transaction + $splatNewSqlTable = @{ + DataFields = $dataFields + SqlConn = $sqlconn + Transaction = $transaction + } + if ($PSBoundParameters.StaticColumns) { + $splatNewSqlTable.StaticColumns = $StaticColumns + } + New-SqlTable @splatNewSqlTable $createdFatTable = $true } catch { Stop-Function -Continue -Message "Failure" -ErrorRecord $_ diff --git a/public/Install-DbaParquet.ps1 b/public/Install-DbaParquet.ps1 index 53d433b66396..e333a4909eea 100644 --- a/public/Install-DbaParquet.ps1 +++ b/public/Install-DbaParquet.ps1 @@ -152,17 +152,14 @@ function Install-DbaParquet { [string]$DestinationPath ) - if (-not (Test-Path -Path $DestinationPath)) { - $null = New-Item -Path $DestinationPath -ItemType Directory -Force + # Use System.IO.Compression rather than Expand-Archive because Expand-Archive is PowerShell v5+ + # and silently skips entries it cannot translate (some NuGet packages contain files Expand-Archive + # quietly drops, leading to "lib not found" failures downstream). dbatools must support PowerShell v3. + Add-Type -AssemblyName System.IO.Compression.FileSystem -ErrorAction SilentlyContinue + if (Test-Path -Path $DestinationPath) { + Remove-Item -LiteralPath $DestinationPath -Recurse -Force -ErrorAction SilentlyContinue } - - $archivePath = $PackageFile - if (-not $PackageFile.EndsWith(".zip", [System.StringComparison]::OrdinalIgnoreCase)) { - $archivePath = Join-Path -Path ([System.IO.Path]::GetDirectoryName($PackageFile)) -ChildPath "$([System.IO.Path]::GetFileName($PackageFile)).zip" - Copy-Item -Path $PackageFile -Destination $archivePath -Force - } - - Expand-Archive -LiteralPath $archivePath -DestinationPath $DestinationPath -Force + [System.IO.Compression.ZipFile]::ExtractToDirectory($PackageFile, $DestinationPath) } function Get-NuGetLibPath { @@ -176,17 +173,32 @@ function Install-DbaParquet { return $null } - $preferredFrameworks = @( - "netstandard2.0", - "netstandard2.1", - "net8.0", - "net7.0", - "net6.0", - "net461", - "net462", - "net472", - "net48" - ) + # Pick the closest TFM to the host runtime. On .NET Core / .NET 5+ the netstandard2.0 builds + # of Parquet.NET hit Span/System.Memory ambiguity and throw NotImplementedException at + # runtime, so we walk net*.0 down from the running major version first. On Windows PowerShell + # we stay on .NET Framework targets. + $psEdition = $PSVersionTable.PSEdition + if (-not $psEdition) { $psEdition = "Desktop" } + + if ($psEdition -eq "Core") { + $preferredFrameworks = @() + $netMajor = [System.Environment]::Version.Major + if ($netMajor -lt 5) { $netMajor = 8 } + for ($i = $netMajor; $i -ge 5; $i--) { + $preferredFrameworks += "net$i.0" + } + $preferredFrameworks += @("netstandard2.1", "netcoreapp3.1", "netcoreapp3.0", "netstandard2.0") + } else { + $preferredFrameworks = @( + "net48", + "net472", + "net471", + "netstandard2.0", + "net462", + "net461", + "net46" + ) + } foreach ($framework in $preferredFrameworks) { $candidate = Join-Path -Path $libRoot -ChildPath $framework @@ -241,27 +253,27 @@ function Install-DbaParquet { } } - function Copy-NuGetLibAssemblies { + function Compare-NuGetVersion { param ( [Parameter(Mandatory)] - [string]$ExtractPath, + [string]$Left, [Parameter(Mandatory)] - [string]$DestinationPath + [string]$Right ) - $libPath = Get-NuGetLibPath -ExtractPath $ExtractPath - if (-not $libPath) { - Write-Message -Level Verbose -Message "No lib assets found in $ExtractPath" - return - } + $leftClean = ($Left -split "-", 2)[0].Trim() + $rightClean = ($Right -split "-", 2)[0].Trim() - Get-ChildItem -Path $libPath -Filter "*.dll" | ForEach-Object { - Copy-Item -Path $PSItem.FullName -Destination $DestinationPath -Force - Write-Message -Level Verbose -Message "Installed $($PSItem.Name)" + try { + $leftVer = [System.Version]$leftClean + $rightVer = [System.Version]$rightClean + return $leftVer.CompareTo($rightVer) + } catch { + return [string]::Compare($leftClean, $rightClean, [System.StringComparison]::OrdinalIgnoreCase) } } - function Install-NuGetPackageWithDependencies { + function Resolve-NuGetPackageGraph { param ( [Parameter(Mandatory)] [string]$PackageId, @@ -272,24 +284,73 @@ function Install-DbaParquet { [Parameter(Mandatory)] [string]$ExtractRoot, [Parameter(Mandatory)] - [string]$DestinationPath, - [Parameter(Mandatory)] - [hashtable]$VisitedPackages + [hashtable]$ResolvedPackages ) - $visitKey = "$($PackageId.ToLowerInvariant())|$($PackageVersion.ToLowerInvariant())" - if ($VisitedPackages[$visitKey]) { - return + # NuGet "highest minimum" resolution: when multiple deps require the same package id, + # keep the highest minimum version instead of letting DFS order decide. + $lowerId = $PackageId.ToLowerInvariant() + if ($ResolvedPackages.ContainsKey($lowerId)) { + $comparison = Compare-NuGetVersion -Left $PackageVersion -Right $ResolvedPackages[$lowerId].Version + if ($comparison -le 0) { + return + } } - $VisitedPackages[$visitKey] = $true $packageFile = Save-NuGetPackage -PackageId $PackageId -PackageVersion $PackageVersion -PackageCache $PackageCache - $extractPath = Join-Path -Path $ExtractRoot -ChildPath $visitKey.Replace("|", ".") + $extractPath = Join-Path -Path $ExtractRoot -ChildPath "$lowerId.$($PackageVersion.ToLowerInvariant())" Expand-NuGetPackage -PackageFile $packageFile -DestinationPath $extractPath - Copy-NuGetLibAssemblies -ExtractPath $extractPath -DestinationPath $DestinationPath + + $ResolvedPackages[$lowerId] = [PSCustomObject]@{ + Id = $PackageId + Version = $PackageVersion + ExtractPath = $extractPath + } foreach ($dependency in Get-NuGetDependencies -ExtractPath $extractPath) { - Install-NuGetPackageWithDependencies -PackageId $dependency.Id -PackageVersion $dependency.Version -PackageCache $PackageCache -ExtractRoot $ExtractRoot -DestinationPath $DestinationPath -VisitedPackages $VisitedPackages + Resolve-NuGetPackageGraph -PackageId $dependency.Id -PackageVersion $dependency.Version -PackageCache $PackageCache -ExtractRoot $ExtractRoot -ResolvedPackages $ResolvedPackages + } + } + + function Copy-ResolvedAssemblies { + param ( + [Parameter(Mandatory)] + [hashtable]$ResolvedPackages, + [Parameter(Mandatory)] + [string]$DestinationPath + ) + + # Collect every candidate DLL from the resolved package set, keyed by filename. + # When the same DLL ships in multiple packages, keep the highest file version so + # transitive dependencies cannot regress newer assemblies pulled in by leaf packages. + $dllsByName = @{ } + foreach ($package in $ResolvedPackages.Values) { + $libPath = Get-NuGetLibPath -ExtractPath $package.ExtractPath + if (-not $libPath) { + Write-Message -Level Verbose -Message "No lib assets found for $($package.Id) $($package.Version)" + continue + } + + Get-ChildItem -Path $libPath -Filter "*.dll" | ForEach-Object { + $key = $PSItem.Name.ToLowerInvariant() + if (-not $dllsByName.ContainsKey($key)) { + $dllsByName[$key] = $PSItem + return + } + + $existingVersion = [System.Version]"0.0.0.0" + $candidateVersion = [System.Version]"0.0.0.0" + try { $existingVersion = [System.Version]$dllsByName[$key].VersionInfo.FileVersion } catch { } + try { $candidateVersion = [System.Version]$PSItem.VersionInfo.FileVersion } catch { } + if ($candidateVersion -gt $existingVersion) { + $dllsByName[$key] = $PSItem + } + } + } + + foreach ($file in $dllsByName.Values) { + Copy-Item -Path $file.FullName -Destination $DestinationPath -Force + Write-Message -Level Verbose -Message "Installed $($file.Name) ($($file.VersionInfo.FileVersion))" } } @@ -399,11 +460,13 @@ function Install-DbaParquet { Write-Progress -Activity "Installing Parquet.NET" -Status "Installing local assemblies..." -PercentComplete 40 Install-LocalParquetAssemblies -SourcePath $LocalFile -DestinationPath $Path -ExtractRoot $tempRoot } else { - Write-Progress -Activity "Installing Parquet.NET" -Status "Downloading NuGet packages..." -PercentComplete 35 + Write-Progress -Activity "Installing Parquet.NET" -Status "Resolving NuGet dependencies..." -PercentComplete 35 $packageCache = Join-Path -Path $Path -ChildPath "packages" $extractRoot = Join-Path -Path $tempRoot -ChildPath "packages" - $visitedPackages = @{ } - Install-NuGetPackageWithDependencies -PackageId "Parquet.Net" -PackageVersion $Version -PackageCache $packageCache -ExtractRoot $extractRoot -DestinationPath $Path -VisitedPackages $visitedPackages + $resolvedPackages = @{ } + Resolve-NuGetPackageGraph -PackageId "Parquet.Net" -PackageVersion $Version -PackageCache $packageCache -ExtractRoot $extractRoot -ResolvedPackages $resolvedPackages + Write-Progress -Activity "Installing Parquet.NET" -Status "Installing assemblies..." -PercentComplete 70 + Copy-ResolvedAssemblies -ResolvedPackages $resolvedPackages -DestinationPath $Path } Write-Progress -Activity "Installing Parquet.NET" -Status "Verifying installation..." -PercentComplete 90

dJ&%R z)$jv3XM@^jky!hgT9lzh8F)CyW@u@xdD%Mmc-0>0*>jj*(Tn{ZcIBdD!O`4*x~c(f z6`klFW>;blLFjPmnx)LC7LVs!1z2wU^1&1qt>gw4@)XxCy{xppnJ zNPp)>NS3g(Z6 zi&2#Cf##2eell3OF^I&VF&0>3?pQF*Suwy^2mQIHGT3ZeJ+mqi=G4nycdiwW?%WqSgIiwA;$v8D_ z7;K!fIWZi0%pP;(I9!KR43J9^aDbdJ@Hk|)j6+5+4p~Z+yhX;LFzI1l_hq=qIJ_JY z*!UF;(!EzQsOY_lxu^!4%l*e8vt%5ypzsdHp_ENbvISx%k z#-WJNBgK1|tR+6vzZP-+#=?4pja)YTZ!rbOmGY3}yC(0O_ROl=dmS0MUe~t~_Fhkr z?!AGIkzezPsS}gD1eFo`*lOvN-I5{!{7n3k@@hyylF%KVq%J}!dU>RO) zZABV}`u8cpv3fZ}G#Xn93Heg5F-T(rkVHX;sjaDKGuMETd}N2#$?`CIVdvjNa8M2~ z`FS=ubDMm5q91!298SXdNzvyI!Pl_L;Vt%eFLO*5>`#i&%I;&b$Yk>Pi%Ft)t(tLScB2qcFLiaF+pRdZD zCh$H|U_-*fGb|#81soWbY2PU=6K1;mVL@hkwFoD>^3z>Ig>=uvU{I8c^CG!%;(P?5 z?vWZLuY1Fn5&Q=U<`2X{emh{B%*~9$H5mJBb{?c8G7pL<<PTj`G?pI=j_ zvBP7bB10 zc3VgUH97yub%WIfx|Vf=a@cj_U8pBJ85o&z)I3Hv@;9{nUHJnx&>ijUA%r+iiZl3} zpk1Ew-3!^+43L*su!L0chnf6+m^f5kNtbAKsaG12R2+vc!?xWlJTk)}-&r`+jAv&% z;EL2lK{AEMV>={Las2d>hXbFuVY%oSY^Su974*)*fqy&`!m~-4N@71NnM#%>{HKsJ<|W(}A>GrdXfGazdpH+>8#j4nNFd)Gb~$#`5onhy zp9de|;EPbJ(Ln!eU<>E5haB+22R@!bDPqioBj;a?Y<|qJ0H=_jMs0CCgTDl6ui{Zt zN3_8I1=3!o?#yq)?5s-nQ%OLn6ORu$CkJ&#&-^8*|A~s%qT;ehUe)+Dt)TAls(fm; zZuFtl4X6GY)Y=hN{$FVDx^31wPL)py>W!#{s26htzwh&_oO(TA+^QtHo<$;D<~{_x zF?kMQQNgA{Sk&`~^6iFAWu6zeKZuvJM9Dx4SZPDlW0s;TmEd8eb{Ah`r>%|-; z-<31GUH+62o?LqpCUYKOaHmPbF1mk-8>AJ_8`6cZHUnI4lXd2U(!_G z4NWDht9OwPUA@O3())W-LmtY-`+0N!Mw+hoae)o!9wF@^rQE^#MuVmd+3nM&O zgL;`BSSTwAEtG&KU84S_U_6+G8ad~nzDkjk61x6n)m945HM9&>j{T54U4DQ|93-1PuJYq6B}|h@b;Qk0k!*OyoKcQNtaj zju&}xip<0PbqzMIAc9_wBSW5i%tU^%t#>IP&iu{RJ>7`u9%8&NA5vkn9Vzk~ed(^h zp#uKcjQ@8;_^E+^ARIA4r}1TJ)}sr0Fh0(`KCG#W4MivV$X%NlRNN31A#0S`OeXh1yq>Q2%0_U6a*EOpn}$aonG zX2TXEM!7W0h=D^f4hp|oGhlAa*T^*AXwmpG?f0ISpM8YHF}3;ksu8n_vy)-u`mT_Q zeygEh?9st)Pe+4t^^1qVp1jX*^b4g^zhBqOC8Hh<#T~ZpVS3JQ|Me^bHmT5l$OGH> zNbkZWk?!(PJ(V6oh(YQ{5snxy%BK)I-iwDoQ2rUX;(HPP6;S@Gr|TZ37V6~;wp2_& zgGBQz0w!@Vc@;l-8)}q-+28+rwXw{j)`WX`FLMlcJmfB5x#|IP{RHx0hy3mhb$Y{3 zvpRk8wNR%N)Af^vmTT_;&^rIL`Fw6~A+iwvDH`8fWa3XSUToq&V|<8-KgoCr;}yLr z2I<~X1ZI6151y6MSIpw}sqSI9?F-;WOHw=Nr5Jv|Tu72JDIe24tPGp0oU2BG54s(F zE|T?7CfRd0rLe(F2{z5rJ>-NRz^uB1HL#>%#8n@H9}nQYrw3T>kVY#VuH z+s6Bh3Md7>1N4GB2oG~F7DO)@-38ONipjSyV)E@0`4&cD%p}P-SLACI8dg|?VZq-Q z^v0b{16ax}m_rPcH3Um*=0*{AvaXY}b0;?egKaSzoFv2;h7LgHq$Z((>@SgdT zbFf%AqWpm@|4NPr>=G~)hP|BOmWnCCfM6l8sRJ7;KqI8uwF{4f4c-E0SJk{av@Axm zmpX(u4oS*rD9cX{hJoBC@z-yE`;HoF=M#!#ZQuMHY@&S)Ci;5T?e#V=i1aoxC^p|; z?`;CGYu{w3Xgc%_AA=#LKD93-F|WFvAg0dkOE zAP3wP@-52L>gD8N1S+r+eHS~f@_kp`!&=9@WW{?DJJW8jk0gk<9fQastRXeM?TDK( zumEz*Gjfm)kKS|-Bb|CV3-}pczJ^hhvzSubY^`6Zyf z(Z#t4Z%WRCjFLSXG?=s{{$t2qgkKjppw!L(c>xN~&-Cl%tXRb6+w-B^*rOB6TZqbTz&bfP^nmFl*0OFopk81#{h~ zfV_vo7Aoa=eIgo7U(7)$KZAxL4L{i9`lL=KO{Mw5DTvbkZme?*`j~wYk#9x7)=Kbc`g?|ul3EmT8Bc_ylRm?+O78NqO48LTA6SN1_?)=6R9L%wz`Avx9(vd$j; z;N#EzkpdA8K)~l}gfc>P50lL2be67qRhs# zkGj)L+gs2NgVB$0qf^`YN(qa&hQ0&zxQ_t;Jk~-w#MzQw#OV-3m`7u#U`)m%+&o)P zez|BQIu#pFk@9IgFQ66IE!?lbPhhL~E2DC2H-l>Ip(_0KNaFLSLnVnC;ctlYC%65> zn3S&`jxD&&3U?mhDGYF{fjy^9xFKQ{YvvVt_(;WUI1z*eK4#_2{*^e0pV<>zv77ws zSzoN@QDk~!hsAn+!WyYt*S`T-9c4PU{4u6o1ueyvGrK+3vk?KmR1n|!!Sp7vc~AWo zazH;p+rER+xgzNvY0QnRPxov91CzUE-q@BHJzNjpM8_EgkqG`p$_N$ruSCU}Vp9a0 zDlA!qvZi%t8s*r;n@jwfOjte|E7;`UjI>nL>t*9oQMZ@E<5hwP+TY6-q@o4!AH6II9U09KAmKXQNPAI4tnT|rd z>nWZmx)gCTctA%krlifu5p1Ri)*dgiS%sNfId6`^M1vdGl)FD{h@wM)&=R1qQ0+wp zQKJ)hemxvr+;^?m?Jcwi-<;rA7~0CBz0AO#`r{0|vRJfg7C%vfpsKU1AXtmEVk4ort#}?O9;b z1^>}j)rkK`QPxw-oX^qj2x)s5-Ck%(|%hK@(HnE#URsAx)s) zoM8MAhu3uZ4qig7a+Wq0t8c_7l$WZfkY1{m>ZOfQwK}o9wp2YQDJLKWyPGa^Ki4eV zhby+;B;5mtsJgajIrz^mV(zl!m1X!YQ4z0YW&5SlYMFB%?ln-6SdZ61|-z zxt)@(6KvNU=i1u0)zBJh?|W6G`~oRab!!n@F}dK{+P~S{Glw$$ZM3db-BCbEdJ8DY z{i4a@N|wF1Vh1m(MvESvY+=fWr4!1(r=AD@w3-8M+dJD!U2~J<|5x-~R7F7(RsUXa z3;L^OIODHWtxs30Cv^(BZUs|jr8c)k)pjL}$0cQ9jPbD|^D5L>uU?2#!pl=kzev(= zmFvSI+gZ4ls*}qobC0BdeJE3&Z6JL~6(#?b^hK?-?yg318;-t!47I!-CwxAU>qxm? zFV~Y=nOoFIZU0_+{4UY(8!b#J6KzbdV~aknVT-i1;vd3!i(H4v^)GV$RIWuHdH$_t zKX|E_6g*yKtmA=SY2kHshlXf9Mgb8=XNlSeR!qbpSE5>ByF@4s^sq${L2p|W6*OPC zXgPJ)C!X5zaV3)1_RgDiZX~qB9{`sVWxqh($w`1Imx} z?Xh{P3||I18|cmkgK7jlXi=@8)fVk4sL7(;1eIE}hoG104VOIyEwOo%1RZ73WI@kb zw4b0SEt(=|gXJ<+&^|VAnxKO$I$F>dmU6zJ9c|vpg8pdpmZ$=>@2~3i*iy81nV=5^ zRjJDbJte44{ZPv<|2mzw458sQHrelk4YUx4sCIVTt;& zP`0ZEm_>>Dpp4~4Vl9pXT~&Q@{ZgC*pDgHmg2t#Rg3c4PqnhSi4=zUm@oTw%3{I#O!iQauK>@2ZXwR8(WoT!+2+arMeZ<}GsA_DW}E<5Hk=CGV&* zlXsq=-&)EGoEuR4!t}~Uekbz|K|?)*zANY*aADq^f?l%dE~)*ChA-+^-`#>9uQup= zg6?WG=w3nZ+PsHFvS!DrqhyZ>+EvgV>KQ@zXy#4COw2a4OWt1UMM0AUO;&FSdQd3$ zSMT8?ktOOpJq2w)Nc|BA>tB3I<1}ZwifFd43VFQmjA&ARODGRjNkJzHIvjiOtZx?3 zQaptlA$gn1$n$80n`Gp@p+5mSPT>ZR^|?>g?SbbCxJLrIM$k#>5JAoQsk%wHhdn~G zZ;PwaECfGN0z(QIf8a9C(j?E2iQI%^?mC6oV*9sg~IcLDpLMP ztr0W?e$Z0&sJcc_m7vFghN->kiiQqT6H+N$XV;bEx>x%1$RR5_(`!l&S&@`$gIs@E zz?A=x>v*J$Rb!G>Ll0RoHp29}jf>Jue0>gXs7pi$5iwX`?x1wM6+pGQWkmC^kXe?a7XJGu_Ckv?BzqpJ@|<)?hmM%&2MYHiuU z;4{5qT0vA@ocufj-)88cL!&BIeH5;B<;UZ?xMCi9XM|gX>tkvmQUc1;gtBK4%5%Ya zFdL&4IchWd#ZiCosg18nnP2;oy7N){lyp|kq%JmQ#DTc<-$Nj5Ho7Cm$8*nwbasQDpWpJ7gEX_{p9E_Bm)L)u- z9U<|DYWt7StlgS1VyqWdC)S&*pMfaFK0!Hc#ZSe${?K?0+Wu+nb-2D)dlPhWg4q0y zL+^lQz5)G5)j=g|N}}pvl!~g$)Rh#h4#!;PlXigqFDG!~Rht3Gm zOOW7_5N!hbc8HjFcZgWu;~{zrdC!L^g1pUw)>i$Y#=&ys?x=GH>8wk$POMN>w{ab+<*w)mK#~)xTS`GT!PGswV}lRa43xpf`z7dwaaDx=?*!QB%CV zx=0l^o4j>RJ5(2|Q5MZn+lOAfCtSIaG05 zm3oFqtySNta-5;+MVr?YKfQXW`q-j%O{=P_mEU4&uN`(}b)7oHqR%U?tZr0~SybYE zx4K0=9ioS;+thC@+Rl5vI-}kQ(L2>6)CU&LY5SsjtZHmEH7to2*X*b!S~Rq^re-I# zga~pzQ0X{3s}&Y~(nhq}qGu|IuCnEt;(pD}>RyZ1HI1tor#`i)#5ioXVW!+EzT+IMCKI8jYf2ujIanQOQQG}U%~Z9-qPN^9YNn~x z7Tpnfx@Nk%)uLGWD>XCJ%S8AV^PiLN)Euf>akoUCe@=cKU6CEB9-UQZHIGvTkhc(ds>m9&OvJcDDL^NO@T89PECZ`bO3rQ+uo` zx9HKf#kF%Wmz%s;`O4bk)Tc!7-40L}*PfvCc0t}XKnaVQ;`QE1s??%&O*hxhQ%xbd zxAtT;%AzGrKdC)M9cR%eCC}HMs@7XHr>%6zVzt4dk#%qDCF%)_9&J0wTdJP1Xl8OV zPP)Bl(VHco)}Em@TeKvesOvEYhM~_Fs?v4KRSCD{f%>Ypt2xodZXuUP+ivn!si_uyQZlRV8|r+E=CsWoa)G+jqM6Bg zbr&l6ad4D-v!ti)BDKNhEs0-TcZqt#q8F;Jty`-;w5YG@?z&5{(`f3urshBDE?03P z*vkdp&+D#GCs}l<_gdZ6YNJK_L_VlnuR1ym<)4#(ue(m2Z_z%Hc>VS2?_pj^{SB&f z1S!|5B<7GC)p3F@#SC0sf1|qJqBb?M{uY(w<|EqB6rWIkyQ;EiUDMw6cc>1F=CnXHyGsDD&-j7FBj6+uUzP&0_2v;C51)<3P*8x;SIe{p@Ex<@Ei z#ee57a-UN_wP>%>A4i{4FIqIYrPX;}ZL%m?O7xCJ%@re}&#MkR@`Ehu#@N;MFQ|^P zGSs=(qQ4EVXc+1=?rzGlSE`-yf=sVeJ1YdSS7yg*oab#Gd!^PX*n{Ovuhcp_3SzG` zHPkx0hv=YKy)#7+`)F)KqjMjTbFSERtMgiz_nNz%^L~iljdVE6Cx~RyN28tRLiBTI zjI&^3koS?Zv-3oV7S!+J%-EB8SD+upH%xHm6FH_ICOT(X#D19QTw)RXVNd5Oi`Wl) zI@en?x_qC8J)Mn2V)G|DdpQdx1!zWeZ>Q;N2K80#hmWD}9-`UNeVvntoK}7aPs;G%ib;j*&5c_DF^D{xFkES`# zTf|9PP{@l9_KT(9a~#^zE_EM`7M;?uoeF4k+J^%y%vc z(IZZm^KpoN?wsmewO>H_k+am{$0kh;3+hjI)(c|au4?FY?jf>$d#3YKi`chkIxkwp zzCFv?WD)!JEax4IMwkC1c9v6kfYhM6;oG0>thDHbsuQt)*D=N9y-+nHdXBTnBKGvT z&fh~cJG#>0b9-9IOJ(KyJm-2M>Gx;jtDI*nV!y9)He1AgU*%LCWXjzbyQJZK=O&9L zRm_cFwL?i zn_I4HxYW6gNP7DF4VOE7k(}uBitjgE=}fig*_wwMu6B+hlAbQtS33&?JszJBS>#^h zbXn9^MzmPUJsy8NNz`le_A0$SagDRmqPx>X7h3dC`mu&zr#Xy3Tu{;X3CYi!Si~;(goskwuq!m602r#_5#van(`wTEnf*aErcG`dGv5&Pa>) ziA;*z;p}Kpyrk8+%NcLcpOdpAcRANvlqz{?==YsJ2->LHleZN7!1+`V=d)oa-xI<I@}v-VzJh=(Jiy3)$#wZxJnIqqCPqw2+O?T#INS8=ccFqJ?a9ZX!}|iG@7oOgYRT zTF4X5K^DN7 zGK**-zjg{|nmk&_Z=J6TGFI@CbEP0^qNed>=N2NXiC3H-SVT>{;{3=WYT^~=5sRpa zSDas4L`}Tnyk`+L@rpBK7Hg-ST~qt2QzgjgWs~!cMbyjhocAoEUVi6zM;NK8m(9*e z7Ev$nI9(R~A=%dWzH^2})Y6B}W{aq$kDT`{qLw~(?myD-q?Z2TG#q6Rwe%Nfm_^jm z=gtU0MoWKl#tAxGeM^mP{JV3ZAnI(7#x2feM9y2z%drTa&wj_EEyE`_D*b(n_O6)T z=;(*Ta7NA&M4YOXjIdEU`dL%|)xPX?+Z65Cw@G|c2l z?NPmhMXWuhCt1YW)~+Z3^ef)KHWEMg4>dTLn1nLsBRE+Sc>KGhPV!1;7 zL|E>}^@aMC5Ph?;NdGxRGor;hHk-0ggMW$-(YR42ieFaW5G&EGL>S>8#V>D6={+r) zcf2 z8!X~(MWw#WBJP}2>IW?1&PkC-IQSoL6Iycw}t2z zjcxiD7QGUGzR}mOS@d4~<;INuAVhCAZm(;PQC6})G>+BdEE<;jsBuR<&!X|E&l|_- zGeV@BcGK5e^h&&-X%GEFi{6WuH0`N3hG=Nh-ueTJJ})>%rQ!JX^)ZTQUKF^|8hK+4HSU+IVFNTeDrs<6qZKxUFG+l2F(bt-AXlt%% z(T17>nhw_`M3{*-)EwG0OW$krTD&<;N9*@PbW+o7-FloU*WxW|f}|l@-ZWRA8lv-? zPSBTxXl>Jc{euu)+tj5u5TU*n@7AUz`ljOz&-+sMHZ9W|L$sl(N53ATr<;29`$Q;r zU+U$iv-F)O1m)guI!8YhqR*Pn)$fKV(tMu&m`KW%H-AH~KQSoR+WbxZqY#a1zEJ-r zM7uX%q&E{uxhc&T>zhsr${pFfPHzm+NzIq)*F&_l`Eva}k(686e5Jm09?@ELK*Vvb z(KlH%Hb!)xMe*2W&DZEhExHkVxYz1Fi%KwZuGQp$St?RkfZtQfLHESh=b*z1uggJ? z6@FW9CKrsV=iIBCuh-@C$>j?8$=5aCpgT@B=!L4=ns3sDrv&J}=G*k&7aDYN`EAX2 z=@(Bm=%uosH2*+(tN+($)dBGH#a}1cem){ zCZfG8YL~nNEV>C+{-B;~(O+ZjO+V5-7Clt^Zu290B@y)bQ0*UqKCpRn+CFLCpjRw0 zd0#L4qne*zm+zVUwLa7!^=wUL%Ww1&BDvpusQ5Sf z8H@U=np%FVKMV6tbY9YXtu&OpCwW;fu;_zfzjR;G-y(8&SKiU`ivF?WtyP@aU(-L6 zJgyced9Uf;7=+q)Z`q_bTl7-fBKLJYON`j)U^;50 zq8F+jDt=GDY!UVHd+mM0Q1Z_0eLdA8>g5mm3_<6ri_1^){-`(Fyw&CBdwHkQz{KLiAI85Rt6tj{1w96QXll{-PI#D55^o%R|&VHz--U9mda>1UqHfV@mRqaV3aYp00NexNRJldG zvx&N-qkqP>XA#>T3-j3ac!=2cEMnV36k*%r?oLtzt>D)BxVtxz)oy`1$0F8{a93Nz z8j|j17O{q;dxJ%+A?e;vWVM@g|7a1ln{=BlGI`W)p*!9pYPZ;(M+BX%XpN{6_k77S z`b@bW2r@cLxy~ALF*-}Rr4~_VDYxFDyRpio+zvt9d9E!`tUX{;|b(e{B$2dtb?R?wcX{tR>_ADMX3Zk?uc2 zRMk4#jjbgY)7l-~Ar`THJGw0fN&9wkM_I)7?d0xd5nHsg+eu`{%FgbO1knbW_f&`? zK$or~K0xW ziE_@-4_M14PC8!yYVZ8C(yFiecW*&ILGBbmZ#i3r-`skz z`$Iu%)sDj)XPUcF5ampH)7;I1Obs*Ks;dl7)-c2Ev4}Ms>Ygvi)NrVKl^|2YVQ%bd zmRqZiM-82Bl|_4CKI?S16U6$~yPfW2L9A~=^ayu_MXc`#_g#xv-;wU`1)2JebUzSe z>O0Ck@)}bgTg07htZ^Gkj(100$8w~c5k0{@ zpU6_4=ssf*D4&g==oWsPltz{l-HF#5L|IOB4-#a?!%6O8M6yo5ojl21Zt@hp-v#b7 zVcvFyr?}n?pu`AZUbovtB<1E8E^$}q87oOoZ64`P+?$5)#`Gw2fcXIO1 za_8I_l>4x7g}a={mOIz&xQS@3IpO7X7-3Xo*Edl6SR1GLBZdPZL?Ma;5vR zAfw&$-P)U(M{jLI$@%V7gP`3%6kp)Zv3Vm)Hk4fGe%+$XuvTZad$u6spRIOpGkMZu zm$=VZO7_Dgu6K*n0Gv+T}2uXCouWO%pU!CeiiyaD${n>yKR|0bwpXdR9d~+uU?ZfIOj`6 zKfebboRvb2u6nAZq{LI7Nsr{F-{NP}_exQ=-0LNAayYPp>4qn-+VcMK3 zjr+kh&{#IbIUmdAYOO3gu9BVVia)K+4-`i2Z z+0s!HFfPnr&}yU4TwR%zfh7;xo=b1Ey)F8n)c?118|c~0Irqy9mereQZEst466h^k zDoFXC({^Al*)Z1v2e!I^){(VU=dFpff&SJ@D>bv9u~G*kRI5vH#rfPY9_W+y7Q|U9 zh?8>==j!RG{~L7vRkR&=I9wP0JGH&FhF8goZ&o_aIa=K(vzeLC%{7KOCzuIOz)bGh z*?zEe+O}4Y$ogV9_osBQ2Icb%G_YRg^U2~r>|Q_{U`k*W9Elq5l`!3S2$4#r+$VEm zZhUM0o0BY6ALZ5XH+=q2Y`f7$&}!q){HuDWzh*r31+*7Ymx+G<`Mxu98p|=h-wACc zC3uUZ)m*9n+!e?4-C&fXbL_-W=6Zlxk1Nm>XIfYYTIAaKdFvGRxKK99--7W_jkPoQv_|TKhCK*%VJLtjls9EPY#YnpWi3xV2PS z&Os}(DPJZ-R>S80ORJUQxpAI1b3$;}#?}S*XymW)rWI4NaaUaw$xY$g#FxuFAJ7CT zo~2wQb@8gh6#Ad0)FLm42b}jEO3Ihu<+{p&C3toX8aO>-c@C6|w{dJO+seiJ;L@V3 zO$Ktt{XjPQZ$Uhe^ZzvZ%`(%PyOLlH;+r+QLX*MO^zWk>XlA~3RU@?RsDH?4N@12Z zcJ8UjHqxFe;W((4D`Ljj;we+A=f1TvY z@8In=w#9gQl;0DL1!bRrxASG**D&dqTpx*XbH`^zmte5EaAIp4wU~70i5zIeK zcO~7kcZ(m$e8sDw$9<^8O{r|U;gc&{Adi`~$l3XS*n1oJD6cAi{65djBr}uu7uv)I z97-tA(vVjOEo}*zP$I7-fxaqCW+pHt$)qzAAT8CT#8$Mv)K<4>t5i~5Y*8z%+MjlX zAE{cUy4_N>ZndzWZg=tLD(q^tZhznJx%ZiwgqPy#{{NrP@3Vn9_ug~QJ@?#m?>+ZC z_j#WCh=tFtH=AB_c1mS9kH@gy@t902oE(ODqfR8({gpk2Gq&1RVezAuPvU-Bre~ct z{^BAV+Bkj*{CIhL2fZnNU{av=tTs-#(#(ux_TUpTuC%wNeFm+E@$2=uD6_9ppDH~U zWj24kk1^d(J!m*_#5#CqO<}*^4vF2yo@*<2ovbO#09~pL(5)5%dhn(v&MF*7dAp1X z+HhyJ(i}R((>NXf=hC0sN|^Z$ZR@|Y&-4tXr9LZjll^Y1zm-{#i938Wz0P&w92FBs z)ae{7;R(Eqflpl$z_}b#aXQB=oW*jf`VwA4xshxn9dPLyUfK$~0z)9*k!5jrFRxyik5U^3=SE@aT zx2OYhpXPwvpLq=!OZjZ#rvet^%z`5qZN{kzywAEvxV;ScL-m5hpA(uFaFFxQ)Fak| zzFz``m*h>@>q{pUj*g_d870Nyty;QdO@B)KWcw|>P$Sx!CGFnkKhTi zm+jAcuCX3ck4{@{je`FM>v6!_@zeyR+F{>cy3-m1=8M)Lz;6oto^@E_gx|AX7jBk| zJV|p>a`Egb;^p=!HNAS4J!s!Qsn*_Mubwd%n5QdR@w@?b^@cqC=CeNU>9O;nhjM#1 z?w{?n%Po0M({(A{mwVYh>3Ift-ea$_nEQ}oZk0Us>2vX|y=tMaw)jNJY>Cg7c!@~W zXgxZu$mMhWcE%;H1riThdlW1ekSk(Q+dYPI(u{qsl=TZdS(362O|7<4 z*7vKct!?VnvEh?ls1kZ_9oWjjzZAMhI&w*tfW2Jc1gM)w1NceuyoS(Y)y zXILoh{X#S9rp~|OzR%j2bDQgF>&KqIcRvLBpSwq;-chM{RO)?Q@hM=^`)kC#}_a zAMiYB-8ubZfOTcNJ(j&XZyz8rmR(o&P2u*e=cr9>e?wX{CM`My_?qXC#dpgOSv)7= zki~N%4p}@W;*iC2B1mKB92R)U;=3J(EWW??3g9)sv!@PQeCCJoPQVu{@OFmc{nASN zDfe*B%l58|K9Ey_(e*&iA@u1pc*@|nGoA(BU-bg`uun&1j=W;+&iz;9UOCCiB~4N8 zVT*5K9Fn)xPJnVn?g@D}s>LjYY~FZYzR=#;dG@lMdNMJGh^Qz8$`;w?6*y*@W%HkOZ)hQyD+CLzJ+p1#_cJKZyUL7>hP5C&zC;pT%PBB*)E>6$a`4I z9+t9)K_3Q&95_}7y!p`T2LL$&%Mt&w_eL2Nr(id}=4I{QMDOslj>8sD>o{!jgpN}d zpYEsv{THojz+ZzW`~9#;&c1#Pan7uKn@`~6i-d=bgnVl2F!)dNk&^t$ZMJZ01nkUt z9Tvk<3v8YPvcTrK9#30Wly&-M*|$tukNEV8ZeO`*xZL6sXpNx%s4r;qtdK@|=VQLj zyWz`h%Fqd(ANAcLFk*9dFA&*!fXVTv1kyfCQXzpcfsJz7NTZxQ(kN$(G|I^%3oynm z_b)(Os;!;YTFj28tshNm@l&c5{&M7Q@xQM4b^zl$?QQ6hJ^pR>rPa5&w%IRC|KI*) z_U_z6!0gWb1K>YgNug#|o?lrCBEI1@1?E#zTo1BpNpgrS~TKhJ%4m)8spEl;5?Kzt6kRwg003%p10^sjRk! z?FY*Ve}6Gy4#w(}pqZ8bq|gUNS3%5<3-V@5TNdE%{o4F7(A)}0o`P)CG>sEBPt)KWEGRf(^GuCLtebGY!z0$`FCzSzAJFxG{8I`ZvHny}Ok>rI zg8S@){-3EQTr+Z-3-Yn5t}i%cf4}-4^G=~ItaSD-D-ISs;fhRo8Tb!g@LRy&`iSY7 z?k{{pDBaL%x&4Hzea6eck6rX~f!kGA{)s}ji+rkV+Mg<$HlfPqX&qHI&!ef5p2|nr zFIuy0&dS*~XXR|cSJ`|{bhgbiXsR&dzFtVU!Q$**ZI!!tmQA^fr-4*~!>UR+wlcpz`K%@b{An|gIEZ&$juDW+S*=QPe2> z7l3kUQBW{J;U5(KLE)bdo;z*wUsuHV7XLCA*RM{Ly0fU$#S?9oxww{fx_By0r|?8B zo(Sx8@rkfb7oRHZbn#iZP8Xj(q_zJXWWI9JSBh={pI2SWTwL{zqDNjTqJ{q{`0(k& zP8Xj~nQ505AI04NQ1QJkj`nJq9eeDzP2Xuf;Nr7x81;C2 z^#K>{>K?l_@Ej;<=O1vW6-09+Tk8YdK&W^fx5>Ss|QZBB}`GVgj z@oi$09~TK9ckv9M$3^nTU3^068{q${Ys^LKddS6-gANJJA)y(8FLzDOAs3&W8nmm+ zZ$U1foEniQyAGpliF-u&zvAKqP^rB7OKPAj*c6i@qU>*LdA zm;T0j$3+dLuUjl-*(~+C_3z+m*`&AZHzm%em8xYvR?B>>wz<+(+w^d%ZLZPPHqRld zws{Uwqfj;qWus6w3T2~EHVS2ij-JFT}ZqCGfH_ryj zck?WvayQQ#DtGg|p>j9R8!C76yrFV8PZTN_nku2Ma`U{QDqtQdeM3g|8)AExiPfzZ z`fAX8v$R@hPKa+XTguLsvaDb}@7=o^9mx6($zA2NQ(qtjk5#Y!IdQ|U;hq}^C;g%E0^!$ z313xWovLJR&KAnqLOEL~XA9+Qp5P7J*Y;JIX#=_Okto zZ;`i9m8%2gg$n1`09L720RzfCsZdo5oQctjlX6ric03x@qkzrobHFT6djJ=z%PI<0 z5R|r>Wj#8{%d5@`Tg{jFGV8huuUciT1>9=g47kl&kIw>z?CSt~0ln(q>?ok+W!xih zvcRbVdjS!ffH)iR?NUR3Ox-oaPs|H9F>tL zuuT2O^cr=MdJ}M(nsP}EuB&GNHmF9xE7dZ9Rhln(EvZrS$-Qx6&uD%wmnxgmRitP6K6O zUA0h77n%mp6wPTBnpUA{1{+!Ssk+R1Gqg;z1mF1#rE*IsW>Js@S-T?edm8}wA zFE9-Hy_I3XhXs?AvO^NzF1gz!ce`Njm)uZfn<)%C?H*;NX>c{0iiO-a{-0UN_n{|~Tw`fj4=%)$& zG@+j+^wWfXn$R~0Wh3C;%7sGTBA8Yw)heZ0-It=4R`>VRb@i>nq1F9I^?AfuZ>#X> z5Xz8S#;24G3nnaO!%{XZWy4Z7EM>z|HX<@7rQRWtVY_hHE*wUX>#BPI@x7J1BzIKk z_X+)e!5kF&gF-(h^e;;85y?F&_+vtIOyVacS9v%Rlt;9RIJD}aR?7g3=9B~OtqcfF zKxn24W}1gOZxEV=lDklHTLs@C_)ei*FS+X_Hw4T}m0_WYc-Tit!3;_62r#a?`=#tI z!R!{wQK8%?_$L7|ekAvRlpT{&Cna8%Lz$-n?yYRdxfl{I%wfA)1k)k8>je`Q7|UUe zu^g8*<&q)6+%KheN&FEhwI_!y-6v)D3;uxMUlhy{!5qt>-d+Q@?^d1^yvh}Q<`Q3) zE1Cq{TRAnCHBQZ?-Dt=a358~%(6t6*9Yf2p!VFr89%z0ib_TQnyuxiN5q4u#K< zDr3jxg5#6bJ@Dxxg5!Rq|`nswO_a$5X?cLKPdDE za}TN&bDk6Yi$Zx=_#YAaV^Yg8spXiIIwqx#NvY#f>ZFuXxWTu!!tzpnmsdueSLU*p zvbnsJ&E=JO?WJsGUh1kGG#HIS9}o`HgnpXPPxDf?2BBOiGz*2MRpPC}zg6g4g}znj z+eL;BDb*?b*Gs9elnP6!u=k{TvOeskZHWneQs{?-W=QCVL0L5Ce!)K=e0B+bH)x9H z>=XQcq2Dj~gTnKm@O)8n4@;?|UXG1pLU~MTKPHsNgz`11{iM{TeAJuri6(ubNx`^$ zqDh}<(kGhqi6(t)h07-v67;S*w=aRZd{VXyr7+(Cp<&@UO}I@HZVi&VQ1C56-yxVz zpyKuf=I6okzb_xCwp&1p-9>iUBd;GL5`-F18&>Y0)GuKu; zC-6m37R@;<^hf-QAlnh4IVQO(j~JCFmL!j*d;-h!q>aeM>L$6<1Ya%qSrTtR9A1ay zw&YQgR>5})&3eIy1(O8krOF}UHYE7%Qtt>#eYf&{;q!o$+9fo*gl4yt+MOqsB#)Zh zFZhF?*;{!~at})GLCHNRbsfxOKOPotM}+>EP#zP?V?ucn7_3M6(&~J%4EZvi^JP5e z%XrS0@tjX?ZshK*EEgC6{Y#YrDLYL{H2^{nf?p{3mVAzuR>5>isr7;n2|g_Nq?8&G z{BS&lDl6pV?y(yU=BvLxf~EPQD_1}Q!Tj-1u~uszOE+CSy(^~bO@$X=+_HnNa7KpPf9Khphl}l z3f=*Dzwm!RXm$yHw1E2D2h2;A`vo&5We*F@5y704TvbRu?n260UHCS{7Z$RQ78bs! zuAj58kh%>@?s~zm2mYx!>jj@Iq~t@w;eLtllK8$tw)aVt+E=+>Fk`~uMZq5dAIuBE z9~ZnTl6g@ik`z&rfW)gM9uYVqa8%%dBJv-T_|YP2;JC!y#nK9a5rHGc%zdPo^!o%J z5X^DOJt-J>30qxV!mM;BDe)1Bj|$u;m;-<>RgMYfsKieSUX@Dkm&zC}CAX=i zq^y>B1L7FBk{c9EL|{_zBNE>y@iD-?l_w=$UB-9=V9}hUz!AahllYj#kCw5nlY()V zlfGJD17OjdmU89>@huEoaR_Dv@TJN}1iw!(FA6*^_>&U1Cb3l6BywmF*fEKHofLS# zV0KNCnKFs(Js_Adz`d161an;C>n~u>hAtqtNji5Z(JBV6L{i-{Q(I41D8K=(A_ zs|7{`4oxGU5s8liy6VOxegycJDvwKi*L0CqVD%-WS$GL^gAxzS5Xu?k?4C&(s%LT( zEu6_xLjp%;iaY|x1Rk0BqWXC45q$9(vr;f>7VU|97RyFvk$y;HE@eD$DRYAoj|dzQ zI4W>V;Bi1#ow`i;T*gw>0)qla1ghCmPR^%@VG#Cz0@c$C@>;$1Q4}I{J4e<9F37i!Xu639GS}*F*KK&+y%I|a#S$; zCBAE(VCE&Dnf($!B5-{(@w))An#^a}>iOh3Dll*bHMw5kE`dh`sw+t!xRQEUk2q}9 zm8^YafylFfr20pY?yCt$TBPj)#{?c1=w8H@?q5Wy)?Z8hLjsRn%US|U z2-geTzl6Ef?V@dg>)WMY+QlxtL*P=8VJW$dNIbZVm=S^dm;Ec^YB}Nh<;3q7s8$dY zSwW0@C1G$SYl#RP6*wmN;}UnTBF(~8)JbraPzoFp{HVmoBz|1t>N--ouai;&gV#wZ zfujP)1b=a%7wEo)l+^+w0!IV}-znM?I3jRV;F!SU0;}I8wFry|92GdGG3%H+ zB5+jTae>wAg|omhfyV{9L&R4L3!qXdXvzOY}*=y{N*x#~$Y%g`qcGtVV?XLFRUpU)ZSA7-! zX8$ezkbk@XgZ{n#ANgnJEzOJO4dspGeIW0?ypQKSl=qdqZ|4=|H|1ZIKbZem{txq2 zL0LgvL3hEF!fAz17JjSn`9iB`X3^giJyP_1(ea|!i(JJ^if=8xtN6j<7mHsl{(Z4s zGQA{Ha#zU{C6%R%O7AIswDdcr{<2AB*Oqmb-Bk8q+0$h&l)YN!#(fG4cPj8cE#9EM z7*EPg!<~$3^)@v_yj>{2{8Hyh8(U5>jK+}*zl_b;x-Q*zg+dAM)UjHleLP>ZnN z-->$~ZHO(#b92|KWjN?{m1@VX|2yymUz^zh4qq_sx)E_}X4iRQ9-Oi%P1#hw8S$;vLjvEQ zg?~UWpA`5g;Po@U2zY$P(|~g(k+NVqwfgW(!UlnVN$zVi4}yq!rvG-jjjuepFlO(< z6R|eV5y=G{!84h*dN1xy**ICD0Pr4F1o&w@rD>~O_$HZ+=P4%venwpgxEs%H+G-Sc zux#~pH5u?581c4x1~UQgtzaJD9WgZ>a6jgPt$vDmV5^_uE|;xd#cZ(E5j6+!D4zMm znE;p>wt8JP0sa9q!&ZO9Q=m4ULA(<1Pnb10FA30A0qYvTsa6Z%#a1ieG(34~t7_|7 zJ~Ir6FMn9=fQ{Btz$QFcJ&dvQ6^xT_ zsqd@f=<|12>#T%zFV0>5ob^@fAFX4SW#`#b?Hlba_C5Bf{rC3o?KkaQSI`x64Y=-f zJ>c5ydd&50*GsNk_j-5I{WJH!x$8V5o)7T?hNl7?;h`u zy}$G}`L6P{`F8rg;XCO2q3=I@fASUiKjSaTdskjx-XnRh=KUsbYW@}Z>+|2A|Iz$I z`M=Ef6nwp4d*S;FA1^#y`18Wo3j;;h0xw3s}6{!&`QX^KRMs*W@H{*8;X6!pLQ{RPEZXH&*^;qFTSjoBo!}uxO)3wL(oY z;e{rwG~q=ioNU6kn{cWLr0R6a`Hj{d6Zph{bSBP`vrG@!Ny^$MAa!zs)cR818uj(OrB=Z8BH9!M%~IS z@w*Pc&A>O~cZC`#?yv@mkE$spt!U#$S8d5Y==7-iXvtFR!IF)xhfDtCvhc|BeEj-K zUqG1`)R#&>=RN>kC+!aF_OcFZM_IGF9d{~{b`;?k-9PX&Bi^ibltl%%qwERyjxr11 zZng3Az|-M=MIqi|D@3{&Z?Y95EJIj^uo8I}<98W+);ajqDL=d#KYSEFJR3i*(*5vm z{P1r4xQ6$`!|}tz@#D(f50BW7rx5+B4Zp?stx$*Y8-VYd13&7=_zl39^23k11iu0J zQhxYSe)v(B;5Pst>QempJ>MMoP?zF2fUns4)vfq#!mk(jIDSdQQ}}H`{#N`3QO_X4 z+Y#Q5@D7A`Al!y<8^SwL_nipejqu$F--GZy2!{|3Asj|HjPNdmcOl%4a67^ggd+&= zhR1d{!uKJ3AHw$|d_Tf_5#EdNLkK^F@FNI6g7BjVKZ@`HgbyJ6I5hfkgbyNo5aA~f zegfe`2p>ZDDTJRwxC`Mfgr7n98HA$Sejo<&m z@9X$|13&yNSRD;TT9Si(;j1^STbE8O4)yeOg~FS*)vl{m3$9PZQqeR~CY7eDBUNiC znIe4-aptGPgmR;PefZYsBLv~L6ktvR}ZXPSEnfa%D$e#j{Z~4|#-dvU=Md?rxYt*{$qE-F>m!rT(>14jhMDM|1;6Uz$mJ5CF3%z7^2nqbmVo!PWEDt=p0a z_1CG+_@Y>9ODq{(4%IZ&t2OO?DFh1=V0m@Zx^?v^ZFFlIe0?mnaXd#1t$O8X{oGX2 z{_z^FSE~~7t%DPh6RSPF3Sd^p2l^sw`a9#R;#;DLmEHB@+cURO+GB#cxoW}kcx0d_ zdbPT?6$3)g9@Xyju)@Tx4^KQiJ~F|RGy4Rl`$`BanC?QLW?Xtn{wFbMU;BFkfavEG4Rt>NUVXaYsaq4zBKYon=^iI&KODzX{3hWbO{ zSZa{CXe1g@ixcr)2o{d^AVKlg^r7YreMpG{GD$X}VH4y?`MShNTD)zQ>IqE8Iv>6smv_ori*Mf*0SHlB`e$B0dyhHk}7Np-|}&!JiA z!}h*NbSqWb);EFl%>CTK32`m@G{wH<`VislP#Esf&RB1BDHb|~UR~4QA5ARcbX9%P z6sA#M1S-Y^j;B_HdZS5nYE*Uf!~i+u2Kvy&omeI|#Zom(VjDJM=yb;uz0@j94a*}E zb0RH~&4NHht73h9T#;ZuqA+5h0x~lNTQFF=lN@EM;;}vmouLbI3@73PNfgLnlV+(@ zogMLk1lT2Yz{Mhhln$21!ijh?-kqvh6z-{U)>KvVW)gi)w=xl8Ck^+xu34 z|7O}IouQ4iS~1YmLtUwMM{DRiXW>`vdU6PXo*oiC%Q}y4bJl+u#^am-*xM!OanxiQ z!iCvjpd+R@<_t!gU#9?UCmMsIEy-lGx2tEcGnUFqar9tWjdn2XBXEYE%*>U2GN8I* z2;0TJV#KDf+J!d~1yzkpV_;=6$C#%gSVA(G_GG$eGDv66T^og;3Qc6ur&08vGbPsaZH^{l-7%_Qd=3Ug z&p<>5J2P72AjCMx6ivt0B*)>~lZysnl$OOdWf5zAvzBzR^qkIMPV1FS)`XtPWH?Hb zxt5K_)l>F_$z-kUO2)Y$W-y(h1P1Kl1g6H8cw$o~1M`KJCxd|RnC=uu+9fe`O%~o1 zx_)Ce5@s*jm&6jADep+W7-n*9G;!ukUK3z3;o=41Zh8e9!OH<`ifK`b(1&WE;2EGyqp8+`G|Ksc2t=w#4iOkg3-%Ieq@ z>!%)iu)xH!@XoRVO{Ah*vof5%rGe=Q4Q487PttMY6>SEWskj%{S6LZm31N%Simq4> zx++u5se?98E-W%x9g7Ar>sgaT#AHYe7eUOy(tHyf0EyGoiZvCBljWYNM8;LqzQ6GR zS0!Tbl(EX9hF;8TLDO|pU7=KXqr{9mEOFxkOFS5rKBgLDp&or1sEf+Qa5jy^`=VPU z?7$`i24fQ2329;E#v++jjL8=CK{s`Bt1H#mq30bjI~nw(3j_VvRBh?Orh7lnf?9 zTbRTZSsRw>@k_*+J<(M$Xj%0O1ZVnPw3h5mG-IQ_!cxmasg2Sz*T*7=jaz!p%vTd` z5ps?S?RRs5m5W(D4-HcC<9!=Uavb+;Um(N7#Gqgk!=%BQ;G}xQ$v+=4gV=l8h(0BZ zsd(3|=ujBzRCLA$Y#t${FR{r#-iJ*G`oKMERVV>@ z5dr?37Xvkso*o5T4@RuLNPvBS-r#kINKwuNmLYhQUwx3imwi%OGb@CcYnk^CR z2=*E|RVV#a-5=%>mwSQPeT#u1G-)@EcOnS{~XOjBZFoqbs`|9mbNTElGN6*b~A!9qNN2z;!l_$1?nQ=_U>4o`^(f z9kIAdT5pv&Q`Unpl6A!^W(Y%$SLON|SYx!)xipGPI~IdERJigO zKfJSb$#J+6s}5-5I)K&02*z+7U+B!rYK`{{^!9P8npjvPoTVkpN5HtyR~Kh;4bqv$ zkY$_Bbl$jiAJ-bPAE`P`==c;S8Sh`$G0-K~Z16#xNdN=fgUcOaI4V}flUNUsV8^Bt zj?8VH;Y3F)e1uch%GnF5-dhsD#mTUV<$SbZe5q&i%)OLY5&K# zFeY)mTdj2Ub%7OP{dOkqX}oC^4cvJ?@e#V zsCL>(xd$MoQOCxy)2MNGH#ADT2rZm=q=_uFj%q=493~=j3uZ~Q2h%vcSehh7F;VR8 zo7hS-tV~kWY2uFI%DQm_rWtH{v6l@{WWfeF(M~Ng_PWh&o$Q7f4UR);^_x;#c(W}5 z|BJy5)$Y;C2Dyb zjy15j%vzOVO{%3U>Gb6a?q0;g>2xp_+Rzur1`klEL1tF+t^E+)%4ALYQclMpPc+Ti z*~Jr@c)zoW=SbpY(-+F#pZr8h+D--CLR0untX;jkeyTD(j^ORH@qoIE2G!a9* zHxqqJS1L2Gpdc|c(r)gZ$rwncHy3y@kW`DXw~I=3qB9ZdOLpU`S|@p>ki_(ET(>T@ zF_zXqmU1z9uxEnnmcbrCpA&i#642w+~~@)Szd4XsIUa3oLjXS1?+eM7Znp-=<3WFw4=pM|0)n3WVmME^Mp zrv=SIq`hhwnJjenZO?3U_T10Hr>iERC*mx zrcLHb*@#IhIL6prS=o&>Qszw3tc1A#mR=0S9B?r^j}A80!0A>e`Ib}A3_@p{+)0{- zIi{*c+cnHm?ZK<`9*5p@ORBDc@Fv`5dFvr;B&*?51Lr|*M!crZzQW1eVM*JimQ-e| z7=~1DE1WGi8xKnl7f)%HW@%Qq&$J<$qEi5f*gAb52iKY*-sF%GRUZsugO?tX$wakh z&d4s+aJEvXWt_ReS@mVJJ&Pz4(CERe@{l*9$d#FUQ&}YA9HBF~%TS(ad|X^n(bckO zcS`jTP;;xfjW^zjJ2N8|%evas<;Y=4R9MKymWiK-T!wO^E{y9rNRf6k#G_ESE^5a{ zLkxF#8E@Na;%!@jFuP>9wxTnMk$`Pcx&3RR&IK<%r5Vri%pI^Ix&aqyo1^J6+|-l8!Wp+y|137L6C=%|1BR=6jewG{Z9vPW)92BZ z8BW+^g@==jo3de%DHzvU>|j6P7B4nuaGO{^F~Qrn*x(x9{A`V8-Ce_VM8`%vMWs4! z17OENy|^c|EQT0WusD`LY&o`DS46jhOm8N2GS02%@s*re$E)L8=;txOZ7XaLZq);T zH^R@Sycqzp(>k6$yHVq)u*zuiCGgaAj6R!=!DG`A+>PUa(g`+C$6_K_+7zwn>xx6p z#GsB)DPr=l)2hQTFT!**T?p+pM6wI3<01O+D!oO6w#1Uou84}k-_$$wYB{D|tiNXv zbGLucQMt2@WIF;2I_1H^B~W-t2=X1 zf_@esc~G$r+Tbk@O1C?Ym*~-jeY7;9bz?NVNsHXl7ty!Y)0udjg?pRn^m$AnXKst~ z(*?uk@fNXu+#tn;yI93O?3(J-1TRMO(mOKoLb=jZ&dj;XVUp$uA__0!V3z zV<_DZdgjJa`c{-W)O2i1zwmY>yaO-Q-U%tK4NmJfply_+59LCTGXXe=cm$mA z00;0|3br?eS~h0!PYU-iICSGj*(rfjXD3=>z5o z`}*-CAC^`(JF;cVGm$DFJw`1%`U@e}k6Mz#N4JW4W}Vb9E`rhR+a2a%WU#qxx@Izf zW^@Z-03s)Z4U6e6a1^1tHwA&&4Vg|Mr`y1jN=pG!8QC2b5e0^*l%e-JLSz##&Z5q^ zI=v4zB9DE=p5k~KKzrHZM7lzbVd^#kT@On28$jt)%`$p4a@1NGT@X$ALr@jTWB8q| zz0?a#SY(dknRo^Iyu`fozgx<452(NS%d7wI z>AjEr_XzeE_Ezs-TdH&R&Ygb^Tf12%5zQjk=|989CY{>PWCr7yvb5D)S#ehyeBXMs z2aNxr7al!@v&}aq?SNC~#3e49?ytV6wK}zCuW9sXqVS`*TF0S1u3h8JPDZnkynsfW zz7~0?l2s_UHYSrMTFR*9X)6;NfVN{sb3u+Ler{Blpb0osl3QeSzDH;7e(` z(ASPjpk_FAXJa$1p^OuM2)a42IYGkJ)W(0$8paL_l(=fp5YWpLegFnW3IkP z(3;QCaAfG-5VFnM)xDPmObwM$-L7V?-&POGb`MjswmVYMXJbS>|MFRe8)~TOswP zjK&=t`A*aXb;i+8p4zmqmZXuznYmiK`bveP&l!`P1DH$eoVvOomtN?oVQoREH)@$Z zppE2sla!H}Mwv#K)<@3?&ELx9DDKZP$cUbgquPre1`Oa#pG9k*AGD;tZETxcF&zI{4g%pC)kP z$`ru0Cx;AIU6{cVuFSV1&fO7NtFCi+J2?Ri7@aqMpy=Uw9(AmAIF4Uv#$TLgmW+r< zsCQ+w(bguoTP6$4L3(FlqM;qnKg02S7a{N-`oLemv$HQN|Ez9~osZ(2mBP8wXS4P8 z0%t4dzrMylee1=UJzNd{dt1E{)|~_KEW`Q2Yz<{-&+cvfr5&x(Lo$0^%C>xGvdj}5 z(99a83aCrRYf|Ycl+8Vx;>`By9Q+6W`u*cvt7i0l`i=`s&4uGv)ed7WREIM*xo%F} zG0T{aiL2QLi~+8idfn%`<*aG7N>xT>O{HHzQ`8Q~i;b-+Q(Lx18Q1xa&*$udFh}#| zN|))U>{UQ0bp=jMHQ}9-sCH=s9x*$G2-w-2Anz zJAb%n$ATZ{eE6n&UsbMvvfKg7@_GPDCNWy*3D{O4AP{W=Z_JrgI%rK%p0^L(S2~cx zjG?E6%4VW;=mi}d%_H5UlA$51OgZrp#8H0egO(>3!9z@v!*COmuYfJXBPM(W**Yzy z22FA&LSI0E^}`x7TyAncXu>^KnZ<$#RW2IfFBuMb0t&L(WjJ_(LY552e9E>Fqr{W& zNwhK^$7SUdTd2Lt>$fz{?Pmr)zw7~ZRTW}h#0m?mazR)ON)Sv@u3W3aUu@Yx;D1Ff zWcwJ<`HBko7&uI3OG<{_K>E>OgC)vKI>=~HWy+lkj18WXq2yebx1s_a;q`iR-CnO@ zKCD2J8*p1y6~Lq9y-4SQZ+RKc*RYi;3V70S6cw5w(0I$ingluIR#8!aic!WTCy{x5 z$Td+Y?<45gQFb|$pKC)Ha48)c1{ZW0+Cx2nb-wagrNeDr{=8H+vTRSTg#yruji1#1 z9hCFq<6aPU2RYVS)U(TPd7=E_e9I#mmx!tRac{0xiU%4q+5s{3=_%04mxOTfc%gl( z*fT}>OesB-K8Q*Rb8V^Bqs!tm=w!FUVtNOgqf^u)lMEk5SS+3Q2!s_xnezD2E1nWv zoD{%6!t%sVu{aPc@_N|vOwP?M^s=pwl8gh7Xw;V832#!K?3n#X0f5?*fY;s zUa6c&niML^QxtFum3Oko>jk0Mho7qbm!@^Iv0K6reJsvBl= z0xscFRBX9~W{Tpx@nT9(_8=2bPh^D92h;}nJ)T?}r7&emh8I$%-&kIi`u3&_QN{JNbq{?oGLq~ z!p?z+oXp6eN%87QL|PrYmy)0~L)s*7g*Lzro`zUsXzWY}nkYMpbOy_4QLYQk*n?Qf za6!qi51IxJUD?(;L>F~o z=0Sql;=>T+0H30Y{AN~}5_tipS=Q@yp*S=M$RQ3i#~HfKbRs9ZbfQ0?9P?T%7KQ2o zIoCAPHe#qIqO|#73<#}t8P>$OVF;@V(eoGuQ>-cW6xS4YuHWOO>T{JFt4mcC`vPrn z`hvxDU%U@7R>Dy0+`-URWw(@REozn+#iEKV**(gtD6(L=i>ZxCx#Z315ey7_njHj(z*XU`;7S8z4%U$(%X>j? zuA}m7X}k`SZU^QpR%W9Q6Xb#ycvoObAfTY9P$8`qkVpo0rm|Uln5#uu`)uL7-fC zCmMwb!AhwHu%Xp|01F{KFWp;6{8-y@kG7(@@DE}i^M3H_7>-OLJ{I-*4P)}Zv z%bKt_O)ObDv{RRSfF-?BCn_Q@VxBCQ%5*`%lA-6(7-&zpK}s528YOQ&=Z`kHQ}krg z2{abw#qXa4rvru3P1bQe7e)E7JM2jic+1CYM`PK_y_N@a-4CH41=47>hLB572M&8J z9%J5%WkjQx<^c(YXE|jk4jchZy_e;L1qft$Afe{T384j*sbR#^Otl1H;|o}CA9{iv zC)RnD*yUC5C}}{rSnNT=WOafX*{NRxS6_}Zn&B#W=$F}EECw#0?Ss;MK1B2EJVf*I zIFP?X$)IOg4)`OOMOa&4Nc`|CI)Q)#RG6DXvw>#b0Mq5At?|OMr57d`AN)q-Lri*J zSQ0slsw#?=yJYxzcn8A=G`b|$M?S*o7IG2}jO7J#$U%6}Tea*dRz+^ECS5PCgXk4y z;E!RvYOVMnfX*$1Rj2C3K$Tg=xj7XyeaMeUX*P5O6|scII3;Mvip#7@r?!nwZ8X|+ zkGW{0X)LMpvY7V>F|%~cVM=2NrqFQ(tV8K=KX}0^7Qv^_b>Z@0a_MlpSLQ7*7SJFf zN`_xTXSs8{ekj)#-_VT($StuP#BwC&73fFW?|~65Q=PfR6%`O+IV!10#|+}X8nAE4 zQ2YkOFj&Q-Gu6N>pON#0O5Fu}pkqXRE534}j1he-t;=HchVk5hU$1*Ep=+N&!OLkx_JZ8}xj_Wz!RX*xJ{ zS#T>tOlBG|navz-ZvZEr4S6{ka0qOUQ+mAOzYcE$nJ?Fc5yojwW^Q22Wr^m_(PX%b zQ6rHTIENWWDw!FV5#uf2DWOrc<~ruiK@*${8d))sE|lJcA=iG1NgAhxB4J&StH{YN zd$LQsPB?5i%0;&VHpa&xUI7x3T0A#nlh7!!zr=wJr6+9_LOoTqR3*d3Fe+9R9A}sT zBdXT*FgvOuH{a=3-{g|v5n+Xp6C6wt^W)1B-eN?mFmZ^;Q7}Qpb{ss|kd7 zAIcb7y&jNEoBwnHvHfz*L~0bGQ|Hf3@1EpIRPT!Tuu|(7FUKilfR+Fu`=y@};zVXH z$c4PNqbH1OyW+ya3ggUBC=S5)neblr!N;%ya}vBSoh!+Eo#ed*xgN}k_wk3SN-_P} zO|(fSxGv6U7D+Hj$WK-O*Bq>lth(TB>E>ir+PTA++$hRqx%<-E-Zy z9{cEnIeWkK55=*iwU3ownq$xVM(XV!zw4JjK3wODJo)v}|Fh%J!&lw%%b(xSbk9Hk zOYoIlJGbnN-gVErZu?{BAMUs?_rV``y!2x$FL&z48=m=U=>v{}|2{>Uxx*Hpqd}bRpg-{YxpS zsam0@T-1oJk?~q-EnBYpm>e7MuM3o2z)_zOq2jH4YK(HQ6^-D-d>qvc8gdFF&Q`D= zSO+C!&rrwp;6@#gmc2l&X~?!WOL`tk>QdAZ$3i!LY}H)E>cO2Obw1MdD$odG4qCo_~A5hT3;0mk0M-_Rp9*3dl@9;?rOd9cQLqcHPAVfu}`*@3L{ z3}*+-2@zM-*VOXg>_98tmcaXISM@~)aNI-B>_GYj3poShs&IH-S6xGQcQ{fXiA0*} zCRv?!F;7+kCmbQBPnp6JJlSLCco5jGoRVJIAi$z#=lBto4QqySBZDEX?A$qUj66B? zczB^+?a3)B89E>Zv7;v;F8f?LrFVjI=s7`P{beyr61a|J&Yw_vXcsZO{A6|=r0@#o z_X)h$&hdF@aFyTUW_8g(XuQhceGbXx(nva4 zA`!xYC1>Z(1h#x#SxK*#7b7UoTOJM#7eRVTyzSxOE-03Z`fL=IHiwcoKPFISqew|d zI(>fxThbKMDZ+&9B+wuuuyzI@j9W`=Zk~9(sn;N>9af{0T6dW=HOYE) zF8ZYOPCfW=7sAcGmSME37)tcom~kEgiTQ2vwTerI-fMgWQtva7bT>3{+TCziVb{p)&pUfV>HT?JoM=y0Zu&rI*?2P4&W=r*8uvm-&08Xxx9sZp zi)}hM%yh7rfb1oXL+t=br)82Al%LlC;|b_V(Om-C+`Zv#2!qtaOYTA#3^q8}_a>zk z;P_iI42jCPV1mksB^wdrlNBj%pA!L3Sq#5I!BLakU~hY2lmcG zF2_VxIg?D62geDl`~29u~i6w4JB#_O|Gbb0??Ua zN$~^&HRB{IpeMfn8R+6dEChNz#gZV? z!B_0lZI#VW6Xm9)iE__TqPk+O3~WeR`L*l=+5JT4!YpyQ!wsP-c?5~~G71Z^L>M_- zUOdBKr0^COLZo6NDk$N_d0jIVObM+LI|8W+{Jg%I#L(92JQ^a6qxsf2#{4tWwq7Gy zBzLC1lL|(-r7LDn*wGA11ZK}aGi}9vGo718QiC2iLdSi`oSAYXP-n?lF}xgsWFt{< zT%jn1?qHEeIu$bTYGkI|CZB1xNRh-U3lXclmh$ov0XL#?z0hf2a6LX#u_BJMX3WP` z@)FdvO+tA$ASQiOJ8kD-$Qk69;+B$Izft))( z+qq2JjO#R1Q&^rprr4ZK%VWh$SR~+-34pZOQhuJ{f@8IC?od}(U428S zVSXso&>RhQh37>Z=GE6V%!6Qsmhz>KIMPBpM{lcZEOo`q@T`E;wixFp;0QLH`WJwx z0Uq`wr&Z%aF*O04MiY=@Gm?P>&Ou3Rjz;iU?t6b>srMc!@CW3NZ|w*A@o|CBhG-zx zC&x`E0~>MJMgV7p@qi{C_@^t|DCdVI1IdB##y}`}g~Q|WfPRC%K8RQNMGl@RCaEg| zsV(sU&k#o~iTLIi4=W0E<75V*!=at#VC2iY@$!5i)P<8ZaU>VpgF_k;f%;&eSI$)n zgmBVPvL;idya&(Yhx9x4`iL;pe+3u^#+{o+p<+Cal*c1zT@55D2G9MBM!*>d86;;1 zwrq^CT|LP-S}0%RNd_jKPmrl!H~D-jzhYwTsg0pjAPh12O_cynYLLU6jS{5^&X)?Z z8>}moW8Kot9FLn=&lVguPi^ohXdYZ1(8t4S&FfBJM^Qf^e7J(Aa%3r(Sy{COaIRl? z)8%m-x-9(}5bikT4xJ`vDhE<=46{CTY@kaH%?rf45l{96DWZm1G9aRaalDCXM|LM@p=RqbGdt5|v(pV>cgh*# zNzpSt<`e}vW@2|dEK*@;Pn=#^t#;1l(p?8`7uziC%j`C?I{Qr#I#sKX?RH#vKa~=!&HRahL;{JYd=v zzyVl11y9fHEb*N)b@WM8R|FiB0cJeZU01{d`FL6{IyFM0gYKn9(11A3*Xl)gMFKE8 zI6gm%GtT%jI-xZ|em_nq+YrEMCZLu!8Z$#X7~RT~OOc(7_hK-l^Z;efMAbXZ&8i7! zOPQLohCD_Z&NCR2r^;dQ{XKA&UxqOswW9G^k4*nsU|zK zdFnG?MwY76=>jh!*o9dey8tWSBNGW*6@N2A_*VNFmcwR$OOWWMK#@g2T zO|{KUbLY*SJGZr|u61t9qWSgnn``H`1Q*o?>+5Rg&Tm}QP}{PouCcy_bu`Rd)H<)R zZt?uN&Gl{bg3ZB3)X^}vaZ%%~2hQ`H>O>J`**9YtB=eO0%&M6!oI3Nvcl2I5ZeR6kO+BntV44Y_TCWdc1 zbC%dq9NPmY0sfL~y{dOw>V~)MLs&(8jV;6cvh(}`m0D-1oBk`@Wwn=Mz0UdJD%EDG zh5C@inX_oNxZ1!5!5W8pwqVi6e8wS8vPL=%V@-exyXvYeWn5vYrfZ|(!|~X}^Jk@0 zkEJ%8X9JTp&XGyuk06IKTQi^bJICj@oc(kgJ$H$vMmF)2-<@_r3zohu<`gCz`EUE$ z`*1cbj#7<~Y+3nvko5t(o6c zKOdKcmij;VW;osUERld6nsp{D9sSd3i|=qg5ioPsY{;$wlw63`bt9>TQE<5dp+PE_wdaoKI#N(!%VeekJA zpMBz64=p+RdetTKL&IHf@7|F5r(3?fx$Ulxzjn))zj)%n*S7v*W94^uUbUud?BUB2 z-@f*U&nRp8DvCCQ-?mR%YTK|jEJ%up zDMQH5%)f!WH?s1WUrdnox4I+P@$a`(9r(9X&n_8${P>Kb4?nbt+~%yClT3t9TZ$&G zHFM%!x6U!wQFF3x!{JKpEz8#QN4iwUl9u|Wxyp!e!vP}#nt9d2tD6%`rjB;*I_2wJ zx+~MfDC2>wHe^Mw&!WSd#`vmUu%~A^4(nCD$uQiDsC=zJ3cNWTOeU%$i`D-`|Nqf| zC7ps#XAh09UoW3{5AQTQ>6YMk!+uNsxQHqJ_v4~QMAoVfwGOaNtwyX}tyC+JZU!tfE)RI127?=QERc1+Xc+ovRO=(6CF zPl%u-JoA9(WAIc1o)W?y*H0AHoUxUE&dc*`Kif!&0~kMNfB#x*il;~PqfL}Y_j#se z0rUXhY}MM}*(H2&U%&B5nc2!gP|QY6Jdq@p?k}F)rB4ybKJ1NpZXefY+3(^~o-?;U zyO+=1p7U=xDbL+@{iZJ8d}VJ_n|y(vr;Y@mgRSUg_Glk4JdYw~S7xfbXQ5K4srJ?{sS_&Y=)~nVI0sDCgKn zj&tXIUykQ9x6dgxQD)sX&UKy|zngtDBi{TYkw9Dw1pJuEHe zQIs1n-#Eg$WR}q;=^01;>l0A4ZE>Vws5PgpDd$&a)av6Z^vOc(N3EgE+wJ-o3~K6h zn?_EVGls&VS8W%xE#O=3d@DR=Y=`baXU$>hj8C zQ`zHR>z~+(J>twxYDXVXMu{97?wrx1x$BdRs9zqgq0eU0r`x>s>UHM6UV@skj|0qD z13h|Z0fQLl9H~xUvwu#P+Bv~yB1fk$c?tn-?k4mF=YU?roY}}eaZW18j1N5vHlt>J zB+A+PVG%g8##*ed9>v;c0qQa(0gQ0XQC52V1FgGAj?u z&<^l8mjPLsI3~hKJ2v5La<77HoI~taN;I(r*>Ywiqd$<41K%<&a!$l>IB^}w90o_( z*q>bW=;7!dU`seFILmm*4Et4|$)!&NIrE5dj=9aO-I;dk@;orrne{v)Xsh9!>Bmfo z?6J-;6^qAs^>c~tE!IsVIX@NC~*^K8q# zYens{+6%KVMYTScrFOYLV-G3Z6dYgH9mqTN*;#vcZ0*~7;Z44Ilb?BU)lVLOXwoMK zKCv-gIF><6I;g>l>QpH_gB4uUy+*_Ql!F zfqGqc*+u9M+i%~6TVG#kNDlqD%hg{#yQFIVyS9B{+xELB|K}xhmR0Zlz`tx?x91yI z-TX%0gUjq|Yft>sf1dc~#+$p}_021PH2bsD-@Nz6eXst@Pqxi^dGV@*cXHng7x{ns z_UCu*_(M@qa_s0slLzXbkN?e2F1__*U+#I%_xJyjcgLL<=Ctqp^$&k`4qkL|gk_36h;fB5D#zxq+@ zg`1Xr|5IZhdF;(U6tDWk?vGsm!(ZN8{Dn_n@U|Z`O@7ahHvj7V4>f&m=GQ*=&Z%$I z&im=lyp<~_ee0K>{mDnJ{m}0o=vell4*UQ1_SJD!tnJ#wBBZ-x(G9a`LApZ;=~OzU zTT&V+X^=)j8bPF_J48}KR6vlDQcwXo16$ms3V*76G*r(b{yD4w4dv&9YPMi4bc^^3UhGf< zX=V2Cb8Fo3N=+Pl;!v+-^`08I%=eXoReYbqZDX+@B6mMl4v*X5DE1784$z9^DjFPN zorb?LFez$lpqeSO^Ai;K?vcRI5fZ6VCxEPn97wP`l9-tmzs{{UVkvS5Vo{Ev!jaE; znDyB+^APRCFLp^XQZu=EH(P+?ILkQc`+XAf4LXJ4;PWK`aexw>yOdZE zA_##Md_wh@qPV1WqAWXwUU&&Zt(*#gb@nzkJp3sH0o@L;o z0cROJ+=Jtf&k($b5!8HXx)m&o3U-U>1vfCP*7YQ9AAWLaw^rnMB7meSnff3L*^8YM zIqhKk4O`CelLzqk>T(8|>aNj|r7GlYa-==dl`0#nPMFf3rf5!>>JfkU#DP?^9)J41 z6i-22>ELWT%nZ|YihZjy`p!mEC8^x)+Z=75kQy93=Y#m#TVx1?bvJkTgC5zuAJ z7)YZ{7WxiqZh~;*nutam;|7K9#+DzGk!JJXkOKgeGgWcJ}KY!FHiC(%D z+-WiuOjJ^hVq0?OW6z6~DruIEohP>gSfd=q2n-m)G|cu3l-qN^6xptSUl%&|n!}2n z@7eF4uv=KWmm5P#yV);P1Lrd@TqH^6KOa?sD-u)G26ZsJVkjlO5^FJ3qK~q>o#Bo3 zMB`oJ2^M=#!nEdzQ!3xHD~hK*EX?c&>KtHze|2b*^#O4lx}H)CQOi-N&0<8_=5mfENq;^nHU3*} zROeA32ssW2f_VOjvuF$4YpNO2k9n(Scbl>LTrN);(ANLI9Qpo;vjUgmENDs*_%qJx z{~Fav0HU+tjfRi?7pEu;w9uTrgNV=amv^Ax)46QGCrZ13<{;3SbrXC>*_nw-N`e~< zumA6`JL1LCi*fHOLZ)yjUfYfW_CpT(R!bLJhF~YO)v1xUM|DX1UcK6)JQOab9$lZ%v7y;y6|D>MF^2(!8s+Y$lwFOP9p3_@O1= zkm$X3d7ZE=S-UyUq%_SA#t;#xR`hGLDC{pYulc%mDHM7_`7qw@R7QEn^TxUIZ1lRv zR*X{6YrPM1Ru+>kF;CarfwggHnK2i2H<`t7O;)Zxx$@z~O2~0y-s?&Z1I;9B>tqb9 zkoFf_6}(QW21Ca4@U7t}V&%^$ZQ5?zX%9%4UJy zIUO4Eb);!GdR2kMzCM)tg4iXSqgGz$Yw;Kc5EB8EhWjza@OI8#ewhNH+Tl2}Q<{2O zi_QIVK8i$L$_L{jg{Yj9-4}F%(8X*rG$Cs#)&&r5eMlx`Q2c4ZXOza zlzPMc$(uF%v3Gg9I@r5b(6Bp5Tok)K&<4da(ruK9ZOmI+Q8`$C)%NXQj+neH;)=lF zWFiq+ykW{y=VAZ)%`<%b~#jPcne%d_M(PFr@NV!SJNSFA;uDhh9-m!V# zteg=bB)60?wrxunD}6Ozcg#lqQWaTZ$cVOA261OGkXd?-7e1hHu58;?@!?cL2UHrR z?rx0!yT`_+STe*Wp1a1W4&>9M@|}Hw^y_R%)mIQp9fab>9n`OWOZBcDLF{ zvgh!!*w>G;(dq*%(=Qp0j0*XY@Y@;)rOVInsR(hW_L3=Fv9 zhsmd>&4$DuY^`jFpa+ewR&Zu?^1%A6j|b;8dr^#YG6$>fES$^vh% zXiXFr2mJ?u^Pj$dXI|VNrD`_Y>H8LCKe0~j^DL1_uQz4 z?2A4`4hFha-FhiQKLd|+Eob+$sa}@j$1as@n^4OOKEt^&D(MK-CF`PK!x>Qiihk2S zgC(XyL#>H4P0F&&ZE|W%h!=AYnZz4fUxr~Ca_@i|U+t6jvP@X;Hd3P^JFN-y`?Myql2F&+Ij#qx5Bc;A;MHK+M9@3_iqB3-f(x+d|EYhMn)lKy2 zK~w@sxVdeI|{Ct5PyiKDlapn+?YmXE@|eCz>##-Hd^<`$i?O< z>~BvP2**se#z#@qsqSJww}0ki_!0R2T#%ykTiT6oy5QM(fQbJ2G5v#idhrGe-vJ4; z!9Fvw+WuRIhp8@KK9NGJA*p(W3}TO5IWm#iXj?rKkRBGXeM?FB)(w9 z`kq@K2(FL3o%jTZ`~f2TpevgD0z_B|Bwl&T$}|Ugi2j}nBOshe|8_P=Q0Z=J_G?YMO_kMz~tZ@yHi4P77rtx zRQz4&QSFG*lO;XNW^c!Q3Vo=riWVtLC0p|DQzyo(X6fL|)4p6slQ>#uu@}krb;ST_ zepI)Pon9rzF;RBSz$3l#_KM6eV;kMi7+#^7bMc|j_6K$Y(GRW%+E7Q&hj$c!+xWYK8qn!&mWGQUZOM39`NAqZ5sY9Nmx2X}iv*45u|dCa3anpV-nuc@v=Wz`7;hF=;F1Lh5Q=5PkE|91*Jxv~M$ zXAAVK9mUMt-Q4c1L5b7e+SJ*>#lhm7*K?WQ;c#=|@&F%!?BLukY0kVC2H?ZTx zi^COcEVBjsnl3L(P)vjbA;2*J*KN4idOCZB8*egch6XQ)P()y0_9s=^Z+uazw=Pp1 zW{tx`Eq{~rK)1BpU&7bf3+X-`2|F=iUVpWi zH8UC|xRyxvYf~auV+C6s2vt3uJgg713ZlHI5Prh)8HNiCGyP7VbSLN6`tHBaZCP?Ie}kVs4aMu8FP;a5K3ng_E3FsAF$#GC-!% zl4;FTZMQl>V~*#l8@~9GGX;y^#4_fZHcJifAS)3&z4$C9G7ZHrQp|fJT(aAAICcyv z4U5~aS~h(vC%N#^jT&KAm}B-+OieCr0ZM zDQM|wX4xleZ&G1 zJ1~PS5Nm79%iiMA-l4}_V_WXoH&!=ba2_B_vYPR?L{%hY#l(GTdHNR8=7Rq1$Sttx zG_kkD{PgJ4eXE9b%n*S0gyE&pjdi}|_ibgNujuQrjW;dkr98g|mAth*tW%4x;Qn+P zzP-NUez3YGG@5gexMuFFt|3tMF}5XBF);z(9j8Dy+8J3o^h8((LqJ+3ztrAG?Cq^v znv(<8*A>>e(GL1jxv*SwgNUyJLBxDNrzj#KJS>Qq0o+IPbE2O~{=|6TE-aA5{$29- zKt}(exPz_#kQ^(B1z-lQ@;~YVp(l1I@V}AzyQk$l+nCt!T*wMh-HBKE>CBN*wrA2X z3Yp~}sLT(XAm9+7P+|DgsgXzbUR7qpvqL1o<_24#VBDalBf!VYb5#$l1|WheRWqnk z75vBu&?_vO^&0(?!g{{0L6&$RmuLK$N@e;hS^k&R0Ab+j89heC=e|gTp&HI^E?^%C zRF3y&Rp1YgJXFKl-W+U&2D={41*G#L0a!KQ=Kq-)@bJN4+a#! z;#x2$K=sGvi7$4YUj*#Yvv-7^{TKc%$9`_(l6{awQ<@Ak>f5jA=GT2ViKiy%3KzCX zTYA)ff(AgP@SdY~xypL9Ms1YC-h0_A=-g(j;E5W|LLc=`lGEl<5}uHHD6=h!DrtS> z>MlIMyq$~nF~**AgQ0u&M6#0Ks)z+~y!FH{4*xBMwaQ$7PI^GqDM=%NgP*$Z?RQJw zBh>C|?8-imvSwR!*VJ@lpDW+o9ZsKv*6Ix04IXS9n^GHP*3*6-9qM_w2_w1gujV;* zH~3zvPx$-oZ(pWID{({Q%lyg&u5gOs|q#B#dh!H%?EjnCi^rg~XmnV+(zN+IX zr?DN4%z`Ma@JOB7bq>;s`{6F}XC!Mfw-<>;((iWUv*RR)-2B)OccmvW*-CU0?CNxB ziyNQQ(7(pxRwUyyrWu4HM)*24TvN1maeL*7d(>T#bUkxJ(8VYs;?-9px=Hu`ui1ul zJ-17G?oq7ME$8OEi^?;lTrjaev|iclGs?mqM_LY;6Gh$bux_)tDealCO|y>7;GTtq z+Q()%mV9>vb8M?YP@EIDynlenNk5jZjVzookJ01xupIg8$)Xa4B_nB>wkA6b44Gz| zvTkvH#>%N1{Hy%j1Vd2*G<=e4s)}%H`mvlvcOi6>u z{)|dPL}{ag4{@ghBb>iyN`(e9zyEr{v71RR?OC;iCynm?DHP=CCDarora^%4S-mNORb%yv*8Lf| zL^X%w7arTOB-hu8Zyt8rzS3g2!Z~FB9Hlh_5MBu|CQQt5D?wq{3ejhXa8U9M^93x`MRn-;V8Xv3d0;Dc-W6jGn|uO*M3lA0fTj(kcU z)?9;cHGAvrP{^5~woS|Ss5nzPX@l-P4@zlUvdXcoev@Nl(l}H0;z}C9@^x<+sJQF8 z+f3Ot8r0i}M_qQhkZ{BFJLDlzgowFM^$=xl7o%fPtfi~CjfcbyMsLuqkmtSZhRKJpkxUHk`x}K!COF_g^0;~Pz{P&Rsg6b*0ySAS2nR$y@ zrpa>dJ4)5{qEI^L*$s;IJH5knG0WMb9PrdcP-?O!y3tW4Q~=^v1&CkCKky5MU!a~| zFmT15?MBDP`D@AxqdCvFL0}{K zdBz2>{ZZrQJ%=xDfQOssPxul5H@Pq1>py~_|E>lDRwj@Yp0tZNE2wGqG9Y&C#S4_A zsO3(L-Fum(oM)d?HFWQ*-T`i|G@+z%LHNGaH{bn-5$OJz)LGa()T;RCj4sLcU$l!6 zd{3lmgJ*GfU8|aXCCMr2^8MCe?vNNSMvC7P`FGp<=s^d0$p70+@T>yfG5a$z^+Fh8cjP~n9As%Lna56T9Psi@Nv7t#1NM%B#8Uu z;2>*7SbsBcftFwDd-`tq#CAK76ksewo zsH=Wb+viuf9t9m^*XHwLE8ds6)l3(yb2xu{A>sSgwy!n7BjxF}R7D-pam4WNPh!W7 zl-%*u68i6B2C;k`NOteikYOp~ty@nYtHfJmv1h%FEPH=) zzuAm2%DLsXjv&!G|Iz5Pqt2LNn&M8YbcCEx7jZ z-D|oNO6Kw2uOD_(jgQz~`R&POy0KF+u`|v&5c*J&M)5yOm{{2(PSYK5+!1I^g?j@9 zso&8pOQKwh#@Cu{LM)+GsX1(0NfPx!lZ2_TT9Yf-Xf1&=_}^O#UhZqpG()}xEpWeq zMC`x~8+LphrSpeFUv@`eoY^sVmn>unyCTQ7;!jo(f_{nSwj zmo%Z`Dn1tFoPZ!%F5AJ@)ZJsS{t^u$mfH`+!pb0t`8vw6x;>}5h$>E^cNwwH{8#4x zQ^fj>F-yY51^nJ%GpK^}AI2>3dnnGTG2CD+=Il!`z#p(0!vllCz$ENPHReA7oc|89 zT36y+tQMM<4Hd5ew173wW=9bNXFrX|UgRs?j(03YB08n+>BAL1~{vhftsHFa!t>YgmZM}E(nRj;td!(fzAj*D&Q-ZuhpR(;NN*q;Yj)Uf9qyj$E~0BF=^hr5V(l%z z^EMBU+#=m|U_ps$70a|@Wn%lm1EDODdAMa6hKQ%>(xhyDZHcvGx9vB0X1d=fLEwgb zDUv#44{2&@aO<1=_a^T9w%}c694*%0JT8HYr~e*DbpzHt;7mk&<;`7X zH!;&q8sjdgnyo{1X=s#6$CQk5CiFO$s=F;Vui6idG41oRHCHMn$LE=n8p`+N7nmgk z=4AYT_h9{5=lCriT?Qp$cV_^}ujq|bom zJoozl@(28V7`yXICYXSt0id%283N{_zZ4eEjcV}laE>{xQU;o%unY1Mgfokpj8G!FgG6Z(PVB+ z)Mxp?NnSOKelk>F=5KO*4O8g4IqrktQ(Kgp#l7ou()AK#o*Pi98m%Lypo$dGsBw98 zE*LYw2!Id+fx5eA7w?&JQA?o<(E$}xT5jK`UFMLc%o~srQl(b6Ic)-1Q} zx_YTpLMX7A0t_uN{Uq~_AuIXzQ=pH7^welHjPmEy2_(1$BAi9Ob&(f-5Wpk z`?537gD1mj!W3^V-czLG^u8F$I(A)y1XBGKg9!#)lRh4P@y%rz4?+71ekl--gIOPZp-pOL( zJR+b=5r&j@*?bhSGErx`bNV%FbSHNe4e`5^#8_1cqIFRS8#hCF_uj(0`T;+lWOef= x3yGHb&`9j`~`%0&RIc}f5%Ilf!bynC* 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νg+rkDgQ& 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 CpMx6! diff --git a/bin/parquet/Parquet.Net.dll b/bin/parquet/Parquet.Net.dll deleted file mode 100644 index da14edb75431c141dc3d00a01c2ca44834c8b228..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 719360 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⪙IhZ(LJ@G7EZV{)5bpz?JOU=^v^ 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�+=f);P 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