2025-11-28 00:35:46 +09:00

8493 lines
241 KiB
C++

//--------------------------------------------------------------------
// Microsoft OLE DB Testing
//
// Copyright 1995-2000 Microsoft Corporation. All Rights Reserved.
//
// @doc
//
// @module ISESPRPT.CPP | Source code for autotest ISESPRPT.CPP.
//
#include "MODStandard.hpp" // Standard headers, precompiled in modcore.cpp
#define DBINITCONSTANTS // Must be defined to initialize constants in OLEDB.H
#define INITGUID
#include "ISesPrpt.h" // Testcase's header
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Module Values
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// {{ TCW_MODULE_GLOBALS
DECLARE_MODULE_CLSID = { 0xac817440, 0x9e1f, 0x11d0, { 0x99, 0x51, 0x00, 0xaa, 0x00, 0x37, 0xda, 0x9b }};
DECLARE_MODULE_NAME("ISessionProperties");
DECLARE_MODULE_OWNER("Microsoft");
DECLARE_MODULE_DESCRIP("Test module for ISessionProperties Interfaces");
DECLARE_MODULE_VERSION(831416337);
// TCW_WizardVersion(2)
// TCW_Automation(True)
// }} TCW_MODULE_GLOBALS_END
//Has function InitGetPropDefault been executed yet?
BOOL g_fInitGetPropDefault=FALSE;
BOOL g_fExtraSesProp=FALSE;
//Global for &DBPROPERTYSUPPORT attributes
struct DBPrptAttr
{
const GUID *pGuidPropertySet; //The GUID of the property set
DBPROPID dwPropertyID; //The ID of the property
BOOL fSupported; //Whether the property is supported
BOOL fSettable; //Whether the property is settable
VARTYPE vtType; //The type of the property
VARIANT vDefault; //The default of the property
WCHAR wszDescription[DESCRIPTION_SIZE]; //The description of the property
}g_rgDBProperties[]={
//
//pGuidPropertySet dwPropertyID fSupported fSettable vtType vDefault Description
//================ ============ ========== ========= ====== ======== ============
&DBPROPSET_COLUMN, DBPROP_COL_AUTOINCREMENT, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Autoincrement\0",
&DBPROPSET_COLUMN, DBPROP_COL_DEFAULT, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Default\0",
&DBPROPSET_COLUMN, DBPROP_COL_DESCRIPTION, FALSE, TRUE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Description\0",
&DBPROPSET_COLUMN, DBPROP_COL_FIXEDLENGTH, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Fixed Length\0",
&DBPROPSET_COLUMN, DBPROP_COL_INCREMENT, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Increment\0",
&DBPROPSET_COLUMN, DBPROP_COL_ISLONG, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Is Long\0",
&DBPROPSET_COLUMN, DBPROP_COL_NULLABLE, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Nullable\0",
&DBPROPSET_COLUMN, DBPROP_COL_PRIMARYKEY, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Primary Key\0",
&DBPROPSET_COLUMN, DBPROP_COL_SEED, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Seed\0",
&DBPROPSET_COLUMN, DBPROP_COL_UNIQUE, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Unique\0",
&DBPROPSET_COLUMN, DBPROP_COLUMNLCID, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Column LCID\0",
&DBPROPSET_DATASOURCE, DBPROP_CURRENTCATALOG, FALSE, TRUE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Current Catalog\0",
&DBPROPSET_DATASOURCE, DBPROP_MULTIPLECONNECTIONS, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Multiple Connections\0",
&DBPROPSET_DATASOURCE, DBPROP_RESETDATASOURCE, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Reset Datasource\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_ACTIVESESSIONS, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Active Sessions\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_ALTERCOLUMN, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Alter Column Support\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_ASYNCTXNABORT, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Asynchable Abort\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_ASYNCTXNCOMMIT, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Asynchable Commit\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_BYREFACCESSORS, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Pass By Ref Accessors\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_CATALOGLOCATION, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Catalog Location\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_CATALOGTERM, FALSE, FALSE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Catalog Term\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_CATALOGUSAGE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Catalog Usage\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_COLUMNDEFINITION, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Column Definition\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_COMSERVICES, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"COM Service Support\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_CONCATNULLBEHAVIOR, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"NULL Concatenation Behavior\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_CONNECTIONSTATUS, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Connection Status\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_DATASOURCENAME, FALSE, FALSE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Data Source Name\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_DATASOURCEREADONLY, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Read-Only Data Source\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_DATASOURCE_TYPE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Data Source Type\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_DBMSNAME, FALSE, FALSE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"DBMS Name\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_DBMSVER, FALSE, FALSE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"DBMS Version\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_DSOTHREADMODEL, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Data Source Object Threading Model\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_GENERATEURL, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"URL Generation\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_GROUPBY, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"GROUP BY Support\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_HETEROGENEOUSTABLES, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Heterogeneous Table Support\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_IDENTIFIERCASE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Identifier Case Sensitivity\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_MAXINDEXSIZE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Maximum Index Size\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_MAXOPENCHAPTERS, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Maximum Open Chapters\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_MAXROWSIZE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Maximum Row Size\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_MAXROWSIZEINCLUDESBLOB, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Maximum Row Size Includes BLOB\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_MAXTABLESINSELECT, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Maximum Tables in SELECT\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_MULTIPLEPARAMSETS, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Multiple Parameter Sets\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_MULTIPLERESULTS, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Multiple Results\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_MULTIPLESTORAGEOBJECTS, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Multiple Storage Objects\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_MULTITABLEUPDATE, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Multi-Table Update\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_NULLCOLLATION, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"NULL Collation Order\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_OLEOBJECTS, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"OLE Object Support\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_OPENROWSETSUPPORT, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Open Rowset Support\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_ORDERBYCOLUMNSINSELECT, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"ORDER BY Columns in Select List\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_OUTPUTPARAMETERAVAILABILITY, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Output Parameter Availability\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_PERSISTENTIDTYPE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Persistent ID Type\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_PREPAREABORTBEHAVIOR, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Prepare Abort Behavior\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_PREPARECOMMITBEHAVIOR, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Prepare Commit Behavior\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_PROCEDURETERM, FALSE, FALSE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Procedure Term\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_PROVIDERFRIENDLYNAME, FALSE, FALSE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Provider Friendly Name\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_PROVIDERMEMORY, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Provider Owned Memory\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_PROVIDERFILENAME, FALSE, FALSE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Provider Name\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_PROVIDEROLEDBVER, FALSE, FALSE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"OLE DB Version\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_PROVIDERVER, FALSE, FALSE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Provider Version\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_QUOTEDIDENTIFIERCASE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Quoted Identifier Sensitivity\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_ROWSETCONVERSIONSONCOMMAND, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Rowset Conversions on Command\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_SCHEMATERM, FALSE, FALSE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Schema Term\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_SCHEMAUSAGE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Schema Usage\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_SERVERNAME, FALSE, FALSE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Server Name\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_SQLSUPPORT, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"SQL Support\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_STRUCTUREDSTORAGE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Structured Storage\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_SUBQUERIES, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Subquery Support\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_SUPPORTEDTXNDDL, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Transaction DDL\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_SUPPORTEDTXNISOLEVELS, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Isolation Levels\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_SUPPORTEDTXNISORETAIN, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Isolation Retention\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_TABLETERM, FALSE, FALSE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Table Term\0",
&DBPROPSET_DATASOURCEINFO, DBPROP_USERNAME, FALSE, FALSE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"User Name\0",
&DBPROPSET_INDEX, DBPROP_INDEX_AUTOUPDATE, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Auto-Update\0",
&DBPROPSET_INDEX, DBPROP_INDEX_CLUSTERED, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Clustered\0",
&DBPROPSET_INDEX, DBPROP_INDEX_FILLFACTOR, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Fill Factor\0",
&DBPROPSET_INDEX, DBPROP_INDEX_INITIALSIZE, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Initial Size\0",
&DBPROPSET_INDEX, DBPROP_INDEX_NULLCOLLATION, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"NULL Collation\0",
&DBPROPSET_INDEX, DBPROP_INDEX_NULLS, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"NULL Keys\0",
&DBPROPSET_INDEX, DBPROP_INDEX_PRIMARYKEY, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Primary Key\0",
&DBPROPSET_INDEX, DBPROP_INDEX_SORTBOOKMARKS, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Sort Bookmarks\0",
&DBPROPSET_INDEX, DBPROP_INDEX_TEMPINDEX, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Temporary Index\0",
&DBPROPSET_INDEX, DBPROP_INDEX_TYPE, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Index Type\0",
&DBPROPSET_INDEX, DBPROP_INDEX_UNIQUE, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Unique\0",
&DBPROPSET_DBINIT, DBPROP_AUTH_CACHE_AUTHINFO, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Cache Authentication\0",
&DBPROPSET_DBINIT, DBPROP_AUTH_ENCRYPT_PASSWORD, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Encrypt Password\0",
&DBPROPSET_DBINIT, DBPROP_AUTH_INTEGRATED, FALSE, TRUE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Integrated Security\0",
&DBPROPSET_DBINIT, DBPROP_AUTH_MASK_PASSWORD, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Mask Password\0",
&DBPROPSET_DBINIT, DBPROP_AUTH_PASSWORD, FALSE, TRUE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Password\0",
&DBPROPSET_DBINIT, DBPROP_AUTH_PERSIST_ENCRYPTED, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Persist Encrypted\0",
&DBPROPSET_DBINIT, DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Persist Security Info\0",
&DBPROPSET_DBINIT, DBPROP_AUTH_USERID, FALSE, TRUE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"User ID\0",
&DBPROPSET_DBINIT, DBPROP_INIT_ASYNCH, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Asynchronous Processing\0",
&DBPROPSET_DBINIT, DBPROP_INIT_BINDFLAGS, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Bind Flags\0",
&DBPROPSET_DBINIT, DBPROP_INIT_CATALOG, FALSE, TRUE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Initial Catalog\0",
&DBPROPSET_DBINIT, DBPROP_INIT_DATASOURCE, FALSE, TRUE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Data Source\0",
&DBPROPSET_DBINIT, DBPROP_INIT_GENERALTIMEOUT, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"General Timeout\0",
#ifdef _WIN64
&DBPROPSET_DBINIT, DBPROP_INIT_HWND, FALSE, TRUE, VT_I8, {VT_EMPTY,0,0,0,0}, L"Window Handle\0",
#else
&DBPROPSET_DBINIT, DBPROP_INIT_HWND, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Window Handle\0",
#endif
&DBPROPSET_DBINIT, DBPROP_INIT_IMPERSONATION_LEVEL, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Impersonation Level\0",
&DBPROPSET_DBINIT, DBPROP_INIT_LCID, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Locale Identifier\0",
&DBPROPSET_DBINIT, DBPROP_INIT_LOCATION, FALSE, TRUE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Location\0",
&DBPROPSET_DBINIT, DBPROP_INIT_LOCKOWNER, FALSE, TRUE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Lock Owner\0",
&DBPROPSET_DBINIT, DBPROP_INIT_MODE, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Mode\0",
&DBPROPSET_DBINIT, DBPROP_INIT_OLEDBSERVICES, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"OLE DB Services\0",
&DBPROPSET_DBINIT, DBPROP_INIT_PROMPT, FALSE, TRUE, VT_I2, {VT_EMPTY,0,0,0,0}, L"Prompt\0",
&DBPROPSET_DBINIT, DBPROP_INIT_PROTECTION_LEVEL, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Protection Level\0",
&DBPROPSET_DBINIT, DBPROP_INIT_PROVIDERSTRING, FALSE, TRUE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Extended Properties\0",
&DBPROPSET_DBINIT, DBPROP_INIT_TIMEOUT, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Connect Timeout\0",
&DBPROPSET_ROWSET, DBPROP_ABORTPRESERVE, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Preserve on Abort\0",
&DBPROPSET_ROWSET, DBPROP_ACCESSORDER, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Access Order\0",
&DBPROPSET_ROWSET, DBPROP_APPENDONLY, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Append-Only Rowset\0",
&DBPROPSET_ROWSET, DBPROP_BLOCKINGSTORAGEOBJECTS, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Blocking Storage Objects\0",
&DBPROPSET_ROWSET, DBPROP_BOOKMARKINFO, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Bookmark Information\0",
&DBPROPSET_ROWSET, DBPROP_BOOKMARKS, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Use Bookmarks\0",
&DBPROPSET_ROWSET, DBPROP_BOOKMARKSKIPPED, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Skip Deleted Bookmarks\0",
&DBPROPSET_ROWSET, DBPROP_BOOKMARKTYPE, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Bookmark Type\0",
&DBPROPSET_ROWSET, DBPROP_CACHEDEFERRED, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Cache Deferred Columns\0",
&DBPROPSET_ROWSET, DBPROP_CANFETCHBACKWARDS, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Fetch Backwards\0",
&DBPROPSET_ROWSET, DBPROP_CANHOLDROWS, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Hold Rows\0",
&DBPROPSET_ROWSET, DBPROP_CANSCROLLBACKWARDS, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Scroll Backwards\0",
&DBPROPSET_ROWSET, DBPROP_CHANGEINSERTEDROWS, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Change Inserted Rows\0",
&DBPROPSET_ROWSET, DBPROP_CLIENTCURSOR, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Client Cursor\0",
&DBPROPSET_ROWSET, DBPROP_COLUMNRESTRICT, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Column Privileges\0",
&DBPROPSET_ROWSET, DBPROP_COMMANDTIMEOUT, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Command Time Out\0",
&DBPROPSET_ROWSET, DBPROP_COMMITPRESERVE, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Preserve on Commit\0",
&DBPROPSET_ROWSET, DBPROP_DEFERRED, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Defer Column\0",
&DBPROPSET_ROWSET, DBPROP_DELAYSTORAGEOBJECTS, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Delay Storage Object Updates\0",
&DBPROPSET_ROWSET, DBPROP_FINDCOMPAREOPS, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Find Operations\0",
&DBPROPSET_ROWSET, DBPROP_HIDDENCOLUMNS, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Hidden Columns\0",
&DBPROPSET_ROWSET, DBPROP_IMMOBILEROWS, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Immobile Rows\0",
&DBPROPSET_ROWSET, DBPROP_LITERALBOOKMARKS, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Literal Bookmarks\0",
&DBPROPSET_ROWSET, DBPROP_LITERALIDENTITY, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Literal Row Identity\0",
&DBPROPSET_ROWSET, DBPROP_LOCKMODE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Lock Mode\0",
&DBPROPSET_ROWSET, DBPROP_MAXOPENROWS, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Maximum Open Rows\0",
&DBPROPSET_ROWSET, DBPROP_MAXPENDINGROWS, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Maximum Pending Rows\0",
&DBPROPSET_ROWSET, DBPROP_MAXROWS, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Maximum Rows\0",
&DBPROPSET_ROWSET, DBPROP_MAYWRITECOLUMN, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Column Writable\0",
&DBPROPSET_ROWSET, DBPROP_MEMORYUSAGE, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Memory Usage\0",
&DBPROPSET_ROWSET, DBPROP_NOTIFICATIONGRANULARITY, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Notification Granularity\0",
&DBPROPSET_ROWSET, DBPROP_NOTIFICATIONPHASES, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Notification Phases\0",
&DBPROPSET_ROWSET, DBPROP_NOTIFYCOLUMNSET, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Column Set Notification\0",
&DBPROPSET_ROWSET, DBPROP_NOTIFYROWDELETE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Row Delete Notification\0",
&DBPROPSET_ROWSET, DBPROP_NOTIFYROWFIRSTCHANGE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Row First Change Notification\0",
&DBPROPSET_ROWSET, DBPROP_NOTIFYROWINSERT, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Row Insert Notification\0",
&DBPROPSET_ROWSET, DBPROP_NOTIFYROWRESYNCH, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Row Resynchronization Notification\0",
&DBPROPSET_ROWSET, DBPROP_NOTIFYROWSETCHANGED, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Rowset Change Notification\0",
&DBPROPSET_ROWSET, DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Rowset Fetch Position Change Notification\0",
&DBPROPSET_ROWSET, DBPROP_NOTIFYROWSETRELEASE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Rowset Release Notification\0",
&DBPROPSET_ROWSET, DBPROP_NOTIFYROWUNDOCHANGE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Row Undo Change Notification\0",
&DBPROPSET_ROWSET, DBPROP_NOTIFYROWUNDODELETE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Row Undo Delete Notification\0",
&DBPROPSET_ROWSET, DBPROP_NOTIFYROWUNDOINSERT, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Row Undo Insert Notification\0",
&DBPROPSET_ROWSET, DBPROP_NOTIFYROWUPDATE, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Row Update Notification\0",
&DBPROPSET_ROWSET, DBPROP_ORDEREDBOOKMARKS, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Bookmarks Ordered\0",
&DBPROPSET_ROWSET, DBPROP_OTHERINSERT, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Others' Inserts Visible\0",
&DBPROPSET_ROWSET, DBPROP_OTHERUPDATEDELETE, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Others' Changes Visible\0",
&DBPROPSET_ROWSET, DBPROP_OWNINSERT, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Own Inserts Visible\0",
&DBPROPSET_ROWSET, DBPROP_OWNUPDATEDELETE, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Own Changes Visible\0",
&DBPROPSET_ROWSET, DBPROP_QUICKRESTART, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Quick Restart\0",
&DBPROPSET_ROWSET, DBPROP_REENTRANTEVENTS, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Reentrant Events\0",
&DBPROPSET_ROWSET, DBPROP_REMOVEDELETED, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Remove Deleted Rows\0",
&DBPROPSET_ROWSET, DBPROP_REPORTMULTIPLECHANGES, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Report Multiple Changes\0",
&DBPROPSET_ROWSET, DBPROP_RETURNPENDINGINSERTS, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Return Pending Inserts\0",
&DBPROPSET_ROWSET, DBPROP_ROW_BULKOPS, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Bulk Operations\0",
&DBPROPSET_ROWSET, DBPROP_ROWRESTRICT, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Row Privileges\0",
&DBPROPSET_ROWSET, DBPROP_ROWSET_ASYNCH, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Asynchronous Rowset Processing\0",
&DBPROPSET_ROWSET, DBPROP_ROWTHREADMODEL, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Row Threading Model\0",
&DBPROPSET_ROWSET, DBPROP_SERVERCURSOR, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Server Cursor\0",
&DBPROPSET_ROWSET, DBPROP_SERVERDATAONINSERT, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Server Data on Insert\0",
&DBPROPSET_ROWSET, DBPROP_STORAGEFLAGS, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Storage Flags\0",
&DBPROPSET_ROWSET, DBPROP_STRONGIDENTITY, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Strong Row Identity\0",
&DBPROPSET_ROWSET, DBPROP_TRANSACTEDOBJECT, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Objects Transacted\0",
&DBPROPSET_ROWSET, DBPROP_UNIQUEROWS, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Unique Rows\0",
&DBPROPSET_ROWSET, DBPROP_UPDATABILITY, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Updatability\0",
&DBPROPSET_ROWSET, DBPROP_IAccessor, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IAccessor\0",
&DBPROPSET_ROWSET, DBPROP_IBindResource, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IBindResource\0",
&DBPROPSET_ROWSET, DBPROP_IChapteredRowset, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IChapteredRowset\0",
&DBPROPSET_ROWSET, DBPROP_IColumnsInfo, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IColumnsInfo\0",
&DBPROPSET_ROWSET, DBPROP_IColumnsInfo2, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IColumnsInfo2\0",
&DBPROPSET_ROWSET, DBPROP_IColumnsRowset, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IColumnsRowset\0",
&DBPROPSET_ROWSET, DBPROP_IConnectionPointContainer, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IConnectionPointContainer\0",
&DBPROPSET_ROWSET, DBPROP_IConvertType, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IConvertType\0",
&DBPROPSET_ROWSET, DBPROP_ICreateRow, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"ICreateRow\0",
&DBPROPSET_ROWSET, DBPROP_IDBAsynchStatus, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IDBAsynchStatus\0",
&DBPROPSET_ROWSET, DBPROP_IDBBinderProperties, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IDBBinderProperties\0",
&DBPROPSET_ROWSET, DBPROP_IGetRow, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IGetRow\0",
&DBPROPSET_ROWSET, DBPROP_IGetSession, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IGetSession\0",
&DBPROPSET_ROWSET, DBPROP_IGetSourceRow, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IGetSourceRow\0",
&DBPROPSET_ROWSET, DBPROP_IMultipleResults, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IMultipleResults\0",
&DBPROPSET_ROWSET, DBPROP_IParentRowset, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IParentRowset\0",
&DBPROPSET_ROWSET, DBPROP_IRegisterProvider, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRegisterProvider\0",
&DBPROPSET_ROWSET, DBPROP_IRow, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRow\0",
&DBPROPSET_ROWSET, DBPROP_IRowChange, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRowChange\0",
&DBPROPSET_ROWSET, DBPROP_IRowSchemaChange, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRowSchemaChange\0",
&DBPROPSET_ROWSET, DBPROP_IRowset, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRowset\0",
&DBPROPSET_ROWSET, DBPROP_IRowsetChange, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRowsetChange\0",
&DBPROPSET_ROWSET, DBPROP_IRowsetCurrentIndex, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRowsetCurrentIndex\0",
&DBPROPSET_ROWSET, DBPROP_IRowsetFind, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRowsetFind\0",
&DBPROPSET_ROWSET, DBPROP_IRowsetIdentity, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRowsetIdentity\0",
&DBPROPSET_ROWSET, DBPROP_IRowsetIndex, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRowsetIndex\0",
&DBPROPSET_ROWSET, DBPROP_IRowsetInfo, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRowsetInfo\0",
&DBPROPSET_ROWSET, DBPROP_IRowsetLocate, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRowsetLocate\0",
&DBPROPSET_ROWSET, DBPROP_IRowsetRefresh, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRowsetRefresh\0",
&DBPROPSET_ROWSET, DBPROP_IRowsetResynch, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRowsetResynch\0",
&DBPROPSET_ROWSET, DBPROP_IRowsetScroll, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRowsetScroll\0",
&DBPROPSET_ROWSET, DBPROP_IRowsetUpdate, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRowsetUpdate\0",
&DBPROPSET_ROWSET, DBPROP_IRowsetView, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IRowsetView\0",
&DBPROPSET_ROWSET, DBPROP_IScopedOperations, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IScopedOperations\0",
&DBPROPSET_ROWSET, DBPROP_ISupportErrorInfo, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"ISupportErrorInfo\0",
&DBPROPSET_ROWSET, DBPROP_ILockBytes, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"ILockBytes\0",
&DBPROPSET_ROWSET, DBPROP_ISequentialStream, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"ISequentialStream\0",
&DBPROPSET_ROWSET, DBPROP_IStorage, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IStorage\0",
&DBPROPSET_ROWSET, DBPROP_IStream, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IStream\0",
&DBPROPSET_SESSION, DBPROP_SESS_AUTOCOMMITISOLEVELS, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Autocommit Isolation Levels\0",
&DBPROPSET_TABLE, DBPROP_TBL_TEMPTABLE, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Temporary Table\0",
&DBPROPSET_TRUSTEE, DBPROP_TRUSTEE_USERNAME, FALSE, TRUE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Trustee User Name\0",
&DBPROPSET_TRUSTEE, DBPROP_TRUSTEE_AUTHENTICATION, FALSE, TRUE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"Trustee Authentication\0",
&DBPROPSET_TRUSTEE, DBPROP_TRUSTEE_NEWAUTHENTICATION, FALSE, TRUE, VT_BSTR, {VT_EMPTY,0,0,0,0}, L"New Trustee Authentication\0",
&DBPROPSET_VIEW, DBPROP_FILTERCOMPAREOPS, FALSE, TRUE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Filter Operations\0",
&DBPROPSET_VIEW, DBPROP_IAccessor, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IAccessor\0",
&DBPROPSET_VIEW, DBPROP_IColumnsInfo, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IColumnsInfo\0",
&DBPROPSET_VIEW, DBPROP_ISupportErrorInfo, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"ISupportErrorInfo\0",
&DBPROPSET_VIEW, DBPROP_IViewChapter, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IViewChapter\0",
&DBPROPSET_VIEW, DBPROP_IViewFilter, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IViewFilter\0",
&DBPROPSET_VIEW, DBPROP_IViewRowset, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IViewRowset\0",
&DBPROPSET_VIEW, DBPROP_IViewSort, FALSE, TRUE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"IViewSort\0",
&DBPROPSET_VIEW, DBPROP_MAXORSINFILTER, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Maximum OR Conditions\0",
&DBPROPSET_VIEW, DBPROP_MAXSORTCOLUMNS, FALSE, FALSE, VT_I4, {VT_EMPTY,0,0,0,0}, L"Maximum Sort Columns\0",
&DBPROPSET_VIEW, DBPROP_SORTONINDEX, FALSE, FALSE, VT_BOOL, {VT_EMPTY,0,0,0,0}, L"Sort on Index\0",
};
ULONG g_cDBProperties = sizeof(g_rgDBProperties)/sizeof(g_rgDBProperties[0]);
//Indexes to g_rgDBProperties[] array. Need parenthese in the code.
//Can not add parenthese here, exceeds compiler limit.
const ULONG IDX_COL_AUTOINCREMENT =(ULONG)0L;
const ULONG IDX_COL_DEFAULT =IDX_COL_AUTOINCREMENT+1;
const ULONG IDX_COL_DESCRIPTION =IDX_COL_DEFAULT+1;
const ULONG IDX_COL_FIXEDLENGTH =IDX_COL_DESCRIPTION+1;
const ULONG IDX_COL_INCREMENT =IDX_COL_FIXEDLENGTH+1;
const ULONG IDX_COL_ISLONG =IDX_COL_INCREMENT+1;
const ULONG IDX_COL_NULLABLE =IDX_COL_ISLONG+1;
const ULONG IDX_COL_PRIMARYKEY =IDX_COL_NULLABLE+1;
const ULONG IDX_COL_SEED =IDX_COL_PRIMARYKEY+1;
const ULONG IDX_COL_UNIQUE =IDX_COL_SEED+1;
const ULONG IDX_COLUMNLCID =IDX_COL_UNIQUE+1;
const ULONG IDX_CURRENTCATALOG =IDX_COLUMNLCID+1;
const ULONG IDX_MULTIPLECONNECTIONS =IDX_CURRENTCATALOG+1;
const ULONG IDX_RESETDATASOURCE =IDX_MULTIPLECONNECTIONS+1;
const ULONG IDX_ACTIVESESSIONS =IDX_RESETDATASOURCE+1;
const ULONG IDX_ALTERCOLUMN =IDX_ACTIVESESSIONS+1;
const ULONG IDX_ASYNCTXNABORT =IDX_ALTERCOLUMN+1;
const ULONG IDX_ASYNCTXNCOMMIT =IDX_ASYNCTXNABORT+1;
const ULONG IDX_BYREFACCESSORS =IDX_ASYNCTXNCOMMIT+1;
const ULONG IDX_CATALOGLOCATION =IDX_BYREFACCESSORS+1;
const ULONG IDX_CATALOGTERM =IDX_CATALOGLOCATION+1;
const ULONG IDX_CATALOGUSAGE =IDX_CATALOGTERM+1;
const ULONG IDX_COLUMNDEFINITION =IDX_CATALOGUSAGE+1;
const ULONG IDX_COMSERVICES =IDX_COLUMNDEFINITION+1;
const ULONG IDX_CONCATNULLBEHAVIOR =IDX_COMSERVICES+1;
const ULONG IDX_CONNECTIONSTATUS =IDX_CONCATNULLBEHAVIOR+1;
const ULONG IDX_DATASOURCENAME =IDX_CONNECTIONSTATUS+1;
const ULONG IDX_DATASOURCEREADONLY =IDX_DATASOURCENAME+1;
const ULONG IDX_DATASOURCETYPE =IDX_DATASOURCEREADONLY+1;
const ULONG IDX_DBMSNAME =IDX_DATASOURCETYPE+1;
const ULONG IDX_DBMSVER =IDX_DBMSNAME+1;
const ULONG IDX_DSOTHREADMODEL =IDX_DBMSVER+1;
const ULONG IDX_GENERATEURL =IDX_DSOTHREADMODEL+1;
const ULONG IDX_GROUPBY =IDX_GENERATEURL+1;
const ULONG IDX_HETEROGENEOUSTABLES =IDX_GROUPBY+1;
const ULONG IDX_IDENTIFIERCASE =IDX_HETEROGENEOUSTABLES+1;
const ULONG IDX_MAXINDEXSIZE =IDX_IDENTIFIERCASE+1;
const ULONG IDX_MAXOPENCHAPTERS =IDX_MAXINDEXSIZE+1;
const ULONG IDX_MAXROWSIZE =IDX_MAXOPENCHAPTERS+1;
const ULONG IDX_MAXROWSIZEINCLUDESBLOB =IDX_MAXROWSIZE+1;
const ULONG IDX_MAXTABLESINSELECT =IDX_MAXROWSIZEINCLUDESBLOB+1;
const ULONG IDX_MULTIPLEPARAMSETS =IDX_MAXTABLESINSELECT+1;
const ULONG IDX_MULTIPLERESULTS =IDX_MULTIPLEPARAMSETS+1;
const ULONG IDX_MULTIPLESTORAGEOBJECTS =IDX_MULTIPLERESULTS+1;
const ULONG IDX_MULTITABLEUPDATE =IDX_MULTIPLESTORAGEOBJECTS+1;
const ULONG IDX_NULLCOLLATION =IDX_MULTITABLEUPDATE+1;
const ULONG IDX_OLEOBJECTS =IDX_NULLCOLLATION+1;
const ULONG IDX_OPENROWSETSUPPORT =IDX_OLEOBJECTS+1;
const ULONG IDX_ORDERBYCOLUMNSINSELECT =IDX_OPENROWSETSUPPORT+1;
const ULONG IDX_OUTPUTPARAMETERAVAILABILITY =IDX_ORDERBYCOLUMNSINSELECT+1;
const ULONG IDX_PERSISTENTIDTYPE =IDX_OUTPUTPARAMETERAVAILABILITY+1;
const ULONG IDX_PREPAREABORTBEHAVIOR =IDX_PERSISTENTIDTYPE+1;
const ULONG IDX_PREPARECOMMITBEHAVIOR =IDX_PREPAREABORTBEHAVIOR+1;
const ULONG IDX_PROCEDURETERM =IDX_PREPARECOMMITBEHAVIOR+1;
const ULONG IDX_PROVIDERFRIENDLYNAME =IDX_PROCEDURETERM+1;
const ULONG IDX_PROVIDERMEMORY =IDX_PROVIDERFRIENDLYNAME+1;
const ULONG IDX_PROVIDERFILENAME =IDX_PROVIDERMEMORY+1;
const ULONG IDX_PROVIDEROLEDBVER =IDX_PROVIDERFILENAME+1;
const ULONG IDX_PROVIDERVER =IDX_PROVIDEROLEDBVER+1;
const ULONG IDX_QUOTEDIDENTIFIERCASE =IDX_PROVIDERVER+1;
const ULONG IDX_ROWSETCONVERSIONSONCOMMAND =IDX_QUOTEDIDENTIFIERCASE+1;
const ULONG IDX_SCHEMATERM =IDX_ROWSETCONVERSIONSONCOMMAND+1;
const ULONG IDX_SCHEMAUSAGE =IDX_SCHEMATERM+1;
const ULONG IDX_SERVERNAME =IDX_SCHEMAUSAGE+1;
const ULONG IDX_SQLSUPPORT =IDX_SERVERNAME+1;
const ULONG IDX_STRUCTUREDSTORAGE =IDX_SQLSUPPORT+1;
const ULONG IDX_SUBQUERIES =IDX_STRUCTUREDSTORAGE+1;
const ULONG IDX_SUPPORTEDTXNDDL =IDX_SUBQUERIES+1;
const ULONG IDX_SUPPORTEDTXNISOLEVELS =IDX_SUPPORTEDTXNDDL+1;
const ULONG IDX_SUPPORTEDTXNISORETAIN =IDX_SUPPORTEDTXNISOLEVELS+1;
const ULONG IDX_TABLETERM =IDX_SUPPORTEDTXNISORETAIN+1;
const ULONG IDX_USERNAME =IDX_TABLETERM+1;
const ULONG IDX_INDEX_AUTOUPDATE =IDX_USERNAME+1;
const ULONG IDX_INDEX_CLUSTERED =IDX_INDEX_AUTOUPDATE+1;
const ULONG IDX_INDEX_FILLFACTOR =IDX_INDEX_CLUSTERED+1;
const ULONG IDX_INDEX_INITIALSIZE =IDX_INDEX_FILLFACTOR+1;
const ULONG IDX_INDEX_NULLCOLLATION =IDX_INDEX_INITIALSIZE+1;
const ULONG IDX_INDEX_NULLS =IDX_INDEX_NULLCOLLATION+1;
const ULONG IDX_INDEX_PRIMARYKEY =IDX_INDEX_NULLS+1;
const ULONG IDX_INDEX_SORTBOOKMARKS =IDX_INDEX_PRIMARYKEY+1;
const ULONG IDX_INDEX_TEMPINDEX =IDX_INDEX_SORTBOOKMARKS+1;
const ULONG IDX_INDEX_TYPE =IDX_INDEX_TEMPINDEX+1;
const ULONG IDX_INDEX_UNIQUE =IDX_INDEX_TYPE+1;
const ULONG IDX_AUTH_CACHE_AUTHINFO =IDX_INDEX_UNIQUE+1;
const ULONG IDX_AUTH_ENCRYPT_PASSWORD =IDX_AUTH_CACHE_AUTHINFO+1;
const ULONG IDX_AUTH_INTEGRATED =IDX_AUTH_ENCRYPT_PASSWORD+1;
const ULONG IDX_AUTH_MASK_PASSWORD =IDX_AUTH_INTEGRATED+1;
const ULONG IDX_AUTH_PASSWORD =IDX_AUTH_MASK_PASSWORD+1;
const ULONG IDX_AUTH_PERSIST_ENCRYPTED =IDX_AUTH_PASSWORD+1;
const ULONG IDX_AUTH_PERSIST_SENSITIVE_AUTHINFO =IDX_AUTH_PERSIST_ENCRYPTED+1;
const ULONG IDX_AUTH_USERID =IDX_AUTH_PERSIST_SENSITIVE_AUTHINFO+1;
const ULONG IDX_INIT_ASYNCH =IDX_AUTH_USERID+1;
const ULONG IDX_INIT_BINDFLAGS =IDX_INIT_ASYNCH+1;
const ULONG IDX_INIT_CATALOG =IDX_INIT_BINDFLAGS+1;
const ULONG IDX_INIT_DATASOURCE =IDX_INIT_CATALOG+1;
const ULONG IDX_INIT_GENERALTIMEOUT =IDX_INIT_DATASOURCE+1;
const ULONG IDX_INIT_HWND =IDX_INIT_GENERALTIMEOUT+1;
const ULONG IDX_INIT_IMPERSONATION_LEVEL =IDX_INIT_HWND+1;
const ULONG IDX_INIT_LCID =IDX_INIT_IMPERSONATION_LEVEL+1;
const ULONG IDX_INIT_LOCATION =IDX_INIT_LCID+1;
const ULONG IDX_INIT_LOCKOWNER =IDX_INIT_LOCATION+1;
const ULONG IDX_INIT_MODE =IDX_INIT_LOCKOWNER+1;
const ULONG IDX_INIT_OLEDBSERVICES =IDX_INIT_MODE+1;
const ULONG IDX_INIT_PROMPT =IDX_INIT_OLEDBSERVICES+1;
const ULONG IDX_INIT_PROTECTION_LEVEL =IDX_INIT_PROMPT+1;
const ULONG IDX_INIT_PROVIDERSTRING =IDX_INIT_PROTECTION_LEVEL+1;
const ULONG IDX_INIT_TIMEOUT =IDX_INIT_PROVIDERSTRING+1;
const ULONG IDX_ABORTPRESERVE =IDX_INIT_TIMEOUT+1;
const ULONG IDX_ACCESSORDER =IDX_ABORTPRESERVE+1;
const ULONG IDX_APPENDONLY =IDX_ACCESSORDER+1;
const ULONG IDX_BLOCKINGSTORAGEOBJECTS =IDX_APPENDONLY+1;
const ULONG IDX_BOOKMARKINFO =IDX_BLOCKINGSTORAGEOBJECTS+1;
const ULONG IDX_BOOKMARKS =IDX_BOOKMARKINFO+1;
const ULONG IDX_BOOKMARKSKIPPED =IDX_BOOKMARKS+1;
const ULONG IDX_BOOKMARKTYPE =IDX_BOOKMARKSKIPPED+1;
const ULONG IDX_CACHEDEFERRED =IDX_BOOKMARKTYPE+1;
const ULONG IDX_CANFETCHBACKWARDS =IDX_CACHEDEFERRED+1;
const ULONG IDX_CANHOLDROWS =IDX_CANFETCHBACKWARDS+1;
const ULONG IDX_CANSCROLLBACKWARDS =IDX_CANHOLDROWS+1;
const ULONG IDX_CHANGEINSERTEDROWS =IDX_CANSCROLLBACKWARDS+1;
const ULONG IDX_CLIENTCURSOR =IDX_CHANGEINSERTEDROWS+1;
const ULONG IDX_COLUMNRESTRICT =IDX_CLIENTCURSOR+1;
const ULONG IDX_COMMANDTIMEOUT =IDX_COLUMNRESTRICT+1;
const ULONG IDX_COMMITPRESERVE =IDX_COMMANDTIMEOUT+1;
const ULONG IDX_DEFERRED =IDX_COMMITPRESERVE+1;
const ULONG IDX_DELAYSTORAGEOBJECTS =IDX_DEFERRED+1;
const ULONG IDX_FINDCOMPAREOPS =IDX_DELAYSTORAGEOBJECTS+1;
const ULONG IDX_HIDDENCOLUMNS =IDX_FINDCOMPAREOPS+1;
const ULONG IDX_IMMOBILEROWS =IDX_HIDDENCOLUMNS+1;
const ULONG IDX_LITERALBOOKMARKS =IDX_IMMOBILEROWS+1;
const ULONG IDX_LITERALIDENTITY =IDX_LITERALBOOKMARKS+1;
const ULONG IDX_LOCKMODE =IDX_LITERALIDENTITY+1;
const ULONG IDX_MAXOPENROWS =IDX_LOCKMODE+1;
const ULONG IDX_MAXPENDINGROWS =IDX_MAXOPENROWS+1;
const ULONG IDX_MAXROWS =IDX_MAXPENDINGROWS+1;
const ULONG IDX_MAYWRITECOLUMN =IDX_MAXROWS+1;
const ULONG IDX_MEMORYUSAGE =IDX_MAYWRITECOLUMN+1;
const ULONG IDX_NOTIFICATIONGRANULARITY =IDX_MEMORYUSAGE+1;
const ULONG IDX_NOTIFICATIONPHASES =IDX_NOTIFICATIONGRANULARITY+1;
const ULONG IDX_NOTIFYCOLUMNSET =IDX_NOTIFICATIONPHASES+1;
const ULONG IDX_NOTIFYROWDELETE =IDX_NOTIFYCOLUMNSET+1;
const ULONG IDX_NOTIFYROWFIRSTCHANGE =IDX_NOTIFYROWDELETE+1;
const ULONG IDX_NOTIFYROWINSERT =IDX_NOTIFYROWFIRSTCHANGE+1;
const ULONG IDX_NOTIFYROWRESYNCH =IDX_NOTIFYROWINSERT+1;
const ULONG IDX_NOTIFYROWSETCHANGED =IDX_NOTIFYROWRESYNCH+1;
const ULONG IDX_NOTIFYROWSETFETCHPOSITIONCHANGE =IDX_NOTIFYROWSETCHANGED+1;
const ULONG IDX_NOTIFYROWSETRELEASE =IDX_NOTIFYROWSETFETCHPOSITIONCHANGE+1;
const ULONG IDX_NOTIFYROWUNDOCHANGE =IDX_NOTIFYROWSETRELEASE+1;
const ULONG IDX_NOTIFYROWUNDODELETE =IDX_NOTIFYROWUNDOCHANGE+1;
const ULONG IDX_NOTIFYROWUNDOINSERT =IDX_NOTIFYROWUNDODELETE+1;
const ULONG IDX_NOTIFYROWUPDATE =IDX_NOTIFYROWUNDOINSERT+1;
const ULONG IDX_ORDEREDBOOKMARKS =IDX_NOTIFYROWUPDATE+1;
const ULONG IDX_OTHERINSERT =IDX_ORDEREDBOOKMARKS+1;
const ULONG IDX_OTHERUPDATEDELETE =IDX_OTHERINSERT+1;
const ULONG IDX_OWNINSERT =IDX_OTHERUPDATEDELETE+1;
const ULONG IDX_OWNUPDATEDELETE =IDX_OWNINSERT+1;
const ULONG IDX_QUICKRESTART =IDX_OWNUPDATEDELETE+1;
const ULONG IDX_REENTRANTEVENTS =IDX_QUICKRESTART+1;
const ULONG IDX_REMOVEDELETED =IDX_REENTRANTEVENTS+1;
const ULONG IDX_REPORTMULTIPLECHANGES =IDX_REMOVEDELETED+1;
const ULONG IDX_RETURNPENDINGINSERTS =IDX_REPORTMULTIPLECHANGES+1;
const ULONG IDX_ROW_BULKOPS =IDX_RETURNPENDINGINSERTS+1;
const ULONG IDX_ROWRESTRICT =IDX_ROW_BULKOPS+1;
const ULONG IDX_ROWSET_ASYNCH =IDX_ROWRESTRICT+1;
const ULONG IDX_ROWTHREADMODEL =IDX_ROWSET_ASYNCH+1;
const ULONG IDX_SERVERCURSOR =IDX_ROWTHREADMODEL+1;
const ULONG IDX_SERVERDATAONINSERT =IDX_SERVERCURSOR+1;
const ULONG IDX_STORAGEFLAGS =IDX_SERVERDATAONINSERT+1;
const ULONG IDX_STRONGIDENTITY =IDX_STORAGEFLAGS+1;
const ULONG IDX_TRANSACTEDOBJECT =IDX_STRONGIDENTITY+1;
const ULONG IDX_UNIQUEROWS =IDX_TRANSACTEDOBJECT+1;
const ULONG IDX_UPDATABILITY =IDX_UNIQUEROWS+1;
const ULONG IDX_IACCESSOR =IDX_UPDATABILITY+1;
const ULONG IDX_IBINDRESOURCE =IDX_IACCESSOR+1;
const ULONG IDX_ICHAPTEREDROWSET =IDX_IBINDRESOURCE+1;
const ULONG IDX_ICOLUMNSINFO =IDX_ICHAPTEREDROWSET+1;
const ULONG IDX_ICOLUMNSINFO2 =IDX_ICOLUMNSINFO+1;
const ULONG IDX_ICOLUMNSROWSET =IDX_ICOLUMNSINFO2+1;
const ULONG IDX_ICONNECTIONPOINTCONTAINER =IDX_ICOLUMNSROWSET+1;
const ULONG IDX_ICONVERTTYPE =IDX_ICONNECTIONPOINTCONTAINER+1;
const ULONG IDX_ICREATEROW =IDX_ICONVERTTYPE+1;
const ULONG IDX_IDBASYNCHSTATUS =IDX_ICREATEROW+1;
const ULONG IDX_IBINDERPROPERTIES =IDX_IDBASYNCHSTATUS+1;
const ULONG IDX_IGETROW =IDX_IBINDERPROPERTIES+1;
const ULONG IDX_IGETSESSION =IDX_IGETROW+1;
const ULONG IDX_IGETSOURCEROW =IDX_IGETSESSION+1;
const ULONG IDX_IMULTIPLERESULTS =IDX_IGETSOURCEROW+1;
const ULONG IDX_IPARENTROWSET =IDX_IMULTIPLERESULTS+1;
const ULONG IDX_IREGISTERPROVIDER =IDX_IPARENTROWSET+1;
const ULONG IDX_IROW =IDX_IREGISTERPROVIDER+1;
const ULONG IDX_IROWCHANGE =IDX_IROW+1;
const ULONG IDX_IROWSCHEMACHANGE =IDX_IROWCHANGE+1;
const ULONG IDX_IROWSET =IDX_IROWSCHEMACHANGE+1;
const ULONG IDX_IROWSETCHANGE =IDX_IROWSET+1;
const ULONG IDX_IROWSETCURRENTINDEX =IDX_IROWSETCHANGE+1;
const ULONG IDX_IROWSETFIND =IDX_IROWSETCURRENTINDEX+1;
const ULONG IDX_IROWSETIDENTITY =IDX_IROWSETFIND+1;
const ULONG IDX_IROWSETINDEX =IDX_IROWSETIDENTITY+1;
const ULONG IDX_IROWSETINFO =IDX_IROWSETINDEX+1;
const ULONG IDX_IROWSETLOCATE =IDX_IROWSETINFO+1;
const ULONG IDX_IROWSETREFRESH =IDX_IROWSETLOCATE+1;
const ULONG IDX_IROWSETRESYNCH =IDX_IROWSETREFRESH+1;
const ULONG IDX_IROWSETSCROLL =IDX_IROWSETRESYNCH+1;
const ULONG IDX_IROWSETUPDATE =IDX_IROWSETSCROLL+1;
const ULONG IDX_IROWSETVIEW =IDX_IROWSETUPDATE+1;
const ULONG IDX_ISCOPEDOPERATIONS =IDX_IROWSETVIEW+1;
const ULONG IDX_ISUPPORTERRORINFO =IDX_ISCOPEDOPERATIONS+1;
const ULONG IDX_ILOCKBYTES =IDX_ISUPPORTERRORINFO+1;
const ULONG IDX_ISEQUENTIALSTREAM =IDX_ILOCKBYTES+1;
const ULONG IDX_ISTORAGE =IDX_ISEQUENTIALSTREAM+1;
const ULONG IDX_ISTREAM =IDX_ISTORAGE+1;
const ULONG IDX_SESS_AUTOCOMMITISOLEVELS =IDX_ISTREAM+1;
const ULONG IDX_TBL_TEMPTABLE =IDX_SESS_AUTOCOMMITISOLEVELS+1;
const ULONG IDX_TRUSTEE_USERNAME =IDX_TBL_TEMPTABLE+1;
const ULONG IDX_TRUSTEE_AUTHENTICATION =IDX_TRUSTEE_USERNAME+1;
const ULONG IDX_TRUSTEE_NEWAUTHENTICATION =IDX_TRUSTEE_AUTHENTICATION+1;
const ULONG IDX_FILTERCOMPAREOPS =IDX_TRUSTEE_NEWAUTHENTICATION+1;
const ULONG IDX_VIACCESSOR =IDX_FILTERCOMPAREOPS+1;
const ULONG IDX_VICOLUMNSINFO =IDX_VIACCESSOR+1;
const ULONG IDX_VISUPPORTERRORINFO =IDX_VICOLUMNSINFO+1;
const ULONG IDX_IVIEWCHAPTER =IDX_VISUPPORTERRORINFO+1;
const ULONG IDX_IVIEWFILTER =IDX_IVIEWCHAPTER+1;
const ULONG IDX_IVIEWROWSET =IDX_IVIEWFILTER+1;
const ULONG IDX_IVIEWSORT =IDX_IVIEWROWSET+1;
const ULONG IDX_MAXORSINFILTER =IDX_IVIEWSORT+1;
const ULONG IDX_MAXSORTCOLUMNS =IDX_MAXORSINFILTER+1;
const ULONG IDX_SORTONINDEX =IDX_MAXSORTCOLUMNS+1;
// Provider Specific
// NONE
const ULONG IDX_COLUMN_START =IDX_COL_AUTOINCREMENT;
const ULONG IDX_COLUMN_END =IDX_COLUMNLCID;
const ULONG IDX_DATASOURCE_START =IDX_CURRENTCATALOG;
const ULONG IDX_DATASOURCE_END =IDX_RESETDATASOURCE;
const ULONG IDX_DATASOURCEINFO_START =IDX_ACTIVESESSIONS;
const ULONG IDX_DATASOURCEINFO_END =IDX_USERNAME;
const ULONG IDX_INDEX_START =IDX_INDEX_AUTOUPDATE;
const ULONG IDX_INDEX_END =IDX_INDEX_UNIQUE;
const ULONG IDX_DBINIT_START =IDX_AUTH_CACHE_AUTHINFO;
const ULONG IDX_DBINIT_END =IDX_INIT_TIMEOUT;
const ULONG IDX_ROWSET_START =IDX_ABORTPRESERVE;
const ULONG IDX_ROWSET_END =IDX_ISTREAM;
const ULONG IDX_SESSION_START =IDX_SESS_AUTOCOMMITISOLEVELS;
const ULONG IDX_SESSION_END =IDX_SESS_AUTOCOMMITISOLEVELS;
const ULONG IDX_TABLE_START =IDX_TBL_TEMPTABLE;
const ULONG IDX_TABLE_END =IDX_TBL_TEMPTABLE;
const ULONG IDX_TRUSTEE_START =IDX_TRUSTEE_USERNAME;
const ULONG IDX_TRUSTEE_END =IDX_TRUSTEE_NEWAUTHENTICATION;
const ULONG IDX_VIEW_START =IDX_FILTERCOMPAREOPS;
const ULONG IDX_VIEW_END =IDX_SORTONINDEX;
const ULONG IDX_OLEDB_START =IDX_COLUMN_START;
const ULONG IDX_OLEDB_END =IDX_VIEW_END;
const ULONG IDX_PROVIDERSPEC_END =IDX_VIEW_END;
//--------------------------------------------------------------------
// @func Module level initialization routine
//
// @rdesc Success or Failure
// @flag TRUE | Successful initialization
// @flag FALSE | Initialization problems
//
BOOL ModuleInit(CThisTestModule * pThisTestModule)
{
// Initialize the Globals every time
g_fInitGetPropDefault=g_fExtraSesProp=FALSE;
// Set all of the fSupported back to FALSE
for(ULONG i=0; i<g_cDBProperties; i++)
g_rgDBProperties[i].fSupported = FALSE;
//Get a Session Object
if(ModuleCreateDBSession(pThisTestModule))
{
//If we made it this far, everything has succeeded
return TRUE;
}
return FALSE;
}
//--------------------------------------------------------------------
// @func Module level termination routine
//
// @rdesc Success or Failure
// @flag TRUE | Successful initialization
// @flag FALSE | Initialization problems
//
BOOL ModuleTerminate(CThisTestModule * pThisTestModule)
{
ULONG ulcounter=0;
//Need to loop through all the variants and clear them
for(ulcounter=0; ulcounter < g_cDBProperties; ulcounter++)
VariantClear(&(g_rgDBProperties[ulcounter].vDefault));
//Free the interface we got in ModuleCreateDBSession()
return ModuleReleaseDBSession(pThisTestModule);
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Base Class Section
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// @class TCIDProperties Base Class for all ISessionProperties Testcases
class TCIDProperties : public CRowsetObject
{
public:
// @cmember Constructor
TCIDProperties(WCHAR *wstrTestCaseName) : CRowsetObject(wstrTestCaseName)
{
m_pIDBProperties = NULL;
m_pISessionProperties = NULL;
m_cPropertyIDSets = 0;
*m_rgPropertyIDs = NULL;
m_cPropertySets = 0;
m_pcPropertySets = 0;
m_prgPropertySets = NULL;
m_fSuccess = TEST_FAIL;
};
// @cmember Destructor
virtual ~TCIDProperties(){};
// @cmember: Check and set properties from ISessionProperties::GetProperties
BOOL InitGetPropDefault();
// @cmember: Get a Session property that is not settable
BOOL DBSessionNotSettable(DBPROPID *dwPropertyID);
// @cmember: Get a Session property that is settable
BOOL DBSessionSettable(DBPROPID *dwPropertyID);
// @cmember: Get a Session property that is not supported
BOOL DBSessionNotSupported(DBPROPID *dwPropertyID);
// @cmember: Get a DBInit property that is not supported
BOOL DBInitNotSupported(DBPROPID *dwPropertyID);
// @mfunc: Reset the ISessionProperties
BOOL ResetProperties();
// @mfunc: Verify the property is set or unset correctly
BOOL VerifyProperty(ULONG cPrpt);
// @mfunc: Get the attribute of the property
EPROPERTYATTR GetPrptAttr(const ULONG cPrpt);
// @mfunc: Verify the property is not supported
BOOL VerifyNotSupported(ULONG cPrpt, EPROPERTYATTR ePrptAttr);
// @mfunc: Verify the property is not settable
BOOL VerifyPropertyNotSettable(ULONG cPrpt, BOOL fSet=TRUE);
// @mfunc: Verify the property is settable
BOOL VerifyPropertySettable(ULONG cPrpt, BOOL fSet=TRUE);
// @mfunc: Initialize the property set
BOOL InitDBPropSet(const ULONG cPrpt, DBPROPSET *pDBPropSet, BOOL fSet);
// @mfunc: Verify the property set return is correct
BOOL VerifyDBPropSet(const ULONG cPrpt, DBPROPSET *pDBPropSet,
DBPROPSTATUS dwStatus, DBPROPOPTIONS dwOptions, BOOL fSet);
// @mfunc: Initialize the property ID set
BOOL InitDBPropIDSet(const ULONG cPrpt, DBPROPIDSET *pDBPropIDSet);
// @mfunc: Verify that get property returns the corret information
BOOL VerifyDBPropGet(const ULONG cPrpt, DBPROPSET *pDBPropSet, DBPROPSTATUS dwStatus, BOOL fSet);
// @mfunc: Verify default values returned from properties
BOOL VerifyDBPropDefault(ULONG cPrpt, DBPROPSET *pDBPropSet, BOOL fAfterRowset);
// @mfunc: Check to see if the Property is Writable
void WritableProperty(ULONG cPrpt);
protected:
//@cmember IDBProperties Interface
IDBProperties * m_pIDBProperties;
//@cmember IDBCreateCommand Interface
ISessionProperties *m_pISessionProperties;
//@cmember Number of PropertyIDSets
ULONG m_cPropertyIDSets;
//@cmember Array of DBPROPIDSET structures
DBPROPIDSET m_rgPropertyIDSets[5];
//@cmember Array of DBPROPIDs
DBPROPID m_rgPropertyIDs[5];
//@cmember Number of PropertyIDSets
ULONG m_cPropertySets;
//@cmember Array of DBPROPSET structures
DBPROPSET m_rgPropertySets[5];
//@cmember Number of DBPROPSET structures returned from GetProperties
ULONG m_pcPropertySets;
//@cmember Array of DBPROPSET structures returned from GetProperties
DBPROPSET * m_prgPropertySets;
//@cmember Array of DBPROP for SetProperties
DBPROP m_rgProperties[2];
//@cmember Variation passed or failed
int m_fSuccess;
//@cmember HResult
HRESULT m_hr;
};
//-----------------------------------------------------------------------------
//@mfunc: Intialize the default values for all Session properties
//
//-----------------------------------------------------------------------------
BOOL TCIDProperties::InitGetPropDefault()
{
TBEGIN;
ULONG cSetCount;
ULONG cPropertyCount;
ULONG cIndex;
ULONG cPropertySets=0;
ULONG cPrptSupported = 0;
DBPROPSET *pPropertySets = NULL;
//Call ISessionProperties::GetProperties to get all the properties
TESTC_(m_pISessionProperties->GetProperties(0,NULL,&cPropertySets,&pPropertySets),S_OK);
//At least one property set should be returned
if( !cPropertySets ) {
TESTC(pPropertySets == NULL);
}
else {
TESTC(pPropertySets != NULL);
}
//Set the default value for each property set
for(cSetCount=0;cSetCount < cPropertySets; cSetCount++)
{
// Atleast 1 property must be returned
TESTC(pPropertySets[cSetCount].cProperties > 0);
// Total up all the properties
cPrptSupported = cPrptSupported + pPropertySets[cSetCount].cProperties;
//Go through each property
for(cPropertyCount=0; cPropertyCount < pPropertySets[cSetCount].cProperties; cPropertyCount++)
{
//Check to see if the Provider has returned an invalid PropSets
if( (pPropertySets[cSetCount].guidPropertySet == DBPROPSET_COLUMN) ||
(pPropertySets[cSetCount].guidPropertySet == DBPROPSET_DATASOURCE) ||
(pPropertySets[cSetCount].guidPropertySet == DBPROPSET_DATASOURCEINFO)||
(pPropertySets[cSetCount].guidPropertySet == DBPROPSET_DBINIT) ||
(pPropertySets[cSetCount].guidPropertySet == DBPROPSET_INDEX) ||
(pPropertySets[cSetCount].guidPropertySet == DBPROPSET_ROWSET) ||
(pPropertySets[cSetCount].guidPropertySet == DBPROPSET_TABLE) ||
(pPropertySets[cSetCount].guidPropertySet == DBPROPSET_TRUSTEE)||
(pPropertySets[cSetCount].guidPropertySet == DBPROPSET_VIEW) )
odtLog<<L"ERROR: An Invalid OLEDB PropertySet has been returned by ISessionProperties::GetProperties!\n";
//Check to see if the Provider has Provider specific PropSets
if( pPropertySets[cSetCount].guidPropertySet != DBPROPSET_SESSION )
g_fExtraSesProp=TRUE;
//Go through the whole list
for(cIndex=IDX_OLEDB_START;
cIndex<=(g_fExtraSesProp ? IDX_PROVIDERSPEC_END : IDX_OLEDB_END);cIndex++)
{
//Search for the properties
if((g_rgDBProperties[cIndex].dwPropertyID ==
pPropertySets[cSetCount].rgProperties[cPropertyCount].dwPropertyID) &&
(*(g_rgDBProperties[cIndex].pGuidPropertySet) ==
pPropertySets[cSetCount].guidPropertySet))
{
//Print the value to the screen
odtLog<<" "<<g_rgDBProperties[cIndex].wszDescription<<" = ";
if(pPropertySets[cSetCount].rgProperties[cPropertyCount].vValue.vt)
odtLog<<pPropertySets[cSetCount].rgProperties[cPropertyCount].vValue<<L" \n";
else
odtLog<<L"VT_EMPTY \n";
//Set the property to supported
g_rgDBProperties[cIndex].fSupported=TRUE;
//Set the fSettable to TRUE
WritableProperty(cIndex);
//Copy the default
if( pPropertySets[cSetCount].rgProperties[cPropertyCount].vValue.vt )
{
VariantCopy(&(g_rgDBProperties[cIndex].vDefault),
&(pPropertySets[cSetCount].rgProperties[cPropertyCount].vValue));
}
//dwStatus has to be DBPROPSTATUS_OK
if(pPropertySets[cSetCount].rgProperties[cPropertyCount].dwStatus!=
DBPROPSTATUS_OK)
odtLog<<L"The dwStatus in default is not DBPROPSTATUS_OK at index "<<cIndex<<"!\n";
//Check VT type
if(pPropertySets[cSetCount].rgProperties[cPropertyCount].vValue.vt!=
g_rgDBProperties[cIndex].vtType)
{
if(pPropertySets[cSetCount].rgProperties[cPropertyCount].vValue.vt!=
VT_EMPTY)
odtLog<<L"The vt in vValue is not correct at index "<<cIndex<<"!\n";
else
goto BREAK;
}
//If VT==VT_BOOL, the value has to be either VAIANT_TRUE or VARIANT_FALSE
if(pPropertySets[cSetCount].rgProperties[cPropertyCount].vValue.vt==
VT_BOOL)
{
if((V_BOOL(&pPropertySets[cSetCount].rgProperties[cPropertyCount].vValue)!=VARIANT_TRUE) &&
(V_BOOL(&pPropertySets[cSetCount].rgProperties[cPropertyCount].vValue)!=VARIANT_FALSE))
odtLog<<L"The bool is not VARIANT_TRUE or VARIANT_FALSE at index "<<cIndex<<"!\n";
}
else
{
if(pPropertySets[cSetCount].rgProperties[cPropertyCount].vValue.vt==
VT_EMPTY)
{
//The value has to be 0
if(pPropertySets[cSetCount].rgProperties[cPropertyCount].vValue.lVal!=0)
odtLog<<L"The lVal is not 0 at index "<<cIndex<<"!\n";
}
else
{
if(pPropertySets[cSetCount].rgProperties[cPropertyCount].vValue.vt==
VT_I4)
{
//The value has to be greate than 0
if(pPropertySets[cSetCount].rgProperties[cPropertyCount].vValue.lVal<0)
odtLog<<L"The lVal is less than 0 at index "<<cIndex<<"!\n";
}
else
{
if(pPropertySets[cSetCount].rgProperties[cPropertyCount].vValue.vt==
VT_I2)
{
//The value has to be greate than 0
if(pPropertySets[cSetCount].rgProperties[cPropertyCount].vValue.iVal<0)
odtLog<<L"The lVal is less than 0 at index "<<cIndex<<"!\n";
}
}
}
}
BREAK:
break;
}
}
// Check the Index count with the total number of properties
if(cIndex > (g_fExtraSesProp ? IDX_PROVIDERSPEC_END : IDX_OLEDB_END))
{
if(g_fExtraSesProp)
odtLog<<L"This autotest needs to be updated with Provider specific properties!\n";
else
odtLog<<L"ERROR: A OLEDB Property has the wrong guidPropertySet!\n";
}
}
}
CLEANUP:
//Print out the total number of Session Properties
odtLog<<wszTotalGetPropertiesIs<<cPrptSupported<<L" \n";
if( g_fExtraSesProp )
odtLog<<L"The Total includes Provider specific properties"<<L" \n";
//Free memory from GetProperties
FreeProperties(&cPropertySets, &pPropertySets);
TRETURN;
}
//--------------------------------------------------------------------
//@cmember: Get a settable Session property
//
BOOL TCIDProperties::DBSessionSettable(DBPROPID *dwPropertyID)
{
ULONG cPrpt;
for(cPrpt=IDX_SESSION_START;cPrpt<=IDX_SESSION_END;cPrpt++)
{
if(g_rgDBProperties[cPrpt].fSettable && g_rgDBProperties[cPrpt].fSupported)
{
*dwPropertyID=g_rgDBProperties[cPrpt].dwPropertyID;
return TRUE;
}
}
return FALSE;
}
//--------------------------------------------------------------------
//@cmember: Get a Session property that is not settable
//
BOOL TCIDProperties::DBSessionNotSettable(DBPROPID *dwPropertyID)
{
ULONG cPrpt;
for(cPrpt=IDX_SESSION_START;cPrpt<=IDX_SESSION_END;cPrpt++)
{
if(!(g_rgDBProperties[cPrpt].fSettable) && (g_rgDBProperties[cPrpt].fSupported) )
{
*dwPropertyID=g_rgDBProperties[cPrpt].dwPropertyID;
return TRUE;
}
}
return FALSE;
}
//--------------------------------------------------------------------
//@cmember: Get a not supported Session property
//
BOOL TCIDProperties::DBSessionNotSupported(DBPROPID *dwPropertyID)
{
ULONG cPrpt;
for(cPrpt=IDX_SESSION_START;cPrpt<=IDX_SESSION_END;cPrpt++)
{
if(!(g_rgDBProperties[cPrpt].fSupported))
{
*dwPropertyID=g_rgDBProperties[cPrpt].dwPropertyID;
return TRUE;
}
}
return FALSE;
}
//--------------------------------------------------------------------
//@cmember: Get a not supported DBInit property
//
BOOL TCIDProperties::DBInitNotSupported(DBPROPID *dwPropertyID)
{
ULONG cPrpt;
for(cPrpt=IDX_DBINIT_START;cPrpt<=IDX_DBINIT_END;cPrpt++)
{
if(!(g_rgDBProperties[cPrpt].fSupported))
{
*dwPropertyID=g_rgDBProperties[cPrpt].dwPropertyID;
return TRUE;
}
}
return FALSE;
}
//-----------------------------------------------------------------------------
// @cmember Recreate a new Session object, start from scratch
//
BOOL TCIDProperties::ResetProperties()
{
// Reset to the defaults for GetProperties
m_rgPropertyIDs[0] = DBPROP_SESS_AUTOCOMMITISOLEVELS;
m_rgPropertyIDs[1] = DBPROP_SESS_AUTOCOMMITISOLEVELS;
m_rgPropertyIDs[2] = DBPROP_SESS_AUTOCOMMITISOLEVELS;
m_rgPropertyIDs[3] = DBPROP_SESS_AUTOCOMMITISOLEVELS;
m_rgPropertyIDs[4] = DBPROP_SESS_AUTOCOMMITISOLEVELS;
m_cPropertyIDSets = 1;
m_rgPropertyIDSets[0].cPropertyIDs = 1;
m_rgPropertyIDSets[0].rgPropertyIDs = &m_rgPropertyIDs[0];
m_rgPropertyIDSets[0].guidPropertySet = DBPROPSET_SESSION;
m_rgPropertyIDSets[1].cPropertyIDs = 1;
m_rgPropertyIDSets[1].rgPropertyIDs = &m_rgPropertyIDs[1];
m_rgPropertyIDSets[1].guidPropertySet = DBPROPSET_SESSION;
m_prgPropertySets = INVALID(DBPROPSET*);
m_pcPropertySets = INVALID(ULONG);
// Reset to the defaults for SetProperties
m_rgProperties[0].dwPropertyID = DBPROP_SESS_AUTOCOMMITISOLEVELS;
m_rgProperties[1].dwPropertyID = DBPROP_SESS_AUTOCOMMITISOLEVELS;
m_rgPropertySets[0].cProperties = 1;
m_rgPropertySets[0].rgProperties = &m_rgProperties[0];
m_rgPropertySets[0].guidPropertySet = DBPROPSET_SESSION;
m_rgPropertySets[0].rgProperties->dwOptions = DBPROPOPTIONS_REQUIRED;
m_rgPropertySets[0].rgProperties->colid = DB_NULLID;
m_rgPropertySets[0].rgProperties->vValue.vt = VT_EMPTY;
m_rgPropertySets[1].cProperties = 1;
m_rgPropertySets[1].rgProperties = &m_rgProperties[1];
m_rgPropertySets[1].guidPropertySet = DBPROPSET_SESSION;
m_rgPropertySets[1].rgProperties->dwOptions = DBPROPOPTIONS_REQUIRED;
m_rgPropertySets[1].rgProperties->colid = DB_NULLID;
m_rgPropertySets[1].rgProperties->vValue.vt = VT_EMPTY;
return TRUE;
}
//-----------------------------------------------------------------------------
// @cmember Verify the attribute of the property
//
BOOL TCIDProperties::VerifyProperty
( ULONG cPrpt //@[in] The index to g_rgDBProperties array
)
{
// Set the WRITABLE flag
WritableProperty(cPrpt);
// Check the property
switch (GetPrptAttr(cPrpt))
{
case PROPERTY_NOT_SUPPORTED:
return(VerifyNotSupported(cPrpt,PROPERTY_NOT_SUPPORTED));
case PROPERTY_NOT_SETTABLE:
BOOL fReturn;
if(fReturn=VerifyPropertyNotSettable(cPrpt,TRUE))
fReturn=VerifyPropertyNotSettable(cPrpt,FALSE);
return fReturn;
case PROPERTY_SETTABLE:
return(VerifyPropertySettable(cPrpt,TRUE));
case PROPERTY_INVALID:
odtLog<<wszIndexNotValid;
default:
return FALSE;
}
}
//--------------------------------------------------------------------
//@mfunc: Get the attribute of the property
//
EPROPERTYATTR TCIDProperties::GetPrptAttr(const ULONG cPrpt)
{
if(cPrpt >= g_cDBProperties)
return PROPERTY_INVALID;
//Check if the property is supported
if(!g_rgDBProperties[cPrpt].fSupported)
return PROPERTY_NOT_SUPPORTED;
//Check if the property is settable.
if(g_rgDBProperties[cPrpt].fSettable)
return PROPERTY_SETTABLE;
return (PROPERTY_NOT_SETTABLE);
}
//------------------------------------------------------------------------------------
// @cmember: Verify the property is not supported
//
BOOL TCIDProperties::VerifyNotSupported
( ULONG cPrpt, //@[in]: The index to g_rgDBProperties array
EPROPERTYATTR ePrptAttr //@[in]: PROPERTY_NOT_SUPPORTED
)
{
TBEGIN;
DBPROPIDSET DBPropIDSet;
DBPROPSET DBPropSet;
DBPROPID DBPropID;
DBPROP DBProp;
DBPROPSET *pDBPropSet = NULL;
ULONG cDBPrpt = 0;
//Make sure the property is not supported
TESTC(ePrptAttr == PROPERTY_NOT_SUPPORTED);
//Start from scratch
memset(&DBProp ,0,sizeof(DBPROP));
//Init
DBPropIDSet.rgPropertyIDs = &DBPropID;
DBPropSet.rgProperties = &DBProp;
//Try to unset the property
TESTC(InitDBPropSet(cPrpt,&DBPropSet,FALSE));
TESTC_(m_pISessionProperties->SetProperties(1,&DBPropSet), DB_E_ERRORSOCCURRED);
TESTC(VerifyDBPropSet(cPrpt,&DBPropSet,DBPROPSTATUS_NOTSUPPORTED,DBPROPOPTIONS_REQUIRED,FALSE));
//Try to set the property
TESTC(InitDBPropSet(cPrpt,&DBPropSet,TRUE));
TESTC_(m_pISessionProperties->SetProperties(1,&DBPropSet), DB_E_ERRORSOCCURRED);
TESTC(VerifyDBPropSet(cPrpt,&DBPropSet,DBPROPSTATUS_NOTSUPPORTED,DBPROPOPTIONS_REQUIRED,TRUE));
//Set the property with dwOptions = DBPROPOPTIONS_OPTIONAL
TESTC(InitDBPropSet(cPrpt,&DBPropSet,3));
TESTC_(m_pISessionProperties->SetProperties(1,&DBPropSet),DB_E_ERRORSOCCURRED);
TESTC(VerifyDBPropSet(cPrpt,&DBPropSet,DBPROPSTATUS_NOTSUPPORTED,DBPROPOPTIONS_OPTIONAL,3));
//Free the BSTR allocated
VariantClear(&DBPropSet.rgProperties->vValue);
//Verify that the property is not supported by calling GetProperties
TESTC(InitDBPropIDSet(cPrpt,&DBPropIDSet));
TESTC_(m_pISessionProperties->GetProperties(1,&DBPropIDSet,&cDBPrpt,&pDBPropSet), DB_E_ERRORSOCCURRED);
TESTC(VerifyDBPropGet(cPrpt,pDBPropSet,DBPROPSTATUS_NOTSUPPORTED,TRUE));
CLEANUP:
//Free memory from GetProperties
FreeProperties(&cDBPrpt, &pDBPropSet);
TRETURN;
}
//-------------------------------------------------------------------------------------
// @cmember: Verify the property is not settable
//
BOOL TCIDProperties::VerifyPropertyNotSettable
( ULONG cPrpt, //@[in]: The index to g_rgDBProperties array
BOOL fSet //@[in]: To set or unset the property
)
{
TBEGIN;
DBPROPIDSET DBPropIDSet;
DBPROPID DBPropID;
DBPROPSET DBPropSet;
DBPROP DBProp;
HRESULT Exphr = S_OK;
DBSTATUS ExpStatus = DBPROPSTATUS_OK;
ULONG cDBPrpt = 0;
DBPROPSET *pDBPropSet = NULL;
//Start from scratch
memset(&DBProp ,0,sizeof(DBPROP));
//Initialization
DBPropIDSet.rgPropertyIDs = &DBPropID;
DBPropSet.rgProperties = &DBProp;
//Verify the property before execution by calling GetProperties.
TESTC(InitDBPropIDSet(cPrpt,&DBPropIDSet));
TESTC_(m_pISessionProperties->GetProperties(1,&DBPropIDSet,&cDBPrpt,&pDBPropSet), S_OK);
TESTC(cDBPrpt == 1);
TESTC(pDBPropSet != NULL);
TESTC(VerifyDBPropDefault(cPrpt,pDBPropSet,FALSE));
//Setup the expected results
if( fSet ) {
Exphr = DB_E_ERRORSOCCURRED;
ExpStatus = DBPROPSTATUS_NOTSETTABLE;
}
//Initialization to set/unset the property
TESTC(InitDBPropSet(cPrpt,&DBPropSet,fSet));
TESTC_(m_pISessionProperties->SetProperties(1,&DBPropSet), Exphr);
TESTC(VerifyDBPropSet(cPrpt,&DBPropSet,ExpStatus,DBPROPOPTIONS_REQUIRED,fSet));
//Free memory from GetProperties
FreeProperties(&cDBPrpt, &pDBPropSet);
//Verify the property before execution by calling GetProperties.
TESTC(InitDBPropIDSet(cPrpt,&DBPropIDSet));
TESTC_(m_pISessionProperties->GetProperties(1,&DBPropIDSet,&cDBPrpt,&pDBPropSet), S_OK);
TESTC(cDBPrpt == 1);
TESTC(pDBPropSet != NULL);
TESTC(VerifyDBPropDefault(cPrpt,pDBPropSet,FALSE));
//Set the property with dwOptions = DBPROPOPTIONS_OPTIONAL
TESTC(InitDBPropSet(cPrpt,&DBPropSet,3));
TESTC_(m_pISessionProperties->SetProperties(1,&DBPropSet),DB_E_ERRORSOCCURRED);
TESTC(VerifyDBPropSet(cPrpt,&DBPropSet,DBPROPSTATUS_NOTSET,DBPROPOPTIONS_OPTIONAL,3));
//Test for bad VT_TYPE for the Property
if( V_VT(&DBPropSet.rgProperties->vValue) == VT_I4 )
DBPropSet.rgProperties->vValue.vt = VT_BOOL;
else
DBPropSet.rgProperties->vValue.vt = VT_I4;
TESTC_(m_pISessionProperties->SetProperties(1,&DBPropSet),DB_E_ERRORSOCCURRED);
if( DBProp.dwStatus == DBPROPSTATUS_BADVALUE ) {
TESTC(VerifyDBPropSet(cPrpt,&DBPropSet,DBPROPSTATUS_BADVALUE,DBPROPOPTIONS_OPTIONAL,fSet));
}
else {
TESTC(VerifyDBPropSet(cPrpt,&DBPropSet,DBPROPSTATUS_NOTSET,DBPROPOPTIONS_OPTIONAL,fSet));
}
//Set back to original VT_TYPE
V_VT(&DBPropSet.rgProperties->vValue) = g_rgDBProperties[cPrpt].vtType;
VariantClear(&DBPropSet.rgProperties->vValue);
//Initialization to set/unset the property
TESTC(InitDBPropSet(cPrpt,&DBPropSet,fSet));
//Test for bad Value for the Property
switch( g_rgDBProperties[cPrpt].vtType )
{
case VT_BOOL:
V_BOOL(&DBPropSet.rgProperties->vValue) = -3;
break;
case VT_I2:
V_I2(&DBPropSet.rgProperties->vValue) = -3;
break;
case VT_I4:
V_I4(&DBPropSet.rgProperties->vValue) = -3;
break;
default:
break;
}
TESTC_(m_pISessionProperties->SetProperties(1,&DBPropSet),DB_E_ERRORSOCCURRED);
if( DBProp.dwStatus == DBPROPSTATUS_BADVALUE ) {
TESTC(VerifyDBPropSet(cPrpt,&DBPropSet,DBPROPSTATUS_BADVALUE,DBPROPOPTIONS_REQUIRED,fSet));
}
else {
TESTC(VerifyDBPropSet(cPrpt,&DBPropSet,DBPROPSTATUS_NOTSETTABLE,DBPROPOPTIONS_REQUIRED,fSet));
}
//Initialization to set/unset the property
TESTC(InitDBPropSet(cPrpt,&DBPropSet,fSet));
DBPropSet.rgProperties->dwOptions = 99;
TESTC_(m_pISessionProperties->SetProperties(1,&DBPropSet), DB_E_ERRORSOCCURRED);
TESTC(VerifyDBPropSet(cPrpt,&DBPropSet,DBPROPSTATUS_BADOPTION,99,fSet));
CLEANUP:
//Free memory from GetProperties
VariantClear(&DBPropSet.rgProperties->vValue);
FreeProperties(&cDBPrpt, &pDBPropSet);
TRETURN;
}
//-------------------------------------------------------------------------------------
// @cmember: Verify the property is settable
//
BOOL TCIDProperties::VerifyPropertySettable
( ULONG cPrpt, //@[in]: The index to g_rgDBProperties array
BOOL fSet //@[in]: To set or unset property
)
{
DBPROPIDSET DBPropIDSet;
DBPROPID DBPropID;
DBPROPSET DBPropSet;
DBPROP DBProp;
DBPROPSET *pDBPropSet=NULL;
ULONG cDBPrpt=0;
BOOL fPass=FALSE;
VARTYPE vt;
HRESULT Exphr = S_OK;
DBSTATUS ExpStatus = DBPROPSTATUS_OK;
ULONG_PTR ulIsoLevels = 0;
BOOL fSetWorked = TRUE;
//Need to be initialized before calling VariantCopy function
memset(&DBProp ,0,sizeof(DBPROP));
//Start from scratch
if(!ResetProperties())
return FALSE;
//Initialization
DBPropIDSet.rgPropertyIDs=&DBPropID;
DBPropSet.rgProperties=&DBProp;
DBPropSet.rgProperties->colid.uName.pwszName=NULL;
//Set the property to the default value using VT_EMPTY
if(!InitDBPropSet(cPrpt,&DBPropSet,2))
goto END;
//Set the properties
if(!CHECK(m_pISessionProperties->SetProperties(1,&DBPropSet),S_OK))
goto END;
//Check the Status
if(!COMPARE(DBProp.dwStatus,DBPROPSTATUS_OK))
goto END;
//Get the property and check the default values
if(!InitDBPropIDSet(cPrpt,&DBPropIDSet))
goto END;
if(!CHECK(m_pISessionProperties->GetProperties(1,&DBPropIDSet,
&cDBPrpt,&pDBPropSet),S_OK))
goto END;
//Verify the result against its default values
if(!VerifyDBPropDefault(cPrpt,pDBPropSet,FALSE))
goto END;
//Free memory from GetProperties
FreeProperties(&cDBPrpt, &pDBPropSet);
//Set the property with dwOptions = DBPROPOPTIONS_OPTIONAL
if(!InitDBPropSet(cPrpt,&DBPropSet,3))
goto END;
//Set the properties
m_hr = m_pISessionProperties->SetProperties(1,&DBPropSet);
//As long as we get back S_OK with status = OK or
if(m_hr==ResultFromScode(S_OK))
{
if(!COMPARE(DBProp.dwStatus,DBPROPSTATUS_OK))
goto END;
}
else
{
//DB_E_ERRORSOCCURRED with BADVALUE it succeeded.
//Session property validation is not deferred
if(m_hr==ResultFromScode(DB_E_ERRORSOCCURRED))
{
if(!COMPARE(DBProp.dwStatus,DBPROPSTATUS_BADVALUE))
goto END;
}
else
goto END;
}
//Verify the result. Status was already verified and
//fSet=3 that which is the same as fSet=TRUE
if(!VerifyDBPropSet(cPrpt,&DBPropSet,DBProp.dwStatus,DBPROPOPTIONS_OPTIONAL,3))
goto END;
//Free memory from SetProperties
if ((DBPropSet.rgProperties->vValue.vt == VT_BSTR) &&
(DBPropSet.rgProperties->vValue.bstrVal))
VariantClear(&DBPropSet.rgProperties->vValue);
//Try to set the property
if(!InitDBPropSet(cPrpt,&DBPropSet,TRUE))
goto END;
//Set the properties
m_hr = m_pISessionProperties->SetProperties(1,&DBPropSet);
//As long as we get back S_OK with status = OK or
if(m_hr==ResultFromScode(S_OK))
{
if(!COMPARE(DBProp.dwStatus,DBPROPSTATUS_OK))
goto END;
}
else
{
//DB_E_ERRORSOCCURRED with BADVALUE it succeeded.
if(m_hr==ResultFromScode(DB_E_ERRORSOCCURRED))
{
if(!COMPARE(DBProp.dwStatus,DBPROPSTATUS_BADVALUE))
goto END;
}
else
goto END;
}
//Verify the result
if(!VerifyDBPropSet(cPrpt,&DBPropSet,DBProp.dwStatus,DBPROPOPTIONS_REQUIRED,TRUE))
goto END;
//Try to set/unset the property
//Initialization
if(!fSet)
{
//Free memory from SetProperties
if ((DBPropSet.rgProperties->vValue.vt == VT_BSTR) &&
(DBPropSet.rgProperties->vValue.bstrVal))
VariantClear(&DBPropSet.rgProperties->vValue);
if(!InitDBPropSet(cPrpt,&DBPropSet,FALSE))
goto END;
}
//Check to see if the IsoLevel is supported
GetProperty(DBPROP_SUPPORTEDTXNISOLEVELS, DBPROPSET_DATASOURCEINFO, m_pIDBProperties, &ulIsoLevels);
if( !(DBPropSet.rgProperties->vValue.lVal & ulIsoLevels) )
{
Exphr = DB_E_ERRORSOCCURRED;
ExpStatus = DBPROPSTATUS_BADVALUE;
fSetWorked = FALSE;
}
if(!CHECK(m_pISessionProperties->SetProperties(1,&DBPropSet),Exphr))
goto END;
//Verify the result
if(!VerifyDBPropSet(cPrpt,&DBPropSet,ExpStatus,DBPROPOPTIONS_REQUIRED,fSet))
goto END;
//Free memory from SetProperties
if ((DBPropSet.rgProperties->vValue.vt == VT_BSTR) &&
(DBPropSet.rgProperties->vValue.bstrVal))
VariantClear(&DBPropSet.rgProperties->vValue);
//Verify that the property is set/unset by calling GetProperties
//Init DBPROPID
if(!InitDBPropIDSet(cPrpt,&DBPropIDSet))
goto END;
if(!CHECK(m_pISessionProperties->GetProperties(1,&DBPropIDSet,
&cDBPrpt,&pDBPropSet),S_OK))
goto END;
//Make sure GetProperties returns the same value as SetPropeties.
if(!VerifyDBPropGet(cPrpt,pDBPropSet,DBPROPSTATUS_OK,fSetWorked))
goto END;
//Free memory from GetProperties
FreeProperties(&cDBPrpt, &pDBPropSet);
//Try to set the property
if(!InitDBPropSet(cPrpt,&DBPropSet,TRUE))
goto END;
//Save the VT_TYPE
vt = DBPropSet.rgProperties->vValue.vt;
//Test for bad VT_TYPE for the Property
if (g_rgDBProperties[cPrpt].vtType == VT_I4)
DBPropSet.rgProperties->vValue.vt = VT_BOOL;
else
DBPropSet.rgProperties->vValue.vt = VT_I4;
if(!CHECK(m_pISessionProperties->SetProperties(1,&DBPropSet),DB_E_ERRORSOCCURRED))
goto END;
//Verify the result
if(!VerifyDBPropSet(cPrpt,&DBPropSet,DBPROPSTATUS_BADVALUE,DBPROPOPTIONS_REQUIRED,fSet))
goto END;
//Set back to original VT_TYPE
DBPropSet.rgProperties->vValue.vt = vt;
//Free memory from SetProperties
if( DBPropSet.rgProperties->vValue.vt == VT_BSTR )
VariantClear(&DBPropSet.rgProperties->vValue);
//Try to set the property
if(!InitDBPropSet(cPrpt,&DBPropSet,TRUE))
goto END;
//Test for bad Value for the Property
if (g_rgDBProperties[cPrpt].vtType == VT_I2)
V_I2(&DBPropSet.rgProperties->vValue) = -3;
else if (g_rgDBProperties[cPrpt].vtType == VT_I4)
V_I4(&DBPropSet.rgProperties->vValue) = -3;
else if (g_rgDBProperties[cPrpt].vtType == VT_BOOL)
V_BOOL(&DBPropSet.rgProperties->vValue) = -3;
//Any BSTR can have any value
if( g_rgDBProperties[cPrpt].vtType == VT_BSTR )
goto SKIP;
if(!CHECK(m_pISessionProperties->SetProperties(1,&DBPropSet),DB_E_ERRORSOCCURRED))
goto END;
//Verify the result
if(!VerifyDBPropSet(cPrpt,&DBPropSet,DBPROPSTATUS_BADVALUE,DBPROPOPTIONS_REQUIRED,fSet))
goto END;
SKIP:
//Free memory from SetProperties
if ((DBPropSet.rgProperties->vValue.vt == VT_BSTR) &&
(DBPropSet.rgProperties->vValue.bstrVal))
VariantClear(&DBPropSet.rgProperties->vValue);
//Try to set the property
if(!InitDBPropSet(cPrpt,&DBPropSet,TRUE))
goto END;
//Test for bad dwOption for the Property
DBPropSet.rgProperties->dwOptions = 99;
if(!CHECK(m_pISessionProperties->SetProperties(1,&DBPropSet),DB_E_ERRORSOCCURRED))
goto END;
//Verify the result
if(!VerifyDBPropSet(cPrpt,&DBPropSet,DBPROPSTATUS_BADOPTION,99,fSet))
goto END;
//Free memory from SetProperties
if ((DBPropSet.rgProperties->vValue.vt == VT_BSTR) &&
(DBPropSet.rgProperties->vValue.bstrVal))
VariantClear(&DBPropSet.rgProperties->vValue);
fPass=TRUE;
END:
//Free memory from GetProperties
FreeProperties(&cDBPrpt, &pDBPropSet);
return fPass;
}
//-----------------------------------------------------------------------------
//@mfunc: Set the DBPROPSET
//
//-----------------------------------------------------------------------------
BOOL TCIDProperties::InitDBPropSet
( const ULONG cPrpt,
DBPROPSET *pDBPropSet,
BOOL fSet
)
{
if(!(pDBPropSet->rgProperties))
return FALSE;
pDBPropSet->guidPropertySet=*(g_rgDBProperties[cPrpt].pGuidPropertySet);
pDBPropSet->cProperties=1;
pDBPropSet->rgProperties->dwStatus=99;
//Set dwPropertyID and dwOptions
pDBPropSet->rgProperties->dwPropertyID=g_rgDBProperties[cPrpt].dwPropertyID;
if(3 != fSet)
pDBPropSet->rgProperties->dwOptions=DBPROPOPTIONS_REQUIRED;
else
pDBPropSet->rgProperties->dwOptions=DBPROPOPTIONS_OPTIONAL;
//Set value
if((2 == fSet) || (cPrpt != IDX_SESS_AUTOCOMMITISOLEVELS))
{
pDBPropSet->rgProperties->vValue.vt=VT_EMPTY;
}
else
{
//Set the VT_TYPE to I4
pDBPropSet->rgProperties->vValue.vt = VT_I4;
// Set the Non Default value and the Default value
if ((fSet) && (g_rgDBProperties[cPrpt].vDefault.lVal != DBPROPVAL_TI_READCOMMITTED))
pDBPropSet->rgProperties->vValue.lVal = DBPROPVAL_TI_READCOMMITTED;
else if ((fSet) && (g_rgDBProperties[cPrpt].vDefault.lVal == DBPROPVAL_TI_READCOMMITTED))
pDBPropSet->rgProperties->vValue.lVal = DBPROPVAL_TI_ISOLATED;
else
pDBPropSet->rgProperties->vValue.lVal = g_rgDBProperties[cPrpt].vDefault.lVal;
}
return TRUE;
}
//-----------------------------------------------------------------------------
//@mfunc: Verify the property is set
//
//-----------------------------------------------------------------------------
BOOL TCIDProperties::VerifyDBPropSet
( const ULONG cPrpt,
DBPROPSET *pDBPropSet,
DBPROPSTATUS dwStatus,
DBPROPOPTIONS dwOptions,
BOOL fSet
)
{
if(!(pDBPropSet->rgProperties))
return FALSE;
//Check guidPropertySet
if(pDBPropSet->guidPropertySet != *(g_rgDBProperties[cPrpt].pGuidPropertySet))
return FALSE;
//Check cProperties
if(pDBPropSet->cProperties != 1)
return FALSE;
//Check dwPropertyID
if(pDBPropSet->rgProperties->dwPropertyID !=
g_rgDBProperties[cPrpt].dwPropertyID)
return FALSE;
//Check dwStatus
if(pDBPropSet->rgProperties->dwStatus != dwStatus)
return FALSE;
//Check dwOptions
if( pDBPropSet->rgProperties->dwOptions != dwOptions )
return FALSE;
//Requesting the value of a property that has not been set and has
//no default returns VT_EMPTY.
if ((!g_rgDBProperties[cPrpt].fSupported) ||
(dwStatus == DBPROPSTATUS_BADVALUE ||
dwStatus == DBPROPSTATUS_BADOPTION ||
dwStatus == DBPROPSTATUS_NOTSETTABLE ||
dwStatus == DBPROPSTATUS_NOTSUPPORTED))
return TRUE;
else
{
//Check vValue
if(pDBPropSet->rgProperties->vValue.vt != VT_I4)
return FALSE;
if ((fSet) &&
(((g_rgDBProperties[cPrpt].vDefault.lVal == DBPROPVAL_TI_READCOMMITTED) &&
(pDBPropSet->rgProperties->vValue.lVal == DBPROPVAL_TI_ISOLATED)) ||
((g_rgDBProperties[cPrpt].vDefault.lVal != DBPROPVAL_TI_READCOMMITTED) &&
(pDBPropSet->rgProperties->vValue.lVal == DBPROPVAL_TI_READCOMMITTED))))
return TRUE;
else if ((!fSet) &&
(g_rgDBProperties[cPrpt].vDefault.lVal == pDBPropSet->rgProperties->vValue.lVal))
return TRUE;
else
return FALSE;
}
}
//-----------------------------------------------------------------------------
//@mfunc: Set the DBPROPIDSET
//
//-----------------------------------------------------------------------------
BOOL TCIDProperties::InitDBPropIDSet(const ULONG cPrpt, DBPROPIDSET *pDBPropIDSet)
{
if(!(pDBPropIDSet->rgPropertyIDs))
return FALSE;
pDBPropIDSet->guidPropertySet=*(g_rgDBProperties[cPrpt].pGuidPropertySet);
pDBPropIDSet->cPropertyIDs=1;
*(pDBPropIDSet->rgPropertyIDs)=g_rgDBProperties[cPrpt].dwPropertyID;
return TRUE;
}
//-----------------------------------------------------------------------------
//@mfunc: VerifyDBPropGet
//
//-----------------------------------------------------------------------------
BOOL TCIDProperties::VerifyDBPropGet
( const ULONG cPrpt,
DBPROPSET *pDBPropSet,
DBPROPSTATUS dwStatus,
BOOL fSet
)
{
if(!(pDBPropSet->rgProperties))
return FALSE;
//Check guidPropertySet
if(pDBPropSet->guidPropertySet!= *(g_rgDBProperties[cPrpt].pGuidPropertySet))
return FALSE;
//Check cProperties
if(pDBPropSet->cProperties !=1)
return FALSE;
//Check dwPropertyID
if(pDBPropSet->rgProperties->dwPropertyID !=
g_rgDBProperties[cPrpt].dwPropertyID)
return FALSE;
//Check dwStatus
if(pDBPropSet->rgProperties->dwStatus!=dwStatus)
return FALSE;
//If dwStatus is NOTSUPPORTED dwOptions, colid, and vValue are zeroed
if(dwStatus == DBPROPSTATUS_NOTSUPPORTED)
{
if( (!pDBPropSet->rgProperties->colid.eKind) &&
(!pDBPropSet->rgProperties->dwOptions) &&
(!pDBPropSet->rgProperties->vValue.vt) )
return TRUE;
else
return FALSE;
}
//Check vValue
if(pDBPropSet->rgProperties->vValue.vt != VT_I4)
return FALSE;
if ((fSet) &&
(g_rgDBProperties[cPrpt].vDefault.lVal != pDBPropSet->rgProperties->vValue.lVal))
return TRUE;
else if ((!fSet) &&
(g_rgDBProperties[cPrpt].vDefault.lVal == pDBPropSet->rgProperties->vValue.lVal))
return TRUE;
else
return FALSE;
}
//-----------------------------------------------------------------------------
//@mfunc: VerifyDBPropDefault: Verify the return value is the same as
// the default value.
//
//-----------------------------------------------------------------------------
BOOL TCIDProperties::VerifyDBPropDefault(ULONG cPrpt, DBPROPSET *pDBPropSet, BOOL fAfterRowset)
{
TBEGIN;
QTESTC(pDBPropSet->cProperties == 1);
QTESTC(pDBPropSet->rgProperties != NULL);
QTESTC(pDBPropSet->guidPropertySet == *(g_rgDBProperties[cPrpt].pGuidPropertySet));
QTESTC(pDBPropSet->rgProperties->dwPropertyID == g_rgDBProperties[cPrpt].dwPropertyID);
QTESTC(pDBPropSet->rgProperties->dwStatus == DBPROPSTATUS_OK);
if( !(fAfterRowset && g_rgDBProperties[cPrpt].fSettable == FALSE) )
QTESTC(pDBPropSet->rgProperties->vValue.lVal == g_rgDBProperties[cPrpt].vDefault.lVal);
CLEANUP:
TRETURN;
}
//-----------------------------------------------------------------------------
//@mfunc: WritableProperty:
//
//-----------------------------------------------------------------------------
void TCIDProperties::WritableProperty(ULONG cPrpt)
{
DBPROPIDSET DBPropIDSet;
ULONG cPropertyInfoSets=0;
DBPROPINFOSET * pPropertyInfoSets=NULL;
// Initialization
DBPropIDSet.cPropertyIDs = 1;
DBPropIDSet.rgPropertyIDs = &g_rgDBProperties[cPrpt].dwPropertyID;
memcpy(&DBPropIDSet.guidPropertySet,g_rgDBProperties[cPrpt].pGuidPropertySet,sizeof(GUID));
// Set to False
g_rgDBProperties[cPrpt].fSettable = FALSE;
// Call IDBProperties::GetPropertyInfo to get all the properties
TEST2C_(m_pIDBProperties->GetPropertyInfo(1,&DBPropIDSet,
&cPropertyInfoSets,&pPropertyInfoSets, NULL), S_OK, DB_E_ERRORSOCCURRED);
// At least one property set should be returned
TESTC(cPropertyInfoSets);
TESTC(pPropertyInfoSets != NULL);
// Provider does not have to return what is in spec
if( pPropertyInfoSets->rgPropertyInfos->dwFlags & DBPROPFLAGS_WRITE )
g_rgDBProperties[cPrpt].fSettable = TRUE;
CLEANUP:
// Free memory from GetPropertyInfo
FreeProperties(&cPropertyInfoSets, &pPropertyInfoSets);
return;
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Test Case Section
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// {{ TCW_TEST_CASE_MAP(TCIDProperties_Parameters)
//--------------------------------------------------------------------
// @class ISessionProperties::Parameters
//
class TCIDProperties_Parameters : public TCIDProperties {
private:
// @cmember Static array of variations
DECLARE_TEST_CASE_DATA();
public:
// {{ TCW_DECLARE_FUNCS
// @cmember Execution Routine
DECLARE_TEST_CASE_FUNCS(TCIDProperties_Parameters,TCIDProperties);
// }} TCW_DECLARE_FUNCS_END
// @cmember Initialization Routine
virtual BOOL Init();
// @cmember Termination Routine
virtual BOOL Terminate();
// {{ TCW_TESTVARS()
// @cmember GetProperties with a NULL pcPropertySets - E_INVALIDARG
int Variation_1();
// @cmember GetProperties with a NULL prgPropertySets - E_INVALIDARG
int Variation_2();
// @cmember GetProperties with cPropertyIDSets!=0, rgPropertyIDSets=NULL - E_INVALIDARG
int Variation_3();
// @cmember GetProperties with cPropertyIDs!=0, rgPropertyIDs=NULL - E_INVALIDARG
int Variation_4();
// @cmember GetProperties DBPROPSET_PROPERTIESINERROR with cPropertyIDs>0 - DB_E_ERRORSOCCURRED
int Variation_5();
// @cmember GetProperties DBPROPSET_PROPERTIESINERROR with rgPropertyIDs != NULL - DB_E_ERRORSOCCURRED
int Variation_6();
// @cmember GetProperties DBPROPSET_PROPERTIESINERROR with 2 PropertyIDSets - DB_S_ERRORSOCCURRED
int Variation_7();
// @cmember GetProperties with a supported and unsupported PropertySet - DB_S_ERRORSOCCURRED
int Variation_8();
// @cmember GetProperties with an unsupported PropertySet - DB_E_ERRORSOCCURRED
int Variation_9();
// @cmember SetProperties with cPropertyIDs!=0, rgPropertyID=NULL - E_INVALIDARG
int Variation_10();
// @cmember SetProperties with cProperties!=0, rgProperties=NULL - E_INVALIDARG
int Variation_11();
// @cmember SetProperties with a supported and unsupported PropertySet - DB_S_ERRORSOCCURRED
int Variation_12();
// @cmember SetProperties with an unsupported PropertySet - DB_E_ERRORSOCCURRED
int Variation_13();
// @cmember Compare DBPROP_SUPPORTEDTXNISOLEVELS with DBPROP_SESS_AUTOCOMMITISOLEVELS
int Variation_14();
// @cmember SetProperties with 0 for cPropertySets - S_OK
int Variation_15();
// @cmember SetProperties and GetProperties with all Isolation Levels - S_OK
int Variation_16();
// @cmember GetProperties with cProperties=0, rgProperties=NULL - S_OK or DB_E_ERRORSOCCURRED
int Variation_17();
// @cmember GetProperties with 0, NULL PropSets first - S_OK or DB_E_ERRORSOCCURRED
int Variation_18();
// @cmember GetProperties with 0, NULL PropSets second - S_OK or DB_E_ERRORSOCCURRED
int Variation_19();
// @cmember SetProperties with 0, NULL for cProperties and rgProperties - S_OK
int Variation_20();
// @cmember GetProperties DBPROPSET_SESSIONALL as the PropertySet - DB_E_ERRORSOCCURRED
int Variation_21();
// @cmember SetProperties with DBPROPOPTIONS_OPTIONAL - DB_E_ERRORSOCCURRED
int Variation_22();
// @cmember SetProperties with an unsupported PropertySet with DBPROPOPTIONS_OPTIONAL - DB_E_ERRORSOCCURRED
int Variation_23();
// @cmember GetProperties with 0, NULL, DBPROPSET_DBINIT - DB_E_ERRORSOCCURRED
int Variation_24();
// @cmember GetProperties with 0, NULL, DBPROPSET_DBINITALL - DB_E_ERRORSOCCURRED
int Variation_25();
// @cmember SetProperties with invalid value - DB_E_ERRORSOCCURRED
int Variation_26();
// @cmember SetProperties with Optional invalid value - DB_E_ERRORSOCCURRED
int Variation_27();
// @cmember SetProperties with invalid propid - DB_E_ERRORSOCCURRED
int Variation_28();
// }} TCW_TESTVARS_END
};
// {{ TCW_TESTCASE(TCIDProperties_Parameters)
#define THE_CLASS TCIDProperties_Parameters
BEG_TEST_CASE(TCIDProperties_Parameters, TCIDProperties, L"ISessionProperties::Parameters")
TEST_VARIATION(1, L"GetProperties with a NULL pcPropertySets - E_INVALIDARG")
TEST_VARIATION(2, L"GetProperties with a NULL prgPropertySets - E_INVALIDARG")
TEST_VARIATION(3, L"GetProperties with cPropertyIDSets!=0, rgPropertyIDSets=NULL - E_INVALIDARG")
TEST_VARIATION(4, L"GetProperties with cPropertyIDs!=0, rgPropertyIDs=NULL - E_INVALIDARG")
TEST_VARIATION(5, L"GetProperties DBPROPSET_PROPERTIESINERROR with cPropertyIDs>0 - DB_E_ERRORSOCCURRED")
TEST_VARIATION(6, L"GetProperties DBPROPSET_PROPERTIESINERROR with rgPropertyIDs != NULL - DB_E_ERRORSOCCURRED")
TEST_VARIATION(7, L"GetProperties DBPROPSET_PROPERTIESINERROR with 2 PropertyIDSets - DB_S_ERRORSOCCURRED")
TEST_VARIATION(8, L"GetProperties with a supported and unsupported PropertySet - DB_S_ERRORSOCCURRED")
TEST_VARIATION(9, L"GetProperties with an unsupported PropertySet - DB_E_ERRORSOCCURRED")
TEST_VARIATION(10, L"SetProperties with cPropertyIDs!=0, rgPropertyID=NULL - E_INVALIDARG")
TEST_VARIATION(11, L"SetProperties with cProperties!=0, rgProperties=NULL - E_INVALIDARG")
TEST_VARIATION(12, L"SetProperties with a supported and unsupported PropertySet - DB_S_ERRORSOCCURRED")
TEST_VARIATION(13, L"SetProperties with an unsupported PropertySet - DB_E_ERRORSOCCURRED")
TEST_VARIATION(14, L"Compare DBPROP_SUPPORTEDTXNISOLEVELS with DBPROP_SESS_AUTOCOMMITISOLEVELS")
TEST_VARIATION(15, L"SetProperties with 0 for cPropertySets - S_OK")
TEST_VARIATION(16, L"SetProperties and GetProperties with all Isolation Levels - S_OK")
TEST_VARIATION(17, L"GetProperties with cProperties=0, rgProperties=NULL - S_OK or DB_E_ERRORSOCCURRED")
TEST_VARIATION(18, L"GetProperties with 0, NULL PropSets first - S_OK or DB_E_ERRORSOCCURRED")
TEST_VARIATION(19, L"GetProperties with 0, NULL PropSets second - S_OK or DB_E_ERRORSOCCURRED")
TEST_VARIATION(20, L"SetProperties with 0, NULL for cProperties and rgProperties - S_OK")
TEST_VARIATION(21, L"GetProperties DBPROPSET_SESSIONALL as the PropertySet - DB_E_ERRORSOCCURRED")
TEST_VARIATION(22, L"SetProperties with DBPROPOPTIONS_OPTIONAL - DB_E_ERRORSOCCURRED")
TEST_VARIATION(23, L"SetProperties with an unsupported PropertySet with DBPROPOPTIONS_OPTIONAL - DB_E_ERRORSOCCURRED")
TEST_VARIATION(24, L"GetProperties with 0, NULL, DBPROPSET_DBINIT - DB_E_ERRORSOCCURRED")
TEST_VARIATION(25, L"GetProperties with 0, NULL, DBPROPSET_DBINITALL - DB_E_ERRORSOCCURRED")
TEST_VARIATION(26, L"SetProperties with invalid value - DB_E_ERRORSOCCURRED")
TEST_VARIATION(27, L"SetProperties with Optional invalid value - DB_E_ERRORSOCCURRED")
TEST_VARIATION(28, L"SetProperties with invalid propid - DB_E_ERRORSOCCURRED")
END_TEST_CASE()
#undef THE_CLASS
// }} TCW_TESTCASE_END
// }} TCW_TEST_CASE_MAP_END
// {{ TCW_TEST_CASE_MAP(TCIDProperties_SetProperties)
//--------------------------------------------------------------------
// @class set all supported properties
//
class TCIDProperties_SetProperties : public TCIDProperties {
private:
// @cmember Static array of variations
DECLARE_TEST_CASE_DATA();
public:
// {{ TCW_DECLARE_FUNCS
// @cmember Execution Routine
DECLARE_TEST_CASE_FUNCS(TCIDProperties_SetProperties,TCIDProperties);
// }} TCW_DECLARE_FUNCS_END
// @cmember Initialization Routine
virtual BOOL Init();
// @cmember Termination Routine
virtual BOOL Terminate();
// {{ TCW_TESTVARS()
// @cmember DBPROP is DBPROP_ACTIVESESSIONS - S_OK
int Variation_1();
// @cmember DBPROP is DBPROP_ASYNCTXNABORT - S_OK
int Variation_2();
// @cmember DBPROP is DBPROP_ASYNCTXNCOMMIT - S_OK
int Variation_3();
// @cmember DBPROP is DBPROP_BYREFACCESSORS - S_OK
int Variation_4();
// @cmember DBPROP is DBPROP_CATALOGLOCATION - S_OK
int Variation_5();
// @cmember DBPROP is DBPROP_CATALOGTERM - S_OK
int Variation_6();
// @cmember DBPROP is DBPROP_CATALOGUSAGE - S_OK
int Variation_7();
// @cmember DBPROP is DBPROP_COLUMNDEFINITION - S_OK
int Variation_8();
// @cmember DBPROP is DBPROP_CONCATNULLBEHAVIOR - S_OK
int Variation_9();
// @cmember DBPROP is DBPROP_DATASOURCENAME - S_OK
int Variation_10();
// @cmember DBPROP is DBPROP_DATASOURCEREADONLY - S_OK
int Variation_11();
// @cmember DBPROP is DBPROP_DBMSNAME - S_OK
int Variation_12();
// @cmember DBPROP is DBPROP_DBMSVER - S_OK
int Variation_13();
// @cmember DBPROP is DBPROP_DSOTHREADMODEL - S_OK
int Variation_14();
// @cmember DBPROP is DBPROP_GROUPBY - S_OK
int Variation_15();
// @cmember DBPROP is DBPROP_HETEROGENEOUSTABLES - S_OK
int Variation_16();
// @cmember DBPROP is DBPROP_IDENTIFIERCASE - S_OK
int Variation_17();
// @cmember DBPROP is DBPROP_MAXINDEXSIZE - S_OK
int Variation_18();
// @cmember DBPROP is DBPROP_MAXOPENCHAPTERS - S_OK
int Variation_19();
// @cmember DBPROP is DBPROP_MAXORSINFILTER - S_OK
int Variation_20();
// @cmember DBPROP is DBPROP_MAXROWSIZE - S_OK
int Variation_21();
// @cmember DBPROP is DBPROP_MAXROWSIZEINCLUDESBLOB - S_OK
int Variation_22();
// @cmember DBPROP is DBPROP_MAXSORTCOLUMNS - S_OK
int Variation_23();
// @cmember DBPROP is DBPROP_MAXTABLESINSELECT - S_OK
int Variation_24();
// @cmember DBPROP is DBPROP_MULTIPLEPARAMSETS - S_OK
int Variation_25();
// @cmember DBPROP is DBPROP_MULTIPLERESULTS - S_OK
int Variation_26();
// @cmember DBPROP is DBPROP_MULTIPLESTORAGEOBJECTS - S_OK
int Variation_27();
// @cmember DBPROP is DBPROP_MULTITABLEUPDATE - S_OK
int Variation_28();
// @cmember DBPROP is DBPROP_NULLCOLLATION - S_OK
int Variation_29();
// @cmember DBPROP is DBPROP_OLEOBJECTS - S_OK
int Variation_30();
// @cmember DBPROP is DBPROP_ORDERBYCOLUMNSINSELECT - S_OK
int Variation_31();
// @cmember DBPROP is DBPROP_OUTPUTPARAMETERAVAILABILITY - S_OK
int Variation_32();
// @cmember DBPROP is DBPROP_PERSISTENTIDTYPE - S_OK
int Variation_33();
// @cmember DBPROP is DBPROP_PREPAREABORTBEHAVIOR - S_OK
int Variation_34();
// @cmember DBPROP is DBPROP_PREPARECOMMITBEHAVIOR - S_OK
int Variation_35();
// @cmember DBPROP is DBPROP_PROCEDURETERM - S_OK
int Variation_36();
// @cmember DBPROP is DBPROP_PROVIDERNAME - S_OK
int Variation_37();
// @cmember DBPROP is DBPROP_PROVIDEROLEDBVER - S_OK
int Variation_38();
// @cmember DBPROP is DBPROP_PROVIDERVER - S_OK
int Variation_39();
// @cmember DBPROP is DBPROP_QUOTEDIDENTIFIERCASE - S_OK
int Variation_40();
// @cmember DBPROP is DBPROP_ROWSETCONVERSIONSONCOMMAND - S_OK
int Variation_41();
// @cmember DBPROP is DBPROP_SCHEMATERM - S_OK
int Variation_42();
// @cmember DBPROP is DBPROP_SCHEMAUSAGE - S_OK
int Variation_43();
// @cmember DBPROP is DBPROP_SORTONINDEX - S_OK
int Variation_44();
// @cmember DBPROP is DBPROP_SQLSUPPORT - S_OK
int Variation_45();
// @cmember DBPROP is DBPROP_STRUCTUREDSTORAGE - S_OK
int Variation_46();
// @cmember DBPROP is DBPROP_SUBQUERIES - S_OK
int Variation_47();
// @cmember DBPROP is DBPROP_SUPPORTEDTXNDDL - S_OK
int Variation_48();
// @cmember DBPROP is DBPROP_SUPPORTEDTXNISOLEVELS - S_OK
int Variation_49();
// @cmember DBPROP is DBPROP_SUPPORTEDTXNISORETAIN - S_OK
int Variation_50();
// @cmember DBPROP is DBPROP_TABLETERM - S_OK
int Variation_51();
// @cmember DBPROP is DBPROP_USERNAME - S_OK
int Variation_52();
// @cmember DBPROP is DBPROP_CURRENTCATALOG - S_OK
int Variation_53();
// @cmember DBPROP is DBPROP_AUTH_CACHE_AUTHINFO - S_OK
int Variation_54();
// @cmember DBPROP is DBPROP_AUTH_ENCRYPT_PASSWORD - S_OK
int Variation_55();
// @cmember DBPROP is DBPROP_AUTH_INTEGRATED - S_OK
int Variation_56();
// @cmember DBPROP is DBPROP_AUTH_MASK_PASSWORD - S_OK
int Variation_57();
// @cmember DBPROP is DBPROP_AUTH_PASSWORD - S_OK
int Variation_58();
// @cmember DBPROP is DBPROP_AUTH_PERSIST_ENCRYPTED - S_OK
int Variation_59();
// @cmember DBPROP is DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO - S_OK
int Variation_60();
// @cmember DBPROP is DBPROP_AUTH_USERID - S_OK
int Variation_61();
// @cmember DBPROP is DBPROP_INIT_ASYNCH - S_OK
int Variation_62();
// @cmember DBPROP is DBPROP_INIT_DATASOURCE - S_OK
int Variation_63();
// @cmember DBPROP is DBPROP_INIT_HWND - S_OK
int Variation_64();
// @cmember DBPROP is DBPROP_INIT_IMPERSONATION_LEVEL - S_OK
int Variation_65();
// @cmember DBPROP is DBPROP_INIT_LCID - S_OK
int Variation_66();
// @cmember DBPROP is DBPROP_INIT_LOCATION - S_OK
int Variation_67();
// @cmember DBPROP is DBPROP_INIT_MODE - S_OK
int Variation_68();
// @cmember DBPROP is DBPROP_INIT_PROMPT - S_OK
int Variation_69();
// @cmember DBPROP is DBPROP_INIT_PROTECTION_LEVEL - S_OK
int Variation_70();
// @cmember DBPROP is DBPROP_INIT_PROVIDERSTRING - S_OK
int Variation_71();
// @cmember DBPROP is DBPROP_INIT_TIMEOUT - S_OK
int Variation_72();
// @cmember DBPROP is DBPROP_COL_AUTOINCREMENT - S_OK
int Variation_73();
// @cmember DBPROP is DBPROP_COL_DEFAULT - S_OK
int Variation_74();
// @cmember DBPROP is DBPROP_COL_DESCRIPTION - S_OK
int Variation_75();
// @cmember DBPROP is DBPROP_COL_FIXEDLENGTH - S_OK
int Variation_76();
// @cmember DBPROP is DBPROP_COL_NULLABLE - S_OK
int Variation_77();
// @cmember DBPROP is DBPROP_COL_PRIMARYKEY - S_OK
int Variation_78();
// @cmember DBPROP is DBPROP_COL_UNIQUE - S_OK
int Variation_79();
// @cmember DBPROP is DBPROP_INDEX_AUTOUPDATE - S_OK
int Variation_80();
// @cmember DBPROP is DBPROP_INDEX_CLUSTERED - S_OK
int Variation_81();
// @cmember DBPROP is DBPROP_INDEX_FILLFACTOR - S_OK
int Variation_82();
// @cmember DBPROP is DBPROP_INDEX_INITIALSIZE - S_OK
int Variation_83();
// @cmember DBPROP is DBPROP_INDEX_NULLCOLLATION - S_OK
int Variation_84();
// @cmember DBPROP is DBPROP_INDEX_NULLS - S_OK
int Variation_85();
// @cmember DBPROP is DBPROP_INDEX_PRIMARYKEY - S_OK
int Variation_86();
// @cmember DBPROP is DBPROP_INDEX_SORTBOOKMARKS - S_OK
int Variation_87();
// @cmember DBPROP is DBPROP_INDEX_TEMPINDEX - S_OK
int Variation_88();
// @cmember DBPROP is DBPROP_INDEX_TYPE - S_OK
int Variation_89();
// @cmember DBPROP is DBPROP_INDEX_UNIQUE - S_OK
int Variation_90();
// @cmember DBPROP is DBPROP_SESS_AUTOCOMMITISOLEVELS - S_OK
int Variation_91();
// @cmember DBPROP is DBPROP_TBL_TEMPTABLE - S_OK
int Variation_92();
// @cmember DBPROP is DBPROP_ABORTPRESERVE - S_OK
int Variation_93();
// @cmember DBPROP is DBPROP_APPENDONLY - S_OK
int Variation_94();
// @cmember DBPROP is DBPROP_BLOCKINGSTORAGEOBJECTS - S_OK
int Variation_95();
// @cmember DBPROP is DBPROP_BOOKMARKS - S_OK
int Variation_96();
// @cmember DBPROP is DBPROP_BOOKMARKSKIPPED - S_OK
int Variation_97();
// @cmember DBPROP is DBPROP_BOOKMARKTYPE - S_OK
int Variation_98();
// @cmember DBPROP is DBPROP_CACHEDEFERRED - S_OK
int Variation_99();
// @cmember DBPROP is DBPROP_CANFETCHBACKWARDS - S_OK
int Variation_100();
// @cmember DBPROP is DBPROP_CANHOLDROWS - S_OK
int Variation_101();
// @cmember DBPROP is DBPROP_CANSCROLLBACKWARDS - S_OK
int Variation_102();
// @cmember DBPROP is DBPROP_CHANGEINSERTEDROWS - S_OK
int Variation_103();
// @cmember DBPROP is DBPROP_COLUMNRESTRICT - S_OK
int Variation_104();
// @cmember DBPROP is DBPROP_COMMANDTIMEOUT - S_OK
int Variation_105();
// @cmember DBPROP is DBPROP_COMMITPRESERVE - S_OK
int Variation_106();
// @cmember DBPROP is DBPROP_DEFERRED - S_OK
int Variation_107();
// @cmember DBPROP is DBPROP_DELAYSTORAGEOBJECTS - S_OK
int Variation_108();
// @cmember DBPROP is DBPROP_FILTERCOMPAREOPS - S_OK
int Variation_109();
// @cmember DBPROP is DBPROP_FINDCOMPAREOPS - S_OK
int Variation_110();
// @cmember DBPROP is DBPROP_IMMOBILEROWS - S_OK
int Variation_111();
// @cmember DBPROP is DBPROP_LITERALBOOKMARKS - S_OK
int Variation_112();
// @cmember DBPROP is DBPROP_LITERALIDENTITY - S_OK
int Variation_113();
// @cmember DBPROP is DBPROP_MAXOPENROWS - S_OK
int Variation_114();
// @cmember DBPROP is DBPROP_MAXPENDINGROWS - S_OK
int Variation_115();
// @cmember DBPROP is DBPROP_MAXROWS - S_OK
int Variation_116();
// @cmember DBPROP is DBPROP_MAYWRITECOLUMN - S_OK
int Variation_117();
// @cmember DBPROP is DBPROP_MEMORYUSAGE - S_OK
int Variation_118();
// @cmember DBPROP is DBPROP_NOTIFICATIONPHASES - S_OK
int Variation_119();
// @cmember DBPROP is DBPROP_NOTIFYCOLUMNSET - S_OK
int Variation_120();
// @cmember DBPROP is DBPROP_NOTIFYROWDELETE - S_OK
int Variation_121();
// @cmember DBPROP is DBPROP_NOTIFYROWFIRSTCHANGE - S_OK
int Variation_122();
// @cmember DBPROP is DBPROP_NOTIFYROWINSERT - S_OK
int Variation_123();
// @cmember DBPROP is DBPROP_NOTIFYROWRESYNCH - S_OK
int Variation_124();
// @cmember DBPROP is DBPROP_NOTIFYROWSETRELEASE - S_OK
int Variation_125();
// @cmember DBPROP is DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE - S_OK
int Variation_126();
// @cmember DBPROP is DBPROP_NOTIFYROWUNDOCHANGE - S_OK
int Variation_127();
// @cmember DBPROP is DBPROP_NOTIFYROWUNDODELETE - S_OK
int Variation_128();
// @cmember DBPROP is DBPROP_NOTIFYROWUNDOINSERT - S_OK
int Variation_129();
// @cmember DBPROP is DBPROP_NOTIFYROWUPDATE - S_OK
int Variation_130();
// @cmember DBPROP is DBPROP_ORDEREDBOOKMARKS - S_OK
int Variation_131();
// @cmember DBPROP is DBPROP_OTHERINSERT - S_OK
int Variation_132();
// @cmember DBPROP is DBPROP_OTHERUPDATEDELETE - S_OK
int Variation_133();
// @cmember DBPROP is DBPROP_OWNINSERT - S_OK
int Variation_134();
// @cmember DBPROP is DBPROP_OWNUPDATEDELETE - S_OK
int Variation_135();
// @cmember DBPROP is DBPROP_QUICKRESTART - S_OK
int Variation_136();
// @cmember DBPROP is DBPROP_REENTRANTEVENTS - S_OK
int Variation_137();
// @cmember DBPROP is DBPROP_REMOVEDELETED - S_OK
int Variation_138();
// @cmember DBPROP is DBPROP_REPORTMULTIPLECHANGES - S_OK
int Variation_139();
// @cmember DBPROP is DBPROP_RETURNPENDINGINSERTS - S_OK
int Variation_140();
// @cmember DBPROP is DBPROP_ROWRESTRICT - S_OK
int Variation_141();
// @cmember DBPROP is DBPROP_ROWSET_ASYNCH - S_OK
int Variation_142();
// @cmember DBPROP is DBPROP_ROWTHREADMODEL - S_OK
int Variation_143();
// @cmember DBPROP is DBPROP_SERVERCURSOR - S_OK
int Variation_144();
// @cmember DBPROP is DBPROP_TRANSACTEDOBJECT - S_OK
int Variation_145();
// @cmember DBPROP is DBPROP_UPDATABILITY - S_OK
int Variation_146();
// @cmember DBPROP is DBPROP_STRONGIDENTITY - S_OK
int Variation_147();
// @cmember DBPROP is DBPROP_IAccessor - S_OK
int Variation_148();
// @cmember DBPROP is DBPROP_IChapteredRowset - S_OK
int Variation_149();
// @cmember DBPROP is DBPROP_IColumnsInfo - S_OK
int Variation_150();
// @cmember DBPROP is DBPROP_IColumnsRowset - S_OK
int Variation_151();
// @cmember DBPROP is DBPROP_IConnectionPointContainer - S_OK
int Variation_152();
// @cmember DBPROP is DBPROP_IConvertType - S_OK
int Variation_153();
// @cmember DBPROP is DBPROP_IDBAsynchStatus - S_OK
int Variation_154();
// @cmember DBPROP is DBPROP_IRowset - S_OK
int Variation_155();
// @cmember DBPROP is DBPROP_IRowsetChange - S_OK
int Variation_156();
// @cmember DBPROP is DBPROP_IRowsetFind - S_OK
int Variation_157();
// @cmember DBPROP is DBPROP_IRowsetIdentity - S_OK
int Variation_158();
// @cmember DBPROP is DBPROP_IRowsetIndex - S_OK
int Variation_159();
// @cmember DBPROP is DBPROP_IRowsetInfo - S_OK
int Variation_160();
// @cmember DBPROP is DBPROP_IRowsetLocate - S_OK
int Variation_161();
// @cmember DBPROP is DBPROP_IRowsetResynch - S_OK
int Variation_162();
// @cmember DBPROP is DBPROP_IRowsetScroll - S_OK
int Variation_163();
// @cmember DBPROP is DBPROP_IRowsetUpdate - S_OK
int Variation_164();
// @cmember DBPROP is DBPROP_IRowsetView - S_OK
int Variation_165();
// @cmember DBPROP is DBPROP_IViewChapter - S_OK
int Variation_166();
// @cmember DBPROP is DBPROP_IViewFilter - S_OK
int Variation_167();
// @cmember DBPROP is DBPROP_IViewRowset - S_OK
int Variation_168();
// @cmember DBPROP is DBPROP_IViewSort - S_OK
int Variation_169();
// @cmember DBPROP is DBPROP_ILockBytes - S_OK
int Variation_170();
// @cmember DBPROP is DBPROP_ISequentialStream - S_OK
int Variation_171();
// @cmember DBPROP is DBPROP_IStorage - S_OK
int Variation_172();
// @cmember DBPROP is DBPROP_IStream - S_OK
int Variation_173();
// @cmember DBPROP is DBPROP_ISupportErrorInfo - S_OK
int Variation_174();
// @cmember DBPROP is DBPROP_ALTERCOLUMN - S_OK
int Variation_175();
// @cmember DBPROP is DBPROP_CONNECTIONSTATUS - S_OK
int Variation_176();
// @cmember DBPROP is DBPROP_PROVIDERFRIENDLYNAME - S_OK
int Variation_177();
// @cmember DBPROP is DBPROP_PROVIDERMEMORY - S_OK
int Variation_178();
// @cmember DBPROP is DBPROP_SERVERNAME - S_OK
int Variation_179();
// @cmember DBPROP is DBPROP_MULTIPLECONNECTIONS - S_OK
int Variation_180();
// @cmember DBPROP is DBPROP_RESETDATASOURCE - S_OK
int Variation_181();
// @cmember DBPROP is DBPROP_INIT_CATALOG - S_OK
int Variation_182();
// @cmember DBPROP is DBPROP_INIT_OLEDBSERVICES - S_OK
int Variation_183();
// @cmember DBPROP is DBPROP_COLUMNLCID - S_OK
int Variation_184();
// @cmember DBPROP is DBPROP_ACCESSORDER - S_OK
int Variation_185();
// @cmember DBPROP is DBPROP_BOOKMARKINFO - S_OK
int Variation_186();
// @cmember DBPROP is DBPROP_HIDDENCOLUMNS - S_OK
int Variation_187();
// @cmember DBPROP is DBPROP_LOCKMODE - S_OK
int Variation_188();
// @cmember DBPROP is DBPROP_NOTIFICATIONGRANULARITY - S_OK
int Variation_189();
// @cmember DBPROP is DBPROP_ROW_BULKOPS - S_OK
int Variation_190();
// @cmember DBPROP is DBPROP_SERVERDATAONINSERT - S_OK
int Variation_191();
// @cmember DBPROP is DBPROP_STORAGEFLAGS - S_OK
int Variation_192();
// @cmember DBPROP is DBPROP_UNIQUEROWS - S_OK
int Variation_193();
// @cmember DBPROP is DBPROP_IMultipleResults - S_OK
int Variation_194();
// @cmember DBPROP is DBPROP_IRowsetRefresh - S_OK
int Variation_195();
// @cmember DBPROP is DBPROP_IParentRowset - S_OK
int Variation_196();
// @cmember DBPROP is DBPROP_COL_INCREMENT - S_OK
int Variation_197();
// @cmember DBPROP is DBPROP_COL_ISLONG - S_OK
int Variation_198();
// @cmember DBPROP is DBPROP_COL_SEED - S_OK
int Variation_199();
// @cmember DBPROP is DBPROP_COMSERVICES - S_OK
int Variation_200();
// @cmember DBPROP is DBPROP_DATASOURCETYPE - S_OK
int Variation_201();
// @cmember DBPROP is DBPROP_GENERATEURL - S_OK
int Variation_202();
// @cmember DBPROP is DBPROP_OPENROWSETSUPPORT - S_OK
int Variation_203();
// @cmember DBPROP is DBPROP_INIT_BINDFLAGS - S_OK
int Variation_204();
// @cmember DBPROP is DBPROP_INIT_GENERALTIMEOUT - S_OK
int Variation_205();
// @cmember DBPROP is DBPROP_INIT_LOCKOWNER - S_OK
int Variation_206();
// @cmember DBPROP is DBPROP_CLIENTCURSOR - S_OK
int Variation_207();
// @cmember DBPROP is DBPROP_NOTIFYROWSETCHANGED - S_OK
int Variation_208();
// @cmember DBPROP is DBPROP_IBindResource - S_OK
int Variation_209();
// @cmember DBPROP is DBPROP_IColumnsInfo2 - S_OK
int Variation_210();
// @cmember DBPROP is DBPROP_ICreateRow - S_OK
int Variation_211();
// @cmember DBPROP is DBPROP_IGetRow - S_OK
int Variation_212();
// @cmember DBPROP is DBPROP_IGetSession - S_OK
int Variation_213();
// @cmember DBPROP is DBPROP_IGetSourceRow - S_OK
int Variation_214();
// @cmember DBPROP is DBPROP_IRow - S_OK
int Variation_215();
// @cmember DBPROP is DBPROP_IRowChange - S_OK
int Variation_216();
// @cmember DBPROP is DBPROP_IRowSchemaChange - S_OK
int Variation_217();
// @cmember DBPROP is DBPROP_IRowsetCurrentIndex - S_OK
int Variation_218();
// @cmember DBPROP is DBPROP_IScopedOperations - S_OK
int Variation_219();
// }} TCW_TESTVARS_END
};
// {{ TCW_TESTCASE(TCIDProperties_SetProperties)
#define THE_CLASS TCIDProperties_SetProperties
BEG_TEST_CASE(TCIDProperties_SetProperties, TCIDProperties, L"set all supported properties")
TEST_VARIATION(1, L"DBPROP is DBPROP_ACTIVESESSIONS - S_OK")
TEST_VARIATION(2, L"DBPROP is DBPROP_ASYNCTXNABORT - S_OK")
TEST_VARIATION(3, L"DBPROP is DBPROP_ASYNCTXNCOMMIT - S_OK")
TEST_VARIATION(4, L"DBPROP is DBPROP_BYREFACCESSORS - S_OK")
TEST_VARIATION(5, L"DBPROP is DBPROP_CATALOGLOCATION - S_OK")
TEST_VARIATION(6, L"DBPROP is DBPROP_CATALOGTERM - S_OK")
TEST_VARIATION(7, L"DBPROP is DBPROP_CATALOGUSAGE - S_OK")
TEST_VARIATION(8, L"DBPROP is DBPROP_COLUMNDEFINITION - S_OK")
TEST_VARIATION(9, L"DBPROP is DBPROP_CONCATNULLBEHAVIOR - S_OK")
TEST_VARIATION(10, L"DBPROP is DBPROP_DATASOURCENAME - S_OK")
TEST_VARIATION(11, L"DBPROP is DBPROP_DATASOURCEREADONLY - S_OK")
TEST_VARIATION(12, L"DBPROP is DBPROP_DBMSNAME - S_OK")
TEST_VARIATION(13, L"DBPROP is DBPROP_DBMSVER - S_OK")
TEST_VARIATION(14, L"DBPROP is DBPROP_DSOTHREADMODEL - S_OK")
TEST_VARIATION(15, L"DBPROP is DBPROP_GROUPBY - S_OK")
TEST_VARIATION(16, L"DBPROP is DBPROP_HETEROGENEOUSTABLES - S_OK")
TEST_VARIATION(17, L"DBPROP is DBPROP_IDENTIFIERCASE - S_OK")
TEST_VARIATION(18, L"DBPROP is DBPROP_MAXINDEXSIZE - S_OK")
TEST_VARIATION(19, L"DBPROP is DBPROP_MAXOPENCHAPTERS - S_OK")
TEST_VARIATION(20, L"DBPROP is DBPROP_MAXORSINFILTER - S_OK")
TEST_VARIATION(21, L"DBPROP is DBPROP_MAXROWSIZE - S_OK")
TEST_VARIATION(22, L"DBPROP is DBPROP_MAXROWSIZEINCLUDESBLOB - S_OK")
TEST_VARIATION(23, L"DBPROP is DBPROP_MAXSORTCOLUMNS - S_OK")
TEST_VARIATION(24, L"DBPROP is DBPROP_MAXTABLESINSELECT - S_OK")
TEST_VARIATION(25, L"DBPROP is DBPROP_MULTIPLEPARAMSETS - S_OK")
TEST_VARIATION(26, L"DBPROP is DBPROP_MULTIPLERESULTS - S_OK")
TEST_VARIATION(27, L"DBPROP is DBPROP_MULTIPLESTORAGEOBJECTS - S_OK")
TEST_VARIATION(28, L"DBPROP is DBPROP_MULTITABLEUPDATE - S_OK")
TEST_VARIATION(29, L"DBPROP is DBPROP_NULLCOLLATION - S_OK")
TEST_VARIATION(30, L"DBPROP is DBPROP_OLEOBJECTS - S_OK")
TEST_VARIATION(31, L"DBPROP is DBPROP_ORDERBYCOLUMNSINSELECT - S_OK")
TEST_VARIATION(32, L"DBPROP is DBPROP_OUTPUTPARAMETERAVAILABILITY - S_OK")
TEST_VARIATION(33, L"DBPROP is DBPROP_PERSISTENTIDTYPE - S_OK")
TEST_VARIATION(34, L"DBPROP is DBPROP_PREPAREABORTBEHAVIOR - S_OK")
TEST_VARIATION(35, L"DBPROP is DBPROP_PREPARECOMMITBEHAVIOR - S_OK")
TEST_VARIATION(36, L"DBPROP is DBPROP_PROCEDURETERM - S_OK")
TEST_VARIATION(37, L"DBPROP is DBPROP_PROVIDERNAME - S_OK")
TEST_VARIATION(38, L"DBPROP is DBPROP_PROVIDEROLEDBVER - S_OK")
TEST_VARIATION(39, L"DBPROP is DBPROP_PROVIDERVER - S_OK")
TEST_VARIATION(40, L"DBPROP is DBPROP_QUOTEDIDENTIFIERCASE - S_OK")
TEST_VARIATION(41, L"DBPROP is DBPROP_ROWSETCONVERSIONSONCOMMAND - S_OK")
TEST_VARIATION(42, L"DBPROP is DBPROP_SCHEMATERM - S_OK")
TEST_VARIATION(43, L"DBPROP is DBPROP_SCHEMAUSAGE - S_OK")
TEST_VARIATION(44, L"DBPROP is DBPROP_SORTONINDEX - S_OK")
TEST_VARIATION(45, L"DBPROP is DBPROP_SQLSUPPORT - S_OK")
TEST_VARIATION(46, L"DBPROP is DBPROP_STRUCTUREDSTORAGE - S_OK")
TEST_VARIATION(47, L"DBPROP is DBPROP_SUBQUERIES - S_OK")
TEST_VARIATION(48, L"DBPROP is DBPROP_SUPPORTEDTXNDDL - S_OK")
TEST_VARIATION(49, L"DBPROP is DBPROP_SUPPORTEDTXNISOLEVELS - S_OK")
TEST_VARIATION(50, L"DBPROP is DBPROP_SUPPORTEDTXNISORETAIN - S_OK")
TEST_VARIATION(51, L"DBPROP is DBPROP_TABLETERM - S_OK")
TEST_VARIATION(52, L"DBPROP is DBPROP_USERNAME - S_OK")
TEST_VARIATION(53, L"DBPROP is DBPROP_CURRENTCATALOG - S_OK")
TEST_VARIATION(54, L"DBPROP is DBPROP_AUTH_CACHE_AUTHINFO - S_OK")
TEST_VARIATION(55, L"DBPROP is DBPROP_AUTH_ENCRYPT_PASSWORD - S_OK")
TEST_VARIATION(56, L"DBPROP is DBPROP_AUTH_INTEGRATED - S_OK")
TEST_VARIATION(57, L"DBPROP is DBPROP_AUTH_MASK_PASSWORD - S_OK")
TEST_VARIATION(58, L"DBPROP is DBPROP_AUTH_PASSWORD - S_OK")
TEST_VARIATION(59, L"DBPROP is DBPROP_AUTH_PERSIST_ENCRYPTED - S_OK")
TEST_VARIATION(60, L"DBPROP is DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO - S_OK")
TEST_VARIATION(61, L"DBPROP is DBPROP_AUTH_USERID - S_OK")
TEST_VARIATION(62, L"DBPROP is DBPROP_INIT_ASYNCH - S_OK")
TEST_VARIATION(63, L"DBPROP is DBPROP_INIT_DATASOURCE - S_OK")
TEST_VARIATION(64, L"DBPROP is DBPROP_INIT_HWND - S_OK")
TEST_VARIATION(65, L"DBPROP is DBPROP_INIT_IMPERSONATION_LEVEL - S_OK")
TEST_VARIATION(66, L"DBPROP is DBPROP_INIT_LCID - S_OK")
TEST_VARIATION(67, L"DBPROP is DBPROP_INIT_LOCATION - S_OK")
TEST_VARIATION(68, L"DBPROP is DBPROP_INIT_MODE - S_OK")
TEST_VARIATION(69, L"DBPROP is DBPROP_INIT_PROMPT - S_OK")
TEST_VARIATION(70, L"DBPROP is DBPROP_INIT_PROTECTION_LEVEL - S_OK")
TEST_VARIATION(71, L"DBPROP is DBPROP_INIT_PROVIDERSTRING - S_OK")
TEST_VARIATION(72, L"DBPROP is DBPROP_INIT_TIMEOUT - S_OK")
TEST_VARIATION(73, L"DBPROP is DBPROP_COL_AUTOINCREMENT - S_OK")
TEST_VARIATION(74, L"DBPROP is DBPROP_COL_DEFAULT - S_OK")
TEST_VARIATION(75, L"DBPROP is DBPROP_COL_DESCRIPTION - S_OK")
TEST_VARIATION(76, L"DBPROP is DBPROP_COL_FIXEDLENGTH - S_OK")
TEST_VARIATION(77, L"DBPROP is DBPROP_COL_NULLABLE - S_OK")
TEST_VARIATION(78, L"DBPROP is DBPROP_COL_PRIMARYKEY - S_OK")
TEST_VARIATION(79, L"DBPROP is DBPROP_COL_UNIQUE - S_OK")
TEST_VARIATION(80, L"DBPROP is DBPROP_INDEX_AUTOUPDATE - S_OK")
TEST_VARIATION(81, L"DBPROP is DBPROP_INDEX_CLUSTERED - S_OK")
TEST_VARIATION(82, L"DBPROP is DBPROP_INDEX_FILLFACTOR - S_OK")
TEST_VARIATION(83, L"DBPROP is DBPROP_INDEX_INITIALSIZE - S_OK")
TEST_VARIATION(84, L"DBPROP is DBPROP_INDEX_NULLCOLLATION - S_OK")
TEST_VARIATION(85, L"DBPROP is DBPROP_INDEX_NULLS - S_OK")
TEST_VARIATION(86, L"DBPROP is DBPROP_INDEX_PRIMARYKEY - S_OK")
TEST_VARIATION(87, L"DBPROP is DBPROP_INDEX_SORTBOOKMARKS - S_OK")
TEST_VARIATION(88, L"DBPROP is DBPROP_INDEX_TEMPINDEX - S_OK")
TEST_VARIATION(89, L"DBPROP is DBPROP_INDEX_TYPE - S_OK")
TEST_VARIATION(90, L"DBPROP is DBPROP_INDEX_UNIQUE - S_OK")
TEST_VARIATION(91, L"DBPROP is DBPROP_SESS_AUTOCOMMITISOLEVELS - S_OK")
TEST_VARIATION(92, L"DBPROP is DBPROP_TBL_TEMPTABLE - S_OK")
TEST_VARIATION(93, L"DBPROP is DBPROP_ABORTPRESERVE - S_OK")
TEST_VARIATION(94, L"DBPROP is DBPROP_APPENDONLY - S_OK")
TEST_VARIATION(95, L"DBPROP is DBPROP_BLOCKINGSTORAGEOBJECTS - S_OK")
TEST_VARIATION(96, L"DBPROP is DBPROP_BOOKMARKS - S_OK")
TEST_VARIATION(97, L"DBPROP is DBPROP_BOOKMARKSKIPPED - S_OK")
TEST_VARIATION(98, L"DBPROP is DBPROP_BOOKMARKTYPE - S_OK")
TEST_VARIATION(99, L"DBPROP is DBPROP_CACHEDEFERRED - S_OK")
TEST_VARIATION(100, L"DBPROP is DBPROP_CANFETCHBACKWARDS - S_OK")
TEST_VARIATION(101, L"DBPROP is DBPROP_CANHOLDROWS - S_OK")
TEST_VARIATION(102, L"DBPROP is DBPROP_CANSCROLLBACKWARDS - S_OK")
TEST_VARIATION(103, L"DBPROP is DBPROP_CHANGEINSERTEDROWS - S_OK")
TEST_VARIATION(104, L"DBPROP is DBPROP_COLUMNRESTRICT - S_OK")
TEST_VARIATION(105, L"DBPROP is DBPROP_COMMANDTIMEOUT - S_OK")
TEST_VARIATION(106, L"DBPROP is DBPROP_COMMITPRESERVE - S_OK")
TEST_VARIATION(107, L"DBPROP is DBPROP_DEFERRED - S_OK")
TEST_VARIATION(108, L"DBPROP is DBPROP_DELAYSTORAGEOBJECTS - S_OK")
TEST_VARIATION(109, L"DBPROP is DBPROP_FILTERCOMPAREOPS - S_OK")
TEST_VARIATION(110, L"DBPROP is DBPROP_FINDCOMPAREOPS - S_OK")
TEST_VARIATION(111, L"DBPROP is DBPROP_IMMOBILEROWS - S_OK")
TEST_VARIATION(112, L"DBPROP is DBPROP_LITERALBOOKMARKS - S_OK")
TEST_VARIATION(113, L"DBPROP is DBPROP_LITERALIDENTITY - S_OK")
TEST_VARIATION(114, L"DBPROP is DBPROP_MAXOPENROWS - S_OK")
TEST_VARIATION(115, L"DBPROP is DBPROP_MAXPENDINGROWS - S_OK")
TEST_VARIATION(116, L"DBPROP is DBPROP_MAXROWS - S_OK")
TEST_VARIATION(117, L"DBPROP is DBPROP_MAYWRITECOLUMN - S_OK")
TEST_VARIATION(118, L"DBPROP is DBPROP_MEMORYUSAGE - S_OK")
TEST_VARIATION(119, L"DBPROP is DBPROP_NOTIFICATIONPHASES - S_OK")
TEST_VARIATION(120, L"DBPROP is DBPROP_NOTIFYCOLUMNSET - S_OK")
TEST_VARIATION(121, L"DBPROP is DBPROP_NOTIFYROWDELETE - S_OK")
TEST_VARIATION(122, L"DBPROP is DBPROP_NOTIFYROWFIRSTCHANGE - S_OK")
TEST_VARIATION(123, L"DBPROP is DBPROP_NOTIFYROWINSERT - S_OK")
TEST_VARIATION(124, L"DBPROP is DBPROP_NOTIFYROWRESYNCH - S_OK")
TEST_VARIATION(125, L"DBPROP is DBPROP_NOTIFYROWSETRELEASE - S_OK")
TEST_VARIATION(126, L"DBPROP is DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE - S_OK")
TEST_VARIATION(127, L"DBPROP is DBPROP_NOTIFYROWUNDOCHANGE - S_OK")
TEST_VARIATION(128, L"DBPROP is DBPROP_NOTIFYROWUNDODELETE - S_OK")
TEST_VARIATION(129, L"DBPROP is DBPROP_NOTIFYROWUNDOINSERT - S_OK")
TEST_VARIATION(130, L"DBPROP is DBPROP_NOTIFYROWUPDATE - S_OK")
TEST_VARIATION(131, L"DBPROP is DBPROP_ORDEREDBOOKMARKS - S_OK")
TEST_VARIATION(132, L"DBPROP is DBPROP_OTHERINSERT - S_OK")
TEST_VARIATION(133, L"DBPROP is DBPROP_OTHERUPDATEDELETE - S_OK")
TEST_VARIATION(134, L"DBPROP is DBPROP_OWNINSERT - S_OK")
TEST_VARIATION(135, L"DBPROP is DBPROP_OWNUPDATEDELETE - S_OK")
TEST_VARIATION(136, L"DBPROP is DBPROP_QUICKRESTART - S_OK")
TEST_VARIATION(137, L"DBPROP is DBPROP_REENTRANTEVENTS - S_OK")
TEST_VARIATION(138, L"DBPROP is DBPROP_REMOVEDELETED - S_OK")
TEST_VARIATION(139, L"DBPROP is DBPROP_REPORTMULTIPLECHANGES - S_OK")
TEST_VARIATION(140, L"DBPROP is DBPROP_RETURNPENDINGINSERTS - S_OK")
TEST_VARIATION(141, L"DBPROP is DBPROP_ROWRESTRICT - S_OK")
TEST_VARIATION(142, L"DBPROP is DBPROP_ROWSET_ASYNCH - S_OK")
TEST_VARIATION(143, L"DBPROP is DBPROP_ROWTHREADMODEL - S_OK")
TEST_VARIATION(144, L"DBPROP is DBPROP_SERVERCURSOR - S_OK")
TEST_VARIATION(145, L"DBPROP is DBPROP_TRANSACTEDOBJECT - S_OK")
TEST_VARIATION(146, L"DBPROP is DBPROP_UPDATABILITY - S_OK")
TEST_VARIATION(147, L"DBPROP is DBPROP_STRONGIDENTITY - S_OK")
TEST_VARIATION(148, L"DBPROP is DBPROP_IAccessor - S_OK")
TEST_VARIATION(149, L"DBPROP is DBPROP_IChapteredRowset - S_OK")
TEST_VARIATION(150, L"DBPROP is DBPROP_IColumnsInfo - S_OK")
TEST_VARIATION(151, L"DBPROP is DBPROP_IColumnsRowset - S_OK")
TEST_VARIATION(152, L"DBPROP is DBPROP_IConnectionPointContainer - S_OK")
TEST_VARIATION(153, L"DBPROP is DBPROP_IConvertType - S_OK")
TEST_VARIATION(154, L"DBPROP is DBPROP_IDBAsynchStatus - S_OK")
TEST_VARIATION(155, L"DBPROP is DBPROP_IRowset - S_OK")
TEST_VARIATION(156, L"DBPROP is DBPROP_IRowsetChange - S_OK")
TEST_VARIATION(157, L"DBPROP is DBPROP_IRowsetFind - S_OK")
TEST_VARIATION(158, L"DBPROP is DBPROP_IRowsetIdentity - S_OK")
TEST_VARIATION(159, L"DBPROP is DBPROP_IRowsetIndex - S_OK")
TEST_VARIATION(160, L"DBPROP is DBPROP_IRowsetInfo - S_OK")
TEST_VARIATION(161, L"DBPROP is DBPROP_IRowsetLocate - S_OK")
TEST_VARIATION(162, L"DBPROP is DBPROP_IRowsetResynch - S_OK")
TEST_VARIATION(163, L"DBPROP is DBPROP_IRowsetScroll - S_OK")
TEST_VARIATION(164, L"DBPROP is DBPROP_IRowsetUpdate - S_OK")
TEST_VARIATION(165, L"DBPROP is DBPROP_IRowsetView - S_OK")
TEST_VARIATION(166, L"DBPROP is DBPROP_IViewChapter - S_OK")
TEST_VARIATION(167, L"DBPROP is DBPROP_IViewFilter - S_OK")
TEST_VARIATION(168, L"DBPROP is DBPROP_IViewRowset - S_OK")
TEST_VARIATION(169, L"DBPROP is DBPROP_IViewSort - S_OK")
TEST_VARIATION(170, L"DBPROP is DBPROP_ILockBytes - S_OK")
TEST_VARIATION(171, L"DBPROP is DBPROP_ISequentialStream - S_OK")
TEST_VARIATION(172, L"DBPROP is DBPROP_IStorage - S_OK")
TEST_VARIATION(173, L"DBPROP is DBPROP_IStream - S_OK")
TEST_VARIATION(174, L"DBPROP is DBPROP_ISupportErrorInfo - S_OK")
TEST_VARIATION(175, L"DBPROP is DBPROP_ALTERCOLUMN - S_OK")
TEST_VARIATION(176, L"DBPROP is DBPROP_CONNECTIONSTATUS - S_OK")
TEST_VARIATION(177, L"DBPROP is DBPROP_PROVIDERFRIENDLYNAME - S_OK")
TEST_VARIATION(178, L"DBPROP is DBPROP_PROVIDERMEMORY - S_OK")
TEST_VARIATION(179, L"DBPROP is DBPROP_SERVERNAME - S_OK")
TEST_VARIATION(180, L"DBPROP is DBPROP_MULTIPLECONNECTIONS - S_OK")
TEST_VARIATION(181, L"DBPROP is DBPROP_RESETDATASOURCE - S_OK")
TEST_VARIATION(182, L"DBPROP is DBPROP_INIT_CATALOG - S_OK")
TEST_VARIATION(183, L"DBPROP is DBPROP_INIT_OLEDBSERVICES - S_OK")
TEST_VARIATION(184, L"DBPROP is DBPROP_COLUMNLCID - S_OK")
TEST_VARIATION(185, L"DBPROP is DBPROP_ACCESSORDER - S_OK")
TEST_VARIATION(186, L"DBPROP is DBPROP_BOOKMARKINFO - S_OK")
TEST_VARIATION(187, L"DBPROP is DBPROP_HIDDENCOLUMNS - S_OK")
TEST_VARIATION(188, L"DBPROP is DBPROP_LOCKMODE - S_OK")
TEST_VARIATION(189, L"DBPROP is DBPROP_NOTIFICATIONGRANULARITY - S_OK")
TEST_VARIATION(190, L"DBPROP is DBPROP_ROW_BULKOPS - S_OK")
TEST_VARIATION(191, L"DBPROP is DBPROP_SERVERDATAONINSERT - S_OK")
TEST_VARIATION(192, L"DBPROP is DBPROP_STORAGEFLAGS - S_OK")
TEST_VARIATION(193, L"DBPROP is DBPROP_UNIQUEROWS - S_OK")
TEST_VARIATION(194, L"DBPROP is DBPROP_IMultipleResults - S_OK")
TEST_VARIATION(195, L"DBPROP is DBPROP_IRowsetRefresh - S_OK")
TEST_VARIATION(196, L"DBPROP is DBPROP_IParentRowset - S_OK")
TEST_VARIATION(197, L"DBPROP is DBPROP_COL_INCREMENT - S_OK")
TEST_VARIATION(198, L"DBPROP is DBPROP_COL_ISLONG - S_OK")
TEST_VARIATION(199, L"DBPROP is DBPROP_COL_SEED - S_OK")
TEST_VARIATION(200, L"DBPROP is DBPROP_COMSERVICES - S_OK")
TEST_VARIATION(201, L"DBPROP is DBPROP_DATASOURCETYPE - S_OK")
TEST_VARIATION(202, L"DBPROP is DBPROP_GENERATEURL - S_OK")
TEST_VARIATION(203, L"DBPROP is DBPROP_OPENROWSETSUPPORT - S_OK")
TEST_VARIATION(204, L"DBPROP is DBPROP_INIT_BINDFLAGS - S_OK")
TEST_VARIATION(205, L"DBPROP is DBPROP_INIT_GENERALTIMEOUT - S_OK")
TEST_VARIATION(206, L"DBPROP is DBPROP_INIT_LOCKOWNER - S_OK")
TEST_VARIATION(207, L"DBPROP is DBPROP_CLIENTCURSOR - S_OK")
TEST_VARIATION(208, L"DBPROP is DBPROP_NOTIFYROWSETCHANGED - S_OK")
TEST_VARIATION(209, L"DBPROP is DBPROP_IBindResource - S_OK")
TEST_VARIATION(210, L"DBPROP is DBPROP_IColumnsInfo2 - S_OK")
TEST_VARIATION(211, L"DBPROP is DBPROP_ICreateRow - S_OK")
TEST_VARIATION(212, L"DBPROP is DBPROP_IGetRow - S_OK")
TEST_VARIATION(213, L"DBPROP is DBPROP_IGetSession - S_OK")
TEST_VARIATION(214, L"DBPROP is DBPROP_IGetSourceRow - S_OK")
TEST_VARIATION(215, L"DBPROP is DBPROP_IRow - S_OK")
TEST_VARIATION(216, L"DBPROP is DBPROP_IRowChange - S_OK")
TEST_VARIATION(217, L"DBPROP is DBPROP_IRowSchemaChange - S_OK")
TEST_VARIATION(218, L"DBPROP is DBPROP_IRowsetCurrentIndex - S_OK")
TEST_VARIATION(219, L"DBPROP is DBPROP_IScopedOperations - S_OK")
END_TEST_CASE()
#undef THE_CLASS
// }} TCW_TESTCASE_END
// }} TCW_TEST_CASE_MAP_END
// {{ TCW_TEST_CASE_MAP(TCZombie)
//--------------------------------------------------------------------
// @class Induce zombie states on the Session
//
class TCZombie : public CTransaction {
private:
// @cmember Static array of variations
DECLARE_TEST_CASE_DATA();
public:
// {{ TCW_DECLARE_FUNCS
// @cmember Execution Routine
DECLARE_TEST_CASE_FUNCS(TCZombie,CTransaction);
// }} TCW_DECLARE_FUNCS_END
// @cmember Initialization Routine
virtual BOOL Init();
// @cmember Termination Routine
virtual BOOL Terminate();
// @cmember TestTxn
int TestTxn(ETXN eTxn, BOOL fRetaining);
// {{ TCW_TESTVARS()
// @cmember S_OK - Abort ISessionProperties with fRetaining=TRUE
int Variation_1();
// @cmember S_OK - Abort ISessionProperties with fRetaining=FALSE
int Variation_2();
// @cmember S_OK - Commit ISessionProperties with fRetaining=TRUE
int Variation_3();
// @cmember S_OK - Commit ISessionProperties with fRetaining=FALSE
int Variation_4();
// }} TCW_TESTVARS_END
};
// {{ TCW_TESTCASE(TCZombie)
#define THE_CLASS TCZombie
BEG_TEST_CASE(TCZombie, CTransaction, L"Induce zombie states on the Session")
TEST_VARIATION(1, L"S_OK - Abort ISessionProperties with fRetaining=TRUE")
TEST_VARIATION(2, L"S_OK - Abort ISessionProperties with fRetaining=FALSE")
TEST_VARIATION(3, L"S_OK - Commit ISessionProperties with fRetaining=TRUE")
TEST_VARIATION(4, L"S_OK - Commit ISessionProperties with fRetaining=FALSE")
END_TEST_CASE()
#undef THE_CLASS
// }} TCW_TESTCASE_END
// }} TCW_TEST_CASE_MAP_END
// {{ TCW_TEST_CASE_MAP(TCExtendedErrors)
//--------------------------------------------------------------------
// @class Extended Errors
//
class TCExtendedErrors : public TCIDProperties {
private:
// @cmember Static array of variations
DECLARE_TEST_CASE_DATA();
public:
// {{ TCW_DECLARE_FUNCS
// @cmember Execution Routine
DECLARE_TEST_CASE_FUNCS(TCExtendedErrors,TCIDProperties);
// }} TCW_DECLARE_FUNCS_END
// @cmember Initialization Routine
virtual BOOL Init();
// @cmember Termination Routine
virtual BOOL Terminate();
// {{ TCW_TESTVARS()
// @cmember Valid GetProperties call with previous error object existing.
int Variation_1();
// @cmember DB_E_ERRORSOCCURRED GetProperties call with previous error object existing.
int Variation_2();
// @cmember E_INVALIDARG GetProperties call with previous error object existing.
int Variation_3();
// }} TCW_TESTVARS_END
};
// {{ TCW_TESTCASE(TCExtendedErrors)
#define THE_CLASS TCExtendedErrors
BEG_TEST_CASE(TCExtendedErrors, TCIDProperties, L"Extended Errors")
TEST_VARIATION(1, L"Valid GetProperties call with previous error object existing.")
TEST_VARIATION(2, L"DB_E_ERRORSOCCURRED GetProperties call with previous error object existing.")
TEST_VARIATION(3, L"E_INVALIDARG GetProperties call with previous error object existing.")
END_TEST_CASE()
#undef THE_CLASS
// }} TCW_TESTCASE_END
// }} TCW_TEST_CASE_MAP_END
// }} END_DECLARE_TEST_CASES()
// {{ TCW_TESTMODULE(ThisModule)
TEST_MODULE(4, ThisModule, gwszModuleDescrip)
TEST_CASE(1, TCIDProperties_Parameters)
TEST_CASE(2, TCIDProperties_SetProperties)
TEST_CASE(3, TCZombie)
TEST_CASE(4, TCExtendedErrors)
END_TEST_MODULE()
// }} TCW_TESTMODULE_END
// {{ TCW_TC_PROTOTYPE(TCIDProperties_Parameters)
//*-----------------------------------------------------------------------
//| Test Case: TCIDProperties_Parameters - ISessionProperties::Parameters
//| Created: 08/12/96
//| Updated: 04/25/98
//*-----------------------------------------------------------------------
//--------------------------------------------------------------------
// @mfunc TestCase Initialization Routine
//
// @rdesc TRUE or FALSE
//
BOOL TCIDProperties_Parameters::Init()
{
// {{ TCW_INIT_BASECLASS_CHECK
if( TCIDProperties::Init() )
// }}
{
//Get a IDBProperties pointer
TESTC(VerifyInterface(m_pThisTestModule->m_pIUnknown, IID_IDBProperties,
DATASOURCE_INTERFACE, (IUnknown **)&m_pIDBProperties));
//Get a ISessionProperties pointer
TESTC(VerifyInterface(m_pThisTestModule->m_pIUnknown2, IID_ISessionProperties,
SESSION_INTERFACE, (IUnknown **)&m_pISessionProperties));
//Initialize
m_cPropertyIDSets = 1;
m_rgPropertyIDSets->cPropertyIDs = 1;
m_rgPropertyIDSets->rgPropertyIDs = m_rgPropertyIDs;
m_rgPropertyIDSets->guidPropertySet = DBPROPSET_SESSION;
//Get the default values if we have not done it already
if( !g_fInitGetPropDefault )
{
TESTC(InitGetPropDefault());
g_fInitGetPropDefault = TRUE;
}
return TRUE;
}
CLEANUP:
return FALSE;
}
// {{ TCW_VAR_PROTOTYPE(1)
//*-----------------------------------------------------------------------
// @mfunc GetProperties with a NULL pcPropertySets - E_INVALIDARG
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_1()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
//Null pcPropertySets should fail gracefully
TESTC_(m_pISessionProperties->GetProperties(m_cPropertyIDSets,
m_rgPropertyIDSets, NULL, &m_prgPropertySets), E_INVALIDARG);
//Needs to be NULL on output
TESTC(!m_prgPropertySets);
CLEANUP:
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(2)
//*-----------------------------------------------------------------------
// @mfunc GetProperties with a NULL prgPropertySets - E_INVALIDARG
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_2()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
//Null pcPropertySets should fail gracefully
TESTC_(m_pISessionProperties->GetProperties(m_cPropertyIDSets,
m_rgPropertyIDSets, &m_pcPropertySets, NULL), E_INVALIDARG);
//Needs to be NULL on output
TESTC(!m_pcPropertySets);
CLEANUP:
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(3)
//*-----------------------------------------------------------------------
// @mfunc GetProperties with cPropertyIDSets!=0, rgPropertyIDSets=NULL - E_INVALIDARG
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_3()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
//Null pcPropertySets should fail gracefully
TESTC_(m_pISessionProperties->GetProperties(2, NULL,
&m_pcPropertySets, &m_prgPropertySets), E_INVALIDARG);
//Needs to be NULL on output
TESTC(!m_pcPropertySets);
TESTC(!m_prgPropertySets);
CLEANUP:
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(4)
//*-----------------------------------------------------------------------
// @mfunc GetProperties with cPropertyIDs!=0, rgPropertyIDs=NULL - E_INVALIDARG
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_4()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgPropertyIDSets->rgPropertyIDs = NULL;
//Should fail gracefully
TESTC_(m_pISessionProperties->GetProperties(m_cPropertyIDSets, m_rgPropertyIDSets,
&m_pcPropertySets, &m_prgPropertySets), E_INVALIDARG);
//Needs to be NULL on output
TESTC(!m_pcPropertySets);
TESTC(!m_prgPropertySets);
CLEANUP:
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(5)
//*-----------------------------------------------------------------------
// @mfunc GetProperties DBPROPSET_PROPERTIESINERROR with cPropertyIDs>0 - DB_E_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_5()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgPropertyIDSets->cPropertyIDs = 0;
m_rgPropertyIDSets->guidPropertySet = DBPROPSET_PROPERTIESINERROR;
//Should fail gracefully
TESTC_(m_pISessionProperties->GetProperties(1, m_rgPropertyIDSets,
&m_pcPropertySets, &m_prgPropertySets), DB_E_ERRORSOCCURRED);
//Count of cPropertySets sets
TESTC(m_pcPropertySets == 1);
TESTC(m_prgPropertySets != NULL);
//Verify that the element of the array
TESTC(m_prgPropertySets->cProperties == 0);
TESTC(m_prgPropertySets->rgProperties == NULL);
TESTC(m_prgPropertySets->guidPropertySet == DBPROPSET_PROPERTIESINERROR);
CLEANUP:
//Free the memory
FreeProperties(&m_pcPropertySets, &m_prgPropertySets);
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(6)
//*-----------------------------------------------------------------------
// @mfunc GetProperties DBPROPSET_PROPERTIESINERROR with rgPropertyIDs != NULL - DB_E_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_6()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgPropertyIDSets->cPropertyIDs = 0;
m_rgPropertyIDSets->guidPropertySet = DBPROPSET_PROPERTIESINERROR;
//Should fail gracefully
TESTC_(m_pISessionProperties->GetProperties(1, m_rgPropertyIDSets,
&m_pcPropertySets, &m_prgPropertySets), DB_E_ERRORSOCCURRED);
//Count of cPropertySets sets
TESTC(m_pcPropertySets == 1);
TESTC(m_prgPropertySets != NULL);
//Verify that the element of the array
TESTC(m_prgPropertySets->cProperties == 0);
TESTC(m_prgPropertySets->rgProperties == NULL);
TESTC(m_prgPropertySets->guidPropertySet == DBPROPSET_PROPERTIESINERROR);
CLEANUP:
//Free the memory
FreeProperties(&m_pcPropertySets, &m_prgPropertySets);
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(7)
//*-----------------------------------------------------------------------
// @mfunc GetProperties DBPROPSET_PROPERTIESINERROR with 2 PropertyIDSets - DB_S_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_7()
{
TBEGIN
HRESULT Exphr = DB_S_ERRORSOCCURRED;
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgPropertyIDSets[0].cPropertyIDs = 0;
m_rgPropertyIDSets[0].rgPropertyIDs = NULL;
m_rgPropertyIDSets[0].guidPropertySet = DBPROPSET_SESSION;
m_rgPropertyIDSets[1].cPropertyIDs = 0;
m_rgPropertyIDSets[1].rgPropertyIDs = NULL;
m_rgPropertyIDSets[1].guidPropertySet = DBPROPSET_PROPERTIESINERROR;
//Check to see if the Session Property is Supported
if( !g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSupported )
Exphr = DB_E_ERRORSOCCURRED;
//Should fail gracefully
TESTC_(m_pISessionProperties->GetProperties(2, m_rgPropertyIDSets,
&m_pcPropertySets, &m_prgPropertySets), Exphr);
//Count of cPropertySets sets
TESTC(m_pcPropertySets == 2);
TESTC(m_prgPropertySets != NULL);
//Verify that the element of the array
if( SUCCEEDED(Exphr) )
{
TESTC(m_prgPropertySets[0].cProperties == 1);
TESTC(m_prgPropertySets[0].rgProperties != NULL);
TESTC(m_prgPropertySets[0].guidPropertySet == DBPROPSET_SESSION);
TESTC(m_prgPropertySets[0].rgProperties->dwPropertyID == DBPROP_SESS_AUTOCOMMITISOLEVELS);
TESTC(m_prgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_OK);
TESTC(m_prgPropertySets[0].rgProperties->colid.eKind == 0);
TESTC(V_VT(&m_prgPropertySets[0].rgProperties->vValue) == VT_I4);
}
else
{
TESTC(m_prgPropertySets[0].cProperties == 0);
TESTC(m_prgPropertySets[0].rgProperties == NULL);
TESTC(m_prgPropertySets[0].guidPropertySet == DBPROPSET_SESSION);
}
TESTC(m_prgPropertySets[1].cProperties == 0);
TESTC(m_prgPropertySets[1].rgProperties == NULL);
TESTC(m_prgPropertySets[1].guidPropertySet == DBPROPSET_PROPERTIESINERROR);
CLEANUP:
//Free the memory
FreeProperties(&m_pcPropertySets, &m_prgPropertySets);
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(8)
//*-----------------------------------------------------------------------
// @mfunc GetProperties with a supported and unsupported PropertySet - DB_S_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_8()
{
TBEGIN
HRESULT Exphr = DB_S_ERRORSOCCURRED;
DBPROPID rgPropertyIDs1 = 0;
//Reset the Property Structures
ResetProperties();
//Get a settable DBInit or DataSourceInfo property
if( DBSessionNotSupported(&m_rgPropertyIDs[0]) )
Exphr = DB_E_ERRORSOCCURRED;
// Assignments
m_cPropertyIDSets = 2;
m_rgPropertyIDSets[0].cPropertyIDs = 1;
m_rgPropertyIDSets[0].rgPropertyIDs = &rgPropertyIDs1;
m_rgPropertyIDSets[0].guidPropertySet = DBPROPSET_SESSION;
m_rgPropertyIDSets[1].cPropertyIDs = 1;
m_rgPropertyIDSets[1].rgPropertyIDs = &m_rgPropertyIDs[0];
m_rgPropertyIDSets[1].guidPropertySet = DBPROPSET_SESSION;
//Should fail gracefully
TESTC_(m_pISessionProperties->GetProperties(m_cPropertyIDSets,
m_rgPropertyIDSets, &m_pcPropertySets, &m_prgPropertySets), Exphr);
//Count of cPropertySets sets
TESTC(m_pcPropertySets == 2);
TESTC(m_prgPropertySets != NULL);
//Verify that the element of the array
TESTC(m_prgPropertySets[0].cProperties == 1);
TESTC(m_prgPropertySets[0].rgProperties != NULL);
TESTC(m_prgPropertySets[0].guidPropertySet == DBPROPSET_SESSION);
TESTC(m_prgPropertySets[0].rgProperties->dwPropertyID == 0);
TESTC(m_prgPropertySets[0].rgProperties->dwOptions == DBPROPOPTIONS_REQUIRED);
TESTC(m_prgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
TESTC(m_prgPropertySets[0].rgProperties->colid.eKind == 0);
TESTC(V_VT(&m_prgPropertySets[0].rgProperties->vValue) == VT_EMPTY);
TESTC(m_prgPropertySets[1].cProperties == 1);
TESTC(m_prgPropertySets[1].rgProperties != NULL);
TESTC(m_prgPropertySets[1].guidPropertySet == DBPROPSET_SESSION);
if( SUCCEEDED(Exphr) )
{
TESTC(m_prgPropertySets[1].rgProperties->dwPropertyID == DBPROP_SESS_AUTOCOMMITISOLEVELS);
TESTC(m_prgPropertySets[1].rgProperties->dwStatus == DBPROPSTATUS_OK);
TESTC(m_prgPropertySets[1].rgProperties->colid.eKind == 0);
}
else
{
TESTC(m_prgPropertySets[1].rgProperties->dwPropertyID == DBPROP_SESS_AUTOCOMMITISOLEVELS);
TESTC(m_prgPropertySets[1].rgProperties->dwOptions == DBPROPOPTIONS_REQUIRED);
TESTC(m_prgPropertySets[1].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
TESTC(m_prgPropertySets[1].rgProperties->colid.eKind == 0);
TESTC(V_VT(&m_prgPropertySets[1].rgProperties->vValue) == VT_EMPTY);
}
CLEANUP:
//Free the memory
FreeProperties(&m_pcPropertySets, &m_prgPropertySets);
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(9)
//*-----------------------------------------------------------------------
// @mfunc GetProperties with an unsupported PropertySet - DB_E_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_9()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
//Get a settable DBInit or DataSourceInfo property
if( !DBSessionNotSupported(&m_rgPropertyIDs[0]) )
m_rgPropertyIDs[0] = 0;
//Should fail gracefully
TESTC_(m_pISessionProperties->GetProperties(m_cPropertyIDSets,
m_rgPropertyIDSets, &m_pcPropertySets, &m_prgPropertySets), DB_E_ERRORSOCCURRED);
//Count of cPropertySets sets
TESTC(m_pcPropertySets == 1);
TESTC(m_prgPropertySets != NULL);
//Verify that the element of the array
TESTC(m_prgPropertySets[0].cProperties == 1);
TESTC(m_prgPropertySets[0].rgProperties != NULL);
TESTC(m_prgPropertySets[0].guidPropertySet == DBPROPSET_SESSION);
TESTC(m_prgPropertySets[0].rgProperties->dwPropertyID == m_rgPropertyIDs[0]);
TESTC(m_prgPropertySets[0].rgProperties->dwOptions == DBPROPOPTIONS_REQUIRED);
TESTC(m_prgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
TESTC(m_prgPropertySets[0].rgProperties->colid.eKind == 0);
TESTC(V_VT(&m_prgPropertySets[0].rgProperties->vValue) == VT_EMPTY);
CLEANUP:
//Free the memory
FreeProperties(&m_pcPropertySets, &m_prgPropertySets);
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(10)
//*-----------------------------------------------------------------------
// @mfunc SetProperties with cPropertyIDs!=0, rgPropertyID=NULL - E_INVALIDARG
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_10()
{
TBEGIN
//Should fail gracefully
TESTC_(m_pISessionProperties->SetProperties(1, NULL), E_INVALIDARG);
CLEANUP:
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(11)
//*-----------------------------------------------------------------------
// @mfunc SetProperties with cProperties!=0, rgProperties=NULL - E_INVALIDARG
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_11()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgPropertySets->rgProperties = NULL;
//Should fail gracefully
TESTC_(m_pISessionProperties->SetProperties(1, m_rgPropertySets), E_INVALIDARG);
CLEANUP:
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(12)
//*-----------------------------------------------------------------------
// @mfunc SetProperties with a supported and unsupported PropertySet - DB_S_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_12()
{
TBEGIN
HRESULT Exphr = DB_S_ERRORSOCCURRED;
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgPropertySets[0].guidPropertySet = DBPROPSET_DBINIT;
//Get a not supported property
if( !DBInitNotSupported(&m_rgProperties[0].dwPropertyID) )
m_rgProperties[0].dwPropertyID = 0;
//Get a settable Session property
if( !g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSupported )
Exphr = DB_E_ERRORSOCCURRED;
//Call SetProperties
TESTC_(m_pISessionProperties->SetProperties(2, m_rgPropertySets), Exphr);
//Verify that the element of the array
TESTC(m_rgPropertySets[0].rgProperties->dwPropertyID == m_rgProperties[0].dwPropertyID);
TESTC(m_rgPropertySets[0].rgProperties->dwOptions == DBPROPOPTIONS_REQUIRED);
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
TESTC(V_VT(&m_rgPropertySets[0].rgProperties->vValue) == VT_EMPTY);
TESTC(m_rgPropertySets[0].guidPropertySet == DBPROPSET_DBINIT);
TESTC(m_rgPropertySets[1].rgProperties->dwPropertyID == m_rgProperties[1].dwPropertyID);
TESTC(m_rgPropertySets[1].rgProperties->dwOptions == DBPROPOPTIONS_REQUIRED);
if( g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSupported ) {
TESTC(m_rgPropertySets[1].rgProperties->dwStatus == DBPROPSTATUS_OK);
}
else {
TESTC(m_rgPropertySets[1].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
}
TESTC(V_VT(&m_rgPropertySets[1].rgProperties->vValue) == VT_EMPTY);
TESTC(m_rgPropertySets[1].guidPropertySet == DBPROPSET_SESSION);
CLEANUP:
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(13)
//*-----------------------------------------------------------------------
// @mfunc SetProperties with an unsupported PropertySet - DB_E_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_13()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgPropertySets[0].guidPropertySet = DBPROPSET_DBINIT;
//Get a not supported property
if( !DBInitNotSupported(&m_rgProperties[0].dwPropertyID) )
m_rgProperties[0].dwPropertyID = 0;
//Call SetProperties
TESTC_(m_pISessionProperties->SetProperties(1, m_rgPropertySets), DB_E_ERRORSOCCURRED);
//Verify that the element of the array
TESTC(m_rgPropertySets[0].rgProperties->dwPropertyID == m_rgProperties[0].dwPropertyID);
TESTC(m_rgPropertySets[0].rgProperties->dwOptions == DBPROPOPTIONS_REQUIRED);
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
TESTC(V_VT(&m_rgPropertySets[0].rgProperties->vValue) == VT_EMPTY);
TESTC(m_rgPropertySets[0].guidPropertySet == DBPROPSET_DBINIT);
CLEANUP:
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(14)
//*-----------------------------------------------------------------------
// @mfunc Compare DBPROP_SUPPORTEDTXNISOLEVELS with DBPROP_SESS_AUTOCOMMITISOLEVELS
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_14()
{
TBEGIN
ULONG_PTR ulSupportedTxnIsoLevels = 0;
ULONG_PTR ulAutocommitIsoLevels = 0;
//Call GetProperties
GetProperty(DBPROP_SUPPORTEDTXNISOLEVELS, DBPROPSET_DATASOURCEINFO,
m_pIDBProperties, &ulSupportedTxnIsoLevels);
//Call GetProperties
GetProperty(DBPROP_SESS_AUTOCOMMITISOLEVELS, DBPROPSET_SESSION,
m_pISessionProperties, &ulAutocommitIsoLevels);
//Compare both values should be the same
if( ulSupportedTxnIsoLevels || ulAutocommitIsoLevels )
TESTC(!!(ulSupportedTxnIsoLevels & ulAutocommitIsoLevels));
CLEANUP:
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(15)
//*-----------------------------------------------------------------------
// @mfunc SetProperties with 0 for cPropertySets - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_15()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgPropertySets[0].guidPropertySet = DBPROPSET_DBINIT;
//Zero cPropertyIDSets should return S_OK
TESTC_(m_pISessionProperties->SetProperties(0, m_rgPropertySets), S_OK);
//Verify that the element of the array
TESTC(m_rgPropertySets[0].rgProperties->dwPropertyID == m_rgProperties[0].dwPropertyID);
TESTC(m_rgPropertySets[0].rgProperties->dwOptions == DBPROPOPTIONS_REQUIRED);
TESTC(V_VT(&m_rgPropertySets[0].rgProperties->vValue) == VT_EMPTY);
TESTC(m_rgPropertySets[0].guidPropertySet == DBPROPSET_DBINIT);
CLEANUP:
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(16)
//*-----------------------------------------------------------------------
// @mfunc SetProperties and GetProperties with all Isolation Levels - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_16()
{
TBEGIN
ULONG_PTR ulSupportedTxnIsoLevels = 0;
ULONG ulTxnIsolations[] = {0, DBPROPVAL_TI_CHAOS, DBPROPVAL_TI_READUNCOMMITTED,
DBPROPVAL_TI_READCOMMITTED, DBPROPVAL_TI_REPEATABLEREAD,
DBPROPVAL_TI_SERIALIZABLE};
//Reset the Property Structures
ResetProperties();
//Call GetProperties
GetProperty(DBPROP_SUPPORTEDTXNISOLEVELS, DBPROPSET_DATASOURCEINFO,
m_pIDBProperties, &ulSupportedTxnIsoLevels);
//Loop thru all of the ISO Levels
for(ULONG i=0; i < (sizeof(ulTxnIsolations)/sizeof(ulTxnIsolations[0])); i++)
{
//Assignments
m_rgPropertySets[0].rgProperties->vValue.vt = VT_I4;
m_rgPropertySets[0].rgProperties->vValue.lVal = ulTxnIsolations[i];
//Set all of the Isolation Levels
if( (!g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSupported) ||
((ulSupportedTxnIsoLevels != ulTxnIsolations[i]) &&
(!(ulSupportedTxnIsoLevels & ulTxnIsolations[i]))) )
{
TESTC_(m_hr=m_pISessionProperties->SetProperties(1, m_rgPropertySets), DB_E_ERRORSOCCURRED);
// Check the Status
if( g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSupported &&
g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSettable ) {
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_BADVALUE);
}
else if( g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSupported ) {
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSETTABLE);
}
else {
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
}
}
else
{
TESTC_(m_hr=m_pISessionProperties->SetProperties(1, m_rgPropertySets), S_OK);
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_OK);
}
//Get all of the Isolation Levels
if( g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSupported )
{
TESTC_(m_pISessionProperties->GetProperties(m_cPropertyIDSets,
m_rgPropertyIDSets, &m_pcPropertySets, &m_prgPropertySets), S_OK);
TESTC(m_prgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_OK);
// If the SetProperties Succeeded
if( m_hr )
TESTC(m_prgPropertySets[0].rgProperties->vValue.lVal != (long)ulTxnIsolations[i]);
}
else
{
TESTC_(m_pISessionProperties->GetProperties(m_cPropertyIDSets,
m_rgPropertyIDSets, &m_pcPropertySets, &m_prgPropertySets), DB_E_ERRORSOCCURRED);
TESTC(m_prgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
}
//Free the memory
FreeProperties(&m_pcPropertySets, &m_prgPropertySets);
}
CLEANUP:
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(17)
//*-----------------------------------------------------------------------
// @mfunc GetProperties with cProperties=0, rgProperties=NULL - S_OK or DB_E_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_17()
{
TBEGIN
HRESULT Exphr = S_OK;
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgPropertyIDSets[0].cPropertyIDs = 0;
m_rgPropertyIDSets[0].rgPropertyIDs = NULL;
if( !g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSupported )
Exphr = DB_E_ERRORSOCCURRED;
//Should fail gracefully
TESTC_(m_pISessionProperties->GetProperties(m_cPropertyIDSets,
m_rgPropertyIDSets, &m_pcPropertySets, &m_prgPropertySets), Exphr);
//Count of cPropertySets sets
TESTC(m_pcPropertySets == 1);
TESTC(m_prgPropertySets != NULL);
if( SUCCEEDED(Exphr) )
{
TESTC(m_prgPropertySets->cProperties == 1);
TESTC(m_prgPropertySets->rgProperties != NULL);
TESTC(m_prgPropertySets->guidPropertySet == DBPROPSET_SESSION);
TESTC(m_prgPropertySets->rgProperties->dwPropertyID == DBPROP_SESS_AUTOCOMMITISOLEVELS);
TESTC(m_prgPropertySets->rgProperties->dwStatus == DBPROPSTATUS_OK);
TESTC(m_prgPropertySets->rgProperties->colid.eKind == 0);
}
else
{
COMPARE(m_prgPropertySets->cProperties, 0);
COMPARE(m_prgPropertySets->rgProperties, NULL);
COMPARE(m_prgPropertySets->guidPropertySet, DBPROPSET_SESSION);
}
CLEANUP:
//Free the memory
FreeProperties(&m_pcPropertySets, &m_prgPropertySets);
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(18)
//*-----------------------------------------------------------------------
// @mfunc GetProperties with 0, NULL PropSets first - S_OK or DB_E_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_18()
{
TBEGIN
HRESULT Exphr = S_OK;
//Reset the Property Structures
ResetProperties();
// Assignments
m_cPropertyIDSets=2;
m_rgPropertyIDSets[0].cPropertyIDs = 0;
m_rgPropertyIDSets[0].rgPropertyIDs = NULL;
//Assignments
if( !g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSupported )
Exphr = DB_E_ERRORSOCCURRED;
//Should fail gracefully
TESTC_(m_pISessionProperties->GetProperties(m_cPropertyIDSets,
m_rgPropertyIDSets, &m_pcPropertySets, &m_prgPropertySets), Exphr);
//Count of cPropertySets sets
TESTC(m_pcPropertySets == 2);
TESTC(m_prgPropertySets != NULL);
//Verify that the element of the array
if( SUCCEEDED(Exphr) )
{
TESTC(m_prgPropertySets[0].cProperties == 1);
TESTC(m_prgPropertySets[0].rgProperties != NULL);
TESTC(m_prgPropertySets[0].guidPropertySet == DBPROPSET_SESSION);
TESTC(m_prgPropertySets[0].rgProperties->dwPropertyID == DBPROP_SESS_AUTOCOMMITISOLEVELS);
TESTC(m_prgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_OK);
TESTC(m_prgPropertySets[0].rgProperties->colid.eKind == 0);
}
else
{
TESTC(m_prgPropertySets[0].cProperties == 0);
TESTC(m_prgPropertySets[0].rgProperties == NULL);
TESTC(m_prgPropertySets[0].guidPropertySet == DBPROPSET_SESSION);
}
TESTC(m_prgPropertySets[1].cProperties == 1);
TESTC(m_prgPropertySets[1].rgProperties != NULL);
TESTC(m_prgPropertySets[1].guidPropertySet == DBPROPSET_SESSION);
TESTC(m_prgPropertySets[1].rgProperties->dwPropertyID == DBPROP_SESS_AUTOCOMMITISOLEVELS);
TESTC(m_prgPropertySets[1].rgProperties->colid.eKind == 0);
if( SUCCEEDED(Exphr) )
{
TESTC(m_prgPropertySets[1].rgProperties->dwStatus == DBPROPSTATUS_OK);
}
else
{
TESTC(m_prgPropertySets[1].rgProperties->dwOptions == DBPROPOPTIONS_REQUIRED);
TESTC(m_prgPropertySets[1].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
TESTC(V_VT(&m_prgPropertySets[1].rgProperties->vValue) == VT_EMPTY);
}
CLEANUP:
//Free the memory
FreeProperties(&m_pcPropertySets, &m_prgPropertySets);
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(19)
//*-----------------------------------------------------------------------
// @mfunc GetProperties with 0, NULL PropSets second - S_OK or DB_E_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_19()
{
TBEGIN
HRESULT Exphr = S_OK;
//Reset the Property Structures
ResetProperties();
// Assignments
m_cPropertyIDSets = 2;
m_rgPropertyIDSets[1].cPropertyIDs = 0;
m_rgPropertyIDSets[1].rgPropertyIDs = NULL;
//Assignments
if( !g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSupported )
Exphr = DB_E_ERRORSOCCURRED;
//Should fail gracefully
TESTC_(m_pISessionProperties->GetProperties(m_cPropertyIDSets,
m_rgPropertyIDSets, &m_pcPropertySets, &m_prgPropertySets), Exphr);
// Check the return values
TESTC(m_pcPropertySets == 2);
TESTC(m_prgPropertySets != NULL);
//Verify that the element of the array
TESTC(m_prgPropertySets[0].cProperties == 1);
TESTC(m_prgPropertySets[0].rgProperties != NULL);
TESTC(m_prgPropertySets[0].guidPropertySet == DBPROPSET_SESSION);
TESTC(m_prgPropertySets[0].rgProperties->dwPropertyID == DBPROP_SESS_AUTOCOMMITISOLEVELS);
TESTC(m_prgPropertySets[0].rgProperties->colid.eKind == 0);
if( SUCCEEDED(Exphr) ) {
TESTC(m_prgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_OK);
TESTC(m_prgPropertySets[1].cProperties == 1);
TESTC(m_prgPropertySets[1].rgProperties != NULL);
TESTC(m_prgPropertySets[1].guidPropertySet == DBPROPSET_SESSION);
TESTC(m_prgPropertySets[1].rgProperties->dwStatus == DBPROPSTATUS_OK);
TESTC(m_prgPropertySets[1].rgProperties->dwPropertyID == DBPROP_SESS_AUTOCOMMITISOLEVELS);
TESTC(m_prgPropertySets[1].rgProperties->colid.eKind == 0);
}
else{
TESTC(m_prgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
TESTC(m_prgPropertySets[1].cProperties == 0);
TESTC(m_prgPropertySets[1].rgProperties == NULL);
TESTC(m_prgPropertySets[1].guidPropertySet == DBPROPSET_SESSION);
}
CLEANUP:
//Free the memory
FreeProperties(&m_pcPropertySets, &m_prgPropertySets);
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(20)
//*-----------------------------------------------------------------------
// @mfunc SetProperties with 0, NULL for cProperties and rgProperties - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_20()
{
//Reset the Property Structures
ResetProperties();
//Assignments
m_rgPropertySets[0].cProperties = 0;
m_rgPropertySets[0].rgProperties = NULL;
//Call SetProperties
TESTC_(m_pISessionProperties->SetProperties(1, m_rgPropertySets), S_OK);
//Verify that the element of the array
TESTC(m_rgPropertySets[0].cProperties == 0);
TESTC(m_rgPropertySets[0].rgProperties == NULL);
TESTC(m_rgPropertySets[0].guidPropertySet == DBPROPSET_SESSION);
CLEANUP:
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(21)
//*-----------------------------------------------------------------------
// @mfunc GetProperties DBPROPSET_SESSIONALL as the PropertySet - DB_E_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_21()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgPropertyIDSets[0].cPropertyIDs = 0;
m_rgPropertyIDSets[0].rgPropertyIDs = NULL;
m_rgPropertyIDSets->guidPropertySet = DBPROPSET_SESSIONALL;
//Should fail gracefully
TESTC_(m_pISessionProperties->GetProperties(m_cPropertyIDSets,
m_rgPropertyIDSets, &m_pcPropertySets, &m_prgPropertySets), DB_E_ERRORSOCCURRED);
// Check the return values
TESTC(m_pcPropertySets == 1);
TESTC(m_prgPropertySets != NULL);
TESTC(m_prgPropertySets->cProperties == 0);
TESTC(m_prgPropertySets->rgProperties == NULL);
TESTC(m_prgPropertySets->guidPropertySet == DBPROPSET_SESSIONALL);
CLEANUP:
//Free the memory
FreeProperties(&m_pcPropertySets, &m_prgPropertySets);
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(22)
//*-----------------------------------------------------------------------
// @mfunc SetProperties with DBPROPOPTIONS_OPTIONAL - DB_E_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_22()
{
TBEGIN
HRESULT ExpHR = DB_E_ERRORSOCCURRED;
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgPropertySets[0].rgProperties->dwOptions = DBPROPOPTIONS_OPTIONAL;
m_rgPropertySets[0].guidPropertySet = DBPROPSET_DBINIT;
m_rgPropertySets[1].rgProperties->dwOptions = DBPROPOPTIONS_OPTIONAL;
//Get a not supported property
if( !DBInitNotSupported(&m_rgProperties[0].dwPropertyID) )
m_rgProperties[0].dwPropertyID = 0;
//Figure out the return code
if( g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSupported )
ExpHR = DB_S_ERRORSOCCURRED;
//Call SetProperties
TESTC_(m_pISessionProperties->SetProperties(2, m_rgPropertySets), ExpHR);
//Verify that the element of the array
TESTC(m_rgPropertySets[0].rgProperties->dwPropertyID == m_rgProperties[0].dwPropertyID);
TESTC(m_rgPropertySets[0].rgProperties->dwOptions == DBPROPOPTIONS_OPTIONAL);
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
TESTC(V_VT(&m_rgPropertySets[0].rgProperties->vValue) == VT_EMPTY);
TESTC(m_rgPropertySets[0].guidPropertySet == DBPROPSET_DBINIT);
TESTC(m_rgPropertySets[1].rgProperties->dwPropertyID == m_rgProperties[1].dwPropertyID);
TESTC(m_rgPropertySets[1].rgProperties->dwOptions == DBPROPOPTIONS_OPTIONAL);
if( g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSupported ) {
TESTC(m_rgPropertySets[1].rgProperties->dwStatus == DBPROPSTATUS_OK);
}
else {
TESTC(m_rgPropertySets[1].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
}
TESTC(V_VT(&m_rgPropertySets[1].rgProperties->vValue) == VT_EMPTY);
TESTC(m_rgPropertySets[1].guidPropertySet == DBPROPSET_SESSION);
CLEANUP:
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(23)
//*-----------------------------------------------------------------------
// @mfunc SetProperties with an unsupported PropertySet with DBPROPOPTIONS_OPTIONAL - DB_E_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_23()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgPropertySets[0].rgProperties->dwOptions = DBPROPOPTIONS_OPTIONAL;
m_rgPropertySets[0].guidPropertySet = DBPROPSET_DBINIT;
//Get a not supported property
if( !DBInitNotSupported(&m_rgProperties[0].dwPropertyID) )
m_rgProperties[0].dwPropertyID = 0;
//Call SetProperties
TESTC_(m_pISessionProperties->SetProperties(1, m_rgPropertySets), DB_E_ERRORSOCCURRED);
//Verify that the element of the array
TESTC(m_rgPropertySets[0].rgProperties->dwPropertyID == m_rgProperties[0].dwPropertyID);
TESTC(m_rgPropertySets[0].rgProperties->dwOptions == DBPROPOPTIONS_OPTIONAL);
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
TESTC(V_VT(&m_rgPropertySets[0].rgProperties->vValue) == VT_EMPTY);
TESTC(m_rgPropertySets[0].guidPropertySet == DBPROPSET_DBINIT);
CLEANUP:
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(24)
//*-----------------------------------------------------------------------
// @mfunc GetProperties with 0, NULL, DBPROPSET_DBINIT - DB_E_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_24()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgPropertyIDSets[0].cPropertyIDs = 0;
m_rgPropertyIDSets[0].rgPropertyIDs = NULL;
m_rgPropertyIDSets[0].guidPropertySet = DBPROPSET_DBINIT;
//Should fail gracefully
TESTC_(m_pISessionProperties->GetProperties(m_cPropertyIDSets,
m_rgPropertyIDSets, &m_pcPropertySets, &m_prgPropertySets), DB_E_ERRORSOCCURRED);
// Check the return values
TESTC(m_pcPropertySets == 1);
TESTC(m_prgPropertySets != NULL);
TESTC(m_prgPropertySets->cProperties == 0);
TESTC(m_prgPropertySets->rgProperties == NULL);
TESTC(m_prgPropertySets->guidPropertySet == DBPROPSET_DBINIT);
CLEANUP:
//Free the memory
FreeProperties(&m_pcPropertySets, &m_prgPropertySets);
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(25)
//*-----------------------------------------------------------------------
// @mfunc GetProperties with 0, NULL, DBPROPSET_DBINITALL - DB_E_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_25()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgPropertyIDSets[0].cPropertyIDs = 0;
m_rgPropertyIDSets[0].rgPropertyIDs = NULL;
m_rgPropertyIDSets[0].guidPropertySet = DBPROPSET_DBINITALL;
//Should fail gracefully
TESTC_(m_pISessionProperties->GetProperties(m_cPropertyIDSets,
m_rgPropertyIDSets, &m_pcPropertySets, &m_prgPropertySets), DB_E_ERRORSOCCURRED);
// Check the return values
TESTC(m_pcPropertySets == 1);
TESTC(m_prgPropertySets != NULL);
TESTC(m_prgPropertySets->cProperties == 0);
TESTC(m_prgPropertySets->rgProperties == NULL);
TESTC(m_prgPropertySets->guidPropertySet == DBPROPSET_DBINITALL);
CLEANUP:
//Free the memory
FreeProperties(&m_pcPropertySets, &m_prgPropertySets);
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(26)
//*-----------------------------------------------------------------------
// @mfunc SetProperties with invalid value - DB_E_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_26()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgPropertySets[0].rgProperties->vValue.vt = VT_I4;
m_rgPropertySets[0].rgProperties->vValue.lVal = LONG_MAX;
//Zero cPropertyIDSets should return S_OK
TESTC_(m_pISessionProperties->SetProperties(1, m_rgPropertySets), DB_E_ERRORSOCCURRED);
//Verify that the element of the array
TESTC(m_rgPropertySets[0].rgProperties->dwOptions == DBPROPOPTIONS_REQUIRED);
if( !g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSupported ) {
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
}
else if( g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSettable ) {
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_BADVALUE);
}
else if( m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSETTABLE ) {
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSETTABLE);
}
else {
// Could be either DBPROPSTATUS_BADVALUE or DBPROPSTATUS_NOTSETTABLE
if( m_rgPropertySets[0].rgProperties->dwStatus != DBPROPSTATUS_NOTSETTABLE ) {
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_BADVALUE);
}
}
CLEANUP:
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(27)
//*-----------------------------------------------------------------------
// @mfunc SetProperties with Optional invalid value - DB_E_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_27()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgPropertySets[0].rgProperties->dwOptions = DBPROPOPTIONS_OPTIONAL;
m_rgPropertySets[0].rgProperties->vValue.vt = VT_I4;
m_rgPropertySets[0].rgProperties->vValue.lVal = LONG_MAX;
//Zero cPropertyIDSets should return S_OK
TESTC_(m_pISessionProperties->SetProperties(1, m_rgPropertySets), DB_E_ERRORSOCCURRED);
//Verify that the element of the array
TESTC(m_rgPropertySets[0].rgProperties->dwOptions == DBPROPOPTIONS_OPTIONAL);
if( !g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSupported ) {
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
}
else if( g_rgDBProperties[IDX_SESS_AUTOCOMMITISOLEVELS].fSettable ) {
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_BADVALUE);
}
else if( m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSET ) {
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSET);
}
else {
// Could be either DBPROPSTATUS_BADVALUE or DBPROPSTATUS_NOTSETTABLE
if( m_rgPropertySets[0].rgProperties->dwStatus != DBPROPSTATUS_NOTSET ) {
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_BADVALUE);
}
}
CLEANUP:
TRETURN
}
// }}
// {{ TCW_VAR_PROTOTYPE(28)
//*-----------------------------------------------------------------------
// @mfunc SetProperties with invalid propid - DB_E_ERRORSOCCURRED
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_Parameters::Variation_28()
{
TBEGIN
//Reset the Property Structures
ResetProperties();
// Assignments
m_rgProperties[0].dwPropertyID = 0;
//Zero cPropertyIDSets should return S_OK
TESTC_(m_pISessionProperties->SetProperties(1, m_rgPropertySets), DB_E_ERRORSOCCURRED);
//Verify that the element of the array
TESTC(m_rgPropertySets[0].rgProperties->dwOptions == DBPROPOPTIONS_REQUIRED);
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
// Assignments
m_rgPropertySets[0].rgProperties->dwOptions = DBPROPOPTIONS_OPTIONAL;
//Zero cPropertyIDSets should return S_OK
TESTC_(m_pISessionProperties->SetProperties(1, m_rgPropertySets), DB_E_ERRORSOCCURRED);
//Verify that the element of the array
TESTC(m_rgPropertySets[0].rgProperties->dwOptions == DBPROPOPTIONS_OPTIONAL);
TESTC(m_rgPropertySets[0].rgProperties->dwStatus == DBPROPSTATUS_NOTSUPPORTED);
CLEANUP:
TRETURN
}
// }}
// {{ TCW_TERMINATE_METHOD
//--------------------------------------------------------------------
// @mfunc TestCase Termination Routine
//
// @rdesc TRUE or FALSE
//
BOOL TCIDProperties_Parameters::Terminate()
{
// Release the Interfaces
SAFE_RELEASE(m_pISessionProperties);
SAFE_RELEASE(m_pIDBProperties);
// {{ TCW_TERM_BASECLASS_CHECK2
return(TCIDProperties::Terminate());
} // }}
// }}
// }}
// {{ TCW_TC_PROTOTYPE(TCIDProperties_SetProperties)
//*-----------------------------------------------------------------------
//| Test Case: TCIDProperties_SetProperties - set all supported properties
//| Created: 09/19/96
//| Updated: 04/25/98
//*-----------------------------------------------------------------------
//--------------------------------------------------------------------
// @mfunc TestCase Initialization Routine
//
// @rdesc TRUE or FALSE
//
BOOL TCIDProperties_SetProperties::Init()
{
// {{ TCW_INIT_BASECLASS_CHECK
if( TCIDProperties::Init() )
// }}
{
//Get a IDBProperties pointer
TESTC(VerifyInterface(m_pThisTestModule->m_pIUnknown, IID_IDBProperties,
DATASOURCE_INTERFACE, (IUnknown **)&m_pIDBProperties));
//Get a ISessionProperties pointer
TESTC(VerifyInterface(m_pThisTestModule->m_pIUnknown2, IID_ISessionProperties,
SESSION_INTERFACE, (IUnknown **)&m_pISessionProperties));
// Get the default values if we have not done it already
if( !g_fInitGetPropDefault )
{
TESTC(InitGetPropDefault());
g_fInitGetPropDefault = TRUE;
}
return TRUE;
}
CLEANUP:
return FALSE;
}
// {{ TCW_VAR_PROTOTYPE(1)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ACTIVESESSIONS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_1()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ACTIVESESSIONS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(2)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ASYNCTXNABORT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_2()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ASYNCTXNABORT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(3)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ASYNCTXNCOMMIT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_3()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ASYNCTXNCOMMIT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(4)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_BYREFACCESSORS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_4()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_BYREFACCESSORS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(5)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_CATALOGLOCATION - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_5()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_CATALOGLOCATION));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(6)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_CATALOGTERM - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_6()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_CATALOGTERM));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(7)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_CATALOGUSAGE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_7()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_CATALOGUSAGE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(8)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_COLUMNDEFINITION - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_8()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_COLUMNDEFINITION));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(9)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_CONCATNULLBEHAVIOR - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_9()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_CONCATNULLBEHAVIOR));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(10)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_DATASOURCENAME - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_10()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_DATASOURCENAME));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(11)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_DATASOURCEREADONLY - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_11()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_DATASOURCEREADONLY));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(12)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_DBMSNAME - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_12()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_DBMSNAME));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(13)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_DBMSVER - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_13()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_DBMSVER));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(14)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_DSOTHREADMODEL - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_14()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_DSOTHREADMODEL));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(15)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_GROUPBY - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_15()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_GROUPBY));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(16)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_HETEROGENEOUSTABLES - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_16()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_HETEROGENEOUSTABLES));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(17)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IDENTIFIERCASE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_17()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IDENTIFIERCASE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(18)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MAXINDEXSIZE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_18()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MAXINDEXSIZE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(19)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MAXOPENCHAPTERS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_19()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MAXOPENCHAPTERS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(20)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MAXORSINFILTER - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_20()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MAXORSINFILTER));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(21)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MAXROWSIZE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_21()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MAXROWSIZE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(22)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MAXROWSIZEINCLUDESBLOB - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_22()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MAXROWSIZEINCLUDESBLOB));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(23)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MAXSORTCOLUMNS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_23()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MAXSORTCOLUMNS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(24)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MAXTABLESINSELECT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_24()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MAXTABLESINSELECT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(25)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MULTIPLEPARAMSETS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_25()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MULTIPLEPARAMSETS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(26)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MULTIPLERESULTS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_26()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MULTIPLERESULTS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(27)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MULTIPLESTORAGEOBJECTS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_27()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MULTIPLESTORAGEOBJECTS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(28)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MULTITABLEUPDATE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_28()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MULTITABLEUPDATE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(29)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_NULLCOLLATION - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_29()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_NULLCOLLATION));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(30)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_OLEOBJECTS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_30()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_OLEOBJECTS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(31)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ORDERBYCOLUMNSINSELECT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_31()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ORDERBYCOLUMNSINSELECT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(32)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_OUTPUTPARAMETERAVAILABILITY - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_32()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_OUTPUTPARAMETERAVAILABILITY));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(33)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_PERSISTENTIDTYPE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_33()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_PERSISTENTIDTYPE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(34)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_PREPAREABORTBEHAVIOR - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_34()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_PREPAREABORTBEHAVIOR));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(35)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_PREPARECOMMITBEHAVIOR - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_35()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_PREPARECOMMITBEHAVIOR));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(36)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_PROCEDURETERM - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_36()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_PROCEDURETERM));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(37)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_PROVIDERNAME - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_37()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_PROVIDERFILENAME));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(38)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_PROVIDEROLEDBVER - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_38()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_PROVIDEROLEDBVER));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(39)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_PROVIDERVER - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_39()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_PROVIDERVER));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(40)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_QUOTEDIDENTIFIERCASE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_40()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_QUOTEDIDENTIFIERCASE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(41)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ROWSETCONVERSIONSONCOMMAND - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_41()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ROWSETCONVERSIONSONCOMMAND));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(42)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_SCHEMATERM - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_42()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_SCHEMATERM));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(43)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_SCHEMAUSAGE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_43()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_SCHEMAUSAGE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(44)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_SORTONINDEX - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_44()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_SORTONINDEX));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(45)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_SQLSUPPORT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_45()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_SQLSUPPORT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(46)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_STRUCTUREDSTORAGE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_46()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_STRUCTUREDSTORAGE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(47)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_SUBQUERIES - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_47()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_SUBQUERIES));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(48)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_SUPPORTEDTXNDDL - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_48()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_SUPPORTEDTXNDDL));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(49)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_SUPPORTEDTXNISOLEVELS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_49()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_SUPPORTEDTXNISOLEVELS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(50)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_SUPPORTEDTXNISORETAIN - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_50()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_SUPPORTEDTXNISORETAIN));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(51)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_TABLETERM - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_51()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_TABLETERM));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(52)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_USERNAME - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_52()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_USERNAME));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(53)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_CURRENTCATALOG - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_53()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_CURRENTCATALOG));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(54)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_AUTH_CACHE_AUTHINFO - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_54()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_AUTH_CACHE_AUTHINFO));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(55)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_AUTH_ENCRYPT_PASSWORD - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_55()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_AUTH_ENCRYPT_PASSWORD));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(56)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_AUTH_INTEGRATED - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_56()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_AUTH_INTEGRATED));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(57)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_AUTH_MASK_PASSWORD - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_57()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_AUTH_MASK_PASSWORD));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(58)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_AUTH_PASSWORD - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_58()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_AUTH_PASSWORD));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(59)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_AUTH_PERSIST_ENCRYPTED - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_59()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_AUTH_PERSIST_ENCRYPTED));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(60)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_60()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_AUTH_PERSIST_SENSITIVE_AUTHINFO));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(61)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_AUTH_USERID - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_61()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_AUTH_USERID));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(62)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INIT_ASYNCH - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_62()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INIT_ASYNCH));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(63)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INIT_DATASOURCE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_63()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INIT_DATASOURCE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(64)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INIT_HWND - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_64()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INIT_HWND));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(65)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INIT_IMPERSONATION_LEVEL - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_65()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INIT_IMPERSONATION_LEVEL));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(66)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INIT_LCID - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_66()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INIT_LCID));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(67)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INIT_LOCATION - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_67()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INIT_LOCATION));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(68)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INIT_MODE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_68()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INIT_MODE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(69)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INIT_PROMPT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_69()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INIT_PROMPT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(70)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INIT_PROTECTION_LEVEL - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_70()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INIT_PROTECTION_LEVEL));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(71)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INIT_PROVIDERSTRING - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_71()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INIT_PROVIDERSTRING));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(72)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INIT_TIMEOUT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_72()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INIT_TIMEOUT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(73)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_COL_AUTOINCREMENT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_73()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_COL_AUTOINCREMENT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(74)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_COL_DEFAULT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_74()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_COL_DEFAULT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(75)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_COL_DESCRIPTION - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_75()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_COL_DESCRIPTION));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(76)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_COL_FIXEDLENGTH - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_76()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_COL_FIXEDLENGTH));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(77)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_COL_NULLABLE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_77()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_COL_NULLABLE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(78)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_COL_PRIMARYKEY - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_78()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_COL_PRIMARYKEY));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(79)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_COL_UNIQUE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_79()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_COL_UNIQUE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(80)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INDEX_AUTOUPDATE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_80()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INDEX_AUTOUPDATE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(81)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INDEX_CLUSTERED - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_81()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INDEX_CLUSTERED));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(82)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INDEX_FILLFACTOR - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_82()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INDEX_FILLFACTOR));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(83)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INDEX_INITIALSIZE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_83()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INDEX_INITIALSIZE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(84)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INDEX_NULLCOLLATION - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_84()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INDEX_NULLCOLLATION));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(85)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INDEX_NULLS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_85()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INDEX_NULLS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(86)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INDEX_PRIMARYKEY - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_86()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INDEX_PRIMARYKEY));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(87)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INDEX_SORTBOOKMARKS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_87()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INDEX_SORTBOOKMARKS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(88)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INDEX_TEMPINDEX - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_88()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INDEX_TEMPINDEX));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(89)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INDEX_TYPE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_89()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INDEX_TYPE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(90)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INDEX_UNIQUE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_90()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INDEX_UNIQUE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(91)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_SESS_AUTOCOMMITISOLEVELS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_91()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_SESS_AUTOCOMMITISOLEVELS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(92)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_TBL_TEMPTABLE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_92()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_TBL_TEMPTABLE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(93)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ABORTPRESERVE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_93()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ABORTPRESERVE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(94)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_APPENDONLY - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_94()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_APPENDONLY));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(95)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_BLOCKINGSTORAGEOBJECTS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_95()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_BLOCKINGSTORAGEOBJECTS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(96)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_BOOKMARKS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_96()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_BOOKMARKS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(97)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_BOOKMARKSKIPPED - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_97()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_BOOKMARKSKIPPED));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(98)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_BOOKMARKTYPE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_98()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_BOOKMARKTYPE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(99)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_CACHEDEFERRED - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_99()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_CACHEDEFERRED));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(100)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_CANFETCHBACKWARDS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_100()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_CANFETCHBACKWARDS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(101)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_CANHOLDROWS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_101()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_CANHOLDROWS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(102)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_CANSCROLLBACKWARDS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_102()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_CANSCROLLBACKWARDS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(103)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_CHANGEINSERTEDROWS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_103()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_CHANGEINSERTEDROWS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(104)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_COLUMNRESTRICT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_104()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_COLUMNRESTRICT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(105)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_COMMANDTIMEOUT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_105()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_COMMANDTIMEOUT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(106)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_COMMITPRESERVE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_106()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_COMMITPRESERVE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(107)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_DEFERRED - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_107()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_DEFERRED));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(108)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_DELAYSTORAGEOBJECTS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_108()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_DELAYSTORAGEOBJECTS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(109)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_FILTERCOMPAREOPS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_109()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_FILTERCOMPAREOPS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(110)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_FINDCOMPAREOPS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_110()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_FINDCOMPAREOPS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(111)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IMMOBILEROWS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_111()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IMMOBILEROWS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(112)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_LITERALBOOKMARKS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_112()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_LITERALBOOKMARKS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(113)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_LITERALIDENTITY - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_113()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_LITERALIDENTITY));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(114)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MAXOPENROWS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_114()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MAXOPENROWS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(115)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MAXPENDINGROWS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_115()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MAXPENDINGROWS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(116)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MAXROWS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_116()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MAXROWS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(117)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MAYWRITECOLUMN - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_117()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MAYWRITECOLUMN));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(118)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MEMORYUSAGE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_118()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MEMORYUSAGE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(119)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_NOTIFICATIONPHASES - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_119()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_NOTIFICATIONPHASES));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(120)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_NOTIFYCOLUMNSET - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_120()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_NOTIFYCOLUMNSET));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(121)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_NOTIFYROWDELETE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_121()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_NOTIFYROWDELETE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(122)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_NOTIFYROWFIRSTCHANGE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_122()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_NOTIFYROWFIRSTCHANGE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(123)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_NOTIFYROWINSERT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_123()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_NOTIFYROWINSERT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(124)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_NOTIFYROWRESYNCH - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_124()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_NOTIFYROWRESYNCH));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(125)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_NOTIFYROWSETRELEASE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_125()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_NOTIFYROWSETRELEASE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(126)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_126()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_NOTIFYROWSETFETCHPOSITIONCHANGE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(127)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_NOTIFYROWUNDOCHANGE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_127()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_NOTIFYROWUNDOCHANGE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(128)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_NOTIFYROWUNDODELETE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_128()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_NOTIFYROWUNDODELETE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(129)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_NOTIFYROWUNDOINSERT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_129()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_NOTIFYROWUNDOINSERT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(130)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_NOTIFYROWUPDATE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_130()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_NOTIFYROWUPDATE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(131)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ORDEREDBOOKMARKS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_131()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ORDEREDBOOKMARKS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(132)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_OTHERINSERT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_132()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_OTHERINSERT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(133)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_OTHERUPDATEDELETE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_133()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_OTHERUPDATEDELETE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(134)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_OWNINSERT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_134()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_OWNINSERT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(135)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_OWNUPDATEDELETE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_135()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_OWNUPDATEDELETE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(136)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_QUICKRESTART - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_136()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_QUICKRESTART));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(137)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_REENTRANTEVENTS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_137()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_REENTRANTEVENTS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(138)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_REMOVEDELETED - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_138()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_REMOVEDELETED));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(139)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_REPORTMULTIPLECHANGES - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_139()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_REPORTMULTIPLECHANGES));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(140)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_RETURNPENDINGINSERTS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_140()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_RETURNPENDINGINSERTS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(141)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ROWRESTRICT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_141()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ROWRESTRICT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(142)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ROWSET_ASYNCH - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_142()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ROWSET_ASYNCH));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(143)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ROWTHREADMODEL - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_143()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ROWTHREADMODEL));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(144)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_SERVERCURSOR - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_144()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_SERVERCURSOR));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(145)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_TRANSACTEDOBJECT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_145()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_TRANSACTEDOBJECT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(146)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_UPDATABILITY - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_146()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_UPDATABILITY));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(147)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_STRONGIDENTITY - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_147()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_STRONGIDENTITY));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(148)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IAccessor - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_148()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IACCESSOR));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(149)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IChapteredRowset - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_149()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ICHAPTEREDROWSET));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(150)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IColumnsInfo - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_150()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ICOLUMNSINFO));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(151)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IColumnsRowset - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_151()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ICOLUMNSROWSET));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(152)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IConnectionPointContainer - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_152()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ICONNECTIONPOINTCONTAINER));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(153)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IConvertType - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_153()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ICONVERTTYPE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(154)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IDBAsynchStatus - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_154()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IDBASYNCHSTATUS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(155)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IRowset - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_155()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IROWSET));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(156)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IRowsetChange - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_156()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IROWSETCHANGE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(157)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IRowsetFind - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_157()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IROWSETFIND));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(158)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IRowsetIdentity - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_158()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IROWSETIDENTITY));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(159)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IRowsetIndex - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_159()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IROWSETINDEX));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(160)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IRowsetInfo - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_160()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IROWSETINFO));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(161)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IRowsetLocate - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_161()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IROWSETLOCATE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(162)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IRowsetResynch - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_162()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IROWSETRESYNCH));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(163)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IRowsetScroll - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_163()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IROWSETSCROLL));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(164)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IRowsetUpdate - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_164()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IROWSETUPDATE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(165)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IRowsetView - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_165()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IROWSETVIEW));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(166)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IViewChapter - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_166()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IVIEWCHAPTER));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(167)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IViewFilter - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_167()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IVIEWFILTER));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(168)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IViewRowset - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_168()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IVIEWROWSET));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(169)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IViewSort - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_169()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IVIEWSORT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(170)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ILockBytes - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_170()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ILOCKBYTES));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(171)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ISequentialStream - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_171()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ISEQUENTIALSTREAM));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(172)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IStorage - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_172()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ISTORAGE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(173)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IStream - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_173()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ISTREAM));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(174)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ISupportErrorInfo - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_174()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ISUPPORTERRORINFO));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(175)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ALTERCOLUMN - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_175()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ALTERCOLUMN));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(176)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_CONNECTIONSTATUS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_176()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_CONNECTIONSTATUS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(177)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_PROVIDERFRIENDLYNAME - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_177()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_PROVIDERFRIENDLYNAME));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(178)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_PROVIDERMEMORY - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_178()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_PROVIDERMEMORY));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(179)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_SERVERNAME - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_179()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_SERVERNAME));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(180)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_MULTIPLECONNECTIONS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_180()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_MULTIPLECONNECTIONS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(181)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_RESETDATASOURCE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_181()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_RESETDATASOURCE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(182)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INIT_CATALOG - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_182()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INIT_CATALOG));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(183)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INIT_OLEDBSERVICES - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_183()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INIT_OLEDBSERVICES));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(184)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_COLUMNLCID - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_184()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_COLUMNLCID));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(185)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ACCESSORDER - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_185()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ACCESSORDER));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(186)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_BOOKMARKINFO - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_186()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_BOOKMARKINFO));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(187)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_HIDDENCOLUMNS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_187()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_HIDDENCOLUMNS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(188)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_LOCKMODE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_188()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_LOCKMODE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(189)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_NOTIFICATIONGRANULARITY - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_189()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_NOTIFICATIONGRANULARITY));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(190)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ROW_BULKOPS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_190()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ROW_BULKOPS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(191)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_SERVERDATAONINSERT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_191()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_SERVERDATAONINSERT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(192)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_STORAGEFLAGS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_192()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_STORAGEFLAGS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(193)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_UNIQUEROWS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_193()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_UNIQUEROWS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(194)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IMultipleResults - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_194()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IMULTIPLERESULTS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(195)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IRowsetRefresh - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_195()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IROWSETREFRESH));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(196)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IParentRowset - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_196()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IPARENTROWSET));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(197)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_COL_INCREMENT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_197()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_COL_INCREMENT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(198)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_COL_ISLONG - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_198()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_COL_ISLONG));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(199)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_COL_SEED - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_199()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_COL_SEED));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(200)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_COMSERVICES - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_200()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_COMSERVICES));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(201)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_DATASOURCETYPE - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_201()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_DATASOURCETYPE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(202)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_GENERATEURL - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_202()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_GENERATEURL));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(203)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_OPENROWSETSUPPORT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_203()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_OPENROWSETSUPPORT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(204)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INIT_BINDFLAGS - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_204()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INIT_BINDFLAGS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(205)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INIT_GENERALTIMEOUT - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_205()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INIT_GENERALTIMEOUT));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(206)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_INIT_LOCKOWNER - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_206()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_INIT_LOCKOWNER));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(207)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_CLIENTCURSOR - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_207()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_CLIENTCURSOR));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(208)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_NOTIFYROWSETCHANGED - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_208()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_NOTIFYROWSETCHANGED));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(209)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IBindResource - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_209()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IBINDRESOURCE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(210)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IColumnsInfo2 - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_210()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ICOLUMNSINFO2));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(211)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_ICreateRow - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_211()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ICREATEROW));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(212)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IGetRow - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_212()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IGETROW));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(213)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IGetSession - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_213()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IGETSESSION));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(214)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IGetSourceRow - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_214()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IGETSOURCEROW));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(215)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IRow - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_215()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IROW));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(216)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IRowChange - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_216()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IROWCHANGE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(217)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IRowSchemaChange - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_217()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IROWSCHEMACHANGE));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(218)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IRowsetCurrentIndex - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_218()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_IROWSETCURRENTINDEX));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_VAR_PROTOTYPE(219)
//*-----------------------------------------------------------------------
// @mfunc DBPROP is DBPROP_IScopedOperations - S_OK
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCIDProperties_SetProperties::Variation_219()
{
TBEGIN;
// Verify this property
TESTC(VerifyProperty(IDX_ISCOPEDOPERATIONS));
CLEANUP:
TRETURN;
}
// }}
// {{ TCW_TERMINATE_METHOD
//--------------------------------------------------------------------
// @mfunc TestCase Termination Routine
//
// @rdesc TRUE or FALSE
//
BOOL TCIDProperties_SetProperties::Terminate()
{
// Release the Interfaces
SAFE_RELEASE(m_pIDBProperties)
SAFE_RELEASE(m_pISessionProperties);
// {{ TCW_TERM_BASECLASS_CHECK2
return (TCIDProperties::Terminate());
} // }}
// }}
// }}
// {{ TCW_TC_PROTOTYPE(TCZombie)
//*-----------------------------------------------------------------------
//| Test Case: TCZombie - Induce zombie states on the Session
//| Created: 08/15/96
//| Updated: 04/25/98
//*-----------------------------------------------------------------------
//--------------------------------------------------------------------
// @mfunc TestCase Initialization Routine
//
// @rdesc TRUE or FALSE
//
BOOL TCZombie::Init()
{
// Check to see if Transactions are usable
if(!IsUsableInterface(SESSION_INTERFACE, IID_ITransactionLocal))
return TEST_SKIPPED;
// Initialize to a invalid pointer
m_pITransactionLocal = INVALID(ITransactionLocal*);
// {{ TCW_INIT_BASECLASS_CHECK
if(CTransaction::Init())
// }}
{
// Register Interface with Zombie
if(RegisterInterface(SESSION_INTERFACE, IID_ISessionProperties, 0, NULL))
return TRUE;
}
// Check to see if ITransaction is supported
if(!m_pITransactionLocal)
return TEST_SKIPPED;
// Clear the bad pointer value
if(m_pITransactionLocal == INVALID(ITransactionLocal*))
m_pITransactionLocal = NULL;
return FALSE;
}
// {{ TCW_VAR_PROTOTYPE(1)
//*-----------------------------------------------------------------------
// @mfunc S_OK - Abort ISessionProperties with fRetaining=TRUE
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCZombie::Variation_1()
{
// S_OK - Abort ISessionProperties::GetProperties with fRetaining=TRUE
return TestTxn(ETXN_ABORT, TRUE);
}
// }}
// {{ TCW_VAR_PROTOTYPE(2)
//*-----------------------------------------------------------------------
// @mfunc S_OK - Abort ISessionProperties with fRetaining=FALSE
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCZombie::Variation_2()
{
// S_OK - Abort ISessionProperties::GetProperties with fRetaining=FALSE
return TestTxn(ETXN_ABORT, FALSE);
}
// }}
// {{ TCW_VAR_PROTOTYPE(3)
//*-----------------------------------------------------------------------
// @mfunc S_OK - Commit ISessionProperties with fRetaining=TRUE
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCZombie::Variation_3()
{
// S_OK - Commit ISessionProperties::GetProperties with fRetaining=TRUE
return TestTxn(ETXN_COMMIT, TRUE);
}
// }}
// {{ TCW_VAR_PROTOTYPE(4)
//*-----------------------------------------------------------------------
// @mfunc S_OK - Commit ISessionProperties with fRetaining=FALSE
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCZombie::Variation_4()
{
// S_OK - Commit ISessionProperties::GetProperties with fRetaining=FALSE
return TestTxn(ETXN_COMMIT, FALSE);
}
// }}
// {{ TCW_TERMINATE_METHOD
//--------------------------------------------------------------------
// @mfunc TestCase Termination Routine
//
// @rdesc TRUE or FALSE
//
BOOL TCZombie::Terminate()
{
// {{ TCW_TERM_BASECLASS_CHECK2
return(CTransaction::Terminate());
} // }}
// }}
// }}
// {{ TCW_TC_PROTOTYPE(TCExtendedErrors)
//*-----------------------------------------------------------------------
//| Test Case: TCExtendedErrors - Extended Errors
//| Created: 07/04/96
//| Updated: 04/25/98
//*-----------------------------------------------------------------------
//--------------------------------------------------------------------
// @mfunc TestCase Initialization Routine
//
// @rdesc TRUE or FALSE
//
BOOL TCExtendedErrors::Init()
{
// {{ TCW_INIT_BASECLASS_CHECK
if(TCIDProperties::Init())
// }}
{
//Get a ISessionProperties pointer
if(!SUCCEEDED(((IDBCreateCommand *)(m_pThisTestModule->m_pIUnknown2))->
QueryInterface(IID_ISessionProperties,(LPVOID *)&m_pISessionProperties)))
return FALSE;
m_cPropertyIDSets=1;
m_rgPropertyIDSets->rgPropertyIDs=m_rgPropertyIDs;
m_rgPropertyIDSets->cPropertyIDs=1;
m_rgPropertyIDSets->guidPropertySet=DBPROPSET_SESSION;
return TRUE;
}
return FALSE;
}
// {{ TCW_VAR_PROTOTYPE(1)
//*-----------------------------------------------------------------------
// @mfunc Valid GetProperties call with previous error object existing.
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCExtendedErrors::Variation_1()
{
// For method GetProperties of the interface, first create an error object on
// the current thread, then try get S_OK from the method.
// We then check extended errors to verify nothing is set since an
// error object shouldn't exist following a successful call.
// Assignments
m_fSuccess = TEST_FAIL;
//Create an error object
m_pExtError->CauseError();
//All properties
m_hr=m_pISessionProperties->GetProperties(0, NULL,
&m_pcPropertySets, &m_prgPropertySets);
if(m_hr==ResultFromScode(S_OK))
{
//Do extended check following GetProperties
m_fSuccess = XCHECK(m_pISessionProperties, IID_ISessionProperties, m_hr);
}
//Free memory from GetProperties
FreeProperties(&m_pcPropertySets, &m_prgPropertySets);
return m_fSuccess;
}
// }}
// {{ TCW_VAR_PROTOTYPE(2)
//*-----------------------------------------------------------------------
// @mfunc DB_E_ERRORSOCCURRED GetProperties call with previous error object existing.
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCExtendedErrors::Variation_2()
{
//For method GetProperties of the interface, first create an error object on
//the current thread, then try get an failure from the method.
//We then check extended errors to verify the right extended error behavior.
//Assignments
m_rgPropertyIDs[0] = DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO;
m_rgPropertyIDSets->guidPropertySet=DBPROPSET_DBINIT;
m_fSuccess = TEST_FAIL;
//Create an error object
m_pExtError->CauseError();
//DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO
m_hr=m_pISessionProperties->GetProperties(m_cPropertyIDSets, m_rgPropertyIDSets,
&m_pcPropertySets, &m_prgPropertySets);
if(m_hr==ResultFromScode(DB_E_ERRORSOCCURRED))
{
//Do extended check following GetProperties
m_fSuccess = XCHECK(m_pISessionProperties, IID_ISessionProperties, m_hr);
}
//Free memory from GetProperties
FreeProperties( &m_pcPropertySets, &m_prgPropertySets);
return m_fSuccess;
}
// }}
// {{ TCW_VAR_PROTOTYPE(3)
//*-----------------------------------------------------------------------
// @mfunc E_INVALIDARG GetProperties call with previous error object existing.
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCExtendedErrors::Variation_3()
{
//For method GetProperties of the interface, with no error object on
//the current thread, then try get an failure from the method.
//We then check extended errors to verify the right extended error behavior.
//Assignments
m_fSuccess = TEST_FAIL;
//Null pcPropertySets should fail gracefully
if(CHECK(m_hr=m_pISessionProperties->GetProperties(0, NULL,
NULL, &m_prgPropertySets), E_INVALIDARG))
{
//Do extended check following GetProperties
m_fSuccess = XCHECK(m_pISessionProperties, IID_ISessionProperties, m_hr);
if(!m_prgPropertySets)
m_fSuccess &= TEST_PASS;
}
return m_fSuccess;
}
// }}
// {{ TCW_TERMINATE_METHOD
//--------------------------------------------------------------------
// @mfunc TestCase Termination Routine
//
// @rdesc TRUE or FALSE
//
BOOL TCExtendedErrors::Terminate()
{
// Release IDBInitialize Pointer
SAFE_RELEASE(m_pISessionProperties);
// {{ TCW_TERM_BASECLASS_CHECK2
return(TCIDProperties::Terminate());
} // }}
// }}
//--------------------------------------------------------------------
// @mfunc Test Zombie cases
//
// @rdesc TEST_PASS or TEST_FAIL
//
int TCZombie::TestTxn(ETXN eTxn, BOOL fRetaining)
{
TBEGIN;
int fPassFail = TEST_FAIL; // ReturnValue
HRESULT ExpectedHr = E_UNEXPECTED; // Expected HRESULT
DBCOUNTITEM cRowsObtained = 0; // Number of rows returned, should be 1
HROW * rghRows = NULL; // Array of Row Handles
ISessionProperties* pISessionProperties = NULL; // ISessionProperties Pointer
ULONG cPropertySets = 0;
DBPROPSET * pPropertySets = NULL;
// Retrieve an Interface pointer to ISessionProperties within a Transaction
TESTC(StartTransaction(SELECT_ALLFROMTBL, (IUnknown**)&pISessionProperties));
// Obtain the ABORT or COMMIT PRESERVE flag and adjust ExpectedHr
if( ((eTxn == ETXN_COMMIT) && (m_fCommitPreserve)) ||
((eTxn == ETXN_ABORT) && (m_fAbortPreserve)) )
ExpectedHr = S_OK;
// Commit or Abort the transaction, with retention as specified
if( ((eTxn == ETXN_COMMIT) && (!GetCommit(fRetaining))) ||
((eTxn == ETXN_ABORT) && (!GetAbort(fRetaining))) )
goto CLEANUP;
// Test zombie
TESTC_(m_pIRowset->GetNextRows(0,0,1,&cRowsObtained,&rghRows), ExpectedHr);
// Call ISessionProperties::GetProperties
TESTC_(pISessionProperties->GetProperties(0,NULL,&cPropertySets,&pPropertySets),S_OK);
CLEANUP:
// Release the row handle on the 1st rowset
CHECK(m_pIRowset->ReleaseRows(cRowsObtained, rghRows, NULL, NULL, NULL), S_OK);
PROVIDER_FREE(rghRows);
// Cleanup Transactions
CleanUpTransaction(fRetaining ? S_OK : XACT_E_NOTRANSACTION);
// Release the ISessionProperties
SAFE_RELEASE(pISessionProperties);
FreeProperties(&cPropertySets,&pPropertySets);
TRETURN;
}