summaryrefslogtreecommitdiff
path: root/innobase/pars/pars0opt.c
diff options
context:
space:
mode:
authormonty@mysql.com <>2004-10-06 19:14:33 +0300
committermonty@mysql.com <>2004-10-06 19:14:33 +0300
commit62f3cd6a31d3c1ffe7ad17d9de862a3c0859f56a (patch)
tree4e2cfa6a6a8032773454e22aa802b2798b2935b8 /innobase/pars/pars0opt.c
parent96458f8f64641d5b974a17733af8c709b513bfe0 (diff)
parent0944bed7fcb59fb38230a750bd820a22b3b6b476 (diff)
downloadmariadb-git-62f3cd6a31d3c1ffe7ad17d9de862a3c0859f56a.tar.gz
Merge with 4.0 for 4.1 release
Noteworthy: - New HANDLER code - New multi-update-grant-check code - Table lock code in ha_innodb.cc was not applied
Diffstat (limited to 'innobase/pars/pars0opt.c')
-rw-r--r--innobase/pars/pars0opt.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/innobase/pars/pars0opt.c b/innobase/pars/pars0opt.c
index 0d487f6e54a..88022e2efe1 100644
--- a/innobase/pars/pars0opt.c
+++ b/innobase/pars/pars0opt.c
@@ -1094,6 +1094,19 @@ opt_clust_access(
for (i = 0; i < n_fields; i++) {
pos = dict_index_get_nth_field_pos(index, clust_index, i);
+ ut_a(pos != ULINT_UNDEFINED);
+
+ /* We optimize here only queries to InnoDB's internal system
+ tables, and they should not contain column prefix indexes. */
+
+ if (dict_index_get_nth_field(index, pos)->prefix_len != 0
+ || dict_index_get_nth_field(clust_index, i)
+ ->prefix_len != 0) {
+ fprintf(stderr,
+"InnoDB: Error in pars0opt.c: table %s has prefix_len != 0\n",
+ index->table_name);
+ }
+
*(plan->clust_map + i) = pos;
ut_ad((pos != ULINT_UNDEFINED)