aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2005-07-29 03:17:55 +0000
committerBruce Momjian <bruce@momjian.us>2005-07-29 03:17:55 +0000
commit722f31f786164d5bffd801be6fe31515cc3f2ece (patch)
treec4c7bb43bb41cc355cd6559bbd12ce86f648bdbf
parent5d27bf20b482ca7d1bd206da49bd6495d783bc71 (diff)
downloadpostgresql-722f31f786164d5bffd801be6fe31515cc3f2ece.tar.gz
postgresql-722f31f786164d5bffd801be6fe31515cc3f2ece.zip
Thank you for applying patch --- regexp_replace.
An attached patch is a small additional improvement. This patch use appendStringInfoText instead of appendStringInfoString. There is an overhead of PG_TEXT_GET_STR when appendStringInfoString is executed by text type. This can be reduced by appendStringInfoText. Atsushi Ogawa
-rw-r--r--src/backend/utils/adt/varlena.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/backend/utils/adt/varlena.c b/src/backend/utils/adt/varlena.c
index 3618bce1f0b..9ea8a17b025 100644
--- a/src/backend/utils/adt/varlena.c
+++ b/src/backend/utils/adt/varlena.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/adt/varlena.c,v 1.129 2005/07/21 04:41:43 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/varlena.c,v 1.130 2005/07/29 03:17:55 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -2064,7 +2064,7 @@ appendStringInfoRegexpSubstr(StringInfo str, text *replace_text,
{
text *append_text = text_substring(PointerGetDatum(replace_text),
substr_start, ch_cnt, false);
- appendStringInfoString(str, PG_TEXT_GET_STR(append_text));
+ appendStringInfoText(str, append_text);
pfree(append_text);
}
substr_start += ch_cnt + 1;
@@ -2099,7 +2099,7 @@ appendStringInfoRegexpSubstr(StringInfo str, text *replace_text,
/* Copy the text that is back reference of regexp. */
text *append_text = text_substring(PointerGetDatum(src_text),
so + 1, (eo - so), false);
- appendStringInfoString(str, PG_TEXT_GET_STR(append_text));
+ appendStringInfoText(str, append_text);
pfree(append_text);
}
}
@@ -2169,7 +2169,7 @@ replace_text_regexp(PG_FUNCTION_ARGS)
text *left_text = text_substring(PointerGetDatum(src_text),
data_pos + 1,
pmatch[0].rm_so - data_pos, false);
- appendStringInfoString(str, PG_TEXT_GET_STR(left_text));
+ appendStringInfoText(str, left_text);
pfree(left_text);
}
@@ -2180,7 +2180,7 @@ replace_text_regexp(PG_FUNCTION_ARGS)
if (have_escape)
appendStringInfoRegexpSubstr(str, replace_text, pmatch, src_text);
else
- appendStringInfoString(str, PG_TEXT_GET_STR(replace_text));
+ appendStringInfoText(str, replace_text);
search_start = data_pos = pmatch[0].rm_eo;
@@ -2205,7 +2205,7 @@ replace_text_regexp(PG_FUNCTION_ARGS)
{
text *right_text = text_substring(PointerGetDatum(src_text),
data_pos + 1, -1, true);
- appendStringInfoString(str, PG_TEXT_GET_STR(right_text));
+ appendStringInfoText(str, right_text);
pfree(right_text);
}