comparison Resources/Orthanc/Databases/ISqlLookupFormatter.h @ 538:aff02ad9fbbc

sync
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 09 Sep 2024 08:59:29 +0200
parents 54d518dcd74a
children 12f1c5265081
comparison
equal deleted inserted replaced
531:7fd40079a8ee 538:aff02ad9fbbc
32 #include <boost/noncopyable.hpp> 32 #include <boost/noncopyable.hpp>
33 #include <vector> 33 #include <vector>
34 34
35 namespace Orthanc 35 namespace Orthanc
36 { 36 {
37 class DatabaseConstraint; 37 class DatabaseConstraints;
38 38
39 enum LabelsConstraint 39 enum LabelsConstraint
40 { 40 {
41 LabelsConstraint_All, 41 LabelsConstraint_All,
42 LabelsConstraint_Any, 42 LabelsConstraint_Any,
62 * MSSQL. New in Orthanc 1.10.0, from the following changeset: 62 * MSSQL. New in Orthanc 1.10.0, from the following changeset:
63 * https://orthanc.uclouvain.be/hg/orthanc-databases/rev/389c037387ea 63 * https://orthanc.uclouvain.be/hg/orthanc-databases/rev/389c037387ea
64 **/ 64 **/
65 virtual bool IsEscapeBrackets() const = 0; 65 virtual bool IsEscapeBrackets() const = 0;
66 66
67 static void GetLookupLevels(ResourceType& lowerLevel, ResourceType& upperLevel, const ResourceType& queryLevel, const std::vector<DatabaseConstraint>& lookup); 67 static void GetLookupLevels(ResourceType& lowerLevel,
68 ResourceType& upperLevel,
69 const ResourceType& queryLevel,
70 const DatabaseConstraints& lookup);
68 71
69 static void Apply(std::string& sql, 72 static void Apply(std::string& sql,
70 ISqlLookupFormatter& formatter, 73 ISqlLookupFormatter& formatter,
71 const std::vector<DatabaseConstraint>& lookup, 74 const DatabaseConstraints& lookup,
72 ResourceType queryLevel, 75 ResourceType queryLevel,
73 const std::set<std::string>& labels, // New in Orthanc 1.12.0 76 const std::set<std::string>& labels, // New in Orthanc 1.12.0
74 LabelsConstraint labelsConstraint, // New in Orthanc 1.12.0 77 LabelsConstraint labelsConstraint, // New in Orthanc 1.12.0
75 size_t limit); 78 size_t limit);
76 79
77 static void ApplySingleLevel(std::string& sql, 80 static void ApplySingleLevel(std::string& sql,
78 ISqlLookupFormatter& formatter, 81 ISqlLookupFormatter& formatter,
79 const std::vector<DatabaseConstraint>& lookup, 82 const DatabaseConstraints& lookup,
80 ResourceType queryLevel, 83 ResourceType queryLevel,
81 const std::set<std::string>& labels, // New in Orthanc 1.12.0 84 const std::set<std::string>& labels, // New in Orthanc 1.12.0
82 LabelsConstraint labelsConstraint, // New in Orthanc 1.12.0 85 LabelsConstraint labelsConstraint, // New in Orthanc 1.12.0
83 size_t limit); 86 size_t limit);
84 }; 87 };