I'm going to push attached 3 patches if no objections. Regarding 0003-Separate-two-distinctive-json-errors.patch, I think it requires more thoughts.
RETURN_ERROR(ereport(ERROR, (errcode(ERRCODE_SINGLETON_JSON_ITEM_REQUIRED), errmsg("left operand of jsonpath operator %s is not a single numeric value", - jspOperationName(jsp->type))))); + jspOperationName(jsp->type)), + (llen != 1 ? + errdetail("It was an array with %d elements.", llen): + errdetail("The only element was not a numeric."))))); When we have more than 1 value, it's no exactly array. Jsonpath can extract values from various parts of json document, which never constitute and array. Should we say something like "There are %d values"? Also, probably we should display the type of single element if it's not numeric. jsonb_path_match() also throws ERRCODE_SINGLETON_JSON_ITEM_REQUIRED, should we add similar errdetail() there? ------ Alexander Korotkov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
0001-implement-like_regex-flag-q-in-jsonpath-2.patch
Description: Binary data
0002-improve-jsonpath-like_regex-documentation-2.patch
Description: Binary data
0003-fix-jsonpath-varname-description-2.patch
Description: Binary data