From: | David Fetter <david(at)fetter(dot)org> |
---|---|
To: | Hannu Krosing <hannu(at)tm(dot)ee> |
Cc: | PG Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: WITH clause |
Date: | 2003-12-13 21:17:28 |
Message-ID: | 20031213211728.GB1859@fetter.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sat, Dec 13, 2003 at 10:58:59PM +0200, Hannu Krosing wrote:
> David Fetter kirjutas R, 12.12.2003 kell 20:13:
> > Kind people,
> > I'm looking to the SQL WITH clause as a way to get better regex
> > support in PostgreSQL. I've been chatting a little bit about
> > this, and here's an idea for a behavior. Implementation details
> > TBD.
> > WITH res = match (x.foo, '([0-9]+)x([0-9]+)')
> > SELECT *
> > FROM x
> > WHERE y = res[2]
> > OR y = res[3];
>
> why not use current standard syntax
>
> SELECT x.*
> FROM x,
> (select match (x.foo, '([0-9]+)x([0-9]+)')
> from x innerx
> where innerx.pk = x.pk
> ) as res
> HAVING y = get_match_group(res, 2)
> OR y = get_match_group(res, 3)
> ;
>
> with functions match(str,regex) which returns a match object and
> get_match_group which extracts matched groups from it.
Hannu, excellent idea! This is just the kind of discussion I was
trying to start :)
Cheers,
D
--
David Fetter david(at)fetter(dot)org http://fetter.org/
phone: +1 510 893 6100 cell: +1 415 235 3778
From | Date | Subject | |
---|---|---|---|
Next Message | Hannu Krosing | 2003-12-13 22:27:05 | Re: WITH clause |
Previous Message | Hannu Krosing | 2003-12-13 20:58:59 | Re: WITH clause |