summaryrefslogtreecommitdiff
path: root/ndb
diff options
context:
space:
mode:
authorbar@mysql.com <>2005-04-06 11:53:15 +0500
committerbar@mysql.com <>2005-04-06 11:53:15 +0500
commit0134a2b286e8402932207e9f2c402c28448568bc (patch)
treee7ff1b9199a6be79542bbe6fbdf4588d1e054d48 /ndb
parent014c8829cbe334787904f611d99d69cb88bbb19f (diff)
downloadmariadb-git-0134a2b286e8402932207e9f2c402c28448568bc.tar.gz
Adding a new parameter for well_formed_length to
return error. We'll use it for better warnign reporting.
Diffstat (limited to 'ndb')
-rw-r--r--ndb/src/ndbapi/NdbIndexOperation.cpp4
-rw-r--r--ndb/src/ndbapi/NdbOperationDefine.cpp4
-rw-r--r--ndb/src/ndbapi/NdbOperationSearch.cpp4
3 files changed, 9 insertions, 3 deletions
diff --git a/ndb/src/ndbapi/NdbIndexOperation.cpp b/ndb/src/ndbapi/NdbIndexOperation.cpp
index 23af646c4c7..39da9c5f5d0 100644
--- a/ndb/src/ndbapi/NdbIndexOperation.cpp
+++ b/ndb/src/ndbapi/NdbIndexOperation.cpp
@@ -354,12 +354,14 @@ int NdbIndexOperation::equal_impl(const NdbColumnImpl* tAttrInfo,
*************************************************************************/
if ((tOpType == WriteRequest)) {
if (!tAttrInfo->m_indexOnly){
+ int dummy_error;
// invalid data can crash kernel
if (cs != NULL &&
(*cs->cset->well_formed_len)(cs,
aValueToWrite,
aValueToWrite + sizeInBytes,
- sizeInBytes) != sizeInBytes)
+ sizeInBytes,
+ &dummy_error) != sizeInBytes)
goto equal_error4;
Uint32 ahValue;
Uint32 sz = totalSizeInWords;
diff --git a/ndb/src/ndbapi/NdbOperationDefine.cpp b/ndb/src/ndbapi/NdbOperationDefine.cpp
index c4aaffb3119..dfc54133e6c 100644
--- a/ndb/src/ndbapi/NdbOperationDefine.cpp
+++ b/ndb/src/ndbapi/NdbOperationDefine.cpp
@@ -526,6 +526,7 @@ NdbOperation::setValue( const NdbColumnImpl* tAttrInfo,
const Uint32 sizeInBytes = tAttrInfo->m_attrSize * tAttrInfo->m_arraySize;
CHARSET_INFO* cs = tAttrInfo->m_cs;
+ int dummy_error;
// invalid data can crash kernel
if (cs != NULL &&
// fast fix bug#7340
@@ -533,7 +534,8 @@ NdbOperation::setValue( const NdbColumnImpl* tAttrInfo,
(*cs->cset->well_formed_len)(cs,
aValue,
aValue + sizeInBytes,
- sizeInBytes) != sizeInBytes) {
+ sizeInBytes,
+ &dummy_error) != sizeInBytes) {
setErrorCodeAbort(744);
return -1;
}
diff --git a/ndb/src/ndbapi/NdbOperationSearch.cpp b/ndb/src/ndbapi/NdbOperationSearch.cpp
index 28a70abcb9b..97b2393e5ed 100644
--- a/ndb/src/ndbapi/NdbOperationSearch.cpp
+++ b/ndb/src/ndbapi/NdbOperationSearch.cpp
@@ -226,12 +226,14 @@ NdbOperation::equal_impl(const NdbColumnImpl* tAttrInfo,
if ((tOpType == InsertRequest) ||
(tOpType == WriteRequest)) {
if (!tAttrInfo->m_indexOnly){
+ int dummy_error;
// invalid data can crash kernel
if (cs != NULL &&
(*cs->cset->well_formed_len)(cs,
aValueToWrite,
aValueToWrite + sizeInBytes,
- sizeInBytes) != sizeInBytes)
+ sizeInBytes,
+ &dummy_error) != sizeInBytes)
goto equal_error4;
Uint32 ahValue;
const Uint32 sz = totalSizeInWords;