wiki:FDORfc58

Version 1 (modified by leaf, 13 years ago) ( diff )

--

FDO RFC 58 - Keep It after One Long Transaction is Committed

This page contains a request for comments document (RFC) for the FDO Open Source project. More FDO RFCs can be found on the RFCs page.

Status

RFC Template Version1.1
Submission DateMarch 29, 2011
Last ModifiedLeaf Li, March 29, 2011
AuthorLeaf Li
RFC Statusproposed
Implementation StatusReady For Review
Proposed Milestone3.7.0.0
Assigned PSC guide(s)Orest Halustchak, Greg Boone
Voting History(vote date)
+1
+0
-0
-1

Overview

The 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.

Motivation

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 merge operation that does not remove the child. They want to keep using the child version for editing.

Proposed Solution

The 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.

class FdoICommitLongTransaction: public FdoIFeatureCommand
{
public:
    /// \brief
    /// Returns true if keeping it after the long transaction is committed.
    /// Returns false if remove it after the long transaction is committed.
    /// 
    /// \return
    /// Returns true if keeping the long transaction after it is committed.
    /// 
    FDO_API virtual FdoBoolean WillKeepLongTransaction () = 0;

    /// \brief
    /// Sets whether to keep it after the long transaction is committed.
    ///
    /// \param value 
    /// Input one boolean value to indicate whether to keep the committed
    /// long transaction
    /// 
    /// \return
    /// Returns nothing
    /// 
    FDO_API virtual void KeepLongTransaction (FdoBoolean value) = 0;
    ......
};

Implications

ArcSDE provider will be modified to support this extra parameter.

Test Plan

ArcSDE provider unit tests will be expanded to test the proposed enhancements defined above.

Funding/Resources

Autodesk to provide resources / funding

Note: See TracWiki for help on using the wiki.