diff options
-rw-r--r-- | sql/records.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sql/records.h b/sql/records.h index 1928acfd4f4..473cb610be5 100644 --- a/sql/records.h +++ b/sql/records.h @@ -27,6 +27,10 @@ class SQL_SELECT; class Copy_field; class SORT_INFO; +struct READ_RECORD; + +void end_read_record(READ_RECORD *info); + /** A context for reading through a single table using a chosen access method: index read, scan, etc, use of cache, etc. @@ -73,7 +77,8 @@ struct READ_RECORD Copy_field *copy_field; Copy_field *copy_field_end; public: - READ_RECORD() {} + READ_RECORD() : table(NULL), cache(NULL) {} + ~READ_RECORD() { end_read_record(this); } }; bool init_read_record(READ_RECORD *info, THD *thd, TABLE *reg_form, @@ -82,7 +87,6 @@ bool init_read_record(READ_RECORD *info, THD *thd, TABLE *reg_form, bool print_errors, bool disable_rr_cache); bool init_read_record_idx(READ_RECORD *info, THD *thd, TABLE *table, bool print_error, uint idx, bool reverse); -void end_read_record(READ_RECORD *info); void rr_unlock_row(st_join_table *tab); |