This warning comes from parse_expr.c transformJsonValueExpr() and is
triggered for example by the following test case:
SELECT JSON_OBJECT('foo': NULL::json FORMAT JSON);
WARNING: FORMAT JSON has no effect for json and jsonb types
But I don't see anything in the SQL standard that would require this
warning. It seems pretty clear that FORMAT JSON in this case is
implicit and otherwise without effect.
Also, we don't have that warning in the output case (RETURNING json
FORMAT JSON).
Anyone remember why this is here? Should we remove it?