Lobster25 Asked:2024-04-11 23:17:18 +0000 UTC2024-04-11 23:17:18 +0000 UTC 2024-04-11 23:17:18 +0000 UTC Postgres 中的嵌套不可变函数 772 有一个不可变函数 (F1) 在其内部调用另一个不可变函数 (F2)。 告诉我,F1 会继续使用不变性奖金吗?特别是重用结果? sql 1 个回答 Voted Best Answer Мелкий 2024-04-12T00:12:31Z2024-04-12T00:12:31Z 是的。 如果一个函数被声明为不可变的,则基类将认为它是不可变的并应用有效的优化 - 无论该函数做什么,并且根本不检查函数内部的任何内容。即使您在函数声明中撒了谎,并且这样的函数不应该是不可变的(例如,因为它取决于设置或读取某些表),那么这将是您的问题,而不是数据库的错误。
是的。
如果一个函数被声明为不可变的,则基类将认为它是不可变的并应用有效的优化 - 无论该函数做什么,并且根本不检查函数内部的任何内容。即使您在函数声明中撒了谎,并且这样的函数不应该是不可变的(例如,因为它取决于设置或读取某些表),那么这将是您的问题,而不是数据库的错误。