From: | jwieck(at)debis(dot)com (Jan Wieck) |
---|---|
To: | jproseve(at)arcavia(dot)com (JP Rosevear) |
Cc: | pgsql-sql(at)postgreSQL(dot)org, djackson(at)cpsgroup(dot)com |
Subject: | Re: [SQL] More view problems |
Date: | 1999-01-14 08:16:04 |
Message-ID: | m100hwj-000EBQC@orion.SAPserv.Hamburg.dsh.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
>
> Building on DeJuan's suggestion, we have arrived at the following code
> (using the extra view because from queries don't seem to allow sub
> queries):
>
> create view tab021temp as select fldkey as fldkey2, fld000 as fld000,
> fld001 as fld001 from tab000 group by fld001, fld000, fldkey2;
>
> create view tab021 as select count(1) as fldkey, a.fldkey2, a.fld000,
> a.fld001 from tab021temp a, tab021temp b where a.fld001 > b.fld001 or
> (a.fld001 = b.fld001 and a.fld000 > b.fld000) or a.fld000 = b.fld000
> grouPQexec() -- Request was sent to backend, but backend closed the
> channel before rp by fld001, fld000, fldkey2;
>
> select * from tab021;
>
> This terminates in psql with the following error after the select
> statement is made:
>
> PQexec() -- Request was sent to backend, but backend closed the channel
> before r
> esponding. This probably means the backend terminated abnormally before
> or while pr ocessing the request.
>
> What is going on here? Multi level views seem to work if they are
> simple. Why is the connection being dropped? JDBC gives up a similar
> broken pipe error.
There are still bugs in the rewrite system about handling of
GROUP BY in views. It is because views aren't implemented in
a form of subselect. Instead they replace expressions in the
original query. I don't want to explain it in detail here
(RTF-programmers-M). However deep you nest views, the final
rewritten statement is still something you could have typed
as a legal SQL statement - and such has only one possible
grouping.
Don't use GROUP BY in view definitions for now.
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#======================================== jwieck(at)debis(dot)com (Jan Wieck) #
From | Date | Subject | |
---|---|---|---|
Next Message | Dirk Lutzebaeck | 1999-01-14 09:24:02 | Indexes on OIDs ? |
Previous Message | JP Rosevear | 1999-01-14 05:03:15 | More view problems |