Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type ConstrainSNames (c :: * -> Constraint) r a = (c a, c (TableRef r a), c (TableName r a), c (CreateTableName r a), c (DropTableName r a), c (SchemaName r a), c (CreateSchemaName r a), c (ColumnRef r a), c (NaturalColumns r a), c (UsingColumn r a), c (StarReferents r a), c (PositionExpr r a), c (ComposedQueryColumns r a))
- type ConstrainSASNames (c :: (* -> *) -> Constraint) r = (c (TableRef r), c (TableName r), c (CreateTableName r), c (DropTableName r), c (SchemaName r), c (CreateSchemaName r), c (ColumnRef r), c (NaturalColumns r), c (UsingColumn r), c (StarReferents r), c (PositionExpr r), c (ComposedQueryColumns r))
- class Resolution r where
- type TableRef r :: * -> *
- type TableName r :: * -> *
- type CreateTableName r :: * -> *
- type DropTableName r :: * -> *
- type SchemaName r :: * -> *
- type CreateSchemaName r :: * -> *
- type ColumnRef r :: * -> *
- type NaturalColumns r :: * -> *
- type UsingColumn r :: * -> *
- type StarReferents r :: * -> *
- type PositionExpr r :: * -> *
- type ComposedQueryColumns r :: * -> *
- type FQCN = FullyQualifiedColumnName
- data FullyQualifiedColumnName = FullyQualifiedColumnName {}
- type FQTN = FullyQualifiedTableName
- data FullyQualifiedTableName = FullyQualifiedTableName {}
- qualifyColumnName :: FQTableName a -> UQColumnName b -> FQColumnName ()
- fqcnToFQCN :: FQColumnName a -> FullyQualifiedColumnName
- fqtnToFQTN :: FQTableName a -> FullyQualifiedTableName
- data DatabaseName a = DatabaseName a Text
- data SchemaType
- data QSchemaName f a = QSchemaName {
- schemaNameInfo :: a
- schemaNameDatabase :: f (DatabaseName a)
- schemaNameName :: Text
- schemaNameType :: SchemaType
- type UQSchemaName = QSchemaName No
- type OQSchemaName = QSchemaName Maybe
- type FQSchemaName = QSchemaName Identity
- mkNormalSchema :: Alternative f => Text -> a -> QSchemaName f a
- arbitraryUnquotedIdentifier :: Gen Text
- arbitraryQuotedIdentifier :: Gen Text
- arbitraryIdentifier :: Gen Text
- data Identifier (ids :: [Symbol]) = Identifier Text
- class KnownSymbols (xs :: [Symbol]) where
- data QTableName f a = QTableName {
- tableNameInfo :: a
- tableNameSchema :: f (QSchemaName f a)
- tableNameName :: Text
- data No a = None
- type UQTableName = QTableName No
- type OQTableName = QTableName Maybe
- type FQTableName = QTableName Identity
- newtype TableAliasId = TableAliasId Integer
- data TableAlias a = TableAlias a Text TableAliasId
- tableAliasName :: TableAlias a -> UQTableName a
- data RNaturalColumns a = RNaturalColumns [RUsingColumn a]
- data RUsingColumn a = RUsingColumn (RColumnRef a) (RColumnRef a)
- data QFunctionName f a = QFunctionName {
- functionNameInfo :: a
- functionNameSchema :: f (QSchemaName f a)
- functionNameName :: Text
- type FunctionName = QFunctionName Maybe
- data QColumnName f a = QColumnName {
- columnNameInfo :: a
- columnNameTable :: f (QTableName f a)
- columnNameName :: Text
- type UQColumnName = QColumnName No
- type OQColumnName = QColumnName Maybe
- type FQColumnName = QColumnName Identity
- newtype ColumnAliasId = ColumnAliasId Integer
- data ColumnAlias a = ColumnAlias a Text ColumnAliasId
- columnAliasName :: ColumnAlias a -> UQColumnName a
- data RColumnRef a
- = RColumnRef (FQColumnName a)
- | RColumnAlias (ColumnAlias a)
- data StructFieldName a = StructFieldName a Text
- newtype FieldChain = FieldChain (Map (StructFieldName ()) FieldChain)
- data ParamName a = ParamName a Text
Documentation
type ConstrainSNames (c :: * -> Constraint) r a = (c a, c (TableRef r a), c (TableName r a), c (CreateTableName r a), c (DropTableName r a), c (SchemaName r a), c (CreateSchemaName r a), c (ColumnRef r a), c (NaturalColumns r a), c (UsingColumn r a), c (StarReferents r a), c (PositionExpr r a), c (ComposedQueryColumns r a)) Source #
type ConstrainSASNames (c :: (* -> *) -> Constraint) r = (c (TableRef r), c (TableName r), c (CreateTableName r), c (DropTableName r), c (SchemaName r), c (CreateSchemaName r), c (ColumnRef r), c (NaturalColumns r), c (UsingColumn r), c (StarReferents r), c (PositionExpr r), c (ComposedQueryColumns r)) Source #
class Resolution r Source #
type TableRef r :: * -> * Source #
TableRef refers to either a table in the catalog, or an alias
type TableName r :: * -> * Source #
TableName refers to a table in the catalog
type CreateTableName r :: * -> * Source #
CreateTableName refers to a table that might be in the catalog
Used for CREATE TABLE, special rules for resolution
type DropTableName r :: * -> * Source #
DropTableName refers to a table that might be in the catalog
Used for DROP TABLE, special rules for resolution
type SchemaName r :: * -> * Source #
SchemaName refers to a schema in the catalog
type CreateSchemaName r :: * -> * Source #
CreateSchemaName refers to a table that might be in the catalog
Used for CREATE SCHEMA, special rules for resolution
type ColumnRef r :: * -> * Source #
ColumnRef refers to either a column in the catalog, or an alias
type NaturalColumns r :: * -> * Source #
NaturalColumns refers to columns compared in a natural join
type UsingColumn r :: * -> * Source #
UsingColumn refers to columns that appear in USING (...)
type StarReferents r :: * -> * Source #
type PositionExpr r :: * -> * Source #
type ComposedQueryColumns r :: * -> * Source #
type FQCN = FullyQualifiedColumnName Source #
type FQTN = FullyQualifiedTableName Source #
qualifyColumnName :: FQTableName a -> UQColumnName b -> FQColumnName () Source #
data DatabaseName a Source #
Functor DatabaseName Source # | |
Foldable DatabaseName Source # | |
Traversable DatabaseName Source # | |
Arbitrary CatalogMap # | |
Eq a => Eq (DatabaseName a) Source # | |
Data a => Data (DatabaseName a) Source # | |
Ord a => Ord (DatabaseName a) Source # | |
Read a => Read (DatabaseName a) Source # | |
Show a => Show (DatabaseName a) Source # | |
Generic (DatabaseName a) Source # | |
Arbitrary a => Arbitrary (DatabaseName a) Source # | |
Hashable (DatabaseName a) Source # | |
ToJSON a => ToJSON (DatabaseName a) Source # | |
FromJSON a => FromJSON (DatabaseName a) Source # | |
Pretty (DatabaseName a) Source # | |
HasInfo (DatabaseName a) Source # | |
type Rep (DatabaseName a) Source # | |
type Info (DatabaseName a) Source # | |
data SchemaType Source #
data QSchemaName f a Source #
QSchemaName | |
|
type UQSchemaName = QSchemaName No Source #
type OQSchemaName = QSchemaName Maybe Source #
type FQSchemaName = QSchemaName Identity Source #
mkNormalSchema :: Alternative f => Text -> a -> QSchemaName f a Source #
data Identifier (ids :: [Symbol]) Source #
Identifiers picked first from (and shrunk to) symbols in type list. Used for testing.
Eq (Identifier ids) Source # | |
KnownSymbols ids => Arbitrary (Identifier ids) Source # | |
class KnownSymbols (xs :: [Symbol]) where Source #
symbolVals :: proxy xs -> [String] Source #
KnownSymbols ([] Symbol) Source # | |
(KnownSymbol x, KnownSymbols xs) => KnownSymbols ((:) Symbol x xs) Source # | |
data QTableName f a Source #
QTableName | |
|
Functor No Source # | |
Applicative No Source # | |
Foldable No Source # | |
Traversable No Source # | |
Arbitrary CatalogMap # | |
Arbitrary DatabaseMap # | |
Arbitrary SchemaMap # | |
Alternative No Source # | |
Eq (No a) Source # | |
Data a => Data (No a) Source # | |
Ord (No a) Source # | |
Read (No a) Source # | |
Show (No a) Source # | |
IsString (UQColumnName ()) Source # | |
Generic (No a) Source # | |
Arbitrary (No a) Source # | |
Hashable (No a) Source # | |
ToJSON (No a) Source # | |
FromJSON (No a) Source # | |
type Rep (No a) Source # | |
type UQTableName = QTableName No Source #
type OQTableName = QTableName Maybe Source #
type FQTableName = QTableName Identity Source #
newtype TableAliasId Source #
data TableAlias a Source #
Functor TableAlias Source # | |
Foldable TableAlias Source # | |
Traversable TableAlias Source # | |
Eq a => Eq (TableAlias a) Source # | |
Data a => Data (TableAlias a) Source # | |
Ord a => Ord (TableAlias a) Source # | |
Read a => Read (TableAlias a) Source # | |
Show a => Show (TableAlias a) Source # | |
Generic (TableAlias a) Source # | |
ToJSON a => ToJSON (TableAlias a) Source # | |
FromJSON a => FromJSON (TableAlias a) Source # | |
HasInfo (TableAlias a) Source # | |
type Rep (TableAlias a) Source # | |
type Info (TableAlias a) Source # | |
tableAliasName :: TableAlias a -> UQTableName a Source #
data RNaturalColumns a Source #
Functor RNaturalColumns Source # | |
Foldable RNaturalColumns Source # | |
Traversable RNaturalColumns Source # | |
Eq a => Eq (RNaturalColumns a) Source # | |
Data a => Data (RNaturalColumns a) Source # | |
Ord a => Ord (RNaturalColumns a) Source # | |
Read a => Read (RNaturalColumns a) Source # | |
Show a => Show (RNaturalColumns a) Source # | |
Generic (RNaturalColumns a) Source # | |
ToJSON a => ToJSON (RNaturalColumns a) Source # | |
HasColumns (RNaturalColumns a) Source # | |
type Rep (RNaturalColumns a) Source # | |
data RUsingColumn a Source #
RUsingColumn (RColumnRef a) (RColumnRef a) |
Functor RUsingColumn Source # | |
Foldable RUsingColumn Source # | |
Traversable RUsingColumn Source # | |
Eq a => Eq (RUsingColumn a) Source # | |
Data a => Data (RUsingColumn a) Source # | |
Ord a => Ord (RUsingColumn a) Source # | |
Read a => Read (RUsingColumn a) Source # | |
Show a => Show (RUsingColumn a) Source # | |
Generic (RUsingColumn a) Source # | |
ToJSON a => ToJSON (RUsingColumn a) Source # | |
HasColumns (RUsingColumn a) Source # | |
type Rep (RUsingColumn a) Source # | |
data QFunctionName f a Source #
QFunctionName | |
|
type FunctionName = QFunctionName Maybe Source #
data QColumnName f a Source #
QColumnName | |
|
type UQColumnName = QColumnName No Source #
type OQColumnName = QColumnName Maybe Source #
type FQColumnName = QColumnName Identity Source #
newtype ColumnAliasId Source #
data ColumnAlias a Source #
Functor ColumnAlias Source # | |
Foldable ColumnAlias Source # | |
Traversable ColumnAlias Source # | |
Eq a => Eq (ColumnAlias a) Source # | |
Data a => Data (ColumnAlias a) Source # | |
Ord a => Ord (ColumnAlias a) Source # | |
Read a => Read (ColumnAlias a) Source # | |
Show a => Show (ColumnAlias a) Source # | |
Generic (ColumnAlias a) Source # | |
ToJSON a => ToJSON (ColumnAlias a) Source # | |
FromJSON a => FromJSON (ColumnAlias a) Source # | |
HasInfo (ColumnAlias a) Source # | |
type Rep (ColumnAlias a) Source # | |
type Info (ColumnAlias a) Source # | |
columnAliasName :: ColumnAlias a -> UQColumnName a Source #
data RColumnRef a Source #
Functor RColumnRef Source # | |
Foldable RColumnRef Source # | |
Traversable RColumnRef Source # | |
Eq a => Eq (RColumnRef a) Source # | |
Data a => Data (RColumnRef a) Source # | |
Ord a => Ord (RColumnRef a) Source # | |
Read a => Read (RColumnRef a) Source # | |
Show a => Show (RColumnRef a) Source # | |
Generic (RColumnRef a) Source # | |
ToJSON a => ToJSON (RColumnRef a) Source # | |
FromJSON a => FromJSON (RColumnRef a) Source # | |
HasTables (RColumnRef a) Source # | |
HasColumns (RColumnRef a) Source # | |
Semigroup a => HasInfo (RColumnRef a) Source # | |
type Rep (RColumnRef a) Source # | |
type Info (RColumnRef a) Source # | |
data StructFieldName a Source #
Functor StructFieldName Source # | |
Foldable StructFieldName Source # | |
Traversable StructFieldName Source # | |
Eq a => Eq (StructFieldName a) Source # | |
Data a => Data (StructFieldName a) Source # | |
Ord a => Ord (StructFieldName a) Source # | |
Show a => Show (StructFieldName a) Source # | |
Generic (StructFieldName a) Source # | |
ToJSON a => ToJSON (StructFieldName a) Source # | |
FromJSON a => FromJSON (StructFieldName a) Source # | |
HasInfo (StructFieldName a) Source # | |
type Rep (StructFieldName a) Source # | |
type Info (StructFieldName a) Source # | |
newtype FieldChain Source #
FieldChain (Map (StructFieldName ()) FieldChain) |
Functor ParamName Source # | |
Foldable ParamName Source # | |
Traversable ParamName Source # | |
Eq a => Eq (ParamName a) Source # | |
Data a => Data (ParamName a) Source # | |
Ord a => Ord (ParamName a) Source # | |
Read a => Read (ParamName a) Source # | |
Show a => Show (ParamName a) Source # | |
Generic (ParamName a) Source # | |
Arbitrary a => Arbitrary (ParamName a) Source # | |
ToJSON a => ToJSON (ParamName a) Source # | |
FromJSON a => FromJSON (ParamName a) Source # | |
HasInfo (ParamName a) Source # | |
type Rep (ParamName a) Source # | |
type Info (ParamName a) Source # | |