aboutsummaryrefslogtreecommitdiff
path: root/brep/database-lock.cxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2017-04-29 23:55:46 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2017-04-30 23:57:17 +0300
commit8f3d3956b1e837c726859eb8bbe19dad79c54a42 (patch)
tree81ded52db212b12c7f685165702cce90aa0233cf /brep/database-lock.cxx
parentea60a6df471706a0eeb5ff1f774d69abe89e4bc9 (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.cxx44
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;
- }
- }
-}