From: | Peter Geoghegan <pg(at)heroku(dot)com> |
---|---|
To: | Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Cc: | Stephen Frost <sfrost(at)snowman(dot)net>, Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>, Jeff Janes <jeff(dot)janes(at)gmail(dot)com> |
Subject: | Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} 2.0 |
Date: | 2015-01-29 23:38:46 |
Message-ID: | CAM3SWZRb53wgFKQm4JvDVeNHpxwESaORUFuFQKKBTzt3dedkKQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sat, Jan 17, 2015 at 6:48 PM, Peter Geoghegan <pg(at)heroku(dot)com> wrote:
> I continued with this since posting V2.0.
Attached version (V2.1) fixes bit-rot caused by the recent changes by
Stephen ("Fix column-privilege leak in error-message paths"). More
precisely, it is rebased on top of today's 17792b commit.
I have not addressed the recently described problems with exclusion
constraints. I hope we can do so shortly. Simply removing IGNORE
support until such time as we straighten that all out (9.6?) seems
like the simplest solution. No need to block the progress of "UPSERT",
since exclusion constraint support was only ever going to be useful
for the less compelling IGNORE variant. What do other people think? Do
you agree with my view that we should shelve IGNORE support for now,
Heikki?
There is one minor bugfix here: I have tightened up the conditions
under which user-defined rule application will be rejected.
Previously, I neglected to specifically check for UPDATE rules when an
INSERT ... ON CONFLICT UPDATE statement was considered. That's been
fixed.
On the stress-testing front, I'm still running Jeff Janes' tool [1],
while also continuing to use his Postgres modifications to
artificially increase the XID burn rate. However, my personal server
is no longer used for this task. I'm using an AWS EC2 instance - a
r3.8xlarge. This server provides 32 logical cores, and uses an "Intel
Xeon E5-2670 v2 @ 2.50GHz" CPU. It seems reasonable to suppose that
any latent concurrency bugs are more likely to reveal themselves when
using the new server.
Anyone who would like access to the server should contact me
privately. It's a throw-away EC2 instance, so this isn't particularly
difficult to do.
Thanks
[1] https://github.com/petergeoghegan/jjanes_upsert
--
Peter Geoghegan
Attachment | Content-Type | Size |
---|---|---|
0008-User-visible-documentation-for-INSERT-.-ON-CONFLICT-.patch | text/x-patch | 48.0 KB |
0007-Internal-documentation-for-INSERT-.-ON-CONFLICT-UPDA.patch | text/x-patch | 3.6 KB |
0006-Tests-for-INSERT-.-ON-CONFLICT-UPDATE-IGNORE.patch | text/x-patch | 84.4 KB |
0005-RLS-support-for-ON-CONFLICT-UPDATE.patch | text/x-patch | 18.5 KB |
0004-Project-updates-from-ON-CONFLICT-UPDATE-RETURNING.patch | text/x-patch | 7.3 KB |
0003-EXCLUDED-expressions-within-ON-CONFLICT-UPDATE.patch | text/x-patch | 28.9 KB |
0002-Support-INSERT-.-ON-CONFLICT-UPDATE-IGNORE.patch | text/x-patch | 142.8 KB |
0001-Make-UPDATE-privileges-distinct-from-INSERT-privileg.patch | text/x-patch | 28.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | David Steele | 2015-01-29 23:39:23 | Re: pg_upgrade and rsync |
Previous Message | Tatsuo Ishii | 2015-01-29 23:17:03 | Re: 4B row limit for CLOB tables |