diff options
author | Alvaro Herrera | 2022-09-13 09:59:31 +0000 |
---|---|---|
committer | Alvaro Herrera | 2022-09-13 09:59:31 +0000 |
commit | 6710e83a675eda798544fea4cdcb89eef7f39403 (patch) | |
tree | ff761a3e84b641c25665995248b27192af388fd5 | |
parent | fcf7b3a9d42c3cf778dab0fc644f11f12684d184 (diff) |
Remove useless pstrdups in untransformRelOptions
The two strings are already a single palloc'd chunk, not freed; there's
no reason to allocate separate copies that have the same lifetime.
This code is only called in short-lived memory contexts (except in some
cases in TopTransactionContext, which is still short-lived enough not to
really matter), and typically only for short arrays, so the memory or
computation saved is likely negligible. However, let's fix it to avoid
leaving a bad example of code to copy. This is the only place I could
find where we're doing this with makeDefElem().
Reported-by: Junwang Zhao <[email protected]>
Discussion: https://postgr.es/m/[email protected]
-rw-r--r-- | src/backend/access/common/reloptions.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/access/common/reloptions.c b/src/backend/access/common/reloptions.c index 609329bb21..0aa4b334ab 100644 --- a/src/backend/access/common/reloptions.c +++ b/src/backend/access/common/reloptions.c @@ -1357,9 +1357,9 @@ untransformRelOptions(Datum options) if (p) { *p++ = '\0'; - val = (Node *) makeString(pstrdup(p)); + val = (Node *) makeString(p); } - result = lappend(result, makeDefElem(pstrdup(s), val, -1)); + result = lappend(result, makeDefElem(s, val, -1)); } return result; |