Skip to content


Subversion checkout URL

You can clone with
Download ZIP
branch: master
Commits on Dec 10, 2014
Commits on Jul 29, 2012
  1. Merge branch 'zwily-fix-index-bug'

    Tomas Vondra authored
Commits on Jul 5, 2012
  1. @zwily

    Fix skipping index tuples with no data.

    zwily authored
    The previous code was only skipping a tuple with no data if the page was
    leftmost. That was too restrictive. Any non-leaf page might have an empty
    tuple in the first data key location (1 or 2, depending on whether the page is
    rightmost), so that check is expanded a bit.
Commits on Jul 4, 2012
  1. @zwily

    Handle when a tuple has fewer attributes than in the relation.

    zwily authored
    Postgres allows this situation to occur, and simply assumes that the trailing
    attributes are NULL. This change makes pg_check only examine up to the number
    of attributes actually in the tuple.
    I don't know how to create this situation in a test, I've only seen it in
    production data so far.
Commits on Apr 16, 2012
  1. Fixed handling of index tuples with no data (incorrect use of the IND…

    …EX_VAR_MASK map).
    Now it's checked how much data are there using (IndexTupleSize-IndexInfoFindDataOffset)
    and if the difference is 0, the item length check is skipped.
Commits on Apr 15, 2012
  1. Fixed b-tree index checks, causing incorrect 'attribute overflows

    tuple end' messages.
    It seems there's a INDEX_VAR_MASK flag in each tuple, and when this
    is 'false' then there are no data (but this needs verification and
    maybe a review).
Commits on Apr 10, 2012
  1. @hlinnaka

    Fix the logic for the first data key on non-leaf b-tree index tuples.…

    hlinnaka authored
    … Per
    the comments and README, they are not real tuples, but the the check to
    detect them was not accounting high-keys correctly.
    Also, be consistent about printing the offset number as a 1-based number in
    debug/warning messages.
Commits on Apr 9, 2012
  1. Proper locking mode - ACCESS SHARE or SHARE ROW EXCLUSIVE locks.

    By default, ACCESS SHARE lock is acquired. When cross-checking
    the table and indexes, a more restrictive SHARE ROW EXCLUSIVE
    lock needs to be acquired (preventing modifications of the
    table and indexes),
Commits on Apr 8, 2012
  1. Minor tweak of printing the debugging into (not printing the data=[]

    when the bitmap format is set to none).
  2. Improved debugging options - added two GUC options, one (pg_check.debug)

    for enabling debugging info and the other one (pg_check.bitmap_format)
    to set bitmap format (none, binary, hex or base64).
  3. Improved bitmap_print method.

Commits on Apr 7, 2012
Commits on Apr 6, 2012
  1. Initial (slightly experimental) implementation of cross-checking heap…

    … and btree indexes (missing items etc.).
Commits on Apr 5, 2012
  1. Basic regression test suite.

Commits on Nov 11, 2011
  1. @hlinnaka
  2. @hlinnaka

    Allow checking toast tables. They're just like any other table, as fa…

    hlinnaka authored
    …r as
    our checks are concerned.
  3. @hlinnaka

    Ignore non-btree indexes, when checking all indexes of a table, becau…

    hlinnaka authored
    …se we
    don't know how to check them.
  4. @hlinnaka
Something went wrong with that request. Please try again.