@@ -69,7 +69,6 @@ typedef struct JsonbAggState
6969} JsonbAggState ;
7070
7171static inline Datum jsonb_from_cstring (char * json , int len );
72- static size_t checkStringLen (size_t len );
7372static void jsonb_in_object_start (void * pstate );
7473static void jsonb_in_object_end (void * pstate );
7574static void jsonb_in_array_start (void * pstate );
@@ -285,18 +284,6 @@ jsonb_from_cstring(char *json, int len)
285284 PG_RETURN_JSONB_P (JsonbValueToJsonb (state .res ));
286285}
287286
288- static size_t
289- checkStringLen (size_t len )
290- {
291- if (len > JENTRY_OFFLENMASK )
292- ereport (ERROR ,
293- (errcode (ERRCODE_PROGRAM_LIMIT_EXCEEDED ),
294- errmsg ("string too long to represent as jsonb string" ),
295- errdetail ("Due to an implementation restriction, jsonb strings cannot exceed %d bytes." ,
296- JENTRY_OFFLENMASK )));
297-
298- return len ;
299- }
300287
301288static void
302289jsonb_in_object_start (void * pstate )
@@ -338,7 +325,7 @@ jsonb_in_object_field_start(void *pstate, char *fname, bool isnull)
338325
339326 Assert (fname != NULL );
340327 v .type = jbvString ;
341- v .val .string .len = checkStringLen ( strlen (fname ) );
328+ v .val .string .len = strlen (fname );
342329 v .val .string .val = fname ;
343330
344331 _state -> res = pushJsonbValue (& _state -> parseState , WJB_KEY , & v );
@@ -388,7 +375,7 @@ jsonb_in_scalar(void *pstate, char *token, JsonTokenType tokentype)
388375 case JSON_TOKEN_STRING :
389376 Assert (token != NULL );
390377 v .type = jbvString ;
391- v .val .string .len = checkStringLen ( strlen (token ) );
378+ v .val .string .len = strlen (token );
392379 v .val .string .val = token ;
393380 break ;
394381 case JSON_TOKEN_NUMBER :
@@ -887,7 +874,7 @@ datum_to_jsonb(Datum val, bool is_null, JsonbInState *result,
887874 default :
888875 outputstr = OidOutputFunctionCall (outfuncoid , val );
889876 jb .type = jbvString ;
890- jb .val .string .len = checkStringLen ( strlen (outputstr ) );
877+ jb .val .string .len = strlen (outputstr );
891878 jb .val .string .val = outputstr ;
892879 break ;
893880 }
0 commit comments