diff --git a/Docs/manual.texi b/Docs/manual.texi index 807a4fc666c..507e98b7eea 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -20904,7 +20904,7 @@ Your program has a wrong path to where the character sets are stored. This can be fixed by using the @code{--character-sets-dir} option to the program in question. @item -The character set is a multi-byte-character set that can't be loaded +The character set is a multi-byte character set that can't be loaded dynamically. In this case you have to recompile the program with the support for the character set. @item @@ -37077,7 +37077,8 @@ You can set the default global isolation level for @code{mysqld} with As of Version 3.23.23, MySQL has support for full-text indexing and searching. Full-text indexes in MySQL are an index of type -@code{FULLTEXT}. @code{FULLTEXT} indexes can be created from @code{VARCHAR} +@code{FULLTEXT}. @code{FULLTEXT} indexes are used with MyISAM tables +and can be created from @code{VARCHAR} and @code{TEXT} columns at @code{CREATE TABLE} time or added later with @code{ALTER TABLE} or @code{CREATE INDEX}. For large datasets, it will be much faster to load your data into a table that has no @code{FULLTEXT} @@ -47556,7 +47557,7 @@ You can check which tables you have in the current database with @node Cannot initialize character set, Not enough file handles, Cannot find table, Common errors @appendixsubsec @code{Can't initialize character set xxx} error -@cindex multibyte character sets +@cindex multi-byte character sets If you get an error like: diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc index b794270d193..145f9a5a268 100644 --- a/sql/ha_innodb.cc +++ b/sql/ha_innodb.cc @@ -2004,7 +2004,11 @@ convert_search_mode_to_innobase( case HA_READ_AFTER_KEY: return(PAGE_CUR_G); case HA_READ_BEFORE_KEY: return(PAGE_CUR_L); case HA_READ_PREFIX: return(PAGE_CUR_GE); - case HA_READ_PREFIX_LAST: return(PAGE_CUR_LE); + case HA_READ_PREFIX_LAST: ut_a(0); return(PAGE_CUR_LE); + /* InnoDB does not yet support ..PREFIX_LAST! + We have to add a new search flag + PAGE_CUR_LE_OR_PREFIX to InnoDB. */ + /* the above PREFIX flags mean that the last field in the key value may just be a prefix of the complete fixed length field */ diff --git a/sql/ha_innodb.h b/sql/ha_innodb.h index ed517954a37..8994359c2a7 100644 --- a/sql/ha_innodb.h +++ b/sql/ha_innodb.h @@ -96,7 +96,7 @@ class ha_innobase: public handler ulong index_flags(uint idx) const { return (HA_READ_NEXT | HA_READ_PREV | HA_READ_ORDER | - HA_KEY_READ_ONLY); + HA_KEY_READ_ONLY | HA_NOT_READ_PREFIX_LAST); } uint max_record_length() const { return HA_MAX_REC_LENGTH; } uint max_keys() const { return MAX_KEY; }