Postgresql 为Hasql查询编码参数列表
我正在尝试对一个“select…where in”查询的列表进行编码。它会检查我是否使用了Postgresql 为Hasql查询编码参数列表,postgresql,haskell,contravariance,hasql,Postgresql,Haskell,Contravariance,Hasql,我正在尝试对一个“select…where in”查询的列表进行编码。它会检查我是否使用了contramyfrom,但在运行时会出现语法错误 import qualified Database.Encoders as E import Contravariant.Extras getTeamMembership :: Query [TeamId] [(TeamId, EmployeeId)] getTeamMembership = statement q enc def True wher
contramy
from,但在运行时会出现语法错误
import qualified Database.Encoders as E
import Contravariant.Extras
getTeamMembership :: Query [TeamId] [(TeamId, EmployeeId)]
getTeamMembership = statement q enc def True
where
enc = contramany (E.value E.teamId)
q = "select workteam, employee \
\from workteam_employee where workteam in $1"
无法对参数列表进行编码吗?IN运算符不支持该操作。您只能使用它指定单个值(例如,在($1,$2,$3)
)。然而,您想要的是很容易实现的阵列编码器和任何
和所有
Postgres功能,根据
有
问题追踪器上也出现了问题。谢谢你的帮助!我现在有了:
E.value(E.arraydimensionfoldl'(E.arrayValue E.teamId)),而不是contramy(E.value E.teamId)