Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
How To Test Transaction Isolation Levels
How To Test Transaction Isolation Levels? - MySQL FAQs - Transaction Management: Commit or Rollback
✍: FYIcenter.com
If you want to test transaction isolation levels, you need to make sure that:
The tutorial exercise below shows you a good example of testing the REPEATABLE-READ transaction isolation level:
>\mysql\bin\mysql -u dev -piyf fyi mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec) mysql> SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; Query OK, 0 rows affected (0.00 sec) mysql> SELECT * FROM fyi_links; +-----+---------------+-------+--------+-------------------- | id | url | notes | counts | created +-----+---------------+-------+--------+-------------------- | 101 | fyicenter.com | Good | 999 | 2006-07-01 20:34:10 | 110 | centerfyi.com | Wrong | 0 | 2006-07-01 20:34:12 | 112 | oracle.com | NULL | NULL | 2006-07-01 20:41:12 | 113 | mysql.com | NULL | NULL | 2006-07-01 20:41:21 +-----+---------------+-------+--------+-------------------- 4 rows in set (0.00 sec)
Keep the "dev" mysql window as is, and open another window to run another instance of mysql:
>\mysql\bin\mysql -u dev -piyf fyi mysql> DELETE FROM fyi_links WHERE id = 112; Query OK, 1 row affected (0.09 sec) mysql> DELETE FROM fyi_links WHERE id = 113; Query OK, 1 row affected (0.25 sec)
Go back to the first "dev" mysql window.
mysql> SELECT * FROM fyi_links; +-----+---------------+-------+--------+-------------------- | id | url | notes | counts | created +-----+---------------+-------+--------+-------------------- | 101 | fyicenter.com | Good | 999 | 2006-07-01 20:34:10 | 110 | centerfyi.com | Wrong | 0 | 2006-07-01 20:34:12 | 112 | oracle.com | NULL | NULL | 2006-07-01 20:41:12 | 113 | mysql.com | NULL | NULL | 2006-07-01 20:41:21 +-----+---------------+-------+--------+-------------------- 4 rows in set (0.00 sec) mysql> COMMIT; Query OK, 0 rows affected (0.00 sec) mysql> SELECT * FROM fyi_links; +-----+---------------+-------+--------+-------------------- | id | url | notes | counts | created +-----+---------------+-------+--------+-------------------- | 101 | fyicenter.com | Good | 999 | 2006-07-01 20:34:10 | 110 | centerfyi.com | Wrong | 0 | 2006-07-01 20:34:12 +-----+---------------+-------+--------+-------------------- 2 rows in set (0.00 sec)
As you can see that two records were deleted from the second session between two executions of the same SELECT statement in the first session. The deleted records were still showing up in the output until the transaction was ended with the COMMIT statement.
2007-05-09, 7555👍, 0💬
Popular Posts:
What is the difference between Class and structure’s ? Following are the key differences between the...
What is CMM and different levels? explain? The Capability Maturity Model (CMM) is a process capabili...
What's the difference between J2SDK 1.5 and J2SDK 5.0? There is no difference, Sun Microsystems just...
How To Compile a JUnit Test Class? Compiling a JUnit test class is like compiling any other Java cla...
If we have two version of same assembly in GAC how do we make a choice ? OK first let’s try to under...