Qusetion re regexexp_split_to_array and last occurence - Mailing list pgsql-sql

From Mike Martin
Subject Qusetion re regexexp_split_to_array and last occurence
Date
Msg-id CAOwYNKb7mRHZvxoahPKRd2m2ZpSEr3B=+-XgoYZZK5ZZJgypfg@mail.gmail.com
Whole thread Raw
Responses Re: Qusetion re regexexp_split_to_array and last occurence  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-sql
Hi
I have the following in a trigger (update/insert)
 NEW.filearr := (regexp_split_to_array(NEW.tagfile,'(?:/|\.)'))[2:];

This works except when there is a period in the filename

So I did this instead

arrfile=(regexp_split_to_array(NEW.tagfile,'/'))[2:];
NEW.filearr :=arrfile[1:cardinality(arrfile)-1]||regexp_matches(arrfile[cardinality(arrfile)],'(.*)\.(.*)');

Which works perfectly, except performance is 50% slower on a dataset of around 20k

Is there a better solution

Mike

pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: parser that could handle "FROM... SELECT..." as well as "SELECT... FROM..."
Next
From: Mike Martin
Date:
Subject: Question re regexexp_split_to_array and last oc