27
Initialize READ_RECORD structure to perform full index scan (in forward
28
direction) using read_record.read_record() interface.
30
This function has been added at late stage and is used only by
31
UPDATE/DELETE. Other statements perform index scans using
32
join_read_first/next functions.
34
@param info READ_RECORD structure to initialize.
35
@param session Thread handle
36
@param table Table to be accessed
37
@param print_error If true, call table->print_error() if an error
38
occurs (except for end-of-records error)
39
@param idx index to scan
41
void init_read_record_idx(READ_RECORD *info,
26
struct ReadRecord { /* Parameter to read_record */
27
Table *table; /* Head-form */
29
Table **forms; /* head and ref forms */
30
int (*read_record)(ReadRecord *);
32
optimizer::SqlSelect *select;
33
uint32_t cache_records;
35
uint32_t struct_length;
37
uint32_t rec_cache_size;
38
uint32_t error_offset;
40
unsigned char *ref_pos; /* pointer to form->refpos */
41
unsigned char *record;
42
unsigned char *rec_buf; /* to read field values after filesort */
46
unsigned char *getCache()
50
unsigned char *cache_pos;
51
unsigned char *cache_end;
52
unsigned char *read_positions;
53
internal::IO_CACHE *io_cache;
55
bool ignore_not_found_rows;
56
JoinTable *do_insideout_scan;
80
ignore_not_found_rows(0),
109
ignore_not_found_rows= 0;
110
do_insideout_scan= 0;
113
virtual ~ReadRecord()
48
117
init_read_record is used to scan by using a number of different methods.
112
181
This is the most basic access method of a table using rnd_init,
113
182
rnd_next and rnd_end. No indexes are used.
115
void init_read_record(READ_RECORD *info,
118
optimizer::SqlSelect *select,
119
int use_record_cache,
122
void end_read_record(READ_RECORD *info);
184
void init_read_record(Session *session,
186
optimizer::SqlSelect *select,
187
int use_record_cache,
190
void end_read_record();
194
Initialize ReadRecord structure to perform full index scan (in forward
195
direction) using read_record.read_record() interface.
197
This function has been added at late stage and is used only by
198
UPDATE/DELETE. Other statements perform index scans using
199
join_read_first/next functions.
201
@param info ReadRecord structure to initialize.
202
@param session Thread handle
203
@param table Table to be accessed
204
@param print_error If true, call table->print_error() if an error
205
occurs (except for end-of-records error)
206
@param idx index to scan
208
void init_read_record_idx(Session *session,
213
void init_reard_record_sequential();
215
bool init_rr_cache();
124
218
} /* namespace drizzled */