Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / валидация на агрегатной функиции, ктонить такое делал? )) / 3 сообщений из 3, страница 1 из 1
13.04.2017, 13:53
    #39437940
Legushka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
валидация на агрегатной функиции, ктонить такое делал? ))
сейчас для удобства поиска разных вариантов сохранения временных отрезков (бронирование)
решил свалить расчет на пользовательский агрегат:

построчно получает все входящие строки и проверяет все необходимые условия: можно ли сохранять или нет

по сути в какой то момент (при прохождении n'ой строки) может настать ситуация что сложились все условия отказа, что нам уже никак нельзя сохранять этот отрезок времени, т.е. это стало известно еще на момент срабатывания агрегатной итерации

агрегатная функция в результате проверки вернет некое итоговое значение например -1, что дальше будет обработано как raise

а что будет если в агрегатную функцию прямо вставить raise в случае если на этом шаге сложились все условия отказа.

т.е. для проверки сохранения записи отрезка времени, запускаем выборку валидация_агрегат(дата1, дата2) по всем записям в этом пересечении времени, если она вернула результат занчит ОК, иначе она уже сваливается.

могут ли быть подводные камни?, почему этого делать нельзя? и как вам такое?
...
Рейтинг: 0 / 0
13.04.2017, 14:07
    #39437948
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
валидация на агрегатной функиции, ктонить такое делал? ))
Legushka,

1 выражайтесь точнее
raise notice|warning -- тоже raise

2 сделайте 2 ф-ии. сам аггрегат . и ф-ю f(x)=x, кидающую exception на отрицателный ввод. этого вполне хватит на все случаи применения.
...
Рейтинг: 0 / 0
13.04.2017, 15:15
    #39437997
Legushka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
валидация на агрегатной функиции, ктонить такое делал? ))
qwwq, спасибо, именно это и хотел)
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / валидация на агрегатной функиции, ктонить такое делал? )) / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]