diff options
author | unknown <monty@donna.mysql.com> | 2000-12-10 21:10:03 +0200 |
---|---|---|
committer | unknown <monty@donna.mysql.com> | 2000-12-10 21:10:03 +0200 |
commit | b6f230879526d97e8fb019013d732d50b985296b (patch) | |
tree | ce9dbc6a3d178089b8bffe3cc9cde360253a4f27 /Docs | |
parent | 56c1e86d2db760a86a0e28e3769ffc5318c5f23d (diff) | |
download | mariadb-git-b6f230879526d97e8fb019013d732d50b985296b.tar.gz |
Bugfix when using a multi-part unique key in the SET and WHERE part
Put PRIMARY KEY and UNIQUE keys before other keys
Fixes for auto_increment keys for BDB tables
Docs/manual.texi:
Changelog
sql/ha_berkeley.cc:
Fixes for auto_increment keys
sql/sql_table.cc:
Put PRIMARY KEY and UNIQUE keys before other keys
sql/sql_update.cc:
Bugfix when using a multi-part unique key in the SET and WHERE part
Diffstat (limited to 'Docs')
-rw-r--r-- | Docs/manual.texi | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi index 4379baa266f..facd36048be 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -17896,6 +17896,11 @@ tables as one. This only works with MERGE tables. @xref{MERGE}. For the moment you need to have @code{SELECT}, @code{UPDATE}, and @code{DELETE} privileges on the tables you map to a @code{MERGE} table. All mapped tables must be in the same database as the @code{MERGE} table. +@item +In the created table the @code{PRIMARY} key will be placed first, followed +by all @code{UNIQUE} keys and then the normal keys. This helps the +@strong{MySQL} optimizer to prioritize which key to use and also more quickly +detect duplicated @code{UNIQUE} keys. @end itemize @cindex silent column changes @@ -22597,7 +22602,7 @@ You may also want to change @code{binlog_cache_size} and @itemize @bullet @item @strong{MySQL} requires a @code{PRIMARY KEY} in each BDB table to be -able to refer to previously read rows. If you don't create on, +able to refer to previously read rows. If you don't create one, @strong{MySQL} will create an maintain a hidden @code{PRIMARY KEY} for you. The hidden key has a length of 5 bytes and is incremented for each insert attempt. @@ -22617,8 +22622,6 @@ you don't use @code{LOCK TABLE}, @strong{MYSQL} will issue an internal multiple-write lock on the table to ensure that the table will be properly locked if another thread issues a table lock. @item -@code{ALTER TABLE} doesn't yet work on @code{BDB} tables. -@item Internal locking in @code{BDB} tables is done on page level. @item @code{SELECT COUNT(*) FROM table_name} is slow as @code{BDB} tables doesn't @@ -22636,8 +22639,8 @@ tables. In other words, the key information will take a little more space in @code{BDB} tables compared to MyISAM tables which don't use @code{PACK_KEYS=0}. @item -There is often holes in the BDB table to allow you to insert new rows -between different keys. This makes BDB tables somewhat larger than +There is often holes in the BDB table to allow you to insert new rows in +the middle of the key tree. This makes BDB tables somewhat larger than MyISAM tables. @item @strong{MySQL} performs a checkpoint each time a new Berkeley DB log @@ -39636,6 +39639,14 @@ though, so Version 3.23 is not released as a stable version yet. @appendixsubsec Changes in release 3.23.29 @itemize @bullet @item +When creating a table, put @code{PRIMARY} keys first, followed by +@code{UNIQUE} keys. +@item +Fixed a bug in @code{UPDATE} involving multi-part keys where one +specified all key parts both in the update and the @code{WHERE} part. In +this case @strong{MySQL} could try to update a record that didn't match +the whole @code{WHERE} part. +@item Changed drop table to first drop the tables and then the @code{.frm} file. @item Fixed a bug in the hostname cache which caused @code{mysqld} to report the |