]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Fix sample INSTR() functions in the plpgsql documentation.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 10 Jan 2018 22:13:29 +0000 (17:13 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 10 Jan 2018 22:13:29 +0000 (17:13 -0500)
commit493cdc8ee503eeb2a48736a3c5c2a59d52d26838
tree9b10bb821be1759cbc7d136b7e5bbbcd1d1025a4
parentc6187964047f5892fb91e3af170996a93af33ed9
Fix sample INSTR() functions in the plpgsql documentation.

These functions are stated to be Oracle-compatible, but they weren't.
Yugo Nagata noticed that while our code returns zero for a zero or
negative fourth parameter (occur_index), Oracle throws an error.
Further testing by me showed that there was also a discrepancy in the
interpretation of a negative third parameter (beg_index): Oracle thinks
that a negative beg_index indicates the last place where the target
substring can *begin*, whereas our code thinks it is the last place
where the target can *end*.

Adjust the sample code to behave like Oracle in both these respects.
Also change it to be a CDATA[] section, simplifying copying-and-pasting
out of the documentation source file.  And fix minor problems in the
introductory comment, which wasn't very complete or accurate.

Back-patch to all supported branches.  Although this patch only touches
documentation, we should probably call it out as a bug fix in the next
minor release notes, since users who have adopted the functions will
likely want to update their versions.

Yugo Nagata and Tom Lane

Discussion: https://postgr.es/m/20171229191705.c0b43a8c.nagata@sraoss.co.jp
doc/src/sgml/plpgsql.sgml