Re: more psprintf() use - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: more psprintf() use
Date
Msg-id 20140102191245.GA7035@eldon.alvh.no-ip.org
Whole thread Raw
In response to more psprintf() use  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: more psprintf() use  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
Peter Eisentraut wrote:

> psprintf() in place of hardcoded palloc(N) + sprintf() and the like.
> 

> +    values[j++] = psprintf("%d", stat.blkno);
> +    values[j++] = psprintf("%c", stat.type);
> +    values[j++] = psprintf("%d", stat.live_items);
> +    values[j++] = psprintf("%d", stat.dead_items);
> +    values[j++] = psprintf("%d", stat.avg_item_size);
> +    values[j++] = psprintf("%d", stat.page_size);
> +    values[j++] = psprintf("%d", stat.free_size);
> +    values[j++] = psprintf("%d", stat.btpo_prev);
> +    values[j++] = psprintf("%d", stat.btpo_next);
> +    values[j++] = psprintf("%d", (stat.type == 'd') ? stat.btpo.xact : stat.btpo.level);
> +    values[j++] = psprintf("%d", stat.btpo_flags);
>  
>      tuple = BuildTupleFromCStrings(TupleDescGetAttInMetadata(tupleDesc),
>                                     values);

In cases such as this one, I have often wondered whether it'd be better
to write this as DatumGetSometype() plus heap_form_tuple, instead of
printing to strings and then building a tuple from those.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [PATCH] Negative Transition Aggregate Functions (WIP)
Next
From: Merlin Moncure
Date:
Subject: Re: proposal: multiple read-write masters in a cluster with wal-streaming synchronization