1. 22 Apr, 2014 6 commits
  2. 21 Apr, 2014 1 commit
    • Tom Lane's avatar
      pg_stat_statements forgot to let previous occupant of hook get control too. · 78a3c9b6
      Tom Lane authored
      pgss_post_parse_analyze() neglected to pass the call on to any earlier
      occupant of the post_parse_analyze_hook.  There are no other users of that
      hook in contrib/, and most likely none in the wild either, so this is
      probably just a latent bug.  But it's a bug nonetheless, so back-patch
      to 9.2 where this code was introduced.
      78a3c9b6
  3. 20 Apr, 2014 2 commits
  4. 19 Apr, 2014 4 commits
  5. 18 Apr, 2014 2 commits
    • Magnus Hagander's avatar
      Fix typo · 66b1084e
      Magnus Hagander authored
      Amit Langote
      66b1084e
    • Peter Eisentraut's avatar
      Create function prototype as part of PG_FUNCTION_INFO_V1 macro · e7128e8d
      Peter Eisentraut authored
      Because of gcc -Wmissing-prototypes, all functions in dynamically
      loadable modules must have a separate prototype declaration.  This is
      meant to detect global functions that are not declared in header files,
      but in cases where the function is called via dfmgr, this is redundant.
      Besides filling up space with boilerplate, this is a frequent source of
      compiler warnings in extension modules.
      
      We can fix that by creating the function prototype as part of the
      PG_FUNCTION_INFO_V1 macro, which such modules have to use anyway.  That
      makes the code of modules cleaner, because there is one less place where
      the entry points have to be listed, and creates an additional check that
      functions have the right prototype.
      
      Remove now redundant prototypes from contrib and other modules.
      e7128e8d
  6. 17 Apr, 2014 7 commits
    • Tom Lane's avatar
      Fix unused-variable warning on Windows. · 01563158
      Tom Lane authored
      Introduced in 585bca39: msgid is not used in the Windows code path.
      
      Also adjust comments a tad (mostly to keep pgindent from messing it up).
      
      David Rowley
      01563158
    • Bruce Momjian's avatar
      pgcrypto: fix memset() calls that might be optimized away · 9fe55259
      Bruce Momjian authored
      Specifically, on-stack memset() might be removed, so:
      
      	* Replace memset() with px_memset()
      	* Add px_memset to copy_crlf()
      	* Add px_memset to pgp-s2k.c
      
      Patch by Marko Kreen
      
      Report by PVS-Studio
      
      Backpatch through 8.4.
      9fe55259
    • Bruce Momjian's avatar
      report stat() error in trigger file check · 83defef8
      Bruce Momjian authored
      Permissions might prevent the existence of the trigger file from being
      checked.
      
      Per report from Andres Freund
      83defef8
    • Bruce Momjian's avatar
      pg_upgrade: throw an error for non-existent tablespace directories · c1275cf7
      Bruce Momjian authored
      Non-existent tablespace directory references can occur if user
      tablespaces are created inside data directories and the data directory
      is renamed in preparation for running pg_upgrade, and the symbolic links
      are not updated.
      
      Backpatch to 9.3.
      c1275cf7
    • Bruce Momjian's avatar
      docs: adjustments for streaming standbys that disconnect frequently · 52e75742
      Bruce Momjian authored
      Document problems when disconnection causes loss of hot_standby_feedback
      and suggest adjusting max_standby_archive_delay and
      max_standby_streaming_delay.
      
      Initial patch by Marko Tiikkaja, adjustments by me
      52e75742
    • Heikki Linnakangas's avatar
      Set the all-visible flag on heap page before writing WAL record, not after. · 2a8e1ac5
      Heikki Linnakangas authored
      If we set the all-visible flag after writing WAL record, and XLogInsert
      takes a full-page image of the page, the image would not include the flag.
      We will then proceed to set the VM bit, which would then be set without the
      corresponding all-visible flag on the heap page.
      
      Found by comparing page images on master and standby, after writing/replaying
      each WAL record. (There is still a discrepancy: the all-visible flag won't
      be set after replaying the HEAP_CLEAN record, even though it is set in the
      master. However, it will be set when replaying the HEAP2_VISIBLE record and
      setting the VM bit, so the all-visible flag and VM bit are always consistent
      on the standby, even though they are momentarily out-of-sync with master)
      
      Backpatch to 9.3 where this code was introduced.
      2a8e1ac5
    • Tom Lane's avatar
      Rename EXPLAIN ANALYZE's "total runtime" output to "execution time". · 5f86cbd7
      Tom Lane authored
      Now that EXPLAIN also outputs a "planning time" measurement, the use of
      "total" here seems rather confusing: it sounds like it might include the
      planning time which of course it doesn't.  Majority opinion was that
      "execution time" is a better label, so we'll call it that.
      
      This should be noted as a backwards incompatibility for tools that examine
      EXPLAIN ANALYZE output.
      
      In passing, I failed to resist the temptation to do a little editing on the
      materialized-view example affected by this change.
      5f86cbd7
  7. 16 Apr, 2014 17 commits
    • Bruce Momjian's avatar
      docs: properly document psql auto encoding mode · e183d112
      Bruce Momjian authored
      In psql, both stdin and stdout must be terminals to get a client
      encoding of 'auto'.
      
      Patch by Albe Laurenz
      
      Backpatch to 9.3.
      e183d112
    • Bruce Momjian's avatar
      libpq: use pgsocket for socket values, for portability · 5d305d86
      Bruce Momjian authored
      Previously, 'int' was used for socket values in libpq, but socket values
      are unsigned on Windows.  This is a style correction.
      
      Initial patch and previous PGINVALID_SOCKET initial patch by Joel
      Jacobson, modified by me
      
      Report from PVS-Studio
      5d305d86
    • Bruce Momjian's avatar
      doc: move min_recovery_apply_delay into the right section · be5f7fff
      Bruce Momjian authored
      Patch by Fujii Masao
      be5f7fff
    • Bruce Momjian's avatar
      psql: update --help output for unaligned mode params · 8c349ba5
      Bruce Momjian authored
      Previously it wasn't clear from --help that -F, -R, -z, -0 only
      controlled psql unaligned output.
      
      Initial patch from Jov <amutu@amutu.com>, adjustments by me
      8c349ba5
    • Alvaro Herrera's avatar
      Fix object identities for text search objects · 83ab8e32
      Alvaro Herrera authored
      We were neglecting to schema-qualify them.
      
      Backpatch to 9.3, where object identities were introduced as a concept
      by commit f8348ea3.
      83ab8e32
    • Tom Lane's avatar
      Fix contrib/postgres_fdw's remote-estimate representation of array Params. · 5b68d816
      Tom Lane authored
      We were emitting "(SELECT null::typename)", which is usually interpreted
      as a scalar subselect, but not so much in the context "x = ANY(...)".
      This led to remote-side parsing failures when remote_estimate is enabled.
      A quick and ugly fix is to stick in an extra cast step,
      "((SELECT null::typename)::typename)".  The cast will be thrown away as
      redundant by parse analysis, but not before it's done its job of making
      sure the grammar sees the ANY argument as an a_expr rather than a
      select_with_parens.  Per an example from Hannu Krosing.
      5b68d816
    • Bruce Momjian's avatar
      docs: make max_wal_senders higher to handle disconnects · 9c533465
      Bruce Momjian authored
      Document abrupt streaming client disconnection might leave slots in use,
      so max_wal_senders should be slightly higher than needed to allow for
      immediate reconnection.
      
      Per mention by Magnus
      9c533465
    • Tom Lane's avatar
      Update oidjoins regression test for 9.4. · cbb5e23b
      Tom Lane authored
      Now that we're pretty much feature-frozen, it's time to update the checks
      on system catalog foreign-key references.
      
      (It looks like we missed doing this altogether for 9.3.  Sigh.)
      cbb5e23b
    • Andrew Dunstan's avatar
      Attempt to get plpython regression tests working again for MSVC builds. · ef158312
      Andrew Dunstan authored
      This has probably been broken for quite a long time. Buildfarm member
      currawong's current results suggest that it's been broken since 9.1, so
      backpatch this to that branch.
      
      This only supports Python 2 - I will handle Python 3 separately, but
      this is a fairly simple fix.
      ef158312
    • Bruce Momjian's avatar
      pg_upgrade: remove redundant include files · 95cb9172
      Bruce Momjian authored
      The files were already included by pg_upgrade.h.
      95cb9172
    • Tom Lane's avatar
      Use AF_UNSPEC not PF_UNSPEC in getaddrinfo calls. · cad4fe64
      Tom Lane authored
      According to the Single Unix Spec and assorted man pages, you're supposed
      to use the constants named AF_xxx when setting ai_family for a getaddrinfo
      call.  In a few places we were using PF_xxx instead.  Use of PF_xxx
      appears to be an ancient BSD convention that was not adopted by later
      standardization.  On BSD and most later Unixen, it doesn't matter much
      because those constants have equivalent values anyway; but nonetheless
      this code is not per spec.
      
      In the same vein, replace PF_INET by AF_INET in one socket() call, which
      wasn't even consistent with the other socket() call in the same function
      let alone the remainder of our code.
      
      Per investigation of a Cygwin trouble report from Marco Atzeri.  It's
      probably a long shot that this will fix his issue, but it's wrong in
      any case.
      cad4fe64
    • Magnus Hagander's avatar
      Fix timeout in LDAP lookup of libpq connection parameters · 585bca39
      Magnus Hagander authored
      Bind attempts to an LDAP server should time out after two seconds,
      allowing additional lines in the service control file to be parsed
      (which provide a fall back to a secondary LDAP server or default options).
      The existing code failed to enforce that timeout during TCP connect,
      resulting in a hang far longer than two seconds if the LDAP server
      does not respond.
      
      Laurenz Albe
      585bca39
    • Robert Haas's avatar
      Add to_regprocedure() and to_regoperator(). · dfc0219f
      Robert Haas authored
      These are natural complements to the functions added by commit
      0886fc6a, but they weren't included
      in the original patch for some reason.  Add them.
      
      Patch by me, per a complaint by Tom Lane.  Review by Tatsuo
      Ishii.
      dfc0219f
    • Robert Haas's avatar
      Try to fix spurious DSM failures on Windows. · 1a81daab
      Robert Haas authored
      Apparently, Windows can sometimes return an error code even when the
      operation actually worked just fine.  Rearrange the order of checks
      according to what appear to be the best practices in this area.
      
      Amit Kapila
      1a81daab
    • Bruce Momjian's avatar
      doc: fix json_extract_path_text() typo by adding jsonb · ed4a2626
      Bruce Momjian authored
      Report from rudolf <stu3.1@eq.cz>
      ed4a2626
    • Bruce Momjian's avatar
      check socket creation errors against PGINVALID_SOCKET · 41809346
      Bruce Momjian authored
      Previously, in some places, socket creation errors were checked for
      negative values, which is not true for Windows because sockets are
      unsigned.  This masked socket creation errors on Windows.
      
      Backpatch through 9.0.  8.4 doesn't have the infrastructure to fix this.
      41809346
    • Heikki Linnakangas's avatar
      Use correctly-sized buffer when zero-filling a WAL file. · 848b9f05
      Heikki Linnakangas authored
      I mixed up BLCKSZ and XLOG_BLCKSZ when I changed the way the buffer is
      allocated a couple of weeks ago. With the default settings, they are both
      8k, but they can be changed at compile-time.
      848b9f05
  8. 15 Apr, 2014 1 commit