Release notes for re-motion version 1.13.48

List of Issues

Improvements

New Features

Details

[COMMONS-2348] Change constructor parameter of FetchRequestBase from QueryProviderBase to IQueryProviderBase

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


(no description)

[COMMONS-2345] Public ExpressionTreeVisitor.VisitList and VisitAndConvert methods

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


public static ReadOnlyCollection<T> VisitList<T>(ReadOnlyCollection<T> list, Func<T, T> elementVisitor);
public static T VisitAndConvert<T> (T expression, string caller) where T : Expression;
public static ReadOnlyCollection<T> VisitAndConvert<T>(ReadOnlyCollection<T> list, string caller) where T : Expression;

VisitList applies the elementVisitor function to each member of the list, returning the same list if each visitor call returned the original item. Otherwise, it returns a new list with the new items replacing the corresponding original ones.

VisitAndConvert for a single expression calls VisitExpression on the expression, then tries to cast it back to the type T. If the cast doesn't succeed (because the visitor's result is of a new type or null), an exception is thrown.

VisitAndConvert for lists combines VisitList with the single-expression VisitAndConvert method.

[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-2314] Support for simple select and one from clause

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


Provide SQL generation support for statements of the form:

from s in Students
select s