Thread

Commits

  1. Fix a couple of problems in pg_get_statisticsextdef

  1. pg_get_statisticsextdef() is not quite the full shilling

    David Rowley <david.rowley@2ndquadrant.com> — 2017-03-25T01:42:50Z

    Hi,
    
    Seems pg_get_statisticsextdef() has a couple of things wrong:
    
    1. HeapTupleIsValid() called on the wrong tuple.
    2. Did not schema qualify names.
    
    Both of which were my mistakes.
    
    The attached fixes.
    
    I've also added some tests to give the function a bit of coverage.
    
    I've purposefully left out the WITH syntax. We'll want to add some
    logic around that once we have more than one statistic type supported.
    I'd suggest not appending WITH if all supported types are present, and
    only appending it if a true subset are present. That'll mean pg_dump
    from v10 and import into v11 will get all types, if they did in v10,
    and the same subset that they did in v10 when only a subset were
    originally defined.
    
    Since we support only 1 type now, nothing needs to happen there yet.
    
    
    
    -- 
     David Rowley                   http://www.2ndQuadrant.com/
     PostgreSQL Development, 24x7 Support, Training & Services
    
  2. Re: pg_get_statisticsextdef() is not quite the full shilling

    Alvaro Herrera <alvherre@2ndquadrant.com> — 2017-03-27T04:06:13Z

    David Rowley wrote:
    
    > Seems pg_get_statisticsextdef() has a couple of things wrong:
    > 
    > 1. HeapTupleIsValid() called on the wrong tuple.
    > 2. Did not schema qualify names.
    
    Actually we can solve both 1 and the first half of 2 by just using
    generate_relation_name, which is less code and gives better results
    (because we then schema-qualify the relation name conditionally).  I
    patched the other half of 2 using your approach, but I wonder if we
    should have a function StatisticsIsVisible or something.
    
    > I've purposefully left out the WITH syntax. We'll want to add some
    > logic around that once we have more than one statistic type supported.
    > I'd suggest not appending WITH if all supported types are present, and
    > only appending it if a true subset are present. That'll mean pg_dump
    > from v10 and import into v11 will get all types, if they did in v10,
    > and the same subset that they did in v10 when only a subset were
    > originally defined.
    > 
    > Since we support only 1 type now, nothing needs to happen there yet.
    
    Yeah, this sounds sensible to me.
    
    
    -- 
    Álvaro Herrera                https://www.2ndQuadrant.com/
    PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services