Belle II Software  release-05-02-19
LocalMetadataProvider.h
1 /**************************************************************************
2 * BASF2 (Belle Analysis Framework 2) *
3 * Copyright(C) 2019 - Belle II Collaboration *
4 * *
5 * Author: The Belle II Collaboration *
6 * Contributors: Martin Ritter *
7 * *
8 * This software is provided "as is" without any warranty. *
9 **************************************************************************/
10 #pragma once
11 
12 #include <string>
13 
14 #include <framework/database/MetadataProvider.h>
15 #include <framework/utilities/sqlite.h>
16 
17 namespace Belle2::Conditions {
48  class LocalMetadataProvider: public MetadataProvider {
49  public:
51  LocalMetadataProvider(std::string filename, const std::set<std::string>& usableTagStates);
61  virtual ~LocalMetadataProvider() = default;
62 
69  std::string getGlobaltagStatus(const std::string& globaltag) override;
70 
75  bool updatePayloads(const std::string& globaltag, int exp, int run) override;
76  private:
78  std::string m_filename;
84  sqlite::ObjectStatement<PayloadMetadata,
85  std::string, std::string, std::string, std::string, std::string,
86  int, int, int, int, int> m_selectPayloads;
87  };
88 
89 } // namespace Belle2::Conditions
Belle2::Conditions::LocalMetadataProvider::getGlobaltagStatus
std::string getGlobaltagStatus(const std::string &globaltag) override
Return the status of the given globaltag.
Definition: LocalMetadataProvider.cc:39
Belle2::Conditions::LocalMetadataProvider::operator=
LocalMetadataProvider & operator=(const LocalMetadataProvider &)=delete
assignment operator
Belle2::Conditions::LocalMetadataProvider::m_selectPayloads
sqlite::ObjectStatement< PayloadMetadata, std::string, std::string, std::string, std::string, std::string, int, int, int, int, int > m_selectPayloads
SQLite statement to return all payloads for a given globaltag, exp, run.
Definition: LocalMetadataProvider.h:102
Belle2::Conditions::LocalMetadataProvider::LocalMetadataProvider
LocalMetadataProvider(std::string filename, const std::set< std::string > &usableTagStates)
Construct with the name of the sqlite file.
Definition: LocalMetadataProvider.cc:25
Belle2::Conditions::LocalMetadataProvider::m_globaltagStatus
sqlite::SimpleStatement< std::string > m_globaltagStatus
SQLite statement to return the status of a global tag.
Definition: LocalMetadataProvider.h:98
Belle2::Conditions::LocalMetadataProvider::m_filename
std::string m_filename
Filename for the sqlite database file.
Definition: LocalMetadataProvider.h:94
sqlite::ObjectStatement
SQLite prepared statement wrapper.
Definition: sqlite.h:203
Belle2::Conditions::LocalMetadataProvider::~LocalMetadataProvider
virtual ~LocalMetadataProvider()=default
default destructor
Belle2::Conditions::LocalMetadataProvider::updatePayloads
bool updatePayloads(const std::string &globaltag, int exp, int run) override
Update the list of existing payloads from a given globaltag, exp and run combination.
Definition: LocalMetadataProvider.cc:54
Belle2::Conditions::LocalMetadataProvider::m_connection
sqlite::Connection m_connection
SQLite connection object.
Definition: LocalMetadataProvider.h:96
sqlite::Connection
Simple wrapper for a SQLite database connection.
Definition: sqlite.h:303