1. 03 May, 2018 5 commits
    • Tom Lane's avatar
      Avoid portability issues in autoprewarm.c. · cddc4dc6
      Tom Lane authored
      autoprewarm.c mostly considered the number of blocks it might be dealing
      with as being int64.  This is unnecessary, because NBuffers is declared
      as int, and there's been no suggestion that we might widen it in the
      foreseeable future.  Moreover, using int64 is problematic because the
      code expected INT64_FORMAT to work with fscanf(), something we don't
      guarantee, and which indeed fails on some older buildfarm members.
      
      On top of that, the module randomly used uint32 rather than int64 variables
      to hold block counters in several places, so it would fail anyway if we
      ever did have NBuffers wider than that; and it also supposed that pg_qsort
      could sort an int64 number of elements, which is wrong on 32-bit machines
      (though no doubt a 32-bit machine couldn't actually have that many
      buffers).
      
      Hence, change all these variables to plain int.
      
      In passing, avoid shadowing one variable named i with another,
      and avoid casting away const in apw_compare_blockinfo.
      
      Discussion: https://postgr.es/m/7773.1525288909@sss.pgh.pa.us
      cddc4dc6
    • Teodor Sigaev's avatar
      Fix pg_dump support for pre-8.2 versions · ac7a7e32
      Teodor Sigaev authored
      Unify indnkeys/indnatts/indnkeyatts usage  for all version of query to get
      index information, remove indnkeys column  from query as unused.
      
      Author: Marina Polyakova
      Noticed by: Peter Eisentraut
      ac7a7e32
    • Tom Lane's avatar
      Further improve code for probing the availability of ARM CRC instructions. · a7a73875
      Tom Lane authored
      Andrew Gierth pointed out that commit 1c72ec6f would yield the wrong
      answer on big-endian ARM systems, because the data being CRC'd would be
      different.  To fix that, and avoid the rather unsightly hard-wired
      constant, simply compare the hardware and software implementations'
      results.
      
      While we're at it, also log the resulting decision at DEBUG1, and error
      out if the hw and sw results unexpectedly differ.  Also, since this
      file must compile for both frontend and backend, avoid incorrect
      dependencies on backend-only headers.
      
      In passing, add a comment to postmaster.c about when the CRC function
      pointer will get initialized.
      
      Thomas Munro, based on complaints from Andrew Gierth and Tom Lane
      
      Discussion: https://postgr.es/m/HE1PR0801MB1323D171938EABC04FFE7FA9E3110@HE1PR0801MB1323.eurprd08.prod.outlook.com
      a7a73875
    • Peter Eisentraut's avatar
      Fix SPI error cleanup and memory leak · 30c66e77
      Peter Eisentraut authored
      Since the SPI stack has been moved from TopTransactionContext to
      TopMemoryContext, setting _SPI_stack to NULL in AtEOXact_SPI() leaks
      memory.  In fact, we don't need to do that anymore: We just leave the
      allocated stack around for the next SPI use.
      
      Also, refactor the SPI cleanup so that it is run both at transaction end
      and when returning to the main loop on an exception.  The latter is
      necessary when a procedure calls a COMMIT or ROLLBACK command that
      itself causes an error.
      30c66e77
    • Robert Haas's avatar
      Remove now-unnecessary cast. · a365f52d
      Robert Haas authored
      Etsuro Fujita
      
      Discussion: http://postgr.es/m/5AE99BA7.9060001@lab.ntt.co.jp
      a365f52d
  2. 02 May, 2018 12 commits
  3. 01 May, 2018 12 commits
  4. 30 Apr, 2018 11 commits