diff options
author | unknown <sergefp@mysql.com> | 2006-05-10 17:40:20 +0400 |
---|---|---|
committer | unknown <sergefp@mysql.com> | 2006-05-10 17:40:20 +0400 |
commit | 3fa6432b09be41ddcc8dae2a8e12eacab5bb95a2 (patch) | |
tree | 0b6b9ad4e8995aa3e5fe6ab195cfbc886695e691 /sql/table.h | |
parent | 588082712a50ecc4bc213291c6fe74986ec69c38 (diff) | |
download | mariadb-git-3fa6432b09be41ddcc8dae2a8e12eacab5bb95a2.tar.gz |
BUG#17379 Wrong reuse of E(#rows(range)) as E(#rows(ref(const))):
Re-work best_access_path() and find_best() to reuse E(#rows(range access)) as
E(#rows(ref[_or_null](const) access) only when it is appropriate.
[This is the final cumulative patch]
mysql-test/r/select.result:
BUG#17379: Testcase
mysql-test/r/subselect.result:
BUG#17379: Updated test results
mysql-test/t/select.test:
BUG#17379: Testcase
sql/opt_range.cc:
BUG#17379: Wrong reuse of E(#rows(range)) as E(#rows(ref(const))):
Make range optimizer together with TABLE::quick_* also return TABLE::quick_n_ranges
sql/sql_select.cc:
BUG#17379: Wrong reuse of E(#rows(range)) as E(#rows(ref(const))):
Re-work best_access_path() to reuse E(#rows(range access)) as
E(#rows(ref[_or_null](const) access) only when it is appropriate.
sql/table.h:
BUG#17379: Wrong reuse of E(#rows(range)) as E(#rows(ref(const))):
Make range optimizer together with TABLE::quick_* also return TABLE::quick_n_ranges
Diffstat (limited to 'sql/table.h')
-rw-r--r-- | sql/table.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/table.h b/sql/table.h index ce44f797280..106421d7a17 100644 --- a/sql/table.h +++ b/sql/table.h @@ -221,6 +221,7 @@ struct st_table { ha_rows quick_rows[MAX_KEY]; key_part_map const_key_parts[MAX_KEY]; uint quick_key_parts[MAX_KEY]; + uint quick_n_ranges[MAX_KEY]; /* If this table has TIMESTAMP field with auto-set property (pointed by |