#include <rmdb.h>

Definition at line 397 of file rmdb.h.
Public Attributes | |
| Int32_t | mediaPoolKey |
| rm_String | mediaPoolName |
| rm_String | poolUUIDString |
| Int32_t | mediaFamily |
| Int32_t | mediaPoolType |
| Int32_t | maxMediaAge |
| Int32_t | maxNrReadWrite |
| Int32_t | blockSize |
| Int16_t | numOfVolumes |
| Int16_t | sysVolLocation |
| Int32_t | sizeOfSysVol |
| Int32_t | sizeOfVolume |
| rm_String | partitionUUIDString |
Private Member Functions | |
| void | Insert () |
| void | Update () |
| void | Remove (Int32_t a_mediaPoolKey) |
| void | Select (Int32_t a_mediaPoolKey) |
| void | SelectByName (rm_String a_name) |
| void | SelectByUUID (cmn_UUID_t &a_uuid) |
| void | StartSelectAll () |
| void | EndSelectAll () |
| rm_MediaPool & | Next () |
| rm_MediaPool () | |
| rm_MediaPool (Int32_t a_mediaPoolKey) | |
| bool | operator== (const rm_MediaPool &mp1) const |
Private Attributes | |
| log_CLASSID_m | |
Friends | |
| class | rm_Operator |
| class | rm_Medium |
| rm_MediaPool::rm_MediaPool | ( | ) | [private] |
Definition at line 2162 of file librmdb.exx.
02163 : mediaPoolName(rmdb_MAX_MEDIAPOOLNAME), 02164 poolUUIDString(ivd_UUID_STR_SIZE_d), 02165 partitionUUIDString(ivd_UUID_STR_SIZE_d) { 02166 }
| rm_MediaPool::rm_MediaPool | ( | Int32_t | a_mediaPoolKey | ) | [private] |
Definition at line 2168 of file librmdb.exx.
References Select().
02169 : mediaPoolName(rmdb_MAX_MEDIAPOOLNAME), 02170 poolUUIDString(ivd_UUID_STR_SIZE_d), 02171 partitionUUIDString(ivd_UUID_STR_SIZE_d) { 02172 Select(a_mediaPoolKey); 02173 }

| void rm_MediaPool::Insert | ( | ) | [private] |
Definition at line 2176 of file librmdb.exx.
References blockSize, rm_String::cvalue_p, dbg_NORM, errorDesc(), log_DBG_m, log_FUNC_m, MAX, maxMediaAge, maxNrReadWrite, mediaFamily, mediaPoolKey, mediaPoolName, mediaPoolType, NAME, numOfVolumes, partitionUUIDString, poolUUIDString, sizeOfSysVol, sizeOfVolume, SQL_CHECK_M, SQL_NOERROR, SQL_UNIQUEVIOLATION, sysVolLocation, and cmn_UUID_t::ToString().
Referenced by rm_Operator::Add().
02176 { 02177 log_FUNC_m(Insert); 02178 02179 EXEC SQL 02180 SET TRANSACTION NAME readWriteTrans; 02181 02182 Int32_t k = 0; 02183 if ( mediaPoolKey == 0 ) { 02184 EXEC SQL 02185 SELECT TRANSACTION readWriteTrans 02186 MAX(MEDIAPOOLKEY) INTO :k FROM MEDIAPOOL; 02187 mediaPoolKey = k + 1; 02188 } 02189 else { 02190 EXEC SQL 02191 SELECT TRANSACTION readWriteTrans 02192 MEDIAPOOLKEY INTO :k FROM MEDIAPOOL 02193 WHERE MEDIAPOOLKEY = :mediaPoolKey; 02194 02195 if (SQLCODE == SQL_NOERROR) { 02196 log_DBG_m(dbg_NORM,"key exists"); 02197 throw ivd_DBException( SQL_UNIQUEVIOLATION ,"MediumPool Key already exists"); 02198 } 02199 } 02200 cmn_UUID_t uuid; 02201 poolUUIDString = uuid.ToString(); 02202 02203 if (partitionUUIDString.empty()) bi1 = -1; else bi1 = 0; 02204 02205 EXEC SQL 02206 INSERT TRANSACTION readWriteTrans 02207 INTO MEDIAPOOL VALUES( 02208 :mediaPoolKey, 02209 :mediaPoolName.cvalue_p, 02210 :poolUUIDString.cvalue_p, 02211 :mediaFamily, 02212 :mediaPoolType, 02213 :partitionUUIDString.cvalue_p INDICATOR :bi1, 02214 :maxMediaAge, 02215 :maxNrReadWrite, 02216 :blockSize, 02217 :numOfVolumes, 02218 :sysVolLocation, 02219 :sizeOfSysVol, 02220 :sizeOfVolume 02221 02222 ); 02223 02224 02225 string sqlErrDesc = errorDesc(SQLCODE,"Insert record into MediumPool", mediaPoolKey); 02226 SQL_CHECK_M( sqlErrDesc ); 02227 02228 }// rm_MediaPool::Insert()


| void rm_MediaPool::Update | ( | ) | [private] |
Definition at line 2248 of file librmdb.exx.
References blockSize, rm_String::cvalue_p, errorDesc(), log_FUNC_m, maxMediaAge, maxNrReadWrite, mediaFamily, mediaPoolKey, mediaPoolName, mediaPoolType, NAME, numOfVolumes, partitionUUIDString, sizeOfSysVol, sizeOfVolume, SQL_CHECK_M, and sysVolLocation.
Referenced by rm_Operator::Update().
02248 { 02249 log_FUNC_m(Update); 02250 if (partitionUUIDString.empty()) bi1 = -1; else bi1 = 0; 02251 02252 EXEC SQL 02253 SET TRANSACTION NAME readWriteTrans; 02254 //ATTENTION!!! Update will not update mediaPoolUUID 02255 EXEC SQL 02256 UPDATE TRANSACTION readWriteTrans 02257 MEDIAPOOL SET 02258 MEDIAPOOLNAME = :mediaPoolName.cvalue_p, 02259 POOLUUID = POOLUUID, 02260 MEDIAFAMILY = :mediaFamily, 02261 MEDIAPOOLTYPE = :mediaPoolType, 02262 PARTITIONUUID = :partitionUUIDString.cvalue_p INDICATOR :bi1, 02263 MAXMEDIAAGE = :maxMediaAge, 02264 MAXNRREADWRITE = :maxNrReadWrite, 02265 BLOCKSIZE = :blockSize, 02266 NUMOFVOLUMES = :numOfVolumes, 02267 IDXOFSYSVOL = :sysVolLocation, 02268 SIZEOFSYSVOL = :sizeOfSysVol, 02269 SIZEOFVOLUME = :sizeOfVolume 02270 WHERE MEDIAPOOLKEY = :mediaPoolKey; 02271 02272 string sqlErrDesc = errorDesc(SQLCODE,"Update MediumPool record", mediaPoolKey); 02273 SQL_CHECK_M( sqlErrDesc ); 02274 02275 }// rm_MediaPool::Update()


| void rm_MediaPool::Remove | ( | Int32_t | a_mediaPoolKey | ) | [private] |
Definition at line 2232 of file librmdb.exx.
References errorDesc(), log_FUNC_m, NAME, and SQL_CHECK_M.
Referenced by rm_Operator::RemoveMediaPool().
02232 { 02233 log_FUNC_m(Remove); 02234 EXEC SQL 02235 SET TRANSACTION NAME readWriteTrans; 02236 02237 EXEC SQL 02238 DELETE TRANSACTION readWriteTrans 02239 FROM MEDIAPOOL WHERE MEDIAPOOLKEY = :a_mediaPoolKey; 02240 02241 string sqlErrDesc = errorDesc(SQLCODE,"Remove MediumPool record", a_mediaPoolKey); 02242 SQL_CHECK_M( sqlErrDesc ); 02243 02244 }// rm_MediaPool::Remove


| void rm_MediaPool::Select | ( | Int32_t | a_mediaPoolKey | ) | [private] |
Definition at line 2280 of file librmdb.exx.
References blockSize, errorDesc(), ivd_UUID_STR_SIZE_d, log_FUNC_m, maxMediaAge, maxNrReadWrite, mediaFamily, mediaPoolKey, mediaPoolName, mediaPoolType, NAME, numOfVolumes, partitionUUIDString, poolUUIDString, rmdb_MAX_MEDIAPOOLNAME, sizeOfSysVol, sizeOfVolume, SQL_CHECKREAD_M, SQL_NOERROR, and sysVolLocation.
Referenced by rm_Operator::AllocateAdmin(), rm_MediaPool(), and rm_Operator::SelectMediaPool().
02280 { 02281 02282 log_FUNC_m(Select); 02283 02284 EXEC SQL 02285 SET TRANSACTION NAME readTrans 02286 READ ONLY 02287 ISOLATION LEVEL READ COMMITTED; 02288 02289 char mediaPoolNameVal[rmdb_MAX_MEDIAPOOLNAME]; 02290 char poolUUIDStringVal[ivd_UUID_STR_SIZE_d + 1]; 02291 char partitionUUIDStringVal[ivd_UUID_STR_SIZE_d + 1]; 02292 02293 EXEC SQL 02294 SELECT TRANSACTION readTrans 02295 * INTO 02296 :mediaPoolKey, 02297 :mediaPoolNameVal, 02298 :poolUUIDStringVal, 02299 :mediaFamily, 02300 :mediaPoolType, 02301 :partitionUUIDStringVal, 02302 :maxMediaAge, 02303 :maxNrReadWrite, 02304 :blockSize, 02305 :numOfVolumes, 02306 :sysVolLocation, 02307 :sizeOfSysVol, 02308 :sizeOfVolume 02309 FROM MEDIAPOOL WHERE MEDIAPOOLKEY = :a_mediaPoolKey; 02310 02311 if (SQLCODE == SQL_NOERROR) { 02312 mediaPoolName = mediaPoolNameVal; 02313 poolUUIDString = poolUUIDStringVal; 02314 partitionUUIDString = partitionUUIDStringVal; 02315 }; 02316 02317 string sqlErrDesc = errorDesc(SQLCODE,"Select MediumPool record: ", mediaPoolKey); 02318 SQL_CHECKREAD_M( sqlErrDesc ); 02319 }// rm_MediaPool::Select


| void rm_MediaPool::SelectByName | ( | rm_String | a_name | ) | [private] |
Definition at line 2324 of file librmdb.exx.
References blockSize, rm_String::cvalue_p, errorDesc(), ivd_UUID_STR_SIZE_d, log_FUNC_m, maxMediaAge, maxNrReadWrite, mediaFamily, mediaPoolKey, mediaPoolName, mediaPoolType, NAME, numOfVolumes, partitionUUIDString, poolUUIDString, rmdb_MAX_MEDIAPOOLNAME, sizeOfSysVol, sizeOfVolume, SQL_CHECKREAD_M, SQL_NOERROR, and sysVolLocation.
Referenced by rm_Operator::Add(), rm_Operator::RemoveMediaPool(), rm_Operator::SelectMediaPool(), and rm_Operator::Update().
02324 { 02325 log_FUNC_m(SelectByName); 02326 02327 EXEC SQL 02328 SET TRANSACTION NAME readTrans 02329 READ ONLY 02330 ISOLATION LEVEL READ COMMITTED; 02331 02332 char mediaPoolNameVal[rmdb_MAX_MEDIAPOOLNAME]; 02333 char poolUUIDStringVal[ivd_UUID_STR_SIZE_d + 1]; 02334 char partitionUUIDStringVal[ivd_UUID_STR_SIZE_d + 1]; 02335 02336 EXEC SQL 02337 SELECT TRANSACTION readTrans 02338 * INTO 02339 :mediaPoolKey, 02340 :mediaPoolNameVal, 02341 :poolUUIDStringVal, 02342 :mediaFamily, 02343 :mediaPoolType, 02344 :partitionUUIDStringVal, 02345 :maxMediaAge, 02346 :maxNrReadWrite, 02347 :blockSize, 02348 :numOfVolumes, 02349 :sysVolLocation, 02350 :sizeOfSysVol, 02351 :sizeOfVolume 02352 FROM MEDIAPOOL WHERE MEDIAPOOLNAME = :a_name.cvalue_p; 02353 02354 if (SQLCODE == SQL_NOERROR) { 02355 mediaPoolName = mediaPoolNameVal; 02356 poolUUIDString = poolUUIDStringVal; 02357 partitionUUIDString = partitionUUIDStringVal; 02358 }; 02359 string sqlErrDesc = errorDesc(SQLCODE,"Select MediumPool record by Name: "+ a_name); 02360 SQL_CHECKREAD_M( sqlErrDesc ); 02361 }


| void rm_MediaPool::SelectByUUID | ( | cmn_UUID_t & | a_uuid | ) | [private] |
Definition at line 2364 of file librmdb.exx.
References blockSize, rm_String::cvalue_p, errorDesc(), ivd_UUID_STR_SIZE_d, log_FUNC_m, maxMediaAge, maxNrReadWrite, mediaFamily, mediaPoolKey, mediaPoolName, mediaPoolType, NAME, numOfVolumes, partitionUUIDString, poolUUIDString, rmdb_MAX_MEDIAPOOLNAME, sizeOfSysVol, sizeOfVolume, SQL_CHECKREAD_M, SQL_NOERROR, sysVolLocation, and cmn_UUID_t::ToString().
Referenced by rm_Operator::SelectMediaPoolbyUUID().
02364 { 02365 log_FUNC_m(SelectByUUID); 02366 02367 EXEC SQL 02368 SET TRANSACTION NAME readTrans 02369 READ ONLY 02370 ISOLATION LEVEL READ COMMITTED; 02371 02372 char mediaPoolNameVal[rmdb_MAX_MEDIAPOOLNAME]; 02373 char poolUUIDStringVal[ivd_UUID_STR_SIZE_d + 1]; 02374 char partitionUUIDStringVal[ivd_UUID_STR_SIZE_d + 1]; 02375 02376 rm_String uuid(ivd_UUID_STR_SIZE_d); 02377 uuid = a_uuid.ToString(); 02378 02379 EXEC SQL 02380 SELECT TRANSACTION readTrans 02381 * INTO 02382 :mediaPoolKey, 02383 :mediaPoolNameVal, 02384 :poolUUIDStringVal, 02385 :mediaFamily, 02386 :mediaPoolType, 02387 :partitionUUIDStringVal, 02388 :maxMediaAge, 02389 :maxNrReadWrite, 02390 :blockSize, 02391 :numOfVolumes, 02392 :sysVolLocation, 02393 :sizeOfSysVol, 02394 :sizeOfVolume 02395 FROM MEDIAPOOL WHERE POOLUUID = :uuid.cvalue_p; 02396 02397 if (SQLCODE == SQL_NOERROR) { 02398 mediaPoolName = mediaPoolNameVal; 02399 poolUUIDString = poolUUIDStringVal; 02400 partitionUUIDString = partitionUUIDStringVal; 02401 }; 02402 string sqlErrDesc = errorDesc(SQLCODE, "Selecting MediumPool record by Name. Search String was:" , uuid); 02403 SQL_CHECKREAD_M( sqlErrDesc ); 02404 }


| void rm_MediaPool::StartSelectAll | ( | ) | [private] |
Definition at line 2407 of file librmdb.exx.
References errorDesc(), cmn_Mutex::Lock(), log_ERR_m, log_FUNC_m, NAME, SQL_NOERROR, and cmn_Mutex::Unlock().
Referenced by rm_Operator::SelectAllMediaPools().
02407 { 02408 log_FUNC_m(StartSelectAll); 02409 02410 g_mediaPoolCursor_x.Lock(); 02411 EXEC SQL 02412 SET TRANSACTION NAME readTrans 02413 READ ONLY 02414 ISOLATION LEVEL READ COMMITTED; 02415 02416 EXEC SQL 02417 OPEN TRANSACTION readTrans 02418 SELECT_ALL_MEDIAPOOL; 02419 if ( SQLCODE != SQL_NOERROR ) { 02420 string sqlErrDesc = errorDesc(SQLCODE, "Opening SELECT_ALL_MEDIAPOOL Cursor failed"); 02421 log_ERR_m(sqlErrDesc); 02422 g_mediaPoolCursor_x.Unlock(); 02423 throw ivd_DBException( SQLCODE ,sqlErrDesc, true); 02424 } 02425 }


| void rm_MediaPool::EndSelectAll | ( | ) | [private] |
Definition at line 2427 of file librmdb.exx.
References errorDesc(), log_FUNC_m, SQL_CHECKREAD_M, and cmn_Mutex::Unlock().
02427 { 02428 log_FUNC_m(EndSelectAll); 02429 02430 EXEC SQL 02431 CLOSE SELECT_ALL_MEDIAPOOL; 02432 g_mediaPoolCursor_x.Unlock(); 02433 02434 string sqlErrDesc = errorDesc(SQLCODE, "CLOSE SELECT_ALL_MEDIAPOOL" ); 02435 SQL_CHECKREAD_M( sqlErrDesc ); 02436 02437 }

| rm_MediaPool & rm_MediaPool::Next | ( | ) | [private] |
Definition at line 2439 of file librmdb.exx.
References blockSize, errorDesc(), ivd_UUID_STR_SIZE_d, log_FUNC_m, maxMediaAge, maxNrReadWrite, mediaFamily, mediaPoolKey, mediaPoolName, mediaPoolType, numOfVolumes, partitionUUIDString, poolUUIDString, rmdb_MAX_MEDIAPOOLNAME, sizeOfSysVol, sizeOfVolume, SQL_CHECKREAD_M, SQL_NOERROR, sysVolLocation, and cmn_Mutex::Unlock().
Referenced by rm_Operator::SelectAllMediaPools().
02439 { 02440 log_FUNC_m(Next); 02441 02442 char mediaPoolNameVal[rmdb_MAX_MEDIAPOOLNAME]; 02443 char poolUUIDStringVal[ivd_UUID_STR_SIZE_d + 1]; 02444 char partitionUUIDStringVal[ivd_UUID_STR_SIZE_d + 1]; 02445 02446 EXEC SQL 02447 FETCH SELECT_ALL_MEDIAPOOL 02448 INTO 02449 :mediaPoolKey, 02450 :mediaPoolNameVal, 02451 :poolUUIDStringVal, 02452 :mediaFamily, 02453 :mediaPoolType, 02454 :partitionUUIDStringVal, 02455 :maxMediaAge, 02456 :maxNrReadWrite, 02457 :blockSize, 02458 :numOfVolumes, 02459 :sysVolLocation, 02460 :sizeOfSysVol, 02461 :sizeOfVolume; 02462 02463 if (SQLCODE == SQL_NOERROR) { 02464 mediaPoolName = mediaPoolNameVal; 02465 poolUUIDString = poolUUIDStringVal; 02466 partitionUUIDString = partitionUUIDStringVal; 02467 } 02468 else { 02469 int fetchCode = SQLCODE; 02470 EXEC SQL 02471 CLOSE SELECT_ALL_MEDIAPOOL; 02472 g_mediaPoolCursor_x.Unlock(); 02473 SQLCODE = fetchCode; 02474 string sqlErrDesc = errorDesc(fetchCode, "CLOSE SELECT_ALL_MEDIAPOOL" ); 02475 SQL_CHECKREAD_M( sqlErrDesc ); 02476 }; 02477 02478 return *this; 02479 }


| bool rm_MediaPool::operator== | ( | const rm_MediaPool & | mp1 | ) | const [inline, private] |
Definition at line 459 of file rmdb.h.
References mediaPoolKey, mediaPoolName, and mediaPoolType.
00459 { 00460 return ( ( mediaPoolKey == mp1.mediaPoolKey) && 00461 ( mediaPoolType == mp1.mediaPoolType) && 00462 ( mediaPoolName == mp1.mediaPoolName) ); 00463 };
friend class rm_Operator [friend] |
Definition at line 402 of file rmdb.h.
Referenced by rm_Operator::Add(), rm_Operator::CheckForAnyResourceForMig(), Insert(), Next(), operator==(), rm_Operator::RemoveMediaPool(), Select(), SelectByName(), SelectByUUID(), rm_Operator::SelectMediaPool(), rm_Operator::SelectMediaPoolbyUUID(), rm_Operator::Update(), and Update().
Definition at line 403 of file rmdb.h.
Referenced by rm_Operator::Add(), rm_Operator::CheckForAnyResourceForMig(), rm_Medium::Convert2Corba(), Insert(), Next(), operator==(), Select(), rm_Operator::SelectAllMediaByPart(), rm_Operator::SelectAllMedium(), SelectByName(), SelectByUUID(), rm_Operator::SelectMediaPool(), rm_Operator::SelectMediaPoolbyUUID(), rm_Operator::SelectMedium(), rm_Operator::SelectMediumByDrive(), rm_Operator::Update(), and Update().
Definition at line 404 of file rmdb.h.
Referenced by rm_Operator::AllocateAdmin(), rm_Operator::AllocateRecall(), Insert(), Next(), Select(), SelectByName(), SelectByUUID(), rm_Operator::SelectMediaPool(), and rm_Operator::SelectMediaPoolbyUUID().
Definition at line 405 of file rmdb.h.
Referenced by rm_Operator::Add(), rm_Operator::AllocateAdmin(), rm_Operator::AllocateRecall(), rm_Operator::CheckForAnyResourceForMig(), Insert(), Next(), Select(), SelectByName(), SelectByUUID(), rm_Operator::SelectDriveForMig(), rm_Operator::SelectMediaPool(), rm_Operator::SelectMediaPoolbyUUID(), rm_Operator::Update(), and Update().
Definition at line 406 of file rmdb.h.
Referenced by rm_Operator::Add(), rm_Operator::AllocateRecall(), Insert(), Next(), operator==(), Select(), SelectByName(), SelectByUUID(), rm_Operator::SelectMediaPool(), rm_Operator::SelectMediaPoolbyUUID(), rm_Operator::Update(), and Update().
Definition at line 407 of file rmdb.h.
Referenced by rm_Operator::Add(), Insert(), Next(), Select(), SelectByName(), SelectByUUID(), rm_Operator::SelectMediaPool(), rm_Operator::SelectMediaPoolbyUUID(), rm_Operator::Update(), and Update().
Definition at line 408 of file rmdb.h.
Referenced by rm_Operator::Add(), Insert(), Next(), Select(), SelectByName(), SelectByUUID(), rm_Operator::SelectMediaPool(), rm_Operator::SelectMediaPoolbyUUID(), rm_Operator::Update(), and Update().
Definition at line 410 of file rmdb.h.
Referenced by rm_Operator::Add(), rm_Operator::AllocateAdmin(), Insert(), Next(), Select(), SelectByName(), SelectByUUID(), rm_Operator::SelectMediaPool(), rm_Operator::SelectMediaPoolbyUUID(), rm_Operator::Update(), and Update().
Definition at line 411 of file rmdb.h.
Referenced by rm_Operator::Add(), Insert(), Next(), Select(), SelectByName(), SelectByUUID(), rm_Operator::SelectMediaPool(), rm_Operator::SelectMediaPoolbyUUID(), rm_Operator::Update(), and Update().
Definition at line 412 of file rmdb.h.
Referenced by rm_Operator::Add(), Insert(), Next(), Select(), SelectByName(), SelectByUUID(), rm_Operator::SelectMediaPool(), rm_Operator::SelectMediaPoolbyUUID(), rm_Operator::Update(), and Update().
Definition at line 413 of file rmdb.h.
Referenced by rm_Operator::Add(), Insert(), Next(), Select(), SelectByName(), SelectByUUID(), rm_Operator::SelectMediaPool(), rm_Operator::SelectMediaPoolbyUUID(), rm_Operator::Update(), and Update().
Definition at line 414 of file rmdb.h.
Referenced by rm_Operator::Add(), Insert(), Next(), Select(), SelectByName(), SelectByUUID(), rm_Operator::SelectMediaPool(), rm_Operator::SelectMediaPoolbyUUID(), rm_Operator::Update(), and Update().
Definition at line 415 of file rmdb.h.
Referenced by rm_Operator::Add(), rm_Medium::Convert2Corba(), Insert(), Next(), Select(), SelectByName(), SelectByUUID(), rm_Operator::SelectMediaPool(), rm_Operator::SelectMediaPoolbyUUID(), rm_Operator::SelectMedium(), rm_Operator::Update(), and Update().
rm_MediaPool::log_CLASSID_m [private] |
1.5.6