1. 08 3月, 2002 1 次提交
  2. 07 3月, 2002 1 次提交
    • B
      Ok. Updated patch attached. · 01c76f74
      Bruce Momjian 提交于
      - domain.patch -> source patch against pgsql in cvs
      - drop_domain.sgml and create_domain.sgml -> New doc/src/sgml/ref docs
      
      - dominfo.txt -> basic domain related queries I used for testing
      [ ADDED TO /doc]
      
      Enables domains of array elements -> CREATE DOMAIN dom int4[3][2];
      
      Uses a typbasetype column to describe the origin of the domain.
      
      Copies data to attnotnull rather than processing in execMain().
      
      Some documentation differences from earlier.
      
      If this is approved, I'll start working on pg_dump, and a \dD <domain>
      option in psql, and regression tests.  I don't really feel like doing
      those until the system table structure settles for pg_type.
      
      
      CHECKS when added, will also be copied to to the table attributes.  FK
      Constraints (if I ever figure out how) will be done similarly.  Both
      will lbe handled by MergeDomainAttributes() which is called shortly
      before MergeAttributes().
      
      Rod Taylor
      01c76f74
  3. 02 3月, 2002 1 次提交
  4. 19 2月, 2002 1 次提交
  5. 06 11月, 2001 1 次提交
  6. 28 10月, 2001 1 次提交
  7. 25 10月, 2001 1 次提交
  8. 27 8月, 2001 1 次提交
  9. 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
  10. 11 8月, 2001 1 次提交
    • T
      Make OIDs optional, per discussions in pghackers. WITH OIDS is still the · bf56f075
      Tom Lane 提交于
      default, but OIDS are removed from many system catalogs that don't need them.
      Some interesting side effects: TOAST pointers are 20 bytes not 32 now;
      pg_description has a three-column key instead of one.
      
      Bugs fixed in passing: BINARY cursors work again; pg_class.relhaspkey
      has some usefulness; pg_dump dumps comments on indexes, rules, and
      triggers in a valid order.
      
      initdb forced.
      bf56f075
  11. 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
  12. 15 5月, 2001 1 次提交
  13. 07 5月, 2001 1 次提交
    • T
      Rewrite of planner statistics-gathering code. ANALYZE is now available as · f905d65e
      Tom Lane 提交于
      a separate statement (though it can still be invoked as part of VACUUM, too).
      pg_statistic redesigned to be more flexible about what statistics are
      stored.  ANALYZE now collects a list of several of the most common values,
      not just one, plus a histogram (not just the min and max values).  Random
      sampling is used to make the process reasonably fast even on very large
      tables.  The number of values and histogram bins collected is now
      user-settable via an ALTER TABLE command.
      
      There is more still to do; the new stats are not being used everywhere
      they could be in the planner.  But the remaining changes for this project
      should be localized, and the behavior is already better than before.
      
      A not-very-related change is that sorting now makes use of btree comparison
      routines if it can find one, rather than invoking '<' twice.
      f905d65e
  14. 22 3月, 2001 1 次提交
  15. 25 1月, 2001 1 次提交
  16. 15 1月, 2001 1 次提交
    • T
      pg_database's datpath column must not be marked toastable, because · 8a0c9b17
      Tom Lane 提交于
      GetRawDatabaseInfo() won't cope with a compressed path spec (much less
      a moved-off one).  I'm not going to force an initdb for this change,
      because it's noncritical --- we're not actually using datpath at all
      right now.  But it seems a good idea to apply the fix while I'm thinking
      about it.
      8a0c9b17
  17. 15 11月, 2000 1 次提交
    • T
      Extend CREATE DATABASE to allow selection of a template database to be · 2cf48ca0
      Tom Lane 提交于
      cloned, rather than always cloning template1.  Modify initdb to generate
      two identical databases rather than one, template0 and template1.
      Connections to template0 are disallowed, so that it will always remain
      in its virgin as-initdb'd state.  pg_dumpall now dumps databases with
      restore commands that say CREATE DATABASE foo WITH TEMPLATE = template0.
      This allows proper behavior when there is user-added data in template1.
      initdb forced!
      2cf48ca0
  18. 23 10月, 2000 1 次提交
  19. 16 10月, 2000 1 次提交
  20. 06 10月, 2000 1 次提交
  21. 06 8月, 2000 1 次提交
    • T
      Toast all the system-table columns that seem to need it. It turns out · c3e2a951
      Tom Lane 提交于
      that giving pg_proc a toast table required solving the same problems
      we'd have to solve for pg_class --- pg_proc is one of the relations
      that gets bootstrapped in relcache.c.  Solution is to go back at the
      end of initialization and read in the *real* pg_class row to replace
      the phony entry created by formrdesc().  This should work as long as
      there's no need to touch any toasted values during initialization,
      which seems a reasonable assumption.
      Although I did not add a toast-table for every single system table
      with a varlena attribute, I believe that it would work to just do
      ALTER TABLE pg_class CREATE TOAST TABLE.  So anyone who's really
      intent on having several thousand ACL entries for a rel could do it.
      NOTE: I didn't force initdb, but you must do one to see the effects
      of this patch.
      c3e2a951
  22. 01 8月, 2000 1 次提交
  23. 04 7月, 2000 1 次提交
    • J
      TOAST · 57d8080a
      Jan Wieck 提交于
          WARNING: This is actually broken - we have self-deadlocks
      	         due to concurrent changes in buffer management.
      			 Vadim and me are working on it.
      
      Jan
      57d8080a
  24. 03 7月, 2000 1 次提交
  25. 12 6月, 2000 1 次提交
  26. 09 6月, 2000 2 次提交
    • B
      I have large database and with this DB work more users and I very need · 85add42a
      Bruce Momjian 提交于
      more restriction for fretful users. The current PG allow define only
      NO-CREATE-DB and NO-CREATE-USER restriction, but for some users I need
      NO-CREATE-TABLE and NO-LOCK-TABLE.
      
      This patch add to current code NOCREATETABLE and NOLOCKTABLE feature:
      
      CREATE USER username
          [ WITH
           [ SYSID uid ]
           [ PASSWORD 'password' ] ]
          [ CREATEDB   | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ]
      ->  [ CREATETABLE | NOCREATETABLE ] [ LOCKTABLE | NOLOCKTABLE ]
          ...etc.
      
       If CREATETABLE or LOCKTABLE is not specific in CREATE USER command,
      as default is set CREATETABLE or LOCKTABLE (true).
      
       A user with NOCREATETABLE restriction can't call CREATE TABLE or
      SELECT INTO commands, only create temp table is allow for him.
      
                                                      Karel
      85add42a
    • B
      8c1d09d5
  27. 29 5月, 2000 1 次提交
    • T
      First round of changes for new fmgr interface. fmgr itself and the · 0a7fb4e9
      Tom Lane 提交于
      key call sites are changed, but most called functions are still oldstyle.
      An exception is that the PL managers are updated (so, for example, NULL
      handling now behaves as expected in plperl and plpgsql functions).
      NOTE initdb is forced due to added column in pg_proc.
      0a7fb4e9
  28. 13 4月, 2000 1 次提交
  29. 09 3月, 2000 1 次提交
  30. 26 1月, 2000 1 次提交
    • B
      Add: · 5c25d602
      Bruce Momjian 提交于
        * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
      
      to all files copyright Regents of Berkeley.  Man, that's a lot of files.
      5c25d602
  31. 11 1月, 2000 1 次提交
  32. 20 12月, 1999 1 次提交
  33. 30 9月, 1999 1 次提交
    • J
      This is part #1 for of the DEFERRED CONSTRAINT TRIGGER support. · 1547ee01
      Jan Wieck 提交于
      Implements the CREATE CONSTRAINT TRIGGER and SET CONSTRAINTS commands.
      
      TODO:
          Generic builtin trigger procedures
          Automatic execution of appropriate CREATE CONSTRAINT... at CREATE TABLE
          Support of new trigger type in pg_dump
          Swapping of huge # of events to disk
      
      Jan
      1547ee01
  34. 09 8月, 1999 1 次提交
  35. 01 8月, 1999 1 次提交
  36. 26 5月, 1999 1 次提交
  37. 28 3月, 1999 1 次提交
  38. 14 2月, 1999 1 次提交
  39. 10 9月, 1998 1 次提交