Skip to content

redb 3.7.2

Latest

Choose a tag to compare

@reliktbk reliktbk released this 27 Aug 11:23
· 3 commits to main since this release

redb 3.7.2

Ядро и провайдеры. Пакеты на nuget.org: redb.Core(.Pro), redb.Postgres(.Pro),
redb.MSSql(.Pro), redb.SQLite(.Pro), redb.Export, redb.CLI, redb.Templates, redb.Licensing.

Зачем этот выпуск. В 3.7.1 уехал регресс: array.Contains по nullable-массиву не
транслируется, а бросает исключение. Фильтр вида .Where(x => x.Tags.Contains(y))
перестаёт работать, как только Tags объявлен T[]? — а это то, что Nullable enable
даёт любому необязательному массиву. Виноват переход на .NET 10 в 3.7.1, а не
правка парсера: под net10 компилятор оборачивает коллекцию дважды.

3.7.1 остаётся в списке на nuget.org, образы остаются в реестре: небезопасного там
нет, версия вытеснена, а не отозвана.

Также в выпуске:

  • PVT-префильтр перестал отказывать в трёх шаблонах запросов, где отказ был лишним:
    вложенный OR под AND, несколько ветвей по одной структуре, ListItem.Id.
  • Найденный при этом дефект слияния ветвей: группировка шла по одной структуре, из-за
    чего строковый шаблон мог склеиться с bigint-колонкой.
  • Планировщик префильтра объясняет себя в ToSqlStringAsync — девять кодов причин отказа.

Проверено на .NET 10.0.8, набор целится в net10.0: 1942 из 1944, два штатных Skip,
прогон дважды — с включённым и выключенным префильтром. Шесть провайдерских коллекций
плюс модульные: 1920 из 1920 в обоих режимах.

Установка:
dotnet add package redb.Core
dotnet add package redb.Postgres.Pro # Pro бесплатен на всей линии 3.x, ключ не нужен