Вопрос касается ограничения проверки на поле HSTORE в Postgres.
create table archives_seasonmodel
(episodes hstore)
Это очень сокращенная версия таблицы, которая у меня есть, но, например, ее нормально.
Эпизоды содержат данные в следующем формате:
{
1 => 2020-03-01, 2 => 2020-03-07, 5=> 2020-03-29, 3=> 2020-03-14
}
Где ключ всегда положительный di git, а значение - дата.
Я хочу создать ограничение, которое будет проверять любые новые данные на наличие следующее условие:
- каждая дата в паре ключ / значение должна быть больше или равна предыдущей паре ключ / значение, упорядоченной ключами AS C.
Хорошие данные:
{
1 => 2020-03-01, 2 => 2020-03-07, 5=> 2020-03-29, 3=> 2020-03-14
}
2020-03-29 >= 2020-03-14 >= 2020-03-07 >= 2020-03-01
5 >=3 >=2 >=1
Неверные данные:
{
1 => 2020-03-01, 2 => 2020-06-07, 5=> 2020-03-29, 3=> 2020-03-14
}
2020-03-29 >= 2020-03-14 not >= 2020-06-07 >= 2020-03-01
5 >=3 >=2 >=1
2020-03-14 not >= 2020-06-07
но должно быть так, как 2020-03-14
имеет ключ 3
2020-06-07
имеет ключ 2
. Дата ключа 3
должна быть больше или равна дате ключа 2
, потому что 3 > 2
.
Можно ли создать такое ограничение или это просто не соответствует действительности ???
Спасибо