1. 22 Jul, 2000 1 commit
  2. 17 Jul, 2000 1 commit
    • Tom Lane's avatar
      Revise aggregate functions per earlier discussions in pghackers. · bec98a31
      Tom Lane authored
      There's now only one transition value and transition function.
      NULL handling in aggregates is a lot cleaner.  Also, use Numeric
      accumulators instead of integer accumulators for sum/avg on integer
      datatypes --- this avoids overflow at the cost of being a little slower.
      Implement VARIANCE() and STDDEV() aggregates in the standard backend.
      
      Also, enable new LIKE selectivity estimators by default.  Unrelated
      change, but as long as I had to force initdb anyway...
      bec98a31
  3. 05 Jul, 2000 1 commit
  4. 28 Jun, 2000 1 commit
    • Tom Lane's avatar
      First phase of memory management rewrite (see backend/utils/mmgr/README · 1aebc361
      Tom Lane authored
      for details).  It doesn't really do that much yet, since there are no
      short-term memory contexts in the executor, but the infrastructure is
      in place and long-term contexts are handled reasonably.  A few long-
      standing bugs have been fixed, such as 'VACUUM; anything' in a single
      query string crashing.  Also, out-of-memory is now considered a
      recoverable ERROR, not FATAL.
      Eliminate a large amount of crufty, now-dead code in and around
      memory management.
      Fix problem with holding off SIGTRAP, SIGSEGV, etc in postmaster and
      backend startup.
      1aebc361
  5. 25 Jun, 2000 1 commit
  6. 12 Jun, 2000 1 commit
  7. 09 Jun, 2000 2 commits
    • Bruce Momjian's avatar
      I have large database and with this DB work more users and I very need · 85add42a
      Bruce Momjian authored
      more restriction for fretful users. The current PG allow define only
      NO-CREATE-DB and NO-CREATE-USER restriction, but for some users I need
      NO-CREATE-TABLE and NO-LOCK-TABLE.
      
      This patch add to current code NOCREATETABLE and NOLOCKTABLE feature:
      
      CREATE USER username
          [ WITH
           [ SYSID uid ]
           [ PASSWORD 'password' ] ]
          [ CREATEDB   | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ]
      ->  [ CREATETABLE | NOCREATETABLE ] [ LOCKTABLE | NOLOCKTABLE ]
          ...etc.
      
       If CREATETABLE or LOCKTABLE is not specific in CREATE USER command,
      as default is set CREATETABLE or LOCKTABLE (true).
      
       A user with NOCREATETABLE restriction can't call CREATE TABLE or
      SELECT INTO commands, only create temp table is allow for him.
      
                                                      Karel
      85add42a
    • Tom Lane's avatar
  8. 02 Jun, 2000 1 commit
    • Tom Lane's avatar
      Create an fd.c entry point that is just like plain open(2) except that · b659ab07
      Tom Lane authored
      it will close VFDs if necessary to surmount ENFILE or EMFILE failures.
      Make use of this in md.c, xlog.c, and user.c routines that were
      formerly vulnerable to these failures.  In particular, this should
      handle failures of mdblindwrt() that have been observed under heavy
      load conditions.  (By golly, every other process on the system may
      crash after Postgres eats up all the kernel FDs, but Postgres will
      keep going!)
      b659ab07
  9. 30 May, 2000 1 commit
  10. 29 May, 2000 1 commit
  11. 28 May, 2000 1 commit
    • Tom Lane's avatar
      First round of changes for new fmgr interface. fmgr itself and the · 0a7fb4e9
      Tom Lane authored
      key call sites are changed, but most called functions are still oldstyle.
      An exception is that the PL managers are updated (so, for example, NULL
      handling now behaves as expected in plperl and plpgsql functions).
      NOTE initdb is forced due to added column in pg_proc.
      0a7fb4e9
  12. 04 May, 2000 1 commit
  13. 12 Apr, 2000 1 commit
  14. 15 Mar, 2000 1 commit
  15. 15 Feb, 2000 1 commit
  16. 26 Jan, 2000 1 commit
    • 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
  17. 14 Jan, 2000 1 commit
    • Peter Eisentraut's avatar
      * User management commands no longer user pg_exec_query_dest -> more robust · 4ceb2d0c
      Peter Eisentraut authored
      * Let unprivileged users change their own passwords.
      
      * The password is now an Sconst in the parser, which better reflects its text datatype and also
      forces users to quote them.
      
      * If your password is NULL you won't be written to the password file, meaning you can't connect
      until you have a password set up (if you use password authentication).
      
      * When you drop a user that owns a database you get an error. The database is not gone.
      4ceb2d0c
  18. 21 Dec, 1999 1 commit
  19. 20 Dec, 1999 1 commit
  20. 16 Dec, 1999 1 commit
  21. 14 Dec, 1999 3 commits
    • Bruce Momjian's avatar
      > From what I gather, this should be a little cleaner because the · 549a8ba5
      Bruce Momjian authored
      triggered
      > function now returns the right datatype.
      
      Oops, I got crossed up with Jan's improvements. Ignore this.
      
      --
      Peter Eisentraut                  Sernanders väg 10:115
      peter_e@gmx.net                   75262 Uppsala
      549a8ba5
    • Bruce Momjian's avatar
      >From what I gather, this should be a little cleaner because the · f5a613c0
      Bruce Momjian authored
      triggered
      function now returns the right datatype.
      
      --
      Peter Eisentraut                  Sernanders väg 10:115
      f5a613c0
    • Bruce Momjian's avatar
      Depending on my interpreting (and programming) skills, this might solve · bcaabc56
      Bruce Momjian authored
      anywhere from zero to two TODO items.
      
      * Allow flag to control COPY input/output of NULLs
      
      I got this:
      COPY table .... [ WITH NULL AS 'string' ]
      which does what you'd expect. The default is \N, otherwise you can use
      empty strings, etc. On Copy In this acts like a filter: every data item
      that looks like 'string' becomes a NULL. Pretty straightforward.
      
      This also seems to be related to
      
      * Make postgres user have a password by default
      
      If I recall this discussion correctly, the problem was actually that the
      default password for the postgres (or any) user is in fact "\N", because
      of the way copy is used. With this change, the file pg_pwd is copied out
      with nulls as empty strings, so if someone doesn't have a password, the
      password is just '', which one would expect from a new account. I don't
      think anyone really wants a hard-coded default password.
      
      Peter Eisentraut                  Sernanders väg 10:115
      bcaabc56
  22. 12 Dec, 1999 1 commit
    • Bruce Momjian's avatar
      I'm in TODO mood today ... · cb00b7fa
      Bruce Momjian authored
      * Document/trigger/rule so changes to pg_shadow recreate pg_pwd
      
      I did it with a trigger and it seems to work like a charm. The function
      that already updates the file for create and alter user has been made a
      built-in "SQL" function and a trigger is created at initdb time.
      
      Comments around the pg_pwd updating function seem to be worried about
      this
      routine being called concurrently, but I really don't see a reason to
      worry about this. Verify for yourself. I guess we never had a system
      trigger before, so treat this with care, and feel free to adjust the
      nomenclature as well.
      
      --
      Peter Eisentraut                  Sernanders väg 10:115
      cb00b7fa
  23. 30 Nov, 1999 2 commits
  24. 24 Nov, 1999 1 commit
  25. 22 Nov, 1999 1 commit
  26. 21 Nov, 1999 1 commit
    • 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
  27. 27 Sep, 1999 1 commit
  28. 18 Sep, 1999 1 commit
    • 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
  29. 30 Jul, 1999 1 commit
  30. 17 Jul, 1999 1 commit
  31. 16 Jul, 1999 1 commit
  32. 15 Jul, 1999 2 commits
  33. 25 May, 1999 1 commit
  34. 02 Apr, 1999 1 commit
  35. 16 Mar, 1999 1 commit