Mercurial > hg > orthanc
comparison OrthancServer/Search/ISqlLookupFormatter.cpp @ 3078:147497152ce3 db-changes
fix
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 03 Jan 2019 12:47:17 +0100 |
parents | 5ebd2ef5e7ae |
children | 65e2bfa953ef |
comparison
equal
deleted
inserted
replaced
3077:aae1d6d31fef | 3078:147497152ce3 |
---|---|
258 ISqlLookupFormatter& formatter, | 258 ISqlLookupFormatter& formatter, |
259 const std::vector<DatabaseConstraint>& lookup, | 259 const std::vector<DatabaseConstraint>& lookup, |
260 ResourceType queryLevel, | 260 ResourceType queryLevel, |
261 size_t limit) | 261 size_t limit) |
262 { | 262 { |
263 for (size_t i = 0; i < lookup.size(); i++) | |
264 { | |
265 std::cout << i << ": " << lookup[i].GetTag() << " - " << EnumerationToString(lookup[i].GetLevel()); | |
266 std::cout << std::endl; | |
267 } | |
268 | |
269 assert(ResourceType_Patient < ResourceType_Study && | 263 assert(ResourceType_Patient < ResourceType_Study && |
270 ResourceType_Study < ResourceType_Series && | 264 ResourceType_Study < ResourceType_Series && |
271 ResourceType_Series < ResourceType_Instance); | 265 ResourceType_Series < ResourceType_Instance); |
272 | 266 |
273 ResourceType upperLevel = queryLevel; | 267 ResourceType upperLevel = queryLevel; |
334 FormatLevel(static_cast<ResourceType>(level - 1)) + ".internalId=" + | 328 FormatLevel(static_cast<ResourceType>(level - 1)) + ".internalId=" + |
335 FormatLevel(static_cast<ResourceType>(level)) + ".parentId"); | 329 FormatLevel(static_cast<ResourceType>(level)) + ".parentId"); |
336 } | 330 } |
337 | 331 |
338 sql += (joins + " WHERE " + FormatLevel(queryLevel) + ".resourceType = " + | 332 sql += (joins + " WHERE " + FormatLevel(queryLevel) + ".resourceType = " + |
339 boost::lexical_cast<std::string>(queryLevel) + comparisons); | 333 formatter.FormatResourceType(queryLevel) + comparisons); |
340 | 334 |
341 if (limit != 0) | 335 if (limit != 0) |
342 { | 336 { |
343 sql += " LIMIT " + boost::lexical_cast<std::string>(limit); | 337 sql += " LIMIT " + boost::lexical_cast<std::string>(limit); |
344 } | 338 } |