~ubuntu-branches/ubuntu/trusty/postgresql-9.3/trusty-proposed

« back to all changes in this revision

Viewing changes to src/backend/access/gist/gistutil.c

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2014-07-24 16:13:59 UTC
  • mfrom: (1.1.8)
  • Revision ID: package-import@ubuntu.com-20140724161359-uk325qfv03euxuuh
Tags: 9.3.5-0ubuntu0.14.04.1
* New upstream bug fix release: (LP: #1348176)
  - pg_upgrade: Users who upgraded to version 9.3 using pg_upgrade may have
    an issue with transaction information which causes VACUUM to eventually
    fail. These users should run the script provided in the release notes to
    determine if their installation is affected, and then take the remedy
    steps outlined there.
  - Various data integrity and other bug fixes.
  - Secure Unix-domain sockets of temporary postmasters started during make
    check.
    Any local user able to access the socket file could connect as the
    server's bootstrap superuser, then proceed to execute arbitrary code as
    the operating-system user running the test, as we previously noted in
    CVE-2014-0067. This change defends against that risk by placing the
    server's socket in a temporary, mode 0700 subdirectory of /tmp.
  - See release notes for details:
    http://www.postgresql.org/about/news/1534/
* Remove pg_regress patches to support --host=/path, obsolete with above
  upstream changes and not applicable any more.
* Drop tcl8.6 patch, applied upstream.
* Add missing logrotate test dependency.

Show diffs side-by-side

added added

removed removed

Lines of Context:
414
414
         * some inserts to go to other equally-good subtrees.
415
415
         *
416
416
         * keep_current_best is -1 if we haven't yet had to make a random choice
417
 
         * whether to keep the current best tuple.      If we have done so, and
 
417
         * whether to keep the current best tuple.  If we have done so, and
418
418
         * decided to keep it, keep_current_best is 1; if we've decided to
419
419
         * replace, keep_current_best is 0.  (This state will be reset to -1 as
420
420
         * soon as we've made the replacement, but sometimes we make the choice in
456
456
                        {
457
457
                                /*
458
458
                                 * New best penalty for column.  Tentatively select this tuple
459
 
                                 * as the target, and record the best penalty.  Then reset the
 
459
                                 * as the target, and record the best penalty.  Then reset the
460
460
                                 * next column's penalty to "unknown" (and indirectly, the
461
461
                                 * same for all the ones to its right).  This will force us to
462
462
                                 * adopt this tuple's penalty values as the best for all the
475
475
                        {
476
476
                                /*
477
477
                                 * The current tuple is exactly as good for this column as the
478
 
                                 * best tuple seen so far.      The next iteration of this loop
 
478
                                 * best tuple seen so far.  The next iteration of this loop
479
479
                                 * will compare the next column.
480
480
                                 */
481
481
                        }
681
681
        /*
682
682
         * ReadBuffer verifies that every newly-read page passes
683
683
         * PageHeaderIsValid, which means it either contains a reasonably sane
684
 
         * page header or is all-zero.  We have to defend against the all-zero
 
684
         * page header or is all-zero.  We have to defend against the all-zero
685
685
         * case, however.
686
686
         */
687
687
        if (PageIsNew(page))