We are preparing a 6.3 patch.  Is this patch ready to be used by the
user community, or are you still working on it?

> 
> Hi!
> 
> I started adding the Having Clause and it works quite fine for
> sequential scans! (I think it will also work with hash, index, etc but
> I did not check it out! I made some High level changes which should
> work for all access methods, but maybe I'm wrong. Please let me know.)
> 
> Now it is possible to make queries like:
> 
> select s.sname, max(p.pid), min(p.pid)
> from part p, supplier s
> where s.sid=p.sid
> group by s.sname
> having max(pid)=6 and min(pid)=1 or avg(pid)=4;
> 
> Having does not work yet for queries that contain a subselect statement 
> in the Having clause, I'll try to fix this in the next days.
> 
> If there are some bugs, please let me know, I'll start to read the
> mailinglists now!
> 
> Now here is the patch against the original 6.3 version (no snapshot!!):
> 
> It is encoded using uuencode and called: 
>       postgresql-6.3.tar.gz_to_having.diff.gz.uu
> 
> If your original 6.3 source tree is in:
>    tmp/postgresql-6.3/ 
> perform the following steps to apply the patch:
> 
> $ cd tmp/
> $ uudecode postgresql-6.3.tar.gz_to_having.diff.gz.uu
> $ gunzip postgresql-6.3.tar.gz_to_having.diff.gz
> $ patch < postgresql-6.3.tar.gz_to_having.diff
> 
> Hopefully you will see only "Hunk succeeded..." messages :-)
> 
> Regards
> 
>      Stefan
> 
> 
> -----------------------Cut here----------------------------------------
> begin 644 postgresql-6.3.tar.gz_to_having.diff.gz
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
> :/1P-QL/+=U?_&HS?]/\MO>/_/<H'1Y`S```X
> `
> end
> 
> -----------------------Cut here----------------------------------------
> 
> 
> -- 
> +------------------------------------------------------------------------+
> + Simkovics Stefan                                                       +
> + Student an der TU Wien (Informatik)                                    +
> + Tel.: 02239/3367                                                       +
> + email: ssimkovi@ag.or.at | e9225039@student.tuwien.ac.at               +
> +------------------------------------------------------------------------+
> 


-- 
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

Fri, 20 Mar 1998 17:14:29 -0500 (EST)
Bruce Momjian <maillist@candle.pha.pa.us>
Re: Added Having Clause
Applied.  

This adds HAVING to the system, and is our first contribution from
Stefan, who is doing his thesis on adding ANSI features to PostgreSQL. 
(Stefan, correct me if I am wrong on this.)  He plans to finish by June.


> 
> Hi!
> 
> I started adding the Having Clause and it works quite fine for
> sequential scans! (I think it will also work with hash, index, etc but
> I did not check it out! I made some High level changes which should
> work for all access methods, but maybe I'm wrong. Please let me know.)
> 
> Now it is possible to make queries like:
> 
> select s.sname, max(p.pid), min(p.pid)
> from part p, supplier s
> where s.sid=p.sid
> group by s.sname
> having max(pid)=6 and min(pid)=1 or avg(pid)=4;
> 
> Having does not work yet for queries that contain a subselect statement 
> in the Having clause, I'll try to fix this in the next days.
> 
> If there are some bugs, please let me know, I'll start to read the
> mailinglists now!
> 
> Now here is the patch against the original 6.3 version (no snapshot!!):
> 
> It is encoded using uuencode and called: 
>       postgresql-6.3.tar.gz_to_having.diff.gz.uu
> 
> If your original 6.3 source tree is in:
>    tmp/postgresql-6.3/ 
> perform the following steps to apply the patch:
> 
> $ cd tmp/
> $ uudecode postgresql-6.3.tar.gz_to_having.diff.gz.uu
> $ gunzip postgresql-6.3.tar.gz_to_having.diff.gz
> $ patch < postgresql-6.3.tar.gz_to_having.diff
> 
> Hopefully you will see only "Hunk succeeded..." messages :-)
> 
> Regards
> 
>      Stefan
> 


-- 
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

Mon, 30 Mar 1998 11:36:02 -0500 (EST)
Bruce Momjian <maillist@candle.pha.pa.us>
Re: Added Having Clause