MySQL 8.0.40
Source Code Documentation
|
This file includes constants used by all storage engines. More...
#include <limits.h>
#include <sys/types.h>
#include "my_config.h"
#include "my_double2ulonglong.h"
#include "my_inttypes.h"
#include "my_macros.h"
Go to the source code of this file.
Classes | |
struct | key_range |
struct | KEY_MULTI_RANGE |
Macros | |
#define | HA_OPEN_ABORT_IF_LOCKED 0 /* default */ |
#define | HA_OPEN_WAIT_IF_LOCKED 1 |
#define | HA_OPEN_IGNORE_IF_LOCKED 2 |
#define | HA_OPEN_TMP_TABLE 4 /* Table is a temp table */ |
#define | HA_OPEN_DELAY_KEY_WRITE 8 /* Don't update index */ |
#define | HA_OPEN_ABORT_IF_CRASHED 16 |
#define | HA_OPEN_FOR_REPAIR 32 /* open even if crashed */ |
#define | HA_OPEN_FROM_SQL_LAYER 64 |
#define | HA_OPEN_COPY 256 /* Open copy (for repair) */ |
#define | HA_OPEN_INTERNAL_TABLE 512 |
Internal temp table, used for temporary results; one or more instance of it may be be created. More... | |
#define | HA_EXTRA_PREPARE_FOR_DELETE HA_EXTRA_PREPARE_FOR_DROP |
#define | HA_MAX_KEYTYPE 31 /* Must be log2-1 */ |
#define | HA_NOSAME 1 |
Do not allow duplicate records. More... | |
#define | HA_PACK_KEY (1 << 1) |
Pack string key to previous key (optimization supported by MyISAM). More... | |
#define | HA_SPACE_PACK_USED (1 << 2) |
Some key part packs space. More... | |
#define | HA_VAR_LENGTH_KEY (1 << 3) |
Some key part has variable length. More... | |
#define | HA_AUTO_KEY (1 << 4) |
Auto-increment key. More... | |
#define | HA_BINARY_PACK_KEY (1 << 5) |
Packing of all keys to previous key (optimization supported by MyISAM). More... | |
#define | HA_NULL_PART_KEY (1 << 6) |
Some key part is nullable. More... | |
#define | HA_FULLTEXT (1 << 7) |
Full-text key. More... | |
#define | HA_UNIQUE_CHECK (1 << 8) |
Flag in MI_KEYDEF::flag which marks MyISAM's "uniques". More... | |
#define | HA_SORT_ALLOWS_SAME (1 << 9) |
Internal bit used when sorting records. More... | |
#define | HA_SPATIAL (1 << 10) |
Spatial key. More... | |
#define | HA_NULL_ARE_EQUAL (1 << 11) |
NULLs in key are compared as equal. More... | |
#define | HA_USES_COMMENT (1 << 12) |
Key has comment. More... | |
#define | HA_GENERATED_KEY (1 << 13) |
Key was automatically created to support Foreign Key constraint. More... | |
#define | HA_KEYFLAG_MASK |
#define | HA_USES_PARSER (1 << 14) |
Fulltext index uses [pre]parser. More... | |
#define | HA_USES_BLOCK_SIZE (1 << 15) |
Key uses KEY_BLOCK_SIZE option. More... | |
#define | HA_KEY_HAS_PART_KEY_SEG (1 << 16) |
Key contains partial segments. More... | |
#define | HA_KEY_RENAMED (1 << 17) |
Key was renamed (or is result of renaming a key). More... | |
#define | HA_VIRTUAL_GEN_KEY (1 << 18) |
Set if a key is on any virtual generated columns. More... | |
#define | HA_MULTI_VALUED_KEY (1 << 19) |
Multi-valued key. More... | |
#define | HA_SPACE_PACK 1 /* Pack space in key-seg */ |
#define | HA_PART_KEY_SEG 4 /* Used by MySQL for part-key-cols */ |
#define | HA_VAR_LENGTH_PART 8 |
#define | HA_NULL_PART 16 |
#define | HA_BLOB_PART 32 |
#define | HA_SWAP_KEY 64 |
#define | HA_REVERSE_SORT 128 /* Sort key in reverse order */ |
#define | HA_NO_SORT 256 /* do not bother sorting on this keyseg */ |
#define | HA_END_SPACE_ARE_EQUAL 512 |
#define | HA_BIT_PART 1024 |
#define | HA_OPTION_PACK_RECORD 1 |
Indicates that storage engine needs to use packed row format. More... | |
#define | HA_OPTION_PACK_KEYS 2 |
PACK_KEYS=1 option was specified. More... | |
#define | HA_OPTION_COMPRESS_RECORD 4 |
Flag indicating that table is compressed. More... | |
#define | HA_OPTION_UNUSED1 8 |
Unused. More... | |
#define | HA_OPTION_TMP_TABLE 16 |
Storage engine (MyISAM) internal flag for marking temporary tables. More... | |
#define | HA_OPTION_CHECKSUM 32 |
CHECKSUM=1 option was specified. More... | |
#define | HA_OPTION_DELAY_KEY_WRITE 64 |
DELAY_KEY_WRITE=1 option was specified. More... | |
#define | HA_OPTION_NO_PACK_KEYS 128 |
PACK_KEYS=0 option was specified. More... | |
#define | HA_OPTION_CREATE_FROM_ENGINE 256 |
Flag specific to table creation and HA_CREATE_INFO::table_options. More... | |
#define | HA_OPTION_RELIES_ON_SQL_LAYER 512 |
Storage engine (MyISAM) internal flag for marking tables which rely on SQL-layer because they have keys using fulltext parser plugin. More... | |
#define | HA_OPTION_UNUSED2 1024 |
Unused. More... | |
#define | HA_OPTION_UNUSED3 2048 |
Unused. More... | |
#define | HA_OPTION_STATS_PERSISTENT 4096 |
STATS_PERSISTENT=1 has been specified in the SQL command (either CREATE or ALTER TABLE). More... | |
#define | HA_OPTION_NO_STATS_PERSISTENT 8192 |
STATS_PERSISTENT=0 has been specified in CREATE/ALTER TABLE. More... | |
#define | HA_OPTION_TEMP_COMPRESS_RECORD 16384 |
MyISAM internal flag used by myisamchk external tool. More... | |
#define | HA_OPTION_READ_ONLY_DATA 32768 |
MyISAM internal flag which marks table as read-only. More... | |
#define | HA_OPTION_NO_CHECKSUM (1L << 17) |
CHECKSUM=0 option was specified. More... | |
#define | HA_OPTION_NO_DELAY_KEY_WRITE (1L << 18) |
DELAY_KEY_WRITE=0 option was specified. More... | |
#define | HA_DONT_TOUCH_DATA 1 /* Don't empty datafile (isamchk) */ |
#define | HA_PACK_RECORD 2 /* Request packed record format */ |
#define | HA_CREATE_TMP_TABLE 4 |
#define | HA_CREATE_CHECKSUM 8 |
#define | HA_CREATE_KEEP_FILES 16 /* don't overwrite .MYD and MYI */ |
#define | HA_CREATE_PAGE_CHECKSUM 32 |
#define | HA_CREATE_DELAY_KEY_WRITE 64 |
#define | HA_CREATE_RELIES_ON_SQL_LAYER 128 |
#define | HA_CREATE_INTERNAL_TABLE 256 |
#define | HA_STATUS_POS 1 |
#define | HA_STATUS_NO_LOCK 2 |
#define | HA_STATUS_TIME 4 |
#define | HA_STATUS_CONST 8 |
#define | HA_STATUS_VARIABLE 16 |
#define | HA_STATUS_ERRKEY 32 |
#define | HA_STATUS_AUTO 64 |
#define | HA_STATUS_VARIABLE_EXTRA 128 |
#define | HA_ERR_FIRST 120 |
Copy of first error nr. More... | |
#define | HA_ERR_KEY_NOT_FOUND 120 |
Didn't find key on read or update. More... | |
#define | HA_ERR_FOUND_DUPP_KEY 121 |
Duplicate key on write. More... | |
#define | HA_ERR_INTERNAL_ERROR 122 |
Internal error. More... | |
#define | HA_ERR_RECORD_CHANGED 123 |
Uppdate with is recoverable. More... | |
#define | HA_ERR_WRONG_INDEX 124 |
Wrong index given to function. More... | |
#define | HA_ERR_ROLLED_BACK 125 |
Transaction has been rolled back. More... | |
#define | HA_ERR_CRASHED 126 |
Indexfile is crashed. More... | |
#define | HA_ERR_WRONG_IN_RECORD 127 |
Record-file is crashed. More... | |
#define | HA_ERR_OUT_OF_MEM 128 |
Record-file is crashed. More... | |
#define | HA_ERR_NOT_A_TABLE 130 |
not a MYI file - no signature More... | |
#define | HA_ERR_WRONG_COMMAND 131 |
Command not supported. More... | |
#define | HA_ERR_OLD_FILE 132 |
old database file More... | |
#define | HA_ERR_NO_ACTIVE_RECORD 133 |
No record read in update() More... | |
#define | HA_ERR_RECORD_DELETED 134 |
A record is not there. More... | |
#define | HA_ERR_RECORD_FILE_FULL 135 |
No more room in file. More... | |
#define | HA_ERR_INDEX_FILE_FULL 136 |
No more room in file. More... | |
#define | HA_ERR_END_OF_FILE 137 |
end in next/prev/first/last More... | |
#define | HA_ERR_UNSUPPORTED 138 |
unsupported extension used More... | |
#define | HA_ERR_TOO_BIG_ROW 139 |
Too big row. More... | |
#define | HA_WRONG_CREATE_OPTION 140 |
Wrong create option. More... | |
#define | HA_ERR_FOUND_DUPP_UNIQUE 141 |
Duplicate unique on write. More... | |
#define | HA_ERR_UNKNOWN_CHARSET 142 |
Can't open charset. More... | |
#define | HA_ERR_WRONG_MRG_TABLE_DEF 143 |
conflicting tables in MERGE More... | |
#define | HA_ERR_CRASHED_ON_REPAIR 144 |
Last (automatic?) repair failed. More... | |
#define | HA_ERR_CRASHED_ON_USAGE 145 |
Table must be repaired. More... | |
#define | HA_ERR_LOCK_WAIT_TIMEOUT 146 |
#define | HA_ERR_LOCK_TABLE_FULL 147 |
#define | HA_ERR_READ_ONLY_TRANSACTION 148 |
Updates not allowed. More... | |
#define | HA_ERR_LOCK_DEADLOCK 149 |
#define | HA_ERR_CANNOT_ADD_FOREIGN 150 |
Cannot add a foreign key constr. More... | |
#define | HA_ERR_NO_REFERENCED_ROW 151 |
Cannot add a child row. More... | |
#define | HA_ERR_ROW_IS_REFERENCED 152 |
Cannot delete a parent row. More... | |
#define | HA_ERR_NO_SAVEPOINT 153 |
No savepoint with that name. More... | |
#define | HA_ERR_NON_UNIQUE_BLOCK_SIZE 154 |
Non unique key block size. More... | |
#define | HA_ERR_NO_SUCH_TABLE 155 |
The table does not exist in engine. More... | |
#define | HA_ERR_TABLE_EXIST 156 |
The table existed in storage engine. More... | |
#define | HA_ERR_NO_CONNECTION 157 |
Could not connect to storage engine. More... | |
#define | HA_ERR_NULL_IN_SPATIAL 158 |
NULLs are not supported in spatial index. More... | |
#define | HA_ERR_TABLE_DEF_CHANGED 159 |
The table changed in storage engine. More... | |
#define | HA_ERR_NO_PARTITION_FOUND 160 |
There's no partition in table for given value. More... | |
#define | HA_ERR_RBR_LOGGING_FAILED 161 |
Row-based binlogging of row failed. More... | |
#define | HA_ERR_DROP_INDEX_FK 162 |
Index needed in foreign key constraint. More... | |
#define | HA_ERR_FOREIGN_DUPLICATE_KEY 163 |
Upholding foreign key constraints would lead to a duplicate key error in some other table. More... | |
#define | HA_ERR_TABLE_NEEDS_UPGRADE 164 |
The table changed in storage engine. More... | |
#define | HA_ERR_TABLE_READONLY 165 |
The table is not writable. More... | |
#define | HA_ERR_AUTOINC_READ_FAILED 166 |
Failed to get next autoinc value. More... | |
#define | HA_ERR_AUTOINC_ERANGE 167 |
Failed to set row autoinc value. More... | |
#define | HA_ERR_GENERIC 168 |
Generic error. More... | |
#define | HA_ERR_RECORD_IS_THE_SAME 169 |
row not actually updated: new values same as the old values More... | |
#define | HA_ERR_LOGGING_IMPOSSIBLE 170 |
It is not possible to log this statement. More... | |
#define | HA_ERR_CORRUPT_EVENT 171 |
The event was corrupt, leading to illegal data being read. More... | |
#define | HA_ERR_NEW_FILE 172 |
New file format. More... | |
#define | HA_ERR_ROWS_EVENT_APPLY 173 |
The event could not be processed no other handler error happened. More... | |
#define | HA_ERR_INITIALIZATION 174 |
Error during initialization. More... | |
#define | HA_ERR_FILE_TOO_SHORT 175 |
File too short. More... | |
#define | HA_ERR_WRONG_CRC 176 |
Wrong CRC on page. More... | |
#define | HA_ERR_TOO_MANY_CONCURRENT_TRXS 177 |
Too many active concurrent transactions. More... | |
#define | HA_ERR_NOT_IN_LOCK_PARTITIONS 178 |
There's no explicitly listed partition in table for the given value. More... | |
#define | HA_ERR_INDEX_COL_TOO_LONG 179 |
Index column length exceeds limit. More... | |
#define | HA_ERR_INDEX_CORRUPT 180 |
InnoDB index corrupted. More... | |
#define | HA_ERR_UNDO_REC_TOO_BIG 181 |
Undo log record too big. More... | |
#define | HA_FTS_INVALID_DOCID 182 |
Invalid InnoDB Doc ID. More... | |
#define | HA_ERR_TABLE_IN_FK_CHECK 183 |
Table being used in foreign key check. More... | |
#define | HA_ERR_TABLESPACE_EXISTS 184 |
The tablespace existed in storage engine. More... | |
#define | HA_ERR_TOO_MANY_FIELDS 185 |
Table has too many columns. More... | |
#define | HA_ERR_ROW_IN_WRONG_PARTITION 186 |
Row in wrong partition. More... | |
#define | HA_ERR_INNODB_READ_ONLY 187 |
InnoDB is in read only mode. More... | |
#define | HA_ERR_FTS_EXCEED_RESULT_CACHE_LIMIT 188 |
FTS query exceeds result cache limit. More... | |
#define | HA_ERR_TEMP_FILE_WRITE_FAILURE 189 |
Temporary file write failure. More... | |
#define | HA_ERR_INNODB_FORCED_RECOVERY 190 |
Innodb is in force recovery mode. More... | |
#define | HA_ERR_FTS_TOO_MANY_WORDS_IN_PHRASE 191 |
Too many words in a phrase. More... | |
#define | HA_ERR_FK_DEPTH_EXCEEDED 192 |
FK cascade depth exceeded. More... | |
#define | HA_MISSING_CREATE_OPTION 193 |
Option Missing during Create. More... | |
#define | HA_ERR_SE_OUT_OF_MEMORY 194 |
Out of memory in storage engine. More... | |
#define | HA_ERR_TABLE_CORRUPT 195 |
Table/Clustered index is corrupted. More... | |
#define | HA_ERR_QUERY_INTERRUPTED 196 |
The query was interrupted. More... | |
#define | HA_ERR_TABLESPACE_MISSING 197 |
Missing Tablespace. More... | |
#define | HA_ERR_TABLESPACE_IS_NOT_EMPTY 198 |
Tablespace is not empty. More... | |
#define | HA_ERR_WRONG_FILE_NAME 199 |
Invalid Filename. More... | |
#define | HA_ERR_NOT_ALLOWED_COMMAND 200 |
Operation is not allowed. More... | |
#define | HA_ERR_COMPUTE_FAILED 201 |
Compute generated column value failed. More... | |
#define | HA_ERR_ROW_FORMAT_CHANGED 202 |
Table's row format has changed in the storage engine. More... | |
#define | HA_ERR_NO_WAIT_LOCK 203 |
Don't wait for record lock. More... | |
#define | HA_ERR_DISK_FULL_NOWAIT 204 |
No more room in disk. More... | |
#define | HA_ERR_NO_SESSION_TEMP 205 |
No session temporary space available. More... | |
#define | HA_ERR_WRONG_TABLE_NAME 206 |
Wrong or Invalid table name. More... | |
#define | HA_ERR_TOO_LONG_PATH 207 |
Path is too long for the OS. More... | |
#define | HA_ERR_SAMPLING_INIT_FAILED 208 |
Histogram sampling initialization failed. More... | |
#define | HA_ERR_FTS_TOO_MANY_NESTED_EXP 209 |
Too many sub-expression in search string. More... | |
#define | HA_ERR_LAST 209 |
Copy of last error number. More... | |
#define | HA_ERR_ERRORS (HA_ERR_LAST - HA_ERR_FIRST + 1) |
#define | HA_NAMELEN 64 /* Max length of saved filename */ |
#define | NO_SUCH_KEY (~(uint)0) /* used as a key no. */ |
#define | HA_WHOLE_KEY (~(key_part_map)0) |
#define | SEARCH_FIND 1 |
#define | SEARCH_NO_FIND 2 |
#define | SEARCH_SAME 4 |
#define | SEARCH_BIGGER 8 |
#define | SEARCH_SMALLER 16 |
#define | SEARCH_SAVE_BUFF 32 |
#define | SEARCH_UPDATE 64 |
#define | SEARCH_PREFIX 128 |
#define | SEARCH_LAST 256 |
#define | MBR_CONTAIN 512 |
#define | MBR_INTERSECT 1024 |
#define | MBR_WITHIN 2048 |
#define | MBR_DISJOINT 4096 |
#define | MBR_EQUAL 8192 |
#define | MBR_DATA 16384 |
#define | SEARCH_NULL_ARE_EQUAL 32768 /* NULL in keys are equal */ |
#define | SEARCH_NULL_ARE_NOT_EQUAL 65536 /* NULL in keys are not equal */ |
#define | QUICK_USED 1 |
#define | READ_CACHE_USED 2 |
#define | READ_CHECK_USED 4 |
#define | KEY_READ_USED 8 |
#define | WRITE_CACHE_USED 16 |
#define | OPT_NO_ROWS 32 |
#define | HA_STATE_CHANGED 1 /* Database has changed */ |
#define | HA_STATE_AKTIV 2 /* Has a current record */ |
#define | HA_STATE_WRITTEN 4 /* Record is written */ |
#define | HA_STATE_DELETED 8 |
#define | HA_STATE_NEXT_FOUND 16 /* Next found record (record before) */ |
#define | HA_STATE_PREV_FOUND 32 /* Prev found record (record after) */ |
#define | HA_STATE_NO_KEY 64 /* Last read didn't find record */ |
#define | HA_STATE_KEY_CHANGED 128 |
#define | HA_STATE_WRITE_AT_END 256 /* set in _ps_find_writepos */ |
#define | HA_STATE_BUFF_SAVED 512 /* If current keybuff is info->buff */ |
#define | HA_STATE_ROW_CHANGED 1024 /* To invalidate ROW cache */ |
#define | HA_STATE_EXTEND_BLOCK 2048 |
#define | rows2double(A) ulonglong2double(A) |
#define | HA_POS_ERROR (~(ha_rows)0) |
#define | HA_OFFSET_ERROR (~(my_off_t)0) |
#define | MAX_FILE_SIZE LLONG_MAX |
#define | HA_VARCHAR_PACKLENGTH(field_length) ((field_length) < 256 ? 1 : 2) |
Typedefs | |
typedef ulong | key_part_map |
typedef my_off_t | ha_rows |
Variables | |
constexpr const ulong | HA_INDEX_USES_ENGINE_ATTRIBUTE {1UL << 20} |
constexpr const ulong | HA_INDEX_USES_SECONDARY_ENGINE_ATTRIBUTE {1UL << 21} |
This file includes constants used by all storage engines.
#define HA_AUTO_KEY (1 << 4) |
Auto-increment key.
#define HA_BINARY_PACK_KEY (1 << 5) |
Packing of all keys to previous key (optimization supported by MyISAM).
#define HA_BIT_PART 1024 |
#define HA_BLOB_PART 32 |
#define HA_CREATE_CHECKSUM 8 |
#define HA_CREATE_DELAY_KEY_WRITE 64 |
#define HA_CREATE_INTERNAL_TABLE 256 |
#define HA_CREATE_KEEP_FILES 16 /* don't overwrite .MYD and MYI */ |
#define HA_CREATE_PAGE_CHECKSUM 32 |
#define HA_CREATE_RELIES_ON_SQL_LAYER 128 |
#define HA_CREATE_TMP_TABLE 4 |
#define HA_DONT_TOUCH_DATA 1 /* Don't empty datafile (isamchk) */ |
#define HA_END_SPACE_ARE_EQUAL 512 |
#define HA_ERR_AUTOINC_ERANGE 167 |
Failed to set row autoinc value.
#define HA_ERR_AUTOINC_READ_FAILED 166 |
Failed to get next autoinc value.
#define HA_ERR_CANNOT_ADD_FOREIGN 150 |
Cannot add a foreign key constr.
#define HA_ERR_COMPUTE_FAILED 201 |
Compute generated column value failed.
#define HA_ERR_CORRUPT_EVENT 171 |
The event was corrupt, leading to illegal data being read.
#define HA_ERR_CRASHED 126 |
Indexfile is crashed.
#define HA_ERR_CRASHED_ON_REPAIR 144 |
Last (automatic?) repair failed.
#define HA_ERR_CRASHED_ON_USAGE 145 |
Table must be repaired.
#define HA_ERR_DISK_FULL_NOWAIT 204 |
No more room in disk.
#define HA_ERR_DROP_INDEX_FK 162 |
Index needed in foreign key constraint.
#define HA_ERR_END_OF_FILE 137 |
end in next/prev/first/last
#define HA_ERR_ERRORS (HA_ERR_LAST - HA_ERR_FIRST + 1) |
#define HA_ERR_FILE_TOO_SHORT 175 |
File too short.
#define HA_ERR_FIRST 120 |
Copy of first error nr.
#define HA_ERR_FK_DEPTH_EXCEEDED 192 |
FK cascade depth exceeded.
#define HA_ERR_FOREIGN_DUPLICATE_KEY 163 |
Upholding foreign key constraints would lead to a duplicate key error in some other table.
#define HA_ERR_FOUND_DUPP_KEY 121 |
Duplicate key on write.
#define HA_ERR_FOUND_DUPP_UNIQUE 141 |
Duplicate unique on write.
#define HA_ERR_FTS_EXCEED_RESULT_CACHE_LIMIT 188 |
FTS query exceeds result cache limit.
#define HA_ERR_FTS_TOO_MANY_NESTED_EXP 209 |
Too many sub-expression in search string.
#define HA_ERR_FTS_TOO_MANY_WORDS_IN_PHRASE 191 |
Too many words in a phrase.
#define HA_ERR_GENERIC 168 |
Generic error.
#define HA_ERR_INDEX_COL_TOO_LONG 179 |
Index column length exceeds limit.
#define HA_ERR_INDEX_CORRUPT 180 |
InnoDB index corrupted.
#define HA_ERR_INDEX_FILE_FULL 136 |
No more room in file.
#define HA_ERR_INITIALIZATION 174 |
Error during initialization.
#define HA_ERR_INNODB_FORCED_RECOVERY 190 |
Innodb is in force recovery mode.
#define HA_ERR_INNODB_READ_ONLY 187 |
InnoDB is in read only mode.
#define HA_ERR_INTERNAL_ERROR 122 |
Internal error.
#define HA_ERR_KEY_NOT_FOUND 120 |
Didn't find key on read or update.
#define HA_ERR_LAST 209 |
Copy of last error number.
#define HA_ERR_LOCK_DEADLOCK 149 |
#define HA_ERR_LOCK_TABLE_FULL 147 |
#define HA_ERR_LOCK_WAIT_TIMEOUT 146 |
#define HA_ERR_LOGGING_IMPOSSIBLE 170 |
It is not possible to log this statement.
#define HA_ERR_NEW_FILE 172 |
New file format.
#define HA_ERR_NO_ACTIVE_RECORD 133 |
No record read in update()
#define HA_ERR_NO_CONNECTION 157 |
Could not connect to storage engine.
#define HA_ERR_NO_PARTITION_FOUND 160 |
There's no partition in table for given value.
#define HA_ERR_NO_REFERENCED_ROW 151 |
Cannot add a child row.
#define HA_ERR_NO_SAVEPOINT 153 |
No savepoint with that name.
#define HA_ERR_NO_SESSION_TEMP 205 |
No session temporary space available.
#define HA_ERR_NO_SUCH_TABLE 155 |
The table does not exist in engine.
#define HA_ERR_NO_WAIT_LOCK 203 |
Don't wait for record lock.
#define HA_ERR_NON_UNIQUE_BLOCK_SIZE 154 |
Non unique key block size.
#define HA_ERR_NOT_A_TABLE 130 |
not a MYI file - no signature
#define HA_ERR_NOT_ALLOWED_COMMAND 200 |
Operation is not allowed.
#define HA_ERR_NOT_IN_LOCK_PARTITIONS 178 |
There's no explicitly listed partition in table for the given value.
#define HA_ERR_NULL_IN_SPATIAL 158 |
NULLs are not supported in spatial index.
#define HA_ERR_OLD_FILE 132 |
old database file
#define HA_ERR_OUT_OF_MEM 128 |
Record-file is crashed.
#define HA_ERR_QUERY_INTERRUPTED 196 |
The query was interrupted.
#define HA_ERR_RBR_LOGGING_FAILED 161 |
Row-based binlogging of row failed.
#define HA_ERR_READ_ONLY_TRANSACTION 148 |
Updates not allowed.
#define HA_ERR_RECORD_CHANGED 123 |
Uppdate with is recoverable.
#define HA_ERR_RECORD_DELETED 134 |
A record is not there.
#define HA_ERR_RECORD_FILE_FULL 135 |
No more room in file.
#define HA_ERR_RECORD_IS_THE_SAME 169 |
row not actually updated: new values same as the old values
#define HA_ERR_ROLLED_BACK 125 |
Transaction has been rolled back.
#define HA_ERR_ROW_FORMAT_CHANGED 202 |
Table's row format has changed in the storage engine.
Information in the data-dictionary needs to be updated.
#define HA_ERR_ROW_IN_WRONG_PARTITION 186 |
Row in wrong partition.
#define HA_ERR_ROW_IS_REFERENCED 152 |
Cannot delete a parent row.
#define HA_ERR_ROWS_EVENT_APPLY 173 |
The event could not be processed no other handler error happened.
#define HA_ERR_SAMPLING_INIT_FAILED 208 |
Histogram sampling initialization failed.
#define HA_ERR_SE_OUT_OF_MEMORY 194 |
Out of memory in storage engine.
#define HA_ERR_TABLE_CORRUPT 195 |
Table/Clustered index is corrupted.
#define HA_ERR_TABLE_DEF_CHANGED 159 |
The table changed in storage engine.
#define HA_ERR_TABLE_EXIST 156 |
The table existed in storage engine.
#define HA_ERR_TABLE_IN_FK_CHECK 183 |
Table being used in foreign key check.
#define HA_ERR_TABLE_NEEDS_UPGRADE 164 |
The table changed in storage engine.
#define HA_ERR_TABLE_READONLY 165 |
The table is not writable.
#define HA_ERR_TABLESPACE_EXISTS 184 |
The tablespace existed in storage engine.
#define HA_ERR_TABLESPACE_IS_NOT_EMPTY 198 |
Tablespace is not empty.
#define HA_ERR_TABLESPACE_MISSING 197 |
Missing Tablespace.
#define HA_ERR_TEMP_FILE_WRITE_FAILURE 189 |
Temporary file write failure.
#define HA_ERR_TOO_BIG_ROW 139 |
Too big row.
#define HA_ERR_TOO_LONG_PATH 207 |
Path is too long for the OS.
#define HA_ERR_TOO_MANY_CONCURRENT_TRXS 177 |
Too many active concurrent transactions.
#define HA_ERR_TOO_MANY_FIELDS 185 |
Table has too many columns.
#define HA_ERR_UNDO_REC_TOO_BIG 181 |
Undo log record too big.
#define HA_ERR_UNKNOWN_CHARSET 142 |
Can't open charset.
#define HA_ERR_UNSUPPORTED 138 |
unsupported extension used
#define HA_ERR_WRONG_COMMAND 131 |
Command not supported.
#define HA_ERR_WRONG_CRC 176 |
Wrong CRC on page.
#define HA_ERR_WRONG_FILE_NAME 199 |
Invalid Filename.
#define HA_ERR_WRONG_IN_RECORD 127 |
Record-file is crashed.
#define HA_ERR_WRONG_INDEX 124 |
Wrong index given to function.
#define HA_ERR_WRONG_MRG_TABLE_DEF 143 |
conflicting tables in MERGE
#define HA_ERR_WRONG_TABLE_NAME 206 |
Wrong or Invalid table name.
#define HA_EXTRA_PREPARE_FOR_DELETE HA_EXTRA_PREPARE_FOR_DROP |
#define HA_FTS_INVALID_DOCID 182 |
Invalid InnoDB Doc ID.
#define HA_FULLTEXT (1 << 7) |
Full-text key.
#define HA_GENERATED_KEY (1 << 13) |
Key was automatically created to support Foreign Key constraint.
#define HA_KEY_HAS_PART_KEY_SEG (1 << 16) |
Key contains partial segments.
This flag can be calculated – it's based on key lengths comparison.
#define HA_KEY_RENAMED (1 << 17) |
Key was renamed (or is result of renaming a key).
This is another flag internal to SQL-layer. Used by in-place ALTER TABLE implementation.
#define HA_KEYFLAG_MASK |
#define HA_MAX_KEYTYPE 31 /* Must be log2-1 */ |
#define HA_MISSING_CREATE_OPTION 193 |
Option Missing during Create.
#define HA_MULTI_VALUED_KEY (1 << 19) |
Multi-valued key.
#define HA_NAMELEN 64 /* Max length of saved filename */ |
#define HA_NO_SORT 256 /* do not bother sorting on this keyseg */ |
#define HA_NOSAME 1 |
Do not allow duplicate records.
#define HA_NULL_ARE_EQUAL (1 << 11) |
NULLs in key are compared as equal.
#define HA_NULL_PART 16 |
#define HA_NULL_PART_KEY (1 << 6) |
Some key part is nullable.
#define HA_OFFSET_ERROR (~(my_off_t)0) |
#define HA_OPEN_ABORT_IF_CRASHED 16 |
#define HA_OPEN_ABORT_IF_LOCKED 0 /* default */ |
#define HA_OPEN_COPY 256 /* Open copy (for repair) */ |
#define HA_OPEN_DELAY_KEY_WRITE 8 /* Don't update index */ |
#define HA_OPEN_FOR_REPAIR 32 /* open even if crashed */ |
#define HA_OPEN_FROM_SQL_LAYER 64 |
#define HA_OPEN_IGNORE_IF_LOCKED 2 |
#define HA_OPEN_INTERNAL_TABLE 512 |
Internal temp table, used for temporary results; one or more instance of it may be be created.
#define HA_OPEN_TMP_TABLE 4 /* Table is a temp table */ |
#define HA_OPEN_WAIT_IF_LOCKED 1 |
#define HA_OPTION_CHECKSUM 32 |
CHECKSUM=1 option was specified.
This option enables live checksumming for MyISAM tables. Not used by InnoDB.
#define HA_OPTION_COMPRESS_RECORD 4 |
Flag indicating that table is compressed.
Used by MyISAM storage engine to tell SQL-layer that tables is compressed. Not set or stored by SQL-layer,
MyISAM doesn't respect ROW_FORMAT=COMPRESSED clause and doesn't allow direct creation of compressed tables. Existing tables can be compressed by external tool. This tool marks such tables with HA_OPTION_COMPRESS_RECORD flag in MYISAM_SHARE::options, MI_ISAMINFO::options. Then storage engine sets this flag in TABLE_SHARE::db_options_in_use to let SQL-layer know about the fact. It is never set in HA_CREATE_INFO::table_options or TABLE_SHARE::db_create_options.
#define HA_OPTION_CREATE_FROM_ENGINE 256 |
Flag specific to table creation and HA_CREATE_INFO::table_options.
Indicates that storage engine instead of creating new table, needs to discover existing one (which metadata was discovered from SE earlier). Not used in TABLE_SHARE::db_create_options/db_options_in_use.
#define HA_OPTION_DELAY_KEY_WRITE 64 |
DELAY_KEY_WRITE=1 option was specified.
This option enables MyISAM optimization which postpones key updates until table is closed/expelled from the table cache.
#define HA_OPTION_NO_CHECKSUM (1L << 17) |
CHECKSUM=0 option was specified.
Only used by SQL-layer, in HA_CREATE_INFO::table_options. Not persisted in data-dictionary.
#define HA_OPTION_NO_DELAY_KEY_WRITE (1L << 18) |
DELAY_KEY_WRITE=0 option was specified.
Only used by SQL-layer, in HA_CREATE_INFO::table_options. Not persisted in data-dictionary.
#define HA_OPTION_NO_PACK_KEYS 128 |
PACK_KEYS=0 option was specified.
#define HA_OPTION_NO_STATS_PERSISTENT 8192 |
STATS_PERSISTENT=0 has been specified in CREATE/ALTER TABLE.
Statistics for the table will be wiped away on server shutdown and new ones recalculated after the server is started again. If none of HA_OPTION_STATS_PERSISTENT or HA_OPTION_NO_STATS_PERSISTENT is set, this means that the setting is not explicitly set at table level and the corresponding table will use whatever is the global server default.
#define HA_OPTION_PACK_KEYS 2 |
PACK_KEYS=1 option was specified.
PACK_KEYS=# option specifies whether key packing - optimization supported by MyISAM, should be used. PACK_KEYS=1 means all keys should be packed, PACK_KEYS=0 (denoted by
#define HA_OPTION_PACK_RECORD 1 |
Indicates that storage engine needs to use packed row format.
Set for tables with ROW_FORMAT=DYNAMIC clause, for tables with BLOB fields, and for tables with VARCHAR columns without ROW_FORMAT=FIXED.
This flag is respected by MyISAM only (it might also decide to use this optimization for its own reasons). InnoDB relies on HA_CREATE_INFO::row_type directly instead.
#define HA_OPTION_READ_ONLY_DATA 32768 |
MyISAM internal flag which marks table as read-only.
Set by myisampack external tool.
Not used by SQL-layer/in HA_CREATE_INFO::table_options and TABLE_SHARE::db_create_options.
#define HA_OPTION_RELIES_ON_SQL_LAYER 512 |
Storage engine (MyISAM) internal flag for marking tables which rely on SQL-layer because they have keys using fulltext parser plugin.
Used in MYISAM_SHARE::options, MI_ISAMINFO::options, not used by SQL-layer, in HA_CREATE_INFO::table_options or TABLE_SHARE::db_create_options.
#define HA_OPTION_STATS_PERSISTENT 4096 |
STATS_PERSISTENT=1 has been specified in the SQL command (either CREATE or ALTER TABLE).
Table and index statistics that are collected by the storage engine and used by the optimizer for query optimization will be stored on disk and will not change after a server restart.
#define HA_OPTION_TEMP_COMPRESS_RECORD 16384 |
MyISAM internal flag used by myisamchk external tool.
Not used by SQL-layer/in HA_CREATE_INFO::table_options and TABLE_SHARE::db_create_options.
#define HA_OPTION_TMP_TABLE 16 |
Storage engine (MyISAM) internal flag for marking temporary tables.
Used in MYISAM_SHARE::options, MI_ISAMINFO::options, not used by SQL-layer, in HA_CREATE_INFO::table_options or TABLE_SHARE::db_create_options.
#define HA_OPTION_UNUSED1 8 |
Unused.
Formerly HA_OPTION_LONG_BLOB_PTR - new ISAM format/portable BLOB pointers.
#define HA_OPTION_UNUSED2 1024 |
Unused.
Formerly HA_OPTION_NULL_FIELDS - reserved for Maria SE.
#define HA_OPTION_UNUSED3 2048 |
Unused.
Formerly HA_OPTION_PAGE_CHECKSUM - reserved for Maria SE.
#define HA_PACK_KEY (1 << 1) |
Pack string key to previous key (optimization supported by MyISAM).
#define HA_PACK_RECORD 2 /* Request packed record format */ |
#define HA_PART_KEY_SEG 4 /* Used by MySQL for part-key-cols */ |
#define HA_POS_ERROR (~(ha_rows)0) |
#define HA_REVERSE_SORT 128 /* Sort key in reverse order */ |
#define HA_SORT_ALLOWS_SAME (1 << 9) |
Internal bit used when sorting records.
Internal to MyISAM.
#define HA_SPACE_PACK 1 /* Pack space in key-seg */ |
#define HA_SPACE_PACK_USED (1 << 2) |
Some key part packs space.
Internal to MyISAM.
#define HA_SPATIAL (1 << 10) |
Spatial key.
#define HA_STATE_AKTIV 2 /* Has a current record */ |
#define HA_STATE_BUFF_SAVED 512 /* If current keybuff is info->buff */ |
#define HA_STATE_CHANGED 1 /* Database has changed */ |
#define HA_STATE_DELETED 8 |
#define HA_STATE_EXTEND_BLOCK 2048 |
#define HA_STATE_KEY_CHANGED 128 |
#define HA_STATE_ROW_CHANGED 1024 /* To invalidate ROW cache */ |
#define HA_STATE_WRITE_AT_END 256 /* set in _ps_find_writepos */ |
#define HA_STATE_WRITTEN 4 /* Record is written */ |
#define HA_STATUS_AUTO 64 |
#define HA_STATUS_CONST 8 |
#define HA_STATUS_ERRKEY 32 |
#define HA_STATUS_NO_LOCK 2 |
#define HA_STATUS_POS 1 |
#define HA_STATUS_TIME 4 |
#define HA_STATUS_VARIABLE 16 |
#define HA_STATUS_VARIABLE_EXTRA 128 |
#define HA_SWAP_KEY 64 |
#define HA_UNIQUE_CHECK (1 << 8) |
Flag in MI_KEYDEF::flag which marks MyISAM's "uniques".
#define HA_USES_BLOCK_SIZE (1 << 15) |
Key uses KEY_BLOCK_SIZE option.
#define HA_USES_COMMENT (1 << 12) |
Key has comment.
#define HA_USES_PARSER (1 << 14) |
Fulltext index uses [pre]parser.
#define HA_VAR_LENGTH_KEY (1 << 3) |
Some key part has variable length.
Internal to MyISAM and Heap engines.
#define HA_VAR_LENGTH_PART 8 |
#define HA_VARCHAR_PACKLENGTH | ( | field_length | ) | ((field_length) < 256 ? 1 : 2) |
#define HA_VIRTUAL_GEN_KEY (1 << 18) |
Set if a key is on any virtual generated columns.
#define HA_WHOLE_KEY (~(key_part_map)0) |
#define HA_WRONG_CREATE_OPTION 140 |
Wrong create option.
#define KEY_READ_USED 8 |
#define MAX_FILE_SIZE LLONG_MAX |
#define MBR_CONTAIN 512 |
#define MBR_DATA 16384 |
#define MBR_DISJOINT 4096 |
#define MBR_EQUAL 8192 |
#define MBR_INTERSECT 1024 |
#define MBR_WITHIN 2048 |
#define OPT_NO_ROWS 32 |
#define QUICK_USED 1 |
#define READ_CACHE_USED 2 |
#define READ_CHECK_USED 4 |
#define rows2double | ( | A | ) | ulonglong2double(A) |
#define SEARCH_BIGGER 8 |
#define SEARCH_FIND 1 |
#define SEARCH_LAST 256 |
#define SEARCH_NO_FIND 2 |
#define SEARCH_PREFIX 128 |
#define SEARCH_SAME 4 |
#define SEARCH_SAVE_BUFF 32 |
#define SEARCH_SMALLER 16 |
#define SEARCH_UPDATE 64 |
#define WRITE_CACHE_USED 16 |
typedef ulong key_part_map |
enum data_file_type |
enum en_fieldtype |
enum ha_base_keytype |
enum ha_extra_function |
enum ha_key_alg |
enum ha_panic_function |
enum ha_rkey_function |
enum ha_storage_media |
enum key_range_flags |
|
constexpr |
|
constexpr |