[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.