comparison Framework/Common/ResultBase.cpp @ 435:326f8304daa1 pg-transactions

new creating temporary tables inside functions
author Alain Mazy <am@osimis.io>
date Thu, 14 Dec 2023 09:25:45 +0100
parents 3d6886f3e5b3
children f0976163dbe1
comparison
equal deleted inserted replaced
434:23c7af6f671a 435:326f8304daa1
54 assert(expectedType_.size() == fields_.size() && 54 assert(expectedType_.size() == fields_.size() &&
55 hasExpectedType_.size() == fields_.size()); 55 hasExpectedType_.size() == fields_.size());
56 56
57 for (size_t i = 0; i < fields_.size(); i++) 57 for (size_t i = 0; i < fields_.size(); i++)
58 { 58 {
59 if (fields_[i] == NULL)
60 {
61 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer);
62 }
63
64 ValueType sourceType = fields_[i]->GetType(); 59 ValueType sourceType = fields_[i]->GetType();
65 ValueType targetType = expectedType_[i]; 60 ValueType targetType = expectedType_[i];
66 61
67 if (hasExpectedType_[i] && 62 if (hasExpectedType_[i] &&
68 sourceType != ValueType_Null && 63 sourceType != ValueType_Null &&
93 if (!IsDone()) 88 if (!IsDone())
94 { 89 {
95 for (size_t i = 0; i < fields_.size(); i++) 90 for (size_t i = 0; i < fields_.size(); i++)
96 { 91 {
97 fields_[i] = FetchField(i); 92 fields_[i] = FetchField(i);
93 }
98 94
99 if (fields_[i] == NULL) 95 if (fields_.size() == 1 && fields_[0] == NULL) // this is a "void" result
100 { 96 {
101 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); 97 return;
102 }
103 } 98 }
104 99
105 ConvertFields(); 100 ConvertFields();
106 } 101 }
107 } 102 }