diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c1561e883..9d53d8f533 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [8.4.0] - Unreleased +## [8.4.0] - 2024-12-02 - Add Ordering to Filters - [MSSQL ONLY] Add ability to perform Regex redactions on data loads and existing catalogues diff --git a/Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandPerformRegexRedactionOnCatalogue.cs b/Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandPerformRegexRedactionOnCatalogue.cs index e3e0b678ed..2464cece8d 100644 --- a/Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandPerformRegexRedactionOnCatalogue.cs +++ b/Rdmp.Core/CommandExecution/AtomicCommands/ExecuteCommandPerformRegexRedactionOnCatalogue.cs @@ -77,7 +77,7 @@ public override void Execute() var cataloguePk = _cataloguePKs.FirstOrDefault(c => c.ColumnInfo.GetRuntimeName() == pk.GetRuntimeName()); qb.AddColumn(new ColumnInfoToIColumn(memoryRepo, cataloguePk.ColumnInfo)); } - qb.AddCustomLine($"{columnInfo.GetRuntimeName()} LIKE '%{_redactionConfiguration.RegexPattern}%'", QueryComponent.WHERE); + qb.AddCustomLine($"{columnInfo.GetRuntimeName()} LIKE '%{_redactionConfiguration.RegexPattern}%' COLLATE Latin1_General_BIN", QueryComponent.WHERE); if (_readLimit is not null) { qb.TopX = (int)_readLimit; diff --git a/Rdmp.Core/DataLoad/Modules/Mutilators/RegexRedactionMutilator.cs b/Rdmp.Core/DataLoad/Modules/Mutilators/RegexRedactionMutilator.cs index 6a1441eaa2..abd4bf7b2a 100644 --- a/Rdmp.Core/DataLoad/Modules/Mutilators/RegexRedactionMutilator.cs +++ b/Rdmp.Core/DataLoad/Modules/Mutilators/RegexRedactionMutilator.cs @@ -94,7 +94,7 @@ protected override void MutilateTable(IDataLoadJob job, ITableInfo tableInfo, Di var sql = @$" SELECT {column.GetRuntimeName()} {pkSeparator} {string.Join(", ", pkColumnInfos.Select(c => c.GetRuntimeName()))} FROM {table.GetRuntimeName()} - WHERE {column.GetRuntimeName()} LIKE '%{RedactionConfiguration.RegexPattern}%' + WHERE {column.GetRuntimeName()} LIKE '%{RedactionConfiguration.RegexPattern}%' COLLATE Latin1_General_BIN "; var dt = new DataTable(); dt.BeginLoadData();