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
    ExecInsertIndexTuples treated an exclusion constraint as subject to
    noDupErr processing even when it was not listed in arbiterIndexes, and
    would therefore not error out for a conflict in such a constraint, instead
    returning it as an arbiter-index failure.  That led to an infinite loop in
    ExecInsert, since ExecCheckIndexConstraints ignored the index as-intended
    and therefore didn't throw the expected error.  To fix, make the exclusion
    constraint code path use the same condition as the index_insert call does
    to decide whether no-error-for-duplicates behavior is appropriate.  While
    at it, refactor a little bit to avoid unnecessary list_member_oid calls.
    (That surely wouldn't save anything worth noticing, but I find the code
    a bit clearer this way.)
    
    Per bug report from Heikki Rauhala.  Back-patch to 9.5 where ON CONFLICT
    was introduced.
    
    Report: <4C976D6B-76B4-434C-8052-D009F7B7AEDA@reaktor.fi>
    9c810a2e
    History
    Name Last commit Last update