dubious warning: FORMAT JSON has no effect for json and jsonb types

Started by Peter Eisentrautover 2 years ago4 messages
#1Peter Eisentraut
peter@eisentraut.org

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?

#2Merlin Moncure
mmoncure@gmail.com
In reply to: Peter Eisentraut (#1)
Re: dubious warning: FORMAT JSON has no effect for json and jsonb types

On Wed, Aug 16, 2023 at 8:55 AM Peter Eisentraut <peter@eisentraut.org>
wrote:

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?

+1 for removing, on the basis that it is not suprising, and would pollute
logs for most configurations.

merlin

#3Peter Eisentraut
peter@eisentraut.org
In reply to: Merlin Moncure (#2)
Re: dubious warning: FORMAT JSON has no effect for json and jsonb types

On 16.08.23 16:59, Merlin Moncure wrote:

On Wed, Aug 16, 2023 at 8:55 AM Peter Eisentraut <peter@eisentraut.org
<mailto:peter@eisentraut.org>> wrote:

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?

+1 for removing, on the basis that it is not suprising, and would
pollute logs for most configurations.

done

#4Amit Langote
amitlangote09@gmail.com
In reply to: Peter Eisentraut (#3)
Re: dubious warning: FORMAT JSON has no effect for json and jsonb types

On Fri, Aug 18, 2023 at 2:59 PM Peter Eisentraut <peter@eisentraut.org> wrote:

On 16.08.23 16:59, Merlin Moncure wrote:

On Wed, Aug 16, 2023 at 8:55 AM Peter Eisentraut <peter@eisentraut.org
<mailto:peter@eisentraut.org>> wrote:

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?

+1 for removing, on the basis that it is not suprising, and would
pollute logs for most configurations.

done

+1 and thanks. May have been there as a debugging aid if anything.

--
Thanks, Amit Langote
EDB: http://www.enterprisedb.com