]> granicus.if.org Git - postgresql/commitdiff
Use cstring_to_text_with_len when length is known.
authorRobert Haas <rhaas@postgresql.org>
Mon, 18 Nov 2013 15:17:07 +0000 (10:17 -0500)
committerRobert Haas <rhaas@postgresql.org>
Mon, 18 Nov 2013 15:19:00 +0000 (10:19 -0500)
This avoids a potentially-expensive extra call to strlen().

David Rowley

contrib/pageinspect/fsmfuncs.c
src/backend/utils/adt/json.c

index d0d105fdbdc2dfc352a3da4b82d9ccaa7cbc0730..a91ff224ded8634206d52f61c2e4439993c61e97 100644 (file)
@@ -56,5 +56,5 @@ fsm_page_contents(PG_FUNCTION_ARGS)
        }
        appendStringInfo(&sinfo, "fp_next_slot: %d\n", fsmpage->fp_next_slot);
 
-       PG_RETURN_TEXT_P(cstring_to_text(sinfo.data));
+       PG_RETURN_TEXT_P(cstring_to_text_with_len(sinfo.data, sinfo.len));
 }
index d8ebf4e0029dafa3aa1def0987c1bbaed1feb838..1486eda8167dea8f06932ac5604642e7a3021020 100644 (file)
@@ -1499,7 +1499,7 @@ array_to_json(PG_FUNCTION_ARGS)
 
        array_to_json_internal(array, result, false);
 
-       PG_RETURN_TEXT_P(cstring_to_text(result->data));
+       PG_RETURN_TEXT_P(cstring_to_text_with_len(result->data, result->len));
 }
 
 /*
@@ -1516,7 +1516,7 @@ array_to_json_pretty(PG_FUNCTION_ARGS)
 
        array_to_json_internal(array, result, use_line_feeds);
 
-       PG_RETURN_TEXT_P(cstring_to_text(result->data));
+       PG_RETURN_TEXT_P(cstring_to_text_with_len(result->data, result->len));
 }
 
 /*
@@ -1532,7 +1532,7 @@ row_to_json(PG_FUNCTION_ARGS)
 
        composite_to_json(array, result, false);
 
-       PG_RETURN_TEXT_P(cstring_to_text(result->data));
+       PG_RETURN_TEXT_P(cstring_to_text_with_len(result->data, result->len));
 }
 
 /*
@@ -1549,7 +1549,7 @@ row_to_json_pretty(PG_FUNCTION_ARGS)
 
        composite_to_json(array, result, use_line_feeds);
 
-       PG_RETURN_TEXT_P(cstring_to_text(result->data));
+       PG_RETURN_TEXT_P(cstring_to_text_with_len(result->data, result->len));
 }
 
 /*
@@ -1607,7 +1607,7 @@ to_json(PG_FUNCTION_ARGS)
 
        datum_to_json(val, false, result, tcategory, typoutput);
 
-       PG_RETURN_TEXT_P(cstring_to_text(result->data));
+       PG_RETURN_TEXT_P(cstring_to_text_with_len(result->data, result->len));
 }
 
 /*
@@ -1733,7 +1733,7 @@ json_agg_finalfn(PG_FUNCTION_ARGS)
 
        appendStringInfoChar(state, ']');
 
-       PG_RETURN_TEXT_P(cstring_to_text(state->data));
+       PG_RETURN_TEXT_P(cstring_to_text_with_len(state->data, state->len));
 }
 
 /*