可以从错误中恢复的函数的术语是什么?

问题描述 投票:0回答:1

我正在寻找一个单个词术语来表示程序函数可以具有的属性。

长时间运行的 SQL 脚本很常见,可能会失败或崩溃:如果在没有此属性的情况下编写,此类脚本可能会中途崩溃。一旦这样的脚本执行此操作,唯一的解决方案就是找到程序崩溃的位置,然后手动调整代码以从该点开始。

但是,如果使用该属性编写,则可以简单地重新启动崩溃的脚本(例如,由于断电),并将导致与运行完成时相同的状态。

例如,做:

INSERT INTO `customers` (`id`, `name`) VALUES ('1', 'Stephenson')
INSERT INTO `customers` (`id`, `name`) VALUES ('2', 'Boulton')

对:

INSERT INTO `customers` (`id`, `name`) VALUES ('1', 'Stephenson') ON DUPLICATE KEY UPDATE `name`='Stephenson'
INSERT INTO `customers` (`id`, `name`) VALUES ('2', 'Boulton') ON DUPLICATE KEY UPDATE `name`='Boulton'

(当然,这个例子有点病态,因为只有两条记录,但如果有数百万条记录,那就更有意义了)。

这个词是什么?

terminology
1个回答
0
投票

VLL 的评论为我指出了正确的答案,在链接的维基页面上指出;

幂等性

其中运行函数两次或部分函数两次的结果与运行一次的结果相同。可重入仅要求函数不出错,幂等性更强一些,因为它不仅不会出错,通过重新运行函数“恢复”的最终结果必须与运行一次完全相同 -通过,这通常是意图。如果我的“安全”sql 在服务器崩溃并重新启动时插入数据库中应有的账单数量的两倍,客户就会抱怨,即使从技术上讲“没有任何错误”。

确切的差异相当小,与重复论与重言式平行,有很多重叠。

© www.soinside.com 2019 - 2024. All rights reserved.