mirror of
https://github.com/commercialhaskell/stackage-server.git
synced 2026-01-28 03:40:24 +01:00
Cast text[] to integer[] for version comparison
This commit is contained in:
parent
98d0d61958
commit
07f3ef293f
@ -570,14 +570,17 @@ selectApplyMaybe f = fmap (fmap f . listToMaybe) . select
|
|||||||
|
|
||||||
-- | Convert a string representation of a version to an array so it can be used for sorting.
|
-- | Convert a string representation of a version to an array so it can be used for sorting.
|
||||||
versionArray :: SqlExpr (Entity Version) -> SqlExpr (Value [Int64])
|
versionArray :: SqlExpr (Entity Version) -> SqlExpr (Value [Int64])
|
||||||
versionArray v = stringToArray (v ^. VersionVersion) (val ("." :: String))
|
versionArray v = stringsToInts (stringToArray (v ^. VersionVersion) (val ("." :: String)))
|
||||||
|
|
||||||
|
stringsToInts :: SqlExpr (Value [String]) -> SqlExpr (Value [Int64])
|
||||||
|
stringsToInts = unsafeSqlCastAs "INTEGER[]"
|
||||||
|
|
||||||
-- | Define postgresql native function in Haskell with Esqueleto
|
-- | Define postgresql native function in Haskell with Esqueleto
|
||||||
stringToArray ::
|
stringToArray ::
|
||||||
(SqlString s1, SqlString s2)
|
(SqlString s1, SqlString s2)
|
||||||
=> SqlExpr (Value s1)
|
=> SqlExpr (Value s1)
|
||||||
-> SqlExpr (Value s2)
|
-> SqlExpr (Value s2)
|
||||||
-> SqlExpr (Value [Int64])
|
-> SqlExpr (Value [String])
|
||||||
stringToArray s1 s2 = unsafeSqlFunction "string_to_array" (s1, s2)
|
stringToArray s1 s2 = unsafeSqlFunction "string_to_array" (s1, s2)
|
||||||
|
|
||||||
getSnapshotsForPackage
|
getSnapshotsForPackage
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user