1. 03 Oct, 2002 1 commit
  2. 04 Sep, 2002 1 commit
  3. 03 Sep, 2002 1 commit
  4. 02 Sep, 2002 2 commits
  5. 30 Aug, 2002 1 commit
    • Tom Lane's avatar
      AUTOCOMMIT mode is now an available backend GUC variable; setting it · 26993b29
      Tom Lane authored
      to false provides more SQL-spec-compliant behavior than we had before.
      I am not sure that setting it false is actually a good idea yet; there
      is a lot of client-side code that will probably be broken by turning
      autocommit off.  But it's a start.
      
      Loosely based on a patch by David Van Wie.
      26993b29
  6. 29 Aug, 2002 2 commits
    • Bruce Momjian's avatar
      This patch reserves the last superuser_reserved_connections slots for · 626eca69
      Bruce Momjian authored
      connections by the superuser only.
      
      This patch replaces the last patch I sent a couple of days ago.
      
      It closes a connection that has not been authorised by a superuser if it would
      leave less than the GUC variable ReservedBackends
      (superuser_reserved_connections in postgres.conf) backend process slots free
      in the SISeg. This differs to the first patch which only reserved the last
      ReservedBackends slots in the procState array. This has made the free slot
      test more expensive due to the use of a lock.
      
      After thinking about a comment on the first patch I've also made it a fatal
      error if the number of reserved slots is not less than the maximum number of
      connections.
      
      Nigel J. Andrews
      626eca69
    • Tatsuo Ishii's avatar
      ed7baeaf
  7. 20 Jul, 2002 1 commit
    • Bruce Momjian's avatar
      oid is needed, it is added at the end of the struct (after the null · b0f5086e
      Bruce Momjian authored
      bitmap, if present).
      
      Per Tom Lane's suggestion the information whether a tuple has an oid
      or not is carried in the tuple descriptor.  For debugging reasons
      tdhasoid is of type char, not bool.  There are predefined values for
      WITHOID, WITHOUTOID and UNDEFOID.
      
      This patch has been generated against a cvs snapshot from last week
      and I don't expect it to apply cleanly to current sources.  While I
      post it here for public review, I'm working on a new version against a
      current snapshot.  (There's been heavy activity recently; hope to
      catch up some day ...)
      
      This is a long patch;  if it is too hard to swallow, I can provide it
      in smaller pieces:
      
      Part 1:  Accessor macros
      Part 2:  tdhasoid in TupDesc
      Part 3:  Regression test
      Part 4:  Parameter withoid to heap_addheader
      Part 5:  Eliminate t_oid from HeapTupleHeader
      
      Part 2 is the most hairy part because of changes in the executor and
      even in the parser;  the other parts are straightforward.
      
      Up to part 4 the patched postmaster stays binary compatible to
      databases created with an unpatched version.  Part 5 is small (100
      lines) and finally breaks compatibility.
      
      Manfred Koizar
      b0f5086e
  8. 20 Jun, 2002 1 commit
  9. 11 Jun, 2002 1 commit
    • Jan Wieck's avatar
      Katherine Ward wrote: · 469cb65a
      Jan Wieck authored
      > Changes to avoid collisions with WIN32 & MFC names...
      > 1.  Renamed:
      >       a.  PROC => PGPROC
      >       b.  GetUserName() => GetUserNameFromId()
      >       c.  GetCurrentTime() => GetCurrentDateTime()
      >       d.  IGNORE => IGNORE_DTF in include/utils/datetime.h & utils/adt/datetim
      >
      > 2.  Added _P to some lex/yacc tokens:
      >       CONST, CHAR, DELETE, FLOAT, GROUP, IN, OUT
      
      Jan
      469cb65a
  10. 20 May, 2002 1 commit
    • Tom Lane's avatar
      Restructure indexscan API (index_beginscan, index_getnext) per · 44fbe20d
      Tom Lane authored
      yesterday's proposal to pghackers.  Also remove unnecessary parameters
      to heap_beginscan, heap_rescan.  I modified pg_proc.h to reflect the
      new numbers of parameters for the AM interface routines, but did not
      force an initdb because nothing actually looks at those fields.
      44fbe20d
  11. 17 May, 2002 1 commit
    • Tom Lane's avatar
      Merge the last few variable.c configuration variables into the generic · f0811a74
      Tom Lane authored
      GUC support.  It's now possible to set datestyle, timezone, and
      client_encoding from postgresql.conf and per-database or per-user
      settings.  Also, implement rollback of SET commands that occur in a
      transaction that later fails.  Create a SET LOCAL var = value syntax
      that sets the variable only for the duration of the current transaction.
      All per previous discussions in pghackers.
      f0811a74
  12. 05 May, 2002 1 commit
  13. 27 Apr, 2002 1 commit
    • Tom Lane's avatar
      Support toasting of shared system relations, and provide toast tables for · c06f6a6b
      Tom Lane authored
      pg_database, pg_shadow, pg_group, all of which now have potentially-long
      fields.  Along the way, get rid of SharedSystemRelationNames list: shared
      rels are now identified in their include/pg_catalog/*.h files by a
      BKI_SHARED_RELATION macro, while indexes and toast rels inherit sharedness
      automatically from their parent table.  Fix some bugs with failure to detoast
      pg_group.grolist during ALTER GROUP.
      c06f6a6b
  14. 01 Apr, 2002 1 commit
    • Tom Lane's avatar
      Create a new GUC variable search_path to control the namespace search · 838fe25a
      Tom Lane authored
      path.  The default behavior if no per-user schemas are created is that
      all users share a 'public' namespace, thus providing behavior backwards
      compatible with 7.2 and earlier releases.  Probably the semantics and
      default setting will need to be fine-tuned, but this is a start.
      838fe25a
  15. 31 Mar, 2002 1 commit
  16. 06 Mar, 2002 1 commit
    • Bruce Momjian's avatar
      Change made to elog: · 92288a1c
      Bruce Momjian authored
      o  Change all current CVS messages of NOTICE to WARNING.  We were going
      to do this just before 7.3 beta but it has to be done now, as you will
      see below.
      
      o Change current INFO messages that should be controlled by
      client_min_messages to NOTICE.
      
      o Force remaining INFO messages, like from EXPLAIN, VACUUM VERBOSE, etc.
      to always go to the client.
      
      o Remove INFO from the client_min_messages options and add NOTICE.
      
      Seems we do need three non-ERROR elog levels to handle the various
      behaviors we need for these messages.
      
      Regression passed.
      92288a1c
  17. 01 Mar, 2002 1 commit
  18. 19 Feb, 2002 1 commit
    • Tom Lane's avatar
      A bunch of changes aimed at reducing backend startup time... · 78634044
      Tom Lane authored
      Improve 'pg_internal.init' relcache entry preload mechanism so that it is
      safe to use for all system catalogs, and arrange to preload a realistic
      set of system-catalog entries instead of only the three nailed-in-cache
      indexes that were formerly loaded this way.  Fix mechanism for deleting
      out-of-date pg_internal.init files: this must be synchronized with transaction
      commit, not just done at random times within transactions.  Drive it off
      relcache invalidation mechanism so that no special-case tests are needed.
      
      Cache additional information in relcache entries for indexes (their pg_index
      tuples and index-operator OIDs) to eliminate repeated lookups.  Also cache
      index opclass info at the per-opclass level to avoid repeated lookups during
      relcache load.
      
      Generalize 'systable scan' utilities originally developed by Hiroshi,
      move them into genam.c, use in a number of places where there was formerly
      ugly code for choosing either heap or index scan.  In particular this allows
      simplification of the logic that prevents infinite recursion between syscache
      and relcache during startup: we can easily switch to heapscans in relcache.c
      when and where needed to avoid recursion, so IndexScanOK becomes simpler and
      does not need any expensive initialization.
      
      Eliminate useless opening of a heapscan data structure while doing an indexscan
      (this saves an mdnblocks call and thus at least one kernel call).
      78634044
  19. 02 Nov, 2001 1 commit
    • Tom Lane's avatar
      Fix problem reported by Alex Korn: if a relation has been dropped and · 7d053108
      Tom Lane authored
      recreated since the start of our transaction, our first reference to it
      errored out because we'd try to reuse our old relcache entry for it.
      Do this by accepting SI inval messages just before relcache search in
      heap_openr, so that dead relcache entries will be flushed before we
      search.  Also, break heap_open/openr into two pairs of routines,
      relation_open(r) and heap_open(r).  The relation_open routines make
      no tests on relkind and so can be used to open anything that has a
      pg_class entry.  The heap_open routines are wrappers that add a relkind
      test to preserve their established behavior.  Use the relation_open
      routines in several places that had various kluge solutions for opening
      rels that might be either heap or index rels.
      
      Also, remove the old 'heap stats' code that's been superseded by Jan's
      stats collector, and clean up some inconsistencies in error reporting
      between the different types of ALTER TABLE.
      7d053108
  20. 28 Oct, 2001 1 commit
  21. 25 Oct, 2001 1 commit
  22. 19 Oct, 2001 1 commit
  23. 29 Sep, 2001 1 commit
    • Tom Lane's avatar
      Implement new 'lightweight lock manager' that's intermediate between · 499abb0c
      Tom Lane authored
      existing lock manager and spinlocks: it understands exclusive vs shared
      lock but has few other fancy features.  Replace most uses of spinlocks
      with lightweight locks.  All remaining uses of spinlocks have very short
      lock hold times (a few dozen instructions), so tweak spinlock backoff
      code to work efficiently given this assumption.  All per my proposal on
      pghackers 26-Sep-01.
      499abb0c
  24. 27 Sep, 2001 1 commit
  25. 08 Sep, 2001 1 commit
    • Peter Eisentraut's avatar
      Make the world somewhat safe for (not from) DELETE FROM pg_shadow; · c0d4d547
      Peter Eisentraut authored
      Assign the fixed user id 1 to the user created by initdb.
      A stand-alone backend will always set the user id to 1.
      (Consequently, the name of that user is no longer important.)
      
      In stand-alone mode, the user id 1 will have implicit superuser
      status, to allow repairs even if there are no users defined.
      
      Print a warning message when starting in stand-alone mode when no
      users are defined.
      
      Disallow dropping the current user and session user.
      
      Granting/revoking superuser status also grants/revokes usecatupd.
      (Previously, it would never grant it back.  This could lead to "deadlocks".)
      
      CREATE USER and CREATE GROUP will start allocating user ids at 100
      (unless explicitly specified), to prevent accidental creation of a
      superuser (plus some room for future extensions).
      c0d4d547
  26. 07 Sep, 2001 1 commit
  27. 06 Sep, 2001 1 commit
    • Tatsuo Ishii's avatar
      Commit Karel's patch. · 22776711
      Tatsuo Ishii authored
      -------------------------------------------------------------------
      Subject: Re: [PATCHES] encoding names
      From: Karel Zak <zakkr@zf.jcu.cz>
      To: Peter Eisentraut <peter_e@gmx.net>
      Cc: pgsql-patches <pgsql-patches@postgresql.org>
      Date: Fri, 31 Aug 2001 17:24:38 +0200
      
      On Thu, Aug 30, 2001 at 01:30:40AM +0200, Peter Eisentraut wrote:
      > > 		- convert encoding 'name' to 'id'
      >
      > I thought we decided not to add functions returning "new" names until we
      > know exactly what the new names should be, and pending schema
      
       Ok, the patch not to add functions.
      
      > better
      >
      >     ...(): encoding name too long
      
       Fixed.
      
       I found new bug in command/variable.c in parse_client_encoding(), nobody
      probably never see this error:
      
      if (pg_set_client_encoding(encoding))
      {
      	elog(ERROR, "Conversion between %s and %s is not supported",
                           value, GetDatabaseEncodingName());
      }
      
      because pg_set_client_encoding() returns -1 for error and 0 as true.
      It's fixed too.
      
       IMHO it can be apply.
      
      		Karel
      PS:
      
          * following files are renamed:
      
      src/utils/mb/Unicode/KOI8_to_utf8.map  -->
              src/utils/mb/Unicode/koi8r_to_utf8.map
      
      src/utils/mb/Unicode/WIN_to_utf8.map  -->
              src/utils/mb/Unicode/win1251_to_utf8.map
      
      src/utils/mb/Unicode/utf8_to_KOI8.map -->
              src/utils/mb/Unicode/utf8_to_koi8r.map
      
      src/utils/mb/Unicode/utf8_to_WIN.map -->
              src/utils/mb/Unicode/utf8_to_win1251.map
      
         * new file:
      
      src/utils/mb/encname.c
      
         * removed file:
      
      src/utils/mb/common.c
      
      --
       Karel Zak  <zakkr@zf.jcu.cz>
       http://home.zf.jcu.cz/~zakkr/
      
       C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz
      22776711
  28. 25 Aug, 2001 1 commit
    • Tom Lane's avatar
      Replace implementation of pg_log as a relation accessed through the · 2589735d
      Tom Lane authored
      buffer manager with 'pg_clog', a specialized access method modeled
      on pg_xlog.  This simplifies startup (don't need to play games to
      open pg_log; among other things, OverrideTransactionSystem goes away),
      should improve performance a little, and opens the door to recycling
      commit log space by removing no-longer-needed segments of the commit
      log.  Actual recycling is not there yet, but I felt I should commit
      this part separately since it'd still be useful if we chose not to
      do transaction ID wraparound.
      2589735d
  29. 16 Jun, 2001 1 commit
    • Tom Lane's avatar
      Tweak startup sequence so that running out of PROC array slots is · 2917f0a5
      Tom Lane authored
      detected sooner in backend startup, and is treated as an expected error
      (it gives 'Sorry, too many clients already' now).  This allows us not
      to have to enforce the MaxBackends limit exactly in the postmaster.
      Also, remove ProcRemove() and fold its functionality into ProcKill().
      There's no good reason for a backend not to be responsible for removing
      its PROC entry, and there are lots of good reasons for the postmaster
      not to be touching shared-memory data structures.
      2917f0a5
  30. 30 May, 2001 1 commit
  31. 08 May, 2001 1 commit
  32. 21 Apr, 2001 1 commit
  33. 22 Mar, 2001 2 commits
  34. 16 Feb, 2001 1 commit
  35. 24 Jan, 2001 1 commit
  36. 19 Jan, 2001 1 commit
  37. 14 Jan, 2001 1 commit