Re: [PATCH] Remove make_temptable_name_n()

Nathan Bossart <nathandbossart@gmail.com>

From: Nathan Bossart <nathandbossart@gmail.com>
To: Aleksander Alekseev <aleksander@tigerdata.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Shinya Kato <shinya11.kato@gmail.com>, Álvaro Herrera <alvherre@kurilemu.de>
Date: 2025-10-21T19:30:53Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Remove make_temptable_name_n().

  2. Add support for REFRESH MATERIALIZED VIEW CONCURRENTLY.

On Tue, Oct 21, 2025 at 03:36:46PM +0300, Aleksander Alekseev wrote:
> +	{
> +		char	   *nsp = get_namespace_name(RelationGetNamespace(tempRel));
> +		char	   *temprelname = RelationGetRelationName(tempRel);
> +		char	   *diffrelname = psprintf("%s_%d", temprelname, 2);

I assume the intent of the extra set of curly brackets is to keep the
declarations of these variables close to where they are used.  In this
case, the top of the function is only a few lines up, so IMHO we should
declare them there and save a level of indentation.

> +		pfree(diffrelname);
> +		if (nsp)
> +			pfree(nsp);

Any reason to be so careful about freeing these?  We ordinarily let the
memory context take care of freeing, and refresh_by_match_merge() looks no
different.

-- 
nathan