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

cluster.c

  • Heikki Linnakangas's avatar
    8f9622bb
    Make DDL operations play nicely with Serializable Snapshot Isolation. · 8f9622bb
    Heikki Linnakangas authored
    Truncating or dropping a table is treated like deletion of all tuples, and
    check for conflicts accordingly. If a table is clustered or rewritten by
    ALTER TABLE, all predicate locks on the heap are promoted to relation-level
    locks, because the tuple or page ids of any existing tuples will change and
    won't be valid after rewriting the table. Arguably ALTER TABLE should be
    treated like a mass-UPDATE of every row, but if you e.g change the datatype
    of a column, you could also argue that it's just a change to the physical
    layout, not a logical change. Reindexing promotes all locks on the index to
    relation-level lock on the heap.
    
    Kevin Grittner, with a lot of cosmetic changes by me.
    8f9622bb
    History
    Make DDL operations play nicely with Serializable Snapshot Isolation.
    Heikki Linnakangas authored
    Truncating or dropping a table is treated like deletion of all tuples, and
    check for conflicts accordingly. If a table is clustered or rewritten by
    ALTER TABLE, all predicate locks on the heap are promoted to relation-level
    locks, because the tuple or page ids of any existing tuples will change and
    won't be valid after rewriting the table. Arguably ALTER TABLE should be
    treated like a mass-UPDATE of every row, but if you e.g change the datatype
    of a column, you could also argue that it's just a change to the physical
    layout, not a logical change. Reindexing promotes all locks on the index to
    relation-level lock on the heap.
    
    Kevin Grittner, with a lot of cosmetic changes by me.