Integrated Query Framework

8/14/2005 5:12:33 PM

Integrated Query Framework

The PDC 2005 Session abstracts give tantalizing clues about a new Language Integrated Query Frameword.

The .NET Language Integrated Query Framework: An Overview
Modern applications operate on data in several different forms: Relational tables, XML documents, and in-memory objects. Each of these domains can have profound differences in semantics, data types, and capabilities, and much of the complexity in today's applications is the result of these mismatches. The "Orcas" release of Visual Studio aims to unify the programming models through integrated query capabilities in C# and Visual Basic, a strongly typed data access framework, and an innovative API for manipulating and querying XML. This session introduces each of these areas and walks through how they are related.

It appears that, when XQuery was still scheduled to ship with Whidbey, something called the Common Query Architecture was supposed to have been included with Visual Studio 2005. This included a Query Instruction Language(QIL) in which expressions from XPath, XQuery, XSLT and XML view are compiled down to and which is later fed into the Common Query Runtime (CQR) for optimization and further generation into MSIL and machine code. Note the resemblance to the MSIL (Microsoft Intermediate Language) and CLR (Common Language Runtime). More from Signs on the Sand.

Michael Brundage, who invented the Common Query Runtime, states that it does for XML query languages what the CLR does for traditional programming languages. While his involvement was focused on XQuery, he also mentions SQL. Further information was uncovered from this little bit from a patent filed by Microsoft on Relational Schema Format:

Where mapping is concerned, the RSD schema is a logical view of the metadata required to perform efficient mappings and provides the following: sufficient metadata about the relational domain to allow the CQR (common query runtime) engines to efficiently generate and/or execute CRUD (Create, Read, Update, and Delete) operations against the database based on actions performed in the target domain; easily readable; easily editable; capability to segment the RSD file to improve manageability and allow logical extensions to the relational schema; and capability to describe any ANSI relational database. When a query is presented through, e.g., XML, the CQR engine compiles the query into QIL (Query Intermediate Language), optimizes it, and generates SQL statements that can be run against the database.







Net Undocumented is a blog about the internals of .NET including Xamarin implementations. Other topics include managed and web languages (C#, C++, Javascript), computer science theory, software engineering and software entrepreneurship.

Social Media