diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2017-04-29 23:55:46 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2017-04-30 23:57:17 +0300 |
commit | 8f3d3956b1e837c726859eb8bbe19dad79c54a42 (patch) | |
tree | 81ded52db212b12c7f685165702cce90aa0233cf /brep/database-lock.cxx | |
parent | ea60a6df471706a0eeb5ff1f774d69abe89e4bc9 (diff) |
Add hxx extension for headers and lib prefix for library dirs
Diffstat (limited to 'brep/database-lock.cxx')
-rw-r--r-- | brep/database-lock.cxx | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/brep/database-lock.cxx b/brep/database-lock.cxx deleted file mode 100644 index 88f3603..0000000 --- a/brep/database-lock.cxx +++ /dev/null @@ -1,44 +0,0 @@ -// file : brep/database-lock.cxx -*- C++ -*- -// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -#include <brep/database-lock> - -#include <odb/pgsql/database.hxx> -#include <odb/pgsql/exceptions.hxx> -#include <odb/pgsql/transaction.hxx> - -namespace brep -{ - using namespace odb::pgsql; - - database_lock:: - database_lock (database& db) - { - // Before locking the table make sure it exists. - // - { - transaction t (db.begin ()); - db.execute ("CREATE TABLE IF NOT EXISTS database_mutex ()"); - t.commit (); - } - - connection_ = db.connection (); - - // Don't make current. Will be rolled back in destructor. - // - transaction_.reset (new transaction (connection_->begin (), false)); - - try - { - connection_->execute ("LOCK TABLE database_mutex NOWAIT"); - } - catch (const database_exception& e) - { - if (e.sqlstate () == "55P03") // The table is already locked. - throw database_locked (); - - throw; - } - } -} |