Changes between Initial Version and Version 1 of FDORfc8_draft


Ignore:
Timestamp:
Jul 24, 2007, 8:51:29 PM (17 years ago)
Author:
barbarazoladek
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FDORfc8_draft

    v1 v1  
     1= FDO RFC 8 - Add New Methods to !FdoClassDefinition =
     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.0)||
     9||Submission Date||July 25, 2007||
     10||Last Modified|| Barbara Zoladek [[Timestamp]]||
     11||Author|| Barbara Zoladek||
     12||RFC Status||draft ||
     13||Implementation Status|| under development||
     14||Proposed Milestone||(e.g. 1.1, 1.3)||
     15||Assigned PSC guide(s)|| Greg Boone||
     16||'''Voting History'''||||
     17||+1||Bob, Mateusz||
     18||+0||Frank||
     19||-0||Orest||
     20||-1||Greg (troublemaker)||
     21 
     22== Overview ==
     23
     24The purpose of this RFC is to enhance the !FdoClassDefinition class by adding new methods !GetIsViewBased() and !SetIsViewBased().
     25
     26
     27== Motivation ==
     28
     29Existing FdoClassDefinition does not contain any information that would allow to determine a type of the base RDBMS object.
     30There are cases when view-based classes should be distinguished from table-based classes to be able to handle behavioral differences:
     31
     32* Editing schema. View definition cannot be changed and therefore class schema cannot be changed.
     33
     34* Editing property values. Class data may not be editable.
     35
     36
     37== Proposed Solution ==
     38
     39The following shows the proposed changes to !FdoClassDefinition:
     40
     41{{{
     42     class FdoClassDefinition : public FdoSchemaElement
     43     {
     44        ...
     45        public:
     46            ...
     47            /// \brief
     48            /// Gets the value of m_IsViewBased. It is true if a class is based on view; otherwise is false.
     49            ///
     50            /// \return
     51            /// Returns bool
     52            ///
     53                FDO_API bool GetIsViewBased();
     54
     55            /// \brief
     56            /// Sets the value of m_IsViewBased. It is true if a class is based on view; otherwise is false.
     57            /// This is an internal method that can only be called by providers. Application should not use this method.
     58            ///
     59            /// \return
     60            /// Returns nothing
     61            ///
     62                FDO_API void SetIsViewBased( bool value );
     63            ...
     64       
     65         private:
     66            ...
     67            FdoBoolean  m_isViewBased;
     68            ...
     69       }
     70
     71}}}
     72== Implications ==
     73
     74This change will not cause any functional or performance side effects.
     75
     76== Test Plan ==
     77
     78Exisitng unit tests will be enhanced.
     79