Re: clone_schema function

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Melvin Davidson <melvin6925(at)gmail(dot)com>
Cc: Daniel Verite <daniel(at)manitou-mail(dot)org>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: clone_schema function
Date: 2015-09-11 20:39:24
Message-ID: CAKFQuwbRhjPpHR7QrdjNL6d2iNg58zEVKUkSRFNH1um8GAyimQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, Sep 11, 2015 at 4:23 PM, Melvin Davidson <melvin6925(at)gmail(dot)com>
wrote:

> "seriously flawed" is a bit of a stretch. Most sane developers would not
> have schema names of one letter.
> They usually name a schema something practical, which totally avoids your
> nit picky exception.
> However, if you are that concerned about the "serious flaw", you have the
> option of using the method
> of dumping the schema, editing the dump and reloading. Or, I invite you to
> use your great skills and
> write a better method.
>
>>
>> SELECT replace(qry, source_schema, dest_schema) INTO dest_qry;
>>
>
Or maybe you can at least mitigate the potential problem a bit by changing
this to read:

replace(qry, source_schema || '.', dest_schema || '.') INTO dest_qry; ...

Posting code for public consumption involves accepting constructive
criticism and even if the example is contrived I'm doubting the possibility
of collision is as close to zero as you think it may be or as close as it
could be with a simple re-evaluation of what constraints as imposed on a
particular sequence of characters being interpreted as a schema. You do
still end up with a possible false-positive when you have a
(column.composite).composite_field expression.

Regular expressions could maybe help here since the leading character is
limited too...but less so then the trailing character.

David J.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Melvin Davidson 2015-09-11 20:47:18 Re: clone_schema function
Previous Message Igor Neyman 2015-09-11 20:34:12 Re: clone_schema function