Defining which features are supported
There are a basic number of features that a CDSC must support, and there are a number of additional features, such as aggregation and expression evaluation, that are optional. When a CDSC does not implement these features, they are automatically implemented by the Case Data Model. However, you might prefer to implement aggregation services, for example, in your CDSC, because, knowing the structure of the underlying data, you believe it will perform these services faster.
The CDSC must have a property map to let client components, such as the Provider (mrOleDb.dll), know what it supports.
In the Visual C++ skeleton project, the property map is in the file source.h. The default property map in the skeleton Visual C++ project is:
BEGIN_DM_PROP_MAP
DM_PROP_MAP_INFO_BOOL("Aggregates", false)
DM_PROP_MAP_INFO_BOOL("Can Update", false)
DM_PROP_MAP_INFO_BOOL("Can Add", false)
DM_PROP_MAP_INFO_BOOL("Can Delete", false)
DM_PROP_MAP_INFO_BOOL("Can Select", false)
DM_PROP_MAP_INFO_BOOL("DDL Column", false)
DM_PROP_MAP_INFO_BOOL("DDL Hierarchical Column", false)
DM_PROP_MAP_INFO_BOOL("DDL Hierarchical Table", false)
DM_PROP_MAP_INFO_BOOL("DDL Table", false)
DM_PROP_MAP_INFO_BOOL("Expressions", false)
DM_PROP_MAP_INFO_BOOL("HDATA", false)
DM_PROP_MAP_INFO_LONG("Max Commands", 1)
DM_PROP_MAP_INFO_LONG("Max Text Size", 0)
DM_PROP_MAP_INFO_BOOL("Scroll Backward", false)
DM_PROP_MAP_INFO_BOOL("SDATA", false)
DM_PROP_MAP_INFO_BOOL("Stream Binary", false)
DM_PROP_MAP_INFO_BOOL("Use Where", false)
DM_PROP_MAP_INFO_BOOL("Use Group By", false)
DM_PROP_MAP_INFO_BOOL("Use Having", false)
DM_PROP_MAP_INFO_BOOL("Use Order By", false)
DM_PROP_MAP_INFO_BOOL("Use Command Properties", false)
DM_PROP_MAP_INFO_BOOL("Use Binding Properties", false)
DM_PROP_MAP_INFO_BOOL("VDATA", true)
END_DM_PROP_MAP
For details of the CDSC Interface properties, see
CDSC interface.
See also