Changes between Initial Version and Version 1 of FDORfc58


Ignore:
Timestamp:
Mar 28, 2011, 9:51:15 PM (13 years ago)
Author:
leaf
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FDORfc58

    v1 v1  
     1= FDO RFC 58 - Keep It after One Long Transaction is Committed =
     2
     3This page contains a request for comments document (RFC) for the FDO Open Source project. 
     4More FDO RFCs can be found on the [wiki:FDORfcs RFCs] page.
     5
     6== Status ==
     7 
     8||RFC Template Version||1.1||
     9||Submission Date||March 29, 2011||
     10||Last Modified||Leaf Li, March 29, 2011||
     11||Author||Leaf Li||
     12||RFC Status||proposed||
     13||Implementation Status||Ready For Review||
     14||Proposed Milestone||3.7.0.0||
     15||Assigned PSC guide(s)||Orest Halustchak, Greg Boone||
     16||'''Voting History'''||(vote date)||
     17||+1||||
     18||+0||||
     19||-0||||
     20||-1||||
     21 
     22== Overview ==
     23
     24The RFC is to add an extra parameter to FdoICommitLongTransaction command to indicate whether to remove it from version graph after one long transaction is committed successfully.
     25
     26== Motivation ==
     27
     28Currently 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 merge operation that does not remove the child. They want to keep using the child version for editing.
     29
     30== Proposed Solution ==
     31
     32The proposed solution is to add an extra parameter to FdoICommitLongTransaction command to indicate whether to keep the committed long transaction from version graph. 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.
     33
     34{{{
     35class FdoICommitLongTransaction: public FdoIFeatureCommand
     36{
     37public:
     38    /// \brief
     39    /// Returns true if keeping it after the long transaction is committed.
     40    /// Returns false if remove it after the long transaction is committed.
     41    ///
     42    /// \return
     43    /// Returns true if keeping the long transaction after it is committed.
     44    ///
     45    FDO_API virtual FdoBoolean WillKeepLongTransaction () = 0;
     46
     47    /// \brief
     48    /// Sets whether to keep it after the long transaction is committed.
     49    ///
     50    /// \param value
     51    /// Input one boolean value to indicate whether to keep the committed
     52    /// long transaction
     53    ///
     54    /// \return
     55    /// Returns nothing
     56    ///
     57    FDO_API virtual void KeepLongTransaction (FdoBoolean value) = 0;
     58    ......
     59};
     60}}}
     61
     62== Implications ==
     63
     64ArcSDE provider will be modified to support this extra parameter.
     65
     66== Test Plan ==
     67
     68ArcSDE provider unit tests will be expanded to test the proposed enhancements defined above.
     69
     70== !Funding/Resources ==
     71
     72Autodesk to provide resources / funding