Deleting Program Setting can actually create instead

I’ve just noticed a bug where if you use the Update Program Setting Action with the Update Type set as “Delete”, if the setting doesn’t already exist in the database, the program setting gets created with a NULL value instead. This would not be the expected behaviour considering if you are deleting something and if it doesn’t exist already, it should just do nothing.

Samba.Presentation_y11GTPksq3

If the setting already exists in the database, the record is deleted from the ProgramSettingValues table as expected.

I have tested this in v5.7.10 and also v5.3.0 and the same happens in both, so it’s a long standing bug, not something recently introduced.