Commit 1bc23847 authored by unknown's avatar unknown
Browse files

ha_ndbcluster.cc:

  remove typecheck in ndb handler not needed


sql/ha_ndbcluster.cc:
  remove typecheck in ndb handler not needed
parent 6de6d3ad
Loading
Loading
Loading
Loading
+10 −23
Original line number Diff line number Diff line
@@ -464,13 +464,12 @@ bool ha_ndbcluster::get_error_message(int error,
}


#ifndef DBUG_OFF
/*
  Check if type is supported by NDB.
  TODO Use this once in open(), not in every operation

*/

static inline bool ndb_supported_type(enum_field_types type)
static bool ndb_supported_type(enum_field_types type)
{
  switch (type) {
  case MYSQL_TYPE_DECIMAL:    
@@ -502,6 +501,7 @@ static inline bool ndb_supported_type(enum_field_types type)
  }
  return FALSE;
}
#endif /* !DBUG_OFF */


/*
@@ -531,16 +531,11 @@ int ha_ndbcluster::set_ndb_key(NdbOperation *ndb_op, Field *field,
                       pack_len));
  DBUG_DUMP("key", (char*)field_ptr, pack_len);
  
  if (ndb_supported_type(field->type()))
  {
    if (! (field->flags & BLOB_FLAG))
  DBUG_ASSERT(ndb_supported_type(field->type()));
  DBUG_ASSERT(! (field->flags & BLOB_FLAG));
  // Common implementation for most field types
  DBUG_RETURN(ndb_op->equal(fieldnr, (char*) field_ptr, pack_len) != 0);
}
  // Unhandled field types
  DBUG_PRINT("error", ("Field type %d not supported", field->type()));
  DBUG_RETURN(2);
}


/*
@@ -558,7 +553,7 @@ int ha_ndbcluster::set_ndb_value(NdbOperation *ndb_op, Field *field,
                       pack_len, field->is_null()?"Y":"N"));
  DBUG_DUMP("value", (char*) field_ptr, pack_len);

  if (ndb_supported_type(field->type()))
  DBUG_ASSERT(ndb_supported_type(field->type()));
  {
    // ndb currently does not support size 0
    const byte *empty_field= "";
@@ -607,9 +602,6 @@ int ha_ndbcluster::set_ndb_value(NdbOperation *ndb_op, Field *field,
    }
    DBUG_RETURN(1);
  }
  // Unhandled field types
  DBUG_PRINT("error", ("Field type %d not supported", field->type()));
  DBUG_RETURN(2);
}


@@ -705,8 +697,7 @@ int ha_ndbcluster::get_ndb_value(NdbOperation *ndb_op, Field *field,
  if (field != NULL)
  {
      DBUG_ASSERT(buf);
    if (ndb_supported_type(field->type()))
    {
      DBUG_ASSERT(ndb_supported_type(field->type()));
      DBUG_ASSERT(field->ptr != NULL);
      if (! (field->flags & BLOB_FLAG))
      {	
@@ -731,10 +722,6 @@ int ha_ndbcluster::get_ndb_value(NdbOperation *ndb_op, Field *field,
      }
      DBUG_RETURN(1);
  }
    // Unhandled field types
    DBUG_PRINT("error", ("Field type %d not supported", field->type()));
    DBUG_RETURN(2);
  }

  // Used for hidden key only
  m_value[fieldnr].rec= ndb_op->getValue(fieldnr, NULL);