#!/usr/bin/env bash
# Uji commit dan batalkan-otomatis: dua pemanggilan psql = dua sesi terpisah.
# Sesi 1 melakukan sesuatu lalu ditutup; sesi 2 memeriksa apa yang bertahan.

echo '==> sesi 1: transaksi di-COMMIT'
psql -X -q <<'SQL' 2>&1
BEGIN;
INSERT INTO stok_barang VALUES ('STK-3', 'Gula Pasir 1kg', 30);
COMMIT;
SQL

echo '==> sesi 1 (lagi): BEGIN + INSERT, lalu sesi ditutup TANPA COMMIT'
psql -X -q <<'SQL' 2>&1
BEGIN;
INSERT INTO stok_barang VALUES ('STK-4', 'Teh Kotak', 50);
SELECT count(*) AS baris_terlihat_sesi_ini FROM stok_barang;
SQL

echo '==> sesi 2: memeriksa hasil kedua transaksi di atas'
psql -X -t -A <<'SQL'
SELECT 'STK-3 (di-commit)   : ' || count(*) || ' baris'
FROM stok_barang WHERE kode = 'STK-3';
SELECT 'STK-4 (tanpa commit): ' || count(*) || ' baris'
FROM stok_barang WHERE kode = 'STK-4';
SQL
