summaryrefslogtreecommitdiff
path: root/src/backend/executor/execJunk.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2018-01-10 17:13:29 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2018-01-10 17:13:29 -0500
commit45bfef7fbae98a076c86e23f3b59eab81e3cb70b (patch)
tree1ce9302b68de66ae86bc98fe3cb6b851f14084bc /src/backend/executor/execJunk.c
parent469fa9ad6d0564b7252e89726533c0b7ccb2c4ec (diff)
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
Diffstat (limited to 'src/backend/executor/execJunk.c')
0 files changed, 0 insertions, 0 deletions