Re: Open 7.3 items - Mailing list pgsql-hackers

From Sean Chittenden
Subject Re: Open 7.3 items
Date
Msg-id 20020814090342.GG61893@ninja1.internal
Whole thread Raw
In response to Re: Open 7.3 items  (Hannu Krosing <hannu@tm.ee>)
List pgsql-hackers
> > > > > > 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@domain.com','@'), split_after('user@domain.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@somewhere','@'),
> split_after('me@somewhere','@');
>  split_before | split_after 
> --------------+-------------
>  me           | somewhere
> (1 row)

Oh that was handy and fast!  I didn't know of strpos().  Cool, who
says 'ya can't learn something every day?  :~) Now with an alias or
subselect, it should be very easy to order users in a domain in any
way that SQL allows.  :~) Thanks Hannu.  -sc

-- 
Sean Chittenden


pgsql-hackers by date:

Previous
From: Oliver Elphick
Date:
Subject: Re: anoncvs - here we go again!
Next
From: Rod Taylor
Date:
Subject: Re: Domains and Indexes