Thread

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. doc: Fix section of functions age(xid) and mxid_age(xid)

  1. pg_prepared_xacts returns transactions that are foreign to the caller

    Vladimir Sitnikov <sitnikov.vladimir@gmail.com> — 2024-11-20T07:48:22Z

    Hi,
    
    "select * from pg_prepared_xacts" might produce transactions created by a
    different user, so the caller won't be able to issue "commit prepared".
    
    I think there should be a view that returns only the transactions that the
    caller can commit or rollback.
    Is it something that can be implemented at the backend?
    
    Currently, the backend checks owner and database when user calls "commit
    prepared", so I believe the similar filter should be implemented in
    pg_prepared_xacts view:
    https://github.com/postgres/postgres/blob/15afb7d61c142a9254a6612c6774aff4f358fb69/src/backend/access/transam/twophase.c#L583C32-L599
    
    Vladimir
    
  2. Re: pg_prepared_xacts returns transactions that are foreign to the caller

    Andrey Borodin <x4mmm@yandex-team.ru> — 2024-11-20T09:07:48Z

    
    > On 20 Nov 2024, at 12:48, Vladimir Sitnikov <sitnikov.vladimir@gmail.com> wrote:
    > 
    > "select * from pg_prepared_xacts" might produce transactions created by a different user, so the caller won't be able to issue "commit prepared".
    > 
    > I think there should be a view that returns only the transactions that the caller can commit or rollback.
    > Is it something that can be implemented at the backend?
    
    Like "select * from pg_prepared_xacts where pg_has_role(current_user, owner, 'member');"?
    
    
    Best regards, Andrey Borodin.