X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=source%2Fdbms%2FDatabase.cpp;h=4349d7e3b13d4757bddb675ac65398579ae32230;hb=5a6cba5fde2b2f538a7515f8293cc0a8d9589dfa;hp=7cebcb47570bcadf88a0ed6c8ab8ee2bdffa1260;hpb=4e12ac57e93c052f716a6305ad8fc099c45899d1;p=anna.git diff --git a/source/dbms/Database.cpp b/source/dbms/Database.cpp index 7cebcb4..4349d7e 100644 --- a/source/dbms/Database.cpp +++ b/source/dbms/Database.cpp @@ -1,37 +1,9 @@ -// ANNA - Anna is Not 'N' Anymore -// -// (c) Copyright 2005-2014 Eduardo Ramos Testillano & Francisco Ruiz Rayo -// -// https://bitbucket.org/testillano/anna -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Authors: eduardo.ramos.testillano@gmail.com -// cisco.tierra@gmail.com +// ANNA - Anna is Not Nothingness Anymore // +// // +// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo // +// // +// See project site at http://redmine.teslayout.com/projects/anna-suite // +// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE // #include @@ -72,7 +44,7 @@ Database::~Database() { } void Database::do_initialize() -throw(RuntimeException) { +noexcept(false) { LOGMETHOD(TraceMethod tm("dbms::Database", "do_initialize", ANNA_FILE_LOCATION)); int counter(0); bool error = false; @@ -99,7 +71,7 @@ throw(RuntimeException) { } void Database::do_stop() -throw() { +{ LOGMETHOD(TraceMethod tm("dbms::Database", "do_stop", ANNA_FILE_LOCATION)); try { @@ -124,7 +96,7 @@ throw() { * padre) y se abre una nueva conexion con los mismos parametros y contra la misma base de datos. */ void Database::do_cloneChild() -throw(RuntimeException) { +noexcept(false) { LOGMETHOD(TraceMethod tm("dbms::Database", "do_cloneChild", ANNA_FILE_LOCATION)); for(connection_iterator ii = connection_begin(), maxii = connection_end(); ii != maxii; ii ++) { @@ -139,7 +111,7 @@ throw(RuntimeException) { } Connection* Database::createConnection(const char* name, const char* user, const char* password) -throw(RuntimeException, DatabaseException) { +noexcept(false) { Guard guard(this, "dbms::Database (createConnection)"); if(a_connections.size() >= MaxConnection) { @@ -197,7 +169,7 @@ throw(RuntimeException, DatabaseException) { } Connection& Database::findConnection(const char* name) -throw(RuntimeException) { +noexcept(false) { Guard guard(this, "dbms::Database (findConnection)"); Connection* result = NULL; @@ -235,7 +207,7 @@ throw(RuntimeException) { } Statement* Database::createStatement(const char* name, const char* expression, const bool isCritical) -throw(RuntimeException) { +noexcept(false) { if(findStatement(name) != NULL) throw RuntimeException(functions::asString("Sentence: %s | Name already in use", name), ANNA_FILE_LOCATION); @@ -260,7 +232,7 @@ throw(RuntimeException) { } Statement* Database::findStatement(const char* name) -throw() { +{ Guard guard(this, "dbms::Database::findStatement"); vector ::iterator ii, maxii; Statement* result(NULL); @@ -276,7 +248,7 @@ throw() { } void Database::releaseStatement(Statement* statement) -throw() { +{ if(statement == NULL) { Logger::write(Logger::Warning, asString(), "Cannot release a NULL SQL sentence", ANNA_FILE_LOCATION); return; @@ -298,7 +270,7 @@ throw() { } void Database::recover(Connection& connection, const int tryCounter) -throw(RuntimeException) { +noexcept(false) { try { connection.close(); connection.open(); @@ -311,7 +283,7 @@ throw(RuntimeException) { } string Database::asString() const -throw() { +{ string result("dbms::Database { "); result += Component::asString(); @@ -326,7 +298,7 @@ throw() { } xml::Node* Database::asXML(xml::Node* parent) const -throw() { +{ parent = Component::asXML(parent); xml::Node* result = parent->createChild("dbms.Database"); xml::Node* node;