From 79a37d8eb449583e526de7f6a17bdccadd2433ee Mon Sep 17 00:00:00 2001
From: Greg Sabino Mullane <greg@turnstep.com>
Date: Sat, 5 Oct 2024 13:19:27 -0400
Subject: [PATCH] Clarify READ REPEATABLE behavior a bit more

---
 doc/src/sgml/mvcc.sgml | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/doc/src/sgml/mvcc.sgml b/doc/src/sgml/mvcc.sgml
index 380d0c9e80..295c30e3fe 100644
--- a/doc/src/sgml/mvcc.sgml
+++ b/doc/src/sgml/mvcc.sgml
@@ -516,6 +516,18 @@ COMMIT;
     other transactions that committed after their own transaction started.
    </para>
 
+   <tip>
+    <para>
+     Note that the snapshot is not obtained at the <command>BEGIN</command>,
+     so your view of the data is not locked into place until the first
+     statement. Note that a <command>SHOW</command> statement will not
+     obtain a snapshot, but <emphasis>ANY</emphasis> <command>SELECT</command>
+     statement will. Issuing a <literal>SELECT timeofday();</literal> after
+     the <command>BEGIN</command> is a good way to both start the snapshot and
+     return the time it was created.
+    </para>
+   </tip>
+
    <para>
     Applications using this level must be prepared to retry transactions
     due to serialization failures.
-- 
2.30.2

