Foundationপ্রথম নীতি থেকে
LEVEL 8 · Database Systems

xmin/xmax

এক্সমিন-এক্সম্যাক্স

Tuple header-এর জন্ম-মৃত্যু লেবেল — কোন transaction বানালো (xmin), কে মারলো (xmax); visibility এই দুটো থেকেই।

also: t-xmin, t-xmax

SELECT lp, t_xmin, t_xmax, t_ctid
FROM heap_page_items(get_raw_page('accounts', 0));

Visibility rule (সরলীকৃত): tuple দৃশ্যমান যদি — xmin committed এবং snapshot-এর আগে; আর xmax unset/uncommitted/ভবিষ্যত।

  • Insert: xmin=me; Delete: xmax=me; Update: old-এ xmax, new-এ xmin — দুই tuple
  • Snapshot: cutoff XID + in-progress list — “আমার জন্য কোন version সত্য” এর ফর্মুলা
  • Wraparound: xid 32-bit — freeze পুরনো xmin-কে infinity-র দিকে ঠেলে

pageinspect দিয়ে নিজের চোখে দেখুন — MVCC-র বইয়ের figure তখন জীবন্ত।