On Tue, Mar 11, 2014 at 8:42 PM, Simon Riggs <si...@2ndquadrant.com> wrote:
>
> On 11 March 2014 18:33, Tom Lane <t...@sss.pgh.pa.us> wrote:
> > Simon Riggs <si...@2ndquadrant.com> writes:
> >> -1 to *requiring* validation for table-level options for exactly the
> >> same reasons we no longer validate custom GUCs.
> >
> > Well, that is an interesting analogy, but I'm not sure how much it
applies
> > here.  In the case of a GUC, you can fairly easily validate it once the
> > module does get loaded (and before the module actually tries to do
> > anything with it).  I don't see how that's going to work for table
> > options.  I trust nobody is seriously proposing that on module load,
we're
> > going to scan the whole of pg_class looking to see if there are
incorrect
> > settings.  (Even if we did, what would we do about it?  Not try to
force a
> > pg_class update, for sure.  And what if the module is loading into the
> > postmaster thanks to a preload spec?)
>
> Thank goodness for that. Strict validation does seem scary.
>
> > I don't really think partial validation makes sense.  We could just
remove
> > the whole topic, and tell extension authors that it's up to them to
defend
> > themselves against bizarre values stored for their table options.  But
I'm
> > wondering if there's really so much use-case for a feature like that.
>
> DBAs are fairly used to the idea that if you put crap data in the
> database then bad things happen. We provide the table, they provide
> the data. Validation is possible, but not enforced as essential.
> (Except in terms of the datatype - but then we are also validating
> data to specific types here).
>
> So I think that DBAs will also cope rather well with table-level
> options without us nannying them.
>
> There is nothing more annoying that needing to run scripts in a
> specific sequence to make them work, or dumps that fail because
> certain modules aren't loaded yet (or cannot ever be so). And maybe
> the DBA wants to annotate tables based on a design and then later move
> to implement modules to take advantage of the annotation.
>
> Having an option be set and yet be unvalidated and/or unused is no
> more annoying than having a column in a table that is known incorrect
> and/or not accessed. Searching for badly set options needs to be
> possible, even easy, but hard validation can cause problems. And if we
> try and force it, whats to stop people from using a dummy validator
> just to circumvent the strictness?
>

Then I think my patch is more adherent given these conclusions, except by
the some adjustments suggested by Tom Lane and mentioned by Alvaro Herrera
[1].

Am I correct?


[1]
http://www.postgresql.org/message-id/20140307205649.gf4...@eldon.alvh.no-ip.org

--
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
>> Timbira: http://www.timbira.com.br
>> Blog sobre TI: http://fabriziomello.blogspot.com
>> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
>> Twitter: http://twitter.com/fabriziomello

Reply via email to