Merge PR 1493 [TRAFODION-2821] Trafodion core code base needs to be thread safe
diff --git a/core/sql/arkcmp/CmpContext.cpp b/core/sql/arkcmp/CmpContext.cpp
index a915081..4599508 100644
--- a/core/sql/arkcmp/CmpContext.cpp
+++ b/core/sql/arkcmp/CmpContext.cpp
@@ -569,7 +569,7 @@
if (!result && diags)
*diags << DgSqlCode(-1214)
- << DgString0(GetCliGlobals()->getJniErrorStrPtr())
+ << DgString0(GetCliGlobals()->getJniErrorStr())
<< DgString1(hiveSQL);
}
diff --git a/core/sql/cli/Context.h b/core/sql/cli/Context.h
index 66ddc5b..a432ec9 100644
--- a/core/sql/cli/Context.h
+++ b/core/sql/cli/Context.h
@@ -630,18 +630,6 @@
xactAborted = udrXactAborted_;
}
- inline void setJniErrorStr(NAString errorStr)
- { jniErrorStr_ = errorStr; }
-
- inline void setJniErrorStr(const char *errorStr)
- { jniErrorStr_ = errorStr; }
-
- inline NAString getJniErrorStr()
- { return jniErrorStr_; }
-
- inline const char* getJniErrorStrPtr()
- { return (const char*)jniErrorStr_.data(); }
-
inline CLISemaphore *getSemaphore()
{
return cliSemaphore_;
diff --git a/core/sql/cli/Globals.cpp b/core/sql/cli/Globals.cpp
index fb09008..3eb4502 100644
--- a/core/sql/cli/Globals.cpp
+++ b/core/sql/cli/Globals.cpp
@@ -921,26 +921,6 @@
xactAborted);
}
-void CliGlobals::setJniErrorStr(NAString errorStr)
-{
- currContext()->setJniErrorStr(errorStr);
-}
-
-void CliGlobals::setJniErrorStr(const char *errorStr)
-{
- currContext()->setJniErrorStr(errorStr);
-}
-
-NAString CliGlobals::getJniErrorStr()
-{
- return currContext()->getJniErrorStr();
-}
-
-const char* CliGlobals::getJniErrorStrPtr()
-{
- return currContext()->getJniErrorStrPtr();
-}
-
void CliGlobals::updateTransMode(TransMode *transMode)
{
currContext()->getTransaction()->getTransMode()->
diff --git a/core/sql/cli/Globals.h b/core/sql/cli/Globals.h
index b8e04ea..4275c7b 100644
--- a/core/sql/cli/Globals.h
+++ b/core/sql/cli/Globals.h
@@ -70,6 +70,8 @@
#include "ComExeTrace.h"
#include "ComRtUtils.h"
#include "ComSmallDefs.h"
+#include "JavaObjectInterface.h"
+
class ContextCli;
class Statement;
class ComDiagsArea;
@@ -238,10 +240,9 @@
inline void setUncProcess() { isUncProcess_ = TRUE; }
inline NABoolean isUncProcess() {return isUncProcess_;}
NAHeap *getCurrContextHeap();
- void setJniErrorStr(NAString errorStr);
- void setJniErrorStr(const char *errorStr);
- NAString getJniErrorStr();
- const char* getJniErrorStrPtr();
+ void setJniErrorStr(NAString errorStr) { setSqlJniErrorStr(errorStr); }
+ void setJniErrorStr(const char *errorStr) { setSqlJniErrorStr(errorStr); }
+ const char* getJniErrorStr() { return getSqlJniErrorStr(); }
void updateTransMode(TransMode *transMode);
diff --git a/core/sql/executor/ExExeUtilLoad.cpp b/core/sql/executor/ExExeUtilLoad.cpp
index 97c185c..702dd12 100644
--- a/core/sql/executor/ExExeUtilLoad.cpp
+++ b/core/sql/executor/ExExeUtilLoad.cpp
@@ -1259,7 +1259,7 @@
&cliError, NULL,
" ",
getHbaseErrStr(retcode),
- (char *)currContext->getJniErrorStr().data());
+ (char *)GetCliGlobals()->getJniErrorStr());
step_ = LOAD_END_ERROR_;
break;
}
@@ -1962,7 +1962,7 @@
ComDiagsArea * diagsArea = NULL;
char* errorMsg = HdfsClient::getErrorText((HDFS_Client_RetCode)hdfsClientRetCode);
ExRaiseSqlError(getHeap(), &diagsArea, (ExeErrorCode)(8447), NULL,
- NULL, NULL, NULL, errorMsg, (char *)GetCliGlobals()->currContext()->getJniErrorStr().data());
+ NULL, NULL, NULL, errorMsg, (char *)GetCliGlobals()->getJniErrorStr());
ex_queue_entry *pentry_up = qparent_.up->getTailEntry();
pentry_up->setDiagsArea(diagsArea);
}
diff --git a/core/sql/executor/ExFastTransport.cpp b/core/sql/executor/ExFastTransport.cpp
index d2cbd47..7849746 100644
--- a/core/sql/executor/ExFastTransport.cpp
+++ b/core/sql/executor/ExFastTransport.cpp
@@ -1277,7 +1277,7 @@
(ExeErrorCode)(8447),
NULL, NULL, NULL, NULL,
errorMsg,
- (char *)currContext->getJniErrorStr().data());
+ (char *)GetCliGlobals()->getJniErrorStr());
//ex_queue_entry *pentry_down = qParent_.down->getHeadEntry();
//pentry_down->setDiagsArea(diagsArea);
updateWorkATPDiagsArea(diagsArea);
@@ -1294,7 +1294,7 @@
(ExeErrorCode)(8447),
NULL, NULL, NULL, NULL,
errorMsg,
- (char *)currContext->getJniErrorStr().data());
+ (char *)GetCliGlobals()->getJniErrorStr());
updateWorkATPDiagsArea(diagsArea);
}
diff --git a/core/sql/executor/ExHbaseAccess.cpp b/core/sql/executor/ExHbaseAccess.cpp
index 8af9308..13146a6 100644
--- a/core/sql/executor/ExHbaseAccess.cpp
+++ b/core/sql/executor/ExHbaseAccess.cpp
@@ -722,7 +722,7 @@
(str ? (char*)str : (char*)" "),
getHbaseErrStr(retcode),
(str2 ? (char*)str2 :
- (char *)currContext->getJniErrorStr().data()));
+ (char *)GetCliGlobals()->getJniErrorStr()));
pentry_down->setDiagsArea(diagsArea);
return -1;
}
@@ -752,7 +752,7 @@
(str ? (char*)str : (char*)" "),
getHbaseErrStr(retcode),
(str2 ? (char*)str2 :
- (char *)currContext->getJniErrorStr().data()));
+ (char *)GetCliGlobals()->getJniErrorStr()));
pentry_down->setDiagsArea(diagsArea);
return -1;
}
@@ -3295,7 +3295,7 @@
loggingErrorDiags_ = ComDiagsArea::allocate(heap);
*loggingErrorDiags_ << DgSqlCode(EXE_ERROR_WHILE_LOGGING)
<< DgString0(loggingFileName_)
- << DgString1((char *)GetCliGlobals()->currContext()->getJniErrorStr().data());
+ << DgString1((char *)GetCliGlobals()->getJniErrorStr());
}
return;
}
diff --git a/core/sql/executor/ExHdfsScan.cpp b/core/sql/executor/ExHdfsScan.cpp
index a56cb06..a9ab2d2 100644
--- a/core/sql/executor/ExHdfsScan.cpp
+++ b/core/sql/executor/ExHdfsScan.cpp
@@ -570,7 +570,7 @@
hdfsStats_, hdfsScanRetCode);
if (hdfsScanRetCode != HDFS_SCAN_OK) {
setupError(EXE_ERROR_HDFS_SCAN, hdfsScanRetCode, "SETUP_HDFS_SCAN",
- currContext->getJniErrorStr(), NULL);
+ GetCliGlobals()->getJniErrorStr(), NULL);
step_ = HANDLE_ERROR_AND_DONE;
break;
}
@@ -594,7 +594,7 @@
}
else if (hdfsScanRetCode != HDFS_SCAN_OK) {
setupError(EXE_ERROR_HDFS_SCAN, hdfsScanRetCode, "SETUP_HDFS_SCAN",
- currContext->getJniErrorStr(), NULL);
+ GetCliGlobals()->getJniErrorStr(), NULL);
step_ = HANDLE_ERROR_AND_DONE;
break;
}
@@ -670,7 +670,7 @@
hdfsScanRetCode = hdfsScan_->stop();
if (hdfsScanRetCode != HDFS_SCAN_OK) {
setupError(EXE_ERROR_HDFS_SCAN, hdfsScanRetCode, "HdfsScan::stop",
- currContext->getJniErrorStr(), NULL);
+ GetCliGlobals()->getJniErrorStr(), NULL);
step_ = HANDLE_ERROR_AND_DONE;
}
step_ = DONE;
@@ -2193,7 +2193,7 @@
loggingErrorDiags_ = ComDiagsArea::allocate(heap);
*loggingErrorDiags_ << DgSqlCode(EXE_ERROR_WHILE_LOGGING)
<< DgString0(loggingFileName_)
- << DgString1((char *)GetCliGlobals()->currContext()->getJniErrorStr().data());
+ << DgString1((char *)GetCliGlobals()->getJniErrorStr());
}
}
diff --git a/core/sql/executor/HBaseClient_JNI.cpp b/core/sql/executor/HBaseClient_JNI.cpp
index 8d12821..88c3431 100644
--- a/core/sql/executor/HBaseClient_JNI.cpp
+++ b/core/sql/executor/HBaseClient_JNI.cpp
@@ -336,9 +336,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::initConnection()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::initConnection()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_INIT_EXCEPTION;
}
@@ -393,9 +391,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::getHTableClient()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::getHTableClient()");
NADELETE(htc, HTableClient_JNI, heap);
jenv_->PopLocalFrame(NULL);
return NULL;
@@ -403,10 +399,9 @@
if (j_htc == NULL)
{
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::getHTableClient()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::getHTableClient()");
NADELETE(htc, HTableClient_JNI, heap);
jenv_->PopLocalFrame(NULL);
- return NULL;
}
htc->setJavaObject(j_htc);
if (htc->init() != HTC_OK)
@@ -434,9 +429,7 @@
tsRecentJMFromJNI = JavaMethods_[JM_REL_HTC].jm_full_name;
jenv_->CallVoidMethod(javaObj_, JavaMethods_[JM_REL_HTC].methodID, j_htc);
if (jenv_->ExceptionCheck()) {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::releaseHTableClient()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::releaseHTableClient()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_REL_HTC_EXCEPTION;
}
@@ -465,15 +458,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::getHBulkLoadClient()", getLastError());
- jenv_->PopLocalFrame(NULL);
- return NULL;
- }
- if (j_hblc == NULL)
- {
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::getHBulkLoadClient()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::getHBulkLoadClient()");
jenv_->PopLocalFrame(NULL);
return NULL;
}
@@ -505,9 +490,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::releaseHBulkLOadClient()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::releaseHBulkLoadClient()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_REL_HBLC_EXCEPTION;
}
@@ -535,9 +518,7 @@
jobjectArray j_fams = convertToStringObjectArray(colFamilies);
if (j_fams == NULL)
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::create()", getLastError());
+ GetCliGlobals()->setJniErrorStr(getErrorText(HBC_ERROR_CREATE_PARAM));
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_CREATE_PARAM;
}
@@ -549,9 +530,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::create()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::create()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_CREATE_EXCEPTION;
}
@@ -592,9 +571,7 @@
HBASE_MAX_OPTIONS);
if (j_opts == NULL)
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::create()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::create()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_CREATE_PARAM;
}
@@ -605,9 +582,7 @@
j_keys = convertToByteArrayObjectArray(splitValues, numSplits, keyLength);
if (j_keys == NULL)
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::create()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::create()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_CREATE_PARAM;
}
@@ -623,9 +598,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::create()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::create()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_CREATE_EXCEPTION;
}
@@ -660,11 +633,9 @@
}
jobjectArray j_opts = convertToStringObjectArray(createOptionsArray,
HBASE_MAX_OPTIONS);
- if (j_opts == NULL)
+ if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::alter()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::alter()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_ALTER_PARAM;
}
@@ -677,9 +648,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::alter()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::alter()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_ALTER_EXCEPTION;
}
@@ -933,9 +902,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails(jenv_);
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::drop()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::drop()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_DROP_EXCEPTION;
}
@@ -967,9 +934,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails(jenv_);
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::drop()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::truncate()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_TRUNCATE_EXCEPTION;
}
@@ -999,9 +964,7 @@
if (jenv->ExceptionCheck())
{
- getExceptionDetails(jenv);
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::drop()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::drop()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_DROP_EXCEPTION;
}
@@ -1043,9 +1006,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails(jenv_);
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::dropAll()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::dropAll()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_DROP_EXCEPTION;
}
@@ -1078,9 +1039,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails(jenv_);
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::listAll()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::listAll()");
jenv_->PopLocalFrame(NULL);
return NULL;
}
@@ -1112,9 +1071,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails(jenv_);
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::getRegionStatsEntries()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::getRegionStatsEntries()");
jenv_->PopLocalFrame(NULL);
return 0;
}
@@ -1151,9 +1108,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails(jenv_);
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::getRegionStats()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::getRegionStats()");
jenv_->PopLocalFrame(NULL);
return NULL;
}
@@ -1209,9 +1164,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails(jenv_);
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::copy()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::copy()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_DROP_EXCEPTION;
}
@@ -1251,9 +1204,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::exists()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::exists()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_EXISTS_EXCEPTION;
}
@@ -1303,9 +1254,7 @@
j_actionCodes = convertToStringObjectArray(actions);
if (j_actionCodes == NULL)
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::grant()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::grant()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_GRANT_PARAM;
}
@@ -1316,9 +1265,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::grant()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::grant()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_GRANT_EXCEPTION;
}
@@ -1381,9 +1328,7 @@
breadCrumb = 4;
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::estimateRowCount()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::estimateRowCount()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_ROWCOUNT_EST_EXCEPTION;
}
@@ -1418,10 +1363,7 @@
jstring jresult = (jstring)jenv_->CallObjectMethod(javaObj_, JavaMethods_[JM_GET_LATEST_SNP].methodID,js_tblName);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::getLatestSnapshot()",
- getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::getLatestSnapshot()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_GET_LATEST_SNP_EXCEPTION;
}
@@ -1457,9 +1399,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::cleanSnpTmpLocation()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::cleanupSnpTmpLocation()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_CLEAN_SNP_TMP_LOC_EXCEPTION;
}
@@ -1485,10 +1425,7 @@
jboolean jresult = jenv_->CallBooleanMethod(javaObj_, JavaMethods_[JM_SET_ARC_PERMS].methodID,js_tbl);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::setArchivePermissions()",
- getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::setArchivePermissions()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_SET_ARC_PERMS_EXCEPTION;
}
@@ -1509,10 +1446,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::getBlockCacheFraction()",
- getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::getBlockCacheFraction()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_GET_CACHE_FRAC_EXCEPTION;
}
@@ -1649,9 +1583,7 @@
}
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBulkLoadClient_JNI::initHFileParams() => before calling Java.", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBulkLoadClient_JNI::initHFileParams()");
jenv_->PopLocalFrame(NULL);
return HBLC_ERROR_CREATE_HFILE_EXCEPTION;
}
@@ -1664,9 +1596,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBulkLoadClient_JNI::initHFileParams()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBulkLoadClient_JNI::initHFileParams()");
jenv_->PopLocalFrame(NULL);
return HBLC_ERROR_CREATE_HFILE_EXCEPTION;
}
@@ -1718,9 +1648,7 @@
}
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBulkLoadClient_JNI::addToHFile()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBulkLoadClient_JNI::addToHFile()");
jenv_->PopLocalFrame(NULL);
return HBLC_ERROR_ADD_TO_HFILE_EXCEPTION;
}
@@ -1747,9 +1675,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBulkLoadClient_JNI::closeHFile()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBulkLoadClient_JNI::closeHFile()");
jenv_->PopLocalFrame(NULL);
return HBLC_ERROR_CLOSE_HFILE_EXCEPTION;
}
@@ -1791,15 +1717,6 @@
return HBLC_ERROR_DO_BULKLOAD_PARAM;
}
- if (jenv_->ExceptionCheck())
- {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBulkLoadClient_JNI::doBulkLoad() => before calling Java.", getLastError());
- jenv_->PopLocalFrame(NULL);
- return HBLC_ERROR_DO_BULKLOAD_EXCEPTION;
- }
-
jboolean j_quasiSecure = quasiSecure;
jboolean j_snapshot = snapshot;
@@ -1808,9 +1725,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBulkLoadClient_JNI::doBulkLoad()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBulkLoadClient_JNI::doBulkLoad()");
jenv_->PopLocalFrame(NULL);
return HBLC_ERROR_DO_BULKLOAD_EXCEPTION;
}
@@ -1834,29 +1749,18 @@
return HBLC_ERROR_INIT_PARAM;
jstring js_location = jenv_->NewStringUTF(location.c_str());
- if (js_location == NULL)
- {
+ if (js_location == NULL)
+ {
GetCliGlobals()->setJniErrorStr(getErrorText(HBLC_ERROR_BULKLOAD_CLEANUP_PARAM));
jenv_->PopLocalFrame(NULL);
return HBLC_ERROR_BULKLOAD_CLEANUP_PARAM;
- }
-
-
- if (jenv_->ExceptionCheck())
- {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBulkLoadClient_JNI::bulkLoadCleanup() => before calling Java.", getLastError());
- jenv_->PopLocalFrame(NULL);
- return HBLC_ERROR_BULKLOAD_CLEANUP_PARAM;
}
+
tsRecentJMFromJNI = JavaMethods_[JM_BULK_LOAD_CLEANUP].jm_full_name;
jboolean jresult = jenv_->CallBooleanMethod(javaObj_, JavaMethods_[JM_BULK_LOAD_CLEANUP].methodID, js_location);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBulkLoadClient_JNI::bulkLoadCleanup()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBulkLoadClient_JNI::bulkLoadCleanup()");
jenv_->PopLocalFrame(NULL);
return HBLC_ERROR_BULKLOAD_CLEANUP_PARAM;
}
@@ -1912,9 +1816,7 @@
count = jcount;
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::incrCounter()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBulkLoadClient_JNI::incrCounter()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_INCR_COUNTER_EXCEPTION;
}
@@ -1947,9 +1849,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::createCounterTable()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBulkLoadClient_JNI::createCounterTable()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_CREATE_COUNTER_EXCEPTION;
}
@@ -2004,9 +1904,7 @@
j_actionCodes = convertToStringObjectArray(actions);
if (j_actionCodes == NULL)
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::revoke()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::revoke()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_REVOKE_PARAM;
}
@@ -2017,9 +1915,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::revoke()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::revoke()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_REVOKE_EXCEPTION;
}
@@ -2082,9 +1978,7 @@
if (!cols.isEmpty()) {
j_cols = convertToByteArrayObjectArray(cols);
if (j_cols == NULL) {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::startGet()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::startGet()");
NADELETE(htc, HTableClient_JNI, heap);
jenv_->PopLocalFrame(NULL);
return NULL;
@@ -2111,9 +2005,7 @@
}
if (jenv_->ExceptionCheck()) {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseCient_JNI::startGet()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::startGet()");
jenv_->PopLocalFrame(NULL);
releaseHTableClient(htc);
return NULL;
@@ -2160,9 +2052,7 @@
if (!cols.isEmpty()) {
j_cols = convertToByteArrayObjectArray(cols);
if (j_cols == NULL) {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::startGets()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::startGets()");
NADELETE(htc, HTableClient_JNI, heap);
jenv_->PopLocalFrame(NULL);
return NULL;
@@ -2177,9 +2067,7 @@
if (rowIDs != NULL) {
j_rows = convertToByteArrayObjectArray(*rowIDs);
if (j_rows == NULL) {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::startGets()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::startGets()");
NADELETE(htc, HTableClient_JNI, heap);
jenv_->PopLocalFrame(NULL);
return NULL;
@@ -2224,9 +2112,7 @@
}
if (jenv_->ExceptionCheck()) {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseCient_JNI::startGets()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::startGets()");
jenv_->PopLocalFrame(NULL);
releaseHTableClient(htc);
return NULL;
@@ -2280,9 +2166,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::getRegionsNodeName()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::getRegionsNodeName()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_GET_HBTI_EXCEPTION;
}
@@ -2324,9 +2208,7 @@
js_tblName, jHtabInfo);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::getHbaseTableInfo()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::getHbaseTableInfo()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_GET_HBTI_EXCEPTION;
}
@@ -2413,9 +2295,7 @@
hbs->incMaxHbaseIOTime(hbs->getHbaseTimer().stop());
}
if (jenv_->ExceptionCheck()) {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::insertRow()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::insertRow()");
jenv_->PopLocalFrame(NULL);
if (htc != NULL)
NADELETE(htc, HTableClient_JNI, heap);
@@ -2503,9 +2383,7 @@
hbs->incMaxHbaseIOTime(hbs->getHbaseTimer().stop());
}
if (jenv_->ExceptionCheck()) {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::insertRows()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::insertRows()");
jenv_->PopLocalFrame(NULL);
if (htc != NULL)
NADELETE(htc, HTableClient_JNI, heap);
@@ -2618,9 +2496,7 @@
hbs->incMaxHbaseIOTime(hbs->getHbaseTimer().stop());
}
if (jenv_->ExceptionCheck()) {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::checkAndUpdateRow()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::cheakAndUpdateRow()");
if (htc != NULL)
NADELETE(htc, HTableClient_JNI, heap);
jenv_->PopLocalFrame(NULL);
@@ -2691,9 +2567,7 @@
if (cols != NULL && !cols->isEmpty()) {
j_cols = convertToByteArrayObjectArray(*cols);
if (j_cols == NULL) {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::deleteRow()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::deleteRow()");
if (htc != NULL)
NADELETE(htc, HTableClient_JNI, heap);
jenv_->PopLocalFrame(NULL);
@@ -2719,9 +2593,7 @@
hbs->incMaxHbaseIOTime(hbs->getHbaseTimer().stop());
}
if (jenv_->ExceptionCheck()) {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::deleteRow()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::deleteRow()");
jenv_->PopLocalFrame(NULL);
if (htc != NULL)
NADELETE(htc, HTableClient_JNI, heap);
@@ -2804,9 +2676,7 @@
hbs->incMaxHbaseIOTime(hbs->getHbaseTimer().stop());
}
if (jenv_->ExceptionCheck()) {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::deleteRows()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::deleteRows()");
jenv_->PopLocalFrame(NULL);
if (htc != NULL)
NADELETE(htc, HTableClient_JNI, heap);
@@ -2908,9 +2778,7 @@
hbs->incMaxHbaseIOTime(hbs->getHbaseTimer().stop());
}
if (jenv_->ExceptionCheck()) {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::checkAndDeleteRow()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::checkAndDeleteRow()");
jenv_->PopLocalFrame(NULL);
if (htc != NULL)
NADELETE(htc, HTableClient_JNI, heap);
@@ -2959,8 +2827,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::getKeys()");
jenv_->PopLocalFrame(NULL);
return NULL;
}
@@ -2999,9 +2866,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::createSnapshot()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::createSnapshot()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_CREATE_SNAPSHOT_EXCEPTION;
}
@@ -3037,9 +2902,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::verifySnapshot()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::verifySnapshot()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_VERIFY_SNAPSHOT_EXCEPTION;
}
@@ -3070,9 +2933,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HBaseClient_JNI::deleteSnapshot()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HBaseClient_JNI::deleteSnapshot()");
jenv_->PopLocalFrame(NULL);
return HBC_ERROR_DELETE_SNAPSHOT_EXCEPTION;
}
@@ -3187,8 +3048,6 @@
return (HTC_RetCode)JavaObjectInterface::init(className, javaClass_, JavaMethods_, (Int32)JM_LAST, javaMethodsInitialized_);
}
JavaMethods_ = new JavaMethodInit[JM_LAST];
- JavaMethods_[JM_GET_ERROR ].jm_name = "getLastError";
- JavaMethods_[JM_GET_ERROR ].jm_signature = "()Ljava/lang/String;";
JavaMethods_[JM_SCAN_OPEN ].jm_name = "startScan";
JavaMethods_[JM_SCAN_OPEN ].jm_signature = "(J[B[B[Ljava/lang/Object;JZZI[Ljava/lang/Object;[Ljava/lang/Object;[Ljava/lang/Object;FFZZILjava/lang/String;Ljava/lang/String;II)Z";
JavaMethods_[JM_DELETE ].jm_name = "deleteRow";
@@ -3219,14 +3078,6 @@
//////////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////////
-NAString HTableClient_JNI::getLastJavaError()
-{
- return JavaObjectInterface::getLastJavaError(JavaMethods_[JM_GET_ERROR].methodID);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//////////////////////////////////////////////////////////////////////////////
HTC_RetCode HTableClient_JNI::startScan(Int64 transID, const Text& startRowID,
const Text& stopRowID, const LIST(HbaseStr) & cols, Int64 timestamp,
bool cacheBlocks, bool smallScanner, Lng32 numCacheRows, NABoolean preFetch,
@@ -3273,9 +3124,7 @@
j_cols = convertToByteArrayObjectArray(cols);
if (j_cols == NULL)
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::startScan()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::startScan()");
jenv_->PopLocalFrame(NULL);
return HTC_ERROR_SCANOPEN_PARAM;
}
@@ -3300,9 +3149,7 @@
j_colnamestofilter = convertToByteArrayObjectArray(*inColNamesToFilter);
if (j_colnamestofilter == NULL)
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::startScan()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::startScan()");
jenv_->PopLocalFrame(NULL);
return HTC_ERROR_SCANOPEN_PARAM;
}
@@ -3314,9 +3161,7 @@
j_compareoplist = convertToByteArrayObjectArray(*inCompareOpList);
if (j_compareoplist == NULL)
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::startScan()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::startScan()");
jenv_->PopLocalFrame(NULL);
return HTC_ERROR_SCANOPEN_PARAM;
}
@@ -3328,9 +3173,7 @@
j_colvaluestocompare = convertToByteArrayObjectArray(*inColValuesToCompare);
if (j_colvaluestocompare == NULL)
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::startScan()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::startScan()");
jenv_->PopLocalFrame(NULL);
return HTC_ERROR_SCANOPEN_PARAM;
}
@@ -3379,9 +3222,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::scanOpen()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::scanOpen()");
jenv_->PopLocalFrame(NULL);
return HTC_ERROR_SCANOPEN_EXCEPTION;
}
@@ -3420,9 +3261,7 @@
j_cols = convertToByteArrayObjectArray(*cols);
if (j_cols == NULL)
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::deleteRow()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::deleteROw()");
jenv_->PopLocalFrame(NULL);
return HTC_ERROR_DELETEROW_PARAM;
}
@@ -3444,9 +3283,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::deleteRow()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::deleteROw()");
jenv_->PopLocalFrame(NULL);
return HTC_ERROR_DELETEROW_EXCEPTION;
}
@@ -3481,9 +3318,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::setWriteBufferSize()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::setWriteBufferSize()");
jenv_->PopLocalFrame(NULL);
return HTC_ERROR_WRITEBUFFERSIZE_EXCEPTION;
}
@@ -3514,9 +3349,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::setWriteToWAL()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::setWriteToWAL)");
jenv_->PopLocalFrame(NULL);
return HTC_ERROR_WRITETOWAL_EXCEPTION;
}
@@ -3552,9 +3385,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::getHTableName()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::getHTableName()");
jenv_->PopLocalFrame(NULL);
return NULL;
}
@@ -3654,9 +3485,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::coProcAggr()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::coProcAggr()");
jenv_->PopLocalFrame(NULL);
return HTC_ERROR_COPROC_AGGR_EXCEPTION;
}
@@ -3704,6 +3533,8 @@
,"Java exception in getAllSchemas()."
,"Preparing parameters for getAllTables()."
,"Java exception in getAllTables()."
+ ,"Preparing parameters for executeHiveSQL()."
+ ,"Java exception in executeHiveSQL()."
};
@@ -3781,8 +3612,6 @@
JavaMethods_[JM_CTOR ].jm_name = "<init>";
JavaMethods_[JM_CTOR ].jm_signature = "()V";
- JavaMethods_[JM_GET_ERROR ].jm_name = "getLastError";
- JavaMethods_[JM_GET_ERROR ].jm_signature = "()Ljava/lang/String;";
JavaMethods_[JM_INIT ].jm_name = "init";
JavaMethods_[JM_INIT ].jm_signature = "(Ljava/lang/String;)Z";
JavaMethods_[JM_CLOSE ].jm_name = "close";
@@ -3810,14 +3639,6 @@
//////////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////////
-NAString HiveClient_JNI::getLastJavaError()
-{
- return JavaObjectInterface::getLastJavaError(JavaMethods_[JM_GET_ERROR].methodID);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//////////////////////////////////////////////////////////////////////////////
HVC_RetCode HiveClient_JNI::initConnection(const char* metastoreURI)
{
QRLogger::log(CAT_SQL_HBASE, LL_DEBUG, "HiveClient_JNI::initConnection(%s) called.", metastoreURI);
@@ -3839,9 +3660,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HiveClient_JNI::initConnection()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HiveClient_JNI::initConnection()");
jenv_->PopLocalFrame(NULL);
return HVC_ERROR_INIT_EXCEPTION;
}
@@ -3873,9 +3692,7 @@
jboolean jresult = jenv_->CallBooleanMethod(javaObj_, JavaMethods_[JM_CLOSE].methodID);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HiveClient_JNI::close()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HiveClient_JNI::close()");
jenv_->PopLocalFrame(NULL);
return HVC_ERROR_CLOSE_EXCEPTION;
}
@@ -3921,9 +3738,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HiveClient_JNI::exists()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HiveClient_JNI::exists()");
jenv_->PopLocalFrame(NULL);
return HVC_ERROR_EXISTS_EXCEPTION;
}
@@ -3970,9 +3785,7 @@
js_schName, js_tabName);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HiveClient_JNI::getHiveTableStr()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HiveClient_JNI::getHiveTableStr()");
jenv_->PopLocalFrame(NULL);
return HVC_ERROR_GET_HVT_EXCEPTION;
}
@@ -4031,9 +3844,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HiveClient_JNI::getRedefTime()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HiveClient_JNI::getRedefTime()");
jenv_->PopLocalFrame(NULL);
return HVC_ERROR_GET_REDEFTIME_EXCEPTION;
}
@@ -4066,9 +3877,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HiveClient_JNI::getAllSchemas()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HiveClient_JNI::getAllSchemas()");
jenv_->PopLocalFrame(NULL);
return HVC_ERROR_GET_ALLSCH_EXCEPTION;
}
@@ -4099,7 +3908,7 @@
{
GetCliGlobals()->setJniErrorStr(getErrorText(HVC_ERROR_GET_ALLTBL_PARAM));
jenv_->PopLocalFrame(NULL);
- return HVC_ERROR_GET_ALLTBL_PARAM;
+ return HVC_ERROR_EXECUTE_HIVE_SQL_PARAM;
}
tsRecentJMFromJNI = JavaMethods_[JM_EXEC_HIVE_SQL].jm_full_name;
@@ -4107,11 +3916,9 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HiveClient_JNI::executeHiveSQL()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HiveClient_JNI::executeHiveSQL()");
jenv_->PopLocalFrame(NULL);
- return HVC_ERROR_GET_ALLSCH_EXCEPTION;
+ return HVC_ERROR_EXECUTE_HIVE_SQL_EXCEPTION;
}
QRLogger::log(CAT_SQL_HBASE, LL_DEBUG,
@@ -4143,25 +3950,20 @@
(jarray)jenv_->CallObjectMethod(javaObj_, JavaMethods_[JM_GET_ATL].methodID,
js_schName);
- if (j_tblNames == NULL)
- {
- getExceptionDetails();
-
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HiveClient_JNI::getAllTables()", getLastError());
- jenv_->PopLocalFrame(NULL);
- return HVC_ERROR_EXISTS_EXCEPTION;
- }
-
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HiveClient_JNI::getAllTables()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HiveClient_JNI::getAllTables()");
jenv_->PopLocalFrame(NULL);
return HVC_ERROR_GET_ALLTBL_EXCEPTION;
}
+ if (j_tblNames == NULL)
+ {
+ GetCliGlobals()->setJniErrorStr(getErrorText(HVC_ERROR_EXISTS_EXCEPTION));
+ jenv_->PopLocalFrame(NULL);
+ return HVC_ERROR_EXISTS_EXCEPTION;
+ }
+
int numTables = convertStringObjectArrayToList(heap_, j_tblNames,
tblNames);
if (numTables == 0) {
@@ -4520,17 +4322,13 @@
kvBufferObj = jenv_->GetObjectArrayElement(jKvFamArray_, idx);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::prepareForNextCell()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::prepareForNextCell()");
return HTC_PREPARE_FOR_NEXTCELL_EXCEPTION;
}
jba_kvFamArray_ = (jbyteArray)jenv_->NewGlobalRef(kvBufferObj);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::prepareForNextCell()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::prepareForNextCell()");
return HTC_PREPARE_FOR_NEXTCELL_EXCEPTION;
}
jenv_->DeleteLocalRef(kvBufferObj);
@@ -4543,17 +4341,13 @@
kvBufferObj = jenv_->GetObjectArrayElement(jKvQualArray_, idx);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::prepareForNextCell()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::prepareForNextCell()");
return HTC_PREPARE_FOR_NEXTCELL_EXCEPTION;
}
jba_kvQualArray_ = (jbyteArray)jenv_->NewGlobalRef(kvBufferObj);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::prepareForNextCell()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::prepareForNextCell()");
return HTC_PREPARE_FOR_NEXTCELL_EXCEPTION;
}
jenv_->DeleteLocalRef(kvBufferObj);
@@ -4566,17 +4360,13 @@
kvBufferObj = jenv_->GetObjectArrayElement(jKvBuffer_, idx);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::prepareForNextCell()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::prepareForNextCell()");
return HTC_PREPARE_FOR_NEXTCELL_EXCEPTION;
}
jba_kvBuffer_ = (jbyteArray)jenv_->NewGlobalRef(kvBufferObj);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::prepareForNextCell()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::prepareForNextCell()");
return HTC_PREPARE_FOR_NEXTCELL_EXCEPTION;
}
jenv_->DeleteLocalRef(kvBufferObj);
@@ -4744,9 +4534,7 @@
jba_rowID_ = (jbyteArray)jenv_->NewGlobalRef(rowIDObj);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::getRowID()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::getRowID()");
return HTC_GET_ROWID_EXCEPTION;
}
jenv_->DeleteLocalRef(rowIDObj);
@@ -4780,21 +4568,12 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::fetchRows()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::fetchRows()");
jenv_->PopLocalFrame(NULL);
return HTC_ERROR_FETCHROWS_EXCEPTION;
}
numRowsReturned_ = jRowsReturned;
- if (numRowsReturned_ == -1)
- {
- logError(CAT_SQL_HBASE, "HTableClient_JNI::fetchRows()", getLastJavaError());
- jenv_->PopLocalFrame(NULL);
- return HTC_ERROR_FETCHROWS_EXCEPTION;
- }
- else
if (numRowsReturned_ == 0) {
jenv_->PopLocalFrame(NULL);
return HTC_DONE;
@@ -4879,7 +4658,6 @@
HTC_RetCode retcode;
if (initJNIEnv() != JOI_OK) {
- getExceptionDetails();
if (hbs_)
hbs_->incMaxHbaseIOTime(hbs_->getHbaseTimer().stop());
return HTC_ERROR_COMPLETEASYNCOPERATION_EXCEPTION;
@@ -4887,9 +4665,7 @@
jint jtimeout = timeout;
jbooleanArray jresultArray = jenv_->NewBooleanArray(resultArrayLen);
if (jenv_->ExceptionCheck()) {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::completeAsyncOperation()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::completeAsyncOperation()");
jenv_->PopLocalFrame(NULL);
if (hbs_)
hbs_->incMaxHbaseIOTime(hbs_->getHbaseTimer().stop());
@@ -4899,9 +4675,7 @@
jboolean jresult = jenv_->CallBooleanMethod(javaObj_, JavaMethods_[JM_COMPLETE_PUT].methodID,
jtimeout, jresultArray);
if (jenv_->ExceptionCheck()) {
- getExceptionDetails();
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HTableClient_JNI::completeAsyncOperation()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HTableClient_JNI::completeAsyncOperation()");
jenv_->PopLocalFrame(NULL);
if (hbs_)
hbs_->incMaxHbaseIOTime(hbs_->getHbaseTimer().stop());
diff --git a/core/sql/executor/HBaseClient_JNI.h b/core/sql/executor/HBaseClient_JNI.h
index 3177a7a..01b0edc 100644
--- a/core/sql/executor/HBaseClient_JNI.h
+++ b/core/sql/executor/HBaseClient_JNI.h
@@ -282,11 +282,8 @@
}
private:
- NAString getLastJavaError();
-
enum JAVA_METHODS {
- JM_GET_ERROR
- ,JM_SCAN_OPEN
+ JM_SCAN_OPEN
,JM_DELETE
,JM_COPROC_AGGR
,JM_GET_NAME
@@ -546,9 +543,6 @@
NAArray<HbaseStr>* getKeys(Int32 funcIndex, NAHeap *heap, const char *tableName, bool useTRex);
private:
- NAString getLastJavaError();
-
-private:
enum JAVA_METHODS {
JM_CTOR = 0
,JM_INIT
@@ -631,6 +625,8 @@
,HVC_ERROR_GET_ALLSCH_EXCEPTION
,HVC_ERROR_GET_ALLTBL_PARAM
,HVC_ERROR_GET_ALLTBL_EXCEPTION
+ ,HVC_ERROR_EXECUTE_HIVE_SQL_PARAM
+ ,HVC_ERROR_EXECUTE_HIVE_SQL_EXCEPTION
,HVC_LAST
} HVC_RetCode;
@@ -676,13 +672,9 @@
, isConnected_(FALSE)
{}
-private:
- NAString getLastJavaError();
-
private:
enum JAVA_METHODS {
JM_CTOR = 0
- ,JM_GET_ERROR
,JM_INIT
,JM_CLOSE
,JM_EXISTS
@@ -761,9 +753,6 @@
private:
- NAString getLastJavaError();
-
-
enum JAVA_METHODS {
JM_CTOR = 0
,JM_INIT_HFILE_PARAMS
diff --git a/core/sql/executor/HdfsClient_JNI.cpp b/core/sql/executor/HdfsClient_JNI.cpp
index d5eb4ec..eed9e7d 100644
--- a/core/sql/executor/HdfsClient_JNI.cpp
+++ b/core/sql/executor/HdfsClient_JNI.cpp
@@ -208,9 +208,7 @@
}
if (jenv_->ExceptionCheck()) {
- getExceptionDetails();
- logError(CAT_SQL_HDFS, __FILE__, __LINE__);
- logError(CAT_SQL_HDFS, "HdfsScan::setScanRanges()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HdfsScan::setScanRanges()");
jenv_->PopLocalFrame(NULL);
return HDFS_SCAN_ERROR_SET_SCAN_RANGES_EXCEPTION;
}
@@ -260,9 +258,7 @@
}
if (jenv_->ExceptionCheck()) {
- getExceptionDetails();
- logError(CAT_SQL_HDFS, __FILE__, __LINE__);
- logError(CAT_SQL_HDFS, "HdfsScan::setScanRanges()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HdfsScan::setScanRanges()");
jenv_->PopLocalFrame(NULL);
return HDFS_SCAN_ERROR_TRAF_HDFS_READ_EXCEPTION;
}
@@ -292,9 +288,7 @@
}
if (jenv_->ExceptionCheck()) {
- getExceptionDetails();
- logError(CAT_SQL_HDFS, __FILE__, __LINE__);
- logError(CAT_SQL_HDFS, "HdfsScan::stop()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HdfsScan::stop()");
jenv_->PopLocalFrame(NULL);
return HDFS_SCAN_ERROR_STOP_EXCEPTION;
}
@@ -513,9 +507,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS, __FILE__, __LINE__);
- logError(CAT_SQL_HDFS, "HdfsClient::hdfsCreate()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HdfsClient::hdfsCreate()");
jenv_->PopLocalFrame(NULL);
return HDFS_CLIENT_ERROR_HDFS_CREATE_EXCEPTION;
}
@@ -557,9 +549,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS, __FILE__, __LINE__);
- logError(CAT_SQL_HDFS, "HdfsClient::hdfsOpen()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HdfsClient::hdfsOpen()");
jenv_->PopLocalFrame(NULL);
return HDFS_CLIENT_ERROR_HDFS_OPEN_EXCEPTION;
}
@@ -608,9 +598,7 @@
}
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS, __FILE__, __LINE__);
- logError(CAT_SQL_HDFS, "HdfsClient::hdfsWrite()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HdfsClient::hdfsWrite()");
jenv_->PopLocalFrame(NULL);
hdfsClientRetcode = HDFS_CLIENT_ERROR_HDFS_WRITE_EXCEPTION;
return 0;
@@ -650,9 +638,7 @@
}
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS, __FILE__, __LINE__);
- logError(CAT_SQL_HDFS, "HdfsClient::hdfsRead()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HdfsClient::hdfsRead()");
jenv_->PopLocalFrame(NULL);
hdfsClientRetcode = HDFS_CLIENT_ERROR_HDFS_READ_EXCEPTION;
return 0;
@@ -681,9 +667,7 @@
}
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS, __FILE__, __LINE__);
- logError(CAT_SQL_HDFS, "HdfsClient::hdfsClose()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HdfsClient::hdfsClose()");
jenv_->PopLocalFrame(NULL);
return HDFS_CLIENT_ERROR_HDFS_CLOSE_EXCEPTION;
}
@@ -719,9 +703,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS, __FILE__, __LINE__);
- logError(CAT_SQL_HDFS, "HdfsClient::hdfsCleanUnloadPath()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HdfsClient::hdfsCleanUnloadPath()");
jenv_->PopLocalFrame(NULL);
return HDFS_CLIENT_ERROR_HDFS_CLEANUP_EXCEPTION;
}
@@ -760,9 +742,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS, __FILE__, __LINE__);
- logError(CAT_SQL_HDFS, "HdfsClient::hdfsMergeFiles()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HdfsClient::hdfsMergeFiles()");
jenv_->PopLocalFrame(NULL);
return HDFS_CLIENT_ERROR_HDFS_MERGE_FILES_EXCEPTION;
}
@@ -799,9 +779,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS, __FILE__, __LINE__);
- logError(CAT_SQL_HDFS, "HdfsClient::hdfsDeletePath()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HdfsClient::hdfsDeletePath()");
jenv_->PopLocalFrame(NULL);
return HDFS_CLIENT_ERROR_HDFS_DELETE_PATH_EXCEPTION;
}
@@ -836,9 +814,7 @@
js_pathStr, jniObj);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS, __FILE__, __LINE__);
- logError(CAT_SQL_HDFS, "HdfsClient::hdfsListDirectory()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HdfsClient::hdfsListDirectory()");
jenv_->PopLocalFrame(NULL);
return HDFS_CLIENT_ERROR_HDFS_LIST_DIR_EXCEPTION;
}
@@ -868,9 +844,7 @@
exist = jresult;
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS, __FILE__, __LINE__);
- logError(CAT_SQL_HDFS, "HdfsClient::hdfsExists()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HdfsClient::hdfsExists()");
jenv_->PopLocalFrame(NULL);
return HDFS_CLIENT_ERROR_HDFS_EXISTS_EXCEPTION;
}
@@ -901,9 +875,7 @@
jenv_->DeleteLocalRef(js_tableDirPaths);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails(jenv_);
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HDFSClientI::getHiveTableMaxModificationTs()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HdfsClient::getHiveTableMaxModificationTS()");
jenv_->PopLocalFrame(NULL);
return HDFS_CLIENT_ERROR_HIVE_TBL_MAX_MODIFICATION_TS_EXCEPTION;
}
@@ -929,9 +901,7 @@
JavaMethods_[JM_GET_FS_DEFAULT_NAME].methodID);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails(jenv_);
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HDFSClient_JNI::getFsDefaultName()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HdfsClient::getFsDefaultName()");
jenv_->PopLocalFrame(NULL);
return HDFS_CLIENT_ERROR_GET_FS_DEFAULT_NAME_EXCEPTION;
}
@@ -969,9 +939,7 @@
JavaMethods_[JM_HDFS_CREATE_DIRECTORY].methodID, js_dirName);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails(jenv_);
- logError(CAT_SQL_HBASE, __FILE__, __LINE__);
- logError(CAT_SQL_HBASE, "HDFSClient_JNI::hdfsCreateDirectory()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "HdfsClient::hdfsCreateDirectory()");
jenv_->PopLocalFrame(NULL);
return HDFS_CLIENT_ERROR_CREATE_DIRECTORY_EXCEPTION;
}
diff --git a/core/sql/executor/JavaObjectInterface.cpp b/core/sql/executor/JavaObjectInterface.cpp
index 2260715..22b9003 100644
--- a/core/sql/executor/JavaObjectInterface.cpp
+++ b/core/sql/executor/JavaObjectInterface.cpp
@@ -46,6 +46,7 @@
__thread JNIEnv* jenv_ = NULL;
__thread NAString *tsRecentJMFromJNI = NULL;
+__thread NAString *tsSqlJniErrorStr = NULL;
jclass JavaObjectInterface::gThrowableClass = NULL;
jclass JavaObjectInterface::gStackTraceClass = NULL;
jmethodID JavaObjectInterface::gGetStackTraceMethodID = NULL;
@@ -53,6 +54,27 @@
jmethodID JavaObjectInterface::gStackFrameToStringMethodID = NULL;
jmethodID JavaObjectInterface::gGetCauseMethodID = NULL;
+void setSqlJniErrorStr(NAString &errorMsg)
+{
+ if (tsSqlJniErrorStr != NULL)
+ delete tsSqlJniErrorStr;
+ tsSqlJniErrorStr = new NAString(errorMsg);
+}
+
+void setSqlJniErrorStr(const char *errorMsg)
+{
+ if (tsSqlJniErrorStr != NULL)
+ delete tsSqlJniErrorStr;
+ tsSqlJniErrorStr = new NAString(errorMsg);
+}
+
+const char *getSqlJniErrorStr()
+{
+ if (tsSqlJniErrorStr == NULL)
+ return "";
+ else
+ return tsSqlJniErrorStr->data();
+}
static const char* const joiErrorEnumStr[] =
{
@@ -451,8 +473,9 @@
lJavaClass = jenv_->FindClass(className);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- QRLogger::log(CAT_SQL_HDFS_JNI_TOP, LL_ERROR, "Exception in FindClass(%s).", className);
+ char errMsg[200];
+ snprintf(errMsg, sizeof(errMsg), "Exception in FindClass(%s)", className);
+ getExceptionDetails(__FILE__, __LINE__, errMsg);
return JOI_ERROR_FINDCLASS;
}
if (lJavaClass == 0)
@@ -476,13 +499,12 @@
JavaMethods[i].jm_signature);
if (JavaMethods[i].methodID == 0 || jenv_->ExceptionCheck())
{
- getExceptionDetails();
+ getExceptionDetails(__FILE__, __LINE__, "GetMethodId()");
JavaMethods[i].methodID = jenv_->GetStaticMethodID(javaClass,
JavaMethods[i].jm_name,
JavaMethods[i].jm_signature);
if (JavaMethods[i].methodID == 0 || jenv_->ExceptionCheck()) {
- getExceptionDetails();
- QRLogger::log(CAT_SQL_HDFS_JNI_TOP, LL_ERROR, "Error in GetMethod(%s).", JavaMethods[i].jm_name);
+ getExceptionDetails(__FILE__, __LINE__, "GetMethodId()");
return JOI_ERROR_GETMETHOD;
}
}
@@ -496,8 +518,9 @@
jobject jObj = jenv_->NewObject(javaClass, JavaMethods[0].methodID);
if (jObj == 0 || jenv_->ExceptionCheck())
{
- getExceptionDetails();
- QRLogger::log(CAT_SQL_HDFS_JNI_TOP, LL_ERROR, "Error in NewObject() for class %s.", className);
+ char errMsg[200];
+ snprintf(errMsg, sizeof(errMsg), "Error in NewObject() for class %s.", className);
+ getExceptionDetails(__FILE__, __LINE__, errMsg);
return JOI_ERROR_NEWOBJ;
}
javaObj_ = jenv_->NewGlobalRef(jObj);
@@ -542,50 +565,46 @@
QRLogger::log(cat, LL_ERROR, "Java exception in file %s, line %d.", file, line);
}
-NABoolean JavaObjectInterface::getExceptionDetails(JNIEnv *jenv)
+NABoolean JavaObjectInterface::getExceptionDetails(const char *fileName, int lineNo,
+ const char *methodName)
{
- if (jenv == NULL)
- jenv = jenv_;
+ JNIEnv *jenv = jenv_;
CliGlobals *cliGlobals = GetCliGlobals();
- NAString error_msg(cliGlobals->currContext()->exHeap());
- if (jenv == NULL)
- {
- error_msg = "Internal Error - Unable to obtain jenv";
- cli_globals->setJniErrorStr(error_msg);
- return FALSE;
- }
+ NAString error_msg;
if (gThrowableClass == NULL)
{
jenv->ExceptionDescribe();
error_msg = "Internal Error - Unable to find Throwable class";
- cli_globals->setJniErrorStr(error_msg);
+ setSqlJniErrorStr(error_msg);
return FALSE;
}
jthrowable a_exception = jenv->ExceptionOccurred();
if (a_exception == NULL)
{
error_msg = "No java exception was thrown";
- cli_globals->setJniErrorStr(error_msg);
+ setSqlJniErrorStr(error_msg);
return FALSE;
}
- appendExceptionMessages(jenv, a_exception, error_msg);
- cli_globals->setJniErrorStr(error_msg);
+ appendExceptionMessages(a_exception, error_msg);
+ setSqlJniErrorStr(error_msg);
+ logError(CAT_SQL_EXE, fileName, lineNo);
+ logError(CAT_SQL_EXE, methodName, error_msg);
jenv->ExceptionClear();
return TRUE;
}
-void JavaObjectInterface::appendExceptionMessages(JNIEnv *jenv, jthrowable a_exception, NAString &error_msg)
+void JavaObjectInterface::appendExceptionMessages(jthrowable a_exception, NAString &error_msg)
{
jstring msg_obj =
- (jstring) jenv->CallObjectMethod(a_exception,
+ (jstring) jenv_->CallObjectMethod(a_exception,
gThrowableToStringMethodID);
const char *msg_str;
if (msg_obj != NULL)
{
- msg_str = jenv->GetStringUTFChars(msg_obj, 0);
+ msg_str = jenv_->GetStringUTFChars(msg_obj, 0);
error_msg += msg_str;
- jenv->ReleaseStringUTFChars(msg_obj, msg_str);
- jenv->DeleteLocalRef(msg_obj);
+ jenv_->ReleaseStringUTFChars(msg_obj, msg_str);
+ jenv_->DeleteLocalRef(msg_obj);
}
else
msg_str = "Exception is thrown, but tostring is null";
@@ -593,57 +612,37 @@
// Get the stack trace
jobjectArray frames =
- (jobjectArray) jenv->CallObjectMethod(
+ (jobjectArray) jenv_->CallObjectMethod(
a_exception,
gGetStackTraceMethodID);
if (frames == NULL)
return;
- jsize frames_length = jenv->GetArrayLength(frames);
+ jsize frames_length = jenv_->GetArrayLength(frames);
jsize i = 0;
for (i = 0; i < frames_length; i++)
{
- jobject frame = jenv->GetObjectArrayElement(frames, i);
- msg_obj = (jstring) jenv->CallObjectMethod(frame,
+ jobject frame = jenv_->GetObjectArrayElement(frames, i);
+ msg_obj = (jstring) jenv_->CallObjectMethod(frame,
gStackFrameToStringMethodID);
if (msg_obj != NULL)
{
- msg_str = jenv->GetStringUTFChars(msg_obj, 0);
+ msg_str = jenv_->GetStringUTFChars(msg_obj, 0);
error_msg += "\n";
error_msg += msg_str;
- jenv->ReleaseStringUTFChars(msg_obj, msg_str);
- jenv->DeleteLocalRef(msg_obj);
- jenv->DeleteLocalRef(frame);
+ jenv_->ReleaseStringUTFChars(msg_obj, msg_str);
+ jenv_->DeleteLocalRef(msg_obj);
+ jenv_->DeleteLocalRef(frame);
}
}
- jthrowable j_cause = (jthrowable)jenv->CallObjectMethod(a_exception, gGetCauseMethodID);
+ jthrowable j_cause = (jthrowable)jenv_->CallObjectMethod(a_exception, gGetCauseMethodID);
if (j_cause != NULL) {
error_msg += " Caused by \n";
- appendExceptionMessages(jenv, j_cause, error_msg);
+ appendExceptionMessages(j_cause, error_msg);
}
- jenv->DeleteLocalRef(a_exception);
+ jenv_->DeleteLocalRef(a_exception);
}
-NAString JavaObjectInterface::getLastError()
-{
- return cli_globals->getJniErrorStr();
-}
-
-NAString JavaObjectInterface::getLastJavaError(jmethodID methodID)
-{
- if (javaObj_ == NULL)
- return "";
- jstring j_error = (jstring)jenv_->CallObjectMethod(javaObj_,
- methodID);
- if (j_error == NULL)
- return "";
- const char *error_str = jenv_->GetStringUTFChars(j_error, NULL);
- cli_globals->setJniErrorStr(error_str);
- jenv_->ReleaseStringUTFChars(j_error, error_str);
- return cli_globals->getJniErrorStr();
-}
-
-
JOI_RetCode JavaObjectInterface::initJNIEnv()
{
JOI_RetCode retcode;
diff --git a/core/sql/executor/JavaObjectInterface.h b/core/sql/executor/JavaObjectInterface.h
index d07b6f0..f6da8ec 100644
--- a/core/sql/executor/JavaObjectInterface.h
+++ b/core/sql/executor/JavaObjectInterface.h
@@ -31,6 +31,7 @@
#include <sys/syscall.h>
#include "jni.h"
#include "Platform.h"
+#include "NAString.h"
class LmJavaOptions;
@@ -40,7 +41,11 @@
extern __thread JNIEnv *jenv_;
extern __thread NAString *tsRecentJMFromJNI;
+extern __thread NAString *tsSqlJniErrorStr;
+void setSqlJniErrorStr(NAString &errorMsg);
+void setSqlJniErrorStr(const char *errorMsg);
+const char *getSqlJniErrorStr();
// This structure defines the information needed for each java method used.
struct JavaMethodInit {
@@ -74,8 +79,6 @@
: public ExGod
#endif
{
-public:
- NAString getLastJavaError(jmethodID methodID);
protected:
// Default constructor - for creating a new JVM
@@ -119,7 +122,8 @@
// Get the error description.
static char* getErrorText(JOI_RetCode errEnum);
- static NAString getLastError();
+ static const char *getLastError()
+ { return getSqlJniErrorStr(); }
// Write the description of a Java error to the log file.
static void logError(std::string &cat, const char* methodName, const char *result);
@@ -143,11 +147,10 @@
{
return isInitialized_;
}
- // Pass in jenv if the thread where the object is created is different than
- // the thread where exception occurred
- static NABoolean getExceptionDetails(JNIEnv *jenv = NULL);
+ static NABoolean getExceptionDetails(const char *fileName, int lineNo,
+ const char *methodName);
- static void appendExceptionMessages(JNIEnv *jenv, jthrowable a_exception, NAString &error_msg);
+ static void appendExceptionMessages(jthrowable a_exception, NAString &error_msg);
NAHeap *getHeap() { return heap_; }
protected:
diff --git a/core/sql/executor/OrcFileReader.cpp b/core/sql/executor/OrcFileReader.cpp
index 988704d..bc7ee9d 100644
--- a/core/sql/executor/OrcFileReader.cpp
+++ b/core/sql/executor/OrcFileReader.cpp
@@ -166,8 +166,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS_ORC_FILE_READER, "OrcFileReader::open()", jresult);
+ getExceptionDetails(__FILE__, __LINE__, "OrcFileReader::open()");
jenv_->PopLocalFrame(NULL);
return OFR_ERROR_OPEN_EXCEPTION;
}
@@ -191,9 +190,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS_ORC_FILE_READER, __FILE__, __LINE__);
- logError(CAT_SQL_HDFS_ORC_FILE_READER, "OrcFileReader::getPosition()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "OrcFileReader::getPosition()");
jenv_->PopLocalFrame(NULL);
return OFR_ERROR_GETPOS_EXCEPTION;
}
@@ -230,8 +227,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS_ORC_FILE_READER, __FILE__, __LINE__);
+ getExceptionDetails(__FILE__, __LINE__, "OrcFileReader::seeknSync()");
jenv_->PopLocalFrame(NULL);
return OFR_ERROR_SYNC_EXCEPTION;
}
@@ -270,8 +266,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS_ORC_FILE_READER, __FILE__, __LINE__);
+ getExceptionDetails(__FILE__, __LINE__, "OrcFileReader::isEOF()");
jenv_->PopLocalFrame(NULL);
return OFR_ERROR_ISEOF_EXCEPTION;
}
@@ -318,9 +313,7 @@
jobject jresult = (jobject)jenv_->CallObjectMethod(javaObj_, JavaMethods_[JM_FETCHROW2].methodID);
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS_ORC_FILE_READER, __FILE__, __LINE__);
- logError(CAT_SQL_HDFS_ORC_FILE_READER, "OrcFileReader::fetchNextRow()", getLastError());
+ getExceptionDetails(__FILE__, __LINE__, "OrcFileReader::fetchNextRow()");
jenv_->PopLocalFrame(NULL);
return OFR_ERROR_FETCHROW_EXCEPTION;
}
@@ -399,8 +392,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS_ORC_FILE_READER, __FILE__, __LINE__);
+ getExceptionDetails(__FILE__, __LINE__, "OrcFileReader::close()");
jenv_->PopLocalFrame(NULL);
return OFR_ERROR_CLOSE_EXCEPTION;
}
@@ -432,8 +424,7 @@
if (jenv_->ExceptionCheck())
{
- getExceptionDetails();
- logError(CAT_SQL_HDFS_ORC_FILE_READER, __FILE__, __LINE__);
+ getExceptionDetails(__FILE__, __LINE__, "OrcFileReader::getRowCount()");
jenv_->PopLocalFrame(NULL);
return OFR_ERROR_GETNUMROWS_EXCEPTION;
}
diff --git a/core/sql/executor/SequenceFileReader.cpp b/core/sql/executor/SequenceFileReader.cpp
index 8feb1d5..07bab86 100644
--- a/core/sql/executor/SequenceFileReader.cpp
+++ b/core/sql/executor/SequenceFileReader.cpp
@@ -189,6 +189,13 @@
tsRecentJMFromJNI = JavaMethods_[JM_OPEN].jm_full_name;
jstring jresult = (jstring)jenv_->CallObjectMethod(javaObj_, JavaMethods_[JM_OPEN].methodID, js_path);
+ if (jenv_->ExceptionCheck())
+ {
+ getExceptionDetails(__FILE__, __LINE__, "SequenceFileReader::open()");
+ jenv_->PopLocalFrame(NULL);
+ return SFR_ERROR_OPEN_EXCEPTION;
+ }
+
if (jresult != NULL)
{
logError(CAT_SQL_HDFS_SEQ_FILE_READER, "SequenceFileReader::open()", jresult);
@@ -213,6 +220,13 @@
tsRecentJMFromJNI = JavaMethods_[JM_GETPOS].jm_full_name;
Int64 result = jenv_->CallLongMethod(javaObj_, JavaMethods_[JM_GETPOS].methodID);
+ if (jenv_->ExceptionCheck())
+ {
+ getExceptionDetails(__FILE__, __LINE__, "SequenceFileReader::getPosition()");
+ jenv_->PopLocalFrame(NULL);
+ return SFR_ERROR_GETPOS_EXCEPTION;
+ }
+
if (result == -1)
{
logError(CAT_SQL_HDFS_SEQ_FILE_READER, "SequenceFileReader::getPosition()", getLastError());
@@ -233,12 +247,19 @@
QRLogger::log(CAT_SQL_HDFS_SEQ_FILE_READER, LL_DEBUG, "SequenceFileReader::seeknSync(%ld) called.", pos);
if (initJNIEnv() != JOI_OK)
- return SFR_ERROR_GETPOS_EXCEPTION;
+ return SFR_ERROR_SYNC_EXCEPTION;
// String seeknSync(long);
tsRecentJMFromJNI = JavaMethods_[JM_SYNC].jm_full_name;
jstring jresult = (jstring)jenv_->CallObjectMethod(javaObj_, JavaMethods_[JM_SYNC].methodID, pos);
+ if (jenv_->ExceptionCheck())
+ {
+ getExceptionDetails(__FILE__, __LINE__, "SequenceFileReader::seeknSync()");
+ jenv_->PopLocalFrame(NULL);
+ return SFR_ERROR_SYNC_EXCEPTION;
+ }
+
if (jresult != NULL)
{
logError(CAT_SQL_HDFS_SEQ_FILE_READER, "SequenceFileReader::seeknSync()", jresult);
@@ -263,6 +284,13 @@
tsRecentJMFromJNI = JavaMethods_[JM_ISEOF].jm_full_name;
bool result = jenv_->CallBooleanMethod(javaObj_, JavaMethods_[JM_ISEOF].methodID);
+ if (jenv_->ExceptionCheck())
+ {
+ getExceptionDetails(__FILE__, __LINE__, "SequenceFileReader::seeknSync()");
+ jenv_->PopLocalFrame(NULL);
+ return SFR_ERROR_ISEOF_EXCEPTION;
+ }
+
jenv_->PopLocalFrame(NULL);
isEOF = result;
return SFR_OK;
@@ -279,6 +307,12 @@
// java.lang.String fetchNextRow(long stopOffset);
tsRecentJMFromJNI = JavaMethods_[JM_FETCHROW2].jm_full_name;
jstring jresult = (jstring)jenv_->CallObjectMethod(javaObj_, JavaMethods_[JM_FETCHROW2].methodID, stopOffset);
+ if (jenv_->ExceptionCheck())
+ {
+ getExceptionDetails(__FILE__, __LINE__, "SequenceFileReader::fetchNextRow()");
+ jenv_->PopLocalFrame(NULL);
+ return SFR_ERROR_FETCHROW_EXCEPTION;
+ }
if (jresult==NULL && getLastError())
{
logError(CAT_SQL_HDFS_SEQ_FILE_READER, "SequenceFileReader::fetchNextRow()", getLastError());
@@ -312,6 +346,12 @@
// String close();
tsRecentJMFromJNI = JavaMethods_[JM_CLOSE].jm_full_name;
jstring jresult = (jstring)jenv_->CallObjectMethod(javaObj_, JavaMethods_[JM_CLOSE].methodID);
+ if (jenv_->ExceptionCheck())
+ {
+ getExceptionDetails(__FILE__, __LINE__, "SequenceFileReader::close()");
+ jenv_->PopLocalFrame(NULL);
+ return SFR_ERROR_CLOSE_EXCEPTION;
+ }
if (jresult!=NULL)
{
@@ -466,6 +506,13 @@
tsRecentJMFromJNI = JavaMethods_[JM_OPEN].jm_full_name;
jstring jresult = (jstring)jenv_->CallObjectMethod(javaObj_, JavaMethods_[JM_OPEN].methodID, js_path, compression);
+ if (jenv_->ExceptionCheck())
+ {
+ getExceptionDetails(__FILE__, __LINE__, "SequenceFileWriter::open()");
+ jenv_->PopLocalFrame(NULL);
+ return SFW_ERROR_OPEN_EXCEPTION;
+ }
+
if (jresult != NULL)
{
logError(CAT_SQL_HDFS_SEQ_FILE_WRITER, "SequenceFileWriter::open()", jresult);
@@ -495,6 +542,12 @@
// String write(java.lang.String);
tsRecentJMFromJNI = JavaMethods_[JM_WRITE].jm_full_name;
jstring jresult = (jstring)jenv_->CallObjectMethod(javaObj_, JavaMethods_[JM_WRITE].methodID, js_data);
+ if (jenv_->ExceptionCheck())
+ {
+ getExceptionDetails(__FILE__, __LINE__, "SequenceFileWriter::write()");
+ jenv_->PopLocalFrame(NULL);
+ return SFW_ERROR_WRITE_EXCEPTION;
+ }
if (jresult != NULL)
{
@@ -551,6 +604,12 @@
// String close();
tsRecentJMFromJNI = JavaMethods_[JM_CLOSE].jm_full_name;
jstring jresult = (jstring)jenv_->CallObjectMethod(javaObj_, JavaMethods_[JM_CLOSE].methodID);
+ if (jenv_->ExceptionCheck())
+ {
+ getExceptionDetails(__FILE__, __LINE__, "SequenceFileWriter::close()");
+ jenv_->PopLocalFrame(NULL);
+ return SFW_ERROR_CLOSE_EXCEPTION;
+ }
if (jresult != NULL)
{
diff --git a/core/sql/executor/ex_root.cpp b/core/sql/executor/ex_root.cpp
index 38654b3..594174d 100644
--- a/core/sql/executor/ex_root.cpp
+++ b/core/sql/executor/ex_root.cpp
@@ -997,7 +997,7 @@
ExRaiseSqlWarning(getHeap(), &newDiags, (ExeErrorCode) (8448), NULL,
&intParam1, &cliError, NULL, (str ? (char*) str : (char*) " "),
getHbaseErrStr(retcode),
- (str2 ? (char*) str2 : (char *) currContext->getJniErrorStr().data()));
+ (str2 ? (char*) str2 : (char *) GetCliGlobals()->getJniErrorStr()));
diagsArea->mergeAfter(*newDiags);
}
ex_assert( 0, "invalid return code value");
diff --git a/core/sql/executor/hiveHook.cpp b/core/sql/executor/hiveHook.cpp
index 11003f9..d734287 100644
--- a/core/sql/executor/hiveHook.cpp
+++ b/core/sql/executor/hiveHook.cpp
@@ -212,7 +212,7 @@
if (client_)
errCodeStr_ = client_->getErrorText((HVC_RetCode)errCode_);
errMethodName_ = errMethodName;
- errDetail_ = GetCliGlobals()->getJniErrorStrPtr();
+ errDetail_ = GetCliGlobals()->getJniErrorStr();
return FALSE;
}
return TRUE;
diff --git a/core/sql/optimizer/NATable.cpp b/core/sql/optimizer/NATable.cpp
index cb0cc39..ed11edb 100644
--- a/core/sql/optimizer/NATable.cpp
+++ b/core/sql/optimizer/NATable.cpp
@@ -7878,7 +7878,7 @@
<< DgString0((char*)"ExpHbaseInterface::init()")
<< DgString1(getHbaseErrStr(-retcode))
<< DgInt0(-retcode)
- << DgString2((char*)GetCliGlobals()->getJniErrorStr().data());
+ << DgString2((char*)GetCliGlobals()->getJniErrorStr());
delete ehi;
return NULL;
}
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp b/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
index 0dc36e5..6fc1863 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
@@ -1146,7 +1146,7 @@
<< DgString0((char*)"ExpHbaseInterface::init()")
<< DgString1(getHbaseErrStr(-retcode))
<< DgInt0(-retcode)
- << DgString2((char*)GetCliGlobals()->getJniErrorStr().data());
+ << DgString2((char*)GetCliGlobals()->getJniErrorStr());
}
deallocEHI(ehi);
@@ -1425,7 +1425,7 @@
*hbaseErrNum = retcode;
if (hbaseErrStr)
- *hbaseErrStr = (char*)GetCliGlobals()->getJniErrorStr().data();
+ *hbaseErrStr = (char*)GetCliGlobals()->getJniErrorStr();
retcode = -1398;
goto label_return;
@@ -1500,7 +1500,7 @@
*hbaseErrNum = retcode;
if (hbaseErrStr)
- *hbaseErrStr = (char*)GetCliGlobals()->getJniErrorStr().data();
+ *hbaseErrStr = (char*)GetCliGlobals()->getJniErrorStr();
retcode = -1398;
goto label_return;
@@ -2557,7 +2557,7 @@
<< DgString0((char*)"ExpHbaseInterface::exists()")
<< DgString1(getHbaseErrStr(-retcode))
<< DgInt0(-retcode)
- << DgString2((char*)GetCliGlobals()->getJniErrorStr().data());
+ << DgString2((char*)GetCliGlobals()->getJniErrorStr());
return -1;
}
@@ -2615,7 +2615,7 @@
<< DgString0((char*)"ExpHbaseInterface::create()")
<< DgString1(getHbaseErrStr(-retcode))
<< DgInt0(-retcode)
- << DgString2((char*)GetCliGlobals()->getJniErrorStr().data());
+ << DgString2((char*)GetCliGlobals()->getJniErrorStr());
return -1;
}
@@ -2695,7 +2695,7 @@
<< DgString0((char*)"ExpHbaseInterface::alter()")
<< DgString1(getHbaseErrStr(-retcode))
<< DgInt0(-retcode)
- << DgString2((char*)GetCliGlobals()->getJniErrorStr().data());
+ << DgString2((char*)GetCliGlobals()->getJniErrorStr());
retcode = -1;
} // if
} // else
@@ -2723,7 +2723,7 @@
<< DgString0((char*)"ExpHbaseInterface::drop()")
<< DgString1(getHbaseErrStr(-retcode))
<< DgInt0(-retcode)
- << DgString2((char*)GetCliGlobals()->getJniErrorStr().data());
+ << DgString2((char*)GetCliGlobals()->getJniErrorStr());
return -1;
}
@@ -2735,7 +2735,7 @@
<< DgString0((char*)"ExpHbaseInterface::exists()")
<< DgString1(getHbaseErrStr(-retcode))
<< DgInt0(-retcode)
- << DgString2((char*)GetCliGlobals()->getJniErrorStr().data());
+ << DgString2((char*)GetCliGlobals()->getJniErrorStr());
return -1;
}
@@ -2758,7 +2758,7 @@
<< DgString0((char*)"ExpHbaseInterface::copy()")
<< DgString1(getHbaseErrStr(-retcode))
<< DgInt0(-retcode)
- << DgString2((char*)GetCliGlobals()->getJniErrorStr().data());
+ << DgString2((char*)GetCliGlobals()->getJniErrorStr());
return -1;
}
@@ -2770,7 +2770,7 @@
<< DgString0((char*)"ExpHbaseInterface::copy()")
<< DgString1(getHbaseErrStr(-retcode))
<< DgInt0(-retcode)
- << DgString2((char*)GetCliGlobals()->getJniErrorStr().data());
+ << DgString2((char*)GetCliGlobals()->getJniErrorStr());
return -1;
}
@@ -8127,7 +8127,7 @@
<< DgString0((char*)"ExpHbaseInterface::dropAll()")
<< DgString1(getHbaseErrStr(-retcode))
<< DgInt0(-retcode)
- << DgString2((char*)GetCliGlobals()->getJniErrorStr().data());
+ << DgString2((char*)GetCliGlobals()->getJniErrorStr());
return retcode;
}
@@ -8638,7 +8638,7 @@
<< DgString0((char*)"ExpHbaseInterface::truncate()")
<< DgString1(getHbaseErrStr(-retcode))
<< DgInt0(-retcode)
- << DgString2((char*)GetCliGlobals()->getJniErrorStr().data());
+ << DgString2((char*)GetCliGlobals()->getJniErrorStr());
processReturn();
return -1;
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp b/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
index b16f777..0794d5d 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
@@ -4820,7 +4820,7 @@
<< DgString0((char*)"ExpHbaseInterface::copy()")
<< DgString1(getHbaseErrStr(-retcode))
<< DgInt0(-retcode)
- << DgString2((char*)GetCliGlobals()->getJniErrorStr().data());
+ << DgString2((char*)GetCliGlobals()->getJniErrorStr());
processReturn();
@@ -6264,7 +6264,7 @@
<< DgString0((char*)"ExpHbaseInterface::deleteColumns()")
<< DgString1(getHbaseErrStr(-cliRC))
<< DgInt0(-cliRC)
- << DgString2((char*)GetCliGlobals()->getJniErrorStr().data());
+ << DgString2((char*)GetCliGlobals()->getJniErrorStr());
goto label_error;
}
@@ -10152,7 +10152,7 @@
DgString0((char*)"ExpHbaseInterface::revoke()"))
<< DgString1(getHbaseErrStr(-retcode))
<< DgInt0(-retcode)
- << DgString2((char*)GetCliGlobals()->getJniErrorStr().data());
+ << DgString2((char*)GetCliGlobals()->getJniErrorStr());
deallocEHI(ehi);
@@ -10169,7 +10169,7 @@
<< DgString0((char*)"ExpHbaseInterface::close()")
<< DgString1(getHbaseErrStr(-retcode))
<< DgInt0(-retcode)
- << DgString2((char*)GetCliGlobals()->getJniErrorStr().data());
+ << DgString2((char*)GetCliGlobals()->getJniErrorStr());
deallocEHI(ehi);
@@ -12592,7 +12592,7 @@
<< DgString0((char*)"ExpHbaseInterface::getLatestSnapshot()")
<< DgString1(getHbaseErrStr(-retcode))
<< DgInt0(-retcode)
- << DgString2((char*)GetCliGlobals()->getJniErrorStr().data());
+ << DgString2((char*)GetCliGlobals()->getJniErrorStr());
delete ehi;
}
}
diff --git a/core/sql/src/main/java/org/trafodion/sql/HTableClient.java b/core/sql/src/main/java/org/trafodion/sql/HTableClient.java
index 7dae2b8..c228c36 100644
--- a/core/sql/src/main/java/org/trafodion/sql/HTableClient.java
+++ b/core/sql/src/main/java/org/trafodion/sql/HTableClient.java
@@ -114,7 +114,6 @@
private ResultScanner scanner = null;
private ScanHelper scanHelper = null;
Result[] getResultSet = null;
- String lastError;
RMInterface table = null;
private boolean writeToWAL = false;
int numRowsCached = 1;
@@ -352,16 +351,6 @@
return true;
}
- public String getLastError() {
- String ret = lastError;
- lastError = null;
- return ret;
- }
-
- void setLastError(String err) {
- lastError = err;
- }
-
String getTableName() {
return tableName;
}
@@ -1188,10 +1177,7 @@
else
{
if (scanner == null) {
- String err = " fetchRows() called before scanOpen().";
- logger.error(err);
- setLastError(err);
- return -1;
+ throw new IOException("HTableClient.FetchRows() called before scanOpen().");
}
Result[] result = null;
if (preFetch)
diff --git a/core/sql/src/main/java/org/trafodion/sql/HiveClient.java b/core/sql/src/main/java/org/trafodion/sql/HiveClient.java
index 13ee51d..6657aed 100644
--- a/core/sql/src/main/java/org/trafodion/sql/HiveClient.java
+++ b/core/sql/src/main/java/org/trafodion/sql/HiveClient.java
@@ -167,9 +167,8 @@
}
public Object[] getAllTables(String schName)
- throws MetaException, Exception {
- //System.out.println("schName = " + schName);
-
+ throws MetaException, TException {
+ try {
Database db = hmsClient.getDatabase(schName);
if (db == null)
return null;
@@ -179,6 +178,9 @@
return tableList.toArray();
else
return null;
+ } catch (NoSuchObjectException e) {
+ return null;
+ }
}
// Because Hive changed the name of the class containing internal constants changed
diff --git a/core/sql/ustat/hs_cli.cpp b/core/sql/ustat/hs_cli.cpp
index e4d4761..298e9cf 100644
--- a/core/sql/ustat/hs_cli.cpp
+++ b/core/sql/ustat/hs_cli.cpp
@@ -503,7 +503,7 @@
// Obtain any JNI diagnostic text stored in the CLI
const char * HSFuncGetJniErrorStr()
{
- return GetCliGlobals()->currContext()->getJniErrorStrPtr();
+ return GetCliGlobals()->getJniErrorStr();
}
// -----------------------------------------------------------------------