Add another SQL/JSON error code
authorPeter Eisentraut <[email protected]>
Mon, 18 Jul 2022 12:26:43 +0000 (14:26 +0200)
committerPeter Eisentraut <[email protected]>
Mon, 18 Jul 2022 12:26:43 +0000 (14:26 +0200)
A code comment said that the standard does not define a number for
ERRCODE_SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE, but this was
fixed in a later draft version of the standard, so use that number
now.

src/backend/executor/execExprInterp.c
src/backend/utils/errcodes.txt

index 9fcb6be414d0a2709291a9f0eb895c8bf09c3201..723770fda0ed3b4d0c90d56cd035fbb253126af0 100644 (file)
@@ -4980,13 +4980,7 @@ ExecEvalJsonExpr(ExprEvalStep *op, ExprContext *econtext,
                     * type simply does not exist.
                     */
                    ereport(ERROR,
-
-                   /*
-                    * XXX Standard says about a separate error code
-                    * ERRCODE_SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE but
-                    * does not define its number.
-                    */
-                           (errcode(ERRCODE_SQL_JSON_SCALAR_REQUIRED),
+                           (errcode(ERRCODE_SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE),
                             errmsg("SQL/JSON item cannot be cast to target type")));
                }
                else if (!jcstate->estate)
index a4e1a4664410ecd5571c18b0e3407fc2b9578f4e..62418a051ac7ee74db1f371b18a413f52b0dbfb6 100644 (file)
@@ -222,6 +222,7 @@ Section: Class 22 - Data Exception
 2203D    E    ERRCODE_TOO_MANY_JSON_ARRAY_ELEMENTS                           too_many_json_array_elements
 2203E    E    ERRCODE_TOO_MANY_JSON_OBJECT_MEMBERS                           too_many_json_object_members
 2203F    E    ERRCODE_SQL_JSON_SCALAR_REQUIRED                               sql_json_scalar_required
+2203G    E    ERRCODE_SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE            sql_json_item_cannot_be_cast_to_target_type
 
 Section: Class 23 - Integrity Constraint Violation