diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml new file mode 100644 index ba2c57b..4840f6e *** a/doc/src/sgml/plpgsql.sgml --- b/doc/src/sgml/plpgsql.sgml *************** BEGIN *** 5115,5121 **** ELSE RETURN pos + beg_index - 1; END IF; ! ELSE ss_length := char_length(string_to_search); length := char_length(string); beg := length + beg_index - ss_length + 2; --- 5115,5121 ---- ELSE RETURN pos + beg_index - 1; END IF; ! ELSIF beg_index < 0 THEN ss_length := char_length(string_to_search); length := char_length(string); beg := length + beg_index - ss_length + 2; *************** BEGIN *** 5132,5137 **** --- 5132,5139 ---- END LOOP; RETURN 0; + ELSE + RETURN 0; END IF; END; $$ LANGUAGE plpgsql STRICT IMMUTABLE; *************** BEGIN *** 5170,5176 **** ELSE RETURN beg; END IF; ! ELSE ss_length := char_length(string_to_search); length := char_length(string); beg := length + beg_index - ss_length + 2; --- 5172,5178 ---- ELSE RETURN beg; END IF; ! ELSIF beg_index < 0 THEN ss_length := char_length(string_to_search); length := char_length(string); beg := length + beg_index - ss_length + 2; *************** BEGIN *** 5191,5196 **** --- 5193,5200 ---- END LOOP; RETURN 0; + ELSE + RETURN 0; END IF; END; $$ LANGUAGE plpgsql STRICT IMMUTABLE;