Re: support for MERGE
Amit Langote <amitlangote09@gmail.com>
From: Amit Langote <amitlangote09@gmail.com>
To: Álvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Daniel Westermann <dwe@dbi-services.com>,
pgsql-hackers@lists.postgresql.org, Simon Riggs <simon.riggs@enterprisedb.com>,
Pavan Deolasee <pavan.deolasee@gmail.com>
Date: 2021-11-14T11:45:15Z
Lists: pgsql-hackers
On Sun, Nov 14, 2021 at 12:23 AM Álvaro Herrera <alvherre@alvh.no-ip.org> wrote: > On 2021-Nov-13, Daniel Westermann wrote: > > /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 > > Oh wow, this may be a pretty serious problem actually. I think it > represents a gap in testing. Thanks for reporting. Ah, thanks indeed. It seems that I fat-fingered that semicolon in. Though, it's not as serious as it would've been if I had instead fat-fingered a `&& false` into that condition and not the semicolon. ;) The only problem caused by the code block that follows the buggy if statement unconditionally executing is wasted cycles. Fortunately, there's no correctness issue, because rootRelInfo is the same as the input result relation in the cases where the latter is not partitioned and there'd be no map to convert the tuple, so the block is basically a no-op. I was afraid about the case where the input relation is a regular inheritance parent, though apparently we don't support MERGE in that case to begin with. -- Amit Langote EDB: http://www.enterprisedb.com
Commits
-
Doc fixes for MERGE statement
- 5dcebd10baa8 16.0 landed
- 5bb88967ed5c 15.0 landed
-
MERGE docs adjustments
- d6d1fbf353d1 15.0 landed
- 3d895bc846f2 16.0 landed
-
Link to MVCC docs in MERGE docs
- ffffeebf2447 15.0 landed
-
Fix EXPLAIN MERGE output when no tuples are processed
- 12e423e21d8e 15.0 landed
-
Make EXPLAIN MERGE output format more compact
- 598ac10be1c2 15.0 landed
-
Add support for MERGE SQL command
- 7103ebb7aae8 15.0 landed
-
Split ExecUpdate and ExecDelete into reusable pieces
- 25e777cf8e54 15.0 landed
-
Add API of sorts for transition table handling in trigger.c
- 3a46a45f6f00 15.0 landed
-
Represent Lists as expansible arrays, not chains of cons-cells.
- 1cff1b95ab6d 13.0 cited