1. 21 Feb, 2017 1 commit
  2. 20 Feb, 2017 2 commits
    • Tom Lane's avatar
      Improve error message for misuse of TZ, tz, OF formatting patterns. · 1c073505
      Tom Lane authored
      Be specific about which pattern is being complained of, and avoid saying
      "it's not supported in to_date", which is just confusing if the error is
      actually coming out of to_timestamp.  We can phrase it as "is only
      supported in to_char", instead.  Also, use the term "formatting field" not
      "format pattern", because other error messages in the same file prefer that
      terminology.  (This isn't terribly consistent with the documentation, so
      maybe we should change all these error messages?)
      1c073505
    • Tom Lane's avatar
      Fix documentation of to_char/to_timestamp TZ, tz, OF formatting patterns. · 10257fc5
      Tom Lane authored
      These are only supported in to_char, not in the other direction, but the
      documentation failed to mention that.  Also, describe TZ/tz as printing the
      time zone "abbreviation", not "name", because what they print is elsewhere
      referred to that way.  Per bug #14558.
      10257fc5
  3. 19 Feb, 2017 7 commits
  4. 18 Feb, 2017 2 commits
  5. 17 Feb, 2017 6 commits
  6. 16 Feb, 2017 3 commits
  7. 15 Feb, 2017 17 commits
    • Tom Lane's avatar
      Formatting and docs corrections for logical decoding output plugins. · 93e6e405
      Tom Lane authored
      Make the typedefs for output plugins consistent with project style;
      they were previously not even consistent with each other as to layout
      or inclusion of parameter names.  Make the documentation look the same,
      and fix errors therein (missing and misdescribed parameters).
      
      Back-patch because of the documentation bugs.
      93e6e405
    • Tom Lane's avatar
      Doc: fix typo in logicaldecoding.sgml. · adb67d67
      Tom Lane authored
      There's no such field as OutputPluginOptions.output_mode;
      it's actually output_type.  Noted by T. Katsumata.
      
      Discussion: https://postgr.es/m/20170215072115.6101.29870@wrigleys.postgresql.org
      adb67d67
    • Tom Lane's avatar
      Make sure that hash join's bulk-tuple-transfer loops are interruptible. · f2ec57de
      Tom Lane authored
      The loops in ExecHashJoinNewBatch(), ExecHashIncreaseNumBatches(), and
      ExecHashRemoveNextSkewBucket() are all capable of iterating over many
      tuples without ever doing a CHECK_FOR_INTERRUPTS, so that the backend
      might fail to respond to SIGINT or SIGTERM for an unreasonably long time.
      Fix that.  In the case of ExecHashJoinNewBatch(), it seems useful to put
      the added CHECK_FOR_INTERRUPTS into ExecHashJoinGetSavedTuple() rather
      than directly in the loop, because that will also ensure that both
      principal code paths through ExecHashJoinOuterGetTuple() will do a
      CHECK_FOR_INTERRUPTS, which seems like a good idea to avoid surprises.
      
      Back-patch to all supported branches.
      
      Tom Lane and Thomas Munro
      
      Discussion: https://postgr.es/m/6044.1487121720@sss.pgh.pa.us
      f2ec57de
    • Tom Lane's avatar
      Doc: fix syntax synopsis for INSERT ... ON CONFLICT DO UPDATE. · 2b187436
      Tom Lane authored
      Commit 906bfcad adjusted the syntax synopsis for UPDATE, but missed
      the fact that the INSERT synopsis now contains a duplicate of that.
      
      In passing, improve wording and markup about using a table alias to
      dodge the conflict with use of "excluded" as a special table name.
      2b187436
    • Tom Lane's avatar
      Fix tab completion for "ALTER SYSTEM SET variable ...". · a5d4e3ff
      Tom Lane authored
      It wouldn't complete "TO" after the variable name, which is certainly
      minor enough.  But since we do complete "TO" after "SET variable ...",
      and since this case used to work pre-9.6, I think this is a bug.
      
      Also, fix the query used to collect the variable names; whoever last
      touched it evidently didn't understand how the pieces are supposed
      to fit together.  It accidentally worked anyway, because readline
      ignores irrelevant completions, but it was randomly unlike the ones
      around it, and could be a source of actual bugs if someone copied
      it as a prototype for another query.
      a5d4e3ff
    • Tom Lane's avatar
      Fix YA unwanted behavioral difference with operator_precedence_warning. · 01e0cbc4
      Tom Lane authored
      Jeff Janes noted that the error cursor position shown for some errors
      would vary when operator_precedence_warning is turned on.  We'd prefer
      that option to have no undocumented effects, so this isn't desirable.
      To fix, make sure that an AEXPR_PAREN node has the same exprLocation
      as its child node.
      
      (Note: it would be a little cheaper to use @2 here instead of an
      exprLocation call, but there are cases where that wouldn't produce
      the identical answer, so don't do it like that.)
      
      Back-patch to 9.5 where this feature was introduced.
      
      Discussion: https://postgr.es/m/CAMkU=1ykK+VhhcQ4Ky8KBo9FoaUJH3f3rDQB8TkTXi-ZsBRUkQ@mail.gmail.com
      01e0cbc4
    • Robert Haas's avatar
      Add optimizer and executor support for parallel index scans. · 5262f7a4
      Robert Haas authored
      In combination with 569174f1, which
      taught the btree AM how to perform parallel index scans, this allows
      parallel index scan plans on btree indexes.  This infrastructure
      should be general enough to support parallel index scans for other
      index AMs as well, if someone updates them to support parallel
      scans.
      
      Amit Kapila, reviewed and tested by Anastasia Lubennikova, Tushar
      Ahuja, and Haribabu Kommi, and me.
      5262f7a4
    • Robert Haas's avatar
      Replace min_parallel_relation_size with two new GUCs. · 51ee6f31
      Robert Haas authored
      When min_parallel_relation_size was added, the only supported type
      of parallel scan was a parallel sequential scan, but there are
      pending patches for parallel index scan, parallel index-only scan,
      and parallel bitmap heap scan.  Those patches introduce two new
      types of complications: first, what's relevant is not really the
      total size of the relation but the portion of it that we will scan;
      and second, index pages and heap pages shouldn't necessarily be
      treated in exactly the same way.  Typically, the number of index
      pages will be quite small, but that doesn't necessarily mean that
      a parallel index scan can't pay off.
      
      Therefore, we introduce min_parallel_table_scan_size, which works
      out a degree of parallelism for scans based on the number of table
      pages that will be scanned (and which is therefore equivalent to
      min_parallel_relation_size for parallel sequential scans) and also
      min_parallel_index_scan_size which can be used to work out a degree
      of parallelism based on the number of index pages that will be
      scanned.
      
      Amit Kapila and Robert Haas
      
      Discussion: http://postgr.es/m/CAA4eK1KowGSYYVpd2qPpaPPA5R90r++QwDFbrRECTE9H_HvpOg@mail.gmail.com
      Discussion: http://postgr.es/m/CAA4eK1+TnM4pXQbvn7OXqam+k_HZqb0ROZUMxOiL6DWJYCyYow@mail.gmail.com
      51ee6f31
    • Robert Haas's avatar
      Fix wrong articles in pg_proc descriptions. · 5d402869
      Robert Haas authored
      This technically should involve a catversion bump, but that seems
      pedantic, so I skipped it.
      
      Report and patch by David Christensen.
      5d402869
    • Robert Haas's avatar
      Document new libpq connection statuses for target_session_attrs. · 1330a7d7
      Robert Haas authored
      I didn't realize these would ever be visible to clients, but Michael
      figured out that it can happen when using asynchronous interfaces
      such as PQconnectPoll.
      
      Michael Paquier
      1330a7d7
    • Robert Haas's avatar
      libpq: Make target_session_attrs=read-write consume empty result. · 1de0a4e0
      Robert Haas authored
      Otherwise, the leftover empty result can cause problems in some
      situations.
      
      Michael Paquier and Ashutosh Bapat, per a report from Higuchi Daisuke
      1de0a4e0
    • Peter Eisentraut's avatar
      fbe7a3fa
    • Robert Haas's avatar
      pg_upgrade: Fix problems caused by renaming pg_resetxlog. · b8777611
      Robert Haas authored
      Commit 85c11324 renamed pg_resetxlog
      to pg_resetwal, but didn't make pg_upgrade smart enough to cope with
      the situation.
      
      Michael Paquier, per a complaint from Jeff Janes
      b8777611
    • Peter Eisentraut's avatar
      Add CREATE COLLATION IF NOT EXISTS clause · 6d16ecc6
      Peter Eisentraut authored
      The core of the functionality was already implemented when
      pg_import_system_collations was added.  This just exposes it as an
      option in the SQL command.
      6d16ecc6
    • Robert Haas's avatar
      Fix some nonstandard capitalization. · e403732e
      Robert Haas authored
      Ashutosh Bapat
      e403732e
    • Robert Haas's avatar
      btree: Support parallel index scans. · 569174f1
      Robert Haas authored
      This isn't exposed to the optimizer or the executor yet; we'll add
      support for those things in a separate patch.  But this puts the
      basic mechanism in place: several processes can attach to a parallel
      btree index scan, and each one will get a subset of the tuples that
      would have been produced by a non-parallel scan.  Each index page
      becomes the responsibility of a single worker, which then returns
      all of the TIDs on that page.
      
      Rahila Syed, Amit Kapila, Robert Haas, reviewed and tested by
      Anastasia Lubennikova, Tushar Ahuja, and Haribabu Kommi.
      569174f1
    • Robert Haas's avatar
      Fix typo in comment. · 8569955e
      Robert Haas authored
      Higuchi Daisuke
      8569955e
  8. 14 Feb, 2017 2 commits