1. 26 Sep, 2016 2 commits
    • Tom Lane's avatar
      Document has_type_privilege(). · a4afb2b5
      Tom Lane authored
      Evidently an oversight in commit 72920557.  Back-patch to 9.2 where
      privileges for types were introduced.
      
      Report: <20160922173517.8214.88959@wrigleys.postgresql.org>
      a4afb2b5
    • Heikki Linnakangas's avatar
      Refactor script execution state machine in pgbench. · 12788ae4
      Heikki Linnakangas authored
      The doCustom() function had grown into quite a mess. Rewrite it, in a more
      explicit state machine style, for readability.
      
      This also fixes one minor bug: if a script consisted entirely of meta
      commands, doCustom() never returned to the caller, so progress reports
      with the -P option were not printed. I don't want to backpatch this
      refactoring, and the bug is quite insignificant, so only commit this to
      master, and leave the bug unfixed in back-branches.
      
      Review and original bug report by Fabien Coelho.
      
      Discussion: <alpine.DEB.2.20.1607090850120.3412@sto>
      12788ae4
  2. 25 Sep, 2016 1 commit
    • Tom Lane's avatar
      Refer to OS X as "macOS", except for the port name which is still "darwin". · da6c4f6c
      Tom Lane authored
      We weren't terribly consistent about whether to call Apple's OS "OS X"
      or "Mac OS X", and the former is probably confusing to people who aren't
      Apple users.  Now that Apple has rebranded it "macOS", follow their lead
      to establish a consistent naming pattern.  Also, avoid the use of the
      ancient project name "Darwin", except as the port code name which does not
      seem desirable to change.  (In short, this patch touches documentation and
      comments, but no actual code.)
      
      I didn't touch contrib/start-scripts/osx/, either.  I suspect those are
      obsolete and due for a rewrite, anyway.
      
      I dithered about whether to apply this edit to old release notes, but
      those were responsible for quite a lot of the inconsistencies, so I ended
      up changing them too.  Anyway, Apple's being ahistorical about this,
      so why shouldn't we be?
      da6c4f6c
  3. 24 Sep, 2016 1 commit
  4. 23 Sep, 2016 9 commits
    • Tom Lane's avatar
      Install TAP test infrastructure so it's available for extension testing. · c3a08184
      Tom Lane authored
      When configured with --enable-tap-tests, "make install" will now install
      the Perl support files for TAP testing where PGXS will find them.
      This allows extensions to rely on $(prove_check) even when being built
      out-of-tree.  Back-patch to 9.4 where we first started to support TAP
      testing, to reduce the number of cases extension makefiles need to
      consider.
      
      Craig Ringer
      
      Discussion: <CAMsr+YFXv+2qne6xJW7z_25mYBtktRX5rpkrgrb+DRgQ_FxgHQ@mail.gmail.com>
      c3a08184
    • Tom Lane's avatar
      Doc: fix examples of # operators so they actually work. · 5a7bae06
      Tom Lane authored
      These worked as-is until around 7.0, but fail in newer versions because
      there are more operators named "#".  Besides it's a bit inconsistent that
      only two of the examples on this page lack type names on their constants.
      
      Report: <20160923081530.1517.75670@wrigleys.postgresql.org>
      5a7bae06
    • Tom Lane's avatar
      Fix incorrect logic for excluding range constructor functions in pg_dump. · 12f6eadf
      Tom Lane authored
      Faulty AND/OR nesting in the WHERE clause of getFuncs' SQL query led to
      dumping range constructor functions if they are part of an extension
      and we're in binary-upgrade mode.  Actually, we don't want to dump them
      separately even then, since CREATE TYPE AS RANGE will create the range's
      constructor functions regardless.  Per report from Andrew Dunstan.
      
      It looks like this mistake was introduced by me, in commit b985d487, in
      perhaps-overzealous refactoring to reduce code duplication.  I'm suitably
      embarrassed.
      
      Report: <34854939-02d7-f591-5677-ce2994104599@dunslane.net>
      12f6eadf
    • Tom Lane's avatar
      Remove useless code. · 959ea7fa
      Tom Lane authored
      Apparent copy-and-pasteo in standby_desc_invalidations() had two
      entries for msg->id == SHAREDINVALRELMAP_ID.
      
      Aleksander Alekseev
      
      Discussion: <20160923090814.GB1238@e733>
      959ea7fa
    • Tom Lane's avatar
      Don't trust CreateFileMapping() to clear the error code on success. · 8e6b4ee2
      Tom Lane authored
      We must test GetLastError() even when CreateFileMapping() returns a
      non-null handle.  If that value were left over from some previous system
      call, we might be fooled into thinking the segment already existed.
      Experimentation on Windows 7 suggests that CreateFileMapping() clears
      the error code on success, but it is not documented to do so, so let's
      not rely on that happening in all Windows releases.
      
      Amit Kapila
      
      Discussion: <20811.1474390987@sss.pgh.pa.us>
      8e6b4ee2
    • Tom Lane's avatar
      Avoid using PostmasterRandom() for DSM control segment ID. · 49a91b88
      Tom Lane authored
      Commits 470d886c et al intended to fix the problem that the postmaster
      selected the same "random" DSM control segment ID on every start.  But
      using PostmasterRandom() for that destroys the intended property that the
      delay between random_start_time and random_stop_time will be unpredictable.
      (Said delay is probably already more predictable than we could wish, but
      that doesn't mean that reducing it by a couple orders of magnitude is OK.)
      Revert the previous patch and add a comment warning against misuse of
      PostmasterRandom.  Fix the original problem by calling srandom() early in
      PostmasterMain, using a low-security seed that will later be overwritten
      by PostmasterRandom.
      
      Discussion: <20789.1474390434@sss.pgh.pa.us>
      49a91b88
    • Peter Eisentraut's avatar
      pg_ctl: Add promote wait option to help output · 6fa51c79
      Peter Eisentraut authored
      pointed out by Masahiko Sawada <sawada.mshk@gmail.com>
      6fa51c79
    • Heikki Linnakangas's avatar
      Improve error message on MSVC if perl*.lib is not found. · 3c2d5d66
      Heikki Linnakangas authored
      John Harvey, reviewed by Michael Paquier
      
      Discussion: <CABcP5fjEjgOsh097cWnQrsK9yCswo4DZxp-V47DKCH-MxY9Gig@mail.gmail.com>
      3c2d5d66
    • Heikki Linnakangas's avatar
      Fix typo in comment. · 674e2de6
      Heikki Linnakangas authored
      Daniel Gustafsson
      674e2de6
  5. 22 Sep, 2016 4 commits
    • Bruce Momjian's avatar
      C comment: fix function header comment · 1ff00421
      Bruce Momjian authored
      Fix for transformOnConflictClause().
      
      Author: Tomonari Katsumata
      1ff00421
    • Tom Lane's avatar
      Remove nearly-unused SizeOfIptrData macro. · 8023b582
      Tom Lane authored
      Past refactorings have removed all but one reference to SizeOfIptrData
      (and that one place was in a pretty noncritical spot).  Since nobody's
      complained, it seems probable that there are no supported compilers
      that don't think sizeof(ItemPointerData) is 6.  If there are, we're
      wasting MAXALIGN per heap tuple anyway, so it's rather silly to worry
      about whether we can shave space in places like WAL records.
      
      Pavan Deolasee
      
      Discussion: <CABOikdOOawDda4hwLOT6zdA6MFfPLu3Z2YBZkX0JdayNS6JOeQ@mail.gmail.com>
      8023b582
    • Tom Lane's avatar
      Be sure to rewind the tuplestore read pointer in non-leader CTEScan nodes. · 96dd77d3
      Tom Lane authored
      ExecInitCteScan supposed that it didn't have to do anything to the extra
      tuplestore read pointer it gets from tuplestore_alloc_read_pointer.
      However, it needs this read pointer to be positioned at the start of the
      tuplestore, while tuplestore_alloc_read_pointer is actually defined as
      cloning the current position of read pointer 0.  In normal situations
      that accidentally works because we initialize the whole plan tree at once,
      before anything gets read.  But it fails in an EvalPlanQual recheck, as
      illustrated in bug #14328 from Dima Pavlov.  To fix, just forcibly rewind
      the pointer after tuplestore_alloc_read_pointer.  The cost of doing so is
      negligible unless the tuplestore is already in TSS_READFILE state, which
      wouldn't happen in normal cases.  We could consider altering tuplestore's
      API to make that case cheaper, but that would make for a more invasive
      back-patch and it doesn't seem worth it.
      
      This has been broken probably for as long as we've had CTEs, so back-patch
      to all supported branches.
      
      Discussion: <32468.1474548308@sss.pgh.pa.us>
      96dd77d3
    • Peter Eisentraut's avatar
      Add tests for various connection string issues · 8b845520
      Peter Eisentraut authored
      Add tests for consistent support of connection strings in frontend
      programs as well as proper handling of unusual characters in database
      and user names.  These tests were developed for the issues of
      CVE-2016-5424.
      
      To allow testing of names with spaces, change the pg_regress
      command-line options --create-role and --dbname to split their arguments
      by comma only, not space or comma as before.  Only commas were actually
      used in existing uses.
      
      Noah Misch, Michael Paquier, Peter Eisentraut
      8b845520
  6. 21 Sep, 2016 9 commits
  7. 20 Sep, 2016 7 commits
  8. 19 Sep, 2016 4 commits
  9. 18 Sep, 2016 1 commit
    • Heikki Linnakangas's avatar
      Fix ecpg -? option on Windows, add -V alias for --version. · 3fcc98c9
      Heikki Linnakangas authored
      This makes the -? and -V options work consistently with other binaries.
      --help and --version are now only recognized as the first option, i.e.
      "ecpg --foobar --help" no longer prints the help, but that's consistent
      with most of our other binaries, too.
      
      Backpatch to all supported versions.
      
      Haribabu Kommi
      
      Discussion: <CAJrrPGfnRXvmCzxq6Dy=stAWebfNHxiL+Y_z7uqksZUCkW_waQ@mail.gmail.com>
      3fcc98c9
  10. 16 Sep, 2016 1 commit
    • Tom Lane's avatar
      Add debugging aid "bmsToString(Bitmapset *bms)". · d8c61c97
      Tom Lane authored
      This function has no direct callers at present, but it's convenient for
      manual use in a debugger, rather than having to inspect memory and do
      bit-counting in your head.
      
      In passing, get rid of useless outBitmapset() wrapper around
      _outBitmapset(); let's just export the function that does the work.
      Likewise for outToken().
      
      Ashutosh Bapat, tweaked a bit by me
      
      Discussion: <CAFjFpRdiht8e1HTVirbubr4YzaON5iZTzFJjq909y4sU8M_6eA@mail.gmail.com>
      d8c61c97
  11. 15 Sep, 2016 1 commit