Тестовое задание для программиста postgresql
Tender.pro, 2017
Написать хранимую функцию определения победивших предложений
- Проводится аукцион на продажу некоторой позиции T объемом N штук.
- Задана начальная цена за штуку (P0) и шаг цены S.
- Участники подают предложения по текущей цене PC, указывая объем M
- Возможно несколько предложений по одной цене с суммарным объемом не превышающим N
- Если объем предложения превышает оставшийся не выбранный объем по цене PC, то это предложение принимается по цене PC+S и текущая цена увеличивается на S
- По завершении аукциона предложения сортируются по убыванию цены и порядкового номера, и в этом порядке объявляются победителями до исчерпания объема N.
- Значения N, P0, S
- список предложений (порядковый номер, цена, объем)
- для каждого предложения рассчитать, является ли оно победителем и в каком объеме.
Результат должен быть оформлен в виде функции bid_winner_set(a_id INTEGER)
(файл 50_code.sql).
- 20_tables.sql - создание таблиц БД
- 50_code.sql - код функции
- 90_test.out - эталон результата тестов
- 90_test.sql - тест
- Makefile - команды сборки
- make.sql - скрипт сборки
- README.md - этот файл
This project is under the MIT License. See the LICENSE file for the full license text.
Copyright (c) 2017 Tender.Pro