relational-record 0.0.1.0 → 0.0.1.1
raw patch · 2 files changed
+233/−2 lines, 2 filesdep +basedep +relational-query
Dependencies added: base, relational-query
Files
relational-record.cabal view
@@ -1,5 +1,5 @@ name: relational-record-version: 0.0.1.0+version: 0.0.1.1 synopsis: Meta package of Relational Record description: Meta package to install Relational Record quickly homepage: http://khibino.github.io/haskell-relational-record/@@ -13,7 +13,15 @@ cabal-version: >=1.10 library- build-depends: relational-query-HDBC+ exposed-modules:+ Database.Relational.Query.Documentation++ build-depends: base <5+ , relational-query+ , relational-query-HDBC++ hs-source-dirs: src+ ghc-options: -Wall default-language: Haskell2010
+ src/Database/Relational/Query/Documentation.hs view
@@ -0,0 +1,223 @@+-- |+-- Module : Database.Relational.Query.Documentation+-- Copyright : 2014 Kei Hibino+-- License : BSD3+--+-- Maintainer : ex8k.hibino@gmail.com+-- Stability : experimental+-- Portability : unknown+--+-- This module is documentation module for relational record.+module Database.Relational.Query.Documentation (+ -- * Concepts+ -- $concepts++ -- ** Relational Query Building DSL+ -- $queryBuildingDSL++ -- *** Monadic Query Context Building+ -- $monadicContext++ -- **** Monadic Operators+ -- $monadicOperator+ query,+ queryMaybe,++ on,+ wheres,++ groupBy,++ having,++ -- **** Direct Join Operators+ -- $directJoin+ inner, left, right, full,+ on',++ -- **** Finalize Context+ -- $finalize+ relation,+ aggregateRelation,++ -- *** Projection Operators+ -- $projectionOperators+ (.=.), (.<.), (.<=.), (.>.), (.>=.), (.<>.),+ casesOrElse, case',+ in', and', or',++ isNothing, isJust, fromMaybe,++ not', exists,++ (.||.),+ (.+.), (.-.), (./.), (.*.), negate', fromIntegral', showNum,++ -- *** Aggregate and Window Functions+ -- $aggregateFunctions+ sum', avg,+ max', min',+ every, any', some',++ rank, denseRank, rowNumber, percentRank, cumeDist,++ -- *** Set Operators+ -- $setOperators+ union, except, intersect,++ -- *** Maybe Projections+ -- $maybeProjection+ (?+?),+ negateMaybe,+ sumMaybe,++ -- *** Placeholders+ -- $placeholder+ query',+ left',+ relation',+ union',++ -- ** Database Operations+ -- $databaseOperations++ -- *** Generalized Statement+ -- $generalizedStmt+ prepareNoFetch,+ bind,+ execute,+ executeNoFetch,++ -- *** Select+ -- $select+ prepareQuery,+ fetch,+ runQuery,++ -- *** Insert Values+ -- $insertValue+ prepareInsert,+ runInsert,++ -- *** Insert Select Results+ -- $insertSelect+ prepareInsertQuery,+ runInsertQuery,++ -- *** Update+ -- $update+ prepareUpdate,+ runUpdate,++ -- *** Delete+ -- $delete+ prepareDelete,+ runDelete,++ -- *** Update by Key+ -- $keyUpdate+ prepareKeyUpdate,+ bindKeyUpdate,+ runKeyUpdate,++ ) where++import Database.Relational.Query+import Database.HDBC.Record++{- $concepts+User inferface of Relational Record has main two part of modules.++[@"Database.Relational.Query"@] Relational Query Building DSL++[@"Database.HDBC.Record"@] Database Operation Actions+ -}++{- $queryBuildingDSL+Relatoinal Query ("Database.Relational.Query") module+defines Typed DSL to build complex SQL query.+ -}++{- $monadicContext+This DSL accumulates query structures into monadic context.+ -}++{- $monadicOperator+Some operators are defined to build query structures in monadic context.++'query' and 'queryMaybe' operators grow query product of monadic context like join operation of SQL.+'on' operator appends a new condition into recent join product condition.++'groupBy' operator aggregates flat projection value.++'wheres' and 'having' operators appends a new condition into whole query condition.+'having' only accepts aggregated projection value.+ -}++{- $directJoin+Not monadic style join is supported by some direct join operators.++'inner', 'left', 'right', 'full' operators can construct join products directly like SQL.+'on'' specifies condition of join product.+ -}++{- $finalize+Several operators are defined to finalize query monadic context.++'relation' operator finalizes flat (not aggregated) query monadic context,+and 'aggregateRelation' operator finalizes aggregated query monadic context.+ -}++{- $projectionOperators+Some operators are defined to caluculate projections.+ -}++{- $aggregateFunctions+Typed aggregate operators are defined.+Aggregated value types is distinguished with Flat value types.+ -}++{- $setOperators+Several operators are defined to manipulate relation set.+ -}++{- $maybeProjection+Operators of projection and aggregation are also provided Maybe type versions.+ -}++{- $placeholder+Some operators are defined to realize type safe placeholder.+ -}+++{- $databaseOperations+Some actions are defined for database site effects.+ -}++{- $generalizedStmt+Actions to manage generalized SQL statements.+ -}++{- $select+Actions to manage SELECT statements.+ -}++{- $insertValue+Actions to manage INSERT ... VALUES ... statements.+ -}++{- $insertSelect+Actions to manage INSERT ... SELECT ... statements.+ -}++{- $update+Actions to manage UPDATE statements.+ -}++{- $delete+Actions to manage DELETE statements.+ -}++{- $keyUpdate+Actions to manage UPDATE statements which updates columns other than specified key of the records selected by specified key.+ -}