1. 26 Oct, 2007 9 commits
  2. 25 Oct, 2007 8 commits
  3. 24 Oct, 2007 10 commits
    • Tom Lane's avatar
      Disallow scrolling of FOR UPDATE/FOR SHARE cursors, so as to avoid problems · 048efc25
      Tom Lane authored
      in corner cases such as re-fetching a just-deleted row.  We may be able to
      relax this someday, but let's find out how many people really care before
      we invest a lot of work in it.  Per report from Heikki and subsequent
      discussion.
      
      While in the neighborhood, make the combination of INSENSITIVE and FOR UPDATE
      throw an error, since they are semantically incompatible.  (Up to now we've
      accepted but just ignored the INSENSITIVE option of DECLARE CURSOR.)
      048efc25
    • Tom Lane's avatar
    • Alvaro Herrera's avatar
      Rearrange vacuum-related bits in PGPROC as a bitmask, to better support · 745c1b2c
      Alvaro Herrera authored
      having several of them.  Add two more flags: whether the process is
      executing an ANALYZE, and whether a vacuum is for Xid wraparound (which
      is obviously only set by autovacuum).
      
      Sneakily move the worker's recently-acquired PostAuthDelay to a more useful
      place.
      745c1b2c
    • Tom Lane's avatar
      Fix an error in make_outerjoininfo introduced by my patch of 30-Aug: the code · 3ef18797
      Tom Lane authored
      neglected to test whether an outer join's join-condition actually refers to
      the lower outer join it is looking at.  (The comment correctly described what
      was supposed to happen, but the code didn't do it...)  This often resulted in
      adding an unnecessary constraint on the join order of the two outer joins,
      which was bad enough.  However, it also seems to expose a performance
      problem in an older patch (from 15-Feb): once we've decided that there is a
      join ordering constraint, we will start trying clauseless joins between every
      combination of rels within the constraint, which pointlessly eats up lots of
      time and space if there are numerous rels below the outer join.  That probably
      needs to be revisited :-(.  Per gripe from Jakub Ouhrabka.
      3ef18797
    • Alvaro Herrera's avatar
      Danish_Danmark -> Danish_Denmark · 5c4249c3
      Alvaro Herrera authored
      5c4249c3
    • Alvaro Herrera's avatar
      Minor changes to autovacuum worker: change error handling so that it continues · 2627c835
      Alvaro Herrera authored
      with the next table on schedule instead of exiting, in all cases instead of
      just on query cancel.
      
      Add a errcontext() line indicating the activity of the worker to the error
      message when it is cancelled.
      
      Change the WorkerInfo struct to contain a pointer to the worker's PGPROC
      instead of just the PID.
      
      Add forgotten post-auth delays, per Simon Riggs.  Also to autovac launcher.
      2627c835
    • Tom Lane's avatar
      Fix UPDATE/DELETE WHERE CURRENT OF to support repeated update and update- · c29a9c37
      Tom Lane authored
      then-delete on the current cursor row.  The basic fix is that nodeTidscan.c
      has to apply heap_get_latest_tid() to the current-scan-TID obtained from the
      cursor query; this ensures we get the latest row version to work with.
      However, since that only works if the query plan is a TID scan, we also have
      to hack the planner to make sure only that type of plan will be selected.
      (Formerly, the planner might decide to apply a seqscan if the table is very
      small.  This change is probably a Good Thing anyway, since it's hard to see
      how a seqscan could really win.)  That means the execQual.c code to support
      CurrentOfExpr as a regular expression type is dead code, so replace it with
      just an elog().  Also, add regression tests covering these cases.  Note
      that the added tests expose the fact that re-fetching an updated row
      misbehaves if the cursor used FOR UPDATE.  That's an independent bug that
      should be fixed later.  Per report from Dharmendra Goyal.
      c29a9c37
    • Tom Lane's avatar
      Keep heap_page_prune from marking the buffer dirty when it didn't · 9226ba81
      Tom Lane authored
      really change anything.  Per report from Itagaki Takahiro.  Fix by
      Pavan Deolasee.
      9226ba81
    • Tom Lane's avatar
      Set read_only = TRUE while evaluating input queries for ts_rewrite() · 1c927249
      Tom Lane authored
      and ts_stat(), per my recent suggestion.  Also add a possibly-not-needed-
      but-can't-hurt check for NULL SPI_tuptable, before we try to dereference
      same.
      1c927249
    • Tom Lane's avatar
      Remove the aggregate form of ts_rewrite(), since it doesn't work as desired · 592c88a0
      Tom Lane authored
      if there are zero rows to aggregate over, and the API seems both conceptually
      and notationally ugly anyway.  We should look for something that improves
      on the tsquery-and-text-SELECT version (which is also pretty ugly but at
      least it works...), but it seems that will take query infrastructure that
      doesn't exist today.  (Hm, I wonder if there's anything in or near SQL2003
      window functions that would help?)  Per discussion.
      592c88a0
  4. 23 Oct, 2007 5 commits
    • Tom Lane's avatar
      Make configure probe for the location of the <uuid.h> header file. · 07d0a370
      Tom Lane authored
      Needed to accommodate different layout on some platforms (Debian for
      one).  Heikki Linnakangas
      07d0a370
    • Tom Lane's avatar
      Rename and slightly redefine the default text search parser's "word" · dbaec70c
      Tom Lane authored
      categories, as per discussion.  asciiword (formerly lword) is still
      ASCII-letters-only, and numword (formerly word) is still the most general
      mixed-alpha-and-digits case.  But word (formerly nlword) is now
      any-group-of-letters-with-at-least-one-non-ASCII, rather than all-non-ASCII as
      before.  This is no worse than before for parsing mixed Russian/English text,
      which seems to have been the design center for the original coding; and it
      should simplify matters for parsing most European languages.  In particular
      it will not be necessary for any language to accept strings containing digits
      as being regular "words".  The hyphenated-word categories are adjusted
      similarly.
      dbaec70c
    • Magnus Hagander's avatar
      Use snprintf instead of wsprintf, and use getenv("APPDATA") instead of · 344d0cae
      Magnus Hagander authored
      SHGetFolderPath.
      
      This removes the direct dependency on shell32.dll and user32.dll, which
      eats a lot of "desktop heap" for each backend that's started. The
      desktop heap is a very limited resource, causing backends to no
      longer start once it's been exhausted.
      
      We still have indirect depdendencies on user32.dll through third party
      libraries, but those can't easily be removed.
      
      Dave Page
      344d0cae
    • Tom Lane's avatar
      Fix two-argument form of ts_rewrite() so it actually works for cases where · 12f25e70
      Tom Lane authored
      a later rewrite rule should change a subtree modified by an earlier one.
      Per my gripe of a few days ago.
      12f25e70
    • Tom Lane's avatar
      Fix several bugs in tsvectorin, including crash due to uninitialized field and · bb36c51f
      Tom Lane authored
      miscomputation of required palloc size.  The crash could only occur if the
      input contained lexemes both with and without positions, which is probably not
      common in practice.  The miscomputation would definitely result in wasted
      space.  Also fix some inconsistent coding around alignment of strings and
      positions in a tsvector value; these errors could also lead to crashes given
      mixed with/without position data and a machine that's picky about alignment.
      And be more careful about checking for overflow of string offsets.
      
      Patch is only against HEAD --- I have not looked to see if same bugs are
      in back-branch contrib/tsearch2 code.
      bb36c51f
  5. 22 Oct, 2007 7 commits
  6. 21 Oct, 2007 1 commit