From 6952b3196bb5898c82a6aa5e6292bcf051537f44 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 4 Nov 2000 17:09:24 +0000 Subject: [PATCH] Update FAQ_DEV. --- doc/FAQ_DEV | 13 +++++++++++++ doc/src/FAQ/FAQ_DEV.html | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/doc/FAQ_DEV b/doc/FAQ_DEV index 31b27ee73e..5f9f078834 100644 --- a/doc/FAQ_DEV +++ b/doc/FAQ_DEV @@ -26,6 +26,7 @@ 10) What is elog()? 11) What is configure all about? 12) How do I add a new port? + 13) What is CommandCounterIncrement()? _________________________________________________________________ 1) What tools are available for developers? @@ -414,3 +415,15 @@ c-mode) src/include/storage/s_lock.h for your CPU. There is also a src/makefiles directory for port-specific Makefile handling. There is a backend/port directory if you need special files for your OS. + + 13) What is CommandCounterIncrement()? + + Normally, transactions can not see the rows they modify. This allows + UPDATE foo SET x = x + 1 to work correctly. + + However, there are cases where a transactions needs to see rows + affected in previous parts of the transaction. This is accomplished + using a Command Counter. Incrementing the counter allows transactions + to be broken into pieces so each piece can see rows modified by + previous pieces. CommandCounterIncrement() increments the Command + Counter, creating a new piece of the transaction. diff --git a/doc/src/FAQ/FAQ_DEV.html b/doc/src/FAQ/FAQ_DEV.html index ba60c157c2..4da26a9d3a 100644 --- a/doc/src/FAQ/FAQ_DEV.html +++ b/doc/src/FAQ/FAQ_DEV.html @@ -38,6 +38,7 @@ tables from the backend code?
10) What is elog()?
11) What is configure all about?
12) How do I add a new port?
+13) What is CommandCounterIncrement()?


@@ -481,6 +482,18 @@ appropriate values. Hopefully, there is already locking code in There is a backend/port directory if you need special files for your OS.

+

13) What is CommandCounterIncrement()?

+ +Normally, transactions can not see the rows they modify. This allows +UPDATE foo SET x = x + 1 to work correctly. +

+ +However, there are cases where a transactions needs to see rows affected +in previous parts of the transaction. This is accomplished using a +Command Counter. Incrementing the counter allows transactions to be +broken into pieces so each piece can see rows modified by previous +pieces. CommandCounterIncrement() increments the Command +Counter, creating a new piece of the transaction.

-- 2.40.0