mirror of
https://github.com/postgres/postgres.git
synced 2025-06-11 20:28:21 +03:00
Reduce excessive dereferencing of function pointers
It is equivalent in ANSI C to write (*funcptr) () and funcptr(). These two styles have been applied inconsistently. After discussion, we'll use the more verbose style for plain function pointer variables, to make it clear that it's a variable, and the shorter style when the function pointer is in a struct (s.func() or s->func()), because then it's clear that it's not a plain function name, and otherwise the excessive punctuation makes some of those invocations hard to read. Discussion: https://www.postgresql.org/message-id/f52c16db-14ed-757d-4b48-7ef360b1631d@2ndquadrant.com
This commit is contained in:
@ -184,10 +184,10 @@ gbt_num_union(GBT_NUMKEY *out, const GistEntryVector *entryvec, const gbtree_nin
|
||||
c.lower = &cur[0];
|
||||
c.upper = &cur[tinfo->size];
|
||||
/* if out->lower > cur->lower, adopt cur as lower */
|
||||
if ((*tinfo->f_gt) (o.lower, c.lower, flinfo))
|
||||
if (tinfo->f_gt(o.lower, c.lower, flinfo))
|
||||
memcpy((void *) o.lower, (void *) c.lower, tinfo->size);
|
||||
/* if out->upper < cur->upper, adopt cur as upper */
|
||||
if ((*tinfo->f_lt) (o.upper, c.upper, flinfo))
|
||||
if (tinfo->f_lt(o.upper, c.upper, flinfo))
|
||||
memcpy((void *) o.upper, (void *) c.upper, tinfo->size);
|
||||
}
|
||||
|
||||
@ -211,8 +211,8 @@ gbt_num_same(const GBT_NUMKEY *a, const GBT_NUMKEY *b, const gbtree_ninfo *tinfo
|
||||
b2.lower = &(((GBT_NUMKEY *) b)[0]);
|
||||
b2.upper = &(((GBT_NUMKEY *) b)[tinfo->size]);
|
||||
|
||||
return ((*tinfo->f_eq) (b1.lower, b2.lower, flinfo) &&
|
||||
(*tinfo->f_eq) (b1.upper, b2.upper, flinfo));
|
||||
return (tinfo->f_eq(b1.lower, b2.lower, flinfo) &&
|
||||
tinfo->f_eq(b1.upper, b2.upper, flinfo));
|
||||
}
|
||||
|
||||
|
||||
@ -236,9 +236,9 @@ gbt_num_bin_union(Datum *u, GBT_NUMKEY *e, const gbtree_ninfo *tinfo, FmgrInfo *
|
||||
|
||||
ur.lower = &(((GBT_NUMKEY *) DatumGetPointer(*u))[0]);
|
||||
ur.upper = &(((GBT_NUMKEY *) DatumGetPointer(*u))[tinfo->size]);
|
||||
if ((*tinfo->f_gt) ((void *) ur.lower, (void *) rd.lower, flinfo))
|
||||
if (tinfo->f_gt((void *) ur.lower, (void *) rd.lower, flinfo))
|
||||
memcpy((void *) ur.lower, (void *) rd.lower, tinfo->size);
|
||||
if ((*tinfo->f_lt) ((void *) ur.upper, (void *) rd.upper, flinfo))
|
||||
if (tinfo->f_lt((void *) ur.upper, (void *) rd.upper, flinfo))
|
||||
memcpy((void *) ur.upper, (void *) rd.upper, tinfo->size);
|
||||
}
|
||||
}
|
||||
@ -264,33 +264,33 @@ gbt_num_consistent(const GBT_NUMKEY_R *key,
|
||||
switch (*strategy)
|
||||
{
|
||||
case BTLessEqualStrategyNumber:
|
||||
retval = (*tinfo->f_ge) (query, key->lower, flinfo);
|
||||
retval = tinfo->f_ge(query, key->lower, flinfo);
|
||||
break;
|
||||
case BTLessStrategyNumber:
|
||||
if (is_leaf)
|
||||
retval = (*tinfo->f_gt) (query, key->lower, flinfo);
|
||||
retval = tinfo->f_gt(query, key->lower, flinfo);
|
||||
else
|
||||
retval = (*tinfo->f_ge) (query, key->lower, flinfo);
|
||||
retval = tinfo->f_ge(query, key->lower, flinfo);
|
||||
break;
|
||||
case BTEqualStrategyNumber:
|
||||
if (is_leaf)
|
||||
retval = (*tinfo->f_eq) (query, key->lower, flinfo);
|
||||
retval = tinfo->f_eq(query, key->lower, flinfo);
|
||||
else
|
||||
retval = ((*tinfo->f_le) (key->lower, query, flinfo) &&
|
||||
(*tinfo->f_le) (query, key->upper, flinfo));
|
||||
retval = (tinfo->f_le(key->lower, query, flinfo) &&
|
||||
tinfo->f_le(query, key->upper, flinfo));
|
||||
break;
|
||||
case BTGreaterStrategyNumber:
|
||||
if (is_leaf)
|
||||
retval = (*tinfo->f_lt) (query, key->upper, flinfo);
|
||||
retval = tinfo->f_lt(query, key->upper, flinfo);
|
||||
else
|
||||
retval = (*tinfo->f_le) (query, key->upper, flinfo);
|
||||
retval = tinfo->f_le(query, key->upper, flinfo);
|
||||
break;
|
||||
case BTGreaterEqualStrategyNumber:
|
||||
retval = (*tinfo->f_le) (query, key->upper, flinfo);
|
||||
retval = tinfo->f_le(query, key->upper, flinfo);
|
||||
break;
|
||||
case BtreeGistNotEqualStrategyNumber:
|
||||
retval = (!((*tinfo->f_eq) (query, key->lower, flinfo) &&
|
||||
(*tinfo->f_eq) (query, key->upper, flinfo)));
|
||||
retval = (!(tinfo->f_eq(query, key->lower, flinfo) &&
|
||||
tinfo->f_eq(query, key->upper, flinfo)));
|
||||
break;
|
||||
default:
|
||||
retval = false;
|
||||
|
@ -109,7 +109,7 @@ gbt_var_leaf2node(GBT_VARKEY *leaf, const gbtree_vinfo *tinfo, FmgrInfo *flinfo)
|
||||
GBT_VARKEY *out = leaf;
|
||||
|
||||
if (tinfo->f_l2n)
|
||||
out = (*tinfo->f_l2n) (leaf, flinfo);
|
||||
out = tinfo->f_l2n(leaf, flinfo);
|
||||
|
||||
return out;
|
||||
}
|
||||
@ -255,13 +255,13 @@ gbt_var_bin_union(Datum *u, GBT_VARKEY *e, Oid collation,
|
||||
nr.lower = ro.lower;
|
||||
nr.upper = ro.upper;
|
||||
|
||||
if ((*tinfo->f_cmp) (ro.lower, eo.lower, collation, flinfo) > 0)
|
||||
if (tinfo->f_cmp(ro.lower, eo.lower, collation, flinfo) > 0)
|
||||
{
|
||||
nr.lower = eo.lower;
|
||||
update = true;
|
||||
}
|
||||
|
||||
if ((*tinfo->f_cmp) (ro.upper, eo.upper, collation, flinfo) < 0)
|
||||
if (tinfo->f_cmp(ro.upper, eo.upper, collation, flinfo) < 0)
|
||||
{
|
||||
nr.upper = eo.upper;
|
||||
update = true;
|
||||
@ -371,8 +371,8 @@ gbt_var_same(Datum d1, Datum d2, Oid collation,
|
||||
r1 = gbt_var_key_readable(t1);
|
||||
r2 = gbt_var_key_readable(t2);
|
||||
|
||||
return ((*tinfo->f_cmp) (r1.lower, r2.lower, collation, flinfo) == 0 &&
|
||||
(*tinfo->f_cmp) (r1.upper, r2.upper, collation, flinfo) == 0);
|
||||
return (tinfo->f_cmp(r1.lower, r2.lower, collation, flinfo) == 0 &&
|
||||
tinfo->f_cmp(r1.upper, r2.upper, collation, flinfo) == 0);
|
||||
}
|
||||
|
||||
|
||||
@ -400,9 +400,9 @@ gbt_var_penalty(float *res, const GISTENTRY *o, const GISTENTRY *n,
|
||||
|
||||
if ((VARSIZE(ok.lower) - VARHDRSZ) == 0 && (VARSIZE(ok.upper) - VARHDRSZ) == 0)
|
||||
*res = 0.0;
|
||||
else if (!(((*tinfo->f_cmp) (nk.lower, ok.lower, collation, flinfo) >= 0 ||
|
||||
else if (!((tinfo->f_cmp(nk.lower, ok.lower, collation, flinfo) >= 0 ||
|
||||
gbt_bytea_pf_match(ok.lower, nk.lower, tinfo)) &&
|
||||
((*tinfo->f_cmp) (nk.upper, ok.upper, collation, flinfo) <= 0 ||
|
||||
(tinfo->f_cmp(nk.upper, ok.upper, collation, flinfo) <= 0 ||
|
||||
gbt_bytea_pf_match(ok.upper, nk.upper, tinfo))))
|
||||
{
|
||||
Datum d = PointerGetDatum(0);
|
||||
@ -449,9 +449,9 @@ gbt_vsrt_cmp(const void *a, const void *b, void *arg)
|
||||
const gbt_vsrt_arg *varg = (const gbt_vsrt_arg *) arg;
|
||||
int res;
|
||||
|
||||
res = (*varg->tinfo->f_cmp) (ar.lower, br.lower, varg->collation, varg->flinfo);
|
||||
res = varg->tinfo->f_cmp(ar.lower, br.lower, varg->collation, varg->flinfo);
|
||||
if (res == 0)
|
||||
return (*varg->tinfo->f_cmp) (ar.upper, br.upper, varg->collation, varg->flinfo);
|
||||
return varg->tinfo->f_cmp(ar.upper, br.upper, varg->collation, varg->flinfo);
|
||||
|
||||
return res;
|
||||
}
|
||||
@ -567,44 +567,44 @@ gbt_var_consistent(GBT_VARKEY_R *key,
|
||||
{
|
||||
case BTLessEqualStrategyNumber:
|
||||
if (is_leaf)
|
||||
retval = (*tinfo->f_ge) (query, key->lower, collation, flinfo);
|
||||
retval = tinfo->f_ge(query, key->lower, collation, flinfo);
|
||||
else
|
||||
retval = (*tinfo->f_cmp) (query, key->lower, collation, flinfo) >= 0
|
||||
retval = tinfo->f_cmp(query, key->lower, collation, flinfo) >= 0
|
||||
|| gbt_var_node_pf_match(key, query, tinfo);
|
||||
break;
|
||||
case BTLessStrategyNumber:
|
||||
if (is_leaf)
|
||||
retval = (*tinfo->f_gt) (query, key->lower, collation, flinfo);
|
||||
retval = tinfo->f_gt(query, key->lower, collation, flinfo);
|
||||
else
|
||||
retval = (*tinfo->f_cmp) (query, key->lower, collation, flinfo) >= 0
|
||||
retval = tinfo->f_cmp(query, key->lower, collation, flinfo) >= 0
|
||||
|| gbt_var_node_pf_match(key, query, tinfo);
|
||||
break;
|
||||
case BTEqualStrategyNumber:
|
||||
if (is_leaf)
|
||||
retval = (*tinfo->f_eq) (query, key->lower, collation, flinfo);
|
||||
retval = tinfo->f_eq(query, key->lower, collation, flinfo);
|
||||
else
|
||||
retval =
|
||||
((*tinfo->f_cmp) (key->lower, query, collation, flinfo) <= 0 &&
|
||||
(*tinfo->f_cmp) (query, key->upper, collation, flinfo) <= 0) ||
|
||||
(tinfo->f_cmp(key->lower, query, collation, flinfo) <= 0 &&
|
||||
tinfo->f_cmp(query, key->upper, collation, flinfo) <= 0) ||
|
||||
gbt_var_node_pf_match(key, query, tinfo);
|
||||
break;
|
||||
case BTGreaterStrategyNumber:
|
||||
if (is_leaf)
|
||||
retval = (*tinfo->f_lt) (query, key->upper, collation, flinfo);
|
||||
retval = tinfo->f_lt(query, key->upper, collation, flinfo);
|
||||
else
|
||||
retval = (*tinfo->f_cmp) (query, key->upper, collation, flinfo) <= 0
|
||||
retval = tinfo->f_cmp(query, key->upper, collation, flinfo) <= 0
|
||||
|| gbt_var_node_pf_match(key, query, tinfo);
|
||||
break;
|
||||
case BTGreaterEqualStrategyNumber:
|
||||
if (is_leaf)
|
||||
retval = (*tinfo->f_le) (query, key->upper, collation, flinfo);
|
||||
retval = tinfo->f_le(query, key->upper, collation, flinfo);
|
||||
else
|
||||
retval = (*tinfo->f_cmp) (query, key->upper, collation, flinfo) <= 0
|
||||
retval = tinfo->f_cmp(query, key->upper, collation, flinfo) <= 0
|
||||
|| gbt_var_node_pf_match(key, query, tinfo);
|
||||
break;
|
||||
case BtreeGistNotEqualStrategyNumber:
|
||||
retval = !((*tinfo->f_eq) (query, key->lower, collation, flinfo) &&
|
||||
(*tinfo->f_eq) (query, key->upper, collation, flinfo));
|
||||
retval = !(tinfo->f_eq(query, key->lower, collation, flinfo) &&
|
||||
tinfo->f_eq(query, key->upper, collation, flinfo));
|
||||
break;
|
||||
default:
|
||||
retval = FALSE;
|
||||
|
Reference in New Issue
Block a user