On 1/23/21 10:20 AM, Condor wrote:
> On 23-01-2021 18:31, Adrian Klaver wrote:
>> On 1/23/21 4:57 AM, Condor wrote:
>>>
>>>
>>
>> So do an UPDATE and the RETURN NULL to cancel the INSERT. Untested
>> example:
>>
>> UPDATE arhive_table SET sendto = 0, uts = date_part('epoch',
>> CURRENT_TIMESTAMP)::integer WHERE contract = NEW.contract AND service
>> = NEW.service;
>>
>> RETURN NULL;
>>
>
>
> Yep, I think about this update and was my first approach but need to be
> done only if end_date is different.
> If end_date is the same this mean contract still exists so only update
> lastseen column, if the lastseen is not updated other process will read
> not seen contracts and will generate report and send them to delete
> services. If lastseen is changed and sendto is zero again, mean end_date
> is changed and need to be send new end_date again to other systems.
So add an:
ELSIF enddate = FROM NEW.end_date THEN
and do UPDATE of lastseen column.
Honestly I think this better handled by the external program that doing
the transformation.
>
>
>
--
Adrian Klaver
adrian.klaver@aklaver.com