1. 01 10月, 1999 1 次提交
    • T
      Clean up rewriter routines to use expression_tree_walker and · 389af07c
      Tom Lane 提交于
      expression_tree_mutator rather than ad-hoc tree walking code.  This shortens
      the code materially and fixes a fair number of sins of omission.  Also,
      change modifyAggrefQual to *not* recurse into subselects, since its mission
      is satisfied if it removes aggregate functions from the top level of a
      WHERE clause.  This cures problems with queries of the form SELECT ...
      WHERE x IN (SELECT ... HAVING something-using-an-aggregate), which would
      formerly get mucked up by modifyAggrefQual.  The routine is still
      fundamentally broken, of course, but I don't think there's any way to get
      rid of it before we implement subselects in FROM ...
      389af07c
  2. 30 9月, 1999 8 次提交
  3. 29 9月, 1999 2 次提交
  4. 28 9月, 1999 15 次提交
  5. 27 9月, 1999 4 次提交
    • V
      Transaction log manager core code. · 30659d43
      Vadim B. Mikheev 提交于
      It doesn't work currently but also don't break anything -:)
      30659d43
    • B
      Add README.SSL · 065a40f9
      Bruce Momjian 提交于
      065a40f9
    • B
      Lots of patches coming in from me today :-) · e0e7daef
      Bruce Momjian 提交于
      When drawing up a very simple "text-drawing" of how the negotiation is done,
      I realised I had done this last part (fallback) in a very stupid way. Patch
      #4 fixes this, and does it in a much better way.
      
      Included is also the simple text-drawing of how the negotiation is done.
      
      //Magnus
      e0e7daef
    • T
      Modify nodeAgg.c so that no rows are returned for a GROUP BY · be09bc9f
      Tom Lane 提交于
      with no input rows, per pghackers discussions around 7/22/99.  Clean up
      a bunch of ugly coding while at it; remove redundant re-lookup of
      aggregate info at start of each new GROUP.  Arrange to pfree intermediate
      values when they are pass-by-ref types, so that aggregates on pass-by-ref
      types no longer eat memory.  This takes care of a couple of TODO items...
      be09bc9f
  6. 26 9月, 1999 1 次提交
    • T
      Implement constant-expression simplification per Bernard · 40f65241
      Tom Lane 提交于
      Frankpitt, plus some improvements from yours truly.  The simplifier depends
      on the proiscachable field of pg_proc to tell it whether a function is
      safe to pre-evaluate --- things like nextval() are not, for example.
      Update pg_proc.h to contain reasonable cacheability information; as of
      6.5.* hardly any functions were marked cacheable.  I may have erred too
      far in the other direction; see recent mail to pghackers for more info.
      This update does not force an initdb, exactly, but you won't see much
      benefit from the simplifier until you do one.
      40f65241
  7. 24 9月, 1999 3 次提交
    • 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
    • B
      Fix for netmask('x.x.x.x/0') is 255.255.255.255 instead of 0.0.0.0 · dabc3f31
      Bruce Momjian 提交于
      This is because (-1) << 32 is -1 (Only intel arc. has been checked)
      
      Oleg Sharoiko
      dabc3f31
    • B
      e7cad7b0
  8. 22 9月, 1999 1 次提交
  9. 20 9月, 1999 1 次提交
  10. 19 9月, 1999 2 次提交
    • T
      Fix CASE bug identified by Keith Parks: CASE didn't reliably · e1a8b0f2
      Tom Lane 提交于
      treat a NULL condition result as FALSE.  Clean up some bogus comments
      here and there, too.
      e1a8b0f2
    • 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
  11. 16 9月, 1999 1 次提交
    • T
      Changes made by Hiroshi Inoue and approved by Vadim. · 2d0eee32
      Tatsuo Ishii 提交于
      See attached mail for more details.
      
      -------------------------------------------------------------------
      From: "Vadim Mikheev" <vadim@krs.ru>
      To: "Hiroshi Inoue" <Inoue@tpf.co.jp>
      References: <000201befa94$42fe04c0$2801007e@cadzone.tpf.co.jp>
      Subject: Re: elog(ERROR) in vacuum
      Date: Fri, 10 Sep 1999 10:27:10 +0900
      Organization: OJSC Rostelecom (Krasnoyarsk)
      Message-ID: <37D85E6E.5AFA126D@krs.ru>
      
      Hiroshi Inoue wrote:
      >
      > Hello Vadim,
      >
      > I have a question about vacuum.
      >
      > VACUUM has a phase like commit which calls TransactionIdCommit().
      > But if elog(ERROR) occured after that,the status of transaction is
      > changed from XID_COMMIT to XID_ABORT.
      >
      > Seems to me this causes inconsistency.
      > Shoudn't AbortTransaction() be changed not to call TransacionIdAbort()
      > in case of vacuum.
      
      You're right!
      As usual -:)
      
      Vadim
      2d0eee32
  12. 14 9月, 1999 1 次提交