Skip to content
Snippets Groups Projects
Select Git revision
  • benchmark-tools
  • postgres-lambda
  • master default
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
23 results

postgres-lambda-diff

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Tom Lane authored
    Dead or half-dead index leaf pages were incorrectly reported as live, as a
    consequence of a code rearrangement I made (during a moment of severe brain
    fade, evidently) in commit d287818e.
    
    The index metapage was not counted in index_size, causing that result to
    not agree with the actual index size on-disk.
    
    Index root pages were not counted in internal_pages, which is inconsistent
    compared to the case of a root that's also a leaf (one-page index), where
    the root would be counted in leaf_pages.  Aside from that inconsistency,
    this could lead to additional transient discrepancies between the reported
    page counts and index_size, since it's possible for pgstatindex's scan to
    see zero or multiple pages marked as BTP_ROOT, if the root moves due to
    a split during the scan.  With these fixes, index_size will always be
    exactly one page more than the sum of the displayed page counts.
    
    Also, the index_size result was incorrectly documented as being measured in
    pages; it's always been measured in bytes.  (While fixing that, I couldn't
    resist doing some small additional wordsmithing on the pgstattuple docs.)
    
    Including the metapage causes the reported index_size to not be zero for
    an empty index.  To preserve the desired property that the pgstattuple
    regression test results are platform-independent (ie, BLCKSZ configuration
    independent), scale the index_size result in the regression tests.
    
    The documentation issue was reported by Otsuka Kenji, and the inconsistent
    root page counting by Peter Geoghegan; the other problems noted by me.
    Back-patch to all supported branches, because this has been broken for
    a long time.
    29f29972
    History
    PostgreSQL Database Management System
    =====================================
    
    This directory contains the source code distribution of the PostgreSQL
    database management system.
    
    PostgreSQL is an advanced object-relational database management system
    that supports an extended subset of the SQL standard, including
    transactions, foreign keys, subqueries, triggers, user-defined types
    and functions.  This distribution also contains C language bindings.
    
    PostgreSQL has many language interfaces, many of which are listed here:
    
    	http://www.postgresql.org/download
    
    See the file INSTALL for instructions on how to build and install
    PostgreSQL.  That file also lists supported operating systems and
    hardware platforms and contains information regarding any other
    software packages that are required to build or run the PostgreSQL
    system.  Copyright and license information can be found in the
    file COPYRIGHT.  A comprehensive documentation set is included in this
    distribution; it can be read as described in the installation
    instructions.
    
    The latest version of this software may be obtained at
    http://www.postgresql.org/download/.  For more information look at our
    web site located at http://www.postgresql.org/.