Re: [HACKERS] [BUGS] Postgresql bug report - unexpected behavior of suppress_redundant_updates_trigger
От | Tom Lane |
---|---|
Тема | Re: [HACKERS] [BUGS] Postgresql bug report - unexpected behavior of suppress_redundant_updates_trigger |
Дата | |
Msg-id | 644.1497887945@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: [HACKERS] [BUGS] Postgresql bug report - unexpected behavior of suppress_redundant_updates_trigger (Dilip Kumar <dilipbalaut@gmail.com>) |
Ответы |
Re: [HACKERS] [BUGS] Postgresql bug report - unexpected behavior of suppress_redundant_updates_trigger
|
Список | pgsql-hackers |
Dilip Kumar <dilipbalaut@gmail.com> writes: > On Mon, Jun 19, 2017 at 5:20 PM, Artus de benque > <artusdebenque@gmail.com> wrote: >> postgres=# UPDATE test_table SET field = 'hi' WHERE id = 1; >> UPDATE 0 >> test_db=# UPDATE test_table SET field = rpad('', 2001, 'a') WHERE id = 1; >> UPDATE 1 >> test_db=# UPDATE test_table SET field = rpad('', 2001, 'a') WHERE id = 1; >> UPDATE 1 <--- BUG: expected 0, as we ran the same update twice > Seems like in "suppress_redundant_updates_trigger" we are comparing > toasted tuple with the new tuple and that is the cause of the bug. I don't think it's a bug, I think it's an intentional design tradeoff. To suppress an update in this case, the trigger would have to grovel through the individual fields and detoast them before comparing. That would add a lot of cycles, and only seldom add successes. Possibly we should adjust the documentation so that it doesn't imply that this trigger guarantees to suppress every no-op update. regards, tom lane
В списке pgsql-hackers по дате отправления: