1. 22 3月, 2001 1 次提交
  2. 25 1月, 2001 1 次提交
  3. 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
  4. 10 11月, 2000 1 次提交
  5. 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
  6. 12 7月, 2000 1 次提交
  7. 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
  8. 15 6月, 2000 1 次提交
  9. 10 6月, 2000 1 次提交
  10. 09 6月, 2000 1 次提交
  11. 13 4月, 2000 1 次提交
  12. 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
  13. 01 11月, 1999 1 次提交
  14. 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
  15. 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
  16. 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
  17. 18 7月, 1999 1 次提交
  18. 16 7月, 1999 3 次提交
  19. 15 7月, 1999 1 次提交
  20. 26 5月, 1999 1 次提交
  21. 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
  22. 14 2月, 1999 1 次提交
  23. 04 2月, 1999 1 次提交
  24. 01 9月, 1998 1 次提交
  25. 16 7月, 1998 1 次提交
  26. 15 7月, 1998 1 次提交
  27. 16 6月, 1998 1 次提交
  28. 26 2月, 1998 1 次提交
  29. 27 12月, 1997 1 次提交
  30. 09 9月, 1997 2 次提交
  31. 08 9月, 1997 1 次提交
  32. 07 9月, 1997 1 次提交
  33. 20 8月, 1997 1 次提交
  34. 06 11月, 1996 1 次提交
  35. 31 10月, 1996 1 次提交
  36. 26 10月, 1996 1 次提交
  37. 09 7月, 1996 1 次提交