Skip to content
Snippets Groups Projects
  1. Jan 02, 2012
  2. Oct 12, 2011
    • Tom Lane's avatar
      Throw a useful error message if an extension script file is fed to psql. · 458857cc
      Tom Lane authored
      We have seen one too many reports of people trying to use 9.1 extension
      files in the old-fashioned way of sourcing them in psql.  Not only does
      that usually not work (due to failure to substitute for MODULE_PATHNAME
      and/or @extschema@), but if it did work they'd get a collection of loose
      objects not an extension.  To prevent this, insert an \echo ... \quit
      line that prints a suitable error message into each extension script file,
      and teach commands/extension.c to ignore lines starting with \echo.
      That should not only prevent any adverse consequences of loading a script
      file the wrong way, but make it crystal clear to users that they need to
      do it differently now.
      
      Tom Lane, following an idea of Andrew Dunstan's.  Back-patch into 9.1
      ... there is not going to be much value in this if we wait till 9.2.
      458857cc
  3. Oct 05, 2011
    • Tom Lane's avatar
      Improve define_custom_variable's handling of pre-existing settings. · 41e461d3
      Tom Lane authored
      Arrange for any problems with pre-existing settings to be reported as
      WARNING not ERROR, so that we don't undesirably abort the loading of the
      incoming add-on module.  The bad setting is just discarded, as though it
      had never been applied at all.  (This requires a change in the API of
      set_config_option.  After some thought I decided the most potentially
      useful addition was to allow callers to just pass in a desired elevel.)
      
      Arrange to restore the complete stacked state of the variable, rather than
      cheesily reinstalling only the active value.  This ensures that custom GUCs
      will behave unsurprisingly even when the module loading operation occurs
      within nested subtransactions that have changed the active value.  Since a
      module load could occur as a result of, eg, a PL function call, this is not
      an unlikely scenario.
      41e461d3
  4. Sep 04, 2011
    • Tom Lane's avatar
      Clean up the #include mess a little. · 1609797c
      Tom Lane authored
      walsender.h should depend on xlog.h, not vice versa.  (Actually, the
      inclusion was circular until a couple hours ago, which was even sillier;
      but Bruce broke it in the expedient rather than logically correct
      direction.)  Because of that poor decision, plus blind application of
      pgrminclude, we had a situation where half the system was depending on
      xlog.h to include such unrelated stuff as array.h and guc.h.  Clean up
      the header inclusion, and manually revert a lot of what pgrminclude had
      done so things build again.
      
      This episode reinforces my feeling that pgrminclude should not be run
      without adult supervision.  Inclusion changes in header files in particular
      need to be reviewed with great care.  More generally, it'd be good if we
      had a clearer notion of module layering to dictate which headers can sanely
      include which others ... but that's a big task for another day.
      1609797c
  5. Sep 01, 2011
  6. Apr 25, 2011
    • Peter Eisentraut's avatar
      Support "make check" in contrib · f8ebe3bc
      Peter Eisentraut authored
      Added a new option --extra-install to pg_regress to arrange installing
      the respective contrib directory into the temporary installation.
      This is currently not yet supported for Windows MSVC builds.
      
      Updated the .gitignore files for contrib modules to ignore the
      leftovers of a temp-install check run.
      
      Changed the exit status of "make check" in a pgxs build (which still
      does nothing) to 0 from 1.
      
      Added "make check" in contrib to top-level "make check-world".
      f8ebe3bc
  7. Feb 18, 2011
    • Tom Lane's avatar
      One more hack to make contrib upgrades from 9.0 match fresh 9.1 installs. · 472f608e
      Tom Lane authored
      intarray and tsearch2 both reference core support functions in their GIN
      opclasses, and the signatures of those functions changed for 9.1.  We added
      backwards-compatible pg_proc entries for the functions in order to allow
      9.0 dump files to be restored at all, but that hack leaves the opclasses
      pointing at pg_proc entries different from what they'd point to if the
      contrib modules were installed fresh in 9.1.  To forestall any possibility
      of future problems, fix the opclasses to match fresh installs via the
      expedient of direct UPDATEs on pg_amproc in the update-from-unpackaged
      scripts.  (Yech ... but the alternatives are worse, or require far more
      effort than seems justified right now.)
      
      Note: updating pg_amproc is sufficient because there will be no pg_depend
      entries corresponding to these dependencies, since the referenced functions
      are all pinned.
      472f608e
  8. Feb 14, 2011
    • Tom Lane's avatar
      Assorted fixups for "unpackaged" conversion scripts. · 3b61e57f
      Tom Lane authored
      From first pass of testing.  Notably, there seems to be no need for
      adminpack--unpackaged--1.0.sql because none of the objects that the
      old module creates would ever be dumped by pg_dump anyway (they are
      all in pg_catalog).
      3b61e57f
    • Tom Lane's avatar
      Avoid use of CREATE OR REPLACE FUNCTION in extension installation files. · 029fac22
      Tom Lane authored
      It was never terribly consistent to use OR REPLACE (because of the lack of
      comparable functionality for data types, operators, etc), and
      experimentation shows that it's now positively pernicious in the extension
      world.  We really want a failure to occur if there are any conflicts, else
      it's unclear what the extension-ownership state of the conflicted object
      ought to be.  Most of the time, CREATE EXTENSION will fail anyway because
      of conflicts on other object types, but an extension defining only
      functions can succeed, with bad results.
      029fac22
    • Tom Lane's avatar
      Convert contrib modules to use the extension facility. · 629b3af2
      Tom Lane authored
      This isn't fully tested as yet, in particular I'm not sure that the
      "foo--unpackaged--1.0.sql" scripts are OK.  But it's time to get some
      buildfarm cycles on it.
      
      sepgsql is not converted to an extension, mainly because it seems to
      require a very nonstandard installation process.
      
      Dimitri Fontaine and Tom Lane
      629b3af2
  9. Jan 08, 2011
  10. Jan 01, 2011
  11. Nov 23, 2010
  12. Sep 22, 2010
  13. Sep 20, 2010
  14. Aug 19, 2010
  15. Aug 05, 2010
    • Robert Haas's avatar
      Standardize get_whatever_oid functions for other object types. · fd1843ff
      Robert Haas authored
      - Rename TSParserGetPrsid to get_ts_parser_oid.
      - Rename TSDictionaryGetDictid to get_ts_dict_oid.
      - Rename TSTemplateGetTmplid to get_ts_template_oid.
      - Rename TSConfigGetCfgid to get_ts_config_oid.
      - Rename FindConversionByName to get_conversion_oid.
      - Rename GetConstraintName to get_constraint_oid.
      - Add new functions get_opclass_oid, get_opfamily_oid, get_rewrite_oid,
        get_rewrite_oid_without_relid, get_trigger_oid, and get_cast_oid.
      
      The name of each function matches the corresponding catalog.
      
      Thanks to KaiGai Kohei for the review.
      fd1843ff
  16. Apr 28, 2010
  17. Feb 08, 2010
    • Tom Lane's avatar
      Create an official API function for C functions to use to check if they are · d5768dce
      Tom Lane authored
      being called as aggregates, and to get the aggregate transition state memory
      context if needed.  Use it instead of poking directly into AggState and
      WindowAggState in places that shouldn't know so much.
      
      We should have done this in 8.4, probably, but better late than never.
      
      Revised version of a patch by Hitoshi Harada.
      d5768dce
  18. Jan 02, 2010
  19. Nov 22, 2009
    • Tom Lane's avatar
      Improve psql's tabular display of wrapped-around data by inserting markers · 1753337c
      Tom Lane authored
      in the formerly-always-blank columns just to left and right of the data.
      Different marking is used for a line break caused by a newline in the data
      than for a straight wraparound.  A newline break is signaled by a "+" in the
      right margin column in ASCII mode, or a carriage return arrow in UNICODE mode.
      Wraparound is signaled by a dot in the right margin as well as the following
      left margin in ASCII mode, or an ellipsis symbol in the same places in UNICODE
      mode.  "\pset linestyle old-ascii" is added to make the previous behavior
      available if anyone really wants it.
      
      In passing, this commit also cleans up a few regression test files that
      had unintended spacing differences from the current actual output.
      
      Roger Leigh, reviewed by Gabrielle Roth and other members of PDXPUG.
      1753337c
  20. Jun 11, 2009
  21. May 08, 2009
  22. Mar 25, 2009
    • Tom Lane's avatar
      Adjust the APIs for GIN opclass support functions to allow the extractQuery() · 87b8db37
      Tom Lane authored
      method to pass extra data to the consistent() and comparePartial() methods.
      This is the core infrastructure needed to support the soon-to-appear
      contrib/btree_gin module.  The APIs are still upward compatible with the
      definitions used in 8.3 and before, although *not* with the previous 8.4devel
      function definitions.
      
      catversion bump for changes in pg_proc entries (although these are just
      cosmetic, since GIN doesn't actually look at the function signature before
      calling it...)
      
      Teodor Sigaev and Oleg Bartunov
      87b8db37
  23. Jan 28, 2009
  24. Jan 01, 2009
  25. Dec 28, 2008
  26. May 16, 2008
  27. Apr 14, 2008
    • Tom Lane's avatar
      Push index operator lossiness determination down to GIST/GIN opclass · 9b5c8d45
      Tom Lane authored
      "consistent" functions, and remove pg_amop.opreqcheck, as per recent
      discussion.  The main immediate benefit of this is that we no longer need
      8.3's ugly hack of requiring @@@ rather than @@ to test weight-using tsquery
      searches on GIN indexes.  In future it should be possible to optimize some
      other queries better than is done now, by detecting at runtime whether the
      index match is exact or not.
      
      Tom Lane, after an idea of Heikki's, and with some help from Teodor.
      9b5c8d45
  28. Mar 25, 2008
    • Tom Lane's avatar
      Simplify and standardize conversions between TEXT datums and ordinary C · 220db7cc
      Tom Lane authored
      strings.  This patch introduces four support functions cstring_to_text,
      cstring_to_text_with_len, text_to_cstring, and text_to_cstring_buffer, and
      two macros CStringGetTextDatum and TextDatumGetCString.  A number of
      existing macros that provided variants on these themes were removed.
      
      Most of the places that need to make such conversions now require just one
      function or macro call, in place of the multiple notational layers that used
      to be needed.  There are no longer any direct calls of textout or textin,
      and we got most of the places that were using handmade conversions via
      memcpy (there may be a few still lurking, though).
      
      This commit doesn't make any serious effort to eliminate transient memory
      leaks caused by detoasting toasted text objects before they reach
      text_to_cstring.  We changed PG_GETARG_TEXT_P to PG_GETARG_TEXT_PP in a few
      places where it was easy, but much more could be done.
      
      Brendan Jurd and Tom Lane
      220db7cc
  29. Jan 01, 2008
  30. Nov 28, 2007
  31. Nov 20, 2007
  32. Nov 16, 2007
  33. Nov 15, 2007
  34. Nov 13, 2007
Loading