@@ -47,7 +47,6 @@ typedef struct JsonbAggState
4747} JsonbAggState ;
4848
4949static inline Datum jsonb_from_cstring (char * json , int len , bool unique_keys );
50- static size_t checkStringLen (size_t len );
5150static void jsonb_in_object_start (void * pstate );
5251static void jsonb_in_object_end (void * pstate );
5352static void jsonb_in_array_start (void * pstate );
@@ -266,18 +265,6 @@ jsonb_from_cstring(char *json, int len, bool unique_keys)
266265 PG_RETURN_JSONB_P (JsonbValueToJsonb (state .res ));
267266}
268267
269- static size_t
270- checkStringLen (size_t len )
271- {
272- if (len > JENTRY_OFFLENMASK )
273- ereport (ERROR ,
274- (errcode (ERRCODE_PROGRAM_LIMIT_EXCEEDED ),
275- errmsg ("string too long to represent as jsonb string" ),
276- errdetail ("Due to an implementation restriction, jsonb strings cannot exceed %d bytes." ,
277- JENTRY_OFFLENMASK )));
278-
279- return len ;
280- }
281268
282269static void
283270jsonb_in_object_start (void * pstate )
@@ -320,7 +307,7 @@ jsonb_in_object_field_start(void *pstate, char *fname, bool isnull)
320307
321308 Assert (fname != NULL );
322309 v .type = jbvString ;
323- v .val .string .len = checkStringLen ( strlen (fname ) );
310+ v .val .string .len = strlen (fname );
324311 v .val .string .val = fname ;
325312
326313 _state -> res = pushJsonbValue (& _state -> parseState , WJB_KEY , & v );
@@ -370,7 +357,7 @@ jsonb_in_scalar(void *pstate, char *token, JsonTokenType tokentype)
370357 case JSON_TOKEN_STRING :
371358 Assert (token != NULL );
372359 v .type = jbvString ;
373- v .val .string .len = checkStringLen ( strlen (token ) );
360+ v .val .string .len = strlen (token );
374361 v .val .string .val = token ;
375362 break ;
376363 case JSON_TOKEN_NUMBER :
@@ -860,7 +847,7 @@ datum_to_jsonb(Datum val, bool is_null, JsonbInState *result,
860847 default :
861848 outputstr = OidOutputFunctionCall (outfuncoid , val );
862849 jb .type = jbvString ;
863- jb .val .string .len = checkStringLen ( strlen (outputstr ) );
850+ jb .val .string .len = strlen (outputstr );
864851 jb .val .string .val = outputstr ;
865852 break ;
866853 }
0 commit comments