On 2/27/24 14:11, Thiemo Kellner wrote:
> Am 27.02.2024 um 21:42 schrieb Adrian Klaver:
>> Also not sure what this:
>>
>> select NODE_TYPE⠒NAME into V⠒NODE_TYPE⠒NAME
>> from NODE⠒V
>> where 1 = 1
>> and ID = new.NODE⠒ID
>> and 1 = 1;
>>
>> is supposed to be doing especially the 1 = 1 tests?
>
> The select retrieves the type of the node in order to determine whether
> a task name must be given or not.
>
> It is a habit of mine to pad conditions in the where clause. This way,
> it is easy to comment/uncomment parts of the clause for testing
> purposes. Coming from Oracle, I missed that using "true" is also
> possible and better because clearer.
create table true_test(id integer);
insert into true_test select * from generate_series(1, 10000);
select count(*) from true_test where true;
count
-------
10000
(1 row)
select count(*) from true_test where id < 100 and true;
count
-------
99
>
>> Seems '... where ID = new.NODE⠒ID ...' is sufficient.
>
> Right. Semantically sufficient.
>
>
>> Also what do you want to return as NEW?
>
> The unchanged new record. And it works as intended.
>
> Thanks for your help!
>
>
--
Adrian Klaver
adrian.klaver@aklaver.com