mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
9a9a952c37
a compressed table in the system tablespace. db0err.h: Introduce the error code DB_TABLE_ZIP_NO_IBD. Replace the #define directives with an enum, to ease future code merges. These error codes are never written out to files or displayed to the user. Thus they need not remain constant. dict_build_table_def_step(): Return DB_TABLE_ZIP_NO_IBD instead of DB_ERROR. create_table_def(): Report ER_ILLEGAL_HA_CREATE_OPTION "KEY_BLOCK_SIZE" when the table creation fails with DB_TABLE_ZIP_NO_IBD.
90 lines
2.8 KiB
C
90 lines
2.8 KiB
C
/******************************************************
|
|
Global error codes for the database
|
|
|
|
(c) 1996 Innobase Oy
|
|
|
|
Created 5/24/1996 Heikki Tuuri
|
|
*******************************************************/
|
|
|
|
#ifndef db0err_h
|
|
#define db0err_h
|
|
|
|
|
|
enum db_err {
|
|
DB_SUCCESS = 10,
|
|
|
|
/* The following are error codes */
|
|
DB_ERROR,
|
|
DB_OUT_OF_MEMORY,
|
|
DB_OUT_OF_FILE_SPACE,
|
|
DB_LOCK_WAIT,
|
|
DB_DEADLOCK,
|
|
DB_ROLLBACK,
|
|
DB_DUPLICATE_KEY,
|
|
DB_QUE_THR_SUSPENDED,
|
|
DB_MISSING_HISTORY, /* required history data has been
|
|
deleted due to lack of space in
|
|
rollback segment */
|
|
DB_CLUSTER_NOT_FOUND,
|
|
DB_TABLE_NOT_FOUND,
|
|
DB_MUST_GET_MORE_FILE_SPACE, /* the database has to be stopped
|
|
and restarted with more file space */
|
|
DB_TABLE_IS_BEING_USED,
|
|
DB_TOO_BIG_RECORD, /* a record in an index would not fit
|
|
on a compressed page, or it would
|
|
become bigger than 1/2 free space in
|
|
an uncompressed page frame */
|
|
DB_LOCK_WAIT_TIMEOUT, /* lock wait lasted too long */
|
|
DB_NO_REFERENCED_ROW, /* referenced key value not found
|
|
for a foreign key in an insert or
|
|
update of a row */
|
|
DB_ROW_IS_REFERENCED, /* cannot delete or update a row
|
|
because it contains a key value
|
|
which is referenced */
|
|
DB_CANNOT_ADD_CONSTRAINT, /* adding a foreign key constraint
|
|
to a table failed */
|
|
DB_CORRUPTION, /* data structure corruption noticed */
|
|
DB_COL_APPEARS_TWICE_IN_INDEX, /* InnoDB cannot handle an index
|
|
where same column appears twice */
|
|
DB_CANNOT_DROP_CONSTRAINT, /* dropping a foreign key constraint
|
|
from a table failed */
|
|
DB_NO_SAVEPOINT, /* no savepoint exists with the given
|
|
name */
|
|
DB_TABLESPACE_ALREADY_EXISTS, /* we cannot create a new single-table
|
|
tablespace because a file of the same
|
|
name already exists */
|
|
DB_TABLESPACE_DELETED, /* tablespace does not exist or is
|
|
being dropped right now */
|
|
DB_LOCK_TABLE_FULL, /* lock structs have exhausted the
|
|
buffer pool (for big transactions,
|
|
InnoDB stores the lock structs in the
|
|
buffer pool) */
|
|
DB_FOREIGN_DUPLICATE_KEY, /* foreign key constraints
|
|
activated by the operation would
|
|
lead to a duplicate key in some
|
|
table */
|
|
DB_TOO_MANY_CONCURRENT_TRXS, /* when InnoDB runs out of the
|
|
preconfigured undo slots, this can
|
|
only happen when there are too many
|
|
concurrent transactions */
|
|
DB_PRIMARY_KEY_IS_NULL, /* a column in the PRIMARY KEY
|
|
was found to be NULL */
|
|
DB_TABLE_ZIP_NO_IBD, /* trying to create a compressed
|
|
table in the system tablespace */
|
|
|
|
DB_UNSUPPORTED, /* when InnoDB sees any artefact or
|
|
a feature that it can't recoginize or
|
|
work with e.g., FT indexes created by
|
|
a later version of the engine. */
|
|
|
|
/* The following are partial failure codes */
|
|
DB_FAIL,
|
|
DB_OVERFLOW,
|
|
DB_UNDERFLOW,
|
|
DB_STRONG_FAIL,
|
|
DB_ZIP_OVERFLOW,
|
|
DB_RECORD_NOT_FOUND,
|
|
DB_END_OF_INDEX
|
|
};
|
|
|
|
#endif
|