Improve error messages for malformed array input strings.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 475aedd1ef0c0f9fc9d675dd2286380d14804975
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2014-12-02T23:23:27Z
Releases: 9.5.0
Improve error messages for malformed array input strings.

Make the error messages issued by array_in() uniformly follow the style
	ERROR: malformed array literal: "actual input string"
	DETAIL: specific complaint here
and rewrite many of the specific complaints to be clearer.

The immediate motivation for doing this is a complaint from Josh Berkus
that json_to_record() produced an unintelligible error message when
dealing with an array item, because it tries to feed the JSON-format
array value to array_in().  Really it ought to be smart enough to
perform JSON-to-Postgres array conversion, but that's a future feature
not a bug fix.  In the meantime, this change is something we agreed
we could back-patch into 9.4, and it should help de-confuse things a bit.

Files