diff options
author | unknown <monty@narttu.mysql.fi> | 2003-03-10 12:48:43 +0200 |
---|---|---|
committer | unknown <monty@narttu.mysql.fi> | 2003-03-10 12:48:43 +0200 |
commit | 012ffb5d505cc563ae980bd8cbee9b668f517cac (patch) | |
tree | 8651694def257832c6e225eead2eec4c5a7c9aeb /sql/opt_range.cc | |
parent | 66e8db8241bfcad048d08fa1a24532fae8ee5f0a (diff) | |
parent | 73c2d4ad498890c2ba2cfa9a2c20fae4d37b1859 (diff) | |
download | mariadb-git-012ffb5d505cc563ae980bd8cbee9b668f517cac.tar.gz |
Merge with 3.23 to get fixes for --user and BACKUP TABLE
BitKeeper/etc/ignore:
auto-union
BitKeeper/deleted/.del-delete.result:
Delete: mysql-test/r/delete.result
BitKeeper/deleted/.del-stamp-h.in~4a5d6676232516c5:
Auto merged
client/mysqlbinlog.cc:
Auto merged
include/my_sys.h:
Auto merged
libmysql/libmysql.c:
Auto merged
mysql-test/t/delete.test:
Auto merged
mysql-test/t/join.test:
Auto merged
mysql-test/t/type_datetime.test:
Auto merged
mysys/my_copy.c:
Auto merged
sql/field.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/share/polish/errmsg.txt:
Auto merged
sql/sql_rename.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/mysql-test-run.sh:
merge with 3.23.56
mysql-test/r/backup.result:
merge (needs to be updated)
mysql-test/r/join.result:
merge (needs to be updated)
mysql-test/r/type_datetime.result:
merge (needs to be updated)
mysql-test/t/backup.test:
merge with 3.23
scripts/mysqld_safe.sh:
Only use first --user option
sql/ha_myisam.cc:
Don't let BACKUP TABLE overwrite old files
sql/log_event.h:
merge
sql/mysql_priv.h:
merge
sql/mysqld.cc:
Use first --user option
sql/slave.cc:
use local version
sql/sql_repl.h:
use local version
Diffstat (limited to 'sql/opt_range.cc')
-rw-r--r-- | sql/opt_range.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sql/opt_range.cc b/sql/opt_range.cc index c1b03ed629f..aeeabb7d29c 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -1340,7 +1340,8 @@ key_and(SEL_ARG *key1,SEL_ARG *key2,uint clone_flag) } if (((clone_flag & CLONE_KEY2_MAYBE) && - !(clone_flag & CLONE_KEY1_MAYBE)) || + !(clone_flag & CLONE_KEY1_MAYBE) && + key2->type != SEL_ARG::MAYBE_KEY) || key1->type == SEL_ARG::MAYBE_KEY) { // Put simple key in key2 swap(SEL_ARG *,key1,key2); @@ -1368,7 +1369,10 @@ key_and(SEL_ARG *key1,SEL_ARG *key2,uint clone_flag) { key1->maybe_smaller(); if (key2->next_key_part) + { + key1->use_count--; // Incremented in and_all_keys return and_all_keys(key1,key2,clone_flag); + } key2->use_count--; // Key2 doesn't have a tree } return key1; @@ -2067,7 +2071,7 @@ void SEL_ARG::test_use_count(SEL_ARG *root) { if (this == root && use_count != 1) { - sql_print_error("Use_count: Wrong count %lu for root",use_count); + sql_print_error("Note: Use_count: Wrong count %lu for root",use_count); return; } if (this->type != SEL_ARG::KEY_RANGE) @@ -2081,7 +2085,7 @@ void SEL_ARG::test_use_count(SEL_ARG *root) ulong count=count_key_part_usage(root,pos->next_key_part); if (count > pos->next_key_part->use_count) { - sql_print_error("Use_count: Wrong count for key at %lx, %lu should be %lu", + sql_print_error("Note: Use_count: Wrong count for key at %lx, %lu should be %lu", pos,pos->next_key_part->use_count,count); return; } @@ -2089,7 +2093,7 @@ void SEL_ARG::test_use_count(SEL_ARG *root) } } if (e_count != elements) - sql_print_error("Wrong use count: %u for tree at %lx", e_count, + sql_print_error("Warning: Wrong use count: %u for tree at %lx", e_count, (gptr) this); } |