Release Notes - NHibernate [Moved to GitHub] - Version 3.3.0.CR1 - HTML format

Patch

  • [NH-2004] - SequenceStyleGenerator + TableStructure opens multiple transactions.
  • [NH-2545] - Comparing strings in VB throws NotSupportedException
  • [NH-2840] - Improper SQL is generated for Take (pagination) for dialects which have UseMaxForLimit = true (like Oracle)
  • [NH-2864] - Fix for nuget package creation.
  • [NH-2905] - Support for multistep joins in Linq
  • [NH-2914] - Functions for DateTime properties in OracleDialect
  • [NH-2924] - CLONE - Improper SQL is generated for Take (pagination) for dialects which have UseMaxForLimit = true (like Oracle)
  • [NH-2936] - Better Sequence Support for Firebird
  • [NH-2964] - WhereRestrictionOn().IsInG() is a icollection not ienumerable like it should be
  • [NH-2982] - SimpleExpression.ToString() can result in unwanted loading of lazy objects
  • [NH-3010] - Fix for batching/command behaviour in OneToManyPersister
  • [NH-3067] - Linq - substring function does not work

Bug

  • [NH-1477] - Saving a collection (thats been Cleared) with all-delete-orphan using Oracle with ODP drivers
  • [NH-2214] - Distinct and Row_number problem
  • [NH-2347] - Casts inside aggregate functions are incorrectly applied outside of them
  • [NH-2419] - Linq Provider Problem with group by with an order by clause
  • [NH-2429] - SQL Server Linq Average function on integer field only returns truncated integer value
  • [NH-2439] - LINQ 'in' query not fully interpreted
  • [NH-2451] - LINQ Issue - joining twice with same table when used in both select and where. Second join is a full select and filtered in where instead of a join .. on
  • [NH-2452] - NH 3.0 Linq provider does not correctly translate standard .Key property when grouping
  • [NH-2492] - Problem with ROW_NUMBER and DISTINCT operator using LINQ
  • [NH-2511] - System.ArgumentException: Object of type 'System.Linq.Expressions.ConstantExpression' cannot be converted to type 'System.Linq.Expressions.LambdaExpression' when passing an expression through a method
  • [NH-2527] - AbstractBatcher reuses disposed IDbCommands which causes an ArgumentOutOfRangeException with OracleDataClientDriver
  • [NH-2560] - NoViableAltException with ordering by projection in GroupBy
  • [NH-2664] - Linq, cannot query dynamic-component
  • [NH-2706] - subselect in LINQ query with Contains clause produces wrong SQL
  • [NH-2722] - Linq Count() does not respect previous calls to Select() or Distinct()
  • [NH-2744] - NewArrayInit Is not Implemented
  • [NH-2763] - queryover fails where referencing enum in VB.NET
  • [NH-2781] - linq's OrderBy by a calculated column doesn't work
  • [NH-2809] - Incorrect specification of VARBINARY(MAX) in MsSql2005Dialect
  • [NH-2828] - Persist uploads not initialized collections on flush
  • [NH-2833] - "where" clause not working after "group by", generates wrong SQL
  • [NH-2846] - Fetch on Count Throws Error
  • [NH-2850] - Unable to use enums in NH 3.2 QueryOver checked comparison
  • [NH-2853] - SetFirstResult and SetMaxResults do not work correctly on Oracle (ODP.NET)
  • [NH-2856] - Retrieval of cached query with Fetch throws exception
  • [NH-2857] - Medium Trust Bug in 3.2
  • [NH-2858] - ToString() on Guid column with SQL Server Dialects
  • [NH-2863] - Criteria API restriction over aggregate function wrapped in NotExpression is wrongly placed in WHERE clause instead of HAVING clause which generates invalid SQL
  • [NH-2869] - Custom extension methods in the select clause are not projected using HQL
  • [NH-2880] - Proxies loose their session reference on session deserialization
  • [NH-2881] - Fix not found key handling on extra lazy one to many maps
  • [NH-2886] - Informix support broken
  • [NH-2889] - QueryOver component with multiple properties results in Sql Error
  • [NH-2891] - Too many parameters removed (Pervasive SQL) - SELECT doesn't work
  • [NH-2893] - NHibernate SQL Parameter on IBM.Data.DB2.iSeries provider
  • [NH-2904] - Wrong query generation with LINQ subquery
  • [NH-2906] - Using the same parameter name for two differently typed where clauses throws an exception
  • [NH-2912] - LINQ Projection of Int32 using ToString method causes "cast as char" instead of "cast as nvarchar" in MsSql dialect
  • [NH-2913] - LINQ query that contains .Any() produces invalid SQL
  • [NH-2917] - Paging error with Skip().Take().
  • [NH-2925] - Improper SQL is generated for Take (pagination) for dialects which have UseMaxForLimit = true (like Oracle)
  • [NH-2927] - Oracle Dialect does not handle the correct resolution for timestamp version columns
  • [NH-2937] - Invalid index 0 for this DB2ParameterCollection with Count=0.
  • [NH-2940] - OracleDialect creates wrong sql using SetFirstResult with criteria queries
  • [NH-2946] - Superfluous join when querying by foreign key given Id with LINQ
  • [NH-2954] - PostgreSQL should SupportsPooledSequences
  • [NH-2959] - Polymorphic queries in MultiQuery, MultiCriteria and Futures cause ArgumentOutOfRangeException
  • [NH-2960] - Query using entity name also returns entities of same type but different entity name
  • [NH-2967] - MySQL Schema Update tool fails with exception
  • [NH-2976] - AbstractPersistentCollection.Remove does not remove item from an uninitialized dictionary
  • [NH-2989] - ComponentAsId does not set Id Property
  • [NH-2998] - Allow to use AsQueryable on child collection
  • [NH-3000] - QuerySyntaxException: Exception of type 'Antlr.Runtime.NoViableAltException' was thrown. when projection contains complex code [regression]
  • [NH-3001] - NHibernate.HibernateException: Query Source could not be identified
  • [NH-3002] - HQL: parser is trying to reuse parent implied join for subquery
  • [NH-3003] - Linq: extra joins
  • [NH-3004] - DriverBase.RemoveUnusedCommandParameters removes all parameters when UseNamedPrefixInSql = true and UseNamedPrefixInParameter = false
  • [NH-3008] - Excess DB parameters created when passing SqlFunctionProjection to LHS of InExpression
  • [NH-3009] - Linq trying to add parameters twice if same predicate is used in query more then once
  • [NH-3016] - Mapping by code does not properly support nested types
  • [NH-3019] - LINQ: Select Key from group by generates wrong SQL
  • [NH-3020] - Firebird and DB2 dialect claims to support sequences, but throws in GetSelectSequenceNextValString(string) (since not overriden)
  • [NH-3026] - Linq order by grouped count before select clause gives wrong sql
  • [NH-3031] - Cannot Sum Property of Type Single
  • [NH-3032] - Group By and Condition Throws Exception
  • [NH-3036] - Wrong SqlType size set for LIKE statement
  • [NH-3044] - Self-joined query with subquery and where - where applied to subquery rather than the external query
  • [NH-3059] - Contains broken when used on a path (Works in previous version)
  • [NH-3063] - Turkish-I problem in ValidateColumn
  • [NH-3064] - Schema validation fails for ODBC
  • [NH-3065] - OleDbDriver causes error on every query
  • [NH-3073] - Equal in Linq-provider is only implemented for string

Task

  • [NH-2672] - Upgrade Npgsql lib file to next release after 2.0.11.91.
  • [NH-2752] - Re-enable CriteriaQueryTest.AllowToSetLimitOnSubquries for SQLite

Improvement

  • [NH-1007] - Add a generator attribute to id
  • [NH-2528] - Throw exception instead of silently truncate string and blob data
  • [NH-2825] - Add property-ref and not-found attributes in mapping by code
  • [NH-2835] - SQL Anywhere dialect/driver improvements
  • [NH-2870] - Simplify Development on NHibernate for Contributors
  • [NH-2875] - Add Foreign Key to one-to-one mapping by code
  • [NH-2883] - DisableLogFormatedSql is not useful
  • [NH-2899] - Support for "in (<subquery>)" in Linq
  • [NH-2950] - Update optimizers for enhanced id generators (ported from Hibernate)
  • [NH-2953] - Update the SequenceStyleGenerator
  • [NH-2962] - Fix PostgreSQL and Firebird timestamp selection and precision
  • [NH-2974] - Add unsaved-value attribute in mapping by code.
  • [NH-2980] - Port enhanced TableGenerator from Hibernate
  • [NH-3024] - Mapping-by-Code does not allow Unique in Component mapping
  • [NH-3040] - SymbolSource support along with NuGet

The text area below allows the project release notes to be copied to another document.