At Tue, 23 Apr 2019 11:34:38 +0900, Michael Paquier <mich...@paquier.xyz> wrote 
in <20190423023438.gh2...@paquier.xyz>
> On Mon, Apr 22, 2019 at 09:19:33PM +0900, Kyotaro HORIGUCHI wrote:
> > The attached exercises this sequence, needing some changes in
> > PostgresNode.pm and RecursiveCopy.pm to allow tablespaces.
> 
> +    # Check for symlink -- needed only on source dir
> +    # (note: this will fall through quietly if file is already gone)
> +    if (-l $srcpath)
> +    {
> +        croak "Cannot operate on symlink \"$srcpath\""
> +          if ($srcpath !~ /\/(pg_tblspc\/[0-9]+)$/);
> +
> +        # We have mapped tablespaces. Copy them individually
> +        my $linkname = $1;
> +        my $tmpdir = TestLib::tempdir;
> +        my $dstrealdir = TestLib::real_dir($tmpdir);
> +        my $srcrealdir = readlink($srcpath);
> +
> +        opendir(my $dh, $srcrealdir);
> +        while (readdir $dh)
> +        {
> +            next if (/^\.\.?$/);
> +            my $spath = "$srcrealdir/$_";
> +            my $dpath = "$dstrealdir/$_";
> +
> +            copypath($spath, $dpath);
> +        }
> +        closedir $dh;
> +
> +        symlink $dstrealdir, $destpath;
> +        return 1;
> +    }
> 
> The same stuff is proposed here:
> https://www.postgresql.org/message-id/cagrczquxd9yofifokxofj+fp3jdpoekczt+zh_prmnaadae...@mail.gmail.com
> 
> So there is a lot of demand for making the recursive copy more skilled
> at handling symlinks for tablespace tests, and I'd like to propose to
> do something among those lines for the tests on HEAD, presumably for
> v12 and not v13 as we are talking about a bug fix here?  I am not sure
> yet which one of the proposals is better than the other though.

TBH I like that (my one cieted above) not so much. However, I
prefer to have v12 if this is a bug and to be fixed in
v12. Otherwise we won't add a test for this later:p

Anyway I'll visit there. Thanks. 

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



Reply via email to