1. 22 Nov, 1999 1 commit
    • Tom Lane's avatar
      ReleaseRelationBuffers() failed to check for I/O in progress on a buffer · 6b5d8e14
      Tom Lane authored
      it wants to release.  This leads to a race condition: does the backend
      that's trying to flush the buffer do so before the one that's deleting the
      relation does so?  Usually no problem, I expect, but on occasion this could
      lead to hard-to-reproduce complaints from md.c, especially mdblindwrt.
      6b5d8e14
  2. 21 Nov, 1999 6 commits
    • Tom Lane's avatar
      Combine index_info and find_secondary_indexes into a single routine that · 610dfa6d
      Tom Lane authored
      returns a list of RelOptInfos, eliminating the need for static state
      in index_info.  That static state was a direct cause of coredumps; if
      anything decided to elog(ERROR) partway through an index_info search of
      pg_index, the next query would try to close a scan pointer that was
      pointing at no-longer-valid memory.  Another example of the reasons to
      avoid static state variables...
      610dfa6d
    • Tom Lane's avatar
      index_destroy() must grab exclusive access to the parent table · 40d3e925
      Tom Lane authored
      of the index it wants to destroy.  This ensures that no other backend is
      actively scanning or updating that index.  Getting exclusive access on
      the index alone is NOT sufficient, because the executor is rather
      cavalier about getting locks on indexes --- see ExecOpenIndices().
      It might be better to grab index locks in the executor, but I'm not
      sure the extra lockmanager traffic is really worth it just to make
      index_destroy cleaner.
      40d3e925
    • Tom Lane's avatar
      Clean up comments. · 3047b444
      Tom Lane authored
      3047b444
    • Tom Lane's avatar
      Change backend-side COPY to write files with permissions 644 not 666 · d8ba3dfb
      Tom Lane authored
      (whoever thought world-writable files were a good default????).  Modify
      the pg_pwd code so that pg_pwd is created with 600 permissions.  Modify
      initdb so that permissions on a pre-existing PGDATA directory are not
      blindly accepted: if the dir is already there, it does chmod go-rwx
      to be sure that the permissions are OK and the dir actually is owned
      by postgres.
      d8ba3dfb
    • Tom Lane's avatar
      Repair problem exposed by Jan's new parallel-regression-test scaffold: · 76ccf73f
      Tom Lane authored
      inval.c thought it could safely use the catcache to look up the OIDs of
      system relations.  Not good, considering that inval.c could be called
      during catcache loading, if a shared-inval message arrives.  Rip out the
      lookup logic and instead use the known OIDs from pg_class.h.
      76ccf73f
    • Tom Lane's avatar
      Tweak run_check.sh so it prints the name of each test in a parallel group · 9ba0172f
      Tom Lane authored
      as that test finishes --- helps to give the impression that something is
      happening...
      9ba0172f
  3. 20 Nov, 1999 3 commits
  4. 19 Nov, 1999 1 commit
  5. 18 Nov, 1999 2 commits
  6. 17 Nov, 1999 3 commits
  7. 16 Nov, 1999 3 commits
  8. 15 Nov, 1999 4 commits
  9. 14 Nov, 1999 5 commits
  10. 13 Nov, 1999 2 commits
  11. 12 Nov, 1999 2 commits
  12. 11 Nov, 1999 2 commits
    • Bruce Momjian's avatar
      Update for documentation in libpq changes. · 6b99fcf3
      Bruce Momjian authored
      6b99fcf3
    • Bruce Momjian's avatar
      In the spirit of TODO item · 2a24ec6f
      Bruce Momjian authored
      * Add use of 'const' for varibles in source tree
      (which is misspelled, btw.)
      I went through the front-end libpq code and did so. This affects in
      particular the various accessor functions (such as PQdb() and
      PQgetvalue()) as well as, by necessity, the internal helpers they use.
      
      I have been really thorough in that regard, perhaps some people will find
      it annoying that things like
      char * foo = PQgetvalue(res, 0, 0)
      will generate a warning. On the other hand it _should_ generate one. This
      is no real compatibility break, although a few clients will have to be
      fixed to suppress warnings. (Which again would be in the spirit of the
      above TODO.)
      
      In addition I replaced some int's by size_t's and removed some warnings
      (and generated some new ones -- grmpf!). Also I rewrote PQoidStatus (so it
      actually honors the const!) and supplied a new function PQoidValue that
      returns a proper Oid type. This is only front-end stuff, none of the
      communicaton stuff was touched.
      
      
      The psql patch also adds some new consts to honor the new libpq situation,
      as well as fixes a fatal condition that resulted when using the -V
      (--version) option and there is no database listening.
      
      
      So, to summarize, the psql you should definitely put in (with or without
      the libpq). If you think I went too far with the const-mania in libpq, let
      me know and I'll make adjustments. If you approve it, I will also update
      the docs.
      
              -Peter
      
      --
      Peter Eisentraut                  Sernanders vaeg 10:115
      2a24ec6f
  13. 10 Nov, 1999 1 commit
  14. 08 Nov, 1999 1 commit
  15. 07 Nov, 1999 1 commit
  16. 06 Nov, 1999 3 commits