diff options
author | bar@mysql.com <> | 2005-04-06 11:53:15 +0500 |
---|---|---|
committer | bar@mysql.com <> | 2005-04-06 11:53:15 +0500 |
commit | 0134a2b286e8402932207e9f2c402c28448568bc (patch) | |
tree | e7ff1b9199a6be79542bbe6fbdf4588d1e054d48 /ndb | |
parent | 014c8829cbe334787904f611d99d69cb88bbb19f (diff) | |
download | mariadb-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.cpp | 4 | ||||
-rw-r--r-- | ndb/src/ndbapi/NdbOperationDefine.cpp | 4 | ||||
-rw-r--r-- | ndb/src/ndbapi/NdbOperationSearch.cpp | 4 |
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; |