172 похожих чатов

Всем привет. Отправил вот такое письмо в hackers группу в продолжение

темы би темпоральных табличек:
https://www.postgresql.org/message-id/919823407.20191029175436%40yandex.ru
> Thinking some more on this, I now don't think a TODO makes sense, so I
> have removed it.

Please look into this example: https://dbfiddle.uk/?rdbms=postgres_12&fiddle=8e114ccc9f15a30ca3115cdc6c70d247
This is real life code from our production.

You can see that this is important to get correct info about deleted
data

-- EXPECTED app_period: ["2018-08-20", "2018-08-25")
-- ACTUAL app_period: ["2018-08-14", )

> Triggers are designed to check and modify input data, and since DELETE
> has no input data, it makes no sense.

Please put back into TODO list this feature request to allow
triggers to modify output data.

INPUT -- receives data OK (behavior is expected)
UPDATE -- receives and returns data OK (behavior is expected)
DELETE -- returns data FAIL (behavior is not expected)

This is inconsistent to allow modify output data for UPDATE and
restrict to do this for DELETE


Thank you

Yaroslav Как вы думатете, теперь пример достаточно хорош, чтобы можно было принять моё предолжение того, чтобы разрешить менять OLD для операций DELETE?

2 ответов

7 просмотров

А пример-то какой "короткий"! ;) И я ещё не тот начал читать. :( Неужели это нельзя как-то сократить? И да, давать ссылки на внешние сайты (pastes) в -hackers — дурной тон (подумайте о том, что кто-то будет читать это годы спустя, когда этот fiddle, возможно, уже исчезнет).

нет. почему следующий за тобой тригер должен получать измененные данные?

Похожие вопросы

Обсуждают сегодня

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
Есть предложения, как подобное можно упростить?
Hemul GM
12
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
У меня вопросик назрел. Почему, создав класс без наследования и реализации деструктора Destroy, деструктор не вызывался при free. Потом указал наследование от tobject и overri...
Сергей Бычков
9
@y0zhig @shizzard А можно я опишу цель и может вообще ерланг мне не подходит. На текущий момент как я понимаю у ерланга есть легковесные потоки и задача выполняется в каком т...
Дмитрий Спиридонов
5
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
just use free version ?? pycharm has a free version
Fan / Ac
9
Карта сайта