{-# OPTIONS_HADDOCK show-extensions #-}
module Opaleye.TextSearch (
SqlTSQuery
, SqlTSVector
, (@@)
, pgTSVector
, pgTSQuery
, sqlTSQuery
, sqlPlainToTSQuery
, sqlToTSQuery
, to_pgTSQuery
, plainto_pgTSQuery
) where
import Opaleye.Internal.Column (Field)
import Opaleye.Internal.PGTypesExternal (SqlText)
import Opaleye.SqlTypes (sqlString)
import Opaleye.TextSearch.Internal.Types
import Opaleye.TextSearch.Operators ((@@))
import qualified Opaleye.Internal.Column as C
import qualified Opaleye.Internal.HaskellDB.PrimQuery as HPQ
import GHC.RTS.Flags (TraceFlags(user))
pgTSVector :: Field SqlText -> Field SqlTSVector
pgTSVector :: Field SqlText -> Field SqlTSVector
pgTSVector (C.Column PrimExpr
e) = PrimExpr -> Field SqlTSVector
forall (n :: Nullability) sqlType. PrimExpr -> Field_ n sqlType
C.Column (Name -> [PrimExpr] -> PrimExpr
HPQ.FunExpr Name
"tsvector" [PrimExpr
e])
pgTSQuery :: Field SqlText -> Field SqlTSQuery
pgTSQuery :: Field SqlText -> Field SqlTSQuery
pgTSQuery (C.Column PrimExpr
e) = PrimExpr -> Field SqlTSQuery
forall (n :: Nullability) sqlType. PrimExpr -> Field_ n sqlType
C.Column (Name -> [PrimExpr] -> PrimExpr
HPQ.FunExpr Name
"tsquery" [PrimExpr
e])
sqlTSQuery :: String -> Field SqlTSQuery
sqlTSQuery :: Name -> Field SqlTSQuery
sqlTSQuery = Field SqlText -> Field SqlTSQuery
pgTSQuery (Field SqlText -> Field SqlTSQuery)
-> (Name -> Field SqlText) -> Name -> Field SqlTSQuery
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Name -> Field SqlText
sqlString
sqlPlainToTSQuery :: String -> Field SqlTSQuery
sqlPlainToTSQuery :: Name -> Field SqlTSQuery
sqlPlainToTSQuery = Name -> Field SqlTSQuery
plainto_pgTSQuery
sqlToTSQuery :: String -> Field SqlTSQuery
sqlToTSQuery :: Name -> Field SqlTSQuery
sqlToTSQuery = Name -> Field SqlTSQuery
to_pgTSQuery
to_pgTSQuery :: String -> Field SqlTSQuery
to_pgTSQuery :: Name -> Field SqlTSQuery
to_pgTSQuery Name
query = PrimExpr -> Field SqlTSQuery
forall (n :: Nullability) sqlType. PrimExpr -> Field_ n sqlType
C.Column (Name -> [PrimExpr] -> PrimExpr
HPQ.FunExpr Name
"to_tsquery" [Literal -> PrimExpr
HPQ.ConstExpr (Name -> Literal
HPQ.StringLit Name
query)])
plainto_pgTSQuery :: String -> Field SqlTSQuery
plainto_pgTSQuery :: Name -> Field SqlTSQuery
plainto_pgTSQuery Name
query = PrimExpr -> Field SqlTSQuery
forall (n :: Nullability) sqlType. PrimExpr -> Field_ n sqlType
C.Column (Name -> [PrimExpr] -> PrimExpr
HPQ.FunExpr Name
"plainto_tsquery" [Literal -> PrimExpr
HPQ.ConstExpr (Name -> Literal
HPQ.StringLit Name
query)])