1. 14 5月, 2006 1 次提交
  2. 13 5月, 2006 2 次提交
  3. 12 5月, 2006 4 次提交
  4. 11 5月, 2006 1 次提交
    • T
      Clean up code associated with updating pg_class statistics columns · 3fdeb189
      Tom Lane 提交于
      (relpages/reltuples).  To do this, create formal support in heapam.c for
      "overwrite" tuple updates (including xlog replay capability) and use that
      instead of the ad-hoc overwrites we'd been using in VACUUM and CREATE INDEX.
      Take the responsibility for updating stats during CREATE INDEX out of the
      individual index AMs, and do it where it belongs, in catalog/index.c.  Aside
      from being more modular, this avoids having to update the same tuple twice in
      some paths through CREATE INDEX.  It's probably not measurably faster, but
      for sure it's a lot cleaner than before.
      3fdeb189
  5. 10 5月, 2006 4 次提交
  6. 08 5月, 2006 2 次提交
    • B
      Build server libpgport with all non-FRONTEND object files. This is to · 3cd77da3
      Bruce Momjian 提交于
      fix a Win32 bug where pipe.c included a file that used FRONTEND, but it
      wasn't on the server-build list.
      3cd77da3
    • T
      Rewrite btree vacuuming to fold the former bulkdelete and cleanup operations · 5749f6ef
      Tom Lane 提交于
      into a single mostly-physical-order scan of the index.  This requires some
      ticklish interlocking considerations, but should create no material
      performance impact on normal index operations (at least given the
      already-committed changes to make scans work a page at a time).  VACUUM
      itself should get significantly faster in any index that's degenerated to a
      very nonlinear page order.  Also, we save one pass over the index entirely,
      except in the case where there were no deletions to do and so only one pass
      happened anyway.
      
      Original patch by Heikki Linnakangas, rework by Tom Lane.
      5749f6ef
  7. 07 5月, 2006 5 次提交
    • T
      Rewrite btree index scans to work a page at a time in all cases (both · 09cb5c0e
      Tom Lane 提交于
      btgettuple and btgetmulti).  This eliminates the problem of "re-finding" the
      exact stopping point, since the stopping point is effectively always a page
      boundary, and index items are never moved across pre-existing page boundaries.
      A small penalty is that the keys_are_unique optimization is effectively
      disabled (and, therefore, is removed in this patch), causing us to apply
      _bt_checkkeys() to at least one more tuple than necessary when looking up a
      unique key.  However, the advantages for non-unique cases seem great enough to
      accept this tradeoff.  Aside from simplifying and (sometimes) speeding up the
      indexscan code, this will allow us to reimplement btbulkdelete as a largely
      sequential scan instead of index-order traversal, thereby significantly
      reducing the cost of VACUUM.  Those changes will come in a separate patch.
      
      Original patch by Heikki Linnakangas, rework by Tom Lane.
      09cb5c0e
    • B
    • B
      Add description: · 5ff2838c
      Bruce Momjian 提交于
      * %Disallow changing DEFAULT expression of a SERIAL column?
      
      >
      >   This should be done only if the existing SERIAL problems cannot be
      >   fixed.
      >
      5ff2838c
    • B
      Recommend more clearly custom pg_dump format over tar, buy showing · d9d2d915
      Bruce Momjian 提交于
      custom format examples first.
      d9d2d915
    • B
      Document SSL CRL usage by libpq. · bcf860b7
      Bruce Momjian 提交于
      bcf860b7
  8. 06 5月, 2006 6 次提交
  9. 05 5月, 2006 7 次提交
    • B
      Change Solaris comments from / to !. · e451014d
      Bruce Momjian 提交于
      Robert Lor
      e451014d
    • B
      Update standards URL. · ee1b63a4
      Bruce Momjian 提交于
      Robert Treat
      ee1b63a4
    • B
      Add/ cleanup: · 9bd51810
      Bruce Momjian 提交于
      < * %Disallow changing default expression of a SERIAL column?
      > * %Disallow changing DEFAULT expression of a SERIAL column?
      472a473,476
      > * Add DEFAULT .. AS OWNER so permission checks are done as the table
      >   owner
      >
      >   This would be useful for SERIAL nextval() calls and CHECK constraints.
      9bd51810
    • T
      Don't try to compile SSL CRL support if local SSL installation hasn't · 1e3496f2
      Tom Lane 提交于
      got it.  Per buildfarm failure on 'canary'.
      1e3496f2
    • T
      Code review for contrib/pg_freespacemap. Add a storedpages column to · a43974c6
      Tom Lane 提交于
      pg_freespacemap_relations --- while one could theoretically get that
      number by counting rows in pg_freespacemap_pages, it's surely the hard
      way to do it.  Avoid expensive and inconvenient conversion to and from
      text format.  Minor code and docs cleanup.
      a43974c6
    • T
      Simplify relcache startup sequence. With the new design of InitPostgres · 46287bd6
      Tom Lane 提交于
      it's not necessary to have three separate calls anymore.  This patch also
      fixes things so we don't try to read pg_internal.init until after we've
      obtained lock on the target database; which was fairly harmless, but it's
      certainly cleaner this way.
      46287bd6
    • T
      Rethink the locking mechanisms used for CREATE/DROP/RENAME DATABASE. · 52667d56
      Tom Lane 提交于
      The former approach used ExclusiveLock on pg_database, which being a
      cluster-wide lock meant only one of these operations could proceed at
      a time; worse, it also blocked all incoming connections in ReverifyMyDatabase.
      Now that we have LockSharedObject(), we can use locks of different types
      applied to databases considered as objects.  This allows much more
      flexible management of the interlocking: two CREATE DATABASEs need not
      block each other, and need not block connections except to the template
      database being used.  Similarly DROP DATABASE doesn't block unrelated
      operations.  The locking used in flatfiles.c is also much narrower in
      scope than before.  Per recent proposal.
      52667d56
  10. 04 5月, 2006 2 次提交
  11. 03 5月, 2006 4 次提交
    • T
      Fix typo noticed by Alvaro Herrera · 2a58f3bf
      Teodor Sigaev 提交于
      2a58f3bf
    • T
      Fix calculation of plan node extParams to account for the possibility that one · f4923880
      Tom Lane 提交于
      initPlan sets a parameter for another.  This could not (I think) happen before
      8.1, but it's possible now because the initPlans generated by MIN/MAX
      optimization might themselves use initPlans.  We attach those initPlans as
      siblings of the MIN/MAX ones, not children, to avoid duplicate computation
      when multiple MIN/MAX aggregates are present; so this leads to the case of an
      initPlan needing the result of a sibling initPlan, which is not possible with
      ordinary query nesting.  Hadn't been noticed because in most contexts having
      too much stuff listed in extParam is fairly harmless.  Fixes "plan should not
      reference subplan's variable" bug reported by Catalin Pitis.
      f4923880
    • T
      Clean up API for ambulkdelete/amvacuumcleanup as per today's discussion. · e5734597
      Tom Lane 提交于
      This formulation requires every AM to provide amvacuumcleanup, unlike before,
      but it's surely a whole lot cleaner.  Also, add an 'amstorage' column to
      pg_am so that we can get rid of hardwired knowledge in DefineOpClass().
      e5734597
    • T
      Fix broken markup. · d3171dd6
      Tom Lane 提交于
      d3171dd6
  12. 02 5月, 2006 2 次提交