Release notes for re-motion version 1.13.49

List of Issues

Bugfixes

New Features

Details

[COMMONS-2371] re-linq unit tests not culture-agnostic

Component/s: Data.Linq
Issue Type: Bug
Resolution: Fixed
Status: Closed


WhereTest.Test_02 threw an exception when executed with a different culture. Fixed by adding a SetupFixture setting InvariantCulture.

[COMMONS-2313] New Sql Backend

Component/s: Data.Linq
Issue Type: New Feature
Resolution: Unresolved
Status: Open
FixVersion: re-linq vNext


The new SQL backend should both be a good example of how to approach SQL generation using the new re-linq front-end (QueryModel, usw.) and provide a sound, extensible architecture backing re-store's LINQ provider.

It will sport SQL generation in three phases:

  • The first phase will take a query model and translate it into a SqlStatement model. SqlStatement is modeled to express the syntactical possibilities and constraints of actual SQL statements.
  • The second phase will allow an O/R mapper to resolve all elements of the SqlStatement into SQL-specific items such as tables or columns with names and aliases.
  • The third phase will then take the resolved SqlStatement and produce actual SQL text (and parameters).

LINQ providers will be able to hook into each of the three steps for customization, optimization, and advanced query transformations.

[COMMONS-2353] Support for implicit joins as chained member expressions

Component/s: Data.Linq
Issue Type: Sub-task
Resolution: Fixed
Status: Closed


Support for expressions of the form: select o.Customer.FirstName or select orderItem.Order.Customer.Address.

This expression leads to automatic generation of inner joins between the tables involved.

[COMMONS-2352] Support for member expressions selecting entities

Component/s: Data.Linq
Issue Type: Sub-task
Resolution: Fixed
Status: Closed


Support for expressions of the form select o.Customer.

The SQL generated for this expression selects all the columns defining a Customer.

[COMMONS-2351] Support for constant values as parameters in expressions

Component/s: Data.Linq
Issue Type: Sub-task
Resolution: Fixed
Status: Closed


Support expressions of the form: select "hugo".

Most constant expressions are automatically wrapped into SQL parameters rather than being hard-coded in the SQL statement. The constant values "true" and "false" are translated to parameters of values "1" and "0". Constant expressions of types not supported by SQL lead to an exception. Constant expressions with value null are inlined in the SQL as NULL values.

[COMMONS-2350] Support for simple member expressions

Component/s: Data.Linq
Issue Type: Sub-task
Resolution: Fixed
Status: Closed


Support for expressions of the following form: select s.FirstName.

The SQL generated for this expression selects the column corresponding to FirstName in the table corresponding to s.