comparison Framework/Common/DatabaseManager.cpp @ 305:87f0e29a1dc1

added Dictionary::Clear()
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 12 Jul 2021 09:40:01 +0200
parents 86265ef5f3e3
children 7e9622c64c40
comparison
equal deleted inserted replaced
304:dd4b0edd1661 305:87f0e29a1dc1
354 } 354 }
355 355
356 356
357 void DatabaseManager::StatementBase::SetResult(IResult* result) 357 void DatabaseManager::StatementBase::SetResult(IResult* result)
358 { 358 {
359 std::unique_ptr<IResult> protection(result);
360
361 if (result_.get() != NULL)
362 {
363 LOG(ERROR) << "Cannot execute twice a statement";
364 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls);
365 }
366
367 if (result == NULL) 359 if (result == NULL)
368 { 360 {
369 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); 361 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer);
370 } 362 }
371 363 else
372 result_.reset(protection.release()); 364 {
365 result_.reset(result);
366 }
373 } 367 }
374 368
375 369
376 DatabaseManager::StatementBase::StatementBase(DatabaseManager& manager) : 370 DatabaseManager::StatementBase::StatementBase(DatabaseManager& manager) :
377 manager_(manager), 371 manager_(manager),