Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data types for Postgres syntax. Access is given mainly for extension modules. The types and definitions here are likely to change.
Synopsis
-
data
PgSyntaxF
f
where
- EmitByteString :: ByteString -> f -> PgSyntaxF f
- EmitBuilder :: Builder -> f -> PgSyntaxF f
- EscapeString :: ByteString -> f -> PgSyntaxF f
- EscapeBytea :: ByteString -> f -> PgSyntaxF f
- EscapeIdentifier :: ByteString -> f -> PgSyntaxF f
- type PgSyntaxM = F PgSyntaxF
-
newtype
PgSyntax
=
PgSyntax
{
- buildPgSyntax :: PgSyntaxM ()
- emit :: ByteString -> PgSyntax
- emitBuilder :: Builder -> PgSyntax
- escapeString :: ByteString -> PgSyntax
- escapeBytea :: ByteString -> PgSyntax
- escapeIdentifier :: ByteString -> PgSyntax
- pgParens :: PgSyntax -> PgSyntax
- nextSyntaxStep :: PgSyntaxF f -> f
- data PgCommandSyntax = PgCommandSyntax { }
- data PgCommandType
- newtype PgSelectSyntax = PgSelectSyntax { }
- newtype PgSelectSetQuantifierSyntax = PgSelectSetQuantifierSyntax { }
- newtype PgInsertSyntax = PgInsertSyntax { }
- newtype PgDeleteSyntax = PgDeleteSyntax { }
- newtype PgUpdateSyntax = PgUpdateSyntax { }
- newtype PgExpressionSyntax = PgExpressionSyntax { }
- newtype PgFromSyntax = PgFromSyntax { }
- newtype PgTableNameSyntax = PgTableNameSyntax { }
- newtype PgComparisonQuantifierSyntax = PgComparisonQuantifierSyntax { }
- newtype PgExtractFieldSyntax = PgExtractFieldSyntax { }
- newtype PgProjectionSyntax = PgProjectionSyntax { }
- newtype PgGroupingSyntax = PgGroupingSyntax { }
-
data
PgOrderingSyntax
=
PgOrderingSyntax
{
- pgOrderingSyntax :: PgSyntax
- pgOrderingNullOrdering :: Maybe PgNullOrdering
- newtype PgValueSyntax = PgValueSyntax { }
- newtype PgTableSourceSyntax = PgTableSourceSyntax { }
- newtype PgFieldNameSyntax = PgFieldNameSyntax { }
- newtype PgAggregationSetQuantifierSyntax = PgAggregationSetQuantifierSyntax { }
- newtype PgInsertValuesSyntax = PgInsertValuesSyntax { }
- newtype PgInsertOnConflictSyntax = PgInsertOnConflictSyntax { }
- newtype PgInsertOnConflictTargetSyntax = PgInsertOnConflictTargetSyntax { }
- newtype PgConflictActionSyntax = PgConflictActionSyntax { }
- newtype PgCreateTableSyntax = PgCreateTableSyntax { }
- data PgTableOptionsSyntax = PgTableOptionsSyntax PgSyntax PgSyntax
- newtype PgColumnSchemaSyntax = PgColumnSchemaSyntax { }
- data PgDataTypeSyntax = PgDataTypeSyntax { }
- data PgColumnConstraintDefinitionSyntax = PgColumnConstraintDefinitionSyntax { }
- data PgColumnConstraintSyntax = PgColumnConstraintSyntax { }
- newtype PgTableConstraintSyntax = PgTableConstraintSyntax { }
- data PgMatchTypeSyntax = PgMatchTypeSyntax { }
- data PgReferentialActionSyntax = PgReferentialActionSyntax { }
- newtype PgAlterTableSyntax = PgAlterTableSyntax { }
- newtype PgAlterTableActionSyntax = PgAlterTableActionSyntax { }
- newtype PgAlterColumnActionSyntax = PgAlterColumnActionSyntax { }
- newtype PgWindowFrameSyntax = PgWindowFrameSyntax { }
- newtype PgWindowFrameBoundsSyntax = PgWindowFrameBoundsSyntax { }
- newtype PgWindowFrameBoundSyntax = PgWindowFrameBoundSyntax { }
- data PgSelectLockingClauseSyntax = PgSelectLockingClauseSyntax { }
- data PgSelectLockingStrength
- data PgSelectLockingOptions
- fromPgSelectLockingClause :: PgSelectLockingClauseSyntax -> PgSyntax
- pgSelectStmt :: PgSelectTableSyntax -> [ PgOrderingSyntax ] -> Maybe Integer -> Maybe Integer -> Maybe PgSelectLockingClauseSyntax -> PgSelectSyntax
- defaultPgValueSyntax :: ToField a => a -> PgValueSyntax
- data PgDataTypeDescr
- data PgHasEnum = PgHasEnum Text [ Text ]
- pgCreateExtensionSyntax :: Text -> PgCommandSyntax
- pgDropExtensionSyntax :: Text -> PgCommandSyntax
- pgCreateEnumSyntax :: Text -> [ PgValueSyntax ] -> PgCommandSyntax
- pgDropTypeSyntax :: Text -> PgCommandSyntax
- pgSimpleMatchSyntax :: PgMatchTypeSyntax
- pgSelectSetQuantifierDistinctOn :: [ PgExpressionSyntax ] -> PgSelectSetQuantifierSyntax
- pgDataTypeJSON :: Value -> BeamSerializedDataType
- pgTsQueryType :: PgDataTypeSyntax
- pgTsVectorType :: PgDataTypeSyntax
- pgJsonType :: PgDataTypeSyntax
- pgJsonbType :: PgDataTypeSyntax
- pgUuidType :: PgDataTypeSyntax
- pgMoneyType :: PgDataTypeSyntax
- pgTsQueryTypeInfo :: TypeInfo
- pgTsVectorTypeInfo :: TypeInfo
- pgByteaType :: PgDataTypeSyntax
- pgTextType :: PgDataTypeSyntax
- pgUnboundedArrayType :: PgDataTypeSyntax -> PgDataTypeSyntax
- pgSerialType :: PgDataTypeSyntax
- pgSmallSerialType :: PgDataTypeSyntax
- pgBigSerialType :: PgDataTypeSyntax
- pgPointType :: PgDataTypeSyntax
- pgLineType :: PgDataTypeSyntax
- pgLineSegmentType :: PgDataTypeSyntax
- pgBoxType :: PgDataTypeSyntax
- pgQuotedIdentifier :: Text -> PgSyntax
- pgSepBy :: PgSyntax -> [ PgSyntax ] -> PgSyntax
- pgDebugRenderSyntax :: PgSyntax -> IO ()
- pgRenderSyntaxScript :: PgSyntax -> ByteString
- pgBuildAction :: [ Action ] -> PgSyntax
- pgBinOp :: ByteString -> PgExpressionSyntax -> PgExpressionSyntax -> PgExpressionSyntax
- pgCompOp :: ByteString -> Maybe PgComparisonQuantifierSyntax -> PgExpressionSyntax -> PgExpressionSyntax -> PgExpressionSyntax
- pgUnOp :: ByteString -> PgExpressionSyntax -> PgExpressionSyntax
- pgPostFix :: ByteString -> PgExpressionSyntax -> PgExpressionSyntax
- pgTestSyntax :: PgSyntax -> [PgSyntaxPrim]
- data PostgresInaccessible
Documentation
data PgSyntaxF f where Source #
EmitByteString :: ByteString -> f -> PgSyntaxF f | |
EmitBuilder :: Builder -> f -> PgSyntaxF f | |
EscapeString :: ByteString -> f -> PgSyntaxF f | |
EscapeBytea :: ByteString -> f -> PgSyntaxF f | |
EscapeIdentifier :: ByteString -> f -> PgSyntaxF f |
A piece of Postgres SQL syntax, which may contain embedded escaped byte and
text sequences.
PgSyntax
composes monoidally, and may be created with
emit
,
emitBuilder
,
escapeString
,
escapBytea
, and
escapeIdentifier
.
PgSyntax | |
|
emit :: ByteString -> PgSyntax Source #
emitBuilder :: Builder -> PgSyntax Source #
escapeString :: ByteString -> PgSyntax Source #
escapeBytea :: ByteString -> PgSyntax Source #
nextSyntaxStep :: PgSyntaxF f -> f Source #
data PgCommandSyntax Source #
Representation of an arbitrary Postgres command. This is the combination of
the command syntax (repesented by
PgSyntax
), as well as the type of command
(represented by
PgCommandType
). The command type is necessary for us to
know how to retrieve results from the database.
Instances
data PgCommandType Source #
Instances
Show PgCommandType Source # | |
Defined in Database.Beam.Postgres.Syntax |
newtype PgSelectSyntax Source #
IsSql92SelectSyntax
for Postgres
Instances
newtype PgSelectSetQuantifierSyntax Source #
newtype PgInsertSyntax Source #
IsSql92InsertSyntax
for Postgres
newtype PgDeleteSyntax Source #
IsSql92DeleteSyntax
for Postgres
newtype PgUpdateSyntax Source #
IsSql92UpdateSyntax
for Postgres
Instances
newtype PgExpressionSyntax Source #
Instances
newtype PgFromSyntax Source #
Instances
IsSql92FromSyntax PgFromSyntax Source # | |
Defined in Database.Beam.Postgres.Syntax fromTable :: Sql92FromTableSourceSyntax PgFromSyntax -> Maybe ( Text , Maybe [ Text ]) -> PgFromSyntax Source # innerJoin :: PgFromSyntax -> PgFromSyntax -> Maybe ( Sql92FromExpressionSyntax PgFromSyntax ) -> PgFromSyntax Source # leftJoin :: PgFromSyntax -> PgFromSyntax -> Maybe ( Sql92FromExpressionSyntax PgFromSyntax ) -> PgFromSyntax Source # rightJoin :: PgFromSyntax -> PgFromSyntax -> Maybe ( Sql92FromExpressionSyntax PgFromSyntax ) -> PgFromSyntax Source # |
|
IsSql92FromOuterJoinSyntax PgFromSyntax Source # | |
Defined in Database.Beam.Postgres.Syntax outerJoin :: PgFromSyntax -> PgFromSyntax -> Maybe ( Sql92FromExpressionSyntax PgFromSyntax ) -> PgFromSyntax Source # |
|
type Sql92FromExpressionSyntax PgFromSyntax Source # | |
Defined in Database.Beam.Postgres.Syntax |
|
type Sql92FromTableSourceSyntax PgFromSyntax Source # | |
newtype PgTableNameSyntax Source #
Instances
newtype PgComparisonQuantifierSyntax Source #
newtype PgExtractFieldSyntax Source #
Instances
newtype PgProjectionSyntax Source #
newtype PgGroupingSyntax Source #
data PgOrderingSyntax Source #
PgOrderingSyntax | |
|
newtype PgValueSyntax Source #
Instances
newtype PgTableSourceSyntax Source #
Instances
newtype PgFieldNameSyntax Source #
Instances
newtype PgAggregationSetQuantifierSyntax Source #
newtype PgInsertValuesSyntax Source #
Instances
IsSql92InsertValuesSyntax PgInsertValuesSyntax Source # | |
type Sql92InsertValuesSelectSyntax PgInsertValuesSyntax Source # | |
type Sql92InsertValuesExpressionSyntax PgInsertValuesSyntax Source # | |
newtype PgInsertOnConflictSyntax Source #
newtype PgInsertOnConflictTargetSyntax Source #
newtype PgCreateTableSyntax Source #
Instances
newtype PgColumnSchemaSyntax Source #
Instances
data PgDataTypeSyntax Source #
Instances
data PgColumnConstraintDefinitionSyntax Source #
Instances
data PgColumnConstraintSyntax Source #
Instances
newtype PgTableConstraintSyntax Source #
Instances
data PgMatchTypeSyntax Source #
Instances
data PgReferentialActionSyntax Source #
Instances
newtype PgAlterTableSyntax Source #
Instances
IsSql92AlterTableSyntax PgAlterTableSyntax Source # | |
type Sql92AlterTableAlterTableActionSyntax PgAlterTableSyntax Source # | |
type Sql92AlterTableTableNameSyntax PgAlterTableSyntax Source # | |
newtype PgAlterTableActionSyntax Source #
Instances
newtype PgAlterColumnActionSyntax Source #
newtype PgWindowFrameSyntax Source #
Instances
newtype PgWindowFrameBoundsSyntax Source #
newtype PgWindowFrameBoundSyntax Source #
data PgSelectLockingStrength Source #
Specifies the level of lock that will be taken against a row. See the manual section for more information.
PgSelectLockingStrengthUpdate |
UPDATE |
PgSelectLockingStrengthNoKeyUpdate |
NO KEY UPDATE |
PgSelectLockingStrengthShare |
SHARE |
PgSelectLockingStrengthKeyShare |
KEY SHARE |
Instances
Eq PgSelectLockingStrength Source # | |
Defined in Database.Beam.Postgres.Syntax |
|
Show PgSelectLockingStrength Source # | |
Defined in Database.Beam.Postgres.Syntax |
|
Generic PgSelectLockingStrength Source # | |
Defined in Database.Beam.Postgres.Syntax |
|
type Rep PgSelectLockingStrength Source # | |
Defined in Database.Beam.Postgres.Syntax
type
Rep
PgSelectLockingStrength
=
D1
('
MetaData
"PgSelectLockingStrength" "Database.Beam.Postgres.Syntax" "beam-postgres-0.5.2.1-CN79CkilEEcFHvUglPBQts" '
False
) ((
C1
('
MetaCons
"PgSelectLockingStrengthUpdate" '
PrefixI
'
False
) (
U1
::
Type
->
Type
)
:+:
C1
('
MetaCons
"PgSelectLockingStrengthNoKeyUpdate" '
PrefixI
'
False
) (
U1
::
Type
->
Type
))
:+:
(
C1
('
MetaCons
"PgSelectLockingStrengthShare" '
PrefixI
'
False
) (
U1
::
Type
->
Type
)
:+:
C1
('
MetaCons
"PgSelectLockingStrengthKeyShare" '
PrefixI
'
False
) (
U1
::
Type
->
Type
)))
|
data PgSelectLockingOptions Source #
Specifies how we should handle lock conflicts.
See the manual section for more information
PgSelectLockingOptionsNoWait |
|
PgSelectLockingOptionsSkipLocked |
|
Instances
Eq PgSelectLockingOptions Source # | |
Defined in Database.Beam.Postgres.Syntax |
|
Show PgSelectLockingOptions Source # | |
Defined in Database.Beam.Postgres.Syntax |
|
Generic PgSelectLockingOptions Source # | |
Defined in Database.Beam.Postgres.Syntax |
|
type Rep PgSelectLockingOptions Source # | |
Defined in Database.Beam.Postgres.Syntax
type
Rep
PgSelectLockingOptions
=
D1
('
MetaData
"PgSelectLockingOptions" "Database.Beam.Postgres.Syntax" "beam-postgres-0.5.2.1-CN79CkilEEcFHvUglPBQts" '
False
) (
C1
('
MetaCons
"PgSelectLockingOptionsNoWait" '
PrefixI
'
False
) (
U1
::
Type
->
Type
)
:+:
C1
('
MetaCons
"PgSelectLockingOptionsSkipLocked" '
PrefixI
'
False
) (
U1
::
Type
->
Type
))
|
:: PgSelectTableSyntax | |
-> [ PgOrderingSyntax ] | |
-> Maybe Integer |
LIMIT |
-> Maybe Integer |
OFFSET |
-> Maybe PgSelectLockingClauseSyntax | |
-> PgSelectSyntax |
defaultPgValueSyntax :: ToField a => a -> PgValueSyntax Source #
data PgDataTypeDescr Source #
Instances
Instances
Eq PgHasEnum Source # | |
Show PgHasEnum Source # | |
Generic PgHasEnum Source # | |
Hashable PgHasEnum Source # | |
DatabasePredicate PgHasEnum Source # | |
Defined in Database.Beam.Postgres.Syntax englishDescription :: PgHasEnum -> String Source # predicateSpecificity :: proxy PgHasEnum -> PredicateSpecificity Source # serializePredicate :: PgHasEnum -> Value Source # predicateCascadesDropOn :: DatabasePredicate p' => PgHasEnum -> p' -> Bool Source # |
|
type Rep PgHasEnum Source # | |
Defined in Database.Beam.Postgres.Syntax
type
Rep
PgHasEnum
=
D1
('
MetaData
"PgHasEnum" "Database.Beam.Postgres.Syntax" "beam-postgres-0.5.2.1-CN79CkilEEcFHvUglPBQts" '
False
) (
C1
('
MetaCons
"PgHasEnum" '
PrefixI
'
False
) (
S1
('
MetaSel
('
Nothing
::
Maybe
Symbol
) '
NoSourceUnpackedness
'
NoSourceStrictness
'
DecidedLazy
) (
Rec0
Text
)
:*:
S1
('
MetaSel
('
Nothing
::
Maybe
Symbol
) '
NoSourceUnpackedness
'
NoSourceStrictness
'
DecidedLazy
) (
Rec0
[
Text
])))
|
pgCreateEnumSyntax :: Text -> [ PgValueSyntax ] -> PgCommandSyntax Source #
pgTsVectorTypeInfo :: TypeInfo Source #
Postgres TypeInfo for tsvector TODO Is the Oid stable from postgres instance to postgres instance?
pgQuotedIdentifier :: Text -> PgSyntax Source #
pgDebugRenderSyntax :: PgSyntax -> IO () Source #
pgBuildAction :: [ Action ] -> PgSyntax Source #
pgCompOp :: ByteString -> Maybe PgComparisonQuantifierSyntax -> PgExpressionSyntax -> PgExpressionSyntax -> PgExpressionSyntax Source #
pgTestSyntax :: PgSyntax -> [PgSyntaxPrim] Source #
data PostgresInaccessible Source #