Студент: Анастасия Шадрина
- Фикс для
/flights
. Коммит: тык. В исходной версии хэндлера было много лишних запросов: селект всех айдишников из таблицыFlights
, затем для каждого из этих айдишников запрос на поиск по ключу вFlightEntityView
, который строится достаточно долго из-за наличия джойна сFlightAvailableSeatsView
. Все эти запросы избыточны, так как в результате дают много лишней информации, которая в выводе не используется. - Фикс для
/delay_flights
. Коммит: тык. Во-первых, здесь из-за прямой вставкиflightId
в запрос появляется вероятность sql-инъекций, во-вторых, опять же ненужное обращение кcacheFlights
. - Фикс для
/delete_planet
. Коммит: тык. Здесь запрос исполнялся с выключенным режимомauto-commit
. => Либо мы дописываем после исполнения запросаit.commit()
, либо включаем этот режим (я выбрала вариант 2). - Еще для
/delay_flights
можно сделать индекс наFlight.date
.
по умолчанию пользователь postgres с пустым паролем на localhost:5432/postgres
psql -h localhost -U postgres -f sql/gen-schema.sql
psql -h localhost -U postgres -f sql/gen-data.sql
-- Аргумент функции GenerateData -- коэффициент роста БД. Он пропорционально увеличивает количество полетов и бронирований. Значения 10 будет более чем достаточно для смелых экспериментов.
psql -h localhost -U postgres -c 'SELECT GenerateSchema(); SELECT GenerateData(1)'
cd python/hello-db
python3 app.py
cd kotlin/hello-db
gradle run
Если нужно поменять хост, порт, пользователя, базу данных или пароль, воспользуйтесь аргументами командной строки. python3 app.py -h
и gradle run --args='-h'
вам про них расскажут.
Пул-реквест в репозиторий github.com/dbarashev/test2 или письмо с заархивированным кодом на [email protected]
. Пожалуйста, не присылайте в архиве каталоги build
, .gradle
и .idea