1. 24 Apr, 2014 2 commits
    • Magnus Hagander's avatar
      Properly build pg_recvlogical in the msvc build system · b2c9b161
      Magnus Hagander authored
      Michael Paquier
      b2c9b161
    • Tom Lane's avatar
      Fix incorrect pg_proc.proallargtypes entries for two built-in functions. · a0f93581
      Tom Lane authored
      pg_sequence_parameters() and pg_identify_object() have had incorrect
      proallargtypes entries since 9.1 and 9.3 respectively.  This was mostly
      masked by the correct information in proargtypes, but a few operations
      such as pg_get_function_arguments() (and thus psql's \df display) would
      show the wrong data types for these functions' input parameters.
      
      In HEAD, fix the wrong info, bump catversion, and add an opr_sanity
      regression test to catch future mistakes of this sort.
      
      In the back branches, just fix the wrong info so that installations
      initdb'd with future minor releases will have the right data.  We
      can't force an initdb, and it doesn't seem like a good idea to add
      a regression test that will fail on existing installations.
      
      Andres Freund
      a0f93581
  2. 23 Apr, 2014 11 commits
    • Tom Lane's avatar
      Allow polymorphic aggregates to have non-polymorphic state data types. · f0fedfe8
      Tom Lane authored
      Before 9.4, such an aggregate couldn't be declared, because its final
      function would have to have polymorphic result type but no polymorphic
      argument, which CREATE FUNCTION would quite properly reject.  The
      ordered-set-aggregate patch found a workaround: allow the final function
      to be declared as accepting additional dummy arguments that have types
      matching the aggregate's regular input arguments.  However, we failed
      to notice that this problem applies just as much to regular aggregates,
      despite the fact that we had a built-in regular aggregate array_agg()
      that was known to be undeclarable in SQL because its final function
      had an illegal signature.  So what we should have done, and what this
      patch does, is to decouple the extra-dummy-arguments behavior from
      ordered-set aggregates and make it generally available for all aggregate
      declarations.  We have to put this into 9.4 rather than waiting till
      later because it slightly alters the rules for declaring ordered-set
      aggregates.
      
      The patch turned out a bit bigger than I'd hoped because it proved
      necessary to record the extra-arguments option in a new pg_aggregate
      column.  I'd thought we could just look at the final function's pronargs
      at runtime, but that didn't work well for variadic final functions.
      It's probably just as well though, because it simplifies life for pg_dump
      to record the option explicitly.
      
      While at it, fix array_agg() to have a valid final-function signature,
      and add an opr_sanity test to notice future deviations from polymorphic
      consistency.  I also marked the percentile_cont() aggregates as not
      needing extra arguments, since they don't.
      f0fedfe8
    • Peter Eisentraut's avatar
      doc: Fix DocBook table column count declaration · 125ba294
      Peter Eisentraut authored
      This was broken in 26cd1d7d.
      125ba294
    • Peter Eisentraut's avatar
      ecpg: Add additional files to .gitignore · c18cc003
      Peter Eisentraut authored
      These are test files added by f9179685.
      c18cc003
    • Heikki Linnakangas's avatar
      Update obsolete comments. · a4ad9afe
      Heikki Linnakangas authored
      We no longer have a TLI field in the page header.
      a4ad9afe
    • Heikki Linnakangas's avatar
      Fix typo, trance -> tranche, in docs. · 4a781f1e
      Heikki Linnakangas authored
      Amit Langote
      4a781f1e
    • Heikki Linnakangas's avatar
      Fix typos in comment. · 8fbfbf14
      Heikki Linnakangas authored
      8fbfbf14
    • Heikki Linnakangas's avatar
      Cleanup of new b-tree page deletion code. · 4fafc4ec
      Heikki Linnakangas authored
      When marking a branch as half-dead, a pointer to the top of the branch is
      stored in the leaf block's hi-key. During normal operation, the high key
      was left in place, and the block number was just stored in the ctid field
      of the high key tuple, but in WAL replay, the high key was recreated as a
      truncated tuple with zero columns. For the sake of easier debugging, also
      truncate the tuple in normal operation, so that the page is identical
      after WAL replay. Also, rename the 'downlink' field in the WAL record to
      'topparent', as that seems like a more descriptive name. And make sure
      it's set to invalid when unlinking the leaf page.
      4fafc4ec
    • Tom Lane's avatar
      Fix documentation of FmgrInfo.fn_nargs. · d26b042c
      Tom Lane authored
      Some ancient comments claimed that fn_nargs could be -1 to indicate a
      variable number of input arguments; but this was never implemented, and
      is at variance with what we ultimately did with "variadic" functions.
      Update the comments.
      d26b042c
    • Tom Lane's avatar
      Fix broken logic in logical_heap_rewrite_flush_mappings(). · c6a4ace5
      Tom Lane authored
      It's blatantly obvious that commit 4d0d607a
      wasn't tested.  The leak's real enough, though.
      c6a4ace5
    • Bruce Momjian's avatar
      revert 4d0d607a · cee850c4
      Bruce Momjian authored
      Revert due to contrib/test_decoding regression failure
      cee850c4
    • Bruce Momjian's avatar
      doc: adjust 99704436 for "null string" · 2362c2bd
      Bruce Momjian authored
      Report by Andrew Dunstan
      2362c2bd
  3. 22 Apr, 2014 16 commits
  4. 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
  5. 20 Apr, 2014 2 commits
  6. 19 Apr, 2014 4 commits
  7. 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
  8. 17 Apr, 2014 2 commits