Changelog History
Page 1
-
v3.4.0 Changes
December 07, 2020π #365 Rework GetByKeyList to not require a table name Command Builders
π #378 SQL Server: SqlServerEffectiveSettings? m_ServerDefaultSettings should be inherited Data Source Metadata SQL Server
#382 Can't exec sql server system procedures like sp_sequence_get_range SQL Server
π #366 MissingInsertBatch
overload Command Builders
π #376 MySQL: Approximate count for a table Command Builders MySQL
π #287 Approximate count in PostgreSQL Command Builders Enhancement PostgreSQL
π #246 Approximate distinct count in SQL Server Command Builders Enhancement SQL Server -
v3.3 Changes
February 11, 2020π Features
0οΈβ£ #357 Missing default for SoftDeleteRule Audit Rules
#354 CreateOpenDataSource should have a no-parameter overload Data Source
#353 ITransactionalDataSource Should Implement IOpenDataSource Data Source
π #348 Support the TableAndViewAttribute Command Builders
#347 CompiledMaterializers need ToObjectOrNull Materializers and Appenders
#346 ToObjectOrNull should always use AllowEmptyResults Materializers and Appenders
π #345 DeleteWithFilter needs to be reworked to not need explicit table names Command Builders
π #344 DeleteByKey needs to be reworked to not need explicit table names Command Builders
π #343 GetByKey should NOT call GetByKeyList Command Builders
π #342 GetByKey needs to be reworked to not need explicit table names Command Builders -
v3.2.1-PostgreSQL Changes
February 07, 2020π Bug Fix
- #355: PostgreSQL Server_Version Fails
-
v3.2 Changes
January 31, 2020Tortuga Chain v3.2
π Features
- π Differentiate between
.ToObject
and.ToObjectOrNull
#323: Better support for C# 8 and nullable reference types From<TObject>
Improvements #330: Reduce the places where you have to specify both a table name and an object type- π»
DeleteOptions.CheckRowsAffected
#329: Optionally throw an exception when deleting a row fails because the row doesnβt exist. - π
SortExpression
should be a struct, not a class #331: Removes a small memory allocation. F - π Allow sort expressions to have βDESCβ suffix.
- β Add
WithNotifications
to PostgreSQL Bulk Insert Bulk-Insert Command Builders PostgreSQL
#324: Allows progress tracking for long bulk inserts - β Add
WithNotifications
to MySQL Bulk Insert Bulk-Insert Command Builders MySQL
#325: Allows progress tracking for long bulk inserts - π Change SQL Server to use the same notification class as other bulk inserts
- β Added ability to abort to PostgreSQL and MySQL bulk inserts. (This is separate from triggering a cancellation token.)
- All of the
ToXxxList
materializers needToXxxOrNullList
variants Materializers and Appenders
#334: This lets you read back aList<T?>
whereT
is a value type or string.
π Bugs
- π
UpdateOptions.IgnoreRowsAffected
Documentation is Wrong Documentation
#328 - π Fix bug in MySQL Bulk insert
Known Issues
- OleDB drivers are not fully working in .NET Core. They do work in .NET Framework.
- β
SQLDependency
doesnβt work when usingMicrosoft.Data.SqlClient
in .NET Framework while using MSTest. This does work fine if you use .NET Core OR run the test from the command line. Bug was filed with MS.
π¦ Packages
- π Differentiate between
-
v3.1 Changes
December 24, 2019Chain 3.1 focuses on batch and bulk insert options for SQL Server, PostgreSQL, MySQL, and SQLite.
π β’ Batch inserts use a normalINSERT
statement with multiple rows being inserted atomically. The number of rows in one batch is limited by the max number of parameters supported by the database.
β’ Multi-batch performs a series of batch inserts. Each sub-batch is atomic, but the operation as a whole is not unless a transaction is used.
π β’ Bulk inserts use the database-specific alternative. This usually offers the best performance, but as limitations such as in inability to return newly created keys.π Features
- Partial Object Loads #286: Only load specific properties OR exclude specific properties from being loaded
- β Add Max Parameters to Metadata #297: This is used by batch inserts to ensure we donβt use too many properties in a single statement
- β Add ValueNonNullLink appender
- Core functionality for batch and multi-batch inserts #303
- Batch insert for SQL Server #299: Single-statement and multi-statement batch inserts in SQL Server without the need for a table parameter.
- Batch insert for SQLite #235: Single-statement and multi-statement batch inserts for SQLite
- Batch insert for PostgreSQL #300: Single-statement and multi-statement batch inserts for PostgreSQL
- Batch Insert for MySQL #308: Single-statement and multi-statement batch inserts for MySQL
- Bulk Insert for MySQL #229
- Bulk Insert for PostgreSQL #232
- WithUser should accept nulls #317: This makes it easier for scenarios where the 'user' object is null because the user isnβt logged in.
π Bugs
- π Bug in NonNullLink #301: Stack overflow in the NonNullLink appender.
π¦ Packages
Tortuga.Chain.Access.3.1.7296.34685
Tortuga.Chain.CompiledMaterializers.3.1.7296.34522
Tortuga.Chain.Core.3.1.7296.34418
Tortuga.Chain.Core.Odbc.3.1.7296.34522
Tortuga.Chain.Core.OleDb.3.1.7296.34523
Tortuga.Chain.MySql.3.1.7296.34684
Tortuga.Chain.PostgreSql.3.1.7296.34685
Tortuga.Chain.SQLite.3.1.7296.34684
Tortuga.Chain.SqlServer.3.1.7296.34683
Tortuga.Chain.SqlServer.MDS.3.1.7296.34685
Tortuga.Chain.SqlServer.OleDb.3.1.7296.34684 -
v3.0 Changes
November 01, 2019- β¬οΈ Upgrade to C# 8 and nullable reference types.
- Redesigned the project layout.
- π Support for Microsoft.Data.SqlClient (MDS) as an alternative for System.Data.SqlClient
- Tortuga.Chain.SqlServer.OleDb is no longer dependent on Tortuga.Chain.SqlServer
- π Moved OleDB and ODBC datasources from Tortuga.Chain.Core to their own libraries
π₯ Breaking Changes
- You can only use one of the Tortuga.Chain.SqlServer variants in a single project.
- π§
[DB]DataSource.CreateFromConfig
is no longer available, as it assumed a specific configuration manager.
π¦ Packages
- Tortuga.Chain.Core.3.0.7223.40476
- Tortuga.Chain.Core.Odbc.3.0.7223.40605
- Tortuga.Chain.Core.OleDb.3.0.7223.40607
- Tortuga.Chain.SqlServer.3.0.7223.40609
- Tortuga.Chain.SqlServer.OleDb.3.0.7223.40658
- Tortuga.Chain.SqlServer.MDS.3.0.7223.42438
- Tortuga.Chain.Access.3.0.7225.1361
- Tortuga.Chain.Core.3.0.7226.35389
- Tortuga.Chain.MySql.3.0.7226.35445
- Tortuga.Chain.Core.3.0.7226.39852
- Tortuga.Chain.PostgreSql.3.0.7227.25792
- Tortuga.Chain.SQLite.3.0.7227.38228
- Tortuga.Chain.CompiledMaterializers.3.0.7228.18237
-
v2.2 Changes
October 13, 2019- π #120 Add support for length, precision, and scale for columns in PostgreSQL
- π #127 Add indexes to SQL Server's Metadata Drydock SQL Server
- π #128 Add indexes to PostgreSQL's Metadata
- π #129 Add indexes to SQLite's Metadata
- π #130 Add indexes to Access's Metadata Access Drydock
- π #251 License URL deprecation
- π #259 Upsert, matching on an alternate key Command Builders
- π #264 DatabaseMetadata.GetTableOrView throws an exception if the table is missing Metadata
- π #266 SQLIte Data types Metadata SQLite
- π #272 Add indexes for MySQL Drydock Metadata MySQL
- 0οΈβ£ #274 Enable Foreign Keys in SQLite by default
π₯ Breaking Change
- Now requires .NET 4.6.1 or higher. Previously 4.6 was permitted, but that was not compatible with code analysis tools. (Also, no one should be on 4.6 anymore.)
-
v2.0 Changes
January 07, 2019- π #233 Build scripts for MySQL MySQL
- #205 SQL Server: Need reliable way to get the database name
- #222 Make methods on IRootDataSource public
- #227 Expose Connection/Transaction properties on IOpenDataSource classes
- #247 SqlDependency in .NET Standard
- π #243 Strict mode seems to be ignoring NotMapped during creates bug
- π #211 IsDBNull and Performance
- #110 Create stubs for MySql MySQL
- #20 Create data source for MySQL MySQL enhancement
- π #7 Create Metadata Provider for MySQL MySQL enhancement
- π #13 Create From command builder (a.k.a. FromTableOrView) for MySQL MySQL enhancement
- π #10 Create raw sql command builder for MySQL MySQL enhancement
-
v1.3 Changes
October 01, 2018π Dependency refresh and minor bug fixes in PostgreSQL + Compiled Materializers.
-
v1.0.6145.981 Changes
October 28, 2016β Adds support for connecting to SQL Server via OleDB.
β Adds support for .NET Standard 1.3. (Note that OleDB is not compatible with .NET Standard.)