1. 05 Mar, 2018 4 commits
  2. 04 Mar, 2018 3 commits
    • Magnus Hagander's avatar
      Actually pick .lib file when multiple perl libs are present · 6946280c
      Magnus Hagander authored
      7240962f got it right in the comment,
      but the code did not actually do what the comment said. Fix that.
      
      Issue pointed out by Noah Misch.
      6946280c
    • Peter Eisentraut's avatar
      PL/pgSQL: Simplify RETURN checking for procedures · f7c7f67f
      Peter Eisentraut authored
      Check at compile time that RETURN in a procedure does not specify a
      parameter, rather than at run time.
      f7c7f67f
    • Tom Lane's avatar
      Fix assorted issues in convert_to_scalar(). · 58d9acc1
      Tom Lane authored
      If convert_to_scalar is passed a pair of datatypes it can't cope with,
      its former behavior was just to elog(ERROR).  While this is OK so far as
      the core code is concerned, there's extension code that would like to use
      scalarltsel/scalargtsel/etc as selectivity estimators for operators that
      work on non-core datatypes, and this behavior is a show-stopper for that
      use-case.  If we simply allow convert_to_scalar to return FALSE instead of
      outright failing, then the main logic of scalarltsel/scalargtsel will work
      fine for any operator that behaves like a scalar inequality comparison.
      The lack of conversion capability will mean that we can't estimate to
      better than histogram-bin-width precision, since the code will effectively
      assume that the comparison constant falls at the middle of its bin.  But
      that's still a lot better than nothing.  (Someday we should provide a way
      for extension code to supply a custom version of convert_to_scalar, but
      today is not that day.)
      
      While poking at this issue, we noted that the existing code for handling
      type bytea in convert_to_scalar is several bricks shy of a load.
      It assumes without checking that if the comparison value is type bytea,
      the bounds values are too; in the worst case this could lead to a crash.
      It also fails to detoast the input values, so that the comparison result is
      complete garbage if any input is toasted out-of-line, compressed, or even
      just short-header.  I'm not sure how often such cases actually occur ---
      the bounds values, at least, are probably safe since they are elements of
      an array and hence can't be toasted.  But that doesn't make this code OK.
      
      Back-patch to all supported branches, partly because author requested that,
      but mostly because of the bytea bugs.  The change in API for the exposed
      routine convert_network_to_scalar() is theoretically a back-patch hazard,
      but it seems pretty unlikely that any third-party code is calling that
      function directly.
      
      Tomas Vondra, with some adjustments by me
      
      Discussion: https://postgr.es/m/b68441b6-d18f-13ab-b43b-9a72188a4e02@2ndquadrant.com
      58d9acc1
  3. 03 Mar, 2018 9 commits
  4. 02 Mar, 2018 11 commits
  5. 01 Mar, 2018 11 commits
  6. 28 Feb, 2018 2 commits