summaryrefslogtreecommitdiff
path: root/src/backend/optimizer/prep/prepjointree.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
commit1226051948e00c3fcadf82da47e9513572a1d5dc (patch)
tree53405650c20c065f5a28c6ac3afd802e3da3504e /src/backend/optimizer/prep/prepjointree.c
parentc24a908d04806c34c3e5dda42d39bb5ca1fc5ffb (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/optimizer/prep/prepjointree.c')
0 files changed, 0 insertions, 0 deletions