1. 18 Jun, 2001 5 commits
  2. 17 Jun, 2001 2 commits
  3. 16 Jun, 2001 2 commits
    • 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
    • Tom Lane's avatar
      It turns out that the relcache thinks it can distinguish different · 668db147
      Tom Lane authored
      rules and triggers by OID.  So, even though we have no cross-references
      in the system catalogs to pg_rewrite.oid or pg_trigger.oid, we'd better
      have unique indexes on them.  Put back pg_rewrite_oid_index, which I
      mistakenly removed a few days ago, and add pg_trigger_oid_index.
      668db147
  4. 15 Jun, 2001 3 commits
  5. 14 Jun, 2001 6 commits
  6. 13 Jun, 2001 10 commits
  7. 12 Jun, 2001 11 commits
    • Tom Lane's avatar
      Extend GUC concepts of parse_hook and assign_hook to all four supported · 2938eec7
      Tom Lane authored
      datatypes, not only strings.  parse_hook is useless for bool, I suppose,
      but it seems possibly useful for int and double to apply variable-specific
      constraints that are more complex than simple range limits.  assign_hook
      is definitely useful for all datatypes --- we need it right now for bool
      to support date cache reset when changing Australian timezone rule setting.
      Also, clean up some residual problems with the reset all/show all patch,
      including memory leaks and mistaken reset of PostPortNumber.  It seems
      best that RESET ALL not touch variables that don't have SUSET or
      USERSET context.
      2938eec7
    • Bruce Momjian's avatar
      89765fa5
    • Tom Lane's avatar
      Repair problem with multi-action rules in combination with any nontrivial · 2a06b3bd
      Tom Lane authored
      manipulation of rtable/jointree by planner.  Rewriter was generating
      actions that shared rtable/jointree substructure, which caused havoc
      when planner got to the later actions that it'd already mucked up.
      2a06b3bd
    • Bruce Momjian's avatar
      Add Updatable view mention. · c1db506a
      Bruce Momjian authored
      c1db506a
    • Bruce Momjian's avatar
      Update TODO list. · a0316a19
      Bruce Momjian authored
      a0316a19
    • Bruce Momjian's avatar
      Back out has_table_privilege patch. · 76e9ad1f
      Bruce Momjian authored
      76e9ad1f
    • Bruce Momjian's avatar
      Update TODO list. · 3c3ff428
      Bruce Momjian authored
      3c3ff428
    • Bruce Momjian's avatar
      OK -- here's take #5. · 58c909bb
      Bruce Momjian authored
      It "make"s and "make check"s clean against current cvs tip.
      
      There are now both Text and Name variants, and the regression test support
      is rolled into the patch. Note that to be complete wrt Name based variants,
      there are now 12 user visible versions of has_table_privilege:
      
      has_table_privilege(Text usename, Text relname, Text priv_type)
      has_table_privilege(Text usename, Name relname, Text priv_type)
      has_table_privilege(Name usename, Text relname, Text priv_type)
      has_table_privilege(Name usename, Name relname, Text priv_type)
      has_table_privilege(Text relname, Text priv_type) /* assumes current_user */
      has_table_privilege(Name relname, Text priv_type) /* assumes current_user */
      has_table_privilege(Text usename, Oid reloid, Text priv_type)
      has_table_privilege(Name usename, Oid reloid, Text priv_type)
      has_table_privilege(Oid reloid, Text priv_type)  /* assumes current_user */
      has_table_privilege(Oid usesysid, Text relname, Text priv_type)
      has_table_privilege(Oid usesysid, Name relname, Text priv_type)
      has_table_privilege(Oid usesysid, Oid reloid, Text priv_type)
      
      For the Text based inputs, a new internal function, get_Name is used
      (shamelessly copied from get_seq_name in sequence.c) to downcase if not
      quoted, or remove quotes if quoted, and truncate. I also added a few test
      cases for the downcasing, quote removal, and Name based variants to the
      regression test.
      
      Joe Conway
      58c909bb
    • Bruce Momjian's avatar
      I installed postgres 7.1 with --enable-odbc. I then installed · 13a52c1f
      Bruce Momjian authored
      tclodbc (http://sourceforge.net/projects/tclodbc) and libiodbc-2.50.3
      (http://www.iodbc.org/dist/libiodbc-2.50.3.tar.gz).  I could not
      get either to work... postgres would not find the global odbcinst.ini
      file.  I traced this to src/interfaces/odbc/gpps.c -- here are the
      many things I think are wrong:
      
      Run tclodbc and do a ``database db <DSNname>'' where ``DSNname'' is
      one of the DSN's in /usr/local/etc/odbcinst.ini (or wherever the
      global ini file is installed.)  The result is always the error
      message that ``one of server,port,database,etc. are missing''.
      
      Run libiodbc-2.50.3/samples/odbctest <DSNname>.  The command fails
      to connect to the database and just exits.
      
      Dave Bodenstab
      13a52c1f
    • Bruce Momjian's avatar
      Update TODO list. · 55abc36e
      Bruce Momjian authored
      55abc36e
    • Tom Lane's avatar
      Clean up various to-do items associated with system indexes: · 1d584f97
      Tom Lane authored
      pg_database now has unique indexes on oid and on datname.
      pg_shadow now has unique indexes on usename and on usesysid.
      pg_am now has unique index on oid.
      pg_opclass now has unique index on oid.
      pg_amproc now has unique index on amid+amopclaid+amprocnum.
      Remove pg_rewrite's unnecessary index on oid, delete unused RULEOID syscache.
      Remove index on pg_listener and associated syscache for performance reasons
      (caching rows that are certain to change before you need 'em again is
      rather pointless).
      Change pg_attrdef's nonunique index on adrelid into a unique index on
      adrelid+adnum.
      
      Fix various incorrect settings of pg_class.relisshared, make that the
      primary reference point for whether a relation is shared or not.
      IsSharedSystemRelationName() is now only consulted to initialize relisshared
      during initial creation of tables and indexes.  In theory we might now
      support shared user relations, though it's not clear how one would get
      entries for them into pg_class &etc of multiple databases.
      
      Fix recently reported bug that pg_attribute rows created for an index all have
      the same OID.  (Proof that non-unique OID doesn't matter unless it's
      actually used to do lookups ;-))
      
      There's no need to treat pg_trigger, pg_attrdef, pg_relcheck as bootstrap
      relations.  Convert them into plain system catalogs without hardwired
      entries in pg_class and friends.
      
      Unify global.bki and template1.bki into a single init script postgres.bki,
      since the alleged distinction between them was misleading and pointless.
      Not to mention that it didn't work for setting up indexes on shared
      system relations.
      
      Rationalize locking of pg_shadow, pg_group, pg_attrdef (no need to use
      AccessExclusiveLock where ExclusiveLock or even RowExclusiveLock will do).
      Also, hold locks until transaction commit where necessary.
      1d584f97
  8. 11 Jun, 2001 1 commit