/* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "ndb_ndbapi_util.h" #include // memcpy /* helper function to pack a ndb varchar */ char *ndb_pack_varchar(const NdbDictionary::Column *col, char *buf, const char *str, int sz) { switch (col->getArrayType()) { case NdbDictionary::Column::ArrayTypeFixed: memcpy(buf, str, sz); break; case NdbDictionary::Column::ArrayTypeShortVar: *(uchar*)buf= (uchar)sz; memcpy(buf + 1, str, sz); break; case NdbDictionary::Column::ArrayTypeMediumVar: int2store(buf, sz); memcpy(buf + 2, str, sz); break; } return buf; } int cmp_frm(const NdbDictionary::Table* ndbtab, const void* pack_data, size_t pack_length) { DBUG_ENTER("cmp_frm"); /* Compare the NDB tables FrmData with frm file blob in pack_data. */ if ((pack_length != ndbtab->getFrmLength()) || (memcmp(pack_data, ndbtab->getFrmData(), pack_length))) DBUG_RETURN(1); DBUG_RETURN(0); }