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?
|
| Список | 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 по дате отправления: