diff options
author | unknown <ingo@mysql.com> | 2004-12-23 21:45:10 +0100 |
---|---|---|
committer | unknown <ingo@mysql.com> | 2004-12-23 21:45:10 +0100 |
commit | ece4106a2c46729a213143eff8ed398c5b17f9b7 (patch) | |
tree | 2278239c23c9cfa8abc2cfb833b598df01227ee8 /sql/records.cc | |
parent | ee666660bab621f44e1e8882c97a825bd1cee0a6 (diff) | |
download | mariadb-git-ece4106a2c46729a213143eff8ed398c5b17f9b7.tar.gz |
WL#2126 - Multi_read_range.
Added the required structures and functions for
handing over multiple key ranges to the table handler.
include/my_base.h:
WL#2126 - Multi_read_range.
Moved key range flags from sql/opt_range.h to here.
Added the multi-range structure.
sql/handler.cc:
WL#2126 - Multi_read_range.
Added the new table handler methods.
sql/handler.h:
WL#2126 - Multi_read_range.
Added a new table flag.
Added a declaration for the handler buffer.
Added new elements to class handler.
Added new function declarations.
sql/mysqld.cc:
WL#2126 - Multi_read_range.
Added an option to set new system variable 'multi_range_count'.
sql/opt_range.cc:
WL#2126 - Multi_read_range.
Added initialization for the new class members.
Added initialization for the extended get_next().
Added de-initialization for the allocated buffers.
Added a buffer allocation method.
Added an inner loop to collect multiple ranges.
Adapted range collection loops to the new initialization.
sql/opt_range.h:
WL#2126 - Multi_read_range.
Moved key range flags from here to include/my_base.h.
Added new elements to class QUICK_RANGE_SELECT.
Added a copy constructor.
sql/records.cc:
WL#2126 - Multi_read_range.
Added a call of the allocation method.
sql/set_var.cc:
WL#2126 - Multi_read_range.
Added the new system variable 'multi_range_count'.
sql/sql_class.h:
WL#2126 - Multi_read_range.
Added the new system variable 'multi_range_count'.
Diffstat (limited to 'sql/records.cc')
-rw-r--r-- | sql/records.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sql/records.cc b/sql/records.cc index 5963c36afd9..3c0143d2307 100644 --- a/sql/records.cc +++ b/sql/records.cc @@ -100,11 +100,19 @@ void init_read_record(READ_RECORD *info,THD *thd, TABLE *table, } else if (select && select->quick) { + int error; DBUG_PRINT("info",("using rr_quick")); if (!table->file->inited) table->file->ha_index_init(select->quick->index); info->read_record=rr_quick; + + if ((error= select->quick->get_next_init())) + { + /* Cannot return error code here. Instead print to error log. */ + table->file->print_error(error,MYF(ME_NOREFRESH)); + thd->fatal_error(); + } } else if (table->sort.record_pointers) { |