mirror of
https://github.com/commercialhaskell/stackage-server.git
synced 2026-01-12 12:18:29 +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.
|
||||
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
|
||||
stringToArray ::
|
||||
(SqlString s1, SqlString s2)
|
||||
=> SqlExpr (Value s1)
|
||||
-> SqlExpr (Value s2)
|
||||
-> SqlExpr (Value [Int64])
|
||||
-> SqlExpr (Value [String])
|
||||
stringToArray s1 s2 = unsafeSqlFunction "string_to_array" (s1, s2)
|
||||
|
||||
getSnapshotsForPackage
|
||||
|
||||
Loading…
Reference in New Issue
Block a user