Re: Added Having Clause

Started by Bruce Momjianabout 28 years ago1 messageshackers
Jump to latest
#1Bruce Momjian
bruce@momjian.us

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)