1. 28 8月, 2007 1 次提交
    • T
      Improve behavior of log_lock_waits patch. Ensure that something gets logged · 24d4517b
      Tom Lane 提交于
      even if the "deadlock detected" ERROR message is suppressed by an exception
      catcher.  Be clearer about the event sequence when a soft deadlock is fixed:
      the fixing process might or might not still have to wait, so log that
      separately.  Fix race condition when someone releases us from the lock partway
      through printing all this junk --- we'd not get confused about our state, but
      the log message sequence could have been misleading, ie, a "still waiting"
      message with no subsequent "acquired" message.  Greg Stark and Tom Lane.
      24d4517b
  2. 27 8月, 2007 8 次提交
    • M
      Exclude tsearch2 contrib tests in regression tests, · 69e86a5d
      Magnus Hagander 提交于
      pending decision on exactly what will happen with
      contrib/tsearch2 now that it's in core.
      69e86a5d
    • M
      Install stopword files · 90d9fc0a
      Magnus Hagander 提交于
      90d9fc0a
    • M
      3b1e04c3
    • T
      Fix a couple of misbehaviors rooted in the fact that the default creation · 862861ee
      Tom Lane 提交于
      namespace isn't necessarily first in the search path (there could be implicit
      schemas ahead of it).  Examples are
      
      test=# set search_path TO s1;
      
      test=# create view pg_timezone_names as select * from pg_timezone_names();
      ERROR:  "pg_timezone_names" is already a view
      
      test=# create table pg_class (f1 int primary key);
      ERROR:  permission denied: "pg_class" is a system catalog
      
      You'd expect these commands to create the requested objects in s1, since
      names beginning with pg_ aren't supposed to be reserved anymore.  What is
      happening is that we create the requested base table and then execute
      additional commands (here, CREATE RULE or CREATE INDEX), and that code is
      passed the same RangeVar that was in the original command.  Since that
      RangeVar has schemaname = NULL, the secondary commands think they should do a
      path search, and that means they find system catalogs that are implicitly in
      front of s1 in the search path.
      
      This is perilously close to being a security hole: if the secondary command
      failed to apply a permission check then it'd be possible for unprivileged
      users to make schema modifications to system catalogs.  But as far as I can
      find, there is no code path in which a check doesn't occur.  Which makes it
      just a weird corner-case bug for people who are silly enough to want to
      name their tables the same as a system catalog.
      
      The relevant code has changed quite a bit since 8.2, which means this patch
      wouldn't work as-is in the back branches.  Since it's a corner case no one
      has reported from the field, I'm not going to bother trying to back-patch.
      862861ee
    • T
      Remove the 'not in' operator (!!=). This was a hangover from Berkeley · 6c96188c
      Tom Lane 提交于
      days that was obsolete the moment we had IN (SELECT ...) capability.
      It's arguably a security hole since it applied no permissions check to
      the table it searched, and since it was never documented anywhere,
      removing it seems more appropriate than fixing it.
      6c96188c
    • T
      Restrict pg_relation_size to relation owner, pg_database_size to DB owner, · cc26599b
      Tom Lane 提交于
      and pg_tablespace_size to superusers.  Perhaps we could weaken the first
      case to just require SELECT privilege, but that doesn't work for the
      other cases, so use ownership as the common concept.
      cc26599b
    • T
      Make currtid() functions require SELECT privileges on the target table. · 741e952b
      Tom Lane 提交于
      While it's not clear that TID linkage info is of any great use to a
      nefarious user, it's certainly unexpected that these functions wouldn't
      insist on read privileges.
      741e952b
    • T
      Make ARRAY(SELECT ...) return an empty array, rather than a NULL, when the · 67bf7b91
      Tom Lane 提交于
      sub-select returns zero rows.  Per complaint from Jens Schicke.  Since this
      is more in the nature of a definition change than a bug, not back-patched.
      67bf7b91
  3. 26 8月, 2007 3 次提交
    • T
      Adjust with-system-tzdata patch to not attempt to install a symlink, · 75d5f6fe
      Tom Lane 提交于
      but just hardwire the specified timezone database path into the executable.
      Per discussion, this avoids some packaging disadvantages of using a
      symlink.
      75d5f6fe
    • T
      Fix brain fade in DefineIndex(): it was continuing to access the table's · 75d091a0
      Tom Lane 提交于
      relcache entry after having heap_close'd it.  This could lead to misbehavior
      if a relcache flush wiped out the cache entry meanwhile.  In 8.2 there is a
      very real risk of CREATE INDEX CONCURRENTLY using the wrong relid for locking
      and waiting purposes.  I think the bug is only cosmetic in 8.0 and 8.1,
      because their transgression is limited to using RelationGetRelationName(rel)
      in an ereport message immediately after heap_close, and there's no way (except
      with special debugging options) for a cache flush to occur in that interval.
      Not quite sure that it's cosmetic in 7.4, but seems best to patch anyway.
      
      Found by trying to run the regression tests with CLOBBER_CACHE_ALWAYS enabled.
      Maybe we should try to do that on a regular basis --- it's awfully slow,
      but perhaps some fast buildfarm machine could do it once in awhile.
      75d091a0
    • T
      Simplify implementation of ts_debug() function --- use a join instead · 21168267
      Tom Lane 提交于
      of redundant sub-selects.  initdb not forced, since this is just a
      cosmetic change, but the new code won't show up till you do one.
      21168267
  4. 25 8月, 2007 3 次提交
    • T
      Fix synonym-dict breakage introduced in last patch :-(. · a13cefaf
      Tom Lane 提交于
      Minor other cleanups.
      a13cefaf
    • T
      Rename built-in Snowball stemmer dictionaries to be english_stem, · 93eab931
      Tom Lane 提交于
      russian_stem, etc.  Per discussion.
      93eab931
    • T
      Cleanup for some problems in tsearch patch: · 7351b5fa
      Tom Lane 提交于
      - ispell initialization crashed on empty dictionary file
      - ispell initialization crashed on affix file with prefixes but no suffixes
      - stop words file was run through pg_verify_mbstr, with database
        encoding, but it's supposed to be UTF-8; similar bug for synonym files
      - bunch of comments added, typos fixed, and other cleanup
      
      Introduced consistent encoding checking/conversion of data read from tsearch
      configuration files, by doing this in a single t_readline() subroutine
      (replacing direct usages of fgets).  Cleaned up API for readstopwords too.
      
      Heikki Linnakangas
      7351b5fa
  5. 23 8月, 2007 3 次提交
  6. 22 8月, 2007 9 次提交
  7. 21 8月, 2007 11 次提交
  8. 20 8月, 2007 1 次提交
  9. 19 8月, 2007 1 次提交