Thread

  1. Re: ON CONFLICT DO SELECT (take 3)

    Dean Rasheed <dean.a.rasheed@gmail.com> — 2025-11-25T10:04:36Z

    On Tue, 25 Nov 2025 at 08:33, jian he <jian.universality@gmail.com> wrote:
    >
    > v16-0002: using INJECTION_POINT to test the case when
    > ExecOnConflictSelect->ExecOnConflictLockRow returns false.
    >
    
    In general, having more tests is a good thing, but I think this is
    setting a higher bar for the ON CONFLICT DO SELECT than existing code,
    such as ON CONFLICT DO UPDATE. ExecOnConflictUpdate() also uses
    ExecOnConflictLockRow() in the same way, and doesn't have such a test,
    and there are other lock-and-retry paths in the executor not tested in
    this way.
    
    IMO, using injection points for testing a wider variety of possible
    race conditions in the executor should be considered as a separate
    patch.
    
    Regards,
    Dean