packages feed

postgresql-syntax-0.5.0.0: library-internal/PostgresqlSyntax/Ast/AExpr.hs-boot

module PostgresqlSyntax.Ast.AExpr where

import {-# SOURCE #-} PostgresqlSyntax.Ast.SelectWithParens (SelectWithParens)
import PostgresqlSyntax.IsAst (IsAst)
import PostgresqlSyntax.Prelude (Bool, Data, Eq, Maybe, Ord, Parser, Show, Text)
import PostgresqlSyntax.Settings (Settings)
import Test.QuickCheck (Arbitrary, Gen)

data AExpr

instance Show AExpr

instance Eq AExpr

instance Ord AExpr

instance Data AExpr

instance IsAst AExpr

instance Arbitrary AExpr

-- | 'parser', but rejecting the given words when they'd otherwise be
-- accepted as a trailing bare column-reference identifier. Needed by
-- "PostgresqlSyntax.Ast.SortBy", which must not let @a_expr@ swallow a
-- keyword (@USING@\/@ASC@\/@DESC@\/@NULLS@) that is meant to terminate it.
filteredParser :: Settings -> [Text] -> Parser AExpr

-- | See "PostgresqlSyntax.Ast.AExpr" for the full documentation.
isBoundedAExprOperand :: AExpr -> Bool

-- | See "PostgresqlSyntax.Ast.AExpr" for the full documentation.
safeAExprOperand :: Gen AExpr -> Gen AExpr

-- | See "PostgresqlSyntax.Ast.AExpr" for the full documentation.
selectWithParensAExpr :: SelectWithParens -> AExpr

-- | See "PostgresqlSyntax.Ast.AExpr" for the full documentation.
refineToSelectWithParens :: AExpr -> Maybe SelectWithParens