Re: Mistake in statement example
От | Bruce Momjian |
---|---|
Тема | Re: Mistake in statement example |
Дата | |
Msg-id | ZyU8T1Ru7m7feTcj@momjian.us обсуждение исходный текст |
Ответ на | Re: Mistake in statement example (Bruce Momjian <bruce@momjian.us>) |
Список | pgsql-docs |
On Wed, Sep 27, 2023 at 07:23:09PM -0400, Bruce Momjian wrote: > On Wed, Mar 1, 2023 at 09:45:00AM -0700, David G. Johnston wrote: > > That may be, but the descriptive text and point of the example (which isn't > > atomicity, but concurrency) doesn't even require the second update command to > > be present. What the example could use is a more traditional two-session > > depiction of the commands instead of having a single transaction and letting > > the user envision the correct concurrency. > > > > Something like: > > > > S1: SELECT balance FROM accounts WHERE acctnum = 12345; //100 > > S1: BEGIN; > > S2: BEGIN; > > S1: UPDATE accounts SET balance = balance + 100.00 WHERE acctnum = 12345; //200 > > S2: UPDATE accounts SET balance = balance + 100.00 WHERE acctnum = 12345; // > > WAITING ON S1 > > S1: COMMIT; > > S2: UPDATED; balance = 300 > > S2: COMMIT; > > > > Though maybe "balance" isn't a good example domain, the incrementing example > > used just after this one seems more appropriate along with the added benefit of > > consistency. > > I developed the attached patch. I explained the example, I mentioned a > "second" transaciton, I changed the account number so I can talk about > the second statement, because read committed changes the row visibility > of the non-first statements, and I changed "transaction" to "statement". Patch from September 2023 applied. -- Bruce Momjian <bruce@momjian.us> https://momjian.us EDB https://enterprisedb.com When a patient asks the doctor, "Am I going to die?", he means "Am I going to die soon?"
В списке pgsql-docs по дате отправления: