Copyright | 2013-2017 Kei Hibino |
---|---|
License | BSD3 |
Maintainer | ex8k.hibino@gmail.com |
Stability | experimental |
Portability | unknown |
Safe Haskell | None |
Language | Haskell2010 |
This module provides untyped components for query.
- type ColumnSQL = ColumnSQL
- columnSQL :: String -> ColumnSQL
- columnSQL' :: StringSQL -> ColumnSQL
- showsColumnSQL :: ColumnSQL -> StringSQL
- data NameConfig = NameConfig {
- recordConfig :: NameConfig
- relationVarName :: String -> String -> VarName
- data ProductUnitSupport
- data SchemaNameMode
- data IdentifierQuotation
- data Config
- defaultConfig :: Config
- data Duplication
- showsDuplication :: Duplication -> StringSQL
- data AggregateKey a
- type AggregateColumnRef = AggregateColumnRef
- type AggregateBitKey = AggregateBitKey
- type AggregateSet = AggregateSet
- type AggregateElem = AggregateElem
- aggregateColumnRef :: AggregateColumnRef -> AggregateElem
- aggregateEmpty :: [AggregateElem]
- aggregatePowerKey :: [AggregateColumnRef] -> AggregateBitKey
- aggregateGroupingSet :: [AggregateElem] -> AggregateSet
- aggregateRollup :: [AggregateBitKey] -> AggregateElem
- aggregateCube :: [AggregateBitKey] -> AggregateElem
- aggregateSets :: [AggregateSet] -> AggregateElem
- composeGroupBy :: [AggregateElem] -> StringSQL
- composePartitionBy :: [AggregateColumnRef] -> StringSQL
- aggregateKeyProjection :: AggregateKey a -> a
- aggregateKeyElement :: AggregateKey a -> AggregateElem
- unsafeAggregateKey :: (a, AggregateElem) -> AggregateKey a
- data Order
- type OrderColumn = OrderColumn
- type OrderingTerm = OrderingTerm
- composeOrderBy :: [OrderingTerm] -> StringSQL
- type OrderingTerms = [OrderingTerm]
- type AssignColumn = AssignColumn
- type AssignTerm = AssignTerm
- type Assignment = Assignment
- composeSets :: [Assignment] -> StringSQL
- composeValues :: [Assignment] -> StringSQL
- type Assignments = [Assignment]
- composeOver :: [AggregateColumnRef] -> OrderingTerms -> StringSQL
Type for column SQL string
type ColumnSQL = ColumnSQL Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.SQL.*
Column SQL string type
columnSQL :: String -> ColumnSQL Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.SQL.*
ColumnSQL
from string
columnSQL' :: StringSQL -> ColumnSQL Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.SQL.*
ColumnSQL
from StringSQL
showsColumnSQL :: ColumnSQL -> StringSQL Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.SQL.*
StringSQL from ColumnSQL
Configuration type for query
data NameConfig Source #
NameConfig
type to customize names of expanded templates.
NameConfig | |
|
data ProductUnitSupport Source #
Unit of product is supported or not.
data SchemaNameMode Source #
Schema name qualify mode in SQL string.
SchemaQualified | Schema qualified table name in SQL string |
SchemaNotQualified | Not qualified table name in SQL string |
data IdentifierQuotation Source #
Configuration for quotation of identifiers of SQL.
defaultConfig :: Config Source #
Default configuration.
Duplication attribute
showsDuplication :: Duplication -> StringSQL Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.BaseSQL.showsDuplication
Compose duplication attribute string.
Types for aggregation
data AggregateKey a Source #
Typeful aggregate element.
type AggregateColumnRef = AggregateColumnRef Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.GroupingSQL.*
Type for group-by term
type AggregateBitKey = AggregateBitKey Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.GroupingSQL.*
Type for group key.
type AggregateSet = AggregateSet Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.GroupingSQL.*
Type for grouping set
type AggregateElem = AggregateElem Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.GroupingSQL.*
Type for group-by tree
aggregateColumnRef :: AggregateColumnRef -> AggregateElem Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.GroupingSQL.*
Single term aggregation element.
aggregateEmpty :: [AggregateElem] Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.GroupingSQL.*
Empty aggregation.
aggregatePowerKey :: [AggregateColumnRef] -> AggregateBitKey Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.GroupingSQL.*
Key of aggregation power set.
aggregateGroupingSet :: [AggregateElem] -> AggregateSet Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.GroupingSQL.*
Single grouping set.
aggregateRollup :: [AggregateBitKey] -> AggregateElem Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.GroupingSQL.*
Rollup aggregation element.
aggregateCube :: [AggregateBitKey] -> AggregateElem Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.GroupingSQL.*
Cube aggregation element.
aggregateSets :: [AggregateSet] -> AggregateElem Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.GroupingSQL.*
Grouping sets aggregation.
composeGroupBy :: [AggregateElem] -> StringSQL Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.GroupingSQL.*
Compose GROUP BY clause from AggregateElem list.
composePartitionBy :: [AggregateColumnRef] -> StringSQL Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.GroupingSQL.*
Compose PARTITION BY clause from AggregateColumnRef list.
aggregateKeyProjection :: AggregateKey a -> a Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.GroupingSQL.*
Extract typed projection from AggregateKey
.
aggregateKeyElement :: AggregateKey a -> AggregateElem Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.GroupingSQL.*
Extract untyped term from AggregateKey
.
unsafeAggregateKey :: (a, AggregateElem) -> AggregateKey a Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.GroupingSQL.*
Unsafely bind typed-projection and untyped-term into AggregateKey
.
Types for ordering
type OrderColumn = OrderColumn Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.BaseSQL.*
Type for order-by column
type OrderingTerm = OrderingTerm Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.BaseSQL.*
Type for order-by term
composeOrderBy :: [OrderingTerm] -> StringSQL Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.BaseSQL.*
Compose ORDER BY clause from OrderingTerms
type OrderingTerms = [OrderingTerm] Source #
Deprecated: use [OrderingTerm].
Type for order-by terms
Types for assignments
type AssignColumn = AssignColumn Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.BaseSQL.*
Column SQL String of assignment
type AssignTerm = AssignTerm Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.BaseSQL.*
Value SQL String of assignment
type Assignment = Assignment Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.BaseSQL.*
Assignment pair
composeSets :: [Assignment] -> StringSQL Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.BaseSQL.*
Compose SET clause from [Assignment
].
composeValues :: [Assignment] -> StringSQL Source #
Deprecated: prepare to drop public interface. internally use Database.Relational.Query.Internal.BaseSQL.*
Compose VALUES clause from [Assignment
].
type Assignments = [Assignment] Source #
Deprecated: use [Assignment].
Assignment pair list.
Compose window clause
composeOver :: [AggregateColumnRef] -> OrderingTerms -> StringSQL Source #
Deprecated: prepare to drop public interface.
Compose OVER (PARTITION BY ... ) clause.