Progress 4GL - 在 CRC 上没有 effect/effect 的某些更改是什么?
Progress 4GL - What are certain changes that have no effect/effect on CRC?
我是 progress 4GL 的新手,我想知道对 CRC 有 effect/no 影响的某些变化是什么?
当我第一次在 db 中加载新的 xxbd_det.df 文件并编译 .p 时会发生什么?
当我删除同一个 xxbd_det.df 文件并在同一个数据库中重新加载它时会发生什么?已经存在的 .r 中的 CRC 值将与 table xx ?
匹配
这是一个复杂的主题,具有 OpenEdge 版本相关的微妙之处,因此我将保持非常高的水平。
不再有一个 CRC 将 r 代码与数据库相关联。值得庆幸的是,大约 30 年前就不再是这种情况了。
添加 tables、字段和索引不会使任何现代版本中的现有 r 代码无效。现有的 r 代码将无法使用新对象,但它们也不会破坏任何东西。
话虽如此,动态编码查询可以引用新对象。因为它们是动态的,所以编译器不会强制执行任何有关匹配 CRC 的内容。
如果删除对象(删除 table、字段或索引),引用该对象的 r 代码将失败。您必须重新编译此类 r 代码。在索引的情况下,编译器将选择不同的索引。删除tables和字段将需要您修改代码。
更改某些属性不会破坏任何内容(例如更改字段的格式)。
重命名会破坏您的代码。
用具有相同名称和结构的新对象替换已删除的对象(问题的第二部分)可能不需要重新编译,但我不想养成这样的习惯它。
我是 progress 4GL 的新手,我想知道对 CRC 有 effect/no 影响的某些变化是什么?
当我第一次在 db 中加载新的 xxbd_det.df 文件并编译 .p 时会发生什么? 当我删除同一个 xxbd_det.df 文件并在同一个数据库中重新加载它时会发生什么?已经存在的 .r 中的 CRC 值将与 table xx ?
匹配这是一个复杂的主题,具有 OpenEdge 版本相关的微妙之处,因此我将保持非常高的水平。
不再有一个 CRC 将 r 代码与数据库相关联。值得庆幸的是,大约 30 年前就不再是这种情况了。
添加 tables、字段和索引不会使任何现代版本中的现有 r 代码无效。现有的 r 代码将无法使用新对象,但它们也不会破坏任何东西。
话虽如此,动态编码查询可以引用新对象。因为它们是动态的,所以编译器不会强制执行任何有关匹配 CRC 的内容。
如果删除对象(删除 table、字段或索引),引用该对象的 r 代码将失败。您必须重新编译此类 r 代码。在索引的情况下,编译器将选择不同的索引。删除tables和字段将需要您修改代码。
更改某些属性不会破坏任何内容(例如更改字段的格式)。
重命名会破坏您的代码。
用具有相同名称和结构的新对象替换已删除的对象(问题的第二部分)可能不需要重新编译,但我不想养成这样的习惯它。