diff options
author | unknown <monty@mysql.com> | 2004-02-05 18:14:48 +0100 |
---|---|---|
committer | unknown <monty@mysql.com> | 2004-02-05 18:14:48 +0100 |
commit | 44289ba6587b7a2151b4bd3aa7bd5f3b282454d5 (patch) | |
tree | dbb4c85840636d99a9d0ab51a698645946f49c1e /sql/opt_range.cc | |
parent | e5ab70702c082c77401052f940b18b5f6d50a8c3 (diff) | |
parent | 0db0b601abb3be2fdafa612583f4e03360876236 (diff) | |
download | mariadb-git-44289ba6587b7a2151b4bd3aa7bd5f3b282454d5.tar.gz |
merge
mysql-test/r/subselect.result:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/opt_range.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.cc:
Auto merged
Diffstat (limited to 'sql/opt_range.cc')
-rw-r--r-- | sql/opt_range.cc | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/sql/opt_range.cc b/sql/opt_range.cc index d39636fdc6c..2647a0ae818 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -370,14 +370,25 @@ SQL_SELECT::SQL_SELECT() :quick(0),cond(0),free_cond(0) } -SQL_SELECT::~SQL_SELECT() +void SQL_SELECT::cleanup() { delete quick; + quick= 0; if (free_cond) + { + free_cond=0; delete cond; + cond= 0; + } close_cached_file(&file); } + +SQL_SELECT::~SQL_SELECT() +{ + cleanup(); +} + #undef index // Fix for Unixware 7 QUICK_SELECT::QUICK_SELECT(THD *thd, TABLE *table, uint key_nr, bool no_alloc) @@ -2195,6 +2206,7 @@ check_quick_select(PARAM *param,uint idx,SEL_ARG *tree) param->table->quick_rows[key]=records; param->table->quick_key_parts[key]=param->max_key_part+1; } + DBUG_PRINT("exit", ("Records: %lu", (ulong) records)); DBUG_RETURN(records); } @@ -2569,12 +2581,7 @@ int QUICK_SELECT::get_next() int result; if (range) { // Already read through key -/* result=((range->flag & EQ_RANGE) ? - file->index_next_same(record, (byte*) range->min_key, - range->min_length) : - file->index_next(record)); -*/ - result=((range->flag & (EQ_RANGE | GEOM_FLAG) ) ? + result=((range->flag & (EQ_RANGE | GEOM_FLAG)) ? file->index_next_same(record, (byte*) range->min_key, range->min_length) : file->index_next(record)); |