Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
branch: cache
Commits on Apr 28, 2013
  1. [WIP] Store "cache enabled" flag in EState instead of inventing a new…

    authored
    … context
    
    struct. This reverts most of commit
    0791252
  2. Re-add code to strip CacheExpr nodes in estimation mode, since

    authored
    estimation callers expect to only deal with Const nodes.
  3. [WIP] Caching for stable expressions with constant arguments

    authored
    * 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
    list.
    
    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.

    Tom Lane authored
    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
    PROCESS_UTILITY_SUBCOMMAND and PROCESS_UTILITY_GENERATED.
  5. Fix unsafe event-trigger coding in ProcessUtility().

    Tom Lane authored
    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
  6. @petere
Commits on Apr 27, 2013
  1. Incidental cleanup of matviews code.

    Tom Lane authored
    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
    snapshot.
    
    catversion bump due to removal of a RangeTblEntry field, which changes
    stored rules.
  2. @petere

    Improve message about failed transaction log archiving

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

    Tom Lane authored
    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. @jconway

    Ensure that user created rows in extension tables get dumped if the t…

    jconway authored
    …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 authored
    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.

    Tom Lane authored
    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. @hlinnaka

    Fix typo in comment.

    hlinnaka authored
    Peter Geoghegan
  3. @petere
  4. @petere

    initdb: Improve some messages

    petere authored
  5. @petere

    PL/pgSQL doc: Add example for RETURN QUERY

    petere authored
    Erwin Brandstetter and Pavel Stěhule
Commits on Apr 24, 2013
  1. @hlinnaka

    Add missing #include.

    hlinnaka authored
    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
    platforms.
    
    Andres Freund
  2. @kgrittn

    Fix assertion failure for REFRESH MATERIALIZED VIEW in PL.

    kgrittn authored
    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. @simonat2ndQuadrant

    Make fast promotion the default promotion mode.

    simonat2ndQuadrant authored
    Continue to allow a request for synchronous
    checkpoints as a mechanism in case of problems.
  4. @bmomjian
Commits on Apr 23, 2013
  1. @bmomjian
  2. @hlinnaka
Commits on Apr 22, 2013
  1. @bmomjian

    9.3 release notes: add diacritics

    bmomjian authored
    Alvaro Herrera
  2. @bmomjian
  3. @hlinnaka
  4. @bmomjian
  5. @bmomjian
  6. @petere

    doc: Improve example formatting

    petere authored
    Erwin Brandstetter
Something went wrong with that request. Please try again.