Re: A weird bit in pg_upgrade/exec.c

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: a(dot)akenteva(at)postgrespro(dot)ru
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: A weird bit in pg_upgrade/exec.c
Date: 2017-11-09 16:17:26
Message-ID: 21596.1510244246@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

a(dot)akenteva(at)postgrespro(dot)ru writes:
> I've came across a weird bit in pg_upgrade/exec.c

> We have a function check_bin_dir() which goes like this (old_cluster and
> new_cluster are global variables):
> void check_bin_dir(ClusterInfo *cluster)
> {
> ...
> get_bin_version(&old_cluster);
> get_bin_version(&new_cluster);
> ...
> }

> This function has two calls:
> check_bin_dir(&old_cluster);
> check_bin_dir(&new_cluster);

> I'd like to substitute these last two lines with this:
> get_bin_version(cluster);

Yeah, the way it is now seems outright broken. It will try to do
get_bin_version on the new cluster before having done validate_exec
there, violating its own comment.

I think we should change this as a bug fix, independently of whatever
else you had in mind to do here.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2017-11-09 16:21:26 Re: A weird bit in pg_upgrade/exec.c
Previous Message Alvaro Herrera 2017-11-09 16:06:08 Re: A weird bit in pg_upgrade/exec.c