ATLAS Offline Software
ImplicitCollection.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INCLUDE_IMPLICITCOLLECTION_IMPLICITCOLLECTION_H
6 #define INCLUDE_IMPLICITCOLLECTION_IMPLICITCOLLECTION_H
7 
11 #include "POOLCore/DbPrint.h"
12 
14 #include "Gaudi/PluginService.h"
15 
16 namespace pool {
17 
18  // forward declarations
19  class ISession;
20  class IContainer;
21  class ICollectionQuery;
22  class ICollectionIterator;
23  class ImplicitCollectionIterator;
24 
27  // ^ due to not thread-safe ImplicitCollectionIterator
28  {
29  public:
30  typedef Gaudi::PluginService::Factory<ICollection*( const ICollectionDescription*, ICollection::OpenMode, ISession*)> Factory;
31 
40  const std::string& connection,
41  const std::string& name,
43 
48  ISession* session );
49 
52 
55 
57  virtual ICollection::OpenMode openMode() const;
58 
59 
66  ImplicitCollectionIterator* select( const std::string & primaryQuery = "",
67  std::string secondaryQuery = "",
68  std::string options = "" );
69 
71  virtual void insertRow( const pool::CollectionRowBuffer& inputRowBuffer );
72 
74  void commit(bool reopen=false);
75 
77  void rollback();
78 
80  void close();
81 
83  void open();
84 
86  bool isOpen() const;
87 
89  virtual const ICollectionDescription& description() const;
90 
93 
94  protected:
96 
97  private:
100 
102  };
103 }
104 
105 #endif
pool::IContainer
Definition: IContainer.h:23
pool::ICollectionQuery
Definition: ICollectionQuery.h:27
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
CollectionDescription.h
pool
pool namespace
Definition: libname.h:15
pool::ImplicitCollection::select
ImplicitCollectionIterator * select(const std::string &primaryQuery="", std::string secondaryQuery="", std::string options="")
Method that returns collection's iterator Throws POOL exception.
columnar::operator=
AccessorTemplate & operator=(AccessorTemplate &&that)
Definition: VectorColumn.h:88
pool::APRMessaging
AthMessaging wrapper to set the output level in APR components.
Definition: DbPrint.h:51
pool::ImplicitCollection::newQuery
virtual ICollectionQuery * newQuery()
Returns an object used to query the collection.
pool::ISession
Definition: ISession.h:32
pool::ImplicitCollection::description
virtual const ICollectionDescription & description() const
Returns an object used to describe the collection properties.
pool::ImplicitCollection::close
void close()
no-op at the moment
DbPrint.h
pool::ImplicitCollection::~ImplicitCollection
~ImplicitCollection()
Destructor.
pool::ImplicitCollection::Factory
Gaudi::PluginService::Factory< ICollection *(const ICollectionDescription *, ICollection::OpenMode, ISession *)> Factory
Definition: ImplicitCollection.h:30
CollectionRowBuffer.h
pool::ImplicitCollection::ImplicitCollection
ImplicitCollection(const ICollectionDescription *description, ICollection::OpenMode mode, ISession *session)
Constructor compying to the new Collections API parameters as above, but name and connection passed i...
pool::ImplicitCollectionIterator
Definition: ImplicitCollectionIterator.h:35
pool::ImplicitCollection::open
void open(ICollection::OpenMode mode, ISession *session)
pool::ICollection::OpenMode
OpenMode
Enumeration of the possible open modes of the collection.
Definition: ICollection.h:26
pool::CollectionDescription
Definition: CollectionDescription.h:26
ICollection.h
Preparation.mode
mode
Definition: Preparation.py:107
python.AtlRunQueryLib.options
options
Definition: AtlRunQueryLib.py:378
pool::ImplicitCollection::m_description
CollectionDescription m_description
Definition: ImplicitCollection.h:101
pool::ImplicitCollection::ImplicitCollection
ImplicitCollection(ISession *session, const std::string &connection, const std::string &name, ICollection::OpenMode mode)
Constructor - old style Throws POOL exception.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
pool::CollectionRowBuffer
Definition: CollectionRowBuffer.h:31
pool::ImplicitCollection::open
void open()
no-op at the moment
pool::ImplicitCollection::openMode
virtual ICollection::OpenMode openMode() const
Return openMode.
pool::ImplicitCollection::commit
void commit(bool reopen=false)
Commits the last changes made to the collection. Will always return true.
pool::ImplicitCollection
An implicit collection implementation of the ICollection interface.
Definition: ImplicitCollection.h:28
pool::ImplicitCollection::insertRow
virtual void insertRow(const pool::CollectionRowBuffer &inputRowBuffer)
Adds a new row of data to the collection. Will always throw exception.
checker_macros.h
Define macros for attributes used to control the static checker.
pool::ImplicitCollection::ImplicitCollection
ImplicitCollection(const ImplicitCollection &)=delete
pool::ImplicitCollection::isOpen
bool isOpen() const
Checks if the collection is open.
pool::ICollection
Definition: ICollection.h:23
pool::ImplicitCollection::rollback
void rollback()
Aborts the last changes made to the collection. Will always return true.
pool::ImplicitCollection::m_container
IContainer * m_container
The underlying container handle.
Definition: ImplicitCollection.h:99
pool::ICollectionDescription
Definition: ICollectionDescription.h:25
description
std::string description
glabal timer - how long have I taken so far?
Definition: hcg.cxx:88