1. 12 Nov, 2020 10 commits
  2. 11 Nov, 2020 9 commits
  3. 10 Nov, 2020 5 commits
  4. 09 Nov, 2020 8 commits
  5. 08 Nov, 2020 4 commits
    • Tom Lane's avatar
      In INSERT/UPDATE, use the table's real tuple descriptor as target. · 8b39345a
      Tom Lane authored
      This back-patches commit 20d3fe90 into the v12 and v13 branches.
      At the time I thought that commit was not fixing any observable
      bug, but Bertrand Drouvot showed otherwise: adding a dropped column
      to the previously-considered scenario crashes v12 and v13, unless the
      dropped column happens to be an integer.  That is, of course, because
      the tupdesc we derive from the plan output tlist fails to describe
      the dropped column accurately, so that we'll do the wrong thing with
      a tuple in which that column isn't NULL.
      
      There is no bug in pre-v12 branches because they already did use
      the table's real tuple descriptor for any trigger-returned tuple.
      It seems that this set of bugs can be blamed on the changes that
      removed es_trig_tuple_slot, though I've not attempted to pin that
      down precisely.
      
      Although there's no code change needed in HEAD, update the test case
      to include a dropped column there too.
      
      Discussion: https://postgr.es/m/db5d97c8-f48a-51e2-7b08-b73d5434d425@amazon.com
      Discussion: https://postgr.es/m/16644-5da7ef98a7ac4545@postgresql.org
      8b39345a
    • Thomas Munro's avatar
      Fix assertion in collation version lookup. · d50e3b1f
      Thomas Munro authored
      Commit 257836a7 included an assertion that a version lookup routine is
      not trying to look up "C" or "POSIX", but that case is reachable with
      the user-facing SQL function pg_collation_actual_version().  Remove the
      assertion.
      d50e3b1f
    • Peter Eisentraut's avatar
      Fix test for error message change · 8cff66d3
      Peter Eisentraut authored
      fix for 6be725e7
      8cff66d3
    • Peter Geoghegan's avatar
      Improve nbtree README's LP_DEAD section. · 5a2f154a
      Peter Geoghegan authored
      The description of how LP_DEAD bit setting by index scans works
      following commit 2ed5b87f was rather unclear.  Clean that up a bit.
      
      Also refer to LP_DEAD bit setting within _bt_check_unique() at the start
      of the same section.  This mechanism may actually be more important than
      the generic kill_prior_tuple mechanism that the section focuses on, so
      it at least deserves to be mentioned in passing.
      5a2f154a
  6. 07 Nov, 2020 4 commits
    • Alvaro Herrera's avatar
      Message style improvements · 52eec1c5
      Alvaro Herrera authored
      * Avoid pointlessly highlighting that an index vacuum was executed by a
        parallel worker; user doesn't care.
      
      * Don't give the impression that a non-concurrent reindex of an invalid
        index on a TOAST table would work, because it wouldn't.
      
      * Add a "translator:" comment for a mysterious message.
      
      Discussion: https://postgr.es/m/20201107034943.GA16596@alvherre.pgsqlReviewed-by: default avatarMichael Paquier <michael@paquier.xyz>
      52eec1c5
    • Peter Eisentraut's avatar
      Fix redundant error messages in client tools · 6be725e7
      Peter Eisentraut authored
      A few client tools duplicate error messages already provided by libpq.
      
      Discussion: https://www.postgresql.org/message-id/flat/3e937641-88a1-e697-612e-99bba4b8e5e4%40enterprisedb.com
      6be725e7
    • Tom Lane's avatar
      Avoid re-using output variables in new ecpg test case. · eed4356f
      Tom Lane authored
      The buildfarm thinks this leads to memory stomps, though annoyingly
      I can't duplicate that here.  The existing code in strings.pgc is
      doing something that doesn't seem to be sanctioned at all really
      by the documentation, but I'm disinclined to try to make that nicer
      right now.  Let's just declare some more output variables in hopes
      of working around it.
      eed4356f
    • Tom Lane's avatar
      Fix ecpg's mishandling of B'...' and X'...' literals. · 1e3868ab
      Tom Lane authored
      These were broken in multiple ways:
      
      * The xbstart and xhstart lexer actions neglected to set
      "state_before_str_start" before transitioning to the xb/xh states,
      thus possibly resulting in "internal error: unreachable state" later.
      
      * The test for valid string contents at the end of xb state was flat out
      wrong, as it accounted incorrectly for the "b" prefix that the xbstart
      action had injected.  Meanwhile, the xh state had no such check at all.
      
      * The generated literal value failed to include any quote marks.
      
      * The grammar did the wrong thing anyway, typically ignoring the
      literal value and emitting something else, since BCONST and XCONST
      tokens were handled randomly differently from SCONST tokens.
      
      The first of these problems is evidently an oversight in commit
      7f380c59, but the others seem to be very ancient.  The lack of
      complaints shows that ECPG users aren't using these syntaxes much
      (although I do vaguely remember one previous complaint).
      
      As written, this patch is dependent on 7f380c59, so it can't go
      back further than v13.  Given the shortage of complaints, I'm not
      excited about adapting the patch to prior branches.
      
      Report and patch by Shenhao Wang (test case adjusted by me)
      
      Discussion: https://postgr.es/m/d6402f1bacb74ecba22ef715dbba17fd@G08CNEXMBPEKD06.g08.fujitsu.local
      1e3868ab