summaryrefslogtreecommitdiff
path: root/storage/connect/jdbconn.cpp
diff options
context:
space:
mode:
authorOlivier Bertrand <bertrandop@gmail.com>2018-08-06 19:42:00 +0200
committerOlivier Bertrand <bertrandop@gmail.com>2018-08-06 19:42:00 +0200
commit9644415fa9d2abf3f8e2265570dc7fbca046b59c (patch)
tree4b2db6fb6501143df4108de451c375cba78b85f5 /storage/connect/jdbconn.cpp
parentc69efab3963703688486287918dda105942d24e7 (diff)
downloadmariadb-git-9644415fa9d2abf3f8e2265570dc7fbca046b59c.tar.gz
- Fix MDEV-16672 Connect: Warnings with 10.0
filamtxt.cpp: DOSFAM::RenameTempFile: Change sprintf to snprintf. filamvct.cpp: VECFAM::RenameTempFile: Change sprintf to snprintf. javaconn.cpp: Add JAVAConn::GetUTFString function. Use it instead of env->GetStringUTFChars. Fix wrong identation. javaconn.h: Add GetUTFString declaration. jdbconn.cpp: Use GetUTFString function instead of env->GetStringUTFChars. jmgoconn.cpp: Use GetUTFString function instead of env->GetStringUTFChars. Fix wrong identation. jsonudf.cpp: change 139 to BMX line 4631. tabjmg.cpp: Add ReleaseStringUTF. Fix wrong identation. tabpivot.cpp: Fix wrong identation. tabutil.cpp: TDBPRX::GetSubTable: Change sprintf to snprintf. modified: storage/connect/filamtxt.cpp modified: storage/connect/filamvct.cpp modified: storage/connect/javaconn.cpp modified: storage/connect/javaconn.h modified: storage/connect/jdbconn.cpp modified: storage/connect/jmgoconn.cpp modified: storage/connect/jsonudf.cpp modified: storage/connect/tabjmg.cpp modified: storage/connect/tabpivot.cpp modified: storage/connect/tabutil.cpp - Fix MDEV-16895 CONNECT engine's get_error_message can cause buffer overflow and server crash with long queries ha_connect_cc: Update version. get_error_message: Remove charset conversion. modified: storage/connect/ha_connect.cc - Fix a server crash on inserting bigint to a JDBC table JDBConn::SetUUID: Suppress check on ctyp that causes a server crash because ctyp can be negative and this triggers an DEBUG_ASSERT on return. modified: storage/connect/jdbconn.cpp - Update jdbc.result mysql-test/connect/r/jdbc.result: Recorded to reflect a message change. modified: storage/connect/mysql-test/connect/r/jdbc.result
Diffstat (limited to 'storage/connect/jdbconn.cpp')
-rw-r--r--storage/connect/jdbconn.cpp34
1 files changed, 13 insertions, 21 deletions
diff --git a/storage/connect/jdbconn.cpp b/storage/connect/jdbconn.cpp
index 33414ca74c2..24da65cf6a8 100644
--- a/storage/connect/jdbconn.cpp
+++ b/storage/connect/jdbconn.cpp
@@ -707,21 +707,14 @@ bool JDBConn::SetUUID(PGLOBAL g, PTDBJDBC tjp)
goto err;
} // endif rc
- // Returns 666 is case of error
- //jtyp = env->CallIntMethod(job, typid, 5, nullptr);
+ // Should return 666 is case of error (not done yet)
+ ctyp = (int)env->CallIntMethod(job, intfldid, 5, nullptr);
- //if (Check((jtyp == 666) ? -1 : 1)) {
- // sprintf(g->Message, "Getting jtyp: %s", Msg);
+ //if (Check((ctyp == 666) ? -1 : 1)) {
+ // sprintf(g->Message, "Getting ctyp: %s", Msg);
// goto err;
//} // endif ctyp
- ctyp = (int)env->CallIntMethod(job, intfldid, 5, nullptr);
-
- if (Check(ctyp)) {
- sprintf(g->Message, "Getting ctyp: %s", Msg);
- goto err;
- } // endif ctyp
-
if (ctyp == 1111)
((PJDBCCOL)colp)->uuid = true;
@@ -836,11 +829,11 @@ bool JDBConn::Connect(PJPARM sop)
jstring s = (jstring)env->CallObjectMethod(job, qcid);
if (s != nullptr) {
- char *qch = (char*)env->GetStringUTFChars(s, (jboolean)false);
+ char *qch = GetUTFString(s);
m_IDQuoteChar[0] = *qch;
} else {
s = (jstring)env->CallObjectMethod(job, errid);
- Msg = (char*)env->GetStringUTFChars(s, (jboolean)false);
+ Msg = GetUTFString(s);
} // endif s
} // endif qcid
@@ -1018,7 +1011,7 @@ void JDBConn::SetColumnValue(int rank, PSZ name, PVAL val)
cn = nullptr;
if (cn) {
- field = env->GetStringUTFChars(cn, (jboolean)false);
+ field = GetUTFString(cn);
val->SetValue_psz((PSZ)field);
} else
val->Reset();
@@ -1092,8 +1085,7 @@ void JDBConn::SetColumnValue(int rank, PSZ name, PVAL val)
cn = nullptr;
if (cn) {
- const char *field = env->GetStringUTFChars(cn, (jboolean)false);
- val->SetValue_psz((PSZ)field);
+ val->SetValue_psz((PSZ)GetUTFString(cn));
} else
val->Reset();
@@ -1372,19 +1364,19 @@ bool JDBConn::SetParam(JDBCCOL *colp)
for (i = 0, n = 0; i < size; i++) {
crp = qrp->Colresp;
js = (jstring)env->GetObjectArrayElement(s, n++);
- sval = (PSZ)env->GetStringUTFChars(js, 0);
+ sval = GetUTFString(js);
crp->Kdata->SetValue(sval, i);
crp = crp->Next;
js = (jstring)env->GetObjectArrayElement(s, n++);
- sval = (PSZ)env->GetStringUTFChars(js, 0);
+ sval = GetUTFString(js);
crp->Kdata->SetValue(sval, i);
crp = crp->Next;
js = (jstring)env->GetObjectArrayElement(s, n++);
- sval = (PSZ)env->GetStringUTFChars(js, 0);
+ sval = GetUTFString(js);
crp->Kdata->SetValue(sval, i);
crp = crp->Next;
js = (jstring)env->GetObjectArrayElement(s, n++);
- sval = (PSZ)env->GetStringUTFChars(js, 0);
+ sval = GetUTFString(js);
crp->Kdata->SetValue(sval, i);
} // endfor i
@@ -1470,7 +1462,7 @@ bool JDBConn::SetParam(JDBCCOL *colp)
return NULL;
} // endif label
- name = env->GetStringUTFChars(label, (jboolean)false);
+ name = GetUTFString(label);
crp = qrp->Colresp; // Column_Name
crp->Kdata->SetValue((char*)name, i);
n = env->GetIntArrayElements(val, 0);