Проект реализовывался в рамках изучения:
- Реляционной алгебры
- Устройства движков исполнения SPJ запросов
- Построения своей грамматики/правил языка
В качестве планировщика запросов используется наивное построение дерева команд, без каких либо оптимизаций в построении. Данные между узлами дерева запроса передаются пакетами фиксированного макс объёма.
Для задания своей грамматики и парсинга использовалась готовая библиотека antlr, её выбор был обусловен тем, что это стандарт индустрии в этой сфере, и было с ним интересно ознакомиться.
Для осущиствления запроса, напишите запрос в файл input.txt и запустите файл main.py .
Для запуска тестов запустите данную команду из папки проекта:
__python -m unittest discover -s tests__