Skip to content
Snippets Groups Projects
  1. Dec 23, 2000
  2. Nov 08, 2000
    • Tom Lane's avatar
      Make DROP TABLE rollback-able: postpone physical file delete until commit. · 3908473c
      Tom Lane authored
      (WAL logging for this is not done yet, however.)  Clean up a number of really
      crufty things that are no longer needed now that DROP behaves nicely.  Make
      temp table mapper do the right things when drop or rename affecting a temp
      table is rolled back.  Also, remove "relation modified while in use" error
      check, in favor of locking tables at first reference and holding that lock
      throughout the statement.
      3908473c
  3. Sep 07, 2000
  4. Jul 15, 2000
    • Tom Lane's avatar
      Cleanup of code for creating index entries. Functional indexes with · 6bfe6403
      Tom Lane authored
      pass-by-ref data types --- eg, an index on lower(textfield) --- no longer
      leak memory during index creation or update.  Clean up a lot of redundant
      code ... did you know that copy, vacuum, truncate, reindex, extend index,
      and bootstrap each basically duplicated the main executor's logic for
      extracting information about an index and preparing index entries?
      Functional indexes should be a little faster now too, due to removal
      of repeated function lookups.
      CREATE INDEX 'opt_type' clause is deimplemented by these changes,
      but I haven't removed it from the parser yet (need to merge with
      Thomas' latest change set first).
      6bfe6403
  5. Jun 30, 2000
    • Tom Lane's avatar
      Use a private memory context to store rule information in each relcache · b41f4ab8
      Tom Lane authored
      entry that has rules.  This allows us to release the rule parsetrees
      on relcache flush without needing a working freeObject() routine.
      Formerly, the rule trees were leaked permanently at relcache flush.
      Also, clean up handling of rule creation and deletion --- there was
      not sufficient locking of the relation being modified, and there was
      no reliable notification of other backends that a relcache reload
      was needed.  Also, clean up relcache.c code so that scans of system
      tables needed to load a relcache entry are done in the caller's
      memory context, not in CacheMemoryContext.  This prevents any
      un-pfreed memory from those scans from becoming a permanent memory
      leak.
      b41f4ab8
  6. Jun 19, 2000
    • Tom Lane's avatar
      Reimplement nodeMaterial to use a temporary BufFile (or even memory, if the · 1ee26b77
      Tom Lane authored
      materialized tupleset is small enough) instead of a temporary relation.
      This was something I was thinking of doing anyway for performance, and Jan
      says he needs it for TOAST because he doesn't want to cope with toasting
      noname relations.  With this change, the 'noname table' support in heap.c
      is dead code, and I have accordingly removed it.  Also clean up 'noname'
      plan handling in planner --- nonames are either sort or materialize plans,
      and it seems less confusing to handle them separately under those names.
      1ee26b77
  7. Jun 17, 2000
    • Tom Lane's avatar
      Fix performance problems with pg_index lookups (see, for example, · d03a933e
      Tom Lane authored
      discussion of 5/19/00).  pg_index is now searched for indexes of a
      relation using an indexscan.  Moreover, this is done once and cached
      in the relcache entry for the relation, in the form of a list of OIDs
      for the indexes.  This list is used by the parser and executor to drive
      lookups in the pg_index syscache when they want to know the properties
      of the indexes.  Net result: index information will be fully cached
      for repetitive operations such as inserts.
      d03a933e
  8. Apr 12, 2000
  9. Feb 27, 2000
  10. Jan 31, 2000
    • Tom Lane's avatar
      Fix problems seen in parallel regress tests when SI buffer overruns (causing · a152ebee
      Tom Lane authored
      syscache and relcache flushes).  Relcache entry rebuild now preserves
      original tupledesc, rewrite rules, and triggers if possible, so that pointers
      to these things remain valid --- if these things change while relcache entry
      has positive refcount, we elog(ERROR) to avoid later crash.  Arrange for
      xact-local rels to be rebuilt when an SI inval message is seen for them,
      so that they are updated by CommandCounterIncrement the same as regular rels.
      (This is useful because of Hiroshi's recent changes to process our own SI
      messages at CommandCounterIncrement time.)  This allows simplification of
      some routines that previously hacked around the lack of an automatic update.
      catcache now keeps its own copy of tupledesc for its relation, rather than
      depending on the relcache's copy; this avoids needing to reinitialize catcache
      during a cache flush, which saves some cycles and eliminates nasty circularity
      problems that occur if a cache flush happens while trying to initialize a
      catcache.
      Eliminate a number of permanent memory leaks that used to happen during
      catcache or relcache flush; not least of which was that catcache never
      freed any cached tuples!  (Rule parsetree storage is still leaked, however;
      will fix that separately.)
      Nothing done yet about code that uses tuples retrieved by SearchSysCache
      for longer than is safe.
      a152ebee
  11. Jan 26, 2000
    • Bruce Momjian's avatar
      Add: · 5c25d602
      Bruce Momjian authored
        * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
      
      to all files copyright Regents of Berkeley.  Man, that's a lot of files.
      5c25d602
  12. Jan 22, 2000
  13. Jan 10, 2000
  14. Nov 16, 1999
  15. Nov 08, 1999
  16. Nov 04, 1999
    • Hiroshi Inoue's avatar
      Make it possible to execute crashed CREATE/DROP commands again. · 2e2189a5
      Hiroshi Inoue authored
      Now indexes of pg_class and pg_type are unique indexes
      and guarantee the uniqueness of correponding attributes.
      heap_create() was changed to take another boolean parameter
      which allows to postpone the creation of disk file.
      The name of rd_nonameunlinked was changed to rd_unlinked.
      It is used generally(not only for noname relations) now.
      Requires initdb.
      2e2189a5
  17. Sep 29, 1999
    • Jan Wieck's avatar
      This is part #1 for of the DEFERRED CONSTRAINT TRIGGER support. · 1547ee01
      Jan Wieck authored
      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
  18. Sep 18, 1999
    • Tom Lane's avatar
      Mega-commit to make heap_open/heap_openr/heap_close take an · bd272cac
      Tom Lane authored
      additional argument specifying the kind of lock to acquire/release (or
      'NoLock' to do no lock processing).  Ensure that all relations are locked
      with some appropriate lock level before being examined --- this ensures
      that relevant shared-inval messages have been processed and should prevent
      problems caused by concurrent VACUUM.  Fix several bugs having to do with
      mismatched increment/decrement of relation ref count and mismatched
      heap_open/close (which amounts to the same thing).  A bogus ref count on
      a relation doesn't matter much *unless* a SI Inval message happens to
      arrive at the wrong time, which is probably why we got away with this
      sloppiness for so long.  Repair missing grab of AccessExclusiveLock in
      DROP TABLE, ALTER/RENAME TABLE, etc, as noted by Hiroshi.
      Recommend 'make clean all' after pulling this update; I modified the
      Relation struct layout slightly.
      Will post further discussion to pghackers list shortly.
      bd272cac
  19. Jul 16, 1999
  20. May 25, 1999
  21. Feb 14, 1999
  22. Feb 02, 1999
  23. Sep 01, 1998
  24. Aug 19, 1998
    • Bruce Momjian's avatar
      heap_fetch requires buffer pointer, must be released; heap_getnext · 79715390
      Bruce Momjian authored
      no longer returns buffer pointer, can be gotten from scan;
      	descriptor; bootstrap can create multi-key indexes;
      pg_procname index now is multi-key index; oidint2, oidint4, oidname
      are gone (must be removed from regression tests); use System Cache
      rather than sequential scan in many places; heap_modifytuple no
      longer takes buffer parameter; remove unused buffer parameter in
      a few other functions; oid8 is not index-able; remove some use of
      single-character variable names; cleanup Buffer variables usage
      and scan descriptor looping; cleaned up allocation and freeing of
      tuples; 18k lines of diff;
      79715390
  25. Feb 26, 1998
  26. Jan 24, 1998
  27. Jan 15, 1998
    • PostgreSQL Daemon's avatar
      Thank god for searchable mail archives. · baef78d9
      PostgreSQL Daemon authored
      Patch by: wieck@sapserv.debis.de (Jan Wieck)
      
         One  of  the design rules of PostgreSQL is extensibility. And
         to follow this rule means (at least for me) that there should
         not  only  be a builtin PL.  Instead I would prefer a defined
         interface for PL implemetations.
      baef78d9
  28. Nov 21, 1997
  29. Oct 28, 1997
  30. Sep 08, 1997
  31. Sep 07, 1997
  32. Sep 04, 1997
  33. Sep 01, 1997
  34. Nov 04, 1996
  35. Nov 01, 1996
  36. Oct 24, 1996
Loading