git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: e3f005d)
Simplify null-element handling in extension_config_remove().
2018年11月12日 16:50:28 +0000 (11:50 -0500)
2018年11月12日 16:50:28 +0000 (11:50 -0500)
There's no point in asking deconstruct_array() for a null-flags
array when we already checked the array has no nulls, and aren't
going to examine the output anyhow. Not asking for this output
should make the code marginally faster, and it's also more
robust since if there somehow were nulls, deconstruct_array()
would throw an error.

Daniel Gustafsson

Discussion: https://postgr.es/m/289FFB8B-7AAB-48B5-A497-6E0D41D7BA47@yesql.se


diff --git a/src/backend/commands/extension.c b/src/backend/commands/extension.c
index 2d761a5773f3217202942d013e4ce8d7c4d97eff..560064d3e1fe74e8febf6e10d93ff17ceba8844b 100644 (file)
--- a/src/backend/commands/extension.c
+++ b/src/backend/commands/extension.c
@@ -2597,14 +2597,13 @@ extension_config_remove(Oid extensionoid, Oid tableoid)
{
/* squeeze out the target element */
Datum *dvalues;
- bool *dnulls;
int nelems;
int i;
+ /* We already checked there are no nulls */
deconstruct_array(a, OIDOID, sizeof(Oid), true, 'i',
- &dvalues, &dnulls, &nelems);
+ &dvalues, NULL, &nelems);
- /* We already checked there are no nulls, so ignore dnulls */
for (i = arrayIndex; i < arrayLength - 1; i++)
dvalues[i] = dvalues[i + 1];
@@ -2644,14 +2643,13 @@ extension_config_remove(Oid extensionoid, Oid tableoid)
{
/* squeeze out the target element */
Datum *dvalues;
- bool *dnulls;
int nelems;
int i;
+ /* We already checked there are no nulls */
deconstruct_array(a, TEXTOID, -1, false, 'i',
- &dvalues, &dnulls, &nelems);
+ &dvalues, NULL, &nelems);
- /* We already checked there are no nulls, so ignore dnulls */
for (i = arrayIndex; i < arrayLength - 1; i++)
dvalues[i] = dvalues[i + 1];
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /