diff --git a/ndb/include/util/NdbSqlUtil.hpp b/ndb/include/util/NdbSqlUtil.hpp index ebcfc562ec4..0088978992e 100644 --- a/ndb/include/util/NdbSqlUtil.hpp +++ b/ndb/include/util/NdbSqlUtil.hpp @@ -178,8 +178,11 @@ private: static Cmp cmpDecimalunsigned; // static Like likeChar; + static Like likeBinary; static Like likeVarchar; + static Like likeVarbinary; static Like likeLongvarchar; + static Like likeLongvarbinary; }; #endif diff --git a/ndb/src/common/util/NdbSqlUtil.cpp b/ndb/src/common/util/NdbSqlUtil.cpp index 12ba1d0c4e6..db4353dba93 100644 --- a/ndb/src/common/util/NdbSqlUtil.cpp +++ b/ndb/src/common/util/NdbSqlUtil.cpp @@ -107,12 +107,12 @@ NdbSqlUtil::m_typeList[] = { { // 16 Type::Binary, cmpBinary, - NULL + likeBinary }, { // 17 Type::Varbinary, cmpVarbinary, - NULL + likeVarbinary }, { // 18 Type::Datetime, @@ -147,7 +147,7 @@ NdbSqlUtil::m_typeList[] = { { // 24 Type::Longvarbinary, cmpLongvarbinary, - NULL + likeLongvarbinary }, { // 25 Type::Time, @@ -805,6 +805,13 @@ NdbSqlUtil::likeChar(const void* info, const void* p1, unsigned n1, const void* return k; } +int +NdbSqlUtil::likeBinary(const void* info, const void* p1, unsigned n1, const void* p2, unsigned n2) +{ + assert(info == 0); + return likeChar(&my_charset_bin, p1, n1, p2, n2); +} + int NdbSqlUtil::likeVarchar(const void* info, const void* p1, unsigned n1, const void* p2, unsigned n2) { @@ -825,6 +832,13 @@ NdbSqlUtil::likeVarchar(const void* info, const void* p1, unsigned n1, const voi return -1; } +int +NdbSqlUtil::likeVarbinary(const void* info, const void* p1, unsigned n1, const void* p2, unsigned n2) +{ + assert(info == 0); + return likeVarchar(&my_charset_bin, p1, n1, p2, n2); +} + int NdbSqlUtil::likeLongvarchar(const void* info, const void* p1, unsigned n1, const void* p2, unsigned n2) { @@ -845,6 +859,13 @@ NdbSqlUtil::likeLongvarchar(const void* info, const void* p1, unsigned n1, const return -1; } +int +NdbSqlUtil::likeLongvarbinary(const void* info, const void* p1, unsigned n1, const void* p2, unsigned n2) +{ + assert(info == 0); + return likeLongvarchar(&my_charset_bin, p1, n1, p2, n2); +} + // check charset bool