Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
实际使用haskelldb的数据类型(文本、UTCTime)_Haskell_Haskelldb - Fatal编程技术网

实际使用haskelldb的数据类型(文本、UTCTime)

实际使用haskelldb的数据类型(文本、UTCTime),haskell,haskelldb,Haskell,Haskelldb,我刚刚开始研究haskelldb,将其作为persistent更强大的伙伴,因为我需要一个更强大的工具来查询数据库。我几乎马上就遇到了数据类型方面的困难;特别是,我广泛使用了Data.Text,UTCTime以及一些自定义数据类型。不幸的是,尽管HDBC似乎很好地支持这些数据类型,但haskelldb隐藏了所有这些数据类型,您必须从String输入开始编写自己的转换 我不想重复HDBC已经完成的工作;在这种情况下,你建议怎么办 我想我可能会在GetInstances类中添加一个属性getHdbc

我刚刚开始研究
haskelldb
,将其作为
persistent
更强大的伙伴,因为我需要一个更强大的工具来查询数据库。我几乎马上就遇到了数据类型方面的困难;特别是,我广泛使用了
Data.Text
UTCTime
以及一些自定义数据类型。不幸的是,尽管HDBC似乎很好地支持这些数据类型,但haskelldb隐藏了所有这些数据类型,您必须从
String
输入开始编写自己的转换

我不想重复HDBC已经完成的工作;在这种情况下,你建议怎么办

我想我可能会在
GetInstances
类中添加一个属性
getHdbcValue
,这样我就可以编写简单的
GetValue
实例来利用HDBC基础设施;还有更好的主意吗?我错过了什么明显的东西吗


(顺便说一句:在我看来,这个库——可能是出于历史原因——有点过于通用化了;它难道不能只支持hdbc吗?)

我真的很喜欢PostgreSQL及其丰富的类型集合,特别是数组。Haskell之外的项目中使用最多的额外PG类型是[int4],这是典型的Int数组。将对它的支持带到Haskell数据库成为我在理解Haskell的过程中遇到的最激动人心的挑战之一,尤其是类型级编程(以及TH/QQ)。只要HDBC支持,添加一个新的类型来支持它看起来有点容易

希望这个小补丁可以展示如何添加对新类型的支持。这是对它的请求,这里几乎涵盖了所有需要的更改(剩下的是FlexibleInstances):


持久性真的那么有限吗?我想Yesod人什么都用它,所以如果Haskell DB能做很多它做不到的事情,我会感到惊讶。当然,HaskellDB可能能够以比persistent更简单的方式做一些事情。持久性被认为是真正的数据库不可知论,而haskelldb则以SQL为中心。Persistent不支持DB函数、自定义运算符,甚至不支持稍微复杂的联接。我不会责怪持久性,大多数ORM框架不支持此类功能,但在我访问DB的大多数应用程序中,我需要它们。您评估过esqueleto吗?“Pull-Request”链接返回404。