Re: Why assignment before return? - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Why assignment before return?
Date
Msg-id 15496.1282309851@sss.pgh.pa.us
Whole thread Raw
In response to Why assignment before return?  (Magnus Hagander <magnus@hagander.net>)
Responses Re: Why assignment before return?
List pgsql-hackers
Magnus Hagander <magnus@hagander.net> writes:
> This code-pattern appears many times in pgstatfuncs.c:
> Datum
> pg_stat_get_blocks_fetched(PG_FUNCTION_ARGS)
> {
>     Oid            relid = PG_GETARG_OID(0);
>     int64        result;
>     PgStat_StatTabEntry *tabentry;

>     if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL)
>         result = 0;
>     else
>         result = (int64) (tabentry->blocks_fetched);

>     PG_RETURN_INT64(result);
> }


I see nothing wrong with that style.  Reducing it as you propose
probably wouldn't change the emitted code at all, and what it would
do is reduce flexibility.  For instance, if we ever needed to add
additional operations just before the RETURN (releasing a lock on
the tabentry, perhaps) we'd just have to undo the "improvement".
        regards, tom lane


pgsql-hackers by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: git: uh-oh
Next
From: Heikki Linnakangas
Date:
Subject: Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!