1. 18 Sep, 2007 3 commits
    • Andrew Dunstan's avatar
      Close previously open holes for invalidly encoded data to enter the · 55613bf9
      Andrew Dunstan authored
      database via builtin functions, as recently discussed on -hackers.
      
      chr() now returns a character in the database encoding. For UTF8 encoded databases
      the argument is treated as a Unicode code point. For other multi-byte encodings
      the argument must designate a strict ascii character, or an error is raised,
      as is also the case if the argument is 0.
      
      ascii() is adjusted so that it remains the inverse of chr().
      
      The two argument form of convert() is gone, and the three argument form now
      takes a bytea first argument and returns a bytea. To cover this loss three new
      functions are introduced:
      . convert_from(bytea, name) returns text - converts the first argument from the
        named encoding to the database encoding
      . convert_to(text, name) returns bytea - converts the first argument from the
        database encoding to the named encoding
      . length(bytea, name) returns int - gives the length of the first argument in
        characters in the named encoding
      55613bf9
    • Teodor Sigaev's avatar
      Avoid possibly-unportable initializer, per buildfarm warning · 85441100
      Teodor Sigaev authored
      per notice by Gregory Stark <stark@enterprisedb.com>
      85441100
    • Bruce Momjian's avatar
  2. 17 Sep, 2007 1 commit
  3. 16 Sep, 2007 4 commits
    • Tom Lane's avatar
      Remove Assert(BgWriterShmem != NULL), which is rather pointless since · 039dc49d
      Tom Lane authored
      we'd dump core anyway immediately afterward if it were null; and it
      seems to confuse some versions of icc into generating bad code.
      Per report from Sergey Koposov.  Patched in HEAD only, for the moment,
      since this is only likely to affect developers.
      039dc49d
    • Tom Lane's avatar
      Fix overflow in extract(epoch from interval) for intervals exceeding 68 years. · 22d98e79
      Tom Lane authored
      Seems to have been introduced in 8.1 by careless SECS_PER_DAY
      search-and-replace.
      22d98e79
    • Tom Lane's avatar
      Update release notes for last-minute fix. · e92da1a9
      Tom Lane authored
      e92da1a9
    • Tom Lane's avatar
      Fix aboriginal mistake in lazy VACUUM's code for truncating away · 43b0c918
      Tom Lane authored
      no-longer-needed pages at the end of a table.  We thought we could throw away
      pages containing HEAPTUPLE_DEAD tuples; but this is not so, because such
      tuples very likely have index entries pointing at them, and we wouldn't have
      removed the index entries.  The problem only emerges in a somewhat unlikely
      race condition: the dead tuples have to have been inserted by a transaction
      that later aborted, and this has to have happened between VACUUM's initial
      scan of the page and then rechecking it for empty in count_nondeletable_pages.
      But that timespan will include an index-cleaning pass, so it's not all that
      hard to hit.  This seems to explain a couple of previously unsolved bug
      reports.
      43b0c918
  4. 15 Sep, 2007 1 commit
  5. 14 Sep, 2007 22 commits
  6. 13 Sep, 2007 3 commits
  7. 12 Sep, 2007 6 commits