FDO RFC 8 - Add New Methods to FdoClassDefinition

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.


RFC Template Version(1.0)
Submission DateJuly 25, 2007
Last Modified Barbara Zoladek Timestamp
Author Barbara Zoladek
RFC Statusdraft
Implementation Status under development
Proposed Milestone(e.g. 1.1, 1.3)
Assigned PSC guide(s) Greg Boone
Voting History
+1Bob, Mateusz
-1Greg (troublemaker)


The purpose of this RFC is to enhance the FdoClassDefinition class by adding new methods GetIsViewBased() and SetIsViewBased().


Existing FdoClassDefinition does not contain any information that would allow to determine a type of the base RDBMS object. There are cases when view-based classes should be distinguished from table-based classes to be able to handle behavioral differences:

  • Editing schema. View definition cannot be changed and therefore class schema cannot be changed.
  • Editing property values. Class data may not be editable.

Proposed Solution

The following shows the proposed changes to FdoClassDefinition:

     class FdoClassDefinition : public FdoSchemaElement
            /// \brief
            /// Gets the value of m_IsViewBased. It is true if a class is based on view; otherwise is false.
            /// \return
            /// Returns bool
	        FDO_API bool GetIsViewBased();

	    /// \brief
            /// Sets the value of m_IsViewBased. It is true if a class is based on view; otherwise is false.
            /// This is an internal method that can only be called by providers. Application should not use this method.
            /// \return
            /// Returns nothing
	        FDO_API void SetIsViewBased( bool value );
            FdoBoolean	m_isViewBased;


This change will not cause any functional or performance side effects.

Test Plan

Exisitng unit tests will be enhanced.

Last modified 16 years ago Last modified on Jul 24, 2007, 8:51:29 PM
Note: See TracWiki for help on using the wiki.