Switch branches/tags
Commits on Apr 28, 2013
  1. [WIP] Store "cache enabled" flag in EState instead of inventing a new…

    intgr committed Dec 9, 2012
    … context
    struct. This reverts most of commit
  2. Re-add code to strip CacheExpr nodes in estimation mode, since

    intgr committed Feb 3, 2012
    estimation callers expect to only deal with Const nodes.
  3. [WIP] Caching for stable expressions with constant arguments

    intgr committed Sep 16, 2011
    * Refactoring:
    Previously, all callers of simplify_function() did their own mutation of
    argument lists prior to calling. Also, arguments added in
    reorder_function_arguments() and add_function_defaults() were mutated
    separately in those functions. Now all of that is done in one place,
    in simplify_function(). This also reduces iterations over the argument
    reorder_function_arguments() and add_function_defaults() functions now
    don't get a context argument anymore.
    * Rename eval_const_expressions_mutator -> const_expressions_mutator
    This function doesn't just evaluate expressions anymore.
  4. Editorialize a bit on new ProcessUtility() API.

    tglsfdc committed Apr 28, 2013
    Choose a saner ordering of parameters (adding a new input param after
    the output params seemed a bit random), update the function's header
    comment to match reality (cmon folks, is this really that hard?),
    get rid of useless and sloppily-defined distinction between
  5. Fix unsafe event-trigger coding in ProcessUtility().

    tglsfdc committed Apr 28, 2013
    We mustn't run any of the event-trigger support code when handling
    utility statements like START TRANSACTION or ABORT, because that code
    may need to refresh event-trigger cache data, which requires being
    inside a valid transaction.  (This mistake explains the consistent
    build failures exhibited by the CLOBBER_CACHE_ALWAYS buildfarm members,
    as well as some irreproducible failures on other members.)
    The least messy fix seems to be to break standard_ProcessUtility into two
    functions, one that handles all the statements not supported by event
    triggers, and one that contains the event-trigger support code and handles
    the statements that are supported by event triggers.
    This change also fixes several inconsistencies, such as four cases where
    support had been installed for "ddl_event_start" but not "ddl_event_end"
    triggers, plus the fact that InvokeDDLCommandEventTriggersIfSupported()
    paid no mind to isCompleteQuery.
    Dimitri Fontaine and Tom Lane
Commits on Apr 27, 2013
  1. Incidental cleanup of matviews code.

    tglsfdc committed Apr 27, 2013
    Move checking for unscannable matviews into ExecOpenScanRelation, which is
    a better place for it first because the open relation is already available
    (saving a relcache lookup cycle), and second because this eliminates the
    problem of telling the difference between rangetable entries that will or
    will not be scanned by the query.  In particular we can get rid of the
    not-terribly-well-thought-out-or-implemented isResultRel field that the
    initial matviews patch added to RangeTblEntry.
    Also get rid of entirely unnecessary scannability check in the rewriter,
    and a bogus decision about whether RefreshMatViewStmt requires a parse-time
    catversion bump due to removal of a RangeTblEntry field, which changes
    stored rules.
  2. Improve message about failed transaction log archiving

    petere committed Apr 27, 2013
    The old phrasing appeared to imply that the failure was terminal.
    Improve that by indicating that archiving will be tried again later.
Commits on Apr 26, 2013
  1. Fix collation assignment for aggregates with ORDER BY.

    tglsfdc committed Apr 26, 2013
    ORDER BY expressions were being treated the same as regular aggregate
    arguments for purposes of collation determination, but really they should
    not affect the aggregate's collation at all; only collations of the
    aggregate's regular arguments should affect it.
    In many cases this mistake would lead to incorrectly throwing a "collation
    conflict" error; but in some cases the corrected code will silently assign
    a different collation to the aggregate than before, for example
    	agg(foo ORDER BY bar COLLATE "x")
    which will now use foo's collation rather than "x" for the aggregate.
    Given this risk and the lack of field complaints about the issue, it
    doesn't seem prudent to back-patch.
    In passing, rearrange code in assign_collations_walker so that we don't
    need multiple copies of the standard logic for computing collation of a
    node with children.  (Previously, CaseExpr duplicated the standard logic,
    and we would have needed a third copy for Aggref without this change.)
    Andrew Gierth and David Fetter
  2. Ensure that user created rows in extension tables get dumped if the t…

    jconway committed Apr 26, 2013
    …able is explicitly requested, either with a -t/--table switch of the table itself, or by -n/--schema switch of the schema containing the extension table. Patch reviewed by Vibhor Kumar and Dimitri Fontaine.
    Backpatched to 9.1 when the extension management facility was added.
  3. libpq: Fix a few bits that didn't get the memo about COPY BOTH.

    Robert Haas
    Robert Haas committed Apr 26, 2013
    There's probably no real bug here at present, so not backpatching.
    But it seems good to make these bits consistent with the rest of
    libpq, so as to avoid future surprises.
    Patch by me.  Review by Tom Lane.
Commits on Apr 25, 2013
  1. Avoid deadlock between concurrent CREATE INDEX CONCURRENTLY commands.

    tglsfdc committed Apr 25, 2013
    There was a high probability of two or more concurrent C.I.C. commands
    deadlocking just before completion, because each would wait for the others
    to release their reference snapshots.  Fix by releasing the snapshot
    before waiting for other snapshots to go away.
    Per report from Paul Hinze.  Back-patch to all active branches.
  2. Fix typo in comment.

    hlinnaka committed Apr 25, 2013
    Peter Geoghegan
  3. initdb: Improve some messages

    petere committed Apr 25, 2013
  4. PL/pgSQL doc: Add example for RETURN QUERY

    petere committed Apr 24, 2013
    Erwin Brandstetter and Pavel Stěhule
Commits on Apr 24, 2013
  1. Add missing #include.

    hlinnaka committed Apr 24, 2013
    On non-Windows systems, sys/time.h was pulled in by portability/instr_time.h,
    which pulled in time.h. We certainly should include time.h directly, since
    we're using time(2), but the indirect include masked the problem on most
    Andres Freund
  2. Fix assertion failure for REFRESH MATERIALIZED VIEW in PL.

    kgrittn committed Apr 24, 2013
    This was due to incomplete implementation of rowcount reporting
    for RMV, which was due to initial waffling on whether it should
    be provided.  It seems unlikely to be a useful or universally
    available  number as more sophisticated techniques for maintaining
    matviews are added, so remove the partial support rather than
    completing it.
    Per report of Jeevan Chalke, but with a different fix
  3. Make fast promotion the default promotion mode.

    simonat2ndQuadrant committed Apr 24, 2013
    Continue to allow a request for synchronous
    checkpoints as a mechanism in case of problems.
Commits on Apr 23, 2013
Commits on Apr 22, 2013
  1. 9.3 release notes: add diacritics

    bmomjian committed Apr 22, 2013
    Alvaro Herrera
  2. Mention in docs that you can create SP-GiST indexes on range types.

    hlinnaka committed Apr 22, 2013
    This is new in 9.3devel.
  3. doc: Improve example formatting

    petere committed Apr 22, 2013
    Erwin Brandstetter