Le 21/03/2021 à 15:53, Tom Lane a écrit : > Chapman Flack <c...@anastigmatix.net> writes: >> If this turns out to be a case of "attached the wrong patch, here's >> the one that does implement foo_regex functions!" then I reserve an >> objection to that. :) > +1 to that. Just to add a note, I do have some ideas about extending > our regex parser so that it could duplicate the XQuery syntax --- none > of the points we mention in 9.7.3.8 seem insurmountable. I'm not > planning to work on that in the near future, mind you, but I definitely > think that we don't want to paint ourselves into a corner where we've > already implemented the XQuery regex functions with the wrong behavior. > > regards, tom lane
I apologize for confusing with the words and phrases I have used. This patch implements the regexp_foo () functions which are available in most RDBMS with the behavior described in the documentation. I have modified the title of the patch in the commitfest to removed wrong use of XQUERY. I don't know too if the other RDBMS respect the XQUERY behavior but for what I've seen for Oracle they are using limited regexp modifiers with sometime not the same letter than PostgreSQL for the same behavior. I have implemented these functions with the Oracle behavior in Orafce [1] with a function that checks the modifiers used. This patch doesn't mimic the Oracle behavior, it use the PostgreSQL behavior with regexp, the one used by regex_replace() and regex_matches(). All regexp modifiers can be used. [1] https://github.com/orafce/orafce/blob/master/orafce--3.14--3.15.sql -- Gilles Darold http://www.darold.net/