Этот проект является иллюстрацией представления SQL SELECT-а как конвейера, по которому едут таблицы/строки.
Подробнее эта идея описана в посте Учимся читать SQL SELECT.
Описание файлов:
- db
- docker-compose.yaml - docker-compose файл для запуска базы данных со схемой и данными из поста, чтобы можно было самостоятельно "поиграться" с ними. Поумолчанию PostgreSQL запускается на порту 54320;
- sql - схема базы данных и данные из примера
- src
- SqlPipeline.kt - конвейер SQL SELECT-а на энегричных списках (конвейр, по которому едут таблицы)
- LazySqlPipeline.kt - конвейер SQL SELECT-а на ленивых списках (конвейр, по которому едут строчки)
Запуск примера из консоли (для запуска требуется Kotlin):
kotlin src/SqlPipeline.kts
Запуск демо-БД из консоли (для запуска требуется Docker Compose):
docker-compose -fdb/docker-compose.yaml up -d
Подключение к БД:
docker exec -it project-ford-postgres-1 psql -U postgres
Остановка и удалине БД:
docker-compose -fdb/docker-compose.yaml down