On 12/2/23 19:11, Paul Jungwirth wrote:
Thank you again for such thorough reviews!

On Thu, Nov 16, 2023 at 11:12 PM jian he <jian.universal...@gmail.com> wrote: > UPDATE FOR PORTION OF, may need insert privilege. We also need to document this. > Similarly, we also need to apply the above logic to DELETE FOR PORTION OF.

I don't think UPDATE/DELETE FOR PORTION OF is supposed to require INSERT permission.

Notionally the INSERTs are just to preserve what was there already, not to add new data. The idea is that a temporal table is equivalent to a table with one row for every "instant", i.e. one row per microsecond/second/day/whatever-time-resolution. Of course that would be too slow, so we use PERIODs/ranges instead, but the behavior should be the same. Date's book has a good discussion of this idea.

I also checked the SQL:2011 draft standard, and there is a section called Access Rules in Part 2: SQL/Foundation for UPDATE and DELETE statements. Those sections say you need UPDATE/DELETE privileges, but say nothing about needing INSERT privileges. That is on page 949 and 972 of the PDFs from the "SQL:20nn Working Draft Documents" link at [1]. If someone has a copy of SQL:2016 maybe something was changed, but I would be surprised

Nothing has changed here in SQL:2023 (or since).
--
Vik Fearing



Reply via email to