ATLAS Offline Software
Loading...
Searching...
No Matches
RDBQuery.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef RDBACCESSSVC_RDBQUERY_H
6#define RDBACCESSSVC_RDBQUERY_H
7
9#include "DBLock/DBLock.h"
10#include <memory>
11#include <vector>
12#include <string>
13
14namespace coral
15{
16 class IQuery;
17 class ICursor;
18}
19
26
27class RDBAccessSvc;
28
29class RDBQuery final : public IRDBQuery
30{
31 public:
32 RDBQuery(const Athena::DBLock& dblock
33 , RDBAccessSvc* accessSvc
34 , const std::string& nodeName
35 , const std::string& tagId
36 , const std::string& connName);
37
38 virtual ~RDBQuery() override;
39
40 virtual void execute() override;
41 virtual long size() override;
42 virtual void finalize() override;
43 virtual void setOrder(const std::string&) override;
44 virtual void addToOutput(const std::string&) override;
45
46 virtual bool next() override;
47
48 private:
49 RDBQuery() = delete;
50
52 coral::IQuery* m_query;
53 coral::IQuery* m_queryCount;
55 std::string m_nodeName;
56 std::string m_tagId;
57 std::string m_connName;
58 long m_size;
59 std::vector<std::string> m_fields;
60 coral::ICursor* m_cursor;
61 std::string m_orderField;
63};
64
65#endif
Common database lock.
Common database lock.
Definition DBLock.h:46
IRDBQuery()=default
RDBAccessSvc is the implementation of IRDBAccessSvc interface.
std::string m_nodeName
Definition RDBQuery.h:55
coral::IQuery * m_queryCount
Definition RDBQuery.h:53
bool m_executed
Definition RDBQuery.h:62
coral::IQuery * m_query
Definition RDBQuery.h:52
std::vector< std::string > m_fields
Definition RDBQuery.h:59
RDBAccessSvc * m_accessSvc
Definition RDBQuery.h:54
long m_size
Definition RDBQuery.h:58
RDBQuery(const Athena::DBLock &dblock, RDBAccessSvc *accessSvc, const std::string &nodeName, const std::string &tagId, const std::string &connName)
Definition RDBQuery.cxx:24
virtual void setOrder(const std::string &) override
Definition RDBQuery.cxx:166
std::string m_connName
Definition RDBQuery.h:57
std::string m_tagId
Definition RDBQuery.h:56
Athena::DBLock m_dblock
Definition RDBQuery.h:51
virtual ~RDBQuery() override
Definition RDBQuery.cxx:43
coral::ICursor * m_cursor
Definition RDBQuery.h:60
virtual void finalize() override
Definition RDBQuery.cxx:160
virtual long size() override
Definition RDBQuery.cxx:155
RDBQuery()=delete
virtual void addToOutput(const std::string &) override
Definition RDBQuery.cxx:171
std::string m_orderField
Definition RDBQuery.h:61
virtual void execute() override
Definition RDBQuery.cxx:49
virtual bool next() override
Definition RDBQuery.cxx:176