-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: support bug detection related to isolation level #57
base: coo-consistency-check
Are you sure you want to change the base?
feat: support bug detection related to isolation level #57
Conversation
Hello, I am one of the code reviewers. Can you translate your pr title, description, commit messages to English? And we recommend using this format to title your PR. |
you can use "feat: support bug detection related to isolation level", and please add the issues you resolved in description. |
Okay! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if any questions, reply me directly
style: Update contents in docstring to maintain function description of mda_detect.py.
I have made the expected modification, please check, thank you. |
do you test your commit on all dbmss? |
No, I haven't installed Docker and configured the test environment. I am trying to do that. |
This program adds a determination function to detect test cases in MySQL environment. For now, only "serializable" isolation level is supported. Other isolation levels and dbms environments will be added later. The output result passes almost all test cases, except "iat_dda_write_skew_predicate_based-overdraft_protection", because its variable declaration is quite different.
This program adds a determination function to detect test cases in MySQL environment. For now, "repeatable-read" and "serializable" isolation levels are supported. Other isolation levels and dbms environments will be added later. The output result passes almost all test cases, except "rat_mda_step_rat_predicate_based_insert", because it uses "sum" function so an improved syntax analysis is required.
This program adds two determination functions to detect test cases in MySQL environment. For now, ALL isolation levels in MySQL are supported. Other dbms environments will be added if needed. The output result passes almost all test cases, except: SERIALIZABLE: "iat_dda_write_skew_predicate_based-overdraft_protection"; REPEATABLE-READ: "rat_mda_step_rat_predicate_based_insert"; READ-COMMITTED: None; READ-UNCOMMITTED: "iat_dda_write_skew_predicate_based-intersecting_data"; These cases use irregular expression like "sum" function, self-defined table name or attribute query, so the more complex syntax analysis is required.
feat: support bug detection related to isolation level
resolve the issue: bug detection related to isolation level
Modify parts of code in Coo consistency check to realize the error detection result output of related isolation level.
Reference the test data as well.
Sample Output:
--------file:rr_s_s_avoid--------
Transaction 1:-----repeatable-read-----
Error Detection: No error in this isolation level.
Transaction 2:-----serializable-----
Edge(begin_time=4, type=ICR, out=3)
Error Detection: Phantom-Read
Transaction 3:-----serializable-----
Error Detection: No error in this isolation level.
---------------------------------#