39 #define REC_INFO_MIN_REC_FLAG 0x10UL
41 #define REC_INFO_DELETED_FLAG 0x20UL
46 #define REC_N_OLD_EXTRA_BYTES 6
49 #define REC_N_NEW_EXTRA_BYTES 5
52 #define REC_STATUS_ORDINARY 0
53 #define REC_STATUS_NODE_PTR 1
54 #define REC_STATUS_INFIMUM 2
55 #define REC_STATUS_SUPREMUM 3
61 #define REC_NEW_HEAP_NO 4
64 #define REC_HEAP_NO_SHIFT 3
67 #define REC_NODE_PTR_SIZE 4
70 #define REC_1BYTE_SQL_NULL_MASK 0x80UL
72 #define REC_2BYTE_SQL_NULL_MASK 0x8000UL
76 #define REC_2BYTE_EXTERN_MASK 0x4000UL
80 # define REC_OFFS_HEADER_SIZE 4
83 # define REC_OFFS_HEADER_SIZE 2
88 #define REC_OFFS_NORMAL_SIZE 100
89 #define REC_OFFS_SMALL_SIZE 10
101 __attribute__((nonnull, pure, warn_unused_result));
112 __attribute__((nonnull, pure, warn_unused_result));
123 __attribute__((nonnull, pure, warn_unused_result));
133 __attribute__((nonnull));
143 __attribute__((nonnull));
153 __attribute__((nonnull, pure, warn_unused_result));
164 __attribute__((nonnull, pure, warn_unused_result));
174 __attribute__((nonnull, pure, warn_unused_result));
183 __attribute__((nonnull));
193 __attribute__((nonnull, pure, warn_unused_result));
203 __attribute__((nonnull(1)));
214 __attribute__((nonnull, pure, warn_unused_result));
223 __attribute__((nonnull));
232 __attribute__((nonnull));
241 __attribute__((nonnull, pure, warn_unused_result));
251 __attribute__((nonnull));
263 __attribute__((nonnull, pure, warn_unused_result));
273 __attribute__((nonnull));
284 __attribute__((nonnull, pure, warn_unused_result));
293 __attribute__((nonnull));
303 __attribute__((nonnull(1)));
312 __attribute__((nonnull, pure, warn_unused_result));
322 __attribute__((nonnull, pure, warn_unused_result));
332 __attribute__((nonnull));
342 __attribute__((nonnull, pure, warn_unused_result));
352 __attribute__((nonnull));
362 __attribute__((nonnull, pure, warn_unused_result));
372 __attribute__((nonnull));
385 __attribute__((nonnull, pure, warn_unused_result));
399 __attribute__((nonnull, pure, warn_unused_result));
411 __attribute__((nonnull, pure, warn_unused_result));
424 __attribute__((nonnull, warn_unused_result));
446 __attribute__((nonnull(1,2,5,6),warn_unused_result));
448 #define rec_get_offsets(rec,index,offsets,n,heap) \
449 rec_get_offsets_func(rec,index,offsets,n,heap,__FILE__,__LINE__)
467 __attribute__((nonnull));
480 __attribute__((nonnull(3), warn_unused_result));
492 __attribute__((nonnull));
494 # define rec_offs_make_valid(rec, index, offsets) ((void) 0)
509 __attribute__((nonnull));
510 #define rec_get_nth_field_old(rec, n, len) \
511 ((rec) + rec_get_nth_field_offs_old(rec, n, len))
523 __attribute__((nonnull, pure, warn_unused_result));
536 __attribute__((nonnull));
537 #define rec_get_nth_field(rec, offsets, n, len) \
538 ((rec) + rec_get_nth_field_offs(offsets, n, len))
548 __attribute__((nonnull, pure, warn_unused_result));
558 __attribute__((nonnull, pure, warn_unused_result));
568 __attribute__((nonnull, pure, warn_unused_result));
578 __attribute__((nonnull, pure, warn_unused_result));
588 __attribute__((nonnull, pure, warn_unused_result));
598 __attribute__((nonnull, pure, warn_unused_result));
608 __attribute__((nonnull, pure, warn_unused_result));
628 __attribute__((nonnull(1,2)));
640 __attribute__((nonnull, pure, warn_unused_result));
650 __attribute__((nonnull, pure, warn_unused_result));
661 __attribute__((nonnull));
662 #define rec_offs_init(offsets) \
663 rec_offs_set_n_alloc(offsets, (sizeof offsets) / sizeof *offsets)
672 __attribute__((nonnull, pure, warn_unused_result));
684 __attribute__((nonnull, pure, warn_unused_result));
695 __attribute__((nonnull, pure, warn_unused_result));
704 __attribute__((nonnull, pure, warn_unused_result));
715 __attribute__((nonnull, pure, warn_unused_result));
725 __attribute__((nonnull, pure, warn_unused_result));
727 # define rec_get_start(rec, offsets) ((rec) - rec_offs_extra_size(offsets))
728 # define rec_get_end(rec, offsets) ((rec) + rec_offs_data_size(offsets))
740 __attribute__((nonnull));
741 #ifndef UNIV_HOTBACKUP
753 __attribute__((warn_unused_result, nonnull));
766 __attribute__((nonnull));
779 __attribute__((nonnull));
797 __attribute__((nonnull));
813 __attribute__((nonnull, pure, warn_unused_result));
829 __attribute__((nonnull, warn_unused_result));
841 __attribute__((
const));
853 __attribute__((warn_unused_result, nonnull(1,2)));
869 __attribute__((nonnull(1,3)));
881 __attribute__((warn_unused_result, nonnull));
882 #ifndef UNIV_HOTBACKUP
896 __attribute__((nonnull));
907 __attribute__((nonnull));
916 __attribute__((nonnull));
917 #ifndef UNIV_HOTBACKUP
928 __attribute__((nonnull));
938 __attribute__((nonnull));
948 __attribute__((nonnull));
960 __attribute__((nonnull, warn_unused_result));
966 #define REC_1BYTE_OFFS_LIMIT 0x7FUL
967 #define REC_2BYTE_OFFS_LIMIT 0x7FFFUL
971 #define REC_MAX_DATA_SIZE (16 * 1024)
974 #include "rem0rec.ic"