X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=source%2Fdbms.oracle%2FResultCode.cpp;fp=source%2Fdbms.oracle%2FResultCode.cpp;h=0000000000000000000000000000000000000000;hb=851ff2962362fd5bad874e8ed91445b296eaca24;hp=d9a220082291309019be4734f0ca771d0f9ed071;hpb=78be86969d2f26a9084b0c4af6ce43d5fa4ed3fd;p=anna.git diff --git a/source/dbms.oracle/ResultCode.cpp b/source/dbms.oracle/ResultCode.cpp deleted file mode 100644 index d9a2200..0000000 --- a/source/dbms.oracle/ResultCode.cpp +++ /dev/null @@ -1,65 +0,0 @@ -// 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 -#include - -#include - -#include -#include - -#include - -using namespace anna; -using namespace anna::dbms; - -oracle::ResultCode::ErrorDecoder oracle::ResultCode::st_errorDecoder; - -oracle::ResultCode::ResultCode(const int status, OCIError* error) : - dbms::ResultCode(0, NULL, &st_errorDecoder) { - char errorText [dbms::ResultCode::MaxErrorLen]; - int errorCode = status; - - if(status == OCI_SUCCESS) { - dbms::ResultCode::set(OCI_SUCCESS, NULL); - return; - } else if(status == OCI_SUCCESS_WITH_INFO) { - OCIErrorGet(error, (ub4) 1, (text*) 0, &errorCode, (unsigned char*) errorText, (ub4) sizeof(errorText), OCI_HTYPE_ERROR); - dbms::ResultCode::set(OCI_SUCCESS, errorText); - LOGINFORMATION(Logger::information(asString(), ANNA_FILE_LOCATION)); - return; - } - - switch(status) { - case OCI_ERROR: - OCIErrorGet(error, (ub4) 1, (text*) 0, &errorCode, (unsigned char*) errorText, (ub4) sizeof(errorText), OCI_HTYPE_ERROR); - break; - case OCI_NEED_DATA: anna_strcpy(errorText, "OCI | Need data"); break; - case OCI_NO_DATA: anna_strcpy(errorText, "OCI | Data not found"); break; - case OCI_INVALID_HANDLE: anna_strcpy(errorText, "OCI | Invalid handle"); break; - default: sprintf(errorText, "OCI | Error code: %d", status); break; - } - - dbms::ResultCode::set(errorCode, errorText); -} - -bool oracle::ResultCode::ErrorDecoder::notFound(const int errorCode) const -throw() { - return errorCode == OCI_NO_DATA; -} - -bool oracle::ResultCode::ErrorDecoder::successful(const int errorCode) const -throw() { - return errorCode == OCI_SUCCESS; -} - -bool oracle::ResultCode::ErrorDecoder::lostConnection(const int errorCode) const -throw() { - return errorCode == 28 || errorCode == 3113 || errorCode == 3114 || errorCode == 1012 || errorCode == 12570 || errorCode == 12571; -}