- Issues #16 - Fixed escape error bug when not using
-DataTable
, and-AddKey
parameter contains a spaces (thank you franklesniak for reporting). - Fixed escape error bug when using
-DataTable
, and-AddKey
parameter contains single quotes.
- Add support for [ArrayList] input in addition for [Array] And [DataTable].
- Updated Description and Tags.
- PowerShell Core 7 is now supported!
-LeftJoinScript
and-RightJoinScript
now support non string output (String is still used if scriptblock provided and not Func`2).-Comparer
allow use of custom [EqualityComparer].
- Fixed DuplicateLines with non DataTable output can create output with "hidden" sub arrays. Linq Join seems to not unroll the output so for example you can get this output:
IDD Name Junk IntT R_Sub R_IntO
--- ---- ---- ---- ----- ------
1 A AAA 5 S1 6
1 A AAA 5 S12 62
3 C S3
4 D
It looks like an array with 4 lines of PSCustomObjects but it's actually an array with 3 lines as the first line is actually an array containing the first 2 lines. This will be unrolled in the new version to an array with 4 PSCustomObjects.
- PowerShell Core 7: Join-Object SubGroups [EmptyPartition`1] Fix.
-PassThru
will now throw an error when used with-Type OnlyIfInBoth
as lines cannot be removed, and with-Type AllInLeft
+-RightMultiMode DuplicateLines
as lines cannot be duplicated.⚠️ breaking change.
-AddKey
is now a String that takes the name of the key column to create.
/Examples/Join-Object.Examples.ps1
was updated.
- MoreLinq Updated to 3.2.0.
- Update To Module.Template 2.0.1, Test now use Azure pipeline Windows 2019 and AppVeyor on Ubuntu1804 and Windows 2019 (PowerShell Framework and core 7.0.0 Preview 3).
- Update to custom version of Assert 0.9.5.
- PowerShell Core 7: Test 1 ExpectedErrorMessage Fix.
- PowerShell Core 7: Tests PSCustomObject.Count -eq 1 Fix.
- Change format to VSCode default on all files.
- cSpell.words updated and spelling corrections.
- Refactor Tests.
- Refactor Join-Object.
- -AllowColumnsMerging Allow duplicate columns in the Left and Right Objects, will overwrite the conflicting Left data with the Right data (Ignoring Nulls), Supported only on DataTable output for now.
- Major rewrite of the code, The main Scriptblock is now dynamically constructed.
- Error handling with $PSCmdlet.ThrowTerminatingError.
- Undo "Fix JoinFunction scope to support JoinProperty" (Unnecessary feature).
- -LeftMultiMode and -RightMultiMode with options ('SingleOnly', 'DuplicateLines', 'SubGroups').
- -AddKey can be used with "-Type AllInBoth" to add a column named "Key" containing the joining key.
- -MultiLeft replaced by MultiMode.
- -RightAsGroup replaced by MultiMode.
- MoreLinq updated to 3.0.0.
- Fix Multi JoinProperty comparing column name.
- Fix JoinFunction scope to support JoinProperty.
- Minor bug fixes and improvements.
- -Type AllInBoth option.
- -DataTableTypes [Hashtable] allow Overwrite of DataTable columns types.
- -RightAsGroup [String] Join the right side as sub table in column with the selected name.
- -MultiLeft allow multiple rows on the left side.
- -KeepRightJoinProperty don't remove the right join property.
- Remove unused parameter option -Type AllInRight
- Error "Cannot set Column 'foo' to be null. Please use DBNull instead." when using -DataTable and -AllInLeft and some Left lines don't have Right lines to join to.
- Error "Cannot set Column 'foo' to be null. Please use DBNull instead." when using -DataTable on DataTable data with nulls in it.
- -DataTable parameter to output as "DataTable".
- Output when using PassThru on "-Left DataTable" was returning "Array" with "DataRow"s instead of "DataTable" with "DataRow"s Object.
- -Type parameter that supports "AllInLeft" and "OnlyIfInBoth".
- -RightJoinScript and -LeftJoinScript parameters to support custom joining scripts.
- -RightJoinProperty and -LeftJoinProperty now supports multiple Properties (String Array) to join on multiple columns.
- Convert DBNull to $null when going from DataTable to PSCustomObject.
- Join-Object initial release.
- Join-Object LINQ Edition concept code.