Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-12-17 09:20:07

0001 #ifndef INTT_ODBC_QUERY_H
0002 #define INTT_ODBC_QUERY_H
0003 
0004 #include <array>
0005 #include <set>
0006 #include <string>
0007 
0008 namespace odbc
0009 {
0010   class Statement;
0011 }  // namespace odbc
0012 
0013 class InttOdbcQuery
0014 {
0015 public:
0016   InttOdbcQuery() = default;
0017   ~InttOdbcQuery() = default;
0018 
0019   int Verbosity() {return m_verbosity;}
0020   int Verbosity(int verbosity) {return m_verbosity = verbosity;}
0021 
0022   int Query(int);
0023 
0024   bool IsStreaming() {return m_is_streaming;}
0025   const std::string &Type() {return m_type;}
0026 
0027 private:
0028   int QueryStreaming(odbc::Statement *, int);
0029   int QueryType(odbc::Statement *, int);
0030 
0031   static const int m_MAX_NUM_RETRIES = 3000;
0032   static const int m_MIN_SLEEP_DUR =  200; // milliseconds
0033   static const int m_MAX_SLEEP_DUR = 3000; // milliseconds
0034 
0035   int m_verbosity{0};
0036   bool m_query_successful{false};
0037 
0038   bool m_is_streaming{false};
0039   std::string m_type;
0040   std::array<std::set<std::string>, 8> m_file_set;
0041 };
0042 
0043 #endif//INTT_ODBC_QUERY_H
0044