From: Hannu Krosing <hannu@trust.ee>
To: Thomas G. Lockhart <lockhart@alumni.caltech.edu>
Cc: Bruce Momjian <maillist@candle.pha.pa.us>
Cc: David Hartwig <daveh@insightdist.com>
Cc: hackers@postgreSQL.org
Subject: Re: [INTERFACES] Re: [HACKERS] changes in 6.4
Date: Fri, 17 Jul 1998 10:18:03 +0300
Message-ID: <35AEFAAB.2C8CC9B0@trust.ee> (raw)
References: <199807152339.TAA07145@candle.pha.pa.us>
<35ADBCCB.3B1FB91B@trust.ee>
<35AE04E7.775E4737@alumni.caltech.edu>
Thomas G. Lockhart wrote:
>
> > And there is no way of doing (at least presently):
> >
> > select * from table where (val1,val2,val3)
> > in (select 1,1,1 union select 1,1,2);
>
> I'll look at that...
Could it be a good idea to have the syntax (at least for constants),
changed to (or at least allowed ;) to the following:
select * from table
where (val1,val2,val3)
in ( (1,1,3), (1,1,2), (1,1,1) );
Which brings us to another issue:
Should (val1,val2,val3) be just some construct that gets rewritten to
"something else" in parser, or should it create an instance of
anonymus row type ?
Allowing anonymus row type creation on the fly would allow us many nice
things, for example a way to create new types of aggregate functions,
like
FOR_MAX((price,date)), so that we could do the following in only one
pass
SELECT
FOR_MAX((price,sales_datetime)) as last_price,
MAX(sales_datetime) as last_sale,
WEEK(sales_datetime) week_nr
GROUP BY
week_nr
;
This would get the prices and dates of each weeks last sale, and is
much hairier to do using just standard sql.
Hannu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: hannu@trust.ee, lockhart@alumni.caltech.edu, maillist@candle.pha.pa.us, daveh@insightdist.com, hackers@postgreSQL.org
Subject: Re: [INTERFACES] Re: [HACKERS] changes in 6.4
In-Reply-To: <35AEFAAB.2C8CC9B0@trust.ee>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox