From: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk> |
Cc: | pgsql-hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Fix optimization of foreign-key on update actions |
Date: | 2019-02-06 22:15:59 |
Message-ID: | c3b54feb-3f29-aa01-65e0-d5dfa8d0d508@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 05/02/2019 17:20, Tom Lane wrote:
> What I *don't* like about the proposed patch is that it installs a
> new, different comparison rule for the ON UPDATE CASCADE case only.
> If we were to go in this direction, I'd think we should try to use
> the same comparison rule for all FK row comparisons.
That's easy to change. I had it like that in earlier versions of the
patch. I agree it would be better for consistency, but it would create
some cases where we do unnecessary extra work.
> The inconsistencies get messier the more you think about it,
> really. If a referencing row was datatype-equal, but not byte-equal,
> to the PK row to start with, why would an update changing the PK row
> (perhaps to another datatype-equal value) result in forcing the
> referencing row to become byte-equal? How does this fit in with
> the fact that our notion of what uniqueness means in the PK table
> is no-datatype-equality, rather than no-byte-equality?
This patch doesn't actually change the actual foreign key behavior.
Foreign keys already work like that. The patch only touches an
optimization that checks whether it's worth running the full foreign key
behavior because the change was significant enough. That shouldn't
affect the outcome. It should be the case that if you replace
RI_FKey_pk_upd_check_required() by just "return true", then nothing
user-visible changes.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Daniel Gustafsson | 2019-02-06 22:18:22 | Inconsistent error handling in the openssl init code |
Previous Message | Peter Eisentraut | 2019-02-06 22:04:21 | Re: Fix optimization of foreign-key on update actions |