From: | Hannu Krosing <hannu(at)tm(dot)ee> |
---|---|
To: | Sean Chittenden <sean(at)chittenden(dot)org> |
Cc: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Open 7.3 items |
Date: | 2002-08-14 06:11:59 |
Message-ID: | 1029305519.3100.82.camel@rh72.home.ee |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, 2002-08-14 at 12:45, Sean Chittenden wrote:
> > > > > Well, they aren't separate fields so you can't ORDER BY domain. The dot
> > > > > was used so it looks like a schema based on dbname.
> >
> > IMHO it should look like an user in domain ;)
>
> Agreed, but there is something to be said for doing a sort of users
> per domain. This wouldn't be an issue, I don't think, if there was a
> split_before() and split_after() like functions.
>
> # SELECT split_before('user(at)domain(dot)com','@'), split_after('user(at)domain(dot)com', '@');
> ?column? | ?column?
> ----------+------------
> user | domain.com
>
> What would you guys say to submissions for a patch that would add the
> function listed above?
create function split_before(text,text) returns text as '
select case when (strpos($1,$2) > 0)
then substr($1,1,strpos($1,$2)-1)
else $1
end as usename
' language 'SQL';
create function split_after(text,text) returns text as '
select case when (strpos($1,$2) > 0)
then substr($1,strpos($1,$2)+1)
else ''''
end as usedomain
' language 'SQL' ;
hannu=# select split_before('me(at)somewhere','@'),
split_after('me(at)somewhere','@');
split_before | split_after
--------------+-------------
me | somewhere
(1 row)
-------------
Hannu
From | Date | Subject | |
---|---|---|---|
Next Message | Joe Conway | 2002-08-14 06:15:25 | Re: [HACKERS] [GENERAL] workaround for lack of REPLACE() function |
Previous Message | Bruce Momjian | 2002-08-14 06:05:08 | Re: [HACKERS] CREATE TEMP TABLE .... ON COMMIT |