Re: support for MERGE

dwe@dbi-services.com

From: Daniel Westermann <dwe@dbi-services.com>
To: pgsql-hackers@lists.postgresql.org
Cc: Álvaro Herrera <alvherre@alvh.no-ip.org>, Simon Riggs <simon.riggs@enterprisedb.com>, Amit Langote <amitlangote09@gmail.com>, Pavan Deolasee <pavan.deolasee@gmail.com>
Date: 2021-11-13T13:53:58Z
Lists: pgsql-hackers
Hi,

I got these warnings when compiling against current head:

tion -Wno-stringop-truncation -O2 -I../../../src/include  -D_GNU_SOURCE -I/usr/include/libxml2   -c -o execMerge.o execMerge.c
execMerge.c: In function ‘ExecMerge’:
execMerge.c:54:8: warning: unused variable ‘relkind’ [-Wunused-variable]
   54 |  char  relkind = resultRelInfo->ri_RelationDesc->rd_rel->relkind;
      |        ^~~~~~~

/usr/bin/clang -Wno-ignored-attributes -fno-strict-aliasing -fwrapv -O2  -I../../../src/include  -D_GNU_SOURCE -I/usr/include/libxml2  -flto=thin -emit-llvm -c -o execMerge.bc execMerge.c
execMerge.c:552:32: warning: if statement has empty body [-Wempty-body]
                                        RELKIND_PARTITIONED_TABLE);
                                                                  ^
execMerge.c:552:32: note: put the semicolon on a separate line to silence this warning
1 warning generated.


Regards
Daniel

Commits

  1. Doc fixes for MERGE statement

  2. MERGE docs adjustments

  3. Link to MVCC docs in MERGE docs

  4. Fix EXPLAIN MERGE output when no tuples are processed

  5. Make EXPLAIN MERGE output format more compact

  6. Add support for MERGE SQL command

  7. Split ExecUpdate and ExecDelete into reusable pieces

  8. Add API of sorts for transition table handling in trigger.c

  9. Represent Lists as expansible arrays, not chains of cons-cells.