Drizzled Public API Documentation

ha_commands.cc
00001 /* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
00002  *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
00003  *
00004  *  Copyright (C) 2008 Sun Microsystems, Inc.
00005  *
00006  *  This program is free software; you can redistribute it and/or modify
00007  *  it under the terms of the GNU General Public License as published by
00008  *  the Free Software Foundation; version 2 of the License.
00009  *
00010  *  This program is distributed in the hope that it will be useful,
00011  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  *  GNU General Public License for more details.
00014  *
00015  *  You should have received a copy of the GNU General Public License
00016  *  along with this program; if not, write to the Free Software
00017  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00018  */
00019 
00026 #include <config.h>
00027 #include <drizzled/error.h>
00028 #include <drizzled/gettext.h>
00029 #include <drizzled/probes.h>
00030 #include <drizzled/sql_parse.h>
00031 #include <drizzled/session.h>
00032 #include <drizzled/sql_base.h>
00033 #include <drizzled/replication_services.h>
00034 #include <drizzled/lock.h>
00035 #include <drizzled/item/int.h>
00036 #include <drizzled/item/empty_string.h>
00037 #include <drizzled/field/epoch.h>
00038 #include <drizzled/plugin/client.h>
00039 #include <drizzled/internal/my_sys.h>
00040 
00041 using namespace std;
00042 
00043 namespace drizzled
00044 {
00045 
00046 KEY_CREATE_INFO default_key_create_info= { HA_KEY_ALG_UNDEF, 0, {NULL,0} };
00047 
00048 const char *ha_row_type[] = {
00049   "", "FIXED", "DYNAMIC", "COMPRESSED", "REDUNDANT", "COMPACT", "PAGE", "?","?","?"
00050 };
00051 
00052 
00053 
00058 void ha_init_errors(void)
00059 {
00060   // Set the dedicated error messages.
00061   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_KEY_NOT_FOUND,          ER(ER_KEY_NOT_FOUND));
00062   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_FOUND_DUPP_KEY,         ER(ER_DUP_KEY));
00063   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_RECORD_CHANGED,         "Update wich is recoverable");
00064   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_WRONG_INDEX,            "Wrong index given to function");
00065   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_CRASHED,                ER(ER_NOT_KEYFILE));
00066   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_WRONG_IN_RECORD,        ER(ER_CRASHED_ON_USAGE));
00067   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_OUT_OF_MEM,             "Table Cursor out of memory");
00068   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_NOT_A_TABLE,            "Incorrect file format '%.64s'");
00069   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_WRONG_COMMAND,          "Command not supported");
00070   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_OLD_FILE,               ER(ER_OLD_KEYFILE));
00071   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_NO_ACTIVE_RECORD,       "No record read in update");
00072   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_RECORD_DELETED,         "Intern record deleted");
00073   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_RECORD_FILE_FULL,       ER(ER_RECORD_FILE_FULL));
00074   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_INDEX_FILE_FULL,        "No more room in index file '%.64s'");
00075   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_END_OF_FILE,            "End in next/prev/first/last");
00076   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_UNSUPPORTED,            ER(ER_ILLEGAL_HA));
00077   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_TO_BIG_ROW,             "Too big row");
00078   DRIZZLE_ADD_ERROR_MESSAGE(HA_WRONG_CREATE_OPTION,        "Wrong create option");
00079   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_FOUND_DUPP_UNIQUE,      ER(ER_DUP_UNIQUE));
00080   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_UNKNOWN_CHARSET,        "Can't open charset");
00081   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_WRONG_MRG_TABLE_DEF,    ER(ER_WRONG_MRG_TABLE));
00082   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_CRASHED_ON_REPAIR,      ER(ER_CRASHED_ON_REPAIR));
00083   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_CRASHED_ON_USAGE,       ER(ER_CRASHED_ON_USAGE));
00084   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_LOCK_WAIT_TIMEOUT,      ER(ER_LOCK_WAIT_TIMEOUT));
00085   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_LOCK_TABLE_FULL,        ER(ER_LOCK_TABLE_FULL));
00086   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_READ_ONLY_TRANSACTION,  ER(ER_READ_ONLY_TRANSACTION));
00087   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_LOCK_DEADLOCK,          ER(ER_LOCK_DEADLOCK));
00088   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_CANNOT_ADD_FOREIGN,     ER(ER_CANNOT_ADD_FOREIGN));
00089   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_NO_REFERENCED_ROW,      ER(ER_NO_REFERENCED_ROW_2));
00090   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_ROW_IS_REFERENCED,      ER(ER_ROW_IS_REFERENCED_2));
00091   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_NO_SAVEPOINT,           "No savepoint with that name");
00092   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_NON_UNIQUE_BLOCK_SIZE,  "Non unique key block size");
00093   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_NO_SUCH_TABLE,          "No such table: '%.64s'");
00094   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_TABLE_EXIST,            ER(ER_TABLE_EXISTS_ERROR));
00095   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_NO_CONNECTION,          "Could not connect to storage engine");
00096   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_TABLE_DEF_CHANGED,      ER(ER_TABLE_DEF_CHANGED));
00097   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_FOREIGN_DUPLICATE_KEY,  "FK constraint would lead to duplicate key");
00098   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_TABLE_NEEDS_UPGRADE,    ER(ER_TABLE_NEEDS_UPGRADE));
00099   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_TABLE_READONLY,         ER(ER_OPEN_AS_READONLY));
00100   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_AUTOINC_READ_FAILED,    ER(ER_AUTOINC_READ_FAILED));
00101   DRIZZLE_ADD_ERROR_MESSAGE(HA_ERR_AUTOINC_ERANGE,         ER(ER_WARN_DATA_OUT_OF_RANGE));
00102 }
00103 
00104 } /* namespace drizzled */