Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Language.Marlowe.Runtime.Sync.Database.PostgreSQL.GetHeaders
Contents
Synopsis
- getHeaders :: ContractFilter -> Range ContractId -> Transaction (Maybe (Page ContractId ContractHeader))
- foldPage :: (row -> id) -> (row -> item) -> Int -> Order -> Int -> Fold row (Page id item)
- foldItems :: (row -> item) -> Int -> Fold row [item]
- decodeContractHeader :: Int64 -> ByteString -> Int64 -> ByteString -> Int16 -> ByteString -> Maybe ByteString -> ByteString -> ByteString -> ContractHeader
- foldNextRange :: (row -> id) -> Int -> Order -> Fold row (Maybe (Range id))
- data DelimiterRow = DelimiterRow {
- delimiterTxId :: ByteString
- delimiterTxIx :: Int16
- delimiterSlotNo :: Int64
- delimiterStatement :: ContractFilter -> ContractId -> Statement () (Maybe DelimiterRow)
- totalCountStatement :: ContractFilter -> Statement () Int
- headersStatement :: ContractFilter -> Range ContractId -> Maybe DelimiterRow -> Statement () [ContractHeader]
- type PartyAddressesColumns = '['("address", SqlBytea, NotNull)]
- type PartyRolesColumns = '['("rolesCurrency", SqlBytea, NotNull), '("role", SqlBytea, NotNull)]
- partyAddressesTable :: Table PartyAddressesColumns
- partyRolesTable :: Table PartyRolesColumns
- partyAddressesCTE :: Set Address -> StatementBuilder (Maybe CommonTableExpr)
- partyRolesCTE :: Set AssetId -> StatementBuilder (Maybe CommonTableExpr)
- delimiterTables :: ContractFilter -> StatementBuilder (Maybe WithClause, TableRef)
- headersTables :: ContractFilter -> StatementBuilder (Maybe WithClause, TableRef)
- rolesTable :: Set PolicyId -> StatementBuilder TableRef
- delimiterIdCond :: Param -> Param -> AExpr
- delimiterComparisonCond :: Order -> DelimiterRow -> StatementBuilder AExpr
- filterCondition :: ContractFilter -> Maybe AExpr -> StatementBuilder (Maybe AExpr)
- andMaybe :: Maybe AExpr -> Maybe AExpr -> Maybe AExpr
- parenthesize :: IsAExpr a => a -> AExpr
- orMaybe :: Maybe AExpr -> Maybe AExpr -> Maybe AExpr
- tagExistsCond :: Set MarloweMetadataTag -> StatementBuilder (Maybe AExpr)
- rolePartyExists :: Set AssetId -> Maybe AExpr
- addressPartyExists :: Set Address -> Maybe AExpr
Documentation
getHeaders :: ContractFilter -> Range ContractId -> Transaction (Maybe (Page ContractId ContractHeader)) Source #
decodeContractHeader :: Int64 -> ByteString -> Int64 -> ByteString -> Int16 -> ByteString -> Maybe ByteString -> ByteString -> ByteString -> ContractHeader Source #
foldNextRange :: (row -> id) -> Int -> Order -> Fold row (Maybe (Range id)) Source #
data DelimiterRow Source #
Constructors
DelimiterRow | |
Fields
|
delimiterStatement :: ContractFilter -> ContractId -> Statement () (Maybe DelimiterRow) Source #
A select statement which looks for the delimiter specified by the given contractId.
totalCountStatement :: ContractFilter -> Statement () Int Source #
A select statement which looks for the delimiter specified by the given contractId.
headersStatement :: ContractFilter -> Range ContractId -> Maybe DelimiterRow -> Statement () [ContractHeader] Source #
Tables
type PartyAddressesColumns = '['("address", SqlBytea, NotNull)] Source #
The columns of the partyAddresses CTE
type PartyRolesColumns = '['("rolesCurrency", SqlBytea, NotNull), '("role", SqlBytea, NotNull)] Source #
The columns of the partyRoles CTE
partyAddressesTable :: Table PartyAddressesColumns Source #
The partyAddresses CTE table
partyRolesTable :: Table PartyRolesColumns Source #
The partyRoles CTE table
partyAddressesCTE :: Set Address -> StatementBuilder (Maybe CommonTableExpr) Source #
SQL
partyAddresses (address) ( SELECT * FROM UNNEST ($1) )
partyRolesCTE :: Set AssetId -> StatementBuilder (Maybe CommonTableExpr) Source #
SQL
partyRoles (rolesCurrency, role) ( SELECT * FROM UNNEST ($1, $2) )
delimiterTables :: ContractFilter -> StatementBuilder (Maybe WithClause, TableRef) Source #
headersTables :: ContractFilter -> StatementBuilder (Maybe WithClause, TableRef) Source #
rolesTable :: Set PolicyId -> StatementBuilder TableRef Source #
Conditions
delimiterIdCond :: Param -> Param -> AExpr Source #
delimiterComparisonCond :: Order -> DelimiterRow -> StatementBuilder AExpr Source #
filterCondition :: ContractFilter -> Maybe AExpr -> StatementBuilder (Maybe AExpr) Source #
Adds additional checks to a condition as required by the contract filter.
parenthesize :: IsAExpr a => a -> AExpr Source #
tagExistsCond :: Set MarloweMetadataTag -> StatementBuilder (Maybe AExpr) Source #
rolePartyExists :: Set AssetId -> Maybe AExpr Source #
addressPartyExists :: Set Address -> Maybe AExpr Source #