Re: Why assignment before return?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Why assignment before return?
Дата
Msg-id 15496.1282309851@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Why assignment before return?  (Magnus Hagander <magnus@hagander.net>)
Ответы Re: Why assignment before return?  (Magnus Hagander <magnus@hagander.net>)
Список 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 по дате отправления:

Предыдущее
От: Magnus Hagander
Дата:
Сообщение: Re: git: uh-oh
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!