# HG changeset patch # User Adam Chlipala # Date 1254859151 14400 # Node ID 7932d577cf78312961f265f896579b7594766884 # Parent 10114d7b7477da0c37bf2829c780d7b8aaf4b796 Initial versioned1 demo working diff -r 10114d7b7477 -r 7932d577cf78 CHANGELOG --- a/CHANGELOG Tue Oct 06 15:39:27 2009 -0400 +++ b/CHANGELOG Tue Oct 06 15:59:11 2009 -0400 @@ -5,6 +5,7 @@ - Bug fixes - Improvement to choice of line number to cite in record unification error messages +- SELECT DISTINCT ======== 20090926 diff -r 10114d7b7477 -r 7932d577cf78 doc/manual.tex --- a/doc/manual.tex Tue Oct 06 15:39:27 2009 -0400 +++ b/doc/manual.tex Tue Oct 06 15:59:11 2009 -0400 @@ -1469,7 +1469,8 @@ \hspace{.1in} \to \mt{grouped} ::: \{\{\mt{Type}\}\} \\ \hspace{.1in} \to \mt{selectedFields} ::: \{\{\mt{Type}\}\} \\ \hspace{.1in} \to \mt{selectedExps} ::: \{\mt{Type}\} \\ - \hspace{.1in} \to \{\mt{From} : \mt{sql\_from\_items} \; \mt{tables}, \\ + \hspace{.1in} \to \{\mt{Distinct} : \mt{bool}, \\ + \hspace{.2in} \mt{From} : \mt{sql\_from\_items} \; \mt{tables}, \\ \hspace{.2in} \mt{Where} : \mt{sql\_exp} \; \mt{tables} \; [] \; [] \; \mt{bool}, \\ \hspace{.2in} \mt{GroupBy} : \mt{sql\_subset} \; \mt{tables} \; \mt{grouped}, \\ \hspace{.2in} \mt{Having} : \mt{sql\_exp} \; \mt{grouped} \; \mt{tables} \; [] \; \mt{bool}, \\ @@ -1855,7 +1856,7 @@ $$\begin{array}{rrcll} \textrm{Queries} & Q &::=& (q \; [\mt{ORDER} \; \mt{BY} \; (E \; [o],)^+] \; [\mt{LIMIT} \; N] \; [\mt{OFFSET} \; N]) \\ - \textrm{Pre-queries} & q &::=& \mt{SELECT} \; P \; \mt{FROM} \; T,^+ \; [\mt{WHERE} \; E] \; [\mt{GROUP} \; \mt{BY} \; p,^+] \; [\mt{HAVING} \; E] \\ + \textrm{Pre-queries} & q &::=& \mt{SELECT} \; [\mt{DISTINCT}] \; P \; \mt{FROM} \; T,^+ \; [\mt{WHERE} \; E] \; [\mt{GROUP} \; \mt{BY} \; p,^+] \; [\mt{HAVING} \; E] \\ &&& \mid q \; R \; q \\ \textrm{Relational operators} & R &::=& \mt{UNION} \mid \mt{INTERSECT} \mid \mt{EXCEPT} \end{array}$$ diff -r 10114d7b7477 -r 7932d577cf78 src/c/urweb.c --- a/src/c/urweb.c Tue Oct 06 15:39:27 2009 -0400 +++ b/src/c/urweb.c Tue Oct 06 15:59:11 2009 -0400 @@ -2160,7 +2160,6 @@ if (localtime_r(&t, &stm)) { s = uw_malloc(ctx, TIMES_MAX); - --stm.tm_hour; len = strftime(s, TIMES_MAX, TIME_FMT, &stm); r = uw_malloc(ctx, len + 14); sprintf(r, "'%s'::timestamp", s);