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);
}
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));
}
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);
}
}
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;
GBT_VARKEY *out = leaf;
if (tinfo->f_l2n)
- out = (*tinfo->f_l2n) (leaf, flinfo);
+ out = tinfo->f_l2n(leaf, flinfo);
return out;
}
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;
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);
}
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);
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;
}
{
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;
XactCallbackItem *item;
for (item = Xact_callbacks; item; item = item->next)
- (*item->callback) (event, item->arg);
+ item->callback(event, item->arg);
}
SubXactCallbackItem *item;
for (item = SubXact_callbacks; item; item = item->next)
- (*item->callback) (event, mySubid, parentSubid, item->arg);
+ item->callback(event, mySubid, parentSubid, item->arg);
}
stats->rows = rows;
stats->tupDesc = onerel->rd_att;
- (*stats->compute_stats) (stats,
+ stats->compute_stats(stats,
std_fetch_func,
numrows,
totalrows);
stats->exprvals = exprvals + i;
stats->exprnulls = exprnulls + i;
stats->rowstride = attr_cnt;
- (*stats->compute_stats) (stats,
+ stats->compute_stats(stats,
ind_fetch_func,
numindexrows,
totalindexrows);
/* Fetch the result set into the tuplestore */
ExecutorRun(queryDesc, ForwardScanDirection, 0L, false);
- (*queryDesc->dest->rDestroy) (queryDesc->dest);
+ queryDesc->dest->rDestroy(queryDesc->dest);
queryDesc->dest = NULL;
/*
}
/* Provider gets control here, may throw ERROR to veto new label. */
- (*provider->hook) (&address, stmt->label);
+ provider->hook(&address, stmt->label);
/* Apply new label. */
SetSecurityLabel(&address, provider->provider_name, stmt->label);
/* give hook a chance in case parameter is dynamic */
if (!OidIsValid(prm->ptype) && paramInfo->paramFetch != NULL)
- (*paramInfo->paramFetch) (paramInfo, paramId);
+ paramInfo->paramFetch(paramInfo, paramId);
if (OidIsValid(prm->ptype) && !prm->isnull)
{
FunctionCallInfo fcinfo = op->d.func.fcinfo_data;
fcinfo->isnull = false;
- *op->resvalue = (op->d.func.fn_addr) (fcinfo);
+ *op->resvalue = op->d.func.fn_addr(fcinfo);
*op->resnull = fcinfo->isnull;
EEO_NEXT();
}
}
fcinfo->isnull = false;
- *op->resvalue = (op->d.func.fn_addr) (fcinfo);
+ *op->resvalue = op->d.func.fn_addr(fcinfo);
*op->resnull = fcinfo->isnull;
strictfail:
pgstat_init_function_usage(fcinfo, &fcusage);
fcinfo->isnull = false;
- *op->resvalue = (op->d.func.fn_addr) (fcinfo);
+ *op->resvalue = op->d.func.fn_addr(fcinfo);
*op->resnull = fcinfo->isnull;
pgstat_end_function_usage(&fcusage, true);
pgstat_init_function_usage(fcinfo, &fcusage);
fcinfo->isnull = false;
- *op->resvalue = (op->d.func.fn_addr) (fcinfo);
+ *op->resvalue = op->d.func.fn_addr(fcinfo);
*op->resnull = fcinfo->isnull;
pgstat_end_function_usage(&fcusage, true);
Datum eqresult;
fcinfo->isnull = false;
- eqresult = (op->d.func.fn_addr) (fcinfo);
+ eqresult = op->d.func.fn_addr(fcinfo);
/* Must invert result of "="; safe to do even if null */
*op->resvalue = BoolGetDatum(!DatumGetBool(eqresult));
*op->resnull = fcinfo->isnull;
Datum result;
fcinfo->isnull = false;
- result = (op->d.func.fn_addr) (fcinfo);
+ result = op->d.func.fn_addr(fcinfo);
/* if the arguments are equal return null */
if (!fcinfo->isnull && DatumGetBool(result))
/* Apply comparison function */
fcinfo->isnull = false;
- *op->resvalue = (op->d.rowcompare_step.fn_addr) (fcinfo);
+ *op->resvalue = op->d.rowcompare_step.fn_addr(fcinfo);
/* force NULL result if NULL function result */
if (fcinfo->isnull)
/* give hook a chance in case parameter is dynamic */
if (!OidIsValid(prm->ptype) && paramInfo->paramFetch != NULL)
- (*paramInfo->paramFetch) (paramInfo, paramId);
+ paramInfo->paramFetch(paramInfo, paramId);
if (likely(OidIsValid(prm->ptype)))
{
else
{
fcinfo->isnull = false;
- thisresult = (op->d.scalararrayop.fn_addr) (fcinfo);
+ thisresult = op->d.scalararrayop.fn_addr(fcinfo);
}
/* Combine results per OR or AND semantics */
queryDesc->plannedstmt->hasReturning);
if (sendTuples)
- (*dest->rStartup) (dest, operation, queryDesc->tupDesc);
+ dest->rStartup(dest, operation, queryDesc->tupDesc);
/*
* run plan
* shutdown tuple receiver, if we started it
*/
if (sendTuples)
- (*dest->rShutdown) (dest);
+ dest->rShutdown(dest);
if (queryDesc->totaltime)
InstrStopNode(queryDesc->totaltime, estate->es_processed);
* has closed and no more tuples can be sent. If that's the case,
* end the loop.
*/
- if (!((*dest->receiveSlot) (slot, dest)))
+ if (!dest->receiveSlot(slot, dest))
break;
}
/* Cleanup. */
dsa_detach(area);
FreeQueryDesc(queryDesc);
- (*receiver->rDestroy) (receiver);
+ receiver->rDestroy(receiver);
}
tstate->slot = MakeSingleTupleTableSlot(tupdesc);
tstate->dest = dest;
- (*tstate->dest->rStartup) (tstate->dest, (int) CMD_SELECT, tupdesc);
+ tstate->dest->rStartup(tstate->dest, (int) CMD_SELECT, tupdesc);
return tstate;
}
ExecStoreVirtualTuple(slot);
/* send the tuple to the receiver */
- (void) (*tstate->dest->receiveSlot) (slot, tstate->dest);
+ (void) tstate->dest->receiveSlot(slot, tstate->dest);
/* clean up */
ExecClearTuple(slot);
void
end_tup_output(TupOutputState *tstate)
{
- (*tstate->dest->rShutdown) (tstate->dest);
+ tstate->dest->rShutdown(tstate->dest);
/* note that destroying the dest is not ours to do */
ExecDropSingleTupleTableSlot(tstate->slot);
pfree(tstate);
{
econtext->ecxt_callbacks = ecxt_callback->next;
if (isCommit)
- (*ecxt_callback->function) (ecxt_callback->arg);
+ ecxt_callback->function(ecxt_callback->arg);
pfree(ecxt_callback);
}
ExecutorEnd(es->qd);
}
- (*es->qd->dest->rDestroy) (es->qd->dest);
+ es->qd->dest->rDestroy(es->qd->dest);
FreeQueryDesc(es->qd);
es->qd = NULL;
/* give hook a chance in case parameter is dynamic */
if (!OidIsValid(oprm->ptype) && from->paramFetch != NULL)
- (*from->paramFetch) (from, i + 1);
+ from->paramFetch(from, i + 1);
/* flat-copy the parameter info */
*nprm = *oprm;
{
/* give hook a chance in case parameter is dynamic */
if (!OidIsValid(prm->ptype) && paramLI->paramFetch != NULL)
- (*paramLI->paramFetch) (paramLI, i + 1);
+ paramLI->paramFetch(paramLI, i + 1);
typeOid = prm->ptype;
}
{
/* give hook a chance in case parameter is dynamic */
if (!OidIsValid(prm->ptype) && paramLI->paramFetch != NULL)
- (*paramLI->paramFetch) (paramLI, i + 1);
+ paramLI->paramFetch(paramLI, i + 1);
typeOid = prm->ptype;
}
* transformed node (very possibly the same Param node), or return
* NULL to indicate we should proceed with normal coercion.
*/
- result = (*pstate->p_coerce_param_hook) (pstate,
+ result = pstate->p_coerce_param_hook(pstate,
(Param *) node,
targetTypeId,
targetTypeMod,
*/
if (pstate->p_pre_columnref_hook != NULL)
{
- node = (*pstate->p_pre_columnref_hook) (pstate, cref);
+ node = pstate->p_pre_columnref_hook(pstate, cref);
if (node != NULL)
return node;
}
{
Node *hookresult;
- hookresult = (*pstate->p_post_columnref_hook) (pstate, cref, node);
+ hookresult = pstate->p_post_columnref_hook(pstate, cref, node);
if (node == NULL)
node = hookresult;
else if (hookresult != NULL)
* call it. If not, or if the hook returns NULL, throw a generic error.
*/
if (pstate->p_paramref_hook != NULL)
- result = (*pstate->p_paramref_hook) (pstate, pref);
+ result = pstate->p_paramref_hook(pstate, pref);
else
result = NULL;
/* See if there is a translation available from a parser hook */
if (pstate->p_pre_columnref_hook != NULL)
- node = (*pstate->p_pre_columnref_hook) (pstate, cref);
+ node = pstate->p_pre_columnref_hook(pstate, cref);
if (node == NULL && pstate->p_post_columnref_hook != NULL)
- node = (*pstate->p_post_columnref_hook) (pstate, cref, NULL);
+ node = pstate->p_post_columnref_hook(pstate, cref, NULL);
/*
* XXX Should we throw an error if we get a translation that isn't a
{
Node *node;
- node = (*pstate->p_pre_columnref_hook) (pstate, cref);
+ node = pstate->p_pre_columnref_hook(pstate, cref);
if (node != NULL)
return ExpandRowReference(pstate, node, make_target_entry);
}
{
Node *node;
- node = (*pstate->p_post_columnref_hook) (pstate, cref,
+ node = pstate->p_post_columnref_hook(pstate, cref,
(Node *) rte);
if (node != NULL)
{
/* Found a matching variable, make the substitution */
Node *newnode;
- newnode = (*context->callback) (var, context);
+ newnode = context->callback(var, context);
/* Detect if we are adding a sublink to query */
if (!context->inserted_sublink)
context->inserted_sublink = checkExprHasSubLink(newnode);
* possible.
*/
while (--on_proc_exit_index >= 0)
- (*on_proc_exit_list[on_proc_exit_index].function) (code,
- on_proc_exit_list[on_proc_exit_index].arg);
+ on_proc_exit_list[on_proc_exit_index].function(code,
+ on_proc_exit_list[on_proc_exit_index].arg);
on_proc_exit_index = 0;
}
elog(DEBUG3, "shmem_exit(%d): %d before_shmem_exit callbacks to make",
code, before_shmem_exit_index);
while (--before_shmem_exit_index >= 0)
- (*before_shmem_exit_list[before_shmem_exit_index].function) (code,
- before_shmem_exit_list[before_shmem_exit_index].arg);
+ before_shmem_exit_list[before_shmem_exit_index].function(code,
+ before_shmem_exit_list[before_shmem_exit_index].arg);
before_shmem_exit_index = 0;
/*
elog(DEBUG3, "shmem_exit(%d): %d on_shmem_exit callbacks to make",
code, on_shmem_exit_index);
while (--on_shmem_exit_index >= 0)
- (*on_shmem_exit_list[on_shmem_exit_index].function) (code,
- on_shmem_exit_list[on_shmem_exit_index].arg);
+ on_shmem_exit_list[on_shmem_exit_index].function(code,
+ on_shmem_exit_list[on_shmem_exit_index].arg);
on_shmem_exit_index = 0;
}
for (i = 0; i < NSmgr; i++)
{
if (smgrsw[i].smgr_init)
- (*(smgrsw[i].smgr_init)) ();
+ smgrsw[i].smgr_init();
}
/* register the shutdown proc */
for (i = 0; i < NSmgr; i++)
{
if (smgrsw[i].smgr_shutdown)
- (*(smgrsw[i].smgr_shutdown)) ();
+ smgrsw[i].smgr_shutdown();
}
}
bool
smgrexists(SMgrRelation reln, ForkNumber forknum)
{
- return (*(smgrsw[reln->smgr_which].smgr_exists)) (reln, forknum);
+ return smgrsw[reln->smgr_which].smgr_exists(reln, forknum);
}
/*
ForkNumber forknum;
for (forknum = 0; forknum <= MAX_FORKNUM; forknum++)
- (*(smgrsw[reln->smgr_which].smgr_close)) (reln, forknum);
+ smgrsw[reln->smgr_which].smgr_close(reln, forknum);
owner = reln->smgr_owner;
reln->smgr_rnode.node.dbNode,
isRedo);
- (*(smgrsw[reln->smgr_which].smgr_create)) (reln, forknum, isRedo);
+ smgrsw[reln->smgr_which].smgr_create(reln, forknum, isRedo);
}
/*
/* Close the forks at smgr level */
for (forknum = 0; forknum <= MAX_FORKNUM; forknum++)
- (*(smgrsw[which].smgr_close)) (reln, forknum);
+ smgrsw[which].smgr_close(reln, forknum);
/*
* Get rid of any remaining buffers for the relation. bufmgr will just
* ERROR, because we've already decided to commit or abort the current
* xact.
*/
- (*(smgrsw[which].smgr_unlink)) (rnode, InvalidForkNumber, isRedo);
+ smgrsw[which].smgr_unlink(rnode, InvalidForkNumber, isRedo);
}
/*
/* Close the forks at smgr level */
for (forknum = 0; forknum <= MAX_FORKNUM; forknum++)
- (*(smgrsw[which].smgr_close)) (rels[i], forknum);
+ smgrsw[which].smgr_close(rels[i], forknum);
}
/*
int which = rels[i]->smgr_which;
for (forknum = 0; forknum <= MAX_FORKNUM; forknum++)
- (*(smgrsw[which].smgr_unlink)) (rnodes[i], forknum, isRedo);
+ smgrsw[which].smgr_unlink(rnodes[i], forknum, isRedo);
}
pfree(rnodes);
int which = reln->smgr_which;
/* Close the fork at smgr level */
- (*(smgrsw[which].smgr_close)) (reln, forknum);
+ smgrsw[which].smgr_close(reln, forknum);
/*
* Get rid of any remaining buffers for the fork. bufmgr will just drop
* ERROR, because we've already decided to commit or abort the current
* xact.
*/
- (*(smgrsw[which].smgr_unlink)) (rnode, forknum, isRedo);
+ smgrsw[which].smgr_unlink(rnode, forknum, isRedo);
}
/*
smgrextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum,
char *buffer, bool skipFsync)
{
- (*(smgrsw[reln->smgr_which].smgr_extend)) (reln, forknum, blocknum,
+ smgrsw[reln->smgr_which].smgr_extend(reln, forknum, blocknum,
buffer, skipFsync);
}
void
smgrprefetch(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum)
{
- (*(smgrsw[reln->smgr_which].smgr_prefetch)) (reln, forknum, blocknum);
+ smgrsw[reln->smgr_which].smgr_prefetch(reln, forknum, blocknum);
}
/*
smgrread(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum,
char *buffer)
{
- (*(smgrsw[reln->smgr_which].smgr_read)) (reln, forknum, blocknum, buffer);
+ smgrsw[reln->smgr_which].smgr_read(reln, forknum, blocknum, buffer);
}
/*
smgrwrite(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum,
char *buffer, bool skipFsync)
{
- (*(smgrsw[reln->smgr_which].smgr_write)) (reln, forknum, blocknum,
+ smgrsw[reln->smgr_which].smgr_write(reln, forknum, blocknum,
buffer, skipFsync);
}
smgrwriteback(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum,
BlockNumber nblocks)
{
- (*(smgrsw[reln->smgr_which].smgr_writeback)) (reln, forknum, blocknum,
+ smgrsw[reln->smgr_which].smgr_writeback(reln, forknum, blocknum,
nblocks);
}
BlockNumber
smgrnblocks(SMgrRelation reln, ForkNumber forknum)
{
- return (*(smgrsw[reln->smgr_which].smgr_nblocks)) (reln, forknum);
+ return smgrsw[reln->smgr_which].smgr_nblocks(reln, forknum);
}
/*
/*
* Do the truncation.
*/
- (*(smgrsw[reln->smgr_which].smgr_truncate)) (reln, forknum, nblocks);
+ smgrsw[reln->smgr_which].smgr_truncate(reln, forknum, nblocks);
}
/*
void
smgrimmedsync(SMgrRelation reln, ForkNumber forknum)
{
- (*(smgrsw[reln->smgr_which].smgr_immedsync)) (reln, forknum);
+ smgrsw[reln->smgr_which].smgr_immedsync(reln, forknum);
}
for (i = 0; i < NSmgr; i++)
{
if (smgrsw[i].smgr_pre_ckpt)
- (*(smgrsw[i].smgr_pre_ckpt)) ();
+ smgrsw[i].smgr_pre_ckpt();
}
}
for (i = 0; i < NSmgr; i++)
{
if (smgrsw[i].smgr_sync)
- (*(smgrsw[i].smgr_sync)) ();
+ smgrsw[i].smgr_sync();
}
}
for (i = 0; i < NSmgr; i++)
{
if (smgrsw[i].smgr_post_ckpt)
- (*(smgrsw[i].smgr_post_ckpt)) ();
+ smgrsw[i].smgr_post_ckpt();
}
}
receiver,
completionTag);
- (*receiver->rDestroy) (receiver);
+ receiver->rDestroy(receiver);
PortalDrop(portal, false);
receiver,
completionTag);
- (*receiver->rDestroy) (receiver);
+ receiver->rDestroy(receiver);
if (completed)
{
if (completionTag[0] != '\0')
portal->commandTag = pstrdup(completionTag);
- (*treceiver->rDestroy) (treceiver);
+ treceiver->rDestroy(treceiver);
}
/*
slot = MakeSingleTupleTableSlot(portal->tupDesc);
- (*dest->rStartup) (dest, CMD_SELECT, portal->tupDesc);
+ dest->rStartup(dest, CMD_SELECT, portal->tupDesc);
if (ScanDirectionIsNoMovement(direction))
{
* has closed and no more tuples can be sent. If that's the case,
* end the loop.
*/
- if (!((*dest->receiveSlot) (slot, dest)))
+ if (!dest->receiveSlot(slot, dest))
break;
ExecClearTuple(slot);
}
}
- (*dest->rShutdown) (dest);
+ dest->rShutdown(dest);
ExecDropSingleTupleTableSlot(slot);
* temporarily install that.
*/
stats->extra_data = extra_data->std_extra_data;
- (*extra_data->std_compute_stats) (stats, fetchfunc, samplerows, totalrows);
+ extra_data->std_compute_stats(stats, fetchfunc, samplerows, totalrows);
stats->extra_data = extra_data;
/*
Size
EOH_get_flat_size(ExpandedObjectHeader *eohptr)
{
- return (*eohptr->eoh_methods->get_flat_size) (eohptr);
+ return eohptr->eoh_methods->get_flat_size(eohptr);
}
void
EOH_flatten_into(ExpandedObjectHeader *eohptr,
void *result, Size allocated_size)
{
- (*eohptr->eoh_methods->flatten_into) (eohptr, result, allocated_size);
+ eohptr->eoh_methods->flatten_into(eohptr, result, allocated_size);
}
/*
IterateJsonStringValuesState *_state = (IterateJsonStringValuesState *) state;
if (tokentype == JSON_TOKEN_STRING)
- (*_state->action) (_state->action_state, token, strlen(token));
+ _state->action(_state->action_state, token, strlen(token));
}
/*
if (tokentype == JSON_TOKEN_STRING)
{
- text *out = (*_state->action) (_state->action_state, token, strlen(token));
+ text *out = _state->action(_state->action_state, token, strlen(token));
escape_json(_state->strval, text_to_cstring(out));
}
{
struct RELCACHECALLBACK *ccitem = relcache_callback_list + i;
- (*ccitem->function) (ccitem->arg, msg->rc.relId);
+ ccitem->function(ccitem->arg, msg->rc.relId);
}
}
}
{
struct SYSCACHECALLBACK *ccitem = syscache_callback_list + i;
- (*ccitem->function) (ccitem->arg, ccitem->id, 0);
+ ccitem->function(ccitem->arg, ccitem->id, 0);
}
for (i = 0; i < relcache_callback_count; i++)
{
struct RELCACHECALLBACK *ccitem = relcache_callback_list + i;
- (*ccitem->function) (ccitem->arg, InvalidOid);
+ ccitem->function(ccitem->arg, InvalidOid);
}
}
struct SYSCACHECALLBACK *ccitem = syscache_callback_list + i;
Assert(ccitem->id == cacheid);
- (*ccitem->function) (ccitem->arg, cacheid, hashvalue);
+ ccitem->function(ccitem->arg, cacheid, hashvalue);
i = ccitem->link - 1;
}
}
for (econtext = error_context_stack;
econtext != NULL;
econtext = econtext->previous)
- (*econtext->callback) (econtext->arg);
+ econtext->callback(econtext->arg);
/*
* If ERROR (not more nor less) we pass it off to the current handler.
for (econtext = error_context_stack;
econtext != NULL;
econtext = econtext->previous)
- (*econtext->callback) (econtext->arg);
+ econtext->callback(econtext->arg);
/*
* Clean ourselves off the stack, any allocations done should have been
int
pg_mb2wchar(const char *from, pg_wchar *to)
{
- return (*pg_wchar_table[DatabaseEncoding->encoding].mb2wchar_with_len) ((const unsigned char *) from, to, strlen(from));
+ return pg_wchar_table[DatabaseEncoding->encoding].mb2wchar_with_len((const unsigned char *) from, to, strlen(from));
}
/* convert a multibyte string to a wchar with a limited length */
int
pg_mb2wchar_with_len(const char *from, pg_wchar *to, int len)
{
- return (*pg_wchar_table[DatabaseEncoding->encoding].mb2wchar_with_len) ((const unsigned char *) from, to, len);
+ return pg_wchar_table[DatabaseEncoding->encoding].mb2wchar_with_len((const unsigned char *) from, to, len);
}
/* same, with any encoding */
pg_encoding_mb2wchar_with_len(int encoding,
const char *from, pg_wchar *to, int len)
{
- return (*pg_wchar_table[encoding].mb2wchar_with_len) ((const unsigned char *) from, to, len);
+ return pg_wchar_table[encoding].mb2wchar_with_len((const unsigned char *) from, to, len);
}
/* convert a wchar string to a multibyte */
int
pg_wchar2mb(const pg_wchar *from, char *to)
{
- return (*pg_wchar_table[DatabaseEncoding->encoding].wchar2mb_with_len) (from, (unsigned char *) to, pg_wchar_strlen(from));
+ return pg_wchar_table[DatabaseEncoding->encoding].wchar2mb_with_len(from, (unsigned char *) to, pg_wchar_strlen(from));
}
/* convert a wchar string to a multibyte with a limited length */
int
pg_wchar2mb_with_len(const pg_wchar *from, char *to, int len)
{
- return (*pg_wchar_table[DatabaseEncoding->encoding].wchar2mb_with_len) (from, (unsigned char *) to, len);
+ return pg_wchar_table[DatabaseEncoding->encoding].wchar2mb_with_len(from, (unsigned char *) to, len);
}
/* same, with any encoding */
pg_encoding_wchar2mb_with_len(int encoding,
const pg_wchar *from, char *to, int len)
{
- return (*pg_wchar_table[encoding].wchar2mb_with_len) (from, (unsigned char *) to, len);
+ return pg_wchar_table[encoding].wchar2mb_with_len(from, (unsigned char *) to, len);
}
/* returns the byte length of a multibyte character */
int
pg_mblen(const char *mbstr)
{
- return ((*pg_wchar_table[DatabaseEncoding->encoding].mblen) ((const unsigned char *) mbstr));
+ return pg_wchar_table[DatabaseEncoding->encoding].mblen((const unsigned char *) mbstr);
}
/* returns the display length of a multibyte character */
int
pg_dsplen(const char *mbstr)
{
- return ((*pg_wchar_table[DatabaseEncoding->encoding].dsplen) ((const unsigned char *) mbstr));
+ return pg_wchar_table[DatabaseEncoding->encoding].dsplen((const unsigned char *) mbstr);
}
/* returns the length (counted in wchars) of a multibyte string */
pg_encoding_mblen(int encoding, const char *mbstr)
{
return (PG_VALID_ENCODING(encoding) ?
- ((*pg_wchar_table[encoding].mblen) ((const unsigned char *) mbstr)) :
- ((*pg_wchar_table[PG_SQL_ASCII].mblen) ((const unsigned char *) mbstr)));
+ pg_wchar_table[encoding].mblen((const unsigned char *) mbstr) :
+ pg_wchar_table[PG_SQL_ASCII].mblen((const unsigned char *) mbstr));
}
/*
pg_encoding_dsplen(int encoding, const char *mbstr)
{
return (PG_VALID_ENCODING(encoding) ?
- ((*pg_wchar_table[encoding].dsplen) ((const unsigned char *) mbstr)) :
- ((*pg_wchar_table[PG_SQL_ASCII].dsplen) ((const unsigned char *) mbstr)));
+ pg_wchar_table[encoding].dsplen((const unsigned char *) mbstr) :
+ pg_wchar_table[PG_SQL_ASCII].dsplen((const unsigned char *) mbstr));
}
/*
pg_encoding_verifymb(int encoding, const char *mbstr, int len)
{
return (PG_VALID_ENCODING(encoding) ?
- ((*pg_wchar_table[encoding].mbverify) ((const unsigned char *) mbstr, len)) :
- ((*pg_wchar_table[PG_SQL_ASCII].mbverify) ((const unsigned char *) mbstr, len)));
+ pg_wchar_table[encoding].mbverify((const unsigned char *) mbstr, len) :
+ pg_wchar_table[PG_SQL_ASCII].mbverify((const unsigned char *) mbstr, len));
}
/*
elog(FATAL, "failed to initialize %s to %d",
conf->gen.name, (int) newval);
if (conf->assign_hook)
- (*conf->assign_hook) (newval, extra);
+ conf->assign_hook(newval, extra);
*conf->variable = conf->reset_val = newval;
conf->gen.extra = conf->reset_extra = extra;
break;
elog(FATAL, "failed to initialize %s to %d",
conf->gen.name, newval);
if (conf->assign_hook)
- (*conf->assign_hook) (newval, extra);
+ conf->assign_hook(newval, extra);
*conf->variable = conf->reset_val = newval;
conf->gen.extra = conf->reset_extra = extra;
break;
elog(FATAL, "failed to initialize %s to %g",
conf->gen.name, newval);
if (conf->assign_hook)
- (*conf->assign_hook) (newval, extra);
+ conf->assign_hook(newval, extra);
*conf->variable = conf->reset_val = newval;
conf->gen.extra = conf->reset_extra = extra;
break;
elog(FATAL, "failed to initialize %s to \"%s\"",
conf->gen.name, newval ? newval : "");
if (conf->assign_hook)
- (*conf->assign_hook) (newval, extra);
+ conf->assign_hook(newval, extra);
*conf->variable = conf->reset_val = newval;
conf->gen.extra = conf->reset_extra = extra;
break;
elog(FATAL, "failed to initialize %s to %d",
conf->gen.name, newval);
if (conf->assign_hook)
- (*conf->assign_hook) (newval, extra);
+ conf->assign_hook(newval, extra);
*conf->variable = conf->reset_val = newval;
conf->gen.extra = conf->reset_extra = extra;
break;
struct config_bool *conf = (struct config_bool *) gconf;
if (conf->assign_hook)
- (*conf->assign_hook) (conf->reset_val,
+ conf->assign_hook(conf->reset_val,
conf->reset_extra);
*conf->variable = conf->reset_val;
set_extra_field(&conf->gen, &conf->gen.extra,
struct config_int *conf = (struct config_int *) gconf;
if (conf->assign_hook)
- (*conf->assign_hook) (conf->reset_val,
+ conf->assign_hook(conf->reset_val,
conf->reset_extra);
*conf->variable = conf->reset_val;
set_extra_field(&conf->gen, &conf->gen.extra,
struct config_real *conf = (struct config_real *) gconf;
if (conf->assign_hook)
- (*conf->assign_hook) (conf->reset_val,
+ conf->assign_hook(conf->reset_val,
conf->reset_extra);
*conf->variable = conf->reset_val;
set_extra_field(&conf->gen, &conf->gen.extra,
struct config_string *conf = (struct config_string *) gconf;
if (conf->assign_hook)
- (*conf->assign_hook) (conf->reset_val,
+ conf->assign_hook(conf->reset_val,
conf->reset_extra);
set_string_field(conf, conf->variable, conf->reset_val);
set_extra_field(&conf->gen, &conf->gen.extra,
struct config_enum *conf = (struct config_enum *) gconf;
if (conf->assign_hook)
- (*conf->assign_hook) (conf->reset_val,
+ conf->assign_hook(conf->reset_val,
conf->reset_extra);
*conf->variable = conf->reset_val;
set_extra_field(&conf->gen, &conf->gen.extra,
conf->gen.extra != newextra)
{
if (conf->assign_hook)
- (*conf->assign_hook) (newval, newextra);
+ conf->assign_hook(newval, newextra);
*conf->variable = newval;
set_extra_field(&conf->gen, &conf->gen.extra,
newextra);
conf->gen.extra != newextra)
{
if (conf->assign_hook)
- (*conf->assign_hook) (newval, newextra);
+ conf->assign_hook(newval, newextra);
*conf->variable = newval;
set_extra_field(&conf->gen, &conf->gen.extra,
newextra);
conf->gen.extra != newextra)
{
if (conf->assign_hook)
- (*conf->assign_hook) (newval, newextra);
+ conf->assign_hook(newval, newextra);
*conf->variable = newval;
set_extra_field(&conf->gen, &conf->gen.extra,
newextra);
conf->gen.extra != newextra)
{
if (conf->assign_hook)
- (*conf->assign_hook) (newval, newextra);
+ conf->assign_hook(newval, newextra);
set_string_field(conf, conf->variable, newval);
set_extra_field(&conf->gen, &conf->gen.extra,
newextra);
conf->gen.extra != newextra)
{
if (conf->assign_hook)
- (*conf->assign_hook) (newval, newextra);
+ conf->assign_hook(newval, newextra);
*conf->variable = newval;
set_extra_field(&conf->gen, &conf->gen.extra,
newextra);
push_old_value(&conf->gen, action);
if (conf->assign_hook)
- (*conf->assign_hook) (newval, newextra);
+ conf->assign_hook(newval, newextra);
*conf->variable = newval;
set_extra_field(&conf->gen, &conf->gen.extra,
newextra);
push_old_value(&conf->gen, action);
if (conf->assign_hook)
- (*conf->assign_hook) (newval, newextra);
+ conf->assign_hook(newval, newextra);
*conf->variable = newval;
set_extra_field(&conf->gen, &conf->gen.extra,
newextra);
push_old_value(&conf->gen, action);
if (conf->assign_hook)
- (*conf->assign_hook) (newval, newextra);
+ conf->assign_hook(newval, newextra);
*conf->variable = newval;
set_extra_field(&conf->gen, &conf->gen.extra,
newextra);
push_old_value(&conf->gen, action);
if (conf->assign_hook)
- (*conf->assign_hook) (newval, newextra);
+ conf->assign_hook(newval, newextra);
set_string_field(conf, conf->variable, newval);
set_extra_field(&conf->gen, &conf->gen.extra,
newextra);
push_old_value(&conf->gen, action);
if (conf->assign_hook)
- (*conf->assign_hook) (newval, newextra);
+ conf->assign_hook(newval, newextra);
*conf->variable = newval;
set_extra_field(&conf->gen, &conf->gen.extra,
newextra);
struct config_bool *conf = (struct config_bool *) record;
if (conf->show_hook)
- val = (*conf->show_hook) ();
+ val = conf->show_hook();
else
val = *conf->variable ? "on" : "off";
}
struct config_int *conf = (struct config_int *) record;
if (conf->show_hook)
- val = (*conf->show_hook) ();
+ val = conf->show_hook();
else
{
/*
struct config_real *conf = (struct config_real *) record;
if (conf->show_hook)
- val = (*conf->show_hook) ();
+ val = conf->show_hook();
else
{
snprintf(buffer, sizeof(buffer), "%g",
struct config_string *conf = (struct config_string *) record;
if (conf->show_hook)
- val = (*conf->show_hook) ();
+ val = conf->show_hook();
else if (*conf->variable && **conf->variable)
val = *conf->variable;
else
struct config_enum *conf = (struct config_enum *) record;
if (conf->show_hook)
- val = (*conf->show_hook) ();
+ val = conf->show_hook();
else
val = config_enum_lookup_by_value(conf, *conf->variable);
}
GUC_check_errdetail_string = NULL;
GUC_check_errhint_string = NULL;
- if (!(*conf->check_hook) (newval, extra, source))
+ if (!conf->check_hook(newval, extra, source))
{
ereport(elevel,
(errcode(GUC_check_errcode_value),
GUC_check_errdetail_string = NULL;
GUC_check_errhint_string = NULL;
- if (!(*conf->check_hook) (newval, extra, source))
+ if (!conf->check_hook(newval, extra, source))
{
ereport(elevel,
(errcode(GUC_check_errcode_value),
GUC_check_errdetail_string = NULL;
GUC_check_errhint_string = NULL;
- if (!(*conf->check_hook) (newval, extra, source))
+ if (!conf->check_hook(newval, extra, source))
{
ereport(elevel,
(errcode(GUC_check_errcode_value),
GUC_check_errdetail_string = NULL;
GUC_check_errhint_string = NULL;
- if (!(*conf->check_hook) (newval, extra, source))
+ if (!conf->check_hook(newval, extra, source))
{
ereport(elevel,
(errcode(GUC_check_errcode_value),
GUC_check_errdetail_string = NULL;
GUC_check_errhint_string = NULL;
- if (!(*conf->check_hook) (newval, extra, source))
+ if (!conf->check_hook(newval, extra, source))
{
ereport(elevel,
(errcode(GUC_check_errcode_value),
this_timeout->indicator = true;
/* And call its handler function */
- (*this_timeout->timeout_handler) ();
+ this_timeout->timeout_handler();
/*
* The handler might not take negligible time (CheckDeadLock
and then invoke the corresponding method for the context
- (*context->methods->free_p) (p);
+ context->methods->free_p(p);
More Control Over aset.c Behavior
if (!context->isReset)
{
MemoryContextCallResetCallbacks(context);
- (*context->methods->reset) (context);
+ context->methods->reset(context);
context->isReset = true;
VALGRIND_DESTROY_MEMPOOL(context);
VALGRIND_CREATE_MEMPOOL(context, 0, false);
*/
MemoryContextSetParent(context, NULL);
- (*context->methods->delete_context) (context);
+ context->methods->delete_context(context);
VALGRIND_DESTROY_MEMPOOL(context);
pfree(context);
}
while ((cb = context->reset_cbs) != NULL)
{
context->reset_cbs = cb->next;
- (*cb->func) (cb->arg);
+ cb->func(cb->arg);
}
}
{
MemoryContext context = GetMemoryChunkContext(pointer);
- return (context->methods->get_chunk_space) (context,
- pointer);
+ return context->methods->get_chunk_space(context, pointer);
}
/*
if (context->firstchild != NULL)
return false;
/* Otherwise use the type-specific inquiry */
- return (*context->methods->is_empty) (context);
+ return context->methods->is_empty(context);
}
/*
AssertArg(MemoryContextIsValid(context));
/* Examine the context itself */
- (*context->methods->stats) (context, level, print, totals);
+ context->methods->stats(context, level, print, totals);
/*
* Examine children. If there are more than max_children of them, we do
AssertArg(MemoryContextIsValid(context));
- (*context->methods->check) (context);
+ context->methods->check(context);
for (child = context->firstchild; child != NULL; child = child->nextchild)
MemoryContextCheck(child);
}
strcpy(node->name, name);
/* Type-specific routine finishes any other essential initialization */
- (*node->methods->init) (node);
+ node->methods->init(node);
/* OK to link node to parent (if any) */
/* Could use MemoryContextSetParent here, but doesn't seem worthwhile */
context->isReset = false;
- ret = (*context->methods->alloc) (context, size);
+ ret = context->methods->alloc(context, size);
if (ret == NULL)
{
MemoryContextStats(TopMemoryContext);
context->isReset = false;
- ret = (*context->methods->alloc) (context, size);
+ ret = context->methods->alloc(context, size);
if (ret == NULL)
{
MemoryContextStats(TopMemoryContext);
context->isReset = false;
- ret = (*context->methods->alloc) (context, size);
+ ret = context->methods->alloc(context, size);
if (ret == NULL)
{
MemoryContextStats(TopMemoryContext);
context->isReset = false;
- ret = (*context->methods->alloc) (context, size);
+ ret = context->methods->alloc(context, size);
if (ret == NULL)
{
if ((flags & MCXT_ALLOC_NO_OOM) == 0)
CurrentMemoryContext->isReset = false;
- ret = (*CurrentMemoryContext->methods->alloc) (CurrentMemoryContext, size);
+ ret = CurrentMemoryContext->methods->alloc(CurrentMemoryContext, size);
if (ret == NULL)
{
MemoryContextStats(TopMemoryContext);
CurrentMemoryContext->isReset = false;
- ret = (*CurrentMemoryContext->methods->alloc) (CurrentMemoryContext, size);
+ ret = CurrentMemoryContext->methods->alloc(CurrentMemoryContext, size);
if (ret == NULL)
{
MemoryContextStats(TopMemoryContext);
CurrentMemoryContext->isReset = false;
- ret = (*CurrentMemoryContext->methods->alloc) (CurrentMemoryContext, size);
+ ret = CurrentMemoryContext->methods->alloc(CurrentMemoryContext, size);
if (ret == NULL)
{
if ((flags & MCXT_ALLOC_NO_OOM) == 0)
{
MemoryContext context = GetMemoryChunkContext(pointer);
- (*context->methods->free_p) (context, pointer);
+ context->methods->free_p(context, pointer);
VALGRIND_MEMPOOL_FREE(context, pointer);
}
/* isReset must be false already */
Assert(!context->isReset);
- ret = (*context->methods->realloc) (context, pointer, size);
+ ret = context->methods->realloc(context, pointer, size);
if (ret == NULL)
{
MemoryContextStats(TopMemoryContext);
context->isReset = false;
- ret = (*context->methods->alloc) (context, size);
+ ret = context->methods->alloc(context, size);
if (ret == NULL)
{
MemoryContextStats(TopMemoryContext);
/* isReset must be false already */
Assert(!context->isReset);
- ret = (*context->methods->realloc) (context, pointer, size);
+ ret = context->methods->realloc(context, pointer, size);
if (ret == NULL)
{
MemoryContextStats(TopMemoryContext);
*/
if (PointerIsValid(portal->cleanup))
{
- (*portal->cleanup) (portal);
+ portal->cleanup(portal);
portal->cleanup = NULL;
}
}
*/
if (PointerIsValid(portal->cleanup))
{
- (*portal->cleanup) (portal);
+ portal->cleanup(portal);
portal->cleanup = NULL;
}
}
*/
if (PointerIsValid(portal->cleanup))
{
- (*portal->cleanup) (portal);
+ portal->cleanup(portal);
portal->cleanup = NULL;
}
*/
if (PointerIsValid(portal->cleanup))
{
- (*portal->cleanup) (portal);
+ portal->cleanup(portal);
portal->cleanup = NULL;
}
*/
if (PointerIsValid(portal->cleanup))
{
- (*portal->cleanup) (portal);
+ portal->cleanup(portal);
portal->cleanup = NULL;
}
/* Let add-on modules get a chance too */
for (item = ResourceRelease_callbacks; item; item = item->next)
- (*item->callback) (phase, isCommit, isTopLevel, item->arg);
+ item->callback(phase, isCommit, isTopLevel, item->arg);
CurrentResourceOwner = save;
}
{
ArchiveHandle *AH = (ArchiveHandle *) AHX;
- (AH->ReopenPtr) (AH);
+ AH->ReopenPtr(AH);
}
int res = 0;
ArchiveHandle *AH = (ArchiveHandle *) AHX;
- (*AH->ClosePtr) (AH);
+ AH->ClosePtr(AH);
/* Close the output */
if (AH->gzOut)
* It's also not gonna work if we can't reopen the input file, so
* let's try that immediately.
*/
- (AH->ReopenPtr) (AH);
+ AH->ReopenPtr(AH);
}
/*
if (strcmp(te->desc, "BLOB COMMENTS") == 0)
AH->outputKind = OUTPUT_OTHERDATA;
- (*AH->PrintTocDataPtr) (AH, te);
+ AH->PrintTocDataPtr(AH, te);
AH->outputKind = OUTPUT_SQLCMDS;
}
else
AH->outputKind = OUTPUT_OTHERDATA;
- (*AH->PrintTocDataPtr) (AH, te);
+ AH->PrintTocDataPtr(AH, te);
/*
* Terminate COPY if needed.
if (!AH->currToc)
exit_horribly(modulename, "internal error -- WriteData cannot be called outside the context of a DataDumper routine\n");
- (*AH->WriteDataPtr) (AH, data, dLen);
+ AH->WriteDataPtr(AH, data, dLen);
return;
}
newToc->formatData = NULL;
if (AH->ArchiveEntryPtr != NULL)
- (*AH->ArchiveEntryPtr) (AH, newToc);
+ AH->ArchiveEntryPtr(AH, newToc);
}
/* Public */
if (!AH->StartBlobPtr)
exit_horribly(modulename, "large-object output not supported in chosen format\n");
- (*AH->StartBlobPtr) (AH, AH->currToc, oid);
+ AH->StartBlobPtr(AH, AH->currToc, oid);
return 1;
}
ArchiveHandle *AH = (ArchiveHandle *) AHX;
if (AH->EndBlobPtr)
- (*AH->EndBlobPtr) (AH, AH->currToc, oid);
+ AH->EndBlobPtr(AH, AH->currToc, oid);
return 1;
}
int off;
/* Save the flag */
- (*AH->WriteBytePtr) (AH, wasSet);
+ AH->WriteBytePtr(AH, wasSet);
/* Write out pgoff_t smallest byte first, prevents endian mismatch */
for (off = 0; off < sizeof(pgoff_t); off++)
{
- (*AH->WriteBytePtr) (AH, o & 0xFF);
+ AH->WriteBytePtr(AH, o & 0xFF);
o >>= 8;
}
return sizeof(pgoff_t) + 1;
* This used to be handled by a negative or zero pointer, now we use an
* extra byte specifically for the state.
*/
- offsetFlg = (*AH->ReadBytePtr) (AH) & 0xFF;
+ offsetFlg = AH->ReadBytePtr(AH) & 0xFF;
switch (offsetFlg)
{
for (off = 0; off < AH->offSize; off++)
{
if (off < sizeof(pgoff_t))
- *o |= ((pgoff_t) ((*AH->ReadBytePtr) (AH))) << (off * 8);
+ *o |= ((pgoff_t) (AH->ReadBytePtr(AH))) << (off * 8);
else
{
- if ((*AH->ReadBytePtr) (AH) != 0)
+ if (AH->ReadBytePtr(AH) != 0)
exit_horribly(modulename, "file offset in dump file is too large\n");
}
}
/* SIGN byte */
if (i < 0)
{
- (*AH->WriteBytePtr) (AH, 1);
+ AH->WriteBytePtr(AH, 1);
i = -i;
}
else
- (*AH->WriteBytePtr) (AH, 0);
+ AH->WriteBytePtr(AH, 0);
for (b = 0; b < AH->intSize; b++)
{
- (*AH->WriteBytePtr) (AH, i & 0xFF);
+ AH->WriteBytePtr(AH, i & 0xFF);
i >>= 8;
}
if (AH->version > K_VERS_1_0)
/* Read a sign byte */
- sign = (*AH->ReadBytePtr) (AH);
+ sign = AH->ReadBytePtr(AH);
for (b = 0; b < AH->intSize; b++)
{
- bv = (*AH->ReadBytePtr) (AH) & 0xFF;
+ bv = AH->ReadBytePtr(AH) & 0xFF;
if (bv != 0)
res = res + (bv << bitShift);
bitShift += 8;
int len = strlen(c);
res = WriteInt(AH, len);
- (*AH->WriteBufPtr) (AH, c, len);
+ AH->WriteBufPtr(AH, c, len);
res += len;
}
else
else
{
buf = (char *) pg_malloc(l + 1);
- (*AH->ReadBufPtr) (AH, (void *) buf, l);
+ AH->ReadBufPtr(AH, (void *) buf, l);
buf[l] = '\0';
}
/*
* The user-provided DataDumper routine needs to call AH->WriteData
*/
- (*te->dataDumper) ((Archive *) AH, te->dataDumperArg);
+ te->dataDumper((Archive *) AH, te->dataDumperArg);
if (endPtr != NULL)
(*endPtr) (AH, te);
WriteStr(AH, NULL); /* Terminate List */
if (AH->WriteExtraTocPtr)
- (*AH->WriteExtraTocPtr) (AH, te);
+ AH->WriteExtraTocPtr(AH, te);
}
}
}
if (AH->ReadExtraTocPtr)
- (*AH->ReadExtraTocPtr) (AH, te);
+ AH->ReadExtraTocPtr(AH, te);
ahlog(AH, 3, "read TOC entry %d (ID %d) for %s %s\n",
i, te->dumpId, te->desc, te->tag);
ahprintf(AH, "\n");
if (AH->PrintExtraTocPtr != NULL)
- (*AH->PrintExtraTocPtr) (AH, te);
+ AH->PrintExtraTocPtr(AH, te);
ahprintf(AH, "--\n\n");
}
{
struct tm crtm;
- (*AH->WriteBufPtr) (AH, "PGDMP", 5); /* Magic code */
- (*AH->WriteBytePtr) (AH, ARCHIVE_MAJOR(AH->version));
- (*AH->WriteBytePtr) (AH, ARCHIVE_MINOR(AH->version));
- (*AH->WriteBytePtr) (AH, ARCHIVE_REV(AH->version));
- (*AH->WriteBytePtr) (AH, AH->intSize);
- (*AH->WriteBytePtr) (AH, AH->offSize);
- (*AH->WriteBytePtr) (AH, AH->format);
+ AH->WriteBufPtr(AH, "PGDMP", 5); /* Magic code */
+ AH->WriteBytePtr(AH, ARCHIVE_MAJOR(AH->version));
+ AH->WriteBytePtr(AH, ARCHIVE_MINOR(AH->version));
+ AH->WriteBytePtr(AH, ARCHIVE_REV(AH->version));
+ AH->WriteBytePtr(AH, AH->intSize);
+ AH->WriteBytePtr(AH, AH->offSize);
+ AH->WriteBytePtr(AH, AH->format);
WriteInt(AH, AH->compression);
crtm = *localtime(&AH->createDate);
WriteInt(AH, crtm.tm_sec);
vmin,
vrev;
- (*AH->ReadBufPtr) (AH, tmpMag, 5);
+ AH->ReadBufPtr(AH, tmpMag, 5);
if (strncmp(tmpMag, "PGDMP", 5) != 0)
exit_horribly(modulename, "did not find magic string in file header\n");
- vmaj = (*AH->ReadBytePtr) (AH);
- vmin = (*AH->ReadBytePtr) (AH);
+ vmaj = AH->ReadBytePtr(AH);
+ vmin = AH->ReadBytePtr(AH);
if (vmaj > 1 || (vmaj == 1 && vmin > 0)) /* Version > 1.0 */
- vrev = (*AH->ReadBytePtr) (AH);
+ vrev = AH->ReadBytePtr(AH);
else
vrev = 0;
exit_horribly(modulename, "unsupported version (%d.%d) in file header\n",
vmaj, vmin);
- AH->intSize = (*AH->ReadBytePtr) (AH);
+ AH->intSize = AH->ReadBytePtr(AH);
if (AH->intSize > 32)
exit_horribly(modulename, "sanity check on integer size (%lu) failed\n",
(unsigned long) AH->intSize);
write_msg(modulename, "WARNING: archive was made on a machine with larger integers, some operations might fail\n");
if (AH->version >= K_VERS_1_7)
- AH->offSize = (*AH->ReadBytePtr) (AH);
+ AH->offSize = AH->ReadBytePtr(AH);
else
AH->offSize = AH->intSize;
- fmt = (*AH->ReadBytePtr) (AH);
+ fmt = AH->ReadBytePtr(AH);
if (AH->format != fmt)
exit_horribly(modulename, "expected format (%d) differs from format found in file (%d)\n",
if (AH->version >= K_VERS_1_2)
{
if (AH->version < K_VERS_1_4)
- AH->compression = (*AH->ReadBytePtr) (AH);
+ AH->compression = AH->ReadBytePtr(AH);
else
AH->compression = ReadInt(AH);
}
}
/* Let the format-specific code have a chance too */
- (clone->ClonePtr) (clone);
+ clone->ClonePtr(clone);
Assert(clone->connection != NULL);
return clone;
Assert(AH->connection == NULL);
/* Clear format-specific state */
- (AH->DeClonePtr) (AH);
+ AH->DeClonePtr(AH);
/* Clear state allocated by CloneArchive */
if (AH->sqlparse.curCmd)
if (strcmp(te->desc, "BLOBS") == 0)
_StartBlobs(AH, te);
- (*te->dataDumper) ((Archive *) AH, te->dataDumperArg);
+ te->dataDumper((Archive *) AH, te->dataDumperArg);
if (strcmp(te->desc, "BLOBS") == 0)
_EndBlobs(AH, te);
int i;
for (i = on_exit_nicely_index - 1; i >= 0; i--)
- (*on_exit_nicely_list[i].function) (code,
- on_exit_nicely_list[i].arg);
+ on_exit_nicely_list[i].function(code,
+ on_exit_nicely_list[i].arg);
#ifdef WIN32
if (parallel_init_done && GetCurrentThreadId() != mainThreadId)
bool confirmed;
if (current->substitute_hook)
- new_value = (*current->substitute_hook) (new_value);
+ new_value = current->substitute_hook(new_value);
if (current->assign_hook)
- confirmed = (*current->assign_hook) (new_value);
+ confirmed = current->assign_hook(new_value);
else
confirmed = true;
ExprContext *econtext,
bool *isNull)
{
- return (*state->evalfunc) (state, econtext, isNull);
+ return state->evalfunc(state, econtext, isNull);
}
#endif
MemoryContext oldContext;
oldContext = MemoryContextSwitchTo(econtext->ecxt_per_tuple_memory);
- retDatum = (*state->evalfunc) (state, econtext, isNull);
+ retDatum = state->evalfunc(state, econtext, isNull);
MemoryContextSwitchTo(oldContext);
return retDatum;
}
#define ReleaseVariableStats(vardata) \
do { \
if (HeapTupleIsValid((vardata).statsTuple)) \
- (* (vardata).freefunc) ((vardata).statsTuple); \
+ (vardata).freefunc((vardata).statsTuple); \
} while(0)
}
else
{
- compare = (*ssup->comparator) (datum1, datum2, ssup);
+ compare = ssup->comparator(datum1, datum2, ssup);
if (ssup->ssup_reverse)
compare = -compare;
}
}
else
{
- compare = (*ssup->abbrev_full_comparator) (datum1, datum2, ssup);
+ compare = ssup->abbrev_full_comparator(datum1, datum2, ssup);
if (ssup->ssup_reverse)
compare = -compare;
}
{
(void) arg; /* not used */
if (res->noticeHooks.noticeProc != NULL)
- (*res->noticeHooks.noticeProc) (res->noticeHooks.noticeProcArg,
- PQresultErrorMessage(res));
+ res->noticeHooks.noticeProc(res->noticeHooks.noticeProcArg,
+ PQresultErrorMessage(res));
}
/*
/*
* Pass to receiver, then free it.
*/
- (*res->noticeHooks.noticeRec) (res->noticeHooks.noticeRecArg, res);
+ res->noticeHooks.noticeRec(res->noticeHooks.noticeRecArg, res);
}
PQclear(res);
}
if (res)
{
if (res->noticeHooks.noticeRec != NULL)
- (*res->noticeHooks.noticeRec) (res->noticeHooks.noticeRecArg, res);
+ res->noticeHooks.noticeRec(res->noticeHooks.noticeRecArg, res);
PQclear(res);
}
}
/* We can cheat a little here and not copy the message. */
res->errMsg = workBuf.data;
if (res->noticeHooks.noticeRec != NULL)
- (*res->noticeHooks.noticeRec) (res->noticeHooks.noticeRecArg, res);
+ res->noticeHooks.noticeRec(res->noticeHooks.noticeRecArg, res);
PQclear(res);
}
}