1. 06 3月, 2011 5 次提交
  2. 05 3月, 2011 11 次提交
    • P
      Update of SQL feature conformance · 9650364b
      Peter Eisentraut 提交于
      9650364b
    • R
      Add missing word. · f31e5324
      Robert Haas 提交于
      f31e5324
    • R
      First cut at 9.1alpha4 release notes. · 5c44f38d
      Robert Haas 提交于
      5c44f38d
    • R
      Remove emphasis from 9.1alpha3 items. · a4406da9
      Robert Haas 提交于
      In preparation for 9.1alpha4 release notes, where only the 9.1alpha4
      features will be emphasized.
      a4406da9
    • T
      Update documentation to reflect that standard PLs are now extensions. · c2903fb3
      Tom Lane 提交于
      Recommend use of CREATE EXTENSION rather than plain CREATE LANGUAGE
      where relevant.  Encourage PL authors to provide extension wrappers
      for their PLs.
      c2903fb3
    • T
      Create extension infrastructure for the core procedural languages. · 63b656b7
      Tom Lane 提交于
      This mostly just involves creating control, install, and
      update-from-unpackaged scripts for them.  However, I had to adjust plperl
      and plpython to not share the same support functions between variants,
      because we can't put the same function into multiple extensions.
      
      catversion bump forced due to new contents of pg_pltemplate, and because
      initdb now installs plpgsql as an extension not a bare language.
      
      Add support for regression testing these as extensions not bare
      languages.
      
      Fix a couple of other issues that popped up while testing this: my initial
      hack at pg_dump binary-upgrade support didn't work right, and we don't want
      an extra schema permissions test after all.
      
      Documentation changes still to come, but I'm committing now to see
      whether the MSVC build scripts need work (likely they do).
      63b656b7
    • R
      Refactor seclabel.c to use the new check_object_ownership function. · efa415da
      Robert Haas 提交于
      This avoids duplicate (and not-quite-matching) code, and makes the logic
      for SECURITY LABEL match COMMENT and ALTER EXTENSION ADD/DROP.
      efa415da
    • P
      Don't allow CREATE TABLE AS to create a column with invalid collation · b9cff97f
      Peter Eisentraut 提交于
      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
    • T
      Allow non-superusers to create (some) extensions. · 8d3b421f
      Tom Lane 提交于
      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
    • P
      When creating a collation, check that the locales can be loaded · 4442e197
      Peter Eisentraut 提交于
      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
    • T
      In initialize_SSL, don't fail unnecessarily when home dir is unavailable. · bd58d9d8
      Tom Lane 提交于
      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
  3. 04 3月, 2011 5 次提交
  4. 03 3月, 2011 10 次提交
  5. 02 3月, 2011 8 次提交
    • A
      Fix plpython breakage detected on certain Fedora machines on buildfarm. · 4c966d92
      Andrew Dunstan 提交于
      Patch from Jan Urbański.
      4c966d92
    • P
      Additional PL/Python regression test expected file · 2f363590
      Peter Eisentraut 提交于
      plpython_subtransaction test needs a separate expected file
      specifically for Python 2.5.
      2f363590
    • H
      Change pg_last_xlog_receive_location() not to move backwards. That makes · 6eba5a7c
      Heikki Linnakangas 提交于
      it a lot more useful for determining which standby is most up-to-date,
      for example. There was long discussions on whether overwriting existing
      existing WAL makes sense to begin with, and whether we should do some more
      extensive variable renaming, but this change nevertheless seems quite
      uncontroversial.
      
      Fujii Masao, reviewed by Jeff Janes, Robert Haas, Stephen Frost.
      6eba5a7c
    • H
      Fix bugs in Serializable Snapshot Isolation. · 47ad7912
      Heikki Linnakangas 提交于
      Change the way UPDATEs are handled. Instead of maintaining a chain of
      tuple-level locks in shared memory, copy any existing locks on the old
      tuple to the new tuple at UPDATE. Any existing page-level lock needs to
      be duplicated too, as a lock on the new tuple. That was neglected
      previously.
      
      Store xmin on tuple-level predicate locks, to distinguish a lock on an old
      already-recycled tuple from a new tuple at the same physical location.
      Failure to distinguish them caused loops in the tuple-lock chains, as
      reported by YAMAMOTO Takashi. Although we don't use the chain representation
      of UPDATEs anymore, it seems like a good idea to store the xmin to avoid
      some false positives if no other reason.
      
      CheckSingleTargetForConflictsIn now correctly handles the case where a lock
      that's being held is not reflected in the local lock table. That happens
      if another backend acquires a lock on our behalf due to an UPDATE or a page
      split.
      
      PredicateLockPageCombine now retains locks for the page that is being
      removed, rather than removing them. This prevents a potentially dangerous
      false-positive inconsistency where the local lock table believes that a lock
      is held, but it is actually not.
      
      Dan Ports and Kevin Grittner
      47ad7912
    • P
      Dump the COLLATABLE attribute in CREATE TYPE · 16143d64
      Peter Eisentraut 提交于
      This was previously omitted by accident.
      16143d64
    • T
      Update discussion of EXPLAIN to reflect existence of ModifyTable nodes. · 09b49a84
      Tom Lane 提交于
      Back-patch to 9.0, since this was changed then.
      09b49a84
    • T
      Include the target table in EXPLAIN output for ModifyTable nodes. · 97c4ee94
      Tom Lane 提交于
      Per discussion, this seems important for plans involving writable CTEs,
      since there can now be more than one ModifyTable node in the plan.
      
      To retain the same formatting as for target tables of scan nodes, we
      show only one target table, which will be the parent table in case of
      an UPDATE or DELETE on an inheritance tree.  Individual child tables
      can be determined by inspecting the child plan trees if needed.
      97c4ee94
    • R
      Avoid excessive Hot Standby feedback messages. · 59d6a759
      Robert Haas 提交于
      Without this patch, when wal_receiver_status_interval=0, indicating that no
      status messages should be sent, Hot Standby feedback messages are instead sent
      extremely frequently.
      
      Fujii Masao, with documentation changes by me.
      59d6a759
  6. 01 3月, 2011 1 次提交
    • T
      Rearrange snapshot handling to make rule expansion more consistent. · c0b00760
      Tom Lane 提交于
      With this patch, portals, SQL functions, and SPI all agree that there
      should be only a CommandCounterIncrement between the queries that are
      generated from a single SQL command by rule expansion.  Fetching a whole
      new snapshot now happens only between original queries.  This is equivalent
      to the existing behavior of EXPLAIN ANALYZE, and it was judged to be the
      best choice since it eliminates one source of concurrency hazards for
      rules.  The patch should also make things marginally faster by reducing the
      number of snapshot push/pop operations.
      
      The patch removes pg_parse_and_rewrite(), which is no longer used anywhere.
      There was considerable discussion about more aggressive refactoring of the
      query-processing functions exported by postgres.c, but for the moment
      nothing more has been done there.
      
      I also took the opportunity to refactor snapmgr.c's API slightly: the
      former PushUpdatedSnapshot() has been split into two functions.
      
      Marko Tiikkaja, reviewed by Steve Singer and Tom Lane
      c0b00760