Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Sep 19, 2010
  1. @bmomjian
  2. Replace last remaining $Id$ with $PostgreSQL$.

    Tom Lane authored
  3. Fix several broken $PostgreSQL$ keywords. Noted while experimenting

    Tom Lane authored
    with Magnus's script to remove these.
Commits on Sep 18, 2010
  1. Make sure we wait for protocol-level EOF when ending binary COPY IN.

    Tom Lane authored
    The previous coding just terminated the COPY immediately after seeing
    the EOF marker (-1 where a row field count is expected).  The expected
    CopyDone or CopyFail message just got thrown away later, since we weren't
    in COPY mode anymore.  This behavior complicated matters for the JDBC
    driver, and arguably was the wrong thing in any case since a CopyFail
    message after the marker wouldn't be honored.
    
    Note that there is a behavioral change here: extra data after the EOF
    marker was silently ignored before, but now it will cause an error.
    Hence not back-patching, although this is arguably a bug.
    
    Per report and patch by Kris Jurka.
  2. Give a suitable HINT when an INSERT's data source is a RowExpr contai…

    Tom Lane authored
    …ning
    
    the same number of columns expected by the insert.  This suggests that there
    were extra parentheses that converted the intended column list into a row
    expression.
    
    Original patch by Marko Tiikkaja, rather heavily editorialized by me.
Commits on Sep 17, 2010
  1. @robertmhaas
  2. @robertmhaas

    Remove duplicated code left behind by my recent refactoring of comment.c

    robertmhaas authored
    These checks are also present in objectaddress.c, so there's no need to
    recheck here.
  3. Add some documentation about how we WAL-log filesystem actions.

    Tom Lane authored
    Per a question from Robert Haas.
Commits on Sep 16, 2010
  1. @mhagander

    Treat exit code 128 (ERROR_WAIT_NO_CHILDREN) as non-fatal on Win32,

    mhagander authored
    since it can happen when a process fails to start when the system
    is under high load.
    
    Per several bug reports and many peoples investigation.
    
    Back-patch to 8.4, which is as far back as the "deadman-switch"
    for shared memory access exists.
  2. Stamp 9.0 release notes with expected release date; also some last-mi…

    Tom Lane authored
    …nute
    
    copy-editing.
  3. Fix bad grammar.

    Tom Lane authored
  4. Fix two new-in-9.0 bugs in hstore.

    Tom Lane authored
    There was an incorrect Assert in hstoreValidOldFormat(), which would cause
    immediate core dumps when attempting to work with pre-9.0 hstore data,
    but of course only in an assert-enabled build.
    
    Also, ghstore_decompress() incorrectly applied DatumGetHStoreP() to a datum
    that wasn't actually an hstore, but rather a ghstore (ie, a gist signature
    bitstring).  That used to be harmless, but could now result in misbehavior
    if the hstore format conversion code happened to trigger.  In reality,
    since ghstore is not marked toastable (and doesn't need to be), this
    function is useless anyway; we can lobotomize it down to returning the
    passed-in pointer.
    
    Both bugs found by Andrew Gierth, though this isn't exactly his proposed
    patch.
Commits on Sep 15, 2010
  1. Add a compatibility note about plpgsql's treatment of SELECT INTO rec…

    Tom Lane authored
    ….fld
    
    when fld is of composite type.  Per discussion of bug #5644 from Valentine
    Gogichashvili.
  2. Fix two typos in comments, spotted by Fujii Masao and Thom Brown

    Heikki Linnakangas authored
  3. Use a latch to make startup process wake up and replay immediately when

    Heikki Linnakangas authored
    new WAL arrives via streaming replication. This reduces the latency, and
    also allows us to use a longer polling interval, which is good for energy
    efficiency.
    
    We still need to poll to check for the appearance of a trigger file, but
    the interval is now 5 seconds (instead of 100ms), like when waiting for
    a new WAL segment to appear in WAL archive.
  4. Simplify Windows implementation of latches. There's no need to keep a

    Heikki Linnakangas authored
    dynamic pool of event handles, we can permanently assign one for each
    shared latch. Thanks to that, we no longer need a separate shared memory
    block for latches, and we don't need to know in advance how many shared
    latches there is, so you no longer need to remember to update
    NumSharedLatches when you introduce a new latch to the system.
  5. Don't call OwnLatch while holding a spinlock. OwnLatch can elog() under

    Heikki Linnakangas authored
    some "can't happen" scenarios, and spinlocks should only be held for
    a few instructions anyway. As pointed out by Fujii Masao.
Commits on Sep 14, 2010
  1. Fix join-removal logic for pseudoconstant and outerjoin-delayed quals.

    Tom Lane authored
    In these cases a qual can get marked with the removable rel in its
    required_relids, but this is just to schedule its evaluation correctly, not
    because it really depends on the rel.  We were assuming that, in effect,
    we could throw away *all* quals so marked, which is nonsense.  Tighten up
    the logic to be a little more paranoid about which quals belong to the
    outer join being considered for removal, and arrange for all quals that
    don't belong to be updated so they will still get evaluated correctly.
    
    Also fix another problem that happened to be exposed by this test case,
    which was that make_join_rel() was failing to notice some cases where
    a constant-false qual could be used to prove a join relation empty.  If it's
    a pushed-down constant false, then the relation is empty even if it's an
    outer join, because the qual applies after the outer join expansion.
    
    Per report from Nathan Grange.  Back-patch into 9.0.
  2. Oops, the timeout argument to WaitLatchOrSocket is in microseconds, not

    Heikki Linnakangas authored
    milliseconds.
  3. Don't warn about an in-progress online backup, when we're recovering …

    Heikki Linnakangas authored
    …from
    
    an online backup instead of performing one. pg_ctl can detect that by
    checking if recovery.conf exists.
    
    Backup label file is renamed away early in recovery, so the window where
    backup label exists during recovery is normally very small, but you can run
    into it e.g if restore_command is set incorrectly and the startup process
    never finds even the first WAL segment containing the checkpoint record to
    start recovery from.
    
    Fujii Masao with comments by me.
Commits on Sep 13, 2010
  1. Add a comment noting that the owner_pid test in OwnLatch is just a sa…

    Heikki Linnakangas authored
    …nity
    
    check, per request by Jeff Davis.
  2. @robertmhaas

    Elaborate on what gets stored in pg_authid.rolpasswd.

    robertmhaas authored
    Also, add cross-reference from pg_shadow.passwd to pg_authid.rolpasswd and
    fix a bit of markup I muffed in my previous commit.
    
    Per discussion with Josh Kupershmidt.
  3. Remove prototype for non-existent function from walreceiver.h. Tidy u…

    Heikki Linnakangas authored
    …p by
    
    separating prototypes for functions in walreceiver.c and walreceiverfuncs.c
    with comments.
  4. Process options from the startup packed in walsender. Only few options

    Heikki Linnakangas authored
    make sense for walsender, but for example application_name and client_encoding
    do. We still don't apply per-role settings from pg_db_role_setting, because
    that would require connecting to a database to read the table.
    
    Fujii Masao
  5. @bmomjian

    Don't try aligning comments for new archive_command Win32 doc example;

    bmomjian authored
    it doesn't work.
    
    Backpatch to 9.0.X.
  6. @robertmhaas

    Link from pg_shadow docs to pg_authid docs.

    robertmhaas authored
    Per discussion with Josh Kupershmidt.
Commits on Sep 12, 2010
  1. @bmomjian
Commits on Sep 11, 2010
  1. @jconway

    SERIALIZABLE transactions are actually implemented beneath the covers…

    jconway authored
    … with
    
    transaction snapshots, i.e. a snapshot registered at the beginning of
    a transaction. Change variable naming and comments to reflect this reality
    in preparation for a future, truly serializable mode, e.g.
    Serializable Snapshot Isolation (SSI).
    
    For the moment transaction snapshots are still used to implement
    SERIALIZABLE, but hopefully not for too much longer. Patch by Kevin
    Grittner and Dan Ports with review and some minor wording changes by me.
  2. Add missing #includes, needed on some platforms. This should make

    Heikki Linnakangas authored
    the unixware buildfarm animals happy again.
  3. Introduce latches. A latch is a boolean variable, with the capability to

    Heikki Linnakangas authored
    wait until it is set. Latches can be used to reliably wait until a signal
    arrives, which is hard otherwise because signals don't interrupt select()
    on some platforms, and even when they do, there's race conditions.
    
    On Unix, latches use the so called self-pipe trick under the covers to
    implement the sleep until the latch is set, without race conditions. On
    Windows, Windows events are used.
    
    Use the new latch abstraction to sleep in walsender, so that as soon as
    a transaction finishes, walsender is woken up to immediately send the WAL
    to the standby. This reduces the latency between master and standby, which
    is good.
    
    Preliminary work by Fujii Masao. The latch implementation is by me, with
    helpful comments from many people.
Commits on Sep 10, 2010
  1. Cursor names in the backend are not case-sensitve. This change makes …

    Michael Meskes authored
    …sure that
    
    ecpg also does not regard cursor names as case-sensitive.
    
    Thanks to Zoltan Boszormenyi for the patch.
Commits on Sep 9, 2010
  1. Remove obsolete claim that gzip is needed while installing PG's docum…

    Tom Lane authored
    …entation.
    
    It isn't, now that we ship the docs as loose files rather than a sub-tarball.
    
    Also adjust the wording in a couple of places to make the lists of required
    software read more consistently.
  2. @bmomjian

    Doc fixes:

    bmomjian authored
    - remove excessive table cells
    - moving function parameters into function tags rather than having
      them being considered separate
    - add return type column on XML2 contrib module functions list and
      removing return types from function
    - add table header to XML2 contrib parameter table
    
    Thom Brown
    
    Backpatch to 9.0.X.
Commits on Sep 8, 2010
  1. @petere
Commits on Sep 7, 2010
  1. @petere
Something went wrong with that request. Please try again.