The relational model with relation-valued attributes
Information Systems
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
A transformation-based approach to optimizing loops in database programming languages
SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
Type-directed specialization of polymorphism
Information and Computation
Definitional Interpreters for Higher-Order Programming Languages
Higher-Order and Symbolic Computation
ORDPATHs: insert-friendly XML node labels
SIGMOD '04 Proceedings of the 2004 ACM SIGMOD international conference on Management of data
LINQ: reconciling object, relations and XML in the .NET framework
Proceedings of the 2006 ACM SIGMOD international conference on Management of data
Anatomy of the ADO.NET entity framework
Proceedings of the 2007 ACM SIGMOD international conference on Management of data
A SQL: 1999 code generator for the pathfinder xquery compiler
Proceedings of the 2007 ACM SIGMOD international conference on Management of data
Data parallel Haskell: a status report
Proceedings of the 2007 workshop on Declarative aspects of multicore programming
XMark: a benchmark for XML data management
VLDB '02 Proceedings of the 28th international conference on Very Large Data Bases
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
Lost in translation: formalizing proposed extensions to c#
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Confessions of a used programming language salesman
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
VLDB '04 Proceedings of the Thirtieth international conference on Very large data bases - Volume 30
The Claremont report on database research
Communications of the ACM - One Laptop Per Child: Vision vs. Reality
FERRY: database-supported program execution
Proceedings of the 2009 ACM SIGMOD International Conference on Management of data
Full-fidelity flexible object-oriented XML access
Proceedings of the VLDB Endowment
Let SQL drive the XQuery workhorse (XQuery join graph isolation)
Proceedings of the 13th International Conference on Extending Database Technology
Links: web programming without tiers
FMCO'06 Proceedings of the 5th international conference on Formal methods for components and objects
Thirteen new players in the team: a FERRY-based LINQ to SQL provider
Proceedings of the VLDB Endowment
Thirteen new players in the team: a FERRY-based LINQ to SQL provider
Proceedings of the VLDB Endowment
A co-relational model of data for large shared data banks
Communications of the ACM
A co-Relational Model of Data for Large Shared Data Banks
Queue - Programming Languages
Haskell boards the ferry: database-supported program execution for Haskell
IFL'10 Proceedings of the 22nd international conference on Implementation and application of functional languages
Generic multiset programming with discrimination-based joins and symbolic Cartesian products
Higher-Order and Symbolic Computation
Dynamic symbolic computation for domain-specific language implementation
LOPSTR'11 Proceedings of the 21st international conference on Logic-Based Program Synthesis and Transformation
Algebraic data types for language-integrated queries
DDFP '13 Proceedings of the 2013 workshop on Data driven functional programming
A practical theory of language-integrated query
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.02 |
We report on a query compilation technique that enables the construction of alternative efficient query providers for Microsoft's Language Integrated Query (LINQ) framework. LINQ programs are mapped into an intermediate algebraic form, suitable for execution on any SQL:1999-capable relational database system. This compilation technique leads to query providers that (1) faithfully preserve list order and nesting, both being core features of the LINQ data model, (2) support the complete family of LINQ's Standard Query Operators, (3) bring database support to LINQ to XML where the original provider performs in-memory query evaluation, and, most importantly, (4) emit SQL statement sequences whose size is only determined by the input query's result type (and thus independent of the database size). A sample query scenario uses this LINQ provider to marry database-resident TPC-H and XMark data---resulting in a unique query experience that exhibits quite promising performance characteristics, especially for large data instances.