Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 49c8a93

Browse files
CherkashinSergeyza-arthur
authored andcommitted
Refactoring of makePackHTAB()
1 parent 8ba32c2 commit 49c8a93

File tree

1 file changed

+12
-19
lines changed

1 file changed

+12
-19
lines changed

pg_variables.c

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1247,32 +1247,25 @@ ensurePackagesHashExists(void)
12471247
static void
12481248
makePackHTAB(Package *package, bool is_trans)
12491249
{
1250-
HASHCTL ctl;
1251-
char hash_name[BUFSIZ];
1250+
HASHCTL ctl;
1251+
char hash_name[BUFSIZ];
1252+
HTAB **htab;
1253+
MemoryContext *context;
12521254

1253-
if (is_trans)
1254-
package->hctxTransact = AllocSetContextCreate(ModuleContext,
1255-
PGV_MCXT_VARS,
1256-
ALLOCSET_DEFAULT_SIZES);
1257-
else
1258-
package->hctxRegular = AllocSetContextCreate(ModuleContext,
1259-
PGV_MCXT_VARS,
1260-
ALLOCSET_DEFAULT_SIZES);
1255+
htab = is_trans ? &package->varHashTransact : &package->varHashRegular;
1256+
context = is_trans ? &package->hctxTransact : &package->hctxRegular;
1257+
1258+
*context = AllocSetContextCreate(ModuleContext, PGV_MCXT_VARS,
1259+
ALLOCSET_DEFAULT_SIZES);
12611260

12621261
snprintf(hash_name, BUFSIZ, "%s variables hash for package \"%s\"",
12631262
is_trans ? "Transactional" : "Regular", GetName(package));
12641263
ctl.keysize = NAMEDATALEN;
12651264
ctl.entrysize = sizeof(Variable);
1266-
ctl.hcxt = (is_trans ? package->hctxTransact : package->hctxRegular);
1265+
ctl.hcxt = *context;
12671266

1268-
if (is_trans)
1269-
package->varHashTransact = hash_create(hash_name,
1270-
NUMVARIABLES, &ctl,
1271-
HASH_ELEM | HASH_CONTEXT);
1272-
else
1273-
package->varHashRegular = hash_create(hash_name,
1274-
NUMVARIABLES, &ctl,
1275-
HASH_ELEM | HASH_CONTEXT);
1267+
*htab = hash_create(hash_name, NUMVARIABLES, &ctl,
1268+
HASH_ELEM | HASH_CONTEXT);
12761269
}
12771270

12781271
static Package *

0 commit comments

Comments
 (0)