comparison OrthancServer/Sources/Database/SQLiteDatabaseWrapper.cpp @ 5782:f1ccb67fce31 find-refactoring

fix
author Alain Mazy <am@orthanc.team>
date Sat, 14 Sep 2024 11:24:11 +0200
parents de33982a0bf4
children a3d283f61304
comparison
equal deleted inserted replaced
5781:dc06dbca0d32 5782:f1ccb67fce31
436 { 436 {
437 // extract the resource id of interest by executing the lookup 437 // extract the resource id of interest by executing the lookup
438 LookupFormatter formatter; 438 LookupFormatter formatter;
439 LookupFormatter::Apply(sql, formatter, request); 439 LookupFormatter::Apply(sql, formatter, request);
440 440
441 sql = "CREATE TEMPORARY TABLE Lookup AS " + sql; 441 sql = "CREATE TEMPORARY TABLE Lookup AS " + sql; // TODO-FIND: use a CTE
442 442
443 SQLite::Statement statement(db_, sql); 443 SQLite::Statement statement(db_, sql);
444 formatter.Bind(statement); 444 formatter.Bind(statement);
445 statement.Run(); 445 statement.Run();
446 446
593 FindResponse::Resource& res = response.GetResourceByInternalId(s.ColumnInt64(0)); 593 FindResponse::Resource& res = response.GetResourceByInternalId(s.ColumnInt64(0));
594 res.AddLabel(s.ColumnString(1)); 594 res.AddLabel(s.ColumnString(1));
595 } 595 }
596 } 596 }
597 597
598 // need one instance info ?
598 if (request.GetLevel() != ResourceType_Instance && 599 if (request.GetLevel() != ResourceType_Instance &&
599 request.IsRetrieveOneInstanceMetadataAndAttachments()) 600 request.IsRetrieveOneInstanceMetadataAndAttachments())
600 { 601 {
601 { 602 {
602 SQLite::Statement s(db_, SQLITE_FROM_HERE, "DROP TABLE IF EXISTS OneInstance"); 603 SQLite::Statement s(db_, SQLITE_FROM_HERE, "DROP TABLE IF EXISTS OneInstance"); // TODO-FIND: use a CTE
603 s.Run(); 604 s.Run();
604 } 605 }
605 606
606 switch (requestLevel) 607 switch (requestLevel)
607 { 608 {