首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么数据库查询是使用Arrow的好地方?

为什么数据库查询是使用Arrow的好地方?
EN

Stack Overflow用户
提问于 2018-05-09 13:59:23
回答 2查看 263关注 0票数 5

我正在读,上面写着:

重点是箭头表示法禁止做表示法允许的计算。特别是,所有“箭头动作”必须“静态地”已知“。

它还解释说:

静态已知“意味着如果我们有几行箭头符号 > -- y <- action1 -< x > -- z <- action2 -< y 那么表达式action2就不能依赖x,或者任何绑定在箭头符号行左侧的东西。

据我所知,这一限制使箭值得。

现在,我试着学习Opaleye,我注意到它使用箭头将事物组合在一起。

为什么猫眼使用箭头?为什么箭头很适合这份工作?数据库/查询是如何使这个限制有用的?

EN

回答 2

Stack Overflow用户

发布于 2018-05-09 15:31:13

Paramaterized数据库查询看起来像箭头:

  • 每一个都有输入和输出。
  • 他们组成
  • 我们想把它们和Haskell函数区别对待。

组合(.) (或(<<<))看起来像一个SQL子查询。(&&&)看起来像一个SQL。

我认为,“静态已知”限制与您可能合理地能够将其转换为SQL的内容有关。一旦允许具有任意Haskell函数的fmap / lmap / rmap,这是不可行的(至少没有SQL扩展和GHC编译器插件)。不过,我还没弄清楚细节。

我不知道有多少翻译,我们可以管理手工Opaleye工具。

票数 3
EN

Stack Overflow用户

发布于 2018-05-12 16:29:21

在查询语言中合并聚合和一元绑定时,在变量范围方面存在困难。我从来没有想出一个特别令人满意的解释,但您可以看到我的一篇历史的Reddit帖子(固定)关系记录问题的一些细节。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50255304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档