CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
cond::RDBMS Class Reference

#include <CondPyInterface.h>

Public Member Functions

CondDB getDB (std::string const &db)
 
CondDB getReadOnlyDB (std::string const &db)
 
GlobalTag const & globalTag (std::string const &connstr, std::string const &gname, std::string const &prefix, std::string const &postfix) const
 
 RDBMS ()
 
 RDBMS (std::string const &authPath, bool debug=false)
 
 RDBMS (std::string const &user, std::string const &pass)
 
void setLogger (std::string const &connstr)
 
 ~RDBMS ()
 

Private Attributes

boost::shared_ptr< DbConnectionconnection
 
boost::shared_ptr< cond::Loggerlogger
 
GlobalTag m_globalTag
 

Detailed Description

Definition at line 74 of file CondPyInterface.h.

Constructor & Destructor Documentation

cond::RDBMS::RDBMS ( )

Definition at line 207 of file CondPyInterface.cc.

References cond::CmsDefaults, and connection.

207  : connection(new DbConnection) {
208  //topinit();
209  connection->configure( cond::CmsDefaults );
210  }
boost::shared_ptr< DbConnection > connection
cond::RDBMS::~RDBMS ( )

Definition at line 211 of file CondPyInterface.cc.

211 {}
cond::RDBMS::RDBMS ( std::string const &  authPath,
bool  debug = false 
)
explicit

Definition at line 213 of file CondPyInterface.cc.

References connection, and Debug.

213  : connection(new DbConnection) {
214  //topinit();
215  connection->configuration().setAuthenticationPath(authPath);
216  if (debug)
217  connection->configuration().setMessageLevel( coral::Debug );
218  else
219  connection->configuration().setMessageLevel( coral::Error );
220  connection->configuration().setPoolAutomaticCleanUp( false );
221  connection->configuration().setConnectionTimeOut(0);
222 
223  connection->configure();
224  }
boost::shared_ptr< DbConnection > connection
#define debug
Definition: MEtoEDMFormat.h:34
const bool Debug
cond::RDBMS::RDBMS ( std::string const &  user,
std::string const &  pass 
)

Definition at line 226 of file CondPyInterface.cc.

References connection.

226  : connection(new DbConnection) {
227  //topinit();
228  std::string userenv(std::string("CORAL_AUTH_USER=")+user);
229  std::string passenv(std::string("CORAL_AUTH_PASSWORD=")+pass);
230  ::putenv(const_cast<char*>(userenv.c_str()));
231  ::putenv(const_cast<char*>(passenv.c_str()));
232  connection->configuration().setMessageLevel( coral::Error );
233  connection->configuration().setPoolAutomaticCleanUp( false );
234  connection->configuration().setConnectionTimeOut(0);
235  connection->configure();
236  }
boost::shared_ptr< DbConnection > connection

Member Function Documentation

CondDB cond::RDBMS::getDB ( std::string const &  db)

Definition at line 246 of file CondPyInterface.cc.

References cond::Auth::COND_WRITER_ROLE, connection, logger, and cond::DbSession::open().

Referenced by BOOST_PYTHON_MODULE(), and CondBasicIter::create().

246  {
247  DbSession dbSession = connection->createSession();
248  dbSession.open( db, cond::Auth::COND_WRITER_ROLE );
249  return CondDB(dbSession,logger);
250  }
boost::shared_ptr< DbConnection > connection
tuple db
Definition: EcalCondDB.py:151
static const std::string COND_WRITER_ROLE
Definition: Auth.h:18
boost::shared_ptr< cond::Logger > logger
CondDB cond::RDBMS::getReadOnlyDB ( std::string const &  db)

Definition at line 252 of file CondPyInterface.cc.

References cond::Auth::COND_READER_ROLE, connection, logger, and cond::DbSession::open().

Referenced by BOOST_PYTHON_MODULE().

252  {
253  DbSession dbSession = connection->createSession();
254  dbSession.open( db, cond::Auth::COND_READER_ROLE, true );
255  return CondDB(dbSession,logger);
256  }
boost::shared_ptr< DbConnection > connection
tuple db
Definition: EcalCondDB.py:151
static const std::string COND_READER_ROLE
Definition: Auth.h:19
boost::shared_ptr< cond::Logger > logger
GlobalTag const & cond::RDBMS::globalTag ( std::string const &  connstr,
std::string const &  gname,
std::string const &  prefix,
std::string const &  postfix 
) const

Definition at line 258 of file CondPyInterface.cc.

References hitfit::clear(), cond::DbTransaction::commit(), connection, cond::TagCollectionRetriever::getTagCollection(), m_globalTag, cond::DbSession::open(), python.CommonUtils::session, cond::DbTransaction::start(), and cond::DbSession::transaction().

Referenced by BOOST_PYTHON_MODULE().

261  {
262  DbSession session = connection->createSession();
263  session.open( connstr, true );
264  session.transaction().start( true );
265  TagCollectionRetriever gtr(session, prefix,postfix);
266  const_cast<GlobalTag&>(m_globalTag).clear();
267  gtr.getTagCollection(gname,const_cast<GlobalTag&>(m_globalTag));
268  session.transaction().commit();
269  return m_globalTag;
270  }
GlobalTag m_globalTag
boost::shared_ptr< DbConnection > connection
void clear(CLHEP::HepGenMatrix &m)
Helper function: Reset all elements of a matrix to 0.
Definition: matutil.cc:168
void cond::RDBMS::setLogger ( std::string const &  connstr)

Definition at line 238 of file CondPyInterface.cc.

References connection, and logger.

Referenced by BOOST_PYTHON_MODULE().

238  {
239  DbSession loggerSession = connection->createSession();
240  logger.reset(new cond::Logger(loggerSession));
241  logger->connect( connstr, true );
242  }
boost::shared_ptr< DbConnection > connection
boost::shared_ptr< cond::Logger > logger

Member Data Documentation

boost::shared_ptr<DbConnection> cond::RDBMS::connection
private

Definition at line 92 of file CondPyInterface.h.

Referenced by getDB(), getReadOnlyDB(), globalTag(), RDBMS(), and setLogger().

boost::shared_ptr<cond::Logger> cond::RDBMS::logger
private

Definition at line 93 of file CondPyInterface.h.

Referenced by getDB(), getReadOnlyDB(), and setLogger().

GlobalTag cond::RDBMS::m_globalTag
private

Definition at line 94 of file CondPyInterface.h.

Referenced by globalTag().