1. 21 Aug, 2006 6 commits
    • Tom Lane's avatar
    • Tom Lane's avatar
      Make the server track an 'XID epoch', that is, maintain higher-order bits · 35af5422
      Tom Lane authored
      of the transaction ID counter.  Nothing is done with the epoch except to
      store it in checkpoint records, but this provides a foundation with which
      add-on code can pretend that XIDs never wrap around.  This is a severely
      trimmed and rewritten version of the xxid patch submitted by Marko Kreen.
      Per discussion, the epoch counter seems the only part of xxid that really
      needs to be in the core server.
      35af5422
    • Bruce Momjian's avatar
      Done: · 1054c380
      Bruce Momjian authored
      < 	o Add a function to support Parse/DescribeStatement capability
      > 	o -Add a function to support Parse/DescribeStatement capability
      1054c380
    • Bruce Momjian's avatar
      Remove items, not needed anymore: · fe5d2133
      Bruce Momjian authored
      < * %Disallow changing DEFAULT expression of a SERIAL column?
      <
      <   This should be done only if the existing SERIAL problems cannot be
      <   fixed.
      <
      < * %Disallow ALTER SEQUENCE changes for SERIAL sequences because pg_dump
      <   does not dump the changes
      fe5d2133
    • Michael Meskes's avatar
    • Tom Lane's avatar
      Fix all known problems with pg_dump's handling of serial sequences · 2b2a5072
      Tom Lane authored
      by abandoning the idea that it should say SERIAL in the dump.  Instead,
      dump serial sequences and column defaults just like regular ones.
      Add a new backend command ALTER SEQUENCE OWNED BY to let pg_dump recreate
      the sequence-to-column dependency that was formerly created "behind the
      scenes" by SERIAL.  This restores SERIAL to being truly "just a macro"
      consisting of component operations that can be stated explicitly in SQL.
      Furthermore, the new command allows sequence ownership to be reassigned,
      so that old mistakes can be cleaned up.
      
      Also, downgrade the OWNED-BY dependency from INTERNAL to AUTO, since there
      is no longer any very compelling argument why the sequence couldn't be
      dropped while keeping the column.  (This forces initdb, to be sure the
      right kinds of dependencies are in there.)
      
      Along the way, add checks to prevent ALTER OWNER or SET SCHEMA on an
      owned sequence; you can now only do this indirectly by changing the
      owning table's owner or schema.  This is an oversight in previous
      releases, but probably not worth back-patching.
      2b2a5072
  2. 20 Aug, 2006 2 commits
  3. 19 Aug, 2006 4 commits
  4. 18 Aug, 2006 9 commits
  5. 17 Aug, 2006 6 commits
    • Tom Lane's avatar
      Implement archive_timeout feature to force xlog file switches to occur no more · e8ea9e95
      Tom Lane authored
      than N seconds apart.  This allows a simple, if not very high performance,
      means of guaranteeing that a PITR archive is no more than N seconds behind
      real time.  Also make pg_current_xlog_location return the WAL Write pointer,
      add pg_current_xlog_insert_location to return the Insert pointer, and fix
      pg_xlogfile_name_offset to return its results as a two-element record instead
      of a smashed-together string, as per recent discussion.
      
      Simon Riggs
      e8ea9e95
    • Peter Eisentraut's avatar
      Produce a clean failure in configure when dtrace is selected but cannot be · bb764e94
      Peter Eisentraut authored
      found.  Besides stopping those early who have no dtrace installed
      whatsoever, this will also alert those who have dtrace in /usr/sbin, which
      might not be in the path, which would produce confusing failures much later
      in the build process.
      
      Add documentation about pointing configure to find dtrace.
      bb764e94
    • Tom Lane's avatar
      Fix an oversight in mergejoin planning: the planner would reject a · 92c651f8
      Tom Lane authored
      mergejoin possibility where the inner rel was less well sorted than
      the outer (ie, it matches some but not all of the merge clauses that
      can work with the outer), if the inner path in question is also the
      overall cheapest path for its rel.  This is an old bug, but I'm not
      sure it's worth back-patching, because it's such a corner case.
      Noted while investigating a test case from Peter Hardman.
      92c651f8
    • Tom Lane's avatar
      Teach convert_subquery_pathkeys() to handle the case where the · 144b0ae8
      Tom Lane authored
      subquery's pathkey is a RelabelType applied to something that appears
      in the subquery's output; for example where the subquery returns a
      varchar Var and the sort order is shown as that Var coerced to text.
      This comes up because varchar doesn't have its own sort operator.
      Per example from Peter Hardman.
      144b0ae8
    • Bruce Momjian's avatar
      Add: · 4e1bdcaa
      Bruce Momjian authored
      < * Add support for arrays of domains
      > 	o Add support for arrays of domains
      > 	o Add support for arrays of complex types
      4e1bdcaa
    • Bruce Momjian's avatar
      Add: · 565de20f
      Bruce Momjian authored
      > * Support a data type with specific enumerated values (ENUM)
      >
      >   http://archives.postgresql.org/pgsql-hackers/2006-08/msg00979.php
      565de20f
  6. 16 Aug, 2006 3 commits
  7. 15 Aug, 2006 7 commits
  8. 14 Aug, 2006 3 commits
    • Tom Lane's avatar
      Cause '*' and 'foo.*' notations to mark the referenced RTE(s) as · 58538a0f
      Tom Lane authored
      requiring read permissions.  Up till now there was no possible case
      in which the RTEs wouldn't already have ACL_SELECT set ... but now that
      you can say something like 'INSERT INTO foo ... RETURNING *' this is
      an essential step.  With this commit, a RETURNING clause adds the
      requirement for SELECT permissions on the target table if and only if
      the clause actually reads the value of at least one target-table column.
      58538a0f
    • Tom Lane's avatar
      Fix oversight in initial implementation of PORTAL_ONE_RETURNING mode: we · 65b2f93b
      Tom Lane authored
      cannot assume that there's exactly one Query in the Portal, as we can for
      ONE_SELECT mode, because non-SELECT queries might have extra queries added
      during rule rewrites.  Fix things up so that we'll use ONE_RETURNING mode
      when a Portal contains one primary (canSetTag) query and that query has
      a RETURNING list.  This appears to be a second showstopper reason for running
      the Portal to completion before we start to hand anything back --- we want
      to be sure that the rule-added queries get run too.
      65b2f93b
    • Tom Lane's avatar
      Support INSERT/UPDATE/DELETE RETURNING in plpgsql, with rowcount checking · 3d1e01ca
      Tom Lane authored
      as per yesterday's proposal.  Also make things a tad more orthogonal by
      adding the recent STRICT addition to EXECUTE INTO.
      Jonah Harris and Tom Lane
      3d1e01ca