Skip to content

Тестовое задание для кандидатов

License

Notifications You must be signed in to change notification settings

TenderPro/test-sql-2017

Repository files navigation

test-sql-2017

Тестовое задание для программиста 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 - этот файл

License

This project is under the MIT License. See the LICENSE file for the full license text.

Copyright (c) 2017 Tender.Pro

About

Тестовое задание для кандидатов

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published