Обсуждение: pgsql: Modified files for MERGE

Поиск
Список
Период
Сортировка

pgsql: Modified files for MERGE

От
Simon Riggs
Дата:
Modified files for MERGE

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/354f13855e6381d288dfaa52bcd4f2cb0fd4a5eb

Modified Files
--------------
contrib/test_decoding/expected/ddl.out    |  46 ++++
contrib/test_decoding/sql/ddl.sql         |  16 ++
doc/src/sgml/libpq.sgml                   |   8 +-
doc/src/sgml/mvcc.sgml                    |  28 ++-
doc/src/sgml/plpgsql.sgml                 |   3 +-
doc/src/sgml/ref/allfiles.sgml            |   1 +
doc/src/sgml/ref/create_policy.sgml       |   7 +
doc/src/sgml/ref/insert.sgml              |  11 +-
doc/src/sgml/reference.sgml               |   1 +
doc/src/sgml/trigger.sgml                 |  20 ++
src/backend/access/heap/heapam.c          |  28 ++-
src/backend/catalog/sql_features.txt      |   6 +-
src/backend/commands/explain.c            |  33 +++
src/backend/commands/prepare.c            |   1 +
src/backend/commands/trigger.c            | 156 +++++++++---
src/backend/executor/Makefile             |   2 +-
src/backend/executor/README               |  10 +
src/backend/executor/execMain.c           |  17 ++
src/backend/executor/execPartition.c      | 116 +++++++++
src/backend/executor/execReplication.c    |   4 +-
src/backend/executor/nodeModifyTable.c    | 384 ++++++++++++++++++++++++++----
src/backend/executor/spi.c                |   3 +
src/backend/nodes/copyfuncs.c             |  40 ++++
src/backend/nodes/equalfuncs.c            |  32 +++
src/backend/nodes/nodeFuncs.c             |  48 +++-
src/backend/nodes/outfuncs.c              |  25 ++
src/backend/nodes/readfuncs.c             |   6 +
src/backend/optimizer/plan/createplan.c   |  22 +-
src/backend/optimizer/plan/planner.c      |  29 ++-
src/backend/optimizer/plan/setrefs.c      |  54 +++++
src/backend/optimizer/prep/preptlist.c    |  41 ++++
src/backend/optimizer/util/pathnode.c     |  11 +-
src/backend/optimizer/util/plancat.c      |   4 +
src/backend/parser/Makefile               |   2 +-
src/backend/parser/analyze.c              |  18 +-
src/backend/parser/gram.y                 | 158 +++++++++++-
src/backend/parser/parse_agg.c            |  10 +
src/backend/parser/parse_clause.c         |  45 +++-
src/backend/parser/parse_collate.c        |   1 +
src/backend/parser/parse_expr.c           |   3 +
src/backend/parser/parse_func.c           |   3 +
src/backend/parser/parse_relation.c       |  10 +
src/backend/rewrite/rewriteHandler.c      | 117 ++++++++-
src/backend/rewrite/rowsecurity.c         |  97 ++++++++
src/backend/tcop/pquery.c                 |   5 +
src/backend/tcop/utility.c                |  16 ++
src/include/access/heapam.h               |  13 +-
src/include/commands/trigger.h            |   6 +-
src/include/executor/execPartition.h      |   1 +
src/include/executor/instrument.h         |   7 +-
src/include/executor/nodeModifyTable.h    |  21 ++
src/include/executor/spi.h                |   1 +
src/include/nodes/execnodes.h             |  65 ++++-
src/include/nodes/nodes.h                 |   6 +-
src/include/nodes/parsenodes.h            |  37 ++-
src/include/nodes/plannodes.h             |   8 +-
src/include/nodes/relation.h              |   7 +-
src/include/optimizer/pathnode.h          |   7 +-
src/include/parser/analyze.h              |   5 +
src/include/parser/kwlist.h               |   2 +
src/include/parser/parse_clause.h         |   5 +-
src/include/parser/parse_node.h           |   5 +-
src/include/rewrite/rewriteHandler.h      |   1 +
src/interfaces/libpq/fe-exec.c            |   9 +-
src/pl/plpgsql/src/pl_exec.c              |   5 +-
src/pl/plpgsql/src/pl_gram.y              |   8 +
src/pl/plpgsql/src/pl_scanner.c           |   1 +
src/pl/plpgsql/src/plpgsql.h              |   4 +-
src/test/isolation/isolation_schedule     |   4 +
src/test/regress/expected/identity.out    |  55 +++++
src/test/regress/expected/privileges.out  |  98 ++++++++
src/test/regress/expected/rowsecurity.out | 182 ++++++++++++++
src/test/regress/expected/rules.out       |  31 +++
src/test/regress/expected/triggers.out    |  48 ++++
src/test/regress/parallel_schedule        |   2 +-
src/test/regress/serial_schedule          |   1 +
src/test/regress/sql/identity.sql         |  45 ++++
src/test/regress/sql/privileges.sql       | 108 +++++++++
src/test/regress/sql/rowsecurity.sql      | 156 ++++++++++++
src/test/regress/sql/rules.sql            |  33 +++
src/test/regress/sql/triggers.sql         |  47 ++++
src/tools/pgindent/typedefs.list          |   3 +
82 files changed, 2570 insertions(+), 165 deletions(-)


Re: pgsql: Modified files for MERGE

От
Andres Freund
Дата:
Hi,

On 2018-04-02 20:13:41 +0000, Simon Riggs wrote:
> Modified files for MERGE

This is a bit of a weird split. What's the reason behind it?


This seems to have turned several animals red:
- https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=thrips&dt=2018-04-02%2020%3A27%3A28
  use of uint, which isn't a portable type.
- https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=calliphoridae&dt=2018-04-02%2020%3A20%3A01
  looks like copy/read/out/equalfuncs aren't properly filled out


Regards,

Andres


Re: pgsql: Modified files for MERGE

От
Peter Geoghegan
Дата:
On Mon, Apr 2, 2018 at 1:36 PM, Andres Freund <andres@anarazel.de> wrote:
> - https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=calliphoridae&dt=2018-04-02%2020%3A20%3A01
>   looks like copy/read/out/equalfuncs aren't properly filled out

A COPY_PARSE_PLAN_TREES run of the regression test seems like a good idea.


-- 
Peter Geoghegan


Re: pgsql: Modified files for MERGE

От
Simon Riggs
Дата:
On 2 April 2018 at 21:36, Andres Freund <andres@anarazel.de> wrote:
> Hi,
>
> On 2018-04-02 20:13:41 +0000, Simon Riggs wrote:
>> Modified files for MERGE
>
> This is a bit of a weird split. What's the reason behind it?

Lack of tea, it appears.

I didn't think it mattered, but clearly does. Reverted before you asked.

-- 
Simon Riggs                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Re: pgsql: Modified files for MERGE

От
Andres Freund
Дата:
Hi,

On 2018-04-02 21:50:28 +0100, Simon Riggs wrote:
> I didn't think it mattered, but clearly does. Reverted before you
> asked.

I don't think the BF failures were related to the split, though... I
personally think it's fair to take a couple hours to attempt to mop-up
post commit issues of a larger patch...

Greetings,

Andres Freund


Re: pgsql: Modified files for MERGE

От
Simon Riggs
Дата:
On 2 April 2018 at 21:54, Andres Freund <andres@anarazel.de> wrote:
> Hi,
>
> On 2018-04-02 21:50:28 +0100, Simon Riggs wrote:
>> I didn't think it mattered, but clearly does. Reverted before you
>> asked.
>
> I don't think the BF failures were related to the split, though... I
> personally think it's fair to take a couple hours to attempt to mop-up
> post commit issues of a larger patch...

I diagnosed the causal issue as lack of sleep and will try again once
that is cured.

But thank you for the leeway.

-- 
Simon Riggs                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Re: pgsql: Modified files for MERGE

От
Peter Geoghegan
Дата:
On Mon, Apr 2, 2018 at 1:59 PM, Simon Riggs <simon@2ndquadrant.com> wrote:
> I diagnosed the causal issue as lack of sleep and will try again once
> that is cured.

I noticed in passing that the grammar description wasn't updated in
merge.sgml after I added WITH clause support. I suppose I should have
thought of that, but didn't.

> But thank you for the leeway.

FWIW, I think that a few hours should be standard. After that, it
should be possible for allowances to be made based on extenuating
circumstances. (I don't think that it's necessary to formalize that,
though.)


-- 
Peter Geoghegan


Re: pgsql: Modified files for MERGE

От
Pavan Deolasee
Дата:


On Tue, Apr 3, 2018 at 2:06 AM, Andres Freund <andres@anarazel.de> wrote:

This seems to have turned several animals red:
- https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=thrips&dt=2018-04-02%2020%3A27%3A28
  use of uint, which isn't a portable type.

Right.
 
- https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=calliphoridae&dt=2018-04-02%2020%3A20%3A01
  looks like copy/read/out/equalfuncs aren't properly filled out


Looks like we missed handling of new MergeAction node in raw_expression_tree_walker 

I will send a add-on patch to fix whatever I could spot before the patch was reverted. I see Andres has already started discussion about displaying memory usage which was one other thing I'd spotted while the build farm was red.

Thanks,
Pavan


--
 Pavan Deolasee                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services