Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Names for nodes mostly resemble the according definitions in the gram.y
original Postgres parser file, except for the cases where we can optimize on that.
For reasoning see the docs of the parsing module of this project.
Synopsis
- data PreparableStmt
- newtype CallStmt = CallStmt FuncApplication
- data InsertStmt = InsertStmt (Maybe WithClause) InsertTarget InsertRest (Maybe OnConflict) (Maybe ReturningClause)
- data InsertTarget = InsertTarget QualifiedName (Maybe ColId)
- data InsertRest
- data OverrideKind
- type InsertColumnList = NonEmpty InsertColumnItem
- data InsertColumnItem = InsertColumnItem ColId (Maybe Indirection)
- data OnConflict = OnConflict (Maybe ConfExpr) OnConflictDo
- data OnConflictDo
- data ConfExpr
- type ReturningClause = TargetList
- data UpdateStmt = UpdateStmt (Maybe WithClause) RelationExprOptAlias SetClauseList (Maybe FromClause) (Maybe WhereOrCurrentClause) (Maybe ReturningClause)
- type SetClauseList = NonEmpty SetClause
- data SetClause
- data SetTarget = SetTarget ColId (Maybe Indirection)
- type SetTargetList = NonEmpty SetTarget
- data DeleteStmt = DeleteStmt (Maybe WithClause) RelationExprOptAlias (Maybe UsingClause) (Maybe WhereOrCurrentClause) (Maybe ReturningClause)
- type UsingClause = FromList
- type SelectStmt = Either SelectNoParens SelectWithParens
- data SelectWithParens
- data SelectNoParens = SelectNoParens (Maybe WithClause) SelectClause (Maybe SortClause) (Maybe SelectLimit) (Maybe ForLockingClause)
- type SelectClause = Either SimpleSelect SelectWithParens
- data SimpleSelect
- data Targeting
- type TargetList = NonEmpty TargetEl
- data TargetEl
- data SelectBinOp
- data WithClause = WithClause Bool (NonEmpty CommonTableExpr)
- data CommonTableExpr = CommonTableExpr Ident (Maybe (NonEmpty Ident)) (Maybe Bool) PreparableStmt
- type IntoClause = OptTempTableName
- data OptTempTableName
- = TemporaryOptTempTableName Bool QualifiedName
- | TempOptTempTableName Bool QualifiedName
- | LocalTemporaryOptTempTableName Bool QualifiedName
- | LocalTempOptTempTableName Bool QualifiedName
- | GlobalTemporaryOptTempTableName Bool QualifiedName
- | GlobalTempOptTempTableName Bool QualifiedName
- | UnloggedOptTempTableName Bool QualifiedName
- | TableOptTempTableName QualifiedName
- | QualifedOptTempTableName QualifiedName
- type FromClause = NonEmpty TableRef
- type GroupClause = NonEmpty GroupByItem
- data GroupByItem
- type HavingClause = AExpr
- type WindowClause = NonEmpty WindowDefinition
- data WindowDefinition = WindowDefinition Ident WindowSpecification
- data WindowSpecification = WindowSpecification (Maybe ExistingWindowName) (Maybe PartitionClause) (Maybe SortClause) (Maybe FrameClause)
- type ExistingWindowName = ColId
- type PartitionClause = ExprList
- data FrameClause = FrameClause FrameClauseMode FrameExtent (Maybe WindowExclusionClause)
- data FrameClauseMode
- data FrameExtent
- data FrameBound
- data WindowExclusionClause
- type ValuesClause = NonEmpty ExprList
- type SortClause = NonEmpty SortBy
- data SortBy
- data SelectLimit
- data LimitClause
- data SelectFetchFirstValue
- data SelectLimitValue
- data OffsetClause
- data ForLockingClause
- data ForLockingItem = ForLockingItem ForLockingStrength (Maybe (NonEmpty QualifiedName)) (Maybe Bool)
- data ForLockingStrength
- type FromList = NonEmpty TableRef
- data TableRef
- data RelationExpr
- data RelationExprOptAlias = RelationExprOptAlias RelationExpr (Maybe (Bool, ColId))
- data TablesampleClause = TablesampleClause FuncName ExprList (Maybe RepeatableClause)
- type RepeatableClause = AExpr
- data FuncTable
- data RowsfromItem = RowsfromItem FuncExprWindowless (Maybe ColDefList)
- type RowsfromList = NonEmpty RowsfromItem
- type ColDefList = TableFuncElementList
- type OptOrdinality = Bool
- type TableFuncElementList = NonEmpty TableFuncElement
- data TableFuncElement = TableFuncElement ColId Typename (Maybe CollateClause)
- type CollateClause = AnyName
- data AliasClause = AliasClause Bool ColId (Maybe NameList)
- data FuncAliasClause
- data JoinedTable
- data JoinMeth
- data JoinType
- data JoinQual
- type WhereClause = AExpr
- data WhereOrCurrentClause
- type ExprList = NonEmpty AExpr
- data AExpr
- = CExprAExpr CExpr
- | TypecastAExpr AExpr Typename
- | CollateAExpr AExpr AnyName
- | AtTimeZoneAExpr AExpr AExpr
- | PlusAExpr AExpr
- | MinusAExpr AExpr
- | SymbolicBinOpAExpr AExpr SymbolicExprBinOp AExpr
- | PrefixQualOpAExpr QualOp AExpr
- | SuffixQualOpAExpr AExpr QualOp
- | AndAExpr AExpr AExpr
- | OrAExpr AExpr AExpr
- | NotAExpr AExpr
- | VerbalExprBinOpAExpr AExpr Bool VerbalExprBinOp AExpr (Maybe AExpr)
- | ReversableOpAExpr AExpr Bool AExprReversableOp
- | IsnullAExpr AExpr
- | NotnullAExpr AExpr
- | OverlapsAExpr Row Row
- | SubqueryAExpr AExpr SubqueryOp SubType (Either SelectWithParens AExpr)
- | UniqueAExpr SelectWithParens
- | DefaultAExpr
- data BExpr
- data CExpr
- = ColumnrefCExpr Columnref
- | AexprConstCExpr AexprConst
- | ParamCExpr Int (Maybe Indirection)
- | InParensCExpr AExpr (Maybe Indirection)
- | CaseCExpr CaseExpr
- | FuncCExpr FuncExpr
- | SelectWithParensCExpr SelectWithParens (Maybe Indirection)
- | ExistsCExpr SelectWithParens
- | ArrayCExpr (Either SelectWithParens ArrayExpr)
- | ExplicitRowCExpr ExplicitRow
- | ImplicitRowCExpr ImplicitRow
- | GroupingCExpr ExprList
- data InExpr
- data SubType
- data ArrayExpr
- type ArrayExprList = NonEmpty ArrayExpr
- data Row
- type ExplicitRow = Maybe ExprList
- data ImplicitRow = ImplicitRow ExprList AExpr
- data FuncExpr
- data FuncExprWindowless
- type WithinGroupClause = SortClause
- type FilterClause = AExpr
- data OverClause
- data FuncExprCommonSubexpr
- = CollationForFuncExprCommonSubexpr AExpr
- | CurrentDateFuncExprCommonSubexpr
- | CurrentTimeFuncExprCommonSubexpr (Maybe Int64)
- | CurrentTimestampFuncExprCommonSubexpr (Maybe Int64)
- | LocalTimeFuncExprCommonSubexpr (Maybe Int64)
- | LocalTimestampFuncExprCommonSubexpr (Maybe Int64)
- | CurrentRoleFuncExprCommonSubexpr
- | CurrentUserFuncExprCommonSubexpr
- | SessionUserFuncExprCommonSubexpr
- | UserFuncExprCommonSubexpr
- | CurrentCatalogFuncExprCommonSubexpr
- | CurrentSchemaFuncExprCommonSubexpr
- | CastFuncExprCommonSubexpr AExpr Typename
- | ExtractFuncExprCommonSubexpr (Maybe ExtractList)
- | OverlayFuncExprCommonSubexpr OverlayList
- | PositionFuncExprCommonSubexpr (Maybe PositionList)
- | SubstringFuncExprCommonSubexpr (Maybe SubstrList)
- | TreatFuncExprCommonSubexpr AExpr Typename
- | TrimFuncExprCommonSubexpr (Maybe TrimModifier) TrimList
- | NullIfFuncExprCommonSubexpr AExpr AExpr
- | CoalesceFuncExprCommonSubexpr ExprList
- | GreatestFuncExprCommonSubexpr ExprList
- | LeastFuncExprCommonSubexpr ExprList
- data ExtractList = ExtractList ExtractArg AExpr
- data ExtractArg
- data OverlayList = OverlayList AExpr OverlayPlacing SubstrFrom (Maybe SubstrFor)
- type OverlayPlacing = AExpr
- data PositionList = PositionList BExpr BExpr
- data SubstrList
- data SubstrListFromFor
- type SubstrFrom = AExpr
- type SubstrFor = AExpr
- data TrimModifier
- data TrimList
- data CaseExpr = CaseExpr (Maybe CaseArg) WhenClauseList (Maybe CaseDefault)
- type CaseArg = AExpr
- type WhenClauseList = NonEmpty WhenClause
- type CaseDefault = AExpr
- data WhenClause = WhenClause AExpr AExpr
- data FuncApplication = FuncApplication FuncName (Maybe FuncApplicationParams)
- data FuncApplicationParams
- data FuncArgExpr
- type Sconst = Text
- type Iconst = Int64
- type Fconst = Double
- type Bconst = Text
- type Xconst = Text
- data AexprConst
- = IAexprConst Iconst
- | FAexprConst Fconst
- | SAexprConst Sconst
- | BAexprConst Bconst
- | XAexprConst Xconst
- | FuncAexprConst FuncName (Maybe FuncConstArgs) Sconst
- | ConstTypenameAexprConst ConstTypename Sconst
- | StringIntervalAexprConst Sconst (Maybe Interval)
- | IntIntervalAexprConst Iconst Sconst
- | BoolAexprConst Bool
- | NullAexprConst
- data FuncConstArgs = FuncConstArgs (NonEmpty FuncArgExpr) (Maybe SortClause)
- data ConstTypename
- data Numeric
- data Bit = Bit OptVarying (Maybe ExprList)
- type ConstBit = Bit
- type OptVarying = Bool
- data ConstCharacter = ConstCharacter Character (Maybe Int64)
- data Character
- data ConstDatetime
- type Timezone = Bool
- data Interval
- type IntervalSecond = Maybe Int64
- data Ident
- type ColId = Ident
- type ColLabel = Ident
- type Name = ColId
- type NameList = NonEmpty Name
- type CursorName = Name
- data Columnref = Columnref ColId (Maybe Indirection)
- data AnyName = AnyName ColId (Maybe Attrs)
- data FuncName
- type TypeFunctionName = Ident
- data QualifiedName
- type Indirection = NonEmpty IndirectionEl
- data IndirectionEl
- data Typename = Typename Bool SimpleTypename Bool (Maybe (TypenameArrayDimensions, Bool))
- data TypenameArrayDimensions
- type ArrayBounds = NonEmpty (Maybe Iconst)
- data SimpleTypename
- data GenericType = GenericType TypeFunctionName (Maybe Attrs) (Maybe TypeModifiers)
- type Attrs = NonEmpty AttrName
- type AttrName = ColLabel
- type TypeModifiers = ExprList
- type TypeList = NonEmpty Typename
- data QualOp
- data QualAllOp
- type Op = Text
- data AnyOperator
- data AllOp
- data MathOp
- data SymbolicExprBinOp
- data VerbalExprBinOp
- data AExprReversableOp
- = NullAExprReversableOp
- | TrueAExprReversableOp
- | FalseAExprReversableOp
- | UnknownAExprReversableOp
- | DistinctFromAExprReversableOp AExpr
- | OfAExprReversableOp TypeList
- | BetweenAExprReversableOp Bool BExpr AExpr
- | BetweenSymmetricAExprReversableOp BExpr AExpr
- | InAExprReversableOp InExpr
- | DocumentAExprReversableOp
- data BExprIsOp
- data SubqueryOp
- type IndexParams = NonEmpty IndexElem
- data IndexElem = IndexElem IndexElemDef (Maybe Collate) (Maybe Class) (Maybe AscDesc) (Maybe NullsOrder)
- data IndexElemDef
- type Collate = AnyName
- type Class = AnyName
- data AscDesc
- data NullsOrder
Statement
data PreparableStmt Source #
References
PreparableStmt: | SelectStmt | InsertStmt | UpdateStmt | DeleteStmt | CallStmt
SelectPreparableStmt SelectStmt | |
InsertPreparableStmt InsertStmt | |
UpdatePreparableStmt UpdateStmt | |
DeletePreparableStmt DeleteStmt | |
CallPreparableStmt CallStmt |
Instances
Call
Instances
Generic CallStmt Source # | |
Show CallStmt Source # | |
Eq CallStmt Source # | |
Ord CallStmt Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep CallStmt Source # | |
Defined in PostgresqlSyntax.Ast type Rep CallStmt = D1 ('MetaData "CallStmt" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'True) (C1 ('MetaCons "CallStmt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FuncApplication))) |
Insert
data InsertStmt Source #
References
InsertStmt: | opt_with_clause INSERT INTO insert_target insert_rest opt_on_conflict returning_clause
Instances
data InsertTarget Source #
References
insert_target: | qualified_name | qualified_name AS ColId
Instances
data InsertRest Source #
References
insert_rest: | SelectStmt | OVERRIDING override_kind VALUE_P SelectStmt | '(' insert_column_list ')' SelectStmt | '(' insert_column_list ')' OVERRIDING override_kind VALUE_P SelectStmt | DEFAULT VALUES
Instances
data OverrideKind Source #
References
override_kind: | USER | SYSTEM_P
Instances
type InsertColumnList = NonEmpty InsertColumnItem Source #
References
insert_column_list: | insert_column_item | insert_column_list ',' insert_column_item
data InsertColumnItem Source #
References
insert_column_item: | ColId opt_indirection
Instances
data OnConflict Source #
References
opt_on_conflict: | ON CONFLICT opt_conf_expr DO UPDATE SET set_clause_list where_clause | ON CONFLICT opt_conf_expr DO NOTHING | EMPTY
Instances
data OnConflictDo Source #
References
opt_on_conflict: | ON CONFLICT opt_conf_expr DO UPDATE SET set_clause_list where_clause | ON CONFLICT opt_conf_expr DO NOTHING | EMPTY
Instances
References
opt_conf_expr: | '(' index_params ')' where_clause | ON CONSTRAINT name | EMPTY
Instances
Generic ConfExpr Source # | |
Show ConfExpr Source # | |
Eq ConfExpr Source # | |
Ord ConfExpr Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep ConfExpr Source # | |
Defined in PostgresqlSyntax.Ast type Rep ConfExpr = D1 ('MetaData "ConfExpr" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "WhereConfExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IndexParams) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe WhereClause))) :+: C1 ('MetaCons "ConstraintConfExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name))) |
type ReturningClause = TargetList Source #
References
returning_clause: | RETURNING target_list | EMPTY
Update
data UpdateStmt Source #
References
UpdateStmt: | opt_with_clause UPDATE relation_expr_opt_alias SET set_clause_list from_clause where_or_current_clause returning_clause
UpdateStmt (Maybe WithClause) RelationExprOptAlias SetClauseList (Maybe FromClause) (Maybe WhereOrCurrentClause) (Maybe ReturningClause) |
Instances
type SetClauseList = NonEmpty SetClause Source #
References
set_clause_list: | set_clause | set_clause_list ',' set_clause
References
set_clause: | set_target '=' a_expr | '(' set_target_list ')' '=' a_expr
Instances
Generic SetClause Source # | |
Show SetClause Source # | |
Eq SetClause Source # | |
Ord SetClause Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep SetClause Source # | |
Defined in PostgresqlSyntax.Ast type Rep SetClause = D1 ('MetaData "SetClause" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "TargetSetClause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SetTarget) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AExpr)) :+: C1 ('MetaCons "TargetListSetClause" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SetTargetList) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AExpr))) |
References
set_target: | ColId opt_indirection
Instances
Generic SetTarget Source # | |
Show SetTarget Source # | |
Eq SetTarget Source # | |
Ord SetTarget Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep SetTarget Source # | |
Defined in PostgresqlSyntax.Ast type Rep SetTarget = D1 ('MetaData "SetTarget" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "SetTarget" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ColId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Indirection)))) |
type SetTargetList = NonEmpty SetTarget Source #
References
set_target_list: | set_target | set_target_list ',' set_target
Delete
data DeleteStmt Source #
References
DeleteStmt: | opt_with_clause DELETE_P FROM relation_expr_opt_alias using_clause where_or_current_clause returning_clause
DeleteStmt (Maybe WithClause) RelationExprOptAlias (Maybe UsingClause) (Maybe WhereOrCurrentClause) (Maybe ReturningClause) |
Instances
type UsingClause = FromList Source #
References
using_clause: | USING from_list | EMPTY
Select
type SelectStmt = Either SelectNoParens SelectWithParens Source #
References
SelectStmt: | select_no_parens | select_with_parens
data SelectWithParens Source #
References
select_with_parens: | '(' select_no_parens ')' | '(' select_with_parens ')'
Instances
data SelectNoParens Source #
Covers the following cases:
select_no_parens: | simple_select | select_clause sort_clause | select_clause opt_sort_clause for_locking_clause opt_select_limit | select_clause opt_sort_clause select_limit opt_for_locking_clause | with_clause select_clause | with_clause select_clause sort_clause | with_clause select_clause opt_sort_clause for_locking_clause opt_select_limit | with_clause select_clause opt_sort_clause select_limit opt_for_locking_clause
SelectNoParens (Maybe WithClause) SelectClause (Maybe SortClause) (Maybe SelectLimit) (Maybe ForLockingClause) |
Instances
type SelectClause = Either SimpleSelect SelectWithParens Source #
select_clause: | simple_select | select_with_parens
data SimpleSelect Source #
References
simple_select: | SELECT opt_all_clause opt_target_list into_clause from_clause where_clause group_clause having_clause window_clause | SELECT distinct_clause target_list into_clause from_clause where_clause group_clause having_clause window_clause | values_clause | TABLE relation_expr | select_clause UNION all_or_distinct select_clause | select_clause INTERSECT all_or_distinct select_clause | select_clause EXCEPT all_or_distinct select_clause
Instances
Covers these parts of spec:
References
simple_select: | SELECT opt_all_clause opt_target_list into_clause from_clause where_clause group_clause having_clause window_clause | SELECT distinct_clause target_list into_clause from_clause where_clause group_clause having_clause window_clause distinct_clause: | DISTINCT | DISTINCT ON '(' expr_list ')'
NormalTargeting TargetList | |
AllTargeting (Maybe TargetList) | |
DistinctTargeting (Maybe ExprList) TargetList |
Instances
Generic Targeting Source # | |
Show Targeting Source # | |
Eq Targeting Source # | |
Ord Targeting Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep Targeting Source # | |
Defined in PostgresqlSyntax.Ast type Rep Targeting = D1 ('MetaData "Targeting" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "NormalTargeting" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TargetList)) :+: (C1 ('MetaCons "AllTargeting" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe TargetList))) :+: C1 ('MetaCons "DistinctTargeting" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ExprList)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TargetList)))) |
type TargetList = NonEmpty TargetEl Source #
References
target_list: | target_el | target_list ',' target_el
References
target_el:
| a_expr AS ColLabel
| a_expr IDENT
| a_expr
| *
AliasedExprTargetEl AExpr Ident | |
ImplicitlyAliasedExprTargetEl AExpr Ident | |
ExprTargetEl AExpr | |
AsteriskTargetEl |
Instances
data SelectBinOp Source #
References
| select_clause UNION all_or_distinct select_clause | select_clause INTERSECT all_or_distinct select_clause | select_clause EXCEPT all_or_distinct select_clause
Instances
data WithClause Source #
References
with_clause: | WITH cte_list | WITH_LA cte_list | WITH RECURSIVE cte_list
Instances
data CommonTableExpr Source #
References
common_table_expr: | name opt_name_list AS opt_materialized '(' PreparableStmt ')' opt_materialized: | MATERIALIZED | NOT MATERIALIZED | EMPTY
Instances
type IntoClause = OptTempTableName Source #
data OptTempTableName Source #
References
OptTempTableName: | TEMPORARY opt_table qualified_name | TEMP opt_table qualified_name | LOCAL TEMPORARY opt_table qualified_name | LOCAL TEMP opt_table qualified_name | GLOBAL TEMPORARY opt_table qualified_name | GLOBAL TEMP opt_table qualified_name | UNLOGGED opt_table qualified_name | TABLE qualified_name | qualified_name
Instances
type FromClause = NonEmpty TableRef Source #
type GroupClause = NonEmpty GroupByItem Source #
data GroupByItem Source #
References
group_by_item: | a_expr | empty_grouping_set | cube_clause | rollup_clause | grouping_sets_clause empty_grouping_set: | '(' ')' rollup_clause: | ROLLUP '(' expr_list ')' cube_clause: | CUBE '(' expr_list ')' grouping_sets_clause: | GROUPING SETS '(' group_by_list ')'
ExprGroupByItem AExpr | |
EmptyGroupingSetGroupByItem | |
RollupGroupByItem ExprList | |
CubeGroupByItem ExprList | |
GroupingSetsGroupByItem (NonEmpty GroupByItem) |
Instances
type HavingClause = AExpr Source #
having_clause: | HAVING a_expr | EMPTY
type WindowClause = NonEmpty WindowDefinition Source #
window_clause: | WINDOW window_definition_list | EMPTY window_definition_list: | window_definition | window_definition_list ',' window_definition
data WindowDefinition Source #
window_definition: | ColId AS window_specification
Instances
data WindowSpecification Source #
window_specification: | '(' opt_existing_window_name opt_partition_clause opt_sort_clause opt_frame_clause ')' opt_existing_window_name: | ColId | EMPTY opt_partition_clause: | PARTITION BY expr_list | EMPTY
WindowSpecification (Maybe ExistingWindowName) (Maybe PartitionClause) (Maybe SortClause) (Maybe FrameClause) |
Instances
type ExistingWindowName = ColId Source #
type PartitionClause = ExprList Source #
data FrameClause Source #
References
opt_frame_clause: | RANGE frame_extent opt_window_exclusion_clause | ROWS frame_extent opt_window_exclusion_clause | GROUPS frame_extent opt_window_exclusion_clause | EMPTY
Instances
data FrameClauseMode Source #
References
opt_frame_clause: | RANGE frame_extent opt_window_exclusion_clause | ROWS frame_extent opt_window_exclusion_clause | GROUPS frame_extent opt_window_exclusion_clause | EMPTY
Instances
data FrameExtent Source #
References
frame_extent: | frame_bound | BETWEEN frame_bound AND frame_bound
Instances
data FrameBound Source #
References
frame_bound: | UNBOUNDED PRECEDING | UNBOUNDED FOLLOWING | CURRENT_P ROW | a_expr PRECEDING | a_expr FOLLOWING
UnboundedPrecedingFrameBound | |
UnboundedFollowingFrameBound | |
CurrentRowFrameBound | |
PrecedingFrameBound AExpr | |
FollowingFrameBound AExpr |
Instances
data WindowExclusionClause Source #
References
opt_window_exclusion_clause: | EXCLUDE CURRENT_P ROW | EXCLUDE GROUP_P | EXCLUDE TIES | EXCLUDE NO OTHERS | EMPTY
CurrentRowWindowExclusionClause | |
GroupWindowExclusionClause | |
TiesWindowExclusionClause | |
NoOthersWindowExclusionClause |
Instances
type ValuesClause = NonEmpty ExprList Source #
References
values_clause: | VALUES '(' expr_list ')' | values_clause ',' '(' expr_list ')'
type SortClause = NonEmpty SortBy Source #
sort_clause: | ORDER BY sortby_list
sortby_list: | sortby | sortby_list ',' sortby
References
sortby: | a_expr USING qual_all_Op opt_nulls_order | a_expr opt_asc_desc opt_nulls_order
UsingSortBy AExpr QualAllOp (Maybe NullsOrder) | |
AscDescSortBy AExpr (Maybe AscDesc) (Maybe NullsOrder) |
Instances
data SelectLimit Source #
References
select_limit: | limit_clause offset_clause | offset_clause limit_clause | limit_clause | offset_clause
LimitOffsetSelectLimit LimitClause OffsetClause | |
OffsetLimitSelectLimit OffsetClause LimitClause | |
LimitSelectLimit LimitClause | |
OffsetSelectLimit OffsetClause |
Instances
data LimitClause Source #
References
limit_clause: | LIMIT select_limit_value | LIMIT select_limit_value ',' select_offset_value | FETCH first_or_next select_fetch_first_value row_or_rows ONLY | FETCH first_or_next row_or_rows ONLY select_offset_value: | a_expr first_or_next: | FIRST_P | NEXT row_or_rows: | ROW | ROWS
LimitLimitClause SelectLimitValue (Maybe AExpr) | |
FetchOnlyLimitClause Bool (Maybe SelectFetchFirstValue) Bool |
Instances
data SelectFetchFirstValue Source #
Instances
data SelectLimitValue Source #
References
select_limit_value: | a_expr | ALL
Instances
data OffsetClause Source #
References
offset_clause: | OFFSET select_offset_value | OFFSET select_fetch_first_value row_or_rows select_offset_value: | a_expr row_or_rows: | ROW | ROWS
Instances
For Locking
data ForLockingClause Source #
References
for_locking_clause: | for_locking_items | FOR READ ONLY for_locking_items: | for_locking_item | for_locking_items for_locking_item
Instances
data ForLockingItem Source #
References
for_locking_item: | for_locking_strength locked_rels_list opt_nowait_or_skip locked_rels_list: | OF qualified_name_list | EMPTY opt_nowait_or_skip: | NOWAIT | SKIP LOCKED | EMPTY
Instances
data ForLockingStrength Source #
References
for_locking_strength: | FOR UPDATE | FOR NO KEY UPDATE | FOR SHARE | FOR KEY SHARE
UpdateForLockingStrength | |
NoKeyUpdateForLockingStrength | |
ShareForLockingStrength | |
KeyForLockingStrength |
Instances
Table references and joining
type FromList = NonEmpty TableRef Source #
References
from_list: | table_ref | from_list ',' table_ref
References
| relation_expr opt_alias_clause | relation_expr opt_alias_clause tablesample_clause | func_table func_alias_clause | LATERAL_P func_table func_alias_clause | xmltable opt_alias_clause | LATERAL_P xmltable opt_alias_clause | select_with_parens opt_alias_clause | LATERAL_P select_with_parens opt_alias_clause | joined_table | '(' joined_table ')' alias_clause TODO: Add xmltable
RelationExprTableRef RelationExpr (Maybe AliasClause) (Maybe TablesampleClause) | | relation_expr opt_alias_clause | relation_expr opt_alias_clause tablesample_clause |
FuncTableRef Bool FuncTable (Maybe FuncAliasClause) | | func_table func_alias_clause | LATERAL_P func_table func_alias_clause |
SelectTableRef Bool SelectWithParens (Maybe AliasClause) | | select_with_parens opt_alias_clause | LATERAL_P select_with_parens opt_alias_clause |
JoinTableRef JoinedTable (Maybe AliasClause) | | joined_table | '(' joined_table ')' alias_clause |
Instances
data RelationExpr Source #
References
| qualified_name
| qualified_name *
| ONLY qualified_name
| ONLY '(' qualified_name ')'
SimpleRelationExpr | |
| |
OnlyRelationExpr | |
|
Instances
data RelationExprOptAlias Source #
References
relation_expr_opt_alias: | relation_expr | relation_expr ColId | relation_expr AS ColId
Instances
data TablesampleClause Source #
References
tablesample_clause: | TABLESAMPLE func_name '(' expr_list ')' opt_repeatable_clause
Instances
type RepeatableClause = AExpr Source #
References
opt_repeatable_clause: | REPEATABLE '(' a_expr ')' | EMPTY
References
func_table: | func_expr_windowless opt_ordinality | ROWS FROM '(' rowsfrom_list ')' opt_ordinality
Instances
Generic FuncTable Source # | |
Show FuncTable Source # | |
Eq FuncTable Source # | |
Ord FuncTable Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep FuncTable Source # | |
Defined in PostgresqlSyntax.Ast type Rep FuncTable = D1 ('MetaData "FuncTable" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "FuncExprFuncTable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FuncExprWindowless) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OptOrdinality)) :+: C1 ('MetaCons "RowsFromFuncTable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RowsfromList) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OptOrdinality))) |
data RowsfromItem Source #
References
rowsfrom_item: | func_expr_windowless opt_col_def_list
Instances
type RowsfromList = NonEmpty RowsfromItem Source #
References
rowsfrom_list: | rowsfrom_item | rowsfrom_list ',' rowsfrom_item
type ColDefList = TableFuncElementList Source #
References
opt_col_def_list: | AS '(' TableFuncElementList ')' | EMPTY
type OptOrdinality = Bool Source #
References
opt_ordinality: | WITH_LA ORDINALITY | EMPTY
type TableFuncElementList = NonEmpty TableFuncElement Source #
References
TableFuncElementList: | TableFuncElement | TableFuncElementList ',' TableFuncElement
data TableFuncElement Source #
References
TableFuncElement: | ColId Typename opt_collate_clause
Instances
type CollateClause = AnyName Source #
References
opt_collate_clause: | COLLATE any_name | EMPTY
data AliasClause Source #
References
alias_clause: | AS ColId '(' name_list ')' | AS ColId | ColId '(' name_list ')' | ColId
Instances
data FuncAliasClause Source #
References
func_alias_clause: | alias_clause | AS '(' TableFuncElementList ')' | AS ColId '(' TableFuncElementList ')' | ColId '(' TableFuncElementList ')' | EMPTY
AliasFuncAliasClause AliasClause | |
AsFuncAliasClause TableFuncElementList | |
AsColIdFuncAliasClause ColId TableFuncElementList | |
ColIdFuncAliasClause ColId TableFuncElementList |
Instances
data JoinedTable Source #
References
| '(' joined_table ')'
| table_ref CROSS JOIN table_ref
| table_ref join_type JOIN table_ref join_qual
| table_ref JOIN table_ref join_qual
| table_ref NATURAL join_type JOIN table_ref
| table_ref NATURAL JOIN table_ref
The options are covered by the JoinMeth
type.
Instances
References
| table_ref CROSS JOIN table_ref | table_ref join_type JOIN table_ref join_qual | table_ref JOIN table_ref join_qual | table_ref NATURAL join_type JOIN table_ref | table_ref NATURAL JOIN table_ref
Instances
Generic JoinMeth Source # | |
Show JoinMeth Source # | |
Eq JoinMeth Source # | |
Ord JoinMeth Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep JoinMeth Source # | |
Defined in PostgresqlSyntax.Ast type Rep JoinMeth = D1 ('MetaData "JoinMeth" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "CrossJoinMeth" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "QualJoinMeth" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe JoinType)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 JoinQual)) :+: C1 ('MetaCons "NaturalJoinMeth" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe JoinType))))) |
References
| FULL join_outer | LEFT join_outer | RIGHT join_outer | INNER_P
Instances
Generic JoinType Source # | |
Show JoinType Source # | |
Eq JoinType Source # | |
Ord JoinType Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep JoinType Source # | |
Defined in PostgresqlSyntax.Ast type Rep JoinType = D1 ('MetaData "JoinType" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) ((C1 ('MetaCons "FullJoinType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :+: C1 ('MetaCons "LeftJoinType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :+: (C1 ('MetaCons "RightJoinType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :+: C1 ('MetaCons "InnerJoinType" 'PrefixI 'False) (U1 :: Type -> Type))) |
References
join_qual: | USING '(' name_list ')' | ON a_expr
Instances
Generic JoinQual Source # | |
Show JoinQual Source # | |
Eq JoinQual Source # | |
Ord JoinQual Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep JoinQual Source # | |
Defined in PostgresqlSyntax.Ast type Rep JoinQual = D1 ('MetaData "JoinQual" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "UsingJoinQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonEmpty Ident))) :+: C1 ('MetaCons "OnJoinQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AExpr))) |
Where
type WhereClause = AExpr Source #
data WhereOrCurrentClause Source #
References
| WHERE a_expr | WHERE CURRENT_P OF cursor_name | *EMPTY*
Instances
Expression
References
a_expr: | c_expr | a_expr TYPECAST Typename | a_expr COLLATE any_name | a_expr AT TIME ZONE a_expr |+
a_expr |-
a_expr | a_expr+
a_expr | a_expr-
a_expr | a_expr*
a_expr | a_expr/
a_expr | a_expr%
a_expr | a_expr^
a_expr | a_expr<
a_expr | a_expr>
a_expr | a_expr '=' a_expr | a_expr LESS_EQUALS a_expr | a_expr GREATER_EQUALS a_expr | a_expr NOT_EQUALS a_expr | a_expr qual_Op a_expr | qual_Op a_expr | a_expr qual_Op | a_expr AND a_expr | a_expr OR a_expr | NOT a_expr | NOT_LA a_expr | a_expr LIKE a_expr | a_expr LIKE a_expr ESCAPE a_expr | a_expr NOT_LA LIKE a_expr | a_expr NOT_LA LIKE a_expr ESCAPE a_expr | a_expr ILIKE a_expr | a_expr ILIKE a_expr ESCAPE a_expr | a_expr NOT_LA ILIKE a_expr | a_expr NOT_LA ILIKE a_expr ESCAPE a_expr | a_expr SIMILAR TO a_expr | a_expr SIMILAR TO a_expr ESCAPE a_expr | a_expr NOT_LA SIMILAR TO a_expr | a_expr NOT_LA SIMILAR TO a_expr ESCAPE a_expr | a_expr IS NULL_P | a_expr ISNULL | a_expr IS NOT NULL_P | a_expr NOTNULL | row OVERLAPS row | a_expr IS TRUE_P | a_expr IS NOT TRUE_P | a_expr IS FALSE_P | a_expr IS NOT FALSE_P | a_expr IS UNKNOWN | a_expr IS NOT UNKNOWN | a_expr IS DISTINCT FROM a_expr | a_expr IS NOT DISTINCT FROM a_expr | a_expr IS OF '(' type_list ')' | a_expr IS NOT OF '(' type_list ')' | a_expr BETWEEN opt_asymmetric b_expr AND a_expr | a_expr NOT_LA BETWEEN opt_asymmetric b_expr AND a_expr | a_expr BETWEEN SYMMETRIC b_expr AND a_expr | a_expr NOT_LA BETWEEN SYMMETRIC b_expr AND a_expr | a_expr IN_P in_expr | a_expr NOT_LA IN_P in_expr | a_expr subquery_Op sub_type select_with_parens | a_expr subquery_Op sub_type '(' a_expr ')' | UNIQUE select_with_parens | a_expr IS DOCUMENT_P | a_expr IS NOT DOCUMENT_P | DEFAULT
Instances
References
b_expr: | c_expr | b_expr TYPECAST Typename |+
b_expr |-
b_expr | b_expr+
b_expr | b_expr-
b_expr | b_expr*
b_expr | b_expr/
b_expr | b_expr%
b_expr | b_expr^
b_expr | b_expr<
b_expr | b_expr>
b_expr | b_expr '=' b_expr | b_expr LESS_EQUALS b_expr | b_expr GREATER_EQUALS b_expr | b_expr NOT_EQUALS b_expr | b_expr qual_Op b_expr | qual_Op b_expr | b_expr qual_Op | b_expr IS DISTINCT FROM b_expr | b_expr IS NOT DISTINCT FROM b_expr | b_expr IS OF '(' type_list ')' | b_expr IS NOT OF '(' type_list ')' | b_expr IS DOCUMENT_P | b_expr IS NOT DOCUMENT_P
CExprBExpr CExpr | |
TypecastBExpr BExpr Typename | |
PlusBExpr BExpr | |
MinusBExpr BExpr | |
SymbolicBinOpBExpr BExpr SymbolicExprBinOp BExpr | |
QualOpBExpr QualOp BExpr | |
IsOpBExpr BExpr Bool BExprIsOp |
Instances
References
c_expr: | columnref | AexprConst | PARAM opt_indirection | '(' a_expr ')' opt_indirection | case_expr | func_expr | select_with_parens | select_with_parens indirection | EXISTS select_with_parens | ARRAY select_with_parens | ARRAY array_expr | explicit_row | implicit_row | GROUPING '(' expr_list ')'
Instances
References
in_expr: | select_with_parens | '(' expr_list ')'
Instances
Generic InExpr Source # | |
Show InExpr Source # | |
Eq InExpr Source # | |
Ord InExpr Source # | |
type Rep InExpr Source # | |
Defined in PostgresqlSyntax.Ast type Rep InExpr = D1 ('MetaData "InExpr" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "SelectInExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SelectWithParens)) :+: C1 ('MetaCons "ExprListInExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprList))) |
References
sub_type: | ANY | SOME | ALL
Instances
Bounded SubType Source # | |
Enum SubType Source # | |
Generic SubType Source # | |
Show SubType Source # | |
Eq SubType Source # | |
Ord SubType Source # | |
type Rep SubType Source # | |
Defined in PostgresqlSyntax.Ast type Rep SubType = D1 ('MetaData "SubType" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "AnySubType" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SomeSubType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AllSubType" 'PrefixI 'False) (U1 :: Type -> Type))) |
References
array_expr: | '[' expr_list ']' | '[' array_expr_list ']' | '[' ']'
Instances
Generic ArrayExpr Source # | |
Show ArrayExpr Source # | |
Eq ArrayExpr Source # | |
Ord ArrayExpr Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep ArrayExpr Source # | |
Defined in PostgresqlSyntax.Ast type Rep ArrayExpr = D1 ('MetaData "ArrayExpr" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "ExprListArrayExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprList)) :+: (C1 ('MetaCons "ArrayExprListArrayExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArrayExprList)) :+: C1 ('MetaCons "EmptyArrayExpr" 'PrefixI 'False) (U1 :: Type -> Type))) |
type ArrayExprList = NonEmpty ArrayExpr Source #
References
array_expr_list: | array_expr | array_expr_list ',' array_expr
References
row: | ROW '(' expr_list ')' | ROW '(' ')' | '(' expr_list ',' a_expr ')'
Instances
Generic Row Source # | |
Show Row Source # | |
Eq Row Source # | |
Ord Row Source # | |
type Rep Row Source # | |
Defined in PostgresqlSyntax.Ast type Rep Row = D1 ('MetaData "Row" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "ExplicitRowRow" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExplicitRow)) :+: C1 ('MetaCons "ImplicitRowRow" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ImplicitRow))) |
type ExplicitRow = Maybe ExprList Source #
References
explicit_row: | ROW '(' expr_list ')' | ROW '(' ')'
data ImplicitRow Source #
References
implicit_row: | '(' expr_list ',' a_expr ')'
Instances
References
func_expr: | func_application within_group_clause filter_clause over_clause | func_expr_common_subexpr
ApplicationFuncExpr FuncApplication (Maybe WithinGroupClause) (Maybe FilterClause) (Maybe OverClause) | |
SubexprFuncExpr FuncExprCommonSubexpr |
Instances
data FuncExprWindowless Source #
References
func_expr_windowless: | func_application | func_expr_common_subexpr
Instances
type WithinGroupClause = SortClause Source #
References
within_group_clause: | WITHIN GROUP_P '(' sort_clause ')' | EMPTY
type FilterClause = AExpr Source #
References
filter_clause: | FILTER '(' WHERE a_expr ')' | EMPTY
data OverClause Source #
References
over_clause: | OVER window_specification | OVER ColId | EMPTY
Instances
data FuncExprCommonSubexpr Source #
References
func_expr_common_subexpr: | COLLATION FOR '(' a_expr ')' | CURRENT_DATE | CURRENT_TIME | CURRENT_TIME '(' Iconst ')' | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP '(' Iconst ')' | LOCALTIME | LOCALTIME '(' Iconst ')' | LOCALTIMESTAMP | LOCALTIMESTAMP '(' Iconst ')' | CURRENT_ROLE | CURRENT_USER | SESSION_USER | USER | CURRENT_CATALOG | CURRENT_SCHEMA | CAST '(' a_expr AS Typename ')' | EXTRACT '(' extract_list ')' | OVERLAY '(' overlay_list ')' | POSITION '(' position_list ')' | SUBSTRING '(' substr_list ')' | TREAT '(' a_expr AS Typename ')' | TRIM '(' BOTH trim_list ')' | TRIM '(' LEADING trim_list ')' | TRIM '(' TRAILING trim_list ')' | TRIM '(' trim_list ')' | NULLIF '(' a_expr ',' a_expr ')' | COALESCE '(' expr_list ')' | GREATEST '(' expr_list ')' | LEAST '(' expr_list ')' | XMLCONCAT '(' expr_list ')' | XMLELEMENT '(' NAME_P ColLabel ')' | XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ')' | XMLELEMENT '(' NAME_P ColLabel ',' expr_list ')' | XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ',' expr_list ')' | XMLEXISTS '(' c_expr xmlexists_argument ')' | XMLFOREST '(' xml_attribute_list ')' | XMLPARSE '(' document_or_content a_expr xml_whitespace_option ')' | XMLPI '(' NAME_P ColLabel ')' | XMLPI '(' NAME_P ColLabel ',' a_expr ')' | XMLROOT '(' a_expr ',' xml_root_version opt_xml_root_standalone ')' | XMLSERIALIZE '(' document_or_content a_expr AS SimpleTypename ')' TODO: Implement the XML cases
Instances
data ExtractList Source #
References
extract_list: | extract_arg FROM a_expr | EMPTY
Instances
data ExtractArg Source #
References
extract_arg: | IDENT | YEAR_P | MONTH_P | DAY_P | HOUR_P | MINUTE_P | SECOND_P | Sconst
IdentExtractArg Ident | |
YearExtractArg | |
MonthExtractArg | |
DayExtractArg | |
HourExtractArg | |
MinuteExtractArg | |
SecondExtractArg | |
SconstExtractArg Sconst |
Instances
data OverlayList Source #
References
overlay_list: | a_expr overlay_placing substr_from substr_for | a_expr overlay_placing substr_from
Instances
type OverlayPlacing = AExpr Source #
References
overlay_placing: | PLACING a_expr
data PositionList Source #
References
position_list: | b_expr IN_P b_expr | EMPTY
Instances
data SubstrList Source #
References
substr_list: | a_expr substr_from substr_for | a_expr substr_for substr_from | a_expr substr_from | a_expr substr_for | expr_list | EMPTY
Instances
data SubstrListFromFor Source #
References
| a_expr substr_from substr_for | a_expr substr_for substr_from | a_expr substr_from | a_expr substr_for
FromForSubstrListFromFor SubstrFrom SubstrFor | |
ForFromSubstrListFromFor SubstrFor SubstrFrom | |
FromSubstrListFromFor SubstrFrom | |
ForSubstrListFromFor SubstrFor |
Instances
type SubstrFrom = AExpr Source #
References
substr_from: | FROM a_expr
data TrimModifier Source #
References
| TRIM '(' BOTH trim_list ')' | TRIM '(' LEADING trim_list ')' | TRIM '(' TRAILING trim_list ')'
Instances
References
trim_list: | a_expr FROM expr_list | FROM expr_list | expr_list
Instances
Generic TrimList Source # | |
Show TrimList Source # | |
Eq TrimList Source # | |
Ord TrimList Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep TrimList Source # | |
Defined in PostgresqlSyntax.Ast type Rep TrimList = D1 ('MetaData "TrimList" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "ExprFromExprListTrimList" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AExpr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprList)) :+: (C1 ('MetaCons "FromExprListTrimList" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprList)) :+: C1 ('MetaCons "ExprListTrimList" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprList)))) |
References
case_expr: | CASE case_arg when_clause_list case_default END_P
Instances
Generic CaseExpr Source # | |
Show CaseExpr Source # | |
Eq CaseExpr Source # | |
Ord CaseExpr Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep CaseExpr Source # | |
Defined in PostgresqlSyntax.Ast type Rep CaseExpr = D1 ('MetaData "CaseExpr" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "CaseExpr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CaseArg)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WhenClauseList) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CaseDefault))))) |
type WhenClauseList = NonEmpty WhenClause Source #
References
when_clause_list: | when_clause | when_clause_list when_clause
type CaseDefault = AExpr Source #
References
case_default: | ELSE a_expr | EMPTY
data WhenClause Source #
References
when_clause: | WHEN a_expr THEN a_expr
Instances
data FuncApplication Source #
References
func_application:
| func_name '(' ')'
| func_name '(' func_arg_list opt_sort_clause ')'
| func_name '(' VARIADIC func_arg_expr opt_sort_clause ')'
| func_name '(' func_arg_list ',' VARIADIC func_arg_expr opt_sort_clause ')'
| func_name '(' ALL func_arg_list opt_sort_clause ')'
| func_name '(' DISTINCT func_arg_list opt_sort_clause ')'
| func_name '(' *
')'
Instances
data FuncApplicationParams Source #
References
func_application:
| func_name '(' ')'
| func_name '(' func_arg_list opt_sort_clause ')'
| func_name '(' VARIADIC func_arg_expr opt_sort_clause ')'
| func_name '(' func_arg_list ',' VARIADIC func_arg_expr opt_sort_clause ')'
| func_name '(' ALL func_arg_list opt_sort_clause ')'
| func_name '(' DISTINCT func_arg_list opt_sort_clause ')'
| func_name '(' *
')'
Instances
data FuncArgExpr Source #
Instances
Constants
data AexprConst Source #
AexprConst: | Iconst | FCONST | Sconst | BCONST | XCONST | func_name Sconst | func_name '(' func_arg_list opt_sort_clause ')' Sconst | ConstTypename Sconst | ConstInterval Sconst opt_interval | ConstInterval '(' Iconst ')' Sconst | TRUE_P | FALSE_P | NULL_P
Instances
data FuncConstArgs Source #
References
| func_name '(' func_arg_list opt_sort_clause ')' Sconst
Instances
data ConstTypename Source #
References
ConstTypename: | Numeric | ConstBit | ConstCharacter | ConstDatetime
NumericConstTypename Numeric | |
ConstBitConstTypename ConstBit | |
ConstCharacterConstTypename ConstCharacter | |
ConstDatetimeConstTypename ConstDatetime |
Instances
References
Numeric: | INT_P | INTEGER | SMALLINT | BIGINT | REAL | FLOAT_P opt_float | DOUBLE_P PRECISION | DECIMAL_P opt_type_modifiers | DEC opt_type_modifiers | NUMERIC opt_type_modifiers | BOOLEAN_P opt_float: | '(' Iconst ')' | EMPTY opt_type_modifiers: | '(' expr_list ')' | EMPTY
Instances
References
Bit: | BitWithLength | BitWithoutLength ConstBit: | BitWithLength | BitWithoutLength BitWithLength: | BIT opt_varying '(' expr_list ')' BitWithoutLength: | BIT opt_varying
Instances
Generic Bit Source # | |
Show Bit Source # | |
Eq Bit Source # | |
Ord Bit Source # | |
type Rep Bit Source # | |
Defined in PostgresqlSyntax.Ast type Rep Bit = D1 ('MetaData "Bit" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "Bit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OptVarying) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ExprList)))) |
type OptVarying = Bool Source #
References
opt_varying: | VARYING | EMPTY
data ConstCharacter Source #
References
Character: | CharacterWithLength | CharacterWithoutLength ConstCharacter: | CharacterWithLength | CharacterWithoutLength CharacterWithLength: | character '(' Iconst ')' CharacterWithoutLength: | character
Instances
References
character: | CHARACTER opt_varying | CHAR_P opt_varying | VARCHAR | NATIONAL CHARACTER opt_varying | NATIONAL CHAR_P opt_varying | NCHAR opt_varying
CharacterCharacter OptVarying | |
CharCharacter OptVarying | |
VarcharCharacter | |
NationalCharacterCharacter OptVarying | |
NationalCharCharacter OptVarying | |
NcharCharacter OptVarying |
Instances
data ConstDatetime Source #
References
ConstDatetime: | TIMESTAMP '(' Iconst ')' opt_timezone | TIMESTAMP opt_timezone | TIME '(' Iconst ')' opt_timezone | TIME opt_timezone
TimestampConstDatetime (Maybe Int64) (Maybe Timezone) | |
TimeConstDatetime (Maybe Int64) (Maybe Timezone) |
Instances
References
opt_timezone: | WITH_LA TIME ZONE | WITHOUT TIME ZONE | EMPTY
References
opt_interval: | YEAR_P | MONTH_P | DAY_P | HOUR_P | MINUTE_P | interval_second | YEAR_P TO MONTH_P | DAY_P TO HOUR_P | DAY_P TO MINUTE_P | DAY_P TO interval_second | HOUR_P TO MINUTE_P | HOUR_P TO interval_second | MINUTE_P TO interval_second | EMPTY
Instances
type IntervalSecond = Maybe Int64 Source #
References
interval_second: | SECOND_P | SECOND_P '(' Iconst ')'
Names & References
References
IDENT
Instances
Generic Ident Source # | |
Show Ident Source # | |
Eq Ident Source # | |
Ord Ident Source # | |
type Rep Ident Source # | |
Defined in PostgresqlSyntax.Ast type Rep Ident = D1 ('MetaData "Ident" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "QuotedIdent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: C1 ('MetaCons "UnquotedIdent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))) |
type ColLabel = Ident Source #
References
ColLabel: | IDENT | unreserved_keyword | col_name_keyword | type_func_name_keyword | reserved_keyword
type CursorName = Name Source #
References
cursor_name: | name
References
columnref: | ColId | ColId indirection
Instances
Generic Columnref Source # | |
Show Columnref Source # | |
Eq Columnref Source # | |
Ord Columnref Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep Columnref Source # | |
Defined in PostgresqlSyntax.Ast type Rep Columnref = D1 ('MetaData "Columnref" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "Columnref" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ColId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Indirection)))) |
References
any_name: | ColId | ColId attrs
Instances
Generic AnyName Source # | |
Show AnyName Source # | |
Eq AnyName Source # | |
Ord AnyName Source # | |
type Rep AnyName Source # | |
Defined in PostgresqlSyntax.Ast type Rep AnyName = D1 ('MetaData "AnyName" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "AnyName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ColId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Attrs)))) |
References
func_name: | type_function_name | ColId indirection
Instances
Generic FuncName Source # | |
Show FuncName Source # | |
Eq FuncName Source # | |
Ord FuncName Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep FuncName Source # | |
Defined in PostgresqlSyntax.Ast type Rep FuncName = D1 ('MetaData "FuncName" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "TypeFuncName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeFunctionName)) :+: C1 ('MetaCons "IndirectedFuncName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ColId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Indirection))) |
type TypeFunctionName = Ident Source #
References
type_function_name: | IDENT | unreserved_keyword | type_func_name_keyword
data QualifiedName Source #
References
columnref: | ColId | ColId indirection qualified_name: | ColId | ColId indirection
Instances
type Indirection = NonEmpty IndirectionEl Source #
References
indirection: | indirection_el | indirection indirection_el
data IndirectionEl Source #
References
indirection_el: |.
attr_name |.
*
| '[' a_expr ']' | '[' opt_slice_bound:
opt_slice_bound ']' opt_slice_bound: | a_expr | EMPTY
AttrNameIndirectionEl Ident | |
AllIndirectionEl | |
ExprIndirectionEl AExpr | |
SliceIndirectionEl (Maybe AExpr) (Maybe AExpr) |
Instances
Types
Typename definition extended with custom question-marks for nullability specification.
To match the standard Postgres syntax simply interpret their presence as a parsing error.
References
Typename: | SimpleTypename opt_array_bounds | SETOF SimpleTypename opt_array_bounds | SimpleTypename ARRAY '[' Iconst ']' | SETOF SimpleTypename ARRAY '[' Iconst ']' | SimpleTypename ARRAY | SETOF SimpleTypename ARRAY
Typename | |
|
Instances
Generic Typename Source # | |
Show Typename Source # | |
Eq Typename Source # | |
Ord Typename Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep Typename Source # | |
Defined in PostgresqlSyntax.Ast type Rep Typename = D1 ('MetaData "Typename" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "Typename" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SimpleTypename)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (TypenameArrayDimensions, Bool)))))) |
data TypenameArrayDimensions Source #
References
Part of the Typename specification responsible for the choice between the following: | opt_array_bounds | ARRAY '[' Iconst ']' | ARRAY
Instances
type ArrayBounds = NonEmpty (Maybe Iconst) Source #
References
opt_array_bounds: | opt_array_bounds '[' ']' | opt_array_bounds '[' Iconst ']' | EMPTY
data SimpleTypename Source #
References
SimpleTypename: | GenericType | Numeric | Bit | Character | ConstDatetime | ConstInterval opt_interval | ConstInterval '(' Iconst ')' ConstInterval: | INTERVAL
Instances
data GenericType Source #
References
GenericType: | type_function_name opt_type_modifiers | type_function_name attrs opt_type_modifiers
Instances
type TypeModifiers = ExprList Source #
References
opt_type_modifiers: | '(' expr_list ')' | EMPTY
Operators
References
qual_Op: | Op | OPERATOR '(' any_operator ')'
Instances
Generic QualOp Source # | |
Show QualOp Source # | |
Eq QualOp Source # | |
Ord QualOp Source # | |
type Rep QualOp Source # | |
Defined in PostgresqlSyntax.Ast type Rep QualOp = D1 ('MetaData "QualOp" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "OpQualOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Op)) :+: C1 ('MetaCons "OperatorQualOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AnyOperator))) |
References
qual_all_Op: | all_Op | OPERATOR '(' any_operator ')'
Instances
Generic QualAllOp Source # | |
Show QualAllOp Source # | |
Eq QualAllOp Source # | |
Ord QualAllOp Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep QualAllOp Source # | |
Defined in PostgresqlSyntax.Ast type Rep QualAllOp = D1 ('MetaData "QualAllOp" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "AllQualAllOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AllOp)) :+: C1 ('MetaCons "AnyQualAllOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AnyOperator))) |
References
The operator name is a sequence of up to NAMEDATALEN-1 (63 by default)
characters from the following list:
+ - * / = ~ ! # % ^ & | ` ?
There are a few restrictions on your choice of name:
-- and /* cannot appear anywhere in an operator name,
since they will be taken as the start of a comment.
A multicharacter operator name cannot end in + or -,
unless the name also contains at least one of these characters:
~ !
# % ^ & | ` ?
For example, @- is an allowed operator name, but *- is not.
This restriction allows PostgreSQL to parse SQL-compliant
commands without requiring spaces between tokens.
The use of => as an operator name is deprecated.
It may be disallowed altogether in a future release.
The operator != is mapped to <> on input,
so these two names are always equivalent.
data AnyOperator Source #
References
any_operator:
| all_Op
| ColId .
any_operator
Instances
References
all_Op: | Op | MathOp
Instances
Generic AllOp Source # | |
Show AllOp Source # | |
Eq AllOp Source # | |
Ord AllOp Source # | |
type Rep AllOp Source # | |
Defined in PostgresqlSyntax.Ast type Rep AllOp = D1 ('MetaData "AllOp" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "OpAllOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Op)) :+: C1 ('MetaCons "MathAllOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MathOp))) |
Instances
Bounded MathOp Source # | |
Enum MathOp Source # | |
Defined in PostgresqlSyntax.Ast | |
Generic MathOp Source # | |
Show MathOp Source # | |
Eq MathOp Source # | |
Ord MathOp Source # | |
type Rep MathOp Source # | |
Defined in PostgresqlSyntax.Ast type Rep MathOp = D1 ('MetaData "MathOp" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (((C1 ('MetaCons "PlusMathOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MinusMathOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AsteriskMathOp" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "SlashMathOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PercentMathOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ArrowUpMathOp" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "ArrowLeftMathOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ArrowRightMathOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EqualsMathOp" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "LessEqualsMathOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GreaterEqualsMathOp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ArrowLeftArrowRightMathOp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExclamationEqualsMathOp" 'PrefixI 'False) (U1 :: Type -> Type))))) |
data SymbolicExprBinOp Source #
Instances
data VerbalExprBinOp Source #
Instances
data AExprReversableOp Source #
References
| a_expr IS NULL_P | a_expr IS TRUE_P | a_expr IS FALSE_P | a_expr IS UNKNOWN | a_expr IS DISTINCT FROM a_expr | a_expr IS OF '(' type_list ')' | a_expr BETWEEN opt_asymmetric b_expr AND a_expr | a_expr BETWEEN SYMMETRIC b_expr AND a_expr | a_expr IN_P in_expr | a_expr IS DOCUMENT_P
Instances
References
| b_expr IS DISTINCT FROM b_expr | b_expr IS NOT DISTINCT FROM b_expr | b_expr IS OF '(' type_list ')' | b_expr IS NOT OF '(' type_list ')' | b_expr IS DOCUMENT_P | b_expr IS NOT DOCUMENT_P
Instances
Generic BExprIsOp Source # | |
Show BExprIsOp Source # | |
Eq BExprIsOp Source # | |
Ord BExprIsOp Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep BExprIsOp Source # | |
Defined in PostgresqlSyntax.Ast type Rep BExprIsOp = D1 ('MetaData "BExprIsOp" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "DistinctFromBExprIsOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BExpr)) :+: (C1 ('MetaCons "OfBExprIsOp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeList)) :+: C1 ('MetaCons "DocumentBExprIsOp" 'PrefixI 'False) (U1 :: Type -> Type))) |
data SubqueryOp Source #
References
subquery_Op: | all_Op | OPERATOR '(' any_operator ')' | LIKE | NOT_LA LIKE | ILIKE | NOT_LA ILIKE
Instances
Indexes
type IndexParams = NonEmpty IndexElem Source #
References
index_params: | index_elem | index_params ',' index_elem
References
index_elem: | ColId opt_collate opt_class opt_asc_desc opt_nulls_order | func_expr_windowless opt_collate opt_class opt_asc_desc opt_nulls_order | '(' a_expr ')' opt_collate opt_class opt_asc_desc opt_nulls_order
Instances
Generic IndexElem Source # | |
Show IndexElem Source # | |
Eq IndexElem Source # | |
Ord IndexElem Source # | |
Defined in PostgresqlSyntax.Ast | |
type Rep IndexElem Source # | |
Defined in PostgresqlSyntax.Ast type Rep IndexElem = D1 ('MetaData "IndexElem" "PostgresqlSyntax.Ast" "postgresql-syntax-0.4.1.1-1agduNP8gtd9DXmzqkx25k" 'False) (C1 ('MetaCons "IndexElem" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IndexElemDef) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Collate))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Class)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe AscDesc)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe NullsOrder)))))) |
data IndexElemDef Source #
References
| ColId opt_collate opt_class opt_asc_desc opt_nulls_order | func_expr_windowless opt_collate opt_class opt_asc_desc opt_nulls_order | '(' a_expr ')' opt_collate opt_class opt_asc_desc opt_nulls_order
Instances
References
opt_asc_desc: | ASC | DESC | EMPTY
Instances
Bounded AscDesc Source # | |
Enum AscDesc Source # | |
Generic AscDesc Source # | |
Show AscDesc Source # | |
Eq AscDesc Source # | |
Ord AscDesc Source # | |
type Rep AscDesc Source # | |
data NullsOrder Source #
References
opt_nulls_order: | NULLS_LA FIRST_P | NULLS_LA LAST_P | EMPTY