Re: writing new regexp functions - Mailing list pgsql-hackers

From Jeremy Drake
Subject Re: writing new regexp functions
Date
Msg-id Pine.BSO.4.64.0702021653360.28908@resin.csoft.net
Whole thread Raw
In response to Re: writing new regexp functions  (Jeremy Drake <pgsql@jdrake.com>)
Responses Re: writing new regexp functions  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Fri, 2 Feb 2007, Jeremy Drake wrote:

> I just coded up for this:
>
> CREATE FUNCTION regexp_matches(IN str text, IN pattern text) RETURNS
> text[]
>     AS 'MODULE_PATHNAME', 'regexp_matches'
>     LANGUAGE C IMMUTABLE STRICT;
>
> CREATE FUNCTION regexp_matches(
>         IN str text, IN pattern text, IN return_pre_and_post bool,
>         OUT prematch text, OUT fullmatch text, OUT matches text[], OUT
> postmatch text) RETURNS record
>     AS 'MODULE_PATHNAME', 'regexp_matches'
>     LANGUAGE C IMMUTABLE STRICT;
>

I wanted to put out there the question of what order the parameters to
these regex functions should go.  ISTM most people expect them to go
(pattern, string), but I made these functions consistant with
substring(text,text) which takes (string, pattern).  Now I have been
working on a regexp_split function, which takes (pattern, string), which
is what someone familiar with the function from perl would expect, but is
not consistant with substring or now with my regexp_matches function.

I want to ask, should I break with following substring's precedent, and
put the pattern first (as most people probably would expect), or should I
break with perl's precedent and put the pattern second (to behave like
substring)?


-- 
We cannot put the face of a person on a stamp unless said person is
deceased.  My suggestion, therefore, is that you drop dead.    -- James E. Day, Postmaster General


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Sync Scan update
Next
From: "Florian G. Pflug"
Date:
Subject: Re: Referential Integrity and SHARE locks