packages feed

hasql-cursor-query-0.4.5: tasty/Main/CursorQueries.hs

module Main.CursorQueries where

import qualified Control.Foldl as C
import Hasql.CursorQuery
import qualified Hasql.Decoders as B
import qualified Hasql.Encoders as A
import Rebase.Prelude

countPGType :: CursorQuery () Int
countPGType =
  cursorQuery sql encoder decoder batchSize_10
  where
    sql =
      "select oid, typname from pg_type"
    encoder =
      A.noParams
    decoder =
      reducingDecoder rowDecoder fold
      where
        rowDecoder =
          (,) <$> (B.column . B.nonNullable) B.int8 <*> (B.column . B.nonNullable) B.text
        fold =
          C.length

slectOIDAndTypeName :: CursorQuery () [(Int64, Text)]
slectOIDAndTypeName =
  cursorQuery sql encoder decoder batchSize_10
  where
    sql =
      "select oid, typname from pg_type"
    encoder =
      A.noParams
    decoder =
      reducingDecoder rowDecoder fold
      where
        rowDecoder =
          (,) <$> (B.column . B.nonNullable) B.int8 <*> (B.column . B.nonNullable) B.text
        fold =
          C.list