diff options
author | unknown <monty@mysql.com> | 2004-01-29 15:16:48 +0100 |
---|---|---|
committer | unknown <monty@mysql.com> | 2004-01-29 15:16:48 +0100 |
commit | ffed2b74789ca1ca4f56a13a6ae8d80e4bd6a6a1 (patch) | |
tree | 1a3482e487cc9dcf2c6335c759351aacd5960227 /sql/table.cc | |
parent | ebaa077467810524d7d762392232ce0064945a84 (diff) | |
download | mariadb-git-ffed2b74789ca1ca4f56a13a6ae8d80e4bd6a6a1.tar.gz |
Mark that strings may change on index only reads (for BDB tables).
This fixed problem with index reads on character fields with BDB tables. (Bug #2509)
BitKeeper/etc/ignore:
added man/*.1
mysql-test/r/bdb.result:
New test
mysql-test/r/myisam.result:
More tests
mysql-test/t/bdb.test:
Test for idnex only read
mysql-test/t/myisam.test:
More test to verify pushed bug fix
sql/ha_berkeley.h:
Mark that strings may change on index only reads
sql/item_strfunc.cc:
Cleanup
sql/table.cc:
Allow index only reads on binary strings
Diffstat (limited to 'sql/table.cc')
-rw-r--r-- | sql/table.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/table.cc b/sql/table.cc index c8def7441fd..a90220fa55b 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -498,7 +498,8 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag, field->type() != FIELD_TYPE_BLOB) { if (field->key_type() != HA_KEYTYPE_TEXT || - (!(ha_option & HA_KEY_READ_WRONG_STR) && + ((!(ha_option & HA_KEY_READ_WRONG_STR) || + field->flags & BINARY_FLAG) && !(keyinfo->flags & HA_FULLTEXT))) field->part_of_key|= ((key_map) 1 << key); if ((field->key_type() != HA_KEYTYPE_TEXT || |