Commit 2403965d authored by unknown's avatar unknown
Browse files

ndb - allow LIKE with Binary strings


ndb/include/util/NdbSqlUtil.hpp:
  allow LIKE with Binary strings
ndb/src/common/util/NdbSqlUtil.cpp:
  allow LIKE with Binary strings
parent 5d4ac972
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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
+24 −3
Original line number Diff line number Diff line
@@ -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