This file is indexed.

/usr/share/doc/haskell-haskelldb-doc/html/Database-HaskellDB.html is in libghc-haskelldb-doc 2.1.1-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Database.HaskellDB</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Database-HaskellDB.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Database-HaskellDB.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">haskelldb-2.1.1: A library of combinators for generating and executing SQL statements.</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>non portable</td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Maintainer</th><td>&quot;Justin Bailey&quot; &lt;jgbailey@gmail.com&gt;</td></tr><tr><th>Safe Haskell</th><td>None</td></tr></table><p class="caption">Database.HaskellDB</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Records
</a></li><li><a href="#g:2">Relational operators
</a></li><li><a href="#g:3">Query expressions
</a></li><li><a href="#g:4">Database operations
</a></li><li><a href="#g:5">Debugging
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>HaskellDB is a Haskell library for expressing database queries and
 operations in a type safe and declarative way. HaskellDB compiles a
 relational algebra-like syntax into SQL, submits the operations to the
 database for processing, and returns the results as ordinary Haskell
 values.
</p><p>This is the main module that the user should 
 import. Beside this module, the user should import a
 particular database binding (ie. <a href="Database-HaskellDB-HSQL-ODBC.html">Database.HaskellDB.HSQL.ODBC</a>) 
 and database definitions.
</p><p>HaskellDB was originally written by Daan Leijen and it's 
 design is described in the paper Domain Specific Embedded 
 Compilers, Daan Leijen and Erik Meijer. 2nd USENIX 
 Conference on Domain-Specific Languages (DSL), Austin, 
 USA, October 1999 (<a href="http://www.usenix.org/events/dsl99/">http://www.usenix.org/events/dsl99/</a>).
</p><p>This new version of HaskellDB was produced as a student project at
 Chalmers University of Technology in Gothenburg, Sweden. The aim of the
 project was to make HaskellDB a practically useful database library.
 That work is described in 
 Student Paper: HaskellDB Improved, 
 Bj&#246;rn Bringert, Anders H&#246;ckersten, Conny Andersson, Martin Andersson, 
 Mary Bergman, Victor Blomqvist and Torbj&#246;rn Martin. 
 In Proceedings of the ACM SIGPLAN 2004 Haskell Workshop, Snowbird, Utah, 
 USA, September 22, 2004.
 (<a href="http://haskelldb.sourceforge.net/haskelldb.pdf">http://haskelldb.sourceforge.net/haskelldb.pdf</a>)
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span>  <a href="#t:Rel">Rel</a> r</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Attr">Attr</a> f a</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Expr">Expr</a> a</li><li class="src short"><span class="keyword">data</span>  <a href="#t:ExprAggr">ExprAggr</a> a</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Table">Table</a> r</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Query">Query</a> a</li><li class="src short"><span class="keyword">data</span>  <a href="#t:OrderExpr">OrderExpr</a> </li><li class="src short"><span class="keyword">class</span>  <a href="#t:HasField">HasField</a> f r </li><li class="src short"><span class="keyword">type</span> <a href="#t:Record">Record</a> r = <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a> -&gt; r</li><li class="src short"><span class="keyword">class</span>  <a href="#t:Select">Select</a> f r a | f r -&gt; a <span class="keyword">where</span><ul class="subs"><li><a href="#v:-33-">(!)</a> :: r -&gt; f -&gt; a</li></ul></li><li class="src short"><a href="#v:-35-">(#)</a> ::  <a href="Database-HaskellDB.html#t:Record">Record</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a>) -&gt; (b -&gt; c) -&gt; b -&gt; <a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a c</li><li class="src short"><a href="#v:-60--60-">(&lt;&lt;)</a> ::  <a href="Database-HaskellDB.html#t:Attr">Attr</a> f a -&gt; e a -&gt; <a href="Database-HaskellDB.html#t:Record">Record</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (e a) <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a>)</li><li class="src short"><a href="#v:-60--60--45-">(&lt;&lt;-)</a> :: <a href="Database-HaskellDB-Query.html#t:ShowConstant">ShowConstant</a> a =&gt; <a href="Database-HaskellDB.html#t:Attr">Attr</a> f a -&gt; a -&gt; <a href="Database-HaskellDB.html#t:Record">Record</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a) <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a>)</li><li class="src short"><a href="#v:-33-.">(!.)</a> :: <a href="Database-HaskellDB.html#t:Select">Select</a> f r a =&gt; r -&gt; f -&gt; a</li><li class="src short"><a href="#v:restrict">restrict</a> :: <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:table">table</a> :: <a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> r =&gt; <a href="Database-HaskellDB.html#t:Table">Table</a> r -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r)</li><li class="src short"><a href="#v:project">project</a> :: (<a href="Database-HaskellDB-HDBRec.html#t:ShowLabels">ShowLabels</a> r, <a href="Database-HaskellDB-Query.html#t:ToPrimExprs">ToPrimExprs</a> r, <a href="Database-HaskellDB-Query.html#t:ProjectRec">ProjectRec</a> r er) =&gt; <a href="Database-HaskellDB.html#t:Record">Record</a> r -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> er)</li><li class="src short"><a href="#v:unique">unique</a> :: <a href="Database-HaskellDB.html#t:Query">Query</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:union">union</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r)</li><li class="src short"><a href="#v:intersect">intersect</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r)</li><li class="src short"><a href="#v:divide">divide</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r)</li><li class="src short"><a href="#v:minus">minus</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r)</li><li class="src short"><a href="#v:copy">copy</a> :: <a href="Database-HaskellDB.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB.html#t:Attr">Attr</a> f a -&gt; <a href="Database-HaskellDB.html#t:Rel">Rel</a> r -&gt; <a href="Database-HaskellDB.html#t:Record">Record</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a) <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a>)</li><li class="src short"><a href="#v:copyAll">copyAll</a> :: <a href="Database-HaskellDB-Query.html#t:RelToRec">RelToRec</a> r =&gt; <a href="Database-HaskellDB.html#t:Rel">Rel</a> r -&gt; <a href="Database-HaskellDB.html#t:Record">Record</a> r</li><li class="src short"><a href="#v:subQuery">subQuery</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r)</li><li class="src short"><a href="#v:.-61--61-.">(.==.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:.-60--62-.">(.&lt;&gt;.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:.-60-.">(.&lt;.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:.-60--61-.">(.&lt;=.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:.-62-.">(.&gt;.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:.-62--61-.">(.&gt;=.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:.-38--38-.">(.&amp;&amp;.)</a> :: <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:.-124--124-.">(.||.)</a> :: <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:.-42-.">(.*.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</li><li class="src short"><a href="#v:.-47-.">(./.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</li><li class="src short"><a href="#v:.-43-.">(.+.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</li><li class="src short"><a href="#v:.-45-.">(.-.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</li><li class="src short"><a href="#v:.-37-.">(.%.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</li><li class="src short"><a href="#v:.-43--43-.">(.++.)</a> :: <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:_not">_not</a> :: <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:like">like</a> :: <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:_in">_in</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; [<a href="Database-HaskellDB.html#t:Expr">Expr</a> a] -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:cat">cat</a> :: <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:_length">_length</a> :: <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:isNull">isNull</a> ::  <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:notNull">notNull</a> ::  <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:fromNull">fromNull</a> ::  <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a) -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</li><li class="src short"><a href="#v:fromVal">fromVal</a> :: <a href="Database-HaskellDB-Query.html#t:ShowConstant">ShowConstant</a> a =&gt; a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a) -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</li><li class="src short"><a href="#v:constant">constant</a> :: <a href="Database-HaskellDB-Query.html#t:ShowConstant">ShowConstant</a> a =&gt; a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</li><li class="src short"><a href="#v:constVal">constVal</a> :: <a href="Database-HaskellDB-Query.html#t:ShowConstant">ShowConstant</a> a =&gt; a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:constNull">constNull</a> ::  <a href="Database-HaskellDB.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:constExpr">constExpr</a> ::  <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:param">param</a> ::  <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</li><li class="src short"><a href="#v:namedParam">namedParam</a> ::  <a href="Database-HaskellDB-PrimQuery.html#t:Name">Name</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</li><li class="src short"><span class="keyword">class</span>  <a href="#t:Args">Args</a> a </li><li class="src short"><a href="#v:func">func</a> :: <a href="Database-HaskellDB.html#t:Args">Args</a> a =&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; a</li><li class="src short"><a href="#v:queryParams">queryParams</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; [<a href="Database-HaskellDB.html#t:Param">Param</a>]</li><li class="src short"><span class="keyword">type</span> <a href="#t:Param">Param</a> = <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:cast">cast</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> b</li><li class="src short"><a href="#v:coerce">coerce</a> ::  <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> b</li><li class="src short"><a href="#v:literal">literal</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</li><li class="src short"><a href="#v:toStr">toStr</a> :: BStrToStr s d =&gt; s -&gt; d</li><li class="src short"><a href="#v:count">count</a> ::  <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:_sum">_sum</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a</li><li class="src short"><a href="#v:_max">_max</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a</li><li class="src short"><a href="#v:_min">_min</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a</li><li class="src short"><a href="#v:avg">avg</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a</li><li class="src short"><a href="#v:stddev">stddev</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a</li><li class="src short"><a href="#v:stddevP">stddevP</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a</li><li class="src short"><a href="#v:variance">variance</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a</li><li class="src short"><a href="#v:varianceP">varianceP</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a</li><li class="src short"><a href="#v:asc">asc</a> :: <a href="Database-HaskellDB.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB.html#t:Rel">Rel</a> r -&gt; <a href="Database-HaskellDB.html#t:Attr">Attr</a> f a -&gt; <a href="Database-HaskellDB.html#t:OrderExpr">OrderExpr</a></li><li class="src short"><a href="#v:desc">desc</a> :: <a href="Database-HaskellDB.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB.html#t:Rel">Rel</a> r -&gt; <a href="Database-HaskellDB.html#t:Attr">Attr</a> f a -&gt; <a href="Database-HaskellDB.html#t:OrderExpr">OrderExpr</a></li><li class="src short"><a href="#v:order">order</a> :: [<a href="Database-HaskellDB.html#t:OrderExpr">OrderExpr</a>] -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:top">top</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:_case">_case</a> ::  [(<a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>, <a href="Database-HaskellDB.html#t:Expr">Expr</a> a)] -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</li><li class="src short"><a href="#v:_default">_default</a> ::  <a href="Database-HaskellDB-Query.html#t:ExprDefault">ExprDefault</a> a</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Database">Database</a> </li><li class="src short"><a href="#v:query">query</a> :: <a href="Database-HaskellDB-Database.html#t:GetRec">GetRec</a> er vr =&gt; <a href="Database-HaskellDB.html#t:Database">Database</a> -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> er) -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> [<a href="Database-HaskellDB.html#t:Record">Record</a> vr]</li><li class="src short"><a href="#v:recCat">recCat</a> :: <a href="Database-HaskellDB-HDBRec.html#t:RecCat">RecCat</a> r1 r2 r3 =&gt; r1 -&gt; r2 -&gt; r3</li><li class="src short"><a href="#v:insert">insert</a> :: (<a href="Database-HaskellDB-Query.html#t:ToPrimExprs">ToPrimExprs</a> r, <a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> r, <a href="Database-HaskellDB-Query.html#t:InsertRec">InsertRec</a> r er) =&gt; <a href="Database-HaskellDB.html#t:Database">Database</a> -&gt; <a href="Database-HaskellDB.html#t:Table">Table</a> er -&gt; <a href="Database-HaskellDB.html#t:Record">Record</a> r -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:delete">delete</a> :: <a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> r =&gt; <a href="Database-HaskellDB.html#t:Database">Database</a> -&gt; <a href="Database-HaskellDB.html#t:Table">Table</a> r -&gt; (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:update">update</a> :: (<a href="Database-HaskellDB-HDBRec.html#t:ShowLabels">ShowLabels</a> s, <a href="Database-HaskellDB-Query.html#t:ToPrimExprs">ToPrimExprs</a> s) =&gt; <a href="Database-HaskellDB.html#t:Database">Database</a> -&gt; <a href="Database-HaskellDB.html#t:Table">Table</a> r -&gt; (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r -&gt; <a href="Database-HaskellDB.html#t:Record">Record</a> s) -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:insertQuery">insertQuery</a> :: <a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> r =&gt; <a href="Database-HaskellDB.html#t:Database">Database</a> -&gt; <a href="Database-HaskellDB.html#t:Table">Table</a> r -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:tables">tables</a> :: <a href="Database-HaskellDB.html#t:Database">Database</a> -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> [<a href="Database-HaskellDB-PrimQuery.html#t:TableName">TableName</a>]</li><li class="src short"><a href="#v:describe">describe</a> :: <a href="Database-HaskellDB.html#t:Database">Database</a> -&gt; <a href="Database-HaskellDB-PrimQuery.html#t:TableName">TableName</a> -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> [(<a href="Database-HaskellDB-PrimQuery.html#t:Attribute">Attribute</a>, <a href="Database-HaskellDB-FieldType.html#t:FieldDesc">FieldDesc</a>)]</li><li class="src short"><a href="#v:transaction">transaction</a> ::  <a href="Database-HaskellDB.html#t:Database">Database</a> -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:showQuery">showQuery</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:showQueryUnOpt">showQueryUnOpt</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:showSql">showSql</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:showSqlUnOpt">showSqlUnOpt</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Rel" class="def">Rel</a> r <a href="src/Database-HaskellDB-Query.html#Rel" class="link">Source</a></p><div class="doc"><p>Type of relations, contains the attributes
   of the relation and an <code>Alias</code> to which the
   attributes are renamed in the <code><a href="Database-HaskellDB-PrimQuery.html#t:PrimQuery">PrimQuery</a></code>.
</p></div><div class="subs instances"><p id="control.i:Rel" class="caption collapser" onclick="toggleSection('i:Rel')">Instances</p><div id="section.i:Rel" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> (<a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r))</td><td class="doc"><p>Shows the optimized SQL for the query.
</p></td></tr><tr><td class="src"><a href="Database-HaskellDB-FieldType.html#t:ExprTypes">ExprTypes</a> r =&gt; <a href="Database-HaskellDB-FieldType.html#t:ExprTypes">ExprTypes</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-FieldType.html#t:ExprType">ExprType</a> a =&gt; <a href="Database-HaskellDB-FieldType.html#t:ExprType">ExprType</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB.html#t:Select">Select</a> (<a href="Database-HaskellDB.html#t:Attr">Attr</a> f a) (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a)</td><td class="doc"><p>Field selection operator. It is overloaded to work for both
   relations in a query and the result of a query.
   That is, it corresponds to both <code><a href="Database-HaskellDB.html#v:-33-">!</a></code> and <code>!.</code> from the original
   HaskellDB. An overloaded operator was selected because users
   (and the developers) always forgot to use !. instead of !
   on query results.
</p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Attr" class="def">Attr</a> f a <a href="src/Database-HaskellDB-Query.html#Attr" class="link">Source</a></p><div class="doc"><p>Typed attributes
</p></div><div class="subs instances"><p id="control.i:Attr" class="caption collapser" onclick="toggleSection('i:Attr')">Instances</p><div id="section.i:Attr" class="show"><table><tr><td class="src"><a href="Database-HaskellDB.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB.html#t:Select">Select</a> (<a href="Database-HaskellDB.html#t:Attr">Attr</a> f a) (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a)</td><td class="doc"><p>Field selection operator. It is overloaded to work for both
   relations in a query and the result of a query.
   That is, it corresponds to both <code><a href="Database-HaskellDB.html#v:-33-">!</a></code> and <code>!.</code> from the original
   HaskellDB. An overloaded operator was selected because users
   (and the developers) always forgot to use !. instead of !
   on query results.
</p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Expr" class="def">Expr</a> a <a href="src/Database-HaskellDB-Query.html#Expr" class="link">Source</a></p><div class="doc"><p>Type of normal expressions, contains the untyped PrimExpr.
</p></div><div class="subs instances"><p id="control.i:Expr" class="caption collapser" onclick="toggleSection('i:Expr')">Instances</p><div id="section.i:Expr" class="show"><table><tr><td class="src"><a href="Database-HaskellDB-Query.html#t:ProjectExpr">ProjectExpr</a> <a href="Database-HaskellDB.html#t:Expr">Expr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">InsertExpr <a href="Database-HaskellDB.html#t:Expr">Expr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-Query.html#t:ExprC">ExprC</a> <a href="Database-HaskellDB.html#t:Expr">Expr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Read.html#t:Read">Read</a> (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">IsExpr (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB.html#t:Args">Args</a> (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-FieldType.html#t:ExprType">ExprType</a> a =&gt; <a href="Database-HaskellDB-FieldType.html#t:ExprType">ExprType</a> (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">BStrToStr (<a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>) (<a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">BStrToStr (<a href="Database-HaskellDB.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>)) (<a href="Database-HaskellDB.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>))</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-BoundedList.html#t:Size">Size</a> n =&gt; BStrToStr (<a href="Database-HaskellDB.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Database-HaskellDB-BoundedString.html#t:BoundedString">BoundedString</a> n))) (<a href="Database-HaskellDB.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>))</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-BoundedList.html#t:Size">Size</a> n =&gt; BStrToStr (<a href="Database-HaskellDB.html#t:Expr">Expr</a> (<a href="Database-HaskellDB-BoundedString.html#t:BoundedString">BoundedString</a> n)) (<a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">IsExpr tail =&gt; IsExpr (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; tail)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB.html#t:Args">Args</a> (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> c)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(IsExpr tail, <a href="Database-HaskellDB.html#t:Args">Args</a> tail) =&gt; <a href="Database-HaskellDB.html#t:Args">Args</a> (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; tail)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB.html#t:Select">Select</a> (<a href="Database-HaskellDB.html#t:Attr">Attr</a> f a) (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a)</td><td class="doc"><p>Field selection operator. It is overloaded to work for both
   relations in a query and the result of a query.
   That is, it corresponds to both <code><a href="Database-HaskellDB.html#v:-33-">!</a></code> and <code>!.</code> from the original
   HaskellDB. An overloaded operator was selected because users
   (and the developers) always forgot to use !. instead of !
   on query results.
</p></td></tr><tr><td class="src">(<a href="Database-HaskellDB-Query.html#t:RelToRec">RelToRec</a> rest, <a href="Database-HaskellDB-HDBRec.html#t:FieldTag">FieldTag</a> f) =&gt; <a href="Database-HaskellDB-Query.html#t:RelToRec">RelToRec</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a) rest)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-Query.html#t:ShowConstant">ShowConstant</a> a, <a href="Database-HaskellDB-Query.html#t:ConstantRecord">ConstantRecord</a> r cr) =&gt; <a href="Database-HaskellDB-Query.html#t:ConstantRecord">ConstantRecord</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a r) (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a) cr)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-Query.html#t:ProjectExpr">ProjectExpr</a> e, <a href="Database-HaskellDB-Query.html#t:ProjectRec">ProjectRec</a> r er) =&gt; <a href="Database-HaskellDB-Query.html#t:ProjectRec">ProjectRec</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (e a) r) (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a) er)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(InsertExpr e, <a href="Database-HaskellDB-Query.html#t:InsertRec">InsertRec</a> r er) =&gt; <a href="Database-HaskellDB-Query.html#t:InsertRec">InsertRec</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (e a) r) (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a) er)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-Database.html#t:GetValue">GetValue</a> a, <a href="Database-HaskellDB-Database.html#t:GetRec">GetRec</a> er vr) =&gt; <a href="Database-HaskellDB-Database.html#t:GetRec">GetRec</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a) er) (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a vr)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ExprAggr" class="def">ExprAggr</a> a <a href="src/Database-HaskellDB-Query.html#ExprAggr" class="link">Source</a></p><div class="doc"><p>Type of aggregate expressions.
</p></div><div class="subs instances"><p id="control.i:ExprAggr" class="caption collapser" onclick="toggleSection('i:ExprAggr')">Instances</p><div id="section.i:ExprAggr" class="show"><table><tr><td class="src"><a href="Database-HaskellDB-Query.html#t:ProjectExpr">ProjectExpr</a> <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-Query.html#t:ExprC">ExprC</a> <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Read.html#t:Read">Read</a> (<a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> (<a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB.html#t:Args">Args</a> (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> c)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Table" class="def">Table</a> r <a href="src/Database-HaskellDB-Query.html#Table" class="link">Source</a></p><div class="doc"><p>Basic tables, contains table name and an
   association from attributes to attribute
   names in the real table.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Query" class="def">Query</a> a <a href="src/Database-HaskellDB-Query.html#Query" class="link">Source</a></p><div class="subs instances"><p id="control.i:Query" class="caption collapser" onclick="toggleSection('i:Query')">Instances</p><div id="section.i:Query" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> <a href="Database-HaskellDB.html#t:Query">Query</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> <a href="Database-HaskellDB.html#t:Query">Query</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> (<a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r))</td><td class="doc"><p>Shows the optimized SQL for the query.
</p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:OrderExpr" class="def">OrderExpr</a>  <a href="src/Database-HaskellDB-PrimQuery.html#OrderExpr" class="link">Source</a></p><div class="subs instances"><p id="control.i:OrderExpr" class="caption collapser" onclick="toggleSection('i:OrderExpr')">Instances</p><div id="section.i:OrderExpr" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> <a href="Database-HaskellDB.html#t:OrderExpr">OrderExpr</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:1">Records
</h1><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:HasField" class="def">HasField</a> f r <a href="src/Database-HaskellDB-HDBRec.html#HasField" class="link">Source</a></p><div class="doc"><p>The record <code>r</code> has the field <code>f</code> if there is an instance of
   <code>HasField f r</code>.
</p></div><div class="subs instances"><p id="control.i:HasField" class="caption collapser" onclick="toggleSection('i:HasField')">Instances</p><div id="section.i:HasField" class="show"><table><tr><td class="src"><a href="Database-HaskellDB.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB.html#t:HasField">HasField</a> f (<a href="Database-HaskellDB.html#t:Record">Record</a> r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB.html#t:HasField">HasField</a> f (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> g a r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB.html#t:HasField">HasField</a> f (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a r)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Record" class="def">Record</a> r = <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a> -&gt; r<a href="src/Database-HaskellDB-HDBRec.html#Record" class="link">Source</a></p><div class="doc"><p>The type used for records. This is a function
   that takes a <code><a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></code> so that the user does not have to 
   put a <code><a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></code> at the end of every record.
</p></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Select" class="def">Select</a> f r a | f r -&gt; a <span class="keyword">where</span><a href="src/Database-HaskellDB-HDBRec.html#Select" class="link">Source</a></p><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:-33-" class="def">(!)</a> :: r -&gt; f -&gt; a<a href="src/Database-HaskellDB-HDBRec.html#%21" class="link">Source</a></p><div class="doc"><p>Field selection operator. It is overloaded so that
   users (read HaskellDB) can redefine it for things
   with phantom record types.
</p></div></div><div class="subs instances"><p id="control.i:Select" class="caption collapser" onclick="toggleSection('i:Select')">Instances</p><div id="section.i:Select" class="show"><table><tr><td class="src">SelectField f r a =&gt; <a href="Database-HaskellDB.html#t:Select">Select</a> (l f a) (<a href="Database-HaskellDB.html#t:Record">Record</a> r) a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB.html#t:Select">Select</a> (<a href="Database-HaskellDB.html#t:Attr">Attr</a> f a) (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a)</td><td class="doc"><p>Field selection operator. It is overloaded to work for both
   relations in a query and the result of a query.
   That is, it corresponds to both <code><a href="Database-HaskellDB.html#v:-33-">!</a></code> and <code>!.</code> from the original
   HaskellDB. An overloaded operator was selected because users
   (and the developers) always forgot to use !. instead of !
   on query results.
</p></td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:-35-" class="def">(#)</a><a href="src/Database-HaskellDB-HDBRec.html#%23" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Database-HaskellDB.html#t:Record">Record</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a>)</td><td class="doc"><p>Field to add
</p></td></tr><tr><td class="src">-&gt; (b -&gt; c)</td><td class="doc"><p>Rest of record
</p></td></tr><tr><td class="src">-&gt; b -&gt; <a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a c</td><td class="doc"><p>New record
</p></td></tr></table></div><div class="doc"><p>Adds the field from a one-field record to another record.
</p></div></div><div class="top"><p class="src"><a name="v:-60--60-" class="def">(&lt;&lt;)</a><a href="src/Database-HaskellDB-Query.html#%3C%3C" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Database-HaskellDB.html#t:Attr">Attr</a> f a</td><td class="doc"><p>Label
</p></td></tr><tr><td class="src">-&gt; e a</td><td class="doc"><p>Expression
</p></td></tr><tr><td class="src">-&gt; <a href="Database-HaskellDB.html#t:Record">Record</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (e a) <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a>)</td><td class="doc"><p>New record
</p></td></tr></table></div><div class="doc"><p>Creates a record field.
   Similar to '(.=.)', but gets the field label from an <code><a href="Database-HaskellDB.html#t:Attr">Attr</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:-60--60--45-" class="def">(&lt;&lt;-)</a><a href="src/Database-HaskellDB-Query.html#%3C%3C-" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Database-HaskellDB-Query.html#t:ShowConstant">ShowConstant</a> a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; <a href="Database-HaskellDB.html#t:Attr">Attr</a> f a</td><td class="doc"><p>Field label
</p></td></tr><tr><td class="src">-&gt; a</td><td class="doc"><p>Field value
</p></td></tr><tr><td class="src">-&gt; <a href="Database-HaskellDB.html#t:Record">Record</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a) <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a>)</td><td class="doc"><p>New record
</p></td></tr></table></div><div class="doc"><p>Convenience operator for constructing records of constants.
   Useful primarily with <code>insert</code>.
   <code>f &lt;&lt;- x</code> is the same as <code>f &lt;&lt; constant x</code>
</p></div></div><div class="top"><p class="src"><a name="v:-33-." class="def">(!.)</a> :: <a href="Database-HaskellDB.html#t:Select">Select</a> f r a =&gt; r -&gt; f -&gt; a<a href="src/Database-HaskellDB-Database.html#%21." class="link">Source</a></p><div class="doc"><p>The (!.) operator selects over returned records from
   the database (= rows)
   Non-overloaded version of <code><a href="Database-HaskellDB.html#v:-33-">!</a></code>. For backwards compatibility.
</p></div></div><h1 id="g:2">Relational operators
</h1><div class="top"><p class="src"><a name="v:restrict" class="def">restrict</a> :: <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Database-HaskellDB-Query.html#restrict" class="link">Source</a></p><div class="doc"><p>Restricts the records to only those who evaluates the 
 expression to True.
</p></div></div><div class="top"><p class="src"><a name="v:table" class="def">table</a> :: <a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> r =&gt; <a href="Database-HaskellDB.html#t:Table">Table</a> r -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r)<a href="src/Database-HaskellDB-Query.html#table" class="link">Source</a></p><div class="doc"><p>Return all records from a specific table.
</p></div></div><div class="top"><p class="src"><a name="v:project" class="def">project</a> :: (<a href="Database-HaskellDB-HDBRec.html#t:ShowLabels">ShowLabels</a> r, <a href="Database-HaskellDB-Query.html#t:ToPrimExprs">ToPrimExprs</a> r, <a href="Database-HaskellDB-Query.html#t:ProjectRec">ProjectRec</a> r er) =&gt; <a href="Database-HaskellDB.html#t:Record">Record</a> r -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> er)<a href="src/Database-HaskellDB-Query.html#project" class="link">Source</a></p><div class="doc"><p>Specifies a subset of the columns in the table.
</p></div></div><div class="top"><p class="src"><a name="v:unique" class="def">unique</a> :: <a href="Database-HaskellDB.html#t:Query">Query</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Database-HaskellDB-Query.html#unique" class="link">Source</a></p><div class="doc"><p>Restricts the relation given to only return unique records. Upshot
 is all projected attributes will be <code>grouped</code>.
</p></div></div><div class="top"><p class="src"><a name="v:union" class="def">union</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r)<a href="src/Database-HaskellDB-Query.html#union" class="link">Source</a></p><div class="doc"><p>Return all records which are present in at least
   one of the relations.
</p></div></div><div class="top"><p class="src"><a name="v:intersect" class="def">intersect</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r)<a href="src/Database-HaskellDB-Query.html#intersect" class="link">Source</a></p><div class="doc"><p>Return all records which are present in both relations.
</p></div></div><div class="top"><p class="src"><a name="v:divide" class="def">divide</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r)<a href="src/Database-HaskellDB-Query.html#divide" class="link">Source</a></p><div class="doc"><p>Not in SQL92.
</p></div></div><div class="top"><p class="src"><a name="v:minus" class="def">minus</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r)<a href="src/Database-HaskellDB-Query.html#minus" class="link">Source</a></p><div class="doc"><p>Return all records from the first relation that are not 
   present in the second relation.
</p></div></div><div class="top"><p class="src"><a name="v:copy" class="def">copy</a> :: <a href="Database-HaskellDB.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB.html#t:Attr">Attr</a> f a -&gt; <a href="Database-HaskellDB.html#t:Rel">Rel</a> r -&gt; <a href="Database-HaskellDB.html#t:Record">Record</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a) <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a>)<a href="src/Database-HaskellDB-Query.html#copy" class="link">Source</a></p><div class="doc"><p>Creates a single-field record from an attribute and a table. Useful
 for building projections that will re-use the same attribute name. <code>copy attr tbl</code> is
 equivalent to:
</p><pre>attr .=. (tbl .!. attr)</pre></div></div><div class="top"><p class="src"><a name="v:copyAll" class="def">copyAll</a> :: <a href="Database-HaskellDB-Query.html#t:RelToRec">RelToRec</a> r =&gt; <a href="Database-HaskellDB.html#t:Rel">Rel</a> r -&gt; <a href="Database-HaskellDB.html#t:Record">Record</a> r<a href="src/Database-HaskellDB-Query.html#copyAll" class="link">Source</a></p><div class="doc"><p>Copies all columns in the relation given. Useful for appending
 the remaining columns in a table to a projection. For example:
</p><pre>   query = do
     tbl &lt;- table some_table
     project $ copyAll tbl
</pre><p>will add all columns in <a href="some_table.html">some_table</a> to the query.
</p></div></div><div class="top"><p class="src"><a name="v:subQuery" class="def">subQuery</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r)<a href="src/Database-HaskellDB-Query.html#subQuery" class="link">Source</a></p><div class="doc"><p>Allows a subquery to be created between another query and
 this query. Normally query definition is associative and query definition
 is interleaved. This combinator ensures the given query is
 added as a whole piece.
</p></div></div><h1 id="g:3">Query expressions
</h1><div class="top"><p class="src"><a name="v:.-61--61-." class="def">(.==.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Database-HaskellDB-Query.html#.%3D%3D." class="link">Source</a></p><div class="doc"><p>Equality comparison on Exprs, = in SQL.
</p></div></div><div class="top"><p class="src"><a name="v:.-60--62-." class="def">(.&lt;&gt;.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Database-HaskellDB-Query.html#.%3C%3E." class="link">Source</a></p><div class="doc"><p>Inequality on Exprs, <a href=""></a> in SQL.
</p></div></div><div class="top"><p class="src"><a name="v:.-60-." class="def">(.&lt;.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Database-HaskellDB-Query.html#.%3C." class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:.-60--61-." class="def">(.&lt;=.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Database-HaskellDB-Query.html#.%3C%3D." class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:.-62-." class="def">(.&gt;.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Database-HaskellDB-Query.html#.%3E." class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:.-62--61-." class="def">(.&gt;=.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Database-HaskellDB-Query.html#.%3E%3D." class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:.-38--38-." class="def">(.&amp;&amp;.)</a> :: <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Database-HaskellDB-Query.html#.%26%26." class="link">Source</a></p><div class="doc"><p>&quot;Logical and&quot; on <code><a href="Database-HaskellDB.html#t:Expr">Expr</a></code>, AND in SQL.
</p></div></div><div class="top"><p class="src"><a name="v:.-124--124-." class="def">(.||.)</a> :: <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Database-HaskellDB-Query.html#.%7C%7C." class="link">Source</a></p><div class="doc"><p>&quot;Logical or&quot; on <code><a href="Database-HaskellDB.html#t:Expr">Expr</a></code>. OR in SQL.
</p></div></div><div class="top"><p class="src"><a name="v:.-42-." class="def">(.*.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a<a href="src/Database-HaskellDB-Query.html#.%2A." class="link">Source</a></p><div class="doc"><p>Multiplication
</p></div></div><div class="top"><p class="src"><a name="v:.-47-." class="def">(./.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a<a href="src/Database-HaskellDB-Query.html#.%2F." class="link">Source</a></p><div class="doc"><p>Division
</p></div></div><div class="top"><p class="src"><a name="v:.-43-." class="def">(.+.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a<a href="src/Database-HaskellDB-Query.html#.%2B." class="link">Source</a></p><div class="doc"><p>Addition
</p></div></div><div class="top"><p class="src"><a name="v:.-45-." class="def">(.-.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a<a href="src/Database-HaskellDB-Query.html#.-." class="link">Source</a></p><div class="doc"><p>Subtraction 
</p></div></div><div class="top"><p class="src"><a name="v:.-37-." class="def">(.%.)</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a<a href="src/Database-HaskellDB-Query.html#.%25." class="link">Source</a></p><div class="doc"><p>Modulo
</p></div></div><div class="top"><p class="src"><a name="v:.-43--43-." class="def">(.++.)</a> :: <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Database-HaskellDB-Query.html#.%2B%2B." class="link">Source</a></p><div class="doc"><p>Concatenates two String-expressions. 
</p></div></div><div class="top"><p class="src"><a name="v:_not" class="def">_not</a> :: <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Database-HaskellDB-Query.html#_not" class="link">Source</a></p><div class="doc"><p>The inverse of an Expr Bool.
</p></div></div><div class="top"><p class="src"><a name="v:like" class="def">like</a> :: <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Database-HaskellDB-Query.html#like" class="link">Source</a></p><div class="doc"><p>The HaskellDB counterpart to the SQL LIKE keyword.
 In the expresions, % is a wildcard representing any characters
 in the same position relavtive to the given characters and
 _ is a wildcard representing one character e.g.
</p><pre> like (constant &quot;ABCDEFFF&quot;) (constant &quot;AB%F_F&quot;)
</pre><p>is true while
</p><pre> like (constant &quot;ABCDEF&quot;) (constant &quot;AC%F&quot;) 
</pre><p>is false.
</p><p>Note that SQL92 does not specify whether LIKE is case-sensitive or not.
 Different database systems implement this differently.
</p></div></div><div class="top"><p class="src"><a name="v:_in" class="def">_in</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; [<a href="Database-HaskellDB.html#t:Expr">Expr</a> a] -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Database-HaskellDB-Query.html#_in" class="link">Source</a></p><div class="doc"><p>Returns true if the value of the first operand is
   equal to the value of any of the expressions in the 
   list operand. 
</p></div></div><div class="top"><p class="src"><a name="v:cat" class="def">cat</a> :: <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Database-HaskellDB-Query.html#cat" class="link">Source</a></p><div class="doc"><p>Produces the concatenation of two String-expressions.
</p></div></div><div class="top"><p class="src"><a name="v:_length" class="def">_length</a> :: <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a><a href="src/Database-HaskellDB-Query.html#_length" class="link">Source</a></p><div class="doc"><p>Gets the length of a string.
</p></div></div><div class="top"><p class="src"><a name="v:isNull" class="def">isNull</a> ::  <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Database-HaskellDB-Query.html#isNull" class="link">Source</a></p><div class="doc"><p>Returns true if the expression is Null.
</p></div></div><div class="top"><p class="src"><a name="v:notNull" class="def">notNull</a> ::  <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Database-HaskellDB-Query.html#notNull" class="link">Source</a></p><div class="doc"><p>The inverse of <code><a href="Database-HaskellDB.html#v:isNull">isNull</a></code>, returns false
 if the expression supplied is Null.
</p></div></div><div class="top"><p class="src"><a name="v:fromNull" class="def">fromNull</a><a href="src/Database-HaskellDB-Query.html#fromNull" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</td><td class="doc"><p>Default value (to be returned for <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#v:Nothing">Nothing</a></code>)
</p></td></tr><tr><td class="src">-&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</td><td class="doc"><p>A nullable expression
</p></td></tr><tr><td class="src">-&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Takes a default value a and a nullable value. If the value is NULL,
   the default value is returned, otherwise the value itself is returned.
   Simliar to <code>fromMaybe</code>
</p></div></div><div class="top"><p class="src"><a name="v:fromVal" class="def">fromVal</a> :: <a href="Database-HaskellDB-Query.html#t:ShowConstant">ShowConstant</a> a =&gt; a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a) -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a<a href="src/Database-HaskellDB-Query.html#fromVal" class="link">Source</a></p><div class="doc"><p>Similar to fromNull, but takes a 
 value argument rather than an Expr.
</p></div></div><div class="top"><p class="src"><a name="v:constant" class="def">constant</a> :: <a href="Database-HaskellDB-Query.html#t:ShowConstant">ShowConstant</a> a =&gt; a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a<a href="src/Database-HaskellDB-Query.html#constant" class="link">Source</a></p><div class="doc"><p>Creates a constant expression from a haskell value.
</p></div></div><div class="top"><p class="src"><a name="v:constVal" class="def">constVal</a> :: <a href="Database-HaskellDB-Query.html#t:ShowConstant">ShowConstant</a> a =&gt; a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a)<a href="src/Database-HaskellDB-Query.html#constVal" class="link">Source</a></p><div class="doc"><p>Turn constant data into a nullable expression. 
   Same as <code>constant . Just</code>
</p></div></div><div class="top"><p class="src"><a name="v:constNull" class="def">constNull</a> ::  <a href="Database-HaskellDB.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a)<a href="src/Database-HaskellDB-Query.html#constNull" class="link">Source</a></p><div class="doc"><p>Represents a null value.
</p></div></div><div class="top"><p class="src"><a name="v:constExpr" class="def">constExpr</a> ::  <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a)<a href="src/Database-HaskellDB-Query.html#constExpr" class="link">Source</a></p><div class="doc"><p>Turn constant data into a nullable expression. 
   Same as <code>constant . Just</code>
</p></div></div><div class="top"><p class="src"><a name="v:param" class="def">param</a><a href="src/Database-HaskellDB-Query.html#param" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</td><td class="doc"><p>Default value.
</p></td></tr><tr><td class="src">-&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Create an anonymous parameter with a default value.
</p></div></div><div class="top"><p class="src"><a name="v:namedParam" class="def">namedParam</a><a href="src/Database-HaskellDB-Query.html#namedParam" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Database-HaskellDB-PrimQuery.html#t:Name">Name</a></td><td class="doc"><p>Name of the parameter.
</p></td></tr><tr><td class="src">-&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</td><td class="doc"><p>Default value for the parameter.
</p></td></tr><tr><td class="src">-&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Create a named parameter with a default value.
</p></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Args" class="def">Args</a> a <a href="src/Database-HaskellDB-Query.html#Args" class="link">Source</a></p><div class="doc"><p>Used to implement variable length arguments to <code>func</code>, below.
</p></div><div class="subs instances"><p id="control.i:Args" class="caption collapser" onclick="toggleSection('i:Args')">Instances</p><div id="section.i:Args" class="show"><table><tr><td class="src"><a href="Database-HaskellDB.html#t:Args">Args</a> (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB.html#t:Args">Args</a> (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> c)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(IsExpr tail, <a href="Database-HaskellDB.html#t:Args">Args</a> tail) =&gt; <a href="Database-HaskellDB.html#t:Args">Args</a> (<a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; tail)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:func" class="def">func</a> :: <a href="Database-HaskellDB.html#t:Args">Args</a> a =&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; a<a href="src/Database-HaskellDB-Query.html#func" class="link">Source</a></p><div class="doc"><p>Can be used to define SQL functions which will
appear in queries. Each argument for the function is specified by its own Expr value. 
Examples include:
</p><pre>  lower :: Expr a -&gt; Expr (Maybe String) 
  lower str = func &quot;lower&quot; str
</pre><p>The arguments to the function do not have to be Expr if they can
be converted to Expr:
</p><pre>  data DatePart = Day | Century deriving Show 
</pre><pre>  datePart :: DatePart -&gt; Expr (Maybe CalendarTime) -&gt; Expr (Maybe Int) 
  datePart date col = func &quot;date_part&quot; (constant $ show date) col
</pre><p>Aggregate functions can also be defined. For example:
</p><pre>  every :: Expr Bool -&gt; ExprAggr Bool 
  every col = func &quot;every&quot; col
</pre><p>Aggregates are implemented to always take one argument, so any attempt to
define an aggregate with any more or less arguments will result in an error.
</p><p>Note that type signatures are usually required for each function defined,
unless the arguments can be inferred.
</p></div></div><div class="top"><p class="src"><a name="v:queryParams" class="def">queryParams</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; [<a href="Database-HaskellDB.html#t:Param">Param</a>]<a href="src/Database-HaskellDB.html#queryParams" class="link">Source</a></p><div class="doc"><p>Get paramaters from a query in order.
</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Param" class="def">Param</a> = <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Database-HaskellDB.html#Param" class="link">Source</a></p><div class="doc"><p>Represents a query parameter. Left parameters are indexed
 by position, while right parameters are named.
</p></div></div><div class="top"><p class="src"><a name="v:cast" class="def">cast</a><a href="src/Database-HaskellDB-Query.html#cast" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></td><td class="doc"><p>Destination type.
</p></td></tr><tr><td class="src">-&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</td><td class="doc"><p>Source expression.
</p></td></tr><tr><td class="src">-&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> b</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Generates a <code>CAST</code> expression for the given
 expression, using the argument given as the destination
 type. 
</p></div></div><div class="top"><p class="src"><a name="v:coerce" class="def">coerce</a><a href="src/Database-HaskellDB-Query.html#coerce" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</td><td class="doc"><p>Source expression
</p></td></tr><tr><td class="src">-&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> b</td><td class="doc"><p>Destination type.
</p></td></tr></table></div><div class="doc"><p>Coerce the type of an expression
 to another type. Does not affect the actual
 primitive value - only the <code>phantom</code> type.
</p></div></div><div class="top"><p class="src"><a name="v:literal" class="def">literal</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a<a href="src/Database-HaskellDB-Query.html#literal" class="link">Source</a></p><div class="doc"><p>Inserts the string literally - no escaping, no quoting.
</p></div></div><div class="top"><p class="src"><a name="v:toStr" class="def">toStr</a> :: BStrToStr s d =&gt; s -&gt; d<a href="src/Database-HaskellDB-Query.html#toStr" class="link">Source</a></p><div class="doc"><p>Convert a bounded string to a real string.
</p></div></div><div class="top"><p class="src"><a name="v:count" class="def">count</a> ::  <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a><a href="src/Database-HaskellDB-Query.html#count" class="link">Source</a></p><div class="doc"><p>Returns the number of records (=rows) in a query.
</p></div></div><div class="top"><p class="src"><a name="v:_sum" class="def">_sum</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a<a href="src/Database-HaskellDB-Query.html#_sum" class="link">Source</a></p><div class="doc"><p>Returns the total sum of a column.
</p></div></div><div class="top"><p class="src"><a name="v:_max" class="def">_max</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a<a href="src/Database-HaskellDB-Query.html#_max" class="link">Source</a></p><div class="doc"><p>Returns the highest value of a column.
</p></div></div><div class="top"><p class="src"><a name="v:_min" class="def">_min</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a<a href="src/Database-HaskellDB-Query.html#_min" class="link">Source</a></p><div class="doc"><p>Returns the lowest value of a column.
</p></div></div><div class="top"><p class="src"><a name="v:avg" class="def">avg</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a<a href="src/Database-HaskellDB-Query.html#avg" class="link">Source</a></p><div class="doc"><p>Returns the average of a column.
</p></div></div><div class="top"><p class="src"><a name="v:stddev" class="def">stddev</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a<a href="src/Database-HaskellDB-Query.html#stddev" class="link">Source</a></p><div class="doc"><p>Returns the standard deviation of a column.
</p></div></div><div class="top"><p class="src"><a name="v:stddevP" class="def">stddevP</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a<a href="src/Database-HaskellDB-Query.html#stddevP" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:variance" class="def">variance</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a<a href="src/Database-HaskellDB-Query.html#variance" class="link">Source</a></p><div class="doc"><p>Returns the standard variance of a column.
</p></div></div><div class="top"><p class="src"><a name="v:varianceP" class="def">varianceP</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a -&gt; <a href="Database-HaskellDB.html#t:ExprAggr">ExprAggr</a> a<a href="src/Database-HaskellDB-Query.html#varianceP" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:asc" class="def">asc</a> :: <a href="Database-HaskellDB.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB.html#t:Rel">Rel</a> r -&gt; <a href="Database-HaskellDB.html#t:Attr">Attr</a> f a -&gt; <a href="Database-HaskellDB.html#t:OrderExpr">OrderExpr</a><a href="src/Database-HaskellDB-Query.html#asc" class="link">Source</a></p><div class="doc"><p>Use this together with the function <code><a href="Database-HaskellDB.html#v:order">order</a></code> to 
 order the results of a query in ascending order.
 Takes a relation and an attribute of that relation, which
 is used for the ordering.
</p></div></div><div class="top"><p class="src"><a name="v:desc" class="def">desc</a> :: <a href="Database-HaskellDB.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB.html#t:Rel">Rel</a> r -&gt; <a href="Database-HaskellDB.html#t:Attr">Attr</a> f a -&gt; <a href="Database-HaskellDB.html#t:OrderExpr">OrderExpr</a><a href="src/Database-HaskellDB-Query.html#desc" class="link">Source</a></p><div class="doc"><p>Use this together with the function <code><a href="Database-HaskellDB.html#v:order">order</a></code> to 
 order the results of a query in descending order.
 Takes a relation and an attribute of that relation, which
 is used for the ordering.
</p></div></div><div class="top"><p class="src"><a name="v:order" class="def">order</a> :: [<a href="Database-HaskellDB.html#t:OrderExpr">OrderExpr</a>] -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Database-HaskellDB-Query.html#order" class="link">Source</a></p><div class="doc"><p>Order the results of a query.
 Use this with the <code><a href="Database-HaskellDB.html#v:asc">asc</a></code> or <code><a href="Database-HaskellDB.html#v:desc">desc</a></code> functions.
</p></div></div><div class="top"><p class="src"><a name="v:top" class="def">top</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Database-HaskellDB-Query.html#top" class="link">Source</a></p><div class="doc"><p>Return the n topmost records.
</p></div></div><div class="top"><p class="src"><a name="v:_case" class="def">_case</a><a href="src/Database-HaskellDB-Query.html#_case" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: [(<a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>, <a href="Database-HaskellDB.html#t:Expr">Expr</a> a)]</td><td class="doc"><p>A list of conditions and expressions.
</p></td></tr><tr><td class="src">-&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</td><td class="doc"><p>Else-expression. 
</p></td></tr><tr><td class="src">-&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Creates a conditional expression.
   Returns the value of the expression corresponding to the first 
   true condition. If none of the conditions are true, the value of
   the else-expression is returned.
</p></div></div><div class="top"><p class="src"><a name="v:_default" class="def">_default</a> ::  <a href="Database-HaskellDB-Query.html#t:ExprDefault">ExprDefault</a> a<a href="src/Database-HaskellDB-Query.html#_default" class="link">Source</a></p><div class="doc"><p>The default value of the column. Only works with <code>insert</code>.
</p></div></div><h1 id="g:4">Database operations
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Database" class="def">Database</a>  <a href="src/Database-HaskellDB-Database.html#Database" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:query" class="def">query</a> :: <a href="Database-HaskellDB-Database.html#t:GetRec">GetRec</a> er vr =&gt; <a href="Database-HaskellDB.html#t:Database">Database</a> -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> er) -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> [<a href="Database-HaskellDB.html#t:Record">Record</a> vr]<a href="src/Database-HaskellDB-Database.html#query" class="link">Source</a></p><div class="doc"><p>performs a query on a database
</p></div></div><div class="top"><p class="src"><a name="v:recCat" class="def">recCat</a> :: <a href="Database-HaskellDB-HDBRec.html#t:RecCat">RecCat</a> r1 r2 r3 =&gt; r1 -&gt; r2 -&gt; r3<a href="src/Database-HaskellDB-HDBRec.html#recCat" class="link">Source</a></p><div class="doc"><p>Concatenates two records.
</p></div></div><div class="top"><p class="src"><a name="v:insert" class="def">insert</a> :: (<a href="Database-HaskellDB-Query.html#t:ToPrimExprs">ToPrimExprs</a> r, <a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> r, <a href="Database-HaskellDB-Query.html#t:InsertRec">InsertRec</a> r er) =&gt; <a href="Database-HaskellDB.html#t:Database">Database</a> -&gt; <a href="Database-HaskellDB.html#t:Table">Table</a> er -&gt; <a href="Database-HaskellDB.html#t:Record">Record</a> r -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Database-HaskellDB-Database.html#insert" class="link">Source</a></p><div class="doc"><p>Inserts a record into a table
</p></div></div><div class="top"><p class="src"><a name="v:delete" class="def">delete</a><a href="src/Database-HaskellDB-Database.html#delete" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> r</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; <a href="Database-HaskellDB.html#t:Database">Database</a></td><td class="doc"><p>The database
</p></td></tr><tr><td class="src">-&gt; <a href="Database-HaskellDB.html#t:Table">Table</a> r</td><td class="doc"><p>The table to delete records from
</p></td></tr><tr><td class="src">-&gt; (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>)</td><td class="doc"><p>Predicate used to select records to delete
</p></td></tr><tr><td class="src">-&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>deletes a bunch of records	  
</p></div></div><div class="top"><p class="src"><a name="v:update" class="def">update</a><a href="src/Database-HaskellDB-Database.html#update" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="Database-HaskellDB-HDBRec.html#t:ShowLabels">ShowLabels</a> s, <a href="Database-HaskellDB-Query.html#t:ToPrimExprs">ToPrimExprs</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; <a href="Database-HaskellDB.html#t:Database">Database</a></td><td class="doc"><p>The database
</p></td></tr><tr><td class="src">-&gt; <a href="Database-HaskellDB.html#t:Table">Table</a> r</td><td class="doc"><p>The table to update
</p></td></tr><tr><td class="src">-&gt; (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r -&gt; <a href="Database-HaskellDB.html#t:Expr">Expr</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>)</td><td class="doc"><p>Predicate used to select records to update
</p></td></tr><tr><td class="src">-&gt; (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r -&gt; <a href="Database-HaskellDB.html#t:Record">Record</a> s)</td><td class="doc"><p>Function used to modify selected records
</p></td></tr><tr><td class="src">-&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Updates records
</p></div></div><div class="top"><p class="src"><a name="v:insertQuery" class="def">insertQuery</a> :: <a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> r =&gt; <a href="Database-HaskellDB.html#t:Database">Database</a> -&gt; <a href="Database-HaskellDB.html#t:Table">Table</a> r -&gt; <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Database-HaskellDB-Database.html#insertQuery" class="link">Source</a></p><div class="doc"><p>Inserts values from a query into a table
</p></div></div><div class="top"><p class="src"><a name="v:tables" class="def">tables</a><a href="src/Database-HaskellDB-Database.html#tables" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Database-HaskellDB.html#t:Database">Database</a></td><td class="doc"><p>Database
</p></td></tr><tr><td class="src">-&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> [<a href="Database-HaskellDB-PrimQuery.html#t:TableName">TableName</a>]</td><td class="doc"><p>Names of all tables in the database
</p></td></tr></table></div><div class="doc"><p>List all tables in the database
</p></div></div><div class="top"><p class="src"><a name="v:describe" class="def">describe</a><a href="src/Database-HaskellDB-Database.html#describe" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Database-HaskellDB.html#t:Database">Database</a></td><td class="doc"><p>Database
</p></td></tr><tr><td class="src">-&gt; <a href="Database-HaskellDB-PrimQuery.html#t:TableName">TableName</a></td><td class="doc"><p>Name of the tables whose columns are to be listed
</p></td></tr><tr><td class="src">-&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> [(<a href="Database-HaskellDB-PrimQuery.html#t:Attribute">Attribute</a>, <a href="Database-HaskellDB-FieldType.html#t:FieldDesc">FieldDesc</a>)]</td><td class="doc"><p>Name and type info for each column
</p></td></tr></table></div><div class="doc"><p>List all columns in a table, along with their types
</p></div></div><div class="top"><p class="src"><a name="v:transaction" class="def">transaction</a><a href="src/Database-HaskellDB-Database.html#transaction" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Database-HaskellDB.html#t:Database">Database</a></td><td class="doc"><p>Database
</p></td></tr><tr><td class="src">-&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a</td><td class="doc"><p>Action to run
</p></td></tr><tr><td class="src">-&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Performs some database action in a transaction. If no exception is thrown,
   the changes are committed. 
</p></div></div><h1 id="g:5">Debugging
</h1><div class="top"><p class="src"><a name="v:showQuery" class="def">showQuery</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Database-HaskellDB.html#showQuery" class="link">Source</a></p><div class="doc"><p>Shows the optimized <code><a href="Database-HaskellDB-PrimQuery.html#t:PrimQuery">PrimQuery</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:showQueryUnOpt" class="def">showQueryUnOpt</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Database-HaskellDB.html#showQueryUnOpt" class="link">Source</a></p><div class="doc"><p>Shows the unoptimized <code><a href="Database-HaskellDB-PrimQuery.html#t:PrimQuery">PrimQuery</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:showSql" class="def">showSql</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Database-HaskellDB.html#showSql" class="link">Source</a></p><div class="doc"><p>Shows the optimized SQL query.
</p></div></div><div class="top"><p class="src"><a name="v:showSqlUnOpt" class="def">showSqlUnOpt</a> ::  <a href="Database-HaskellDB.html#t:Query">Query</a> (<a href="Database-HaskellDB.html#t:Rel">Rel</a> r) -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Database-HaskellDB.html#showSqlUnOpt" class="link">Source</a></p><div class="doc"><p>Shows the unoptimized SQL query.
</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.10.0</p></div></body></html>