18 #ifndef PDB_CATALOG_H_
19 #define PDB_CATALOG_H_
120 bool registerUserDefinedObject(
123 const string &objectBytes,
124 const string &typeName,
125 const string &fileName,
126 const string &tableName,
127 string &errorMessage);
140 template <
class CatalogMetadataType>
141 bool addMetadataToCatalog(
143 int &metadataCategory,
144 string &errorMessage);
154 template <
class CatalogMetadataType>
167 template <
class CatalogMetadataType>
168 bool updateMetadataInCatalog(
170 int &metadataCategory,
171 string &errorMessage);
183 template <
class CatalogMetadataType>
184 bool deleteMetadataInCatalog(
186 int &metadataCategory,
187 string &errorMessage);
197 template <
class CatalogMetadataType>
198 bool updateItemInVector(
210 template <
class CatalogMetadataType>
211 bool deleteItemInVector(
218 map<string, CatalogNodeMetadata> getListOfNodesInCluster();
232 bool getSerializedCatalog(
string fileName,
string version,
233 string &returnedBytes,
string &errorMessage);
241 void setCatalogVersion(
string version);
246 string getCatalogVersion();
270 template <
class CatalogMetadataType>
271 bool getMetadataFromCatalog(
275 string &errorMessage,
276 int metadataCategory);
286 int getLastId(
int &metadataCategory);
295 string itemName2ItemId(
int &metadataCategory,
string &key);
305 bool keyIsFound(
int &metadataCategory,
string &key,
string &value);
322 map<string, CatalogUserTypeMetadata> getUserDefinedTypesList();
327 void printsAllCatalogMetadata(
328 std::string &outputString,
329 std::string &errMsg);
334 void listRegisteredDatabases(
335 std::string &outputString,
336 std::string &errMsg);
341 void listRegisteredSetsForADatabase(
342 std::string databaseName,
343 std::string &outputString,
344 std::string &errMsg);
349 void listNodesInCluster(
350 std::string &outputString,
351 std::string &errMsg);
356 void listUserDefinedTypes(
357 std::string &outputString,
358 std::string &errMsg);
364 bool retrievesDynamicLibrary(
368 string &returnedSoLibrary,
378 void getListOfDatabases(
407 void closeSQLiteHandler();
413 string getMapsPDBOjbect2SQLiteTable(
int typeOfObject);
418 void loadsMetadataIntoMemory();
438 sqlite3 *sqliteDBHandler = NULL;
547 bool catalogSqlQuery(
string statement);
552 bool catalogSqlStep(sqlite3_stmt *stmt,
string &errorMsg);
558 int createsTempPath();
569 void deleteTempSoFiles(
string filePath);
Handle< Vector< CatalogSetMetadata > > registeredSetsMetadata
Handle< Vector< CatalogUserTypeMetadata > > registeredUserDefinedTypesMetadata
Handle< pdb::Vector< Handle< CatalogUserTypeMetadata > > > listUsersInCluster
map< string, CatalogUserTypeMetadata > registeredUserDefinedTypes
Handle< Vector< CatalogDatabaseMetadata > > registeredDatabasesMetadata
map< string, CatalogSetMetadata > registeredSets
void setUriPath(string thePath)
multimap< string, CatalogUserTypeMetadata > mapUsersInCluster
map< int16_t, string > mapTypeIdToTypeName
map< string, CatalogNodeMetadata > registeredNodes
Handle< Map< String, Handle< Vector< Object > > > > catalogContents
Handle< Vector< CatalogNodeMetadata > > registeredNodesMetadata
pthread_mutex_t registerMetadataMutex
shared_ptr< PDBCatalog > PDBCatalogPtr
map< string, CatalogDatabaseMetadata > registeredDatabases
std::ostream & operator<<(std::ostream &out, PDBCatalog &catalog)
map< string, int16_t > mapTypeNameToTypeID
std::shared_ptr< PDBLogger > PDBLoggerPtr
map< int, string > mapsPDBOjbect2SQLiteTable
map< int, string > mapsPDBArrayOjbect2SQLiteTable
vector< CatalogDatabaseMetadata > dbList