pgbench-write-2pc.sql
application/x-sql
\set nbranches 1 * :scale \set ntellers 10 * :scale \set naccounts 100000 * :scale \set aid random(1, :naccounts) \set bid random(1, :nbranches) \set tid random(1, :ntellers) \set delta random(-5000, 5000) --ROLLBACK PREPARED 'ptx_:client_id'; BEGIN; UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid; SELECT abalance FROM pgbench_accounts WHERE aid = :aid; UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid; UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid; INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP); PREPARE TRANSACTION 'ptx_:client_id'; COMMIT PREPARED 'ptx_:client_id';