relational-query-0.8.3.5: Typeful, Modular, Relational, algebraic query engine

Copyright2013-2017 Kei Hibino
LicenseBSD3
Maintainerex8k.hibino@gmail.com
Stabilityexperimental
Portabilityunknown
Safe HaskellNone
LanguageHaskell2010

Database.Relational.Query.Component

Contents

Description

This module provides untyped components for query.

Synopsis

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.

data SchemaNameMode Source #

Schema name qualify mode in SQL string.

Constructors

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.

Constructors

NoQuotation 
Quotation Char 

data Config Source #

Configuration type.

Instances

defaultConfig :: Config Source #

Default configuration.

Duplication attribute

data Duplication Source #

Result record duplication attribute

Constructors

All 
Distinct 

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

data Order Source #

Order direction. Ascendant or Descendant.

Constructors

Asc 
Desc 

Instances

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.