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
    A "break" statement erroneously left behind by commit a1c1af2a
    caused TopoSort to do the wrong thing if a lock's wait list
    contained multiple members of the same locking group.
    
    Because parallel workers don't normally need any locks not already
    taken by their leader, this is very hard --- maybe impossible ---
    to hit in production.  Still, if it did happen, the queries involved
    in an otherwise-resolvable deadlock would block until canceled.
    
    In addition to removing the bogus "break", add an Assert showing
    that the conflicting uses of the beforeConstraints[] array (for both
    counts and flags) don't overlap, and add some commentary explaining
    why not; because it's not obvious without explanation, IMHO.
    
    Original report and patch from Rui Hai Jiang; additional assert
    and commentary by me.  Back-patch to 9.6 where the bug came in.
    
    Discussion: https://postgr.es/m/CAEri+mLd3bpHLyW+a9pSe1y=aEkeuJpwBSwvo-+m4n7-ceRmXw@mail.gmail.com
    0dcb1c6c
    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:
    
    	https://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
    https://www.postgresql.org/download/.  For more information look at our
    web site located at https://www.postgresql.org/.