~ubuntu-branches/ubuntu/lucid/postgresql-8.4/lucid-proposed

« back to all changes in this revision

Viewing changes to src/backend/parser/analyze.c

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2012-12-10 15:53:42 UTC
  • mfrom: (1.3.9)
  • Revision ID: package-import@ubuntu.com-20121210155342-3scm68xcxel275jb
Tags: 8.4.15-0ubuntu10.04
* New upstream bug fix release: (LP: #1088393)
  - Fix multiple bugs associated with "CREATE INDEX CONCURRENTLY"
    Fix "CREATE INDEX CONCURRENTLY" to use in-place updates when
    changing the state of an index's pg_index row. This prevents race
    conditions that could cause concurrent sessions to miss updating
    the target index, thus resulting in corrupt concurrently-created
    indexes.
    Also, fix various other operations to ensure that they ignore
    invalid indexes resulting from a failed "CREATE INDEX CONCURRENTLY"
    command. The most important of these is "VACUUM", because an
    auto-vacuum could easily be launched on the table before corrective
    action can be taken to fix or remove the invalid index.
  - See HISTORY/changelog.gz for details about other bug fixes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
 
27
27
#include "access/sysattr.h"
28
28
#include "catalog/pg_type.h"
 
29
#include "miscadmin.h"
29
30
#include "nodes/makefuncs.h"
30
31
#include "nodes/nodeFuncs.h"
31
32
#include "optimizer/var.h"
1386
1387
 
1387
1388
        Assert(stmt && IsA(stmt, SelectStmt));
1388
1389
 
 
1390
        /* Guard against stack overflow due to overly complex set-expressions */
 
1391
        check_stack_depth();
 
1392
 
1389
1393
        /*
1390
1394
         * Validity-check both leaf and internal SELECTs for disallowed ops.
1391
1395
         */