1. 19 11月, 2008 1 次提交
    • H
      Rethink the way FSM truncation works. Instead of WAL-logging FSM · 33960006
      Heikki Linnakangas 提交于
      truncations in FSM code, call FreeSpaceMapTruncateRel from smgr_redo. To
      make that cleaner from modularity point of view, move the WAL-logging one
      level up to RelationTruncate, and move RelationTruncate and all the
      related WAL-logging to new src/backend/catalog/storage.c file. Introduce
      new RelationCreateStorage and RelationDropStorage functions that are used
      instead of calling smgrcreate/smgrscheduleunlink directly. Move the
      pending rel deletion stuff from smgrcreate/smgrscheduleunlink to the new
      functions. This leaves smgr.c as a thin wrapper around md.c; all the
      transactional stuff is now in storage.c.
      
      This will make it easier to add new forks with similar truncation logic,
      like the visibility map.
      33960006
  2. 19 2月, 2008 1 次提交
  3. 21 8月, 2007 1 次提交
  4. 02 4月, 2007 1 次提交
  5. 09 2月, 2007 1 次提交
  6. 06 2月, 2007 1 次提交
  7. 23 12月, 2006 1 次提交
    • T
      Restructure operator classes to allow improved handling of cross-data-type · a78fcfb5
      Tom Lane 提交于
      cases.  Operator classes now exist within "operator families".  While most
      families are equivalent to a single class, related classes can be grouped
      into one family to represent the fact that they are semantically compatible.
      Cross-type operators are now naturally adjunct parts of a family, without
      having to wedge them into a particular opclass as we had done originally.
      
      This commit restructures the catalogs and cleans up enough of the fallout so
      that everything still works at least as well as before, but most of the work
      needed to actually improve the planner's behavior will come later.  Also,
      there are not yet CREATE/DROP/ALTER OPERATOR FAMILY commands; the only way
      to create a new family right now is to allow CREATE OPERATOR CLASS to make
      one by default.  I owe some more documentation work, too.  But that can all
      be done in smaller pieces once this infrastructure is in place.
      a78fcfb5
  8. 31 7月, 2006 1 次提交
    • T
      Change the bootstrap sequence so that toast tables for system catalogs are · 6e38e34d
      Tom Lane 提交于
      created in the bootstrap phase proper, rather than added after-the-fact
      by initdb.  This is cleaner than before because it allows us to retire the
      undocumented ALTER TABLE ... CREATE TOAST TABLE command, but the real reason
      I'm doing it is so that toast tables of shared catalogs will now have
      predetermined OIDs.  This will allow a reasonably clean solution to the
      problem of locking tables before we load their relcache entries, to appear
      in a forthcoming patch.
      6e38e34d
  9. 12 2月, 2006 1 次提交
    • B
      I've created a new shared catalog table pg_shdescription to store · f9a726aa
      Bruce Momjian 提交于
      comments on cluster global objects like databases, tablespaces, and
      roles.
      
      It touches a lot of places, but not much in the way of big changes.  The
      only design decision I made was to duplicate the query and manipulation
      functions rather than to try and have them handle both shared and local
      comments.  I believe this is simpler for the code and not an issue for
      callers because they know what type of object they are dealing with.
      This has resulted in a shobj_description function analagous to
      obj_description and backend functions [Create/Delete]SharedComments
      mirroring the existing [Create/Delete]Comments functions.
      
      pg_shdescription.h goes into src/include/catalog/
      
      Kris Jurka
      f9a726aa
  10. 10 12月, 2005 1 次提交
  11. 09 9月, 2005 1 次提交
  12. 14 7月, 2005 1 次提交
  13. 08 7月, 2005 1 次提交
  14. 28 6月, 2005 1 次提交
    • T
      Replace pg_shadow and pg_group by new role-capable catalogs pg_authid · 7762619e
      Tom Lane 提交于
      and pg_auth_members.  There are still many loose ends to finish in this
      patch (no documentation, no regression tests, no pg_dump support for
      instance).  But I'm going to commit it now anyway so that Alvaro can
      make some progress on shared dependencies.  The catalog changes should
      be pretty much done.
      7762619e
  15. 22 7月, 2004 2 次提交
  16. 18 6月, 2004 1 次提交
    • T
      Tablespaces. Alternate database locations are dead, long live tablespaces. · 2467394e
      Tom Lane 提交于
      There are various things left to do: contrib dbsize and oid2name modules
      need work, and so does the documentation.  Also someone should think about
      COMMENT ON TABLESPACE and maybe RENAME TABLESPACE.  Also initlocation is
      dead, it just doesn't know it yet.
      
      Gavin Sherry and Tom Lane.
      2467394e
  17. 04 1月, 2004 1 次提交
  18. 30 11月, 2003 1 次提交
    • P
      · 969685ad
      PostgreSQL Daemon 提交于
      $Header: -> $PostgreSQL Changes ...
      969685ad
  19. 11 11月, 2003 1 次提交
  20. 02 8月, 2003 1 次提交
  21. 07 4月, 2003 1 次提交
  22. 15 1月, 2003 1 次提交
  23. 14 1月, 2003 1 次提交
  24. 14 12月, 2002 1 次提交
  25. 19 7月, 2002 1 次提交
    • P
      pg_cast table, and standards-compliant CREATE/DROP CAST commands, plus · 97377048
      Peter Eisentraut 提交于
      extension to create binary compatible casts.  Includes dependency tracking
      as well.
      
      pg_proc.proimplicit is now defunct, but will be removed in a separate
      commit.
      
      pg_dump provides a migration path from the previous scheme to declare
      casts.  Dumping binary compatible casts is currently impossible, though.
      97377048
  26. 13 7月, 2002 1 次提交
    • T
      Second phase of committing Rod Taylor's pg_depend/pg_constraint patch. · 7c6df91d
      Tom Lane 提交于
      pg_relcheck is gone; CHECK, UNIQUE, PRIMARY KEY, and FOREIGN KEY
      constraints all have real live entries in pg_constraint.  pg_depend
      exists, and RESTRICT/CASCADE options work on most kinds of DROP;
      however, pg_depend is not yet very well populated with dependencies.
      (Most of the ones that are present at this point just replace formerly
      hardwired associations, such as the implicit drop of a relation's pg_type
      entry when the relation is dropped.)  Need to add more logic to create
      dependency entries, improve pg_dump to dump constraints in place of
      indexes and triggers, and add some regression tests.
      7c6df91d
  27. 11 7月, 2002 1 次提交
    • T
      Add new CREATE CONVERSION/DROP CONVERSION command. · fcc96256
      Tatsuo Ishii 提交于
      This is the first cut toward CREATE CONVERSION/DROP CONVERSION implementaion.
      The commands can now add/remove tuples to the new pg_conversion system
      catalog, but that's all. Still need work to make them actually working.
      Documentations, regression tests also need work.
      fcc96256
  28. 27 3月, 2002 1 次提交
  29. 23 3月, 2002 1 次提交
  30. 26 8月, 2001 1 次提交
    • T
      Replace implementation of pg_log as a relation accessed through the · 2589735d
      Tom Lane 提交于
      buffer manager with 'pg_clog', a specialized access method modeled
      on pg_xlog.  This simplifies startup (don't need to play games to
      open pg_log; among other things, OverrideTransactionSystem goes away),
      should improve performance a little, and opens the door to recycling
      commit log space by removing no-longer-needed segments of the commit
      log.  Actual recycling is not there yet, but I felt I should commit
      this part separately since it'd still be useful if we chose not to
      do transaction ID wraparound.
      2589735d
  31. 24 8月, 2001 1 次提交
  32. 12 6月, 2001 1 次提交
    • T
      Clean up various to-do items associated with system indexes: · 1d584f97
      Tom Lane 提交于
      pg_database now has unique indexes on oid and on datname.
      pg_shadow now has unique indexes on usename and on usesysid.
      pg_am now has unique index on oid.
      pg_opclass now has unique index on oid.
      pg_amproc now has unique index on amid+amopclaid+amprocnum.
      Remove pg_rewrite's unnecessary index on oid, delete unused RULEOID syscache.
      Remove index on pg_listener and associated syscache for performance reasons
      (caching rows that are certain to change before you need 'em again is
      rather pointless).
      Change pg_attrdef's nonunique index on adrelid into a unique index on
      adrelid+adnum.
      
      Fix various incorrect settings of pg_class.relisshared, make that the
      primary reference point for whether a relation is shared or not.
      IsSharedSystemRelationName() is now only consulted to initialize relisshared
      during initial creation of tables and indexes.  In theory we might now
      support shared user relations, though it's not clear how one would get
      entries for them into pg_class &etc of multiple databases.
      
      Fix recently reported bug that pg_attribute rows created for an index all have
      the same OID.  (Proof that non-unique OID doesn't matter unless it's
      actually used to do lookups ;-))
      
      There's no need to treat pg_trigger, pg_attrdef, pg_relcheck as bootstrap
      relations.  Convert them into plain system catalogs without hardwired
      entries in pg_class and friends.
      
      Unify global.bki and template1.bki into a single init script postgres.bki,
      since the alleged distinction between them was misleading and pointless.
      Not to mention that it didn't work for setting up indexes on shared
      system relations.
      
      Rationalize locking of pg_shadow, pg_group, pg_attrdef (no need to use
      AccessExclusiveLock where ExclusiveLock or even RowExclusiveLock will do).
      Also, hold locks until transaction commit where necessary.
      1d584f97
  33. 15 5月, 2001 2 次提交
  34. 29 10月, 2000 1 次提交
    • P
      Make initdb safe against using · 3280cba2
      Peter Eisentraut 提交于
      a) mismatching backend program, by checking --version output
      b) mismatching bki files, by putting a version-identifying comment atop
         those files.
      3280cba2
  35. 24 10月, 2000 1 次提交
    • T
      Major overhaul of large-object implementation, by Denis Perchine with · 4f44aa04
      Tom Lane 提交于
      kibitzing from Tom Lane.  Large objects are now all stored in a single
      system relation "pg_largeobject" --- no more xinv or xinx files, no more
      relkind 'l'.  This should offer substantial performance improvement for
      large numbers of LOs, since there won't be directory bloat anymore.
      It'll also fix problems like running out of locktable space when you
      access thousands of LOs in one transaction.
      Also clean up cruft in read/write routines.  LOs with "holes" in them
      (never-written byte ranges) now work just like Unix files with holes do:
      a hole reads as zeroes but doesn't occupy storage space.
      INITDB forced!
      4f44aa04
  36. 22 10月, 2000 1 次提交
    • B
      BACKED OUT. · aa23c705
      Bruce Momjian 提交于
      
      > Regression tests opr_sanity and sanity_check are now failing.
      
      Um, Bruce, I've said several times that I didn't think Perchine's large
      object changes should be applied until someone had actually reviewed
      them.
      aa23c705
  37. 21 10月, 2000 2 次提交
    • B
      here it is as requested by Bruce. · 293d1e5f
      Bruce Momjian 提交于
      I tested it restoring my database with > 100000 BLOBS, and dumping it out.
      But unfortunatly I can not restore it back due to problems in pg_dump.
      
      --
      Sincerely Yours,
      Denis Perchine
      293d1e5f
    • P
      Add support for VPATH builds, that is, building somewhere else than in the · 805e431a
      Peter Eisentraut 提交于
      source directory.  This involves mostly makefiles using $(srcdir) when they
      might have used ".".  (Regression tests don't work with this, yet.)
      
      Sort out usage of CPPFLAGS, CFLAGS (and CXXFLAGS).  Add "override" keyword
      in most places, to preserve necessary flags even when the user overrode the
      flags.
      805e431a