Changes between Version 4 and Version 5 of FDORfc58
- Timestamp:
- 04/17/11 19:43:29 (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TabularUnified FDORfc58
v4 v5 1 = FDO RFC 58 - Keep It after One Long Transaction is Committed =1 = FDO RFC 58 - Keep It after One Long Transaction is Committed or Rollbacked = 2 2 3 3 This page contains a request for comments document (RFC) for the FDO Open Source project. … … 22 22 == Overview == 23 23 24 The RFC is to add an extra parameter to FdoICommitLongTransaction command to indicate whether to remove the long transaction after is committed successfully or to keep it.24 The RFC is to add an extra parameter to FdoICommitLongTransaction and FdoIRollbackLongTransaction command to indicate whether to remove the long transaction after it is committed or rollbacked successfully or to keep it. 25 25 26 26 == Motivation == 27 27 28 Currently after executing FdoICommitLongTransaction command successfully, FDO will merge changes in this long transaction to the parent version and delete the child version. Based on feedback from ArcSDE users, they would like to see a mergeoperation that does not remove the child. They want to keep using the child version to reuse for further editing work.28 Currently after executing FdoICommitLongTransaction command successfully, FDO will merge changes in this long transaction to the parent version and delete the child version. FDO will similarly drop changes in a long transaction and remove it after executing FdoIRollbackLongTransaction command successfully. Based on feedback from ArcSDE users, they would like to see a merge/drop operation that does not remove the child. They want to keep using the child version to reuse for further editing work. 29 29 30 30 == Proposed Solution == 31 31 32 The proposed solution is to add an extra parameter to FdoICommitLongTransaction command to indicate whether to keep the committed long transaction in the version graph and not remove it. Its default value is false. It means removing the long transaction from version graph after it is committed. Changes to class FdoICommitLongTransaction are as follows.32 The proposed solution is to add an extra parameter to FdoICommitLongTransaction and FdoIRollbackLongTransaction command to indicate whether to keep the long transaction in the version graph and not remove it. Its default value is false. It means removing the long transaction from version graph after it is committed or rollbacked. Changes to class FdoICommitLongTransaction and FdoIRollbackLongTransaction are as follows. 33 33 34 34 {{{ … … 60 60 ...... 61 61 }; 62 63 class FdoIRollbackLongTransaction : public FdoIFeatureCommand 64 { 65 public: 66 /// \brief 67 /// Returns true if keeping the long transaction after it is rollbacked. 68 /// Returns false if remove the long transaction after it is rollbacked. 69 /// Default value for KeepLongTransaction is false. 70 /// 71 /// \return 72 /// Returns true if keeping the long transaction after it is rollbacked. 73 /// 74 FDO_API virtual FdoBoolean GetKeepLongTransaction () = 0; 75 76 /// \brief 77 /// Sets whether to keep the long transaction after it is rollbacked. 78 /// Default value for KeepLongTransaction is false. 79 /// 80 /// \param value 81 /// Input one boolean value to indicate whether to keep the rollbacked 82 /// long transaction 83 /// 84 /// \return 85 /// Returns nothing 86 /// 87 FDO_API virtual void SetKeepLongTransaction (FdoBoolean value) = 0; 88 ...... 89 }; 62 90 }}} 63 91