|
24 | 24 | types. (IDbCommand => DbCommand, ...)
|
25 | 25 | * The Date NHibernate type will no more replace by null values below its base value (which was year 1753).
|
26 | 26 | Its base value is now DateTime.MinValue. Its configuration parameter is obsolete.
|
| 27 | + * NHibernate type DateTimeType, which is the default for a .Net DateTime, does no longer cut fractional |
| 28 | + seconds. Use DateTimeNoMsType if you wish to have fractional seconds cut. It applies to its Local/Utc |
| 29 | + counterparts too. |
| 30 | + * LocalDateTimeType and UtcDateTimeType do no more accept being set with value having a non-matching kind, |
| 31 | + they throw instead. |
| 32 | + * DbTimestamp will now round the retrieved value according to Dialect.TimestampResolutionInTicks. |
| 33 | + * When an object typed property is mapped to a NHibernate timestamp, setting an invalid object in the |
| 34 | + property will now throw at flush instead of replacing it with DateTime.Now. |
27 | 35 | * Transaction scopes handling has undergone a major rework. See NH-4011 for full details.
|
28 | 36 | ** More transaction promotion to distributed may occur if you use the "flush on commit" feature with
|
29 | 37 | transaction scopes. Explicitly flush your session instead. Ensure it does not occur by disabling
|
|
47 | 55 | changes. See https://github.com/nhibernate/nhibernate-core/pull/568 changes to test files for examples.
|
48 | 56 | * NHibernate Linq internals have undergone some minor changes which may breaks custom Linq providers due
|
49 | 57 | to method signature changes and additional methods to implement.
|
| 58 | + * IMapping interface has an additional Dialect member. ISessionFactoryImplementor has lost it, since it |
| 59 | + gains it back through IMapping. |
| 60 | + * IDriver.ExpandQueryParameters and DriverBase.CloneParameter take an additional argument. |
50 | 61 | * NullableType, its descendent (notably all PrimitiveType) and IUserType value getters and setters now
|
51 | 62 | take the session as an argument. This should mainly impact custom types implementors.
|
52 | 63 | * EmitUtil is now internal and has been cleaned of unused members.
|
|
64 | 75 | * Sessions concrete classes constructors have been changed. (It is not expected for them to be used
|
65 | 76 | directly.)
|
66 | 77 | * Obsolete setting interceptors.beforetransactioncompletion_ignore_exceptions is dropped.
|
| 78 | + * SQL Server 2008+ dialects now use datetime2 instead of datetime for all date time types, including |
| 79 | + timestamp. This can be reverted with sql_types.keep_datetime setting. |
| 80 | + * SQL Server 2008+ timestamp resolution is now 100ns in accordance with datetime2 capabilities, down from |
| 81 | + 10ms previously. This can be reverted with sql_types.keep_datetime setting. |
| 82 | + * Oracle 9g+ dialects now use timestamp(7) for all date time types, instead of timestamp(4). |
| 83 | + * Oracle 9g+ timestamp resolution is now 100ns in accordance with timestamp(7) capabilities, down from |
| 84 | + 100µs previously. |
67 | 85 | * Oracle: Hbm2dll will no-more choose N- prefixed types for typing Unicode string columns by default.
|
68 | 86 | This can be changed with oracle.use_n_prefixed_types_for_unicode setting, which will furthermore
|
69 | 87 | control DbCommand parameters typing accordingly. See NH-4062.
|
70 | 88 | * SqlServerCe: the id generator "native" will now resolve as table-hilo instead of identity.
|
71 | 89 | * Firebird: timestamp resolution is now 1ms.
|
72 | 90 | * PostgreSQL: if Npgsql v3 or later is used, time DbParameters will be fetch with TimeSpan instead of
|
73 | 91 | DateTime.
|
| 92 | + * ODBC: String parameter length will no more be specified by the OdbcDriver. |
74 | 93 |
|
75 | 94 | ** Sub-task
|
76 | 95 | * [NH-3956] - Native SQL query plan may get wrong plan
|
|
104 | 123 | * [NH-3850] - .Count(), .Any() and other aggregates return only first result on polymorphic queries
|
105 | 124 | * [NH-3885] - ThreadSafeDictionary is not threadsafe
|
106 | 125 | * [NH-3889] - Coalesce on entity in sub-select causes incorrect SQL
|
| 126 | + * [NH-3895] - Problem with DateTime fractional seconds on ODBC for MS SQL Server |
107 | 127 | * [NH-3911] - Reflection Optimizer tries to cast values to getter type in setter
|
108 | 128 | * [NH-3913] - Component has bag of child components. Child property mapping ignored
|
109 | 129 | * [NH-3931] - Invalid order of child inserts when using TPH inheritance
|
|
128 | 148 | * [NH-4038] - Mapping a TimeSpan in a collection component mapping maps as a BIGINT
|
129 | 149 | * [NH-4046] - Default length too short for variable length types with SAP Anywhere / ASE
|
130 | 150 | * [NH-4077] - Possible race condition in ActionQueue.ExecuteActions
|
| 151 | + * [NH-4083] - ODBC nvarchar parameter corruption |
| 152 | + * [NH-4084] - DbTimestamp cause stale update exception |
| 153 | + * [NH-4086] - TimeType may lose fractional seconds |
131 | 154 |
|
132 | 155 | ** New Feature
|
133 | 156 | * [NH-1530] - Add support for XmlDocType and XDocType for Oracle
|
|
172 | 195 | * [NH-3744] - Fixed spelling of ContraintOrderedTableKeyColumnClosure method
|
173 | 196 | * [NH-3750] - Use NuGet to refer to Remotion.Linq (unmerge ReMotion.Linq)
|
174 | 197 | * [NH-3877] - Target .NET 4.6.1
|
175 |
| - * [NH-3884] - Default DateTimeType can not be overridden for SQL queries |
176 | 198 | * [NH-3900] - Upgrade to Nunit 3.x
|
| 199 | + * [NH-3919] - Clean up and harmonize datetime types with regards to different dialects |
177 | 200 | * [NH-3927] - Switch to SemVer version scheme
|
178 | 201 | * [NH-3932] - Merge() may fire unnecessary updates if collection and version mapping exists
|
179 | 202 | * [NH-3943] - Use NuGet to reference packages instead of local copies
|
|
0 commit comments