Subject | Steps to reproduce possible bad bugs |
---|---|
Author | Raymond Kennington |
Post date | 2003-08-11T02:51:23Z |
Start with the Transaction tutorial demo.
Steps:
1. Run the transaction tutorial & choose Lesson 5.
2. Choose tiCommitted for both transaction levels.
3. Open left table and add the record:
1, 'a'
and post it and then commmit-retaining.
4. Open right table.
5. Edit left table:
Change 'a' to 's'
Post it
Commit-retaining the left table.
6. Edit right table:
Change 'a' to 'b'
Post it
Commit-retaining the right table.
7. Close/reopen both tables.
8. Observe 'b' and not 's'.
's' is lost without warning.
Now change tr1 and tr2 to have RecVersion = False
and repeat from 1.
Observe the same loss occurs without warning.
Now change tr1 and tr2 to have RecVersion = True
and set PessimisticLocking to True in both
qryMaster1 and qryMaster2.
1. Run the transaction tutorial & choose Lesson 5.
2. Choose tiCommitted for both transaction levels.
3. Open left table and add the record:
1, 'a'
and commmit-retain.
4. Open right table.
5. Edit left table:
Change 'a' to 's'
Post it
but do not Commit.
6. Edit right table:
Change 'a' to 'b'
Post it
*Deadlock* as required.
Now repeat, but commit-retain:
1. Run the transaction tutorial & choose Lesson 5.
2. Choose tiCommitted for both transaction levels.
3. Open left table and add the record:
1, 'a'
and commmit-retain.
4. Open right table.
5. Edit left table:
Change 'a' to 's'
Post it
and commit-retain.
6. Edit right table:
Change 'a' to 'b'
Post it
Commit-retain
7. Close/reopen both tables.
8. Observe 'b' and not 's'.
's' is lost without warning.
If none of these are bugs, then the GSG needs to be corrected --- or explained
more clearly.
--
Raymond Kennington
Programming Solutions
TeamW2W (InfoPower)
Steps:
1. Run the transaction tutorial & choose Lesson 5.
2. Choose tiCommitted for both transaction levels.
3. Open left table and add the record:
1, 'a'
and post it and then commmit-retaining.
4. Open right table.
5. Edit left table:
Change 'a' to 's'
Post it
Commit-retaining the left table.
6. Edit right table:
Change 'a' to 'b'
Post it
Commit-retaining the right table.
7. Close/reopen both tables.
8. Observe 'b' and not 's'.
's' is lost without warning.
Now change tr1 and tr2 to have RecVersion = False
and repeat from 1.
Observe the same loss occurs without warning.
Now change tr1 and tr2 to have RecVersion = True
and set PessimisticLocking to True in both
qryMaster1 and qryMaster2.
1. Run the transaction tutorial & choose Lesson 5.
2. Choose tiCommitted for both transaction levels.
3. Open left table and add the record:
1, 'a'
and commmit-retain.
4. Open right table.
5. Edit left table:
Change 'a' to 's'
Post it
but do not Commit.
6. Edit right table:
Change 'a' to 'b'
Post it
*Deadlock* as required.
Now repeat, but commit-retain:
1. Run the transaction tutorial & choose Lesson 5.
2. Choose tiCommitted for both transaction levels.
3. Open left table and add the record:
1, 'a'
and commmit-retain.
4. Open right table.
5. Edit left table:
Change 'a' to 's'
Post it
and commit-retain.
6. Edit right table:
Change 'a' to 'b'
Post it
Commit-retain
7. Close/reopen both tables.
8. Observe 'b' and not 's'.
's' is lost without warning.
If none of these are bugs, then the GSG needs to be corrected --- or explained
more clearly.
--
Raymond Kennington
Programming Solutions
TeamW2W (InfoPower)