comparison doc/manual.tex @ 1421:3dab4696d116

Subqueries may always return NULL
author Adam Chlipala <adam@chlipala.net>
date Thu, 03 Feb 2011 21:04:12 -0500
parents 860c245a7c4d
children 8524a1709821
comparison
equal deleted inserted replaced
1420:146b69c53304 1421:3dab4696d116
1724 \end{array}$$ 1724 \end{array}$$
1725 1725
1726 Any SQL query that returns single columns may be turned into a subquery expression. 1726 Any SQL query that returns single columns may be turned into a subquery expression.
1727 1727
1728 $$\begin{array}{l} 1728 $$\begin{array}{l}
1729 \mt{val} \; \mt{sql\_subquery} : \mt{tables} ::: \{\{\mt{Type}\}\} \to \mt{agg} ::: \{\{\mt{Type}\}\} \to \mt{exps} ::: \{\mt{Type}\} \to \mt{nm} ::: \mt{Name} \to \mt{t} ::: \mt{Type} \\ 1729 \mt{val} \; \mt{sql\_subquery} : \mt{tables} ::: \{\{\mt{Type}\}\} \to \mt{agg} ::: \{\{\mt{Type}\}\} \to \mt{exps} ::: \{\mt{Type}\} \to \mt{nm} ::: \mt{Name} \to \mt{t} ::: \mt{Type} \to \mt{nt} ::: \mt{Type} \\
1730 \hspace{.1in} \to \mt{sql\_query} \; \mt{tables} \; \mt{agg} \; [\mt{nm} = \mt{t}] \to \mt{sql\_exp} \; \mt{tables} \; \mt{agg} \; \mt{exps} \; \mt{t} 1730 \hspace{.1in} \to \mt{nullify} \; \mt{t} \; \mt{nt} \to \mt{sql\_query} \; \mt{tables} \; \mt{agg} \; [\mt{nm} = \mt{t}] \to \mt{sql\_exp} \; \mt{tables} \; \mt{agg} \; \mt{exps} \; \mt{nt}
1731 \end{array}$$ 1731 \end{array}$$
1732 1732
1733 \texttt{FROM} clauses are specified using a type family, whose arguments are the free table variables and the table variables bound by this clause. 1733 \texttt{FROM} clauses are specified using a type family, whose arguments are the free table variables and the table variables bound by this clause.
1734 $$\begin{array}{l} 1734 $$\begin{array}{l}
1735 \mt{con} \; \mt{sql\_from\_items} :: \{\{\mt{Type}\}\} \to \{\{\mt{Type}\}\} \to \mt{Type} \\ 1735 \mt{con} \; \mt{sql\_from\_items} :: \{\{\mt{Type}\}\} \to \{\{\mt{Type}\}\} \to \mt{Type} \\