redb.MSSql - Minimum Sql Server Version supported #10
Replies: 2 comments 8 replies
|
You are right, and thank you for pinning it down. The error text alone would have cost the next person an afternoon. The real floor is SQL Server 2017, and not because of one function. STRING_AGG appears 90 times across the provider, including the object-to-JSON path and the PVT aggregate, and TRIM (also 2017) another 52 times. Neither has a cheap 2016 fallback, so lowering the floor is not a small patch and we are not planning one. Where the requirement is stated today: the repository README, "PostgreSQL 14+, Microsoft SQL Server 2019+". Where it is not stated, and should be: the redb.MSSql package README and its NuGet description, which is exactly where you were standing. That is our miss and we are fixing it there. On the numbers: 2017 is the floor by feature, 2019 is the version we state because that is what we are willing to stand behind, and this is what we actually develop and test against: The Full-Text package in there is history, not a requirement. redb creates its catalog and index under IF SERVERPROPERTY('IsFullTextInstalled') = 1, so an instance without Full-Text skips them silently, and the index is being removed entirely: every string predicate compiles to LIKE, which never reads it. Do not copy that step unless you want it for your own reasons. Worth knowing if you are starting a project now: a major 4 is in preparation. It brings lazy references (a virtual property stays a stub until you touch it, with LoadAsync(depth: 1) as the default), unique keys on both the object and Props fields, and a schema-upgrade contract for databases the application does not own. Several MSSQL-specific corrections ride along, including load depth that now matches PostgreSQL and SQLite. No date yet. Pro stays free in 4, exactly as through the whole 3.x line: no license key, no license server, commercial production included. That is already in the code, not just the plan. |
|
Follow-up on both open items here. The major has a date now: 4.0.0 was released on 11 September. It carries what this thread previewed: lazy references (a Pro is free on 4.x, no license key, no license server, commercial production included, exactly as stated above. The constant that decides it moved with the release rather than after it. The documentation miss is fixed. The The announcement, with the breaking changes and the upgrade notes: https://github.com/orgs/redbase-app/discussions/13 |

Uh oh!
There was an error while loading. Please reload this page.
It would be nice that you specify in the documentation that the required version of SQL Server. I have SQL Server 2016 and it doesn't work (Microsoft.Data.SqlClient.SqlException: ''STRING_AGG' is not a recognized built-in function name.') because that is a feature that was introduced in SQL Server 2017.
All reactions