/******************************************************
Global error codes for the database

(c) 1996 Innobase Oy

Created 5/24/1996 Heikki Tuuri
*******************************************************/

#ifndef db0err_h
#define db0err_h


#define DB_SUCCESS		10

/* The following are error codes */
#define	DB_ERROR		11
#define DB_OUT_OF_MEMORY	12
#define DB_OUT_OF_FILE_SPACE	13
#define DB_LOCK_WAIT		14
#define DB_DEADLOCK		15
#define DB_ROLLBACK		16
#define DB_DUPLICATE_KEY	17
#define DB_QUE_THR_SUSPENDED	18
#define DB_MISSING_HISTORY	19	/* required history data has been
					deleted due to lack of space in
					rollback segment */
#define DB_CLUSTER_NOT_FOUND	30
#define DB_TABLE_NOT_FOUND	31
#define DB_MUST_GET_MORE_FILE_SPACE 32	/* the database has to be stopped
					and restarted with more file space */
#define DB_TABLE_IS_BEING_USED	33
#define DB_TOO_BIG_RECORD	34	/* a record in an index would become
					bigger than 1/2 free space in a page
					frame */
#define DB_LOCK_WAIT_TIMEOUT	35	/* lock wait lasted too long */
#define DB_NO_REFERENCED_ROW	36	/* referenced key value not found
					for a foreign key in an insert or
					update of a row */
#define DB_ROW_IS_REFERENCED	37	/* cannot delete or update a row
					because it contains a key value
					which is referenced */
#define DB_CANNOT_ADD_CONSTRAINT 38	/* adding a foreign key constraint
					to a table failed */
#define DB_CORRUPTION		39	/* data structure corruption noticed */
#define DB_COL_APPEARS_TWICE_IN_INDEX 40 /* InnoDB cannot handle an index
					    where same column appears twice */
#define DB_CANNOT_DROP_CONSTRAINT 41	/* dropping a foreign key constraint
					from a table failed */
#define DB_NO_SAVEPOINT		42	/* no savepoint exists with the given
					name */
#define	DB_TABLESPACE_ALREADY_EXISTS 43 /* we cannot create a new single-table
				        tablespace because a file of the same
					name already exists */
#define DB_TABLESPACE_DELETED	44	/* tablespace does not exist or is
					being dropped right now */
#define	DB_LOCK_TABLE_FULL	45	/* lock structs have exhausted the
					buffer pool (for big transactions,
					InnoDB stores the lock structs in the
					buffer pool) */

/* The following are partial failure codes */
#define DB_FAIL 		1000
#define DB_OVERFLOW 		1001
#define DB_UNDERFLOW 		1002
#define DB_STRONG_FAIL		1003
#define DB_RECORD_NOT_FOUND	1500
#define DB_END_OF_INDEX		1501

#endif 
