Opened 13 years ago

Closed 4 years ago

#765 closed enhancement (fixed)

Implement FDO RFC 61

Reported by: samwang Owned by: Sam Wang
Priority: major Milestone: 3.7.0
Component: FDO API Version: 3.7.0
Severity: 2 Keywords:
Cc: External ID:

Description

Part I- Add FDO save point API interface methods

This submission is the first part of RFC 61(http://trac.osgeo.org/fdo/wiki/FDORfc61) implementation.

This submission adds three interface methods in FdoITransaction interface.

class FdoITransaction : public FdoIDisposable
{
    ......
    /// \brief
    ///  Create a save point in this transaction.
    /// 
    /// \param suggestName
    /// Suggested save point name.
    /// 
    /// \returns 
    /// The actual name used by the provider 
    FDO_API virtual FdoString* AddSavePoint(FdoString* suggestName) = 0;

    /// \brief
    ///  Release a specific save point.
    /// 
    /// \param savePointName 
    /// Save point name.
    /// 
    /// \returns 
    /// Returns nothing

    FDO_API virtual void ReleaseSavePoint(FdoString* savePointName) = 0;

    /// \brief
    ///  Rollback the transaction to a specified save point.
    /// 
    /// \param savePointName 
    /// Save point name.
    /// 
    /// \returns 
    /// Returns nothing 
    FDO_API virtual void Rollback(FdoString* savePointName) = 0;
    ......
}

Also a capability interface has to be added to support query for save point capabilities.

class FdoIConnectionCapabilities : public FdoIDisposable
{
    ......
    /// \brief
    /// Returns whether the current connection supports save point.
    /// 
    /// \return
    /// Returns true if the current connection supports save point, false otherwise.
    /// 
    FDO_API virtual bool SupportsSavePoint() = 0;
    ......
}

All providers have been updated with the above interface changes.

Change History (1)

comment:1 by jng, 4 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.