1. 11 11月, 2002 1 次提交
  2. 10 11月, 2002 1 次提交
  3. 02 11月, 2002 1 次提交
  4. 02 9月, 2002 1 次提交
    • T
      Code review for HeapTupleHeader changes. Add version number to page headers · c7a165ad
      Tom Lane 提交于
      (overlaying low byte of page size) and add HEAP_HASOID bit to t_infomask,
      per earlier discussion.  Simplify scheme for overlaying fields in tuple
      header (no need for cmax to live in more than one place).  Don't try to
      clear infomask status bits in tqual.c --- not safe to do it there.  Don't
      try to force output table of a SELECT INTO to have OIDs, either.  Get rid
      of unnecessarily complex three-state scheme for TupleDesc.tdhasoids, which
      has already caused one recent failure.  Improve documentation.
      c7a165ad
  5. 21 6月, 2002 1 次提交
  6. 03 3月, 2002 1 次提交
    • B
      Commit to match discussed elog() changes. Only update is that LOG is · a033daf5
      Bruce Momjian 提交于
      now just below FATAL in server_min_messages.  Added more text to
      highlight ordering difference between it and client_min_messages.
      
      ---------------------------------------------------------------------------
      
      REALLYFATAL => PANIC
      STOP => PANIC
      New INFO level the prints to client by default
      New LOG level the prints to server log by default
      Cause VACUUM information to print only to the client
      NOTICE => INFO where purely information messages are sent
      DEBUG => LOG for purely server status messages
      DEBUG removed, kept as backward compatible
      DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1 added
      DebugLvl removed in favor of new DEBUG[1-5] symbols
      New server_min_messages GUC parameter with values:
              DEBUG[5-1], INFO, NOTICE, ERROR, LOG, FATAL, PANIC
      New client_min_messages GUC parameter with values:
              DEBUG[5-1], LOG, INFO, NOTICE, ERROR, FATAL, PANIC
      Server startup now logged with LOG instead of DEBUG
      Remove debug_level GUC parameter
      elog() numbers now start at 10
      Add test to print error message if older elog() values are passed to elog()
      Bootstrap mode now has a -d that requires an argument, like postmaster
      a033daf5
  7. 25 10月, 2001 1 次提交
  8. 15 5月, 2001 1 次提交
    • T
      EvalPlanQual was thoroughly broken for concurrent update/delete on inheritance · a4155d3b
      Tom Lane 提交于
      trees (mostly my fault).  Repair.  Also fix long-standing bug in ExecReplace:
      after recomputing a concurrently updated tuple, we must recheck constraints.
      Make EvalPlanQual leak memory with somewhat less enthusiasm than before,
      although plugging leaks fully will require more changes than I care to risk
      in a dot-release.
      a4155d3b
  9. 09 5月, 2001 1 次提交
    • T
      Append and SubqueryScan nodes were not passing changed-parameter signals down · 5708a567
      Tom Lane 提交于
      to their children, leading to misbehavior if they had any children that paid
      attention to chgParam (most plan node types don't).  Append's bug has been
      there a long time, but nobody had noticed because it used to be difficult
      to create a query where an Append would be used below the top level of a
      plan; so there were never any parameters getting passed down.  SubqueryScan
      is new in 7.1 ... and I'd modeled its behavior on Append :-(
      5708a567
  10. 22 3月, 2001 1 次提交
  11. 25 1月, 2001 1 次提交
  12. 12 11月, 2000 1 次提交
    • T
      Restructure handling of inheritance queries so that they work with outer · 6543d81d
      Tom Lane 提交于
      joins, and clean things up a good deal at the same time.  Append plan node
      no longer hacks on rangetable at runtime --- instead, all child tables are
      given their own RT entries during planning.  Concept of multiple target
      tables pushed up into execMain, replacing bug-prone implementation within
      nodeAppend.  Planner now supports generating Append plans for inheritance
      sets either at the top of the plan (the old way) or at the bottom.  Expanding
      at the bottom is appropriate for tables used as sources, since they may
      appear inside an outer join; but we must still expand at the top when the
      target of an UPDATE or DELETE is an inheritance set, because we actually need
      a different targetlist and junkfilter for each target table in that case.
      Fortunately a target table can't be inside an outer join...  Bizarre mutual
      recursion between union_planner and prepunion.c is gone --- in fact,
      union_planner doesn't really have much to do with union queries anymore,
      so I renamed it grouping_planner.
      6543d81d
  13. 10 11月, 2000 1 次提交
  14. 06 10月, 2000 1 次提交
    • T
      Reimplementation of UNION/INTERSECT/EXCEPT. INTERSECT/EXCEPT now meet the · 05e3d0ee
      Tom Lane 提交于
      SQL92 semantics, including support for ALL option.  All three can be used
      in subqueries and views.  DISTINCT and ORDER BY work now in views, too.
      This rewrite fixes many problems with cross-datatype UNIONs and INSERT/SELECT
      where the SELECT yields different datatypes than the INSERT needs.  I did
      that by making UNION subqueries and SELECT in INSERT be treated like
      subselects-in-FROM, thereby allowing an extra level of targetlist where the
      datatype conversions can be inserted safely.
      INITDB NEEDED!
      05e3d0ee
  15. 12 7月, 2000 1 次提交
  16. 18 6月, 2000 1 次提交
    • T
      Fix performance problems with pg_index lookups (see, for example, · d03a933e
      Tom Lane 提交于
      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
  17. 15 6月, 2000 1 次提交
  18. 10 6月, 2000 1 次提交
  19. 09 6月, 2000 1 次提交
  20. 13 4月, 2000 1 次提交
  21. 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
  22. 01 11月, 1999 1 次提交
  23. 31 10月, 1999 1 次提交
    • T
      Avoid duplicate ExecTypeFromTL() call in ExecInitJunkFilter() by passing · 5b9d655b
      Tom Lane 提交于
      in the TupleDesc that the caller already has (for call from ExecMain) or
      can make just as easily as ExecInitJunkFilter() can (for call from
      ExecAppend).  Also, don't bother to build a junk filter for an INSERT
      operation that doesn't actually need one, which is the normal case.
      5b9d655b
  24. 24 9月, 1999 1 次提交
    • T
      Several changes here, not very related but touching some of the same files. · e812458b
      Tom Lane 提交于
      * Buffer refcount cleanup (per my "progress report" to pghackers, 9/22).
      * Add links to backend PROC structs to sinval's array of per-backend info,
      and use these links for routines that need to check the state of all
      backends (rather than the slow, complicated search of the ShmemIndex
      hashtable that was used before).  Add databaseOID to PROC structs.
      * Use this to implement an interlock that prevents DESTROY DATABASE of
      a database containing running backends.  (It's a little tricky to prevent
      a concurrently-starting backend from getting in there, since the new
      backend is not able to lock anything at the time it tries to look up
      its database in pg_database.  My solution is to recheck that the DB is
      OK at the end of InitPostgres.  It may not be a 100% solution, but it's
      a lot better than no interlock at all...)
      * In ALTER TABLE RENAME, flush buffers for the relation before doing the
      rename of the physical files, to ensure we don't get failures later from
      mdblindwrt().
      * Update TRUNCATE patch so that it actually compiles against current
      sources :-(.
      You should do "make clean all" after pulling these changes.
      e812458b
  25. 19 9月, 1999 1 次提交
    • T
      Mega-commit to make heap_open/heap_openr/heap_close take an · bd272cac
      Tom Lane 提交于
      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
  26. 18 7月, 1999 1 次提交
  27. 16 7月, 1999 3 次提交
  28. 15 7月, 1999 1 次提交
  29. 26 5月, 1999 1 次提交
  30. 21 2月, 1999 1 次提交
    • M
      · 8c3e8a8a
      Marc G. Fournier 提交于
      From: Tatsuo Ishii <t-ishii@sra.co.jp>
      
      Ok. I made patches replacing all of "#if FALSE" or "#if 0" to "#ifdef
      NOT_USED" for current. I have tested these patches in that the
      postgres binaries are identical.
      8c3e8a8a
  31. 14 2月, 1999 1 次提交
  32. 04 2月, 1999 1 次提交
  33. 01 9月, 1998 1 次提交
  34. 16 7月, 1998 1 次提交
  35. 15 7月, 1998 1 次提交
  36. 16 6月, 1998 1 次提交
  37. 26 2月, 1998 1 次提交
  38. 27 12月, 1997 1 次提交