27
Initialize ReadRecord 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 ReadRecord 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(ReadRecord *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 */
44
unsigned char *cache_pos;
45
unsigned char *cache_end;
46
unsigned char *read_positions;
47
internal::IO_CACHE *io_cache;
49
bool ignore_not_found_rows;
50
JoinTable *do_insideout_scan;
74
ignore_not_found_rows(0),
48
83
init_read_record is used to scan by using a number of different methods.
112
147
This is the most basic access method of a table using rnd_init,
113
148
rnd_next and rnd_end. No indexes are used.
116
struct ReadRecord { /* Parameter to read_record */
117
Table *table; /* Head-form */
119
Table **forms; /* head and ref forms */
120
int (*read_record)(ReadRecord *);
122
optimizer::SqlSelect *select;
123
uint32_t cache_records;
124
uint32_t ref_length,struct_length,reclength,rec_cache_size,error_offset;
126
unsigned char *ref_pos; /* pointer to form->refpos */
127
unsigned char *record;
128
unsigned char *rec_buf; /* to read field values after filesort */
129
unsigned char *cache,*cache_pos,*cache_end,*read_positions;
130
internal::IO_CACHE *io_cache;
131
bool print_error, ignore_not_found_rows;
132
JoinTable *do_insideout_scan;
134
150
void init_read_record(Session *session,
136
152
optimizer::SqlSelect *select,
138
154
bool print_errors);
140
156
void end_read_record();
160
Initialize ReadRecord structure to perform full index scan (in forward
161
direction) using read_record.read_record() interface.
163
This function has been added at late stage and is used only by
164
UPDATE/DELETE. Other statements perform index scans using
165
join_read_first/next functions.
167
@param info ReadRecord structure to initialize.
168
@param session Thread handle
169
@param table Table to be accessed
170
@param print_error If true, call table->print_error() if an error
171
occurs (except for end-of-records error)
172
@param idx index to scan
174
void init_read_record_idx(Session *session,
143
180
} /* namespace drizzled */