...
首页> 外文期刊>The Journal of object technology >Extending Scala with Database Query Capability
【24h】

Extending Scala with Database Query Capability

机译:使用数据库查询功能扩展Scala

获取原文
           

摘要

The integration of database and programming languages is difficult due to the different data models and type systems prevalent in each field. We present a solution where the developer may express queries encompassing program and database data. The notation used for queries is based on comprehensions, a declarative style that does not impose any specific execution strategy. In our approach, the type safety of language-integrated queries is analyzed at compile-time, followed by a translation that optimizes for database evaluation. We show the translation total and semantics preserving, and introduce a language-independent classification. According to this classification, our approach compares favorably with Microsoft's LINQ, today's best known representative. We provide an implementation in terms of Scala compiler plugins, accepting two notations for queries: LINQ and the native Scala syntax for comprehensions. The prototype relies on Ferry, a query language that already supports comprehensions yet targets SQL:1999. The reported techniques pave the way for further progress in bridging the programming and the database worlds.
机译:由于每个领域中普遍存在不同的数据模型和类型系统,因此很难集成数据库和编程语言。我们提出了一个解决方案,开发人员可以表达包含程序和数据库数据的查询。用于查询的表示法基于理解,这是一种声明性样式,不强加任何特定的执行策略。在我们的方法中,在编译时分析语言集成查询的类型安全性,然后进行翻译以优化数据库评估。我们展示了翻译总数和语义保留,并介绍了一种独立于语言的分类。根据此分类,我们的方法可以与当今最知名的微软LINQ相比。我们提供了一个基于Scala编译器插件的实现,接受两种表示法的查询:LINQ和本机Scala语法的理解。该原型依赖于Ferry,Ferry是一种查询语言,该语言已经支持理解功能,但针对SQL:1999。所报告的技术为桥接编程和数据库世界的进一步发展铺平了道路。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号