1. 06 Mar, 2011 9 commits
  2. 05 Mar, 2011 12 commits
  3. 04 Mar, 2011 7 commits
    • Robert Haas's avatar
      Refactor seclabel.c to use the new check_object_ownership function. · efa415da
      Robert Haas authored
      This avoids duplicate (and not-quite-matching) code, and makes the logic
      for SECURITY LABEL match COMMENT and ALTER EXTENSION ADD/DROP.
      efa415da
    • Peter Eisentraut's avatar
      Don't allow CREATE TABLE AS to create a column with invalid collation · b9cff97f
      Peter Eisentraut authored
      It is possible that an expression ends up with a collatable type but
      without a collation.  CREATE TABLE AS could then create a table based
      on that.  But such a column cannot be dumped with valid SQL syntax, so
      we disallow creating such a column.
      
      per test report from Noah Misch
      b9cff97f
    • Tom Lane's avatar
      Allow non-superusers to create (some) extensions. · 8d3b421f
      Tom Lane authored
      Remove the unconditional superuser permissions check in CREATE EXTENSION,
      and instead define a "superuser" extension property, which when false
      (not the default) skips the superuser permissions check.  In this case
      the calling user only needs enough permissions to execute the commands
      in the extension's installation script.  The superuser property is also
      enforced in the same way for ALTER EXTENSION UPDATE cases.
      
      In other ALTER EXTENSION cases and DROP EXTENSION, test ownership of
      the extension rather than superuserness.  ALTER EXTENSION ADD/DROP needs
      to insist on ownership of the target object as well; to do that without
      duplicating code, refactor comment.c's big switch for permissions checks
      into a separate function in objectaddress.c.
      
      I also removed the superuserness checks in pg_available_extensions and
      related functions; there's no strong reason why everybody shouldn't
      be able to see that info.
      
      Also invent an IF NOT EXISTS variant of CREATE EXTENSION, and use that
      in pg_dump, so that dumps won't fail for installed-by-default extensions.
      We don't have any of those yet, but we will soon.
      
      This is all per discussion of wrapping the standard procedural languages
      into extensions.  I'll make those changes in a separate commit; this is
      just putting the core infrastructure in place.
      8d3b421f
    • Peter Eisentraut's avatar
      When creating a collation, check that the locales can be loaded · 4442e197
      Peter Eisentraut authored
      This is the same check that would happen later when the collation is
      used, but it's friendlier to check the collation already when it is
      created.
      4442e197
    • Tom Lane's avatar
      In initialize_SSL, don't fail unnecessarily when home dir is unavailable. · bd58d9d8
      Tom Lane authored
      Instead, just act as though the certificate file(s) are not present.
      There is only one case where this need be a hard failure condition: when
      sslmode is verify-ca or verify-full, not having a root cert file is an
      error.  Change the logic so that we complain only in that case, and
      otherwise fall through cleanly.  This is how it used to behave pre-9.0,
      but my patch 4ed4b6c5 of 2010-05-26 broke
      the case.  Per report from Christian Kastner.
      bd58d9d8
    • Heikki Linnakangas's avatar
      You must hold a lock on the heap page when you call · ee3838b1
      Heikki Linnakangas authored
      CheckForSerializableConflictOut(), because it can set hint bits.
      
      YAMAMOTO Takashi
      ee3838b1
    • Andrew Dunstan's avatar
      Add a comment explaining the recent fix for plpython breakage in commit 4c966d92. · 12bf602f
      Andrew Dunstan authored
      Mostly text supplied by Jan Urbański.
      12bf602f
  4. 03 Mar, 2011 7 commits
    • Tom Lane's avatar
      Further refine patch for commenting operator implementation functions. · 908ab802
      Tom Lane authored
      Instead of manually maintaining the "implementation of XXX operator"
      comments in pg_proc.h, delete all those entries and let initdb create
      them via a join.  To let initdb figure out which name to use when there
      is a conflict, change the comments for deprecated operators to say they
      are deprecated --- which seems like a good thing to do anyway.
      908ab802
    • Tom Lane's avatar
      Fix citext's upgrade-from-unpackaged script to set its collation correctly. · 94be9e3f
      Tom Lane authored
      Although there remains some debate about how CREATE TYPE should represent
      the collation property, this doesn't really affect what we need to do in
      citext's script, so go ahead and fix that.
      94be9e3f
    • Tom Lane's avatar
      Run a portal's cleanup hook immediately when pushing it to DONE state. · 6252c4f9
      Tom Lane authored
      This works around the problem noted by Yamamoto Takashi in bug #5906,
      that there were code paths whereby we could reach AtCleanup_Portals
      with a portal's cleanup hook still unexecuted.  The changes I made
      a few days ago were intended to prevent that from happening, and
      I think that on balance it's still a good thing to avoid, so I don't
      want to remove the Assert in AtCleanup_Portals.  Hence do this instead.
      6252c4f9
    • Michael Meskes's avatar
      Added new version of ecpg's parser generator script. This one was written by · 32fce705
      Michael Meskes authored
      Andy Colson <andy@squeakycode.net>.
      32fce705
    • Heikki Linnakangas's avatar
      Add tab-completion for table name after JOIN. · 8e2d8b14
      Heikki Linnakangas authored
      Andrey Popp
      8e2d8b14
    • Tom Lane's avatar
      Add -lm to SHLIB_LINK for contrib/btree_gist. · 8c416454
      Tom Lane authored
      Now that btree_gist contains a reference to isinf(), this is necessary
      at least on some platforms.  Per buildfarm.
      8c416454
    • Tom Lane's avatar
      Mark operator implementation functions as such in their comments. · 94133a93
      Tom Lane authored
      Historically, we've not had separate comments for built-in pg_operator
      entries, but relied on the comments for the underlying functions.  The
      trouble with this approach is that there isn't much of anything to suggest
      to users that they'd be better off using the operators instead.  So, move
      all the relevant comments into pg_operator, and give each underlying
      function a comment that just says "implementation of XXX operator".
      There are only about half a dozen cases where it seems reasonable to use
      the underlying function interchangeably with the operator; in these cases
      I left the same comment in place on the function as on the operator.
      
      While at it, establish a policy that every built-in function and operator
      entry should have a comment: there are now queries in the opr_sanity
      regression test that will complain if one doesn't.  This only required
      adding a dozen or two more entries than would have been there anyway.
      
      I also spent some time trying to eliminate gratuitous inconsistencies in
      the style of the comments, though it's hopeless to suppose that more won't
      creep in soon enough.
      
      Per my proposal of 2010-10-15.
      94133a93
  5. 02 Mar, 2011 5 commits