https://github.com/coderatul/conflict-serializable-validator
A Python tool to check if a given transaction schedule is conflict serializable. It analyzes the schedule, builds a dependency graph, detects cycles, and determines whether the schedule can be serialized. Supports input from Excel files and provides a graphical representation of the dependency graph
https://github.com/coderatul/conflict-serializable-validator
List: conflict-serializable-validator
awesome awesome-list concurency conflict-serializability database dbms-project hacktoberfest python
Last synced: about 2 months ago
JSON representation
A Python tool to check if a given transaction schedule is conflict serializable. It analyzes the schedule, builds a dependency graph, detects cycles, and determines whether the schedule can be serialized. Supports input from Excel files and provides a graphical representation of the dependency graph
- Host: GitHub
- URL: https://github.com/coderatul/conflict-serializable-validator
- Owner: coderatul
- License: mit
- Created: 2025-02-02T07:27:30.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-03-11T17:40:24.000Z (2 months ago)
- Last Synced: 2025-03-11T18:32:31.763Z (2 months ago)
- Topics: awesome, awesome-list, concurency, conflict-serializability, database, dbms-project, hacktoberfest, python
- Language: Python
- Homepage:
- Size: 10.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: contributing.md
- License: LICENSE
Awesome Lists containing this project
README
# Conflict Serializable Validator [](https://github.com/sindresorhus/awesome)
This Python script checks if a given schedule of transactions is conflict serializable by constructing a dependency graph and detecting cycles. If the graph has no cycles, the schedule is conflict serializable, and the script provides a topological order of transactions. The script also visualizes the dependency graph using `networkx` and `matplotlib`.
## usage
```
python css.py [--verbose]
```## example
- operations corresponding to transactions of schedule are entered in a excle file for ease of use
- more transaction can be added as columns
## output
```
No cycles detected. The given schedule is conflict serializable.
Order of serializability: ['T2', 'T3', 'T1']
```
> dependency graph