comparison doc/manual.tex @ 994:7932d577cf78

Initial versioned1 demo working
author Adam Chlipala <adamc@hcoop.net>
date Tue, 06 Oct 2009 15:59:11 -0400
parents 28bf725de7f3
children 93315ac00394
comparison
equal deleted inserted replaced
993:10114d7b7477 994:7932d577cf78
1467 $$\begin{array}{l} 1467 $$\begin{array}{l}
1468 \mt{val} \; \mt{sql\_query1} : \mt{tables} ::: \{\{\mt{Type}\}\} \\ 1468 \mt{val} \; \mt{sql\_query1} : \mt{tables} ::: \{\{\mt{Type}\}\} \\
1469 \hspace{.1in} \to \mt{grouped} ::: \{\{\mt{Type}\}\} \\ 1469 \hspace{.1in} \to \mt{grouped} ::: \{\{\mt{Type}\}\} \\
1470 \hspace{.1in} \to \mt{selectedFields} ::: \{\{\mt{Type}\}\} \\ 1470 \hspace{.1in} \to \mt{selectedFields} ::: \{\{\mt{Type}\}\} \\
1471 \hspace{.1in} \to \mt{selectedExps} ::: \{\mt{Type}\} \\ 1471 \hspace{.1in} \to \mt{selectedExps} ::: \{\mt{Type}\} \\
1472 \hspace{.1in} \to \{\mt{From} : \mt{sql\_from\_items} \; \mt{tables}, \\ 1472 \hspace{.1in} \to \{\mt{Distinct} : \mt{bool}, \\
1473 \hspace{.2in} \mt{From} : \mt{sql\_from\_items} \; \mt{tables}, \\
1473 \hspace{.2in} \mt{Where} : \mt{sql\_exp} \; \mt{tables} \; [] \; [] \; \mt{bool}, \\ 1474 \hspace{.2in} \mt{Where} : \mt{sql\_exp} \; \mt{tables} \; [] \; [] \; \mt{bool}, \\
1474 \hspace{.2in} \mt{GroupBy} : \mt{sql\_subset} \; \mt{tables} \; \mt{grouped}, \\ 1475 \hspace{.2in} \mt{GroupBy} : \mt{sql\_subset} \; \mt{tables} \; \mt{grouped}, \\
1475 \hspace{.2in} \mt{Having} : \mt{sql\_exp} \; \mt{grouped} \; \mt{tables} \; [] \; \mt{bool}, \\ 1476 \hspace{.2in} \mt{Having} : \mt{sql\_exp} \; \mt{grouped} \; \mt{tables} \; [] \; \mt{bool}, \\
1476 \hspace{.2in} \mt{SelectFields} : \mt{sql\_subset} \; \mt{grouped} \; \mt{selectedFields}, \\ 1477 \hspace{.2in} \mt{SelectFields} : \mt{sql\_subset} \; \mt{grouped} \; \mt{selectedFields}, \\
1477 \hspace{.2in} \mt {SelectExps} : \$(\mt{map} \; (\mt{sql\_exp} \; \mt{grouped} \; \mt{tables} \; []) \; \mt{selectedExps}) \} \\ 1478 \hspace{.2in} \mt {SelectExps} : \$(\mt{map} \; (\mt{sql\_exp} \; \mt{grouped} \; \mt{tables} \; []) \; \mt{selectedExps}) \} \\
1853 1854
1854 Queries $Q$ are added to the rules for expressions $e$. 1855 Queries $Q$ are added to the rules for expressions $e$.
1855 1856
1856 $$\begin{array}{rrcll} 1857 $$\begin{array}{rrcll}
1857 \textrm{Queries} & Q &::=& (q \; [\mt{ORDER} \; \mt{BY} \; (E \; [o],)^+] \; [\mt{LIMIT} \; N] \; [\mt{OFFSET} \; N]) \\ 1858 \textrm{Queries} & Q &::=& (q \; [\mt{ORDER} \; \mt{BY} \; (E \; [o],)^+] \; [\mt{LIMIT} \; N] \; [\mt{OFFSET} \; N]) \\
1858 \textrm{Pre-queries} & q &::=& \mt{SELECT} \; P \; \mt{FROM} \; T,^+ \; [\mt{WHERE} \; E] \; [\mt{GROUP} \; \mt{BY} \; p,^+] \; [\mt{HAVING} \; E] \\ 1859 \textrm{Pre-queries} & q &::=& \mt{SELECT} \; [\mt{DISTINCT}] \; P \; \mt{FROM} \; T,^+ \; [\mt{WHERE} \; E] \; [\mt{GROUP} \; \mt{BY} \; p,^+] \; [\mt{HAVING} \; E] \\
1859 &&& \mid q \; R \; q \\ 1860 &&& \mid q \; R \; q \\
1860 \textrm{Relational operators} & R &::=& \mt{UNION} \mid \mt{INTERSECT} \mid \mt{EXCEPT} 1861 \textrm{Relational operators} & R &::=& \mt{UNION} \mid \mt{INTERSECT} \mid \mt{EXCEPT}
1861 \end{array}$$ 1862 \end{array}$$
1862 1863
1863 $$\begin{array}{rrcll} 1864 $$\begin{array}{rrcll}