Purpose:
A dkDatastore object represents and manages a connection to datastore, transactions, and executes datastore commands. Datastore is a special version of query manager class. It supports evaluate method, so it may be considered as a subclass of query manager.
dkDatastore should be subclassed to provide a specific implementation of the target datastore. For example:
Class summary:
class dkDatastore : public dkQueryManager { public: dkDatastore(const char* datastore_type, const char* datastore_name = ""); virtual ~dkDatastore(); virtual void connect (const char* datastore_name, const char* user_name = "", const char* authentication = "", const char* connect_string = ""); virtual void disconnect(); virtual void getOption(long option, DKAny& value); virtual void setOption(long option, DKAny& value); virtual DKAny evaluate(const char* command, const short commandLangType, const DKNVPair* parms = 0); virtual DKAny evaluate( dkQuery* query); virtual DKAny evaluate(DKCQExpr* qe); virtual DKAny evaluate(dkSearchTemplate* st); virtual dkResultSetCursor* execute( const char* command, const short commandLangType, const DKNVPair* parms = 0); virtual dkResultSetCursor* execute( dkQuery* query); virtual dkResultSetCursor* execute( DKCQExpr* qe); virtual dkResultSetCursor* execute( dkSearchTemplate* st); virtual void executeWithCallback( const char* command, const short commandLangType, const DKNVPair* parms, dkCallback* callbackObj); virtual void executeWithCallback( dkQuery* query, dkCallback* callbackObj); virtual void executeWithCallback( DKCQExpr* qe, dkCallback* callbackObj); virtual void executeWithCallback( dkSearchTemplate* st,dkCallback* callbackObj); virtual dkQuery* createQuery(const char* command, const short commandLangType, const DKNVPair* parms=0); virtual dkQuery* createQuery(DKCQExpr* qe); virtual void addObject(dkDataObject* dataobj); virtual void addObject(dkDataObject* dataobj, long option); virtual void addObject(dkDataObject* dataobj, const DKNVPair* parms, long arraySize); virtual void addObjects(dkCollection* ddoCollection); virtual void addObjects(dkCollection* ddoCollection, long option); virtual void addObjects(dkCollection* ddoCollection, const DKNVPair* parms, long arraySize); virtual void deleteObject(dkDataObject* dataobj); virtual void deleteObject(dkDataObject* dataobj, long option); virtual void deleteObject(dkDataObject* dataobj, const DKNVPair* parms, long arraySize); virtual void deleteObjects(dkCollection* ddoCollection); virtual void deleteObjects(dkCollection* ddoCollection, long option); virtual void deleteObjects(dkCollection* ddoCollection, const DKNVPair* parms, long arraySize); virtual void retrieveObject(dkDataObject* dataobj); virtual void retrieveObject(dkDataObject* dataobj, long option); virtual void retrieveObject(dkDataObject* dataobj, const DKNVPair* parms, long arraySize); virtual void retrieveObjects(dkCollection* ddoCollection); virtual void retrieveObjects(dkCollection* ddoCollection, long option); virtual void retrieveObjects(dkCollection* ddoCollection, const DKNVPair* parms, long arraySize); virtual void updateObject(dkDataObject* dataobj); virtual void updateObject(dkDataObject* dataobj, long option); virtual void updateObject(dkDataObject* dataobj, const DKNVPair* parms, long arraySize); virtual void updateObjects(dkCollection* ddoCollection); virtual void updateObjects(dkCollection* ddoCollection, long option); virtual void updateObjects(dkCollection* ddoCollection, const DKNVPair* parms, long arraySize); virtual void startTransaction(); virtual void commit (); virtual void rollback (); virtual DKBoolean isConnected(); virtual DKString datastoreName() const; virtual DKString datastoreType() const; virtual DKString userName() const; virtual DKHandle* connection(); virtual DKHandle* handle(const char* type); virtual dkCollection* listDataSources(); virtual DKString* listDataSourceNames(long& arrarySize); virtual DKAny listServers(); virtual DKAny listSchema(); virtual DKAny listSchemaAttributes(const char* schemaEntry); virtual dkCollection* listSearchableEntities(); virtual dkCollection* listEntities(); virtual DKString* listEntityNames(long& arraySize); virtual dkCollection* listEntityAttrs(const char* entityName) virtual DKString* listEntityAttrNames(const char* entityName, long& arraySize); virtual DKString* listSearchableEntityNames(long& arraySize); virtual dkDatastoreDef* datastoreDef(); virtual dkCollection* listSearchTemplates(); virtual DKString* listSearchTemplateNames(long& arraySize); virtual DKString registerMapping(DKNVPair* sourceMap); virtual void unRegisterMapping(const char* mappingName); virtual DKString* listMappingNames(long& arraySize); virtual dkSchemaMapping* getMapping(const char* mappingName); virtual dkExtension* getExtension(const char* extensionName); virtual void addExtension(const char* extensionName, dkExtension* extensionObj); virtual void removeExtension(const char* extensionName) virtual DKString* listExtensionNames(long& arraySize); virtual DKDDO* createDDO(const char* objectType, long Flags); virtual void clearCache(); virtual void clearCache(long option); virtual dkServiceMgr* serviceMgr(); virtual DKString* listAvailableServices(long& arraySize); };
Members:
dkDatastore(const char* datastore_type, const char* datastore_name = ""); virtual ~dkDatastore();
Exceptions
virtual void connect (const char* datastore_name, const char* user_name = "", const char* authentication = "", const char* connect_string = "");
Exceptions
virtual void disconnect ();
Exceptions
virtual void setOption (long option, DKAny& value);
virtual void getOption (long option, DKAny& value);
virtual DKAny evaluate(const char* command, const short commandLangType, const DKNVPair* parms = 0); virtual DKAny evaluate( dkQuery* query); virtual DKAny evaluate(DKCQExpr* qe); virtual DKAny evaluate(dkSearchTemplate* st);
virtual DKAny evaluate( dkQuery* query);
Exceptions
virtual dkResultSetCursor* execute( const char* command, const short commandLangType, const DKNVPair* parms = 0); virtual dkResultSetCursor* execute( dkQuery* query); virtual dkResultSetCursor* execute( DKCQExpr* qe); virtual dkResultSetCursor* execute(dkSearchTemplate* st);
Exceptions
virtual dkResultSetCursor* execute( dkQuery* query);
virtual void executeWithCallback( const char* command, const short commandLangType, const DKNVPair* parms, dkCallback* callbackObj); virtual void executeWithCallback(dkQuery* query, dkCallback* callbackObj); virtual void executeWithCallback( DKCQExpr* qe, dkCallback* callbackObj); virtual void executeWithCallback( dkSearchTemplate* st, dkCallback* callbackObj);
virtual void executeWithCallback( dkQuery* query, dkCallback* callbackObj);
Exceptions
virtual dkQuery* createQuery(const char* command, const short commandLangType, const DKNVPair* parms=0); virtual dkQuery* createQuery(DKCQExpr* qe);
Exceptions
Error messages:
virtual void addObject(dkDataObject* dataobj); virtual void addObject(dkDataObject* dataobj, long option); virtual void addObject(dkDataObject* dataobj, const DKNVPair* parms, long arraySize);
Exceptions
Error messages:
virtual void addObjects(dkCollection* ddoCollection); virtual void addObjects(dkCollection* ddoCollection, long option); virtual void addObjects(dkCollection* ddoCollection, const DKNVPair* parms, long arraySize);
Exceptions
Error messages:
virtual void deleteObject(dkDataObject* dataobj); virtual void deleteObject(dkDataObject* dataobj, long option); virtual void deleteObject(dkDataObject* dataobj, const DKNVPair* parms, long arraySize);
Exceptions
Error messages:
virtual void deleteObjects(dkCollection* ddoCollection); virtual void deleteObjects(dkCollection* ddoCollection, long option); virtual void deleteObjects(dkCollection* ddoCollection, const DKNVPair* parms, long arraySize);
Exceptions
Error messages:
virtual void retrieveObject (dkDataObject* dataObj)
Exceptions
Error messages:
virtual void retrieveObject(dkDataObject* dataobj, long option); virtual void retrieveObject(dkDataObject* dataobj, const DKNVPair* parms, long arraySize);
Exceptions
Error messages:
virtual void retrieveObjects(dkCollection* ddoCollection); virtual void retrieveObjects(dkCollection* ddoCollection, long option); virtual void retrieveObjects(dkCollection* ddoCollection, const DKNVPair* parms, long arraySize);
Exceptions
Error messages:
virtual void updateObject (dkDataObject* dataObj); virtual void updateObject(dkDataObject* dataobj, long option); virtual void updateObject(dkDataObject* dataobj, const DKNVPair* parms, long arraySize);
Exceptions
Error messages:
virtual void updateObjects(dkCollection* ddoCollection); virtual void updateObjects(dkCollection* ddoCollection, long option); virtual void updateObjects(dkCollection* ddoCollection, const DKNVPair* parms, long arraySize);
Exceptions
virtual void startTransaction();
Exceptions
virtual void commit ();
Exceptions
virtual void rollback ();
virtual DKBoolean isConnected () const;
virtual DKString datastoreName() const;
virtual DKString datastoreType() const;
virtual DKString userName() const;
virtual DKHandle* connection() const;
virtual DKHandle* handle(const char* type);
virtual dkCollection* listDataSources();
virtual DKString* listDataSourceNames(long& arrarySize);
virtual DKAny listServers();
virtual DKAny listSchema();
virtual DKAny listSchemaAttributes(const char * schemaEntry);
virtual dkCollection* listEntities();
virtual dkCollection* listSearchableEntities();
virtual dkCollection* listSearchTemplates();
virtual DKString* listEntityNames(long& arraySize);
virtual DKString* listSearchableEntityNames(long& arraySize);
virtual DKString* listSearchTemplateNames(long& arraySize);
virtual dkCollection* listEntityAttrs(const char* entityName);
virtual DKString* listEntityAttrNames(const char* entityName, long& arraySize);
virtual dkDatastoreDef* datastoreDef();
virtual DKString registerMapping(DKNVPair* sourceMap);
virtual void unRegisterMapping(const char* mappingName);
virtual DKString* listMappingNames(long& arraySize);
virtual dkSchemaMapping* getMapping(const char* mappingName);
virtual dkExtension* getExtension(const char* extensionName);
virtual void addExtension(const char* extensionName, dkExtension* extensionObj);
virtual void removeExtension(const char* extensionName);
virtual DKString* listExtensionNames(long& arraySize);
virtual DKDDO* createDDO(const char* objectType, long Flags);
virtual void clearCache(); virtual void clearCache(long option);
virtual dkServiceMgr* serviceMgr();
virtual DKString* listAvailableServices(long& arraySize);
Exceptions:
(c) Copyright International Business Machines Corporation 1996, 2003. IBM Corp. All rights reserved.