Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ICollection.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 COLLECTIONBASE_ICOLLECTION_H
6 #define COLLECTIONBASE_ICOLLECTION_H
7 
8 #include <string>
9 
10 namespace pool {
11 
12  class ICollectionDescription;
13  class ICollectionQuery;
14  class CollectionRowBuffer;
15 
23  {
24  public:
27 
29  virtual ICollection::OpenMode openMode() const = 0;
30 
32  virtual void open() = 0;
33 
35  virtual bool isOpen() const = 0;
36 
38  virtual void initNewRow( pool::CollectionRowBuffer& row ) const;
39 
41  virtual void insertRow( const pool::CollectionRowBuffer& inputRowBuffer ) = 0;
42 
44  virtual void commit( bool restartTransaction = true ) = 0;
45 
47  virtual void close() = 0;
48 
50  virtual const ICollectionDescription& description() const = 0;
51 
53  virtual ICollectionQuery* newQuery() = 0;
54 
56  virtual ~ICollection() = default;
57 
58  };
59 
60 }
61 
62 #endif
query_example.row
row
Definition: query_example.py:24
pool::ICollectionQuery
Definition: ICollectionQuery.h:27
pool
pool namespace
Definition: libname.h:15
pool::ICollection::close
virtual void close()=0
Closes the collection and terminates any database connections.
pool::ICollection::openMode
virtual ICollection::OpenMode openMode() const =0
Returns the open mode of the collection for the present transaction.
pool::ICollection::newQuery
virtual ICollectionQuery * newQuery()=0
Returns an object used to query the collection.
pool::ICollection::commit
virtual void commit(bool restartTransaction=true)=0
Commits the latest changes made to the collection.
pool::ICollection::CREATE
@ CREATE
Definition: ICollection.h:26
pool::ICollection::OpenMode
OpenMode
Enumeration of the possible open modes of the collection.
Definition: ICollection.h:26
pool::ICollection::CREATE_AND_OVERWRITE
@ CREATE_AND_OVERWRITE
Definition: ICollection.h:26
pool::ICollection::description
virtual const ICollectionDescription & description() const =0
Returns an object used to describe the collection properties.
pool::CollectionRowBuffer
Definition: CollectionRowBuffer.h:31
pool::ICollection::READ
@ READ
Definition: ICollection.h:26
pool::ICollection::initNewRow
virtual void initNewRow(pool::CollectionRowBuffer &row) const
Initialize a new RowBuffer by adding all Attributes adn Tokens of this collection to it.
pool::ICollection::UPDATE
@ UPDATE
Definition: ICollection.h:26
pool::ICollection::insertRow
virtual void insertRow(const pool::CollectionRowBuffer &inputRowBuffer)=0
Adds a new row of data to the collection.
pool::ICollection::~ICollection
virtual ~ICollection()=default
Empty destructor.
pool::ICollection::open
virtual void open()=0
Opens the collection and initializes it if necessary.
pool::ICollection::isOpen
virtual bool isOpen() const =0
Checks if the collection is open.
pool::ICollection
Definition: ICollection.h:23
pool::ICollectionDescription
Definition: ICollectionDescription.h:25