I have a SQL function that I defined myself. Let's call it MyFunction(). I use MyFunction in generated columns of 2 distinct tables. Whe trying to delete MyFunction, the DB correctly raises an error. However, when I `CREATE OR REPLACE` this existing function in place, the DB silently drop all the generated columns depending on this function. This is not the expected behavior. I should get either an error, or no columns should be dropped. if they are dropped, I should get at the very least a warning.
This is pretty major: having columns disappear magically on prod dbs is not what postgres usually do.