41#define HA_OPEN_ABORT_IF_LOCKED 0
42#define HA_OPEN_WAIT_IF_LOCKED 1
43#define HA_OPEN_IGNORE_IF_LOCKED 2
44#define HA_OPEN_TMP_TABLE 4
45#define HA_OPEN_DELAY_KEY_WRITE 8
46#define HA_OPEN_ABORT_IF_CRASHED 16
47#define HA_OPEN_FOR_REPAIR 32
48#define HA_OPEN_FROM_SQL_LAYER 64
49#define HA_OPEN_COPY 256
54#define HA_OPEN_INTERNAL_TABLE 512
426#define HA_EXTRA_PREPARE_FOR_DELETE HA_EXTRA_PREPARE_FOR_DROP
463#define HA_MAX_KEYTYPE 31
475#define HA_PACK_KEY (1 << 1)
482#define HA_SPACE_PACK_USED (1 << 2)
484#define HA_VAR_LENGTH_KEY (1 << 3)
491#define HA_AUTO_KEY (1 << 4)
493#define HA_BINARY_PACK_KEY (1 << 5)
495#define HA_NULL_PART_KEY (1 << 6)
497#define HA_FULLTEXT (1 << 7)
503#define HA_UNIQUE_CHECK (1 << 8)
505#define HA_SORT_ALLOWS_SAME (1 << 9)
507#define HA_SPATIAL (1 << 10)
513#define HA_NULL_ARE_EQUAL (1 << 11)
515#define HA_USES_COMMENT (1 << 12)
517#define HA_GENERATED_KEY (1 << 13)
520#define HA_KEYFLAG_MASK \
521 (HA_NOSAME | HA_PACK_KEY | HA_AUTO_KEY | HA_BINARY_PACK_KEY | HA_FULLTEXT | \
522 HA_UNIQUE_CHECK | HA_SPATIAL | HA_NULL_ARE_EQUAL | HA_GENERATED_KEY)
525#define HA_USES_PARSER (1 << 14)
527#define HA_USES_BLOCK_SIZE (1 << 15)
537#define HA_KEY_HAS_PART_KEY_SEG (1 << 16)
549#define HA_KEY_RENAMED (1 << 17)
551#define HA_VIRTUAL_GEN_KEY (1 << 18)
553#define HA_MULTI_VALUED_KEY (1 << 19)
560#define HA_SPACE_PACK 1
561#define HA_PART_KEY_SEG 4
562#define HA_VAR_LENGTH_PART 8
563#define HA_NULL_PART 16
564#define HA_BLOB_PART 32
565#define HA_SWAP_KEY 64
566#define HA_REVERSE_SORT 128
567#define HA_NO_SORT 256
572#define HA_END_SPACE_ARE_EQUAL 512
573#define HA_BIT_PART 1024
601#define HA_OPTION_PACK_RECORD 1
614#define HA_OPTION_PACK_KEYS 2
627#define HA_OPTION_COMPRESS_RECORD 4
632#define HA_OPTION_UNUSED1 8
639#define HA_OPTION_TMP_TABLE 16
646#define HA_OPTION_CHECKSUM 32
654#define HA_OPTION_DELAY_KEY_WRITE 64
661#define HA_OPTION_NO_PACK_KEYS 128
669#define HA_OPTION_CREATE_FROM_ENGINE 256
677#define HA_OPTION_RELIES_ON_SQL_LAYER 512
679#define HA_OPTION_UNUSED2 1024
681#define HA_OPTION_UNUSED3 2048
686#define HA_OPTION_STATS_PERSISTENT 4096
693#define HA_OPTION_NO_STATS_PERSISTENT 8192
700#define HA_OPTION_TEMP_COMPRESS_RECORD 16384
708#define HA_OPTION_READ_ONLY_DATA 32768
713#define HA_OPTION_NO_CHECKSUM (1L << 17)
718#define HA_OPTION_NO_DELAY_KEY_WRITE (1L << 18)
722#define HA_DONT_TOUCH_DATA 1
723#define HA_PACK_RECORD 2
724#define HA_CREATE_TMP_TABLE 4
725#define HA_CREATE_CHECKSUM 8
726#define HA_CREATE_KEEP_FILES 16
727#define HA_CREATE_PAGE_CHECKSUM 32
728#define HA_CREATE_DELAY_KEY_WRITE 64
729#define HA_CREATE_RELIES_ON_SQL_LAYER 128
730#define HA_CREATE_INTERNAL_TABLE 256
741#define HA_STATUS_POS 1
748#define HA_STATUS_NO_LOCK 2
750#define HA_STATUS_TIME 4
786#define HA_STATUS_CONST 8
792#define HA_STATUS_VARIABLE 16
799#define HA_STATUS_ERRKEY 32
803#define HA_STATUS_AUTO 64
808#define HA_STATUS_VARIABLE_EXTRA 128
817#define HA_ERR_FIRST 120
819#define HA_ERR_KEY_NOT_FOUND 120
821#define HA_ERR_FOUND_DUPP_KEY 121
823#define HA_ERR_INTERNAL_ERROR 122
825#define HA_ERR_RECORD_CHANGED 123
827#define HA_ERR_WRONG_INDEX 124
829#define HA_ERR_ROLLED_BACK 125
831#define HA_ERR_CRASHED 126
833#define HA_ERR_WRONG_IN_RECORD 127
835#define HA_ERR_OUT_OF_MEM 128
837#define HA_ERR_NOT_A_TABLE 130
839#define HA_ERR_WRONG_COMMAND 131
841#define HA_ERR_OLD_FILE 132
843#define HA_ERR_NO_ACTIVE_RECORD 133
845#define HA_ERR_RECORD_DELETED 134
847#define HA_ERR_RECORD_FILE_FULL 135
849#define HA_ERR_INDEX_FILE_FULL 136
851#define HA_ERR_END_OF_FILE 137
853#define HA_ERR_UNSUPPORTED 138
855#define HA_ERR_TOO_BIG_ROW 139
857#define HA_WRONG_CREATE_OPTION 140
859#define HA_ERR_FOUND_DUPP_UNIQUE 141
861#define HA_ERR_UNKNOWN_CHARSET 142
863#define HA_ERR_WRONG_MRG_TABLE_DEF 143
865#define HA_ERR_CRASHED_ON_REPAIR 144
867#define HA_ERR_CRASHED_ON_USAGE 145
868#define HA_ERR_LOCK_WAIT_TIMEOUT 146
869#define HA_ERR_LOCK_TABLE_FULL 147
871#define HA_ERR_READ_ONLY_TRANSACTION 148
872#define HA_ERR_LOCK_DEADLOCK 149
874#define HA_ERR_CANNOT_ADD_FOREIGN 150
876#define HA_ERR_NO_REFERENCED_ROW 151
878#define HA_ERR_ROW_IS_REFERENCED 152
880#define HA_ERR_NO_SAVEPOINT 153
882#define HA_ERR_NON_UNIQUE_BLOCK_SIZE 154
884#define HA_ERR_NO_SUCH_TABLE 155
886#define HA_ERR_TABLE_EXIST 156
888#define HA_ERR_NO_CONNECTION 157
890#define HA_ERR_NULL_IN_SPATIAL 158
892#define HA_ERR_TABLE_DEF_CHANGED 159
894#define HA_ERR_NO_PARTITION_FOUND 160
896#define HA_ERR_RBR_LOGGING_FAILED 161
898#define HA_ERR_DROP_INDEX_FK 162
901#define HA_ERR_FOREIGN_DUPLICATE_KEY 163
903#define HA_ERR_TABLE_NEEDS_UPGRADE 164
905#define HA_ERR_TABLE_READONLY 165
907#define HA_ERR_AUTOINC_READ_FAILED 166
909#define HA_ERR_AUTOINC_ERANGE 167
911#define HA_ERR_GENERIC 168
913#define HA_ERR_RECORD_IS_THE_SAME 169
915#define HA_ERR_LOGGING_IMPOSSIBLE 170
917#define HA_ERR_CORRUPT_EVENT 171
919#define HA_ERR_NEW_FILE 172
921#define HA_ERR_ROWS_EVENT_APPLY 173
923#define HA_ERR_INITIALIZATION 174
925#define HA_ERR_FILE_TOO_SHORT 175
927#define HA_ERR_WRONG_CRC 176
929#define HA_ERR_TOO_MANY_CONCURRENT_TRXS 177
931#define HA_ERR_NOT_IN_LOCK_PARTITIONS 178
933#define HA_ERR_INDEX_COL_TOO_LONG 179
935#define HA_ERR_INDEX_CORRUPT 180
937#define HA_ERR_UNDO_REC_TOO_BIG 181
939#define HA_FTS_INVALID_DOCID 182
941#define HA_ERR_TABLE_IN_FK_CHECK 183
943#define HA_ERR_TABLESPACE_EXISTS 184
945#define HA_ERR_TOO_MANY_FIELDS 185
947#define HA_ERR_ROW_IN_WRONG_PARTITION 186
949#define HA_ERR_INNODB_READ_ONLY 187
951#define HA_ERR_FTS_EXCEED_RESULT_CACHE_LIMIT 188
953#define HA_ERR_TEMP_FILE_WRITE_FAILURE 189
955#define HA_ERR_INNODB_FORCED_RECOVERY 190
957#define HA_ERR_FTS_TOO_MANY_WORDS_IN_PHRASE 191
959#define HA_ERR_FK_DEPTH_EXCEEDED 192
961#define HA_MISSING_CREATE_OPTION 193
963#define HA_ERR_SE_OUT_OF_MEMORY 194
965#define HA_ERR_TABLE_CORRUPT 195
967#define HA_ERR_QUERY_INTERRUPTED 196
969#define HA_ERR_TABLESPACE_MISSING 197
971#define HA_ERR_TABLESPACE_IS_NOT_EMPTY 198
973#define HA_ERR_WRONG_FILE_NAME 199
975#define HA_ERR_NOT_ALLOWED_COMMAND 200
977#define HA_ERR_COMPUTE_FAILED 201
980#define HA_ERR_ROW_FORMAT_CHANGED 202
982#define HA_ERR_NO_WAIT_LOCK 203
984#define HA_ERR_DISK_FULL_NOWAIT 204
986#define HA_ERR_NO_SESSION_TEMP 205
988#define HA_ERR_WRONG_TABLE_NAME 206
990#define HA_ERR_TOO_LONG_PATH 207
992#define HA_ERR_SAMPLING_INIT_FAILED 208
994#define HA_ERR_FTS_TOO_MANY_NESTED_EXP 209
996#define HA_ERR_LAST 209
999#define HA_ERR_ERRORS (HA_ERR_LAST - HA_ERR_FIRST + 1)
1003#define HA_NAMELEN 64
1004#define NO_SUCH_KEY (~(uint)0)
1007#define HA_WHOLE_KEY (~(key_part_map)0)
1012#define SEARCH_FIND 1
1013#define SEARCH_NO_FIND 2
1014#define SEARCH_SAME 4
1015#define SEARCH_BIGGER 8
1016#define SEARCH_SMALLER 16
1017#define SEARCH_SAVE_BUFF 32
1018#define SEARCH_UPDATE 64
1019#define SEARCH_PREFIX 128
1020#define SEARCH_LAST 256
1021#define MBR_CONTAIN 512
1022#define MBR_INTERSECT 1024
1023#define MBR_WITHIN 2048
1024#define MBR_DISJOINT 4096
1025#define MBR_EQUAL 8192
1026#define MBR_DATA 16384
1027#define SEARCH_NULL_ARE_EQUAL 32768
1028#define SEARCH_NULL_ARE_NOT_EQUAL 65536
1032#define READ_CACHE_USED 2
1033#define READ_CHECK_USED 4
1034#define KEY_READ_USED 8
1035#define WRITE_CACHE_USED 16
1036#define OPT_NO_ROWS 32
1039#define HA_STATE_CHANGED 1
1040#define HA_STATE_AKTIV 2
1041#define HA_STATE_WRITTEN 4
1042#define HA_STATE_DELETED 8
1043#define HA_STATE_NEXT_FOUND 16
1044#define HA_STATE_PREV_FOUND 32
1045#define HA_STATE_NO_KEY 64
1046#define HA_STATE_KEY_CHANGED 128
1047#define HA_STATE_WRITE_AT_END 256
1048#define HA_STATE_BUFF_SAVED 512
1049#define HA_STATE_ROW_CHANGED 1024
1050#define HA_STATE_EXTEND_BLOCK 2048
1138#define rows2double(A) ulonglong2double(A)
1141#define HA_POS_ERROR (~(ha_rows)0)
1142#define HA_OFFSET_ERROR (~(my_off_t)0)
1144#define MAX_FILE_SIZE LLONG_MAX
1146#define HA_VARCHAR_PACKLENGTH(field_length) ((field_length) < 256 ? 1 : 2)
ha_base_keytype
Definition: my_base.h:438
@ HA_KEYTYPE_VARBINARY2
Definition: my_base.h:459
@ HA_KEYTYPE_BINARY
Definition: my_base.h:441
@ HA_KEYTYPE_USHORT_INT
Definition: my_base.h:447
@ HA_KEYTYPE_ULONGLONG
Definition: my_base.h:450
@ HA_KEYTYPE_UINT24
Definition: my_base.h:452
@ HA_KEYTYPE_VARTEXT2
Definition: my_base.h:458
@ HA_KEYTYPE_FLOAT
Definition: my_base.h:444
@ HA_KEYTYPE_BIT
Definition: my_base.h:460
@ HA_KEYTYPE_END
Definition: my_base.h:439
@ HA_KEYTYPE_ULONG_INT
Definition: my_base.h:448
@ HA_KEYTYPE_SHORT_INT
Definition: my_base.h:442
@ HA_KEYTYPE_NUM
Definition: my_base.h:446
@ HA_KEYTYPE_DOUBLE
Definition: my_base.h:445
@ HA_KEYTYPE_LONG_INT
Definition: my_base.h:443
@ HA_KEYTYPE_INT8
Definition: my_base.h:453
@ HA_KEYTYPE_INT24
Definition: my_base.h:451
@ HA_KEYTYPE_VARTEXT1
Definition: my_base.h:455
@ HA_KEYTYPE_VARBINARY1
Definition: my_base.h:456
@ HA_KEYTYPE_TEXT
Definition: my_base.h:440
@ HA_KEYTYPE_LONGLONG
Definition: my_base.h:449
ha_panic_function
Definition: my_base.h:430
@ HA_PANIC_WRITE
Definition: my_base.h:432
@ HA_PANIC_CLOSE
Definition: my_base.h:431
@ HA_PANIC_READ
Definition: my_base.h:433
data_file_type
Definition: my_base.h:1068
@ COMPRESSED_RECORD
Definition: my_base.h:1071
@ DYNAMIC_RECORD
Definition: my_base.h:1070
@ BLOCK_RECORD
Definition: my_base.h:1072
@ STATIC_RECORD
Definition: my_base.h:1069
ha_key_alg
Definition: my_base.h:96
@ HA_KEY_ALG_RTREE
Definition: my_base.h:107
@ HA_KEY_ALG_HASH
Definition: my_base.h:108
@ HA_KEY_ALG_SE_SPECIFIC
Used for cases when key algorithm which is supported by SE can't be described by one of other classes...
Definition: my_base.h:105
@ HA_KEY_ALG_BTREE
Definition: my_base.h:106
@ HA_KEY_ALG_FULLTEXT
Definition: my_base.h:109
ha_rkey_function
Definition: my_base.h:77
@ HA_READ_MBR_EQUAL
Definition: my_base.h:90
@ HA_READ_KEY_OR_PREV
Definition: my_base.h:80
@ HA_READ_PREFIX_LAST
Definition: my_base.h:84
@ HA_READ_PREFIX_LAST_OR_PREV
Definition: my_base.h:85
@ HA_READ_KEY_EXACT
Definition: my_base.h:78
@ HA_READ_AFTER_KEY
Definition: my_base.h:81
@ HA_READ_MBR_DISJOINT
Definition: my_base.h:89
@ HA_READ_INVALID
Definition: my_base.h:91
@ HA_READ_MBR_INTERSECT
Definition: my_base.h:87
@ HA_READ_BEFORE_KEY
Definition: my_base.h:82
@ HA_READ_MBR_CONTAIN
Definition: my_base.h:86
@ HA_READ_MBR_WITHIN
Definition: my_base.h:88
@ HA_READ_KEY_OR_NEXT
Definition: my_base.h:79
@ HA_READ_PREFIX
Definition: my_base.h:83
key_range_flags
Definition: my_base.h:1077
@ UNIQUE_RANGE
Definition: my_base.h:1089
@ SKIP_RANGE
Definition: my_base.h:1108
@ NEAR_MIN
Definition: my_base.h:1081
@ DESC_FLAG
Definition: my_base.h:1120
@ NO_MIN_RANGE
from -inf
Definition: my_base.h:1078
@ NO_MAX_RANGE
to +inf
Definition: my_base.h:1079
@ EQ_RANGE
Definition: my_base.h:1095
@ SKIP_RECORDS_IN_RANGE
Definition: my_base.h:1115
@ NEAR_MAX
Definition: my_base.h:1083
@ NULL_RANGE
Definition: my_base.h:1100
@ GEOM_FLAG
This flag means that the index is an rtree index, and the interval is specified using HA_READ_MBR_XXX...
Definition: my_base.h:1105
ulong key_part_map
Definition: my_base.h:1006
my_off_t ha_rows
Definition: my_base.h:1139
ha_extra_function
Definition: my_base.h:183
@ HA_EXTRA_NO_USER_CHANGE
Definition: my_base.h:244
@ HA_EXTRA_ENABLE_UNIQUE_RECORD_FILTER
Definition: my_base.h:420
@ HA_EXTRA_NO_KEYREAD
Definition: my_base.h:239
@ HA_EXTRA_KEYREAD_CHANGE_POS
Definition: my_base.h:259
@ HA_EXTRA_ADD_CHILDREN_LIST
Definition: my_base.h:396
@ HA_EXTRA_REMEMBER_POS
Definition: my_base.h:261
@ HA_EXTRA_FORCE_REOPEN
Definition: my_base.h:267
@ HA_EXTRA_DELETE_CANNOT_BATCH
Definition: my_base.h:379
@ HA_EXTRA_NORMAL
Definition: my_base.h:192
@ HA_EXTRA_IS_ATTACHED_CHILDREN
Definition: my_base.h:398
@ HA_EXTRA_NO_AUTOINC_LOCKING
Definition: my_base.h:415
@ HA_EXTRA_WAIT_LOCK
Definition: my_base.h:252
@ HA_EXTRA_WRITE_CAN_REPLACE
Definition: my_base.h:371
@ HA_EXTRA_FLUSH
Definition: my_base.h:273
@ HA_EXTRA_IGNORE_NO_KEY
Definition: my_base.h:357
@ HA_EXTRA_NO_READ_LOCKING
Skip acquiring locks when reading from ACL tables or views on DD tables in order to make such reads n...
Definition: my_base.h:409
@ HA_EXTRA_SECONDARY_SORT_ROWID
Do secondary sort by handler::ref (rowid) after key sort.
Definition: my_base.h:406
@ HA_EXTRA_PREPARE_FOR_UPDATE
Definition: my_base.h:336
@ HA_EXTRA_DETACH_CHILDREN
Definition: my_base.h:399
@ HA_EXTRA_CHANGE_KEY_TO_DUP
Definition: my_base.h:342
@ HA_EXTRA_READCHECK
Definition: my_base.h:224
@ HA_EXTRA_UPDATE_CANNOT_BATCH
Definition: my_base.h:380
@ HA_EXTRA_NO_READCHECK
Definition: my_base.h:223
@ HA_EXTRA_DISABLE_UNIQUE_RECORD_FILTER
Definition: my_base.h:422
@ HA_EXTRA_NO_IGNORE_DUP_KEY
Definition: my_base.h:322
@ HA_EXTRA_CHANGE_KEY_TO_UNIQUE
Definition: my_base.h:341
@ HA_EXTRA_PREPARE_FOR_DROP
Definition: my_base.h:328
@ HA_EXTRA_MARK_AS_LOG_TABLE
Definition: my_base.h:363
@ HA_EXTRA_NO_IGNORE_NO_KEY
Definition: my_base.h:358
@ HA_EXTRA_PREPARE_FOR_RENAME
Definition: my_base.h:392
@ HA_EXTRA_INSERT_WITH_UPDATE
Definition: my_base.h:385
@ HA_EXTRA_KEYREAD
Definition: my_base.h:238
@ HA_EXTRA_KEYREAD_PRESERVE_FIELDS
Definition: my_base.h:349
@ HA_EXTRA_ATTACH_CHILDREN
Definition: my_base.h:397
@ HA_EXTRA_EXPORT
Definition: my_base.h:404
@ HA_EXTRA_NO_KEYS
Definition: my_base.h:258
@ HA_EXTRA_NO_WAIT_LOCK
Definition: my_base.h:253
@ HA_EXTRA_QUICK
Definition: my_base.h:205
@ HA_EXTRA_RESTORE_POS
Definition: my_base.h:262
@ HA_EXTRA_PRELOAD_BUFFER_SIZE
Definition: my_base.h:337
@ HA_EXTRA_NO_ROWS
Definition: my_base.h:278
@ HA_EXTRA_RESET_STATE
Definition: my_base.h:313
@ HA_EXTRA_WRITE_CANNOT_REPLACE
Definition: my_base.h:372
@ HA_EXTRA_BEGIN_ALTER_COPY
Definition: my_base.h:411
@ HA_EXTRA_IGNORE_DUP_KEY
Definition: my_base.h:321
@ HA_EXTRA_NOT_USED
Definition: my_base.h:206
@ HA_EXTRA_END_ALTER_COPY
Definition: my_base.h:413
constexpr const ulong HA_INDEX_USES_SECONDARY_ENGINE_ATTRIBUTE
Definition: my_base.h:556
ha_storage_media
Definition: my_base.h:114
@ HA_SM_MEMORY
Definition: my_base.h:117
@ HA_SM_DISK
Definition: my_base.h:116
@ HA_SM_DEFAULT
Definition: my_base.h:115
en_fieldtype
Definition: my_base.h:1053
@ FIELD_CONSTANT
Definition: my_base.h:1060
@ FIELD_VARCHAR
Definition: my_base.h:1063
@ FIELD_BLOB
Definition: my_base.h:1059
@ FIELD_enum_val_count
Definition: my_base.h:1065
@ FIELD_ZERO
Definition: my_base.h:1062
@ FIELD_SKIP_PRESPACE
Definition: my_base.h:1057
@ FIELD_SKIP_ENDSPACE
Definition: my_base.h:1056
@ FIELD_CHECK
Definition: my_base.h:1064
@ FIELD_SKIP_ZERO
Definition: my_base.h:1058
@ FIELD_INTERVALL
Definition: my_base.h:1061
@ FIELD_LAST
Definition: my_base.h:1054
@ FIELD_NORMAL
Definition: my_base.h:1055
constexpr const ulong HA_INDEX_USES_ENGINE_ATTRIBUTE
Definition: my_base.h:555
Utility functions for converting between ulonglong and double.
Some integer typedefs for easier portability.
ulonglong my_off_t
Definition: my_inttypes.h:71
unsigned char uchar
Definition: my_inttypes.h:51
Definition: my_base.h:1130
uint range_flag
Definition: my_base.h:1134
key_range end_key
Definition: my_base.h:1132
key_range start_key
Definition: my_base.h:1131
char * ptr
Definition: my_base.h:1133
Definition: my_base.h:1123
uint length
Definition: my_base.h:1125
enum ha_rkey_function flag
Definition: my_base.h:1127
key_part_map keypart_map
Definition: my_base.h:1126
const uchar * key
Definition: my_base.h:1124
unsigned int uint
Definition: uca9-dump.cc:74