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

Portabilityunknown
Stabilityexperimental
Maintainerex8k.hibino@gmail.com
Safe HaskellNone

Database.Relational.Query.SQL

Contents

Description

This module defines functions to generate simple SQL strings.

Synopsis

Query suffix

type QuerySuffix = [Keyword]Source

Type for query suffix words

showsQuerySuffix :: QuerySuffix -> StringSQLSource

Expand query suffix words

Update SQL

updatePrefixSQL :: Table r -> StringSQLSource

Generate prefix string of update SQL.

updateSQL'Source

Arguments

:: String

Table name

-> [ColumnSQL]

Column name list to update

-> [ColumnSQL]

Key column name list

-> String

Result SQL

Generate update SQL by specified key and table. Columns name list of table are also required.

updateOtherThanKeySQL'Source

Arguments

:: String

Table name

-> [ColumnSQL]

Column name list

-> [Int]

Key column indexes

-> String

Result SQL

Generate update SQL by specified key and table. Columns name list of table are also required.

updateOtherThanKeySQLSource

Arguments

:: Table r

Table metadata

-> Pi r p

Key columns

-> String

Result SQL

Generate update SQL specified by single key.

Insert SQL

insertPrefixSQL :: Pi r r' -> Table r -> StringSQLSource

Generate prefix string of insert SQL.

insertSQLSource

Arguments

:: Pi r r'

Columns selector to insert

-> Table r

Table metadata

-> String

Result SQL

Generate insert SQL.

insertSizedChunkSQLSource

Arguments

:: Pi r r'

Columns selector to insert

-> Table r

Table metadata

-> Int

Chunk size threshold (column count)

-> (String, Int)

Result SQL and records count of chunk

Generate size measured records chunk insert SQL.

Delete SQL

deletePrefixSQL' :: String -> StringSQLSource

Generate all column delete SQL by specified table. Untyped table version.

deletePrefixSQLSource

Arguments

:: Table r

Table metadata

-> StringSQL

Result SQL

Generate all column delete SQL by specified table.