Le 04/03/2021 à 16:40, Tom Lane a écrit :
"Joel Jacobson" <j...@compiler.org> writes:
Having abandoned the cute idea that didn't work,
here comes a new patch with a regexp_positions() instead returning
setof record (start_pos integer[], end_pos integer[]).
I wonder if a 2-D integer array wouldn't be a better idea,
ie {{startpos1,length1},{startpos2,length2},...}.  My experience
with working with parallel arrays in SQL has been unpleasant.

Also, did you see

https://www.postgresql.org/message-id/fc160ee0-c843-b024-29bb-97b5da61971f%40darold.net

Seems like there may be some overlap in these proposals.


The object of regexp_position() is to return all start+end of captured substrings, it overlaps a little with regexp_instr() in the way that this function returns the start or end position of a specific captured substring. I think it is a good idea to have a function that returns all positions instead of a single one like regexp_instr(), this is not the same usage. Actually regexp_position() is exactly the same as regexp_matches() except that it return positions instead of substrings.


I also think that it should return a setof 2-D integer array, an other solution is to return all start/end positions of an occurrence chained in an integer array {start1,end1,start2,end2,..}.


Regards,

--
Gilles Darold



Reply via email to