mirror of
https://github.com/circuithub/rel8.git
synced 2024-08-17 20:00:23 +03:00
Add a castTable
call to each
If a `Table`'s types line up exactly with Postgres' types, which in they should, then this is a no-op, but if they don't, this makes things a bit safer. In particular, arrays of custom domain types only became possible in Postgres 11. This change makes `some` and `many` somewhat usable on tables containing such types in earlier versions of Postgres.
This commit is contained in:
parent
ae4607aa80
commit
f38f30a2e2
@ -17,16 +17,14 @@ import Rel8.Query ( Query )
|
||||
import Rel8.Query.Opaleye ( fromOpaleye )
|
||||
import Rel8.Schema.Name ( Selects )
|
||||
import Rel8.Schema.Table ( TableSchema )
|
||||
import Rel8.Table.Cols ( fromCols, toCols )
|
||||
import Rel8.Table.Opaleye ( table, unpackspec )
|
||||
import Rel8.Table.Opaleye ( castTable, table, unpackspec )
|
||||
|
||||
|
||||
-- | Select each row from a table definition. This is equivalent to @FROM
|
||||
-- table@.
|
||||
each :: Selects names exprs => TableSchema names -> Query exprs
|
||||
each =
|
||||
fmap fromCols .
|
||||
fmap castTable .
|
||||
fromOpaleye .
|
||||
Opaleye.selectTableExplicit unpackspec .
|
||||
table .
|
||||
fmap toCols
|
||||
table
|
||||
|
Loading…
Reference in New Issue
Block a user