Commit 0a1fcefb authored by unknown's avatar unknown

Merge jcole@work.mysql.com:/home/bk/mysql

into tetra.spaceapes.com:/usr/home/jcole/bk/mysql


BitKeeper/etc/ignore:
  auto-union
Docs/manual.texi:
  Auto merged
parents e5c58586 976ec82d
...@@ -19,10 +19,23 @@ COPYING ...@@ -19,10 +19,23 @@ COPYING
COPYING.LIB COPYING.LIB
Docs/INSTALL-BINARY Docs/INSTALL-BINARY
Docs/include.texi Docs/include.texi
Docs/manual.aux
Docs/manual.cp
Docs/manual.cps
Docs/manual.dvi
Docs/manual.fn
Docs/manual.fns
Docs/manual.html Docs/manual.html
Docs/manual.ky
Docs/manual.log Docs/manual.log
Docs/manual.pdf Docs/manual.pdf
Docs/manual.pg
Docs/manual.toc
Docs/manual.tp
Docs/manual.txt Docs/manual.txt
Docs/manual.vr
Docs/manual_a4.ps
Docs/manual_letter.ps
Docs/manual_toc.html Docs/manual_toc.html
Docs/mysql.info Docs/mysql.info
INSTALL-SOURCE INSTALL-SOURCE
...@@ -40,6 +53,7 @@ PENDING/2000-10-11.06 ...@@ -40,6 +53,7 @@ PENDING/2000-10-11.06
PENDING/2000-10-25.01 PENDING/2000-10-25.01
PENDING/2000-10-25.02 PENDING/2000-10-25.02
PENDING/2000-11-17.01 PENDING/2000-11-17.01
TAGS
aclocal.m4 aclocal.m4
client/.mysqladmin.c.swp client/.mysqladmin.c.swp
client/insert_test client/insert_test
...@@ -209,6 +223,7 @@ mysql-test/var/lib/mysql-bin.004 ...@@ -209,6 +223,7 @@ mysql-test/var/lib/mysql-bin.004
mysql-test/var/lib/mysql-bin.005 mysql-test/var/lib/mysql-bin.005
mysql-test/var/lib/mysql-bin.006 mysql-test/var/lib/mysql-bin.006
mysql-test/var/lib/mysql-bin.007 mysql-test/var/lib/mysql-bin.007
mysql-test/var/lib/mysql-bin.008
mysql-test/var/lib/mysql-bin.index mysql-test/var/lib/mysql-bin.index
mysql-test/var/lib/mysql-slow.log mysql-test/var/lib/mysql-slow.log
mysql-test/var/lib/mysql/* mysql-test/var/lib/mysql/*
...@@ -239,6 +254,12 @@ mysql-test/var/lib/test/t.frm ...@@ -239,6 +254,12 @@ mysql-test/var/lib/test/t.frm
mysql-test/var/lib/test/test.MYD mysql-test/var/lib/test/test.MYD
mysql-test/var/lib/test/test.MYI mysql-test/var/lib/test/test.MYI
mysql-test/var/lib/test/test.frm mysql-test/var/lib/test/test.frm
mysql-test/var/lib/test/test1.MYD
mysql-test/var/lib/test/test1.MYI
mysql-test/var/lib/test/test1.frm
mysql-test/var/lib/test/test2.MYD
mysql-test/var/lib/test/test2.MYI
mysql-test/var/lib/test/test2.frm
mysql-test/var/lib/test/words.MYD mysql-test/var/lib/test/words.MYD
mysql-test/var/lib/test/words.MYI mysql-test/var/lib/test/words.MYI
mysql-test/var/lib/test/words.frm mysql-test/var/lib/test/words.frm
...@@ -252,6 +273,7 @@ mysql-test/var/log/mysqld-slave.err ...@@ -252,6 +273,7 @@ mysql-test/var/log/mysqld-slave.err
mysql-test/var/log/mysqld-slave.log mysql-test/var/log/mysqld-slave.log
mysql-test/var/log/mysqld.err mysql-test/var/log/mysqld.err
mysql-test/var/log/mysqld.log mysql-test/var/log/mysqld.log
mysql-test/var/run/mysqld.pid
mysql-test/var/slave-data/bar/bar.MYD mysql-test/var/slave-data/bar/bar.MYD
mysql-test/var/slave-data/bar/bar.MYI mysql-test/var/slave-data/bar/bar.MYI
mysql-test/var/slave-data/bar/bar.frm mysql-test/var/slave-data/bar/bar.frm
...@@ -314,6 +336,7 @@ mysql-test/var/slave-data/test/x.MYD ...@@ -314,6 +336,7 @@ mysql-test/var/slave-data/test/x.MYD
mysql-test/var/slave-data/test/x.MYI mysql-test/var/slave-data/test/x.MYI
mysql-test/var/slave-data/test/x.frm mysql-test/var/slave-data/test/x.frm
mysql-test/var/tmp/README mysql-test/var/tmp/README
mysql-test/var/tmp/mysql.sock
mysys/test_charset mysys/test_charset
mysys/test_thr_alarm mysys/test_thr_alarm
mysys/test_thr_lock mysys/test_thr_lock
...@@ -379,25 +402,3 @@ support-files/mysql-3.23.29-gamma.spec ...@@ -379,25 +402,3 @@ support-files/mysql-3.23.29-gamma.spec
support-files/mysql-log-rotate support-files/mysql-log-rotate
support-files/mysql.server support-files/mysql.server
support-files/mysql.spec support-files/mysql.spec
Docs/manual.aux
Docs/manual.cp
Docs/manual.cps
Docs/manual.dvi
Docs/manual.fn
Docs/manual.fns
Docs/manual.ky
Docs/manual.pg
Docs/manual.toc
Docs/manual.tp
Docs/manual.vr
Docs/manual_a4.ps
Docs/manual_letter.ps
mysql-test/var/lib/test/test1.frm
mysql-test/var/lib/test/test1.MYD
mysql-test/var/lib/test/test1.MYI
mysql-test/var/lib/test/test2.frm
mysql-test/var/lib/test/test2.MYD
mysql-test/var/lib/test/test2.MYI
mysql-test/var/run/mysqld.pid
mysql-test/var/tmp/mysql.sock
mysql-test/var/lib/mysql-bin.008
...@@ -965,7 +965,7 @@ Changes in release 3.19.x ...@@ -965,7 +965,7 @@ Changes in release 3.19.x
MySQL and the future (The TODO) MySQL and the future (The TODO)
* TODO MySQL 4.0:: Things that should be in 4.0 * TODO MySQL 4.0:: Things that should be in 4.0
* TODO future:: Things that must done in the very near future * TODO future:: Things that must be done in the near future
* TODO sometime:: Things that have to be done sometime * TODO sometime:: Things that have to be done sometime
* TODO unplanned:: Some things we don't have any plans to do * TODO unplanned:: Some things we don't have any plans to do
...@@ -38179,7 +38179,7 @@ extened by Kevin A. McGrail @email{kmcgrail@@digital1.peregrinehw.com}. ...@@ -38179,7 +38179,7 @@ extened by Kevin A. McGrail @email{kmcgrail@@digital1.peregrinehw.com}.
This converter can handle MEMO fields. This converter can handle MEMO fields.
@item @uref{http://www.mysql.com/Downloads/Contrib/Msql-Mysql-modules-1.2215.tar.gz, Msql-Mysql-modules-1.2215.tar.gz} @item @uref{http://www.mysql.com/Downloads/Contrib/Msql-Mysql-modules-1.2215.tar.gz, Msql-Mysql-modules-1.2215.tar.gz}
Perl @code{DBD} module to access mSQL and @strong{MySQL} databases.. Perl @code{DBD} module to access mSQL and @strong{MySQL} databases.
@item @uref{http://www.mysql.com/Downloads/Contrib/Data-ShowTable-3.3.tar.gz, Data-ShowTable-3.3.tar.gz} @item @uref{http://www.mysql.com/Downloads/Contrib/Data-ShowTable-3.3.tar.gz, Data-ShowTable-3.3.tar.gz}
Perl @code{Data-ShowTable} module. Useful with @code{DBI}/@code{DBD} support. Perl @code{Data-ShowTable} module. Useful with @code{DBI}/@code{DBD} support.
...@@ -38800,7 +38800,7 @@ interested in. ...@@ -38800,7 +38800,7 @@ interested in.
@node Credits, News, Contrib, Top @node Credits, News, Contrib, Top
@appendix Credits @appendix Credits
The following persons have helped us make MySQL what it's today The following persons have helped us make MySQL what it is today
@cindex developers, list of @cindex developers, list of
@menu @menu
...@@ -39406,7 +39406,7 @@ Added options @code{--open-files} and @code{--timezone} to @code{safe_mysqld}. ...@@ -39406,7 +39406,7 @@ Added options @code{--open-files} and @code{--timezone} to @code{safe_mysqld}.
@item @item
Fixed a fatal bug in @code{CREATE TEMPORARY TABLE ... SELECT ...}. Fixed a fatal bug in @code{CREATE TEMPORARY TABLE ... SELECT ...}.
@item @item
Fixed a problem with @code{CREATE TABLE .. SELECT NULL}. Fixed a problem with @code{CREATE TABLE ... SELECT NULL}.
@item @item
Added variables @code{large_file_support},@code{net_read_timeout}, Added variables @code{large_file_support},@code{net_read_timeout},
@code{net_write_timeout} and @code{query_buffer_size} to @code{SHOW VARIABLES}. @code{net_write_timeout} and @code{query_buffer_size} to @code{SHOW VARIABLES}.
...@@ -39710,7 +39710,7 @@ Added atomic @code{RENAME} command. ...@@ -39710,7 +39710,7 @@ Added atomic @code{RENAME} command.
Don't count entries with @code{NULL} in @code{COUNT(DISTINCT ...)}. Don't count entries with @code{NULL} in @code{COUNT(DISTINCT ...)}.
@item @item
Changed @code{ALTER TABLE}, @code{LOAD DATA INFILE} on empty tables and Changed @code{ALTER TABLE}, @code{LOAD DATA INFILE} on empty tables and
@code{INSERT ... SELECT...} on empty tables to create non-unique indexes @code{INSERT ... SELECT ...} on empty tables to create non-unique indexes
in a separate batch with sorting. This will make the above calls much in a separate batch with sorting. This will make the above calls much
faster when you have many indexes. faster when you have many indexes.
@item @item
...@@ -39735,7 +39735,7 @@ Fixed bug in range optimizer for HEAP tables for searches on a part index. ...@@ -39735,7 +39735,7 @@ Fixed bug in range optimizer for HEAP tables for searches on a part index.
@item @item
Fixed that @code{SELECT} on part keys works with BDB tables. Fixed that @code{SELECT} on part keys works with BDB tables.
@item @item
Fixed @code{INSERT INTO bdb_table ... SELECT} to work with BDB tables. Fixed @code{INSERT INTO bdb_table ... SELECT} to work with BDB tables.
@item @item
@code{CHECK TABLE} now updates key statistics for the table. @code{CHECK TABLE} now updates key statistics for the table.
@item @item
...@@ -39788,7 +39788,7 @@ connection is closed unexpectedly. ...@@ -39788,7 +39788,7 @@ connection is closed unexpectedly.
Added workaround for a bug in @code{gcc} 2.96 (intel) and @code{gcc} 2.9 Added workaround for a bug in @code{gcc} 2.96 (intel) and @code{gcc} 2.9
(Ia64) in @code{gen_lex_hash.c}. (Ia64) in @code{gen_lex_hash.c}.
@item @item
Fixed memory leak in the client library when using @code{host=..} in the Fixed memory leak in the client library when using @code{host=} in the
@code{my.cnf} file. @code{my.cnf} file.
@item @item
Optimized functions that manipulate the hours/minutes/seconds. Optimized functions that manipulate the hours/minutes/seconds.
...@@ -39910,7 +39910,7 @@ Fixed a problem from 3.23.17 when choosing character set on the client side. ...@@ -39910,7 +39910,7 @@ Fixed a problem from 3.23.17 when choosing character set on the client side.
Added @code{FLUSH TABLES WITH READ LOCK} to make a global lock suitable to Added @code{FLUSH TABLES WITH READ LOCK} to make a global lock suitable to
make a copy of @strong{MySQL} data files. make a copy of @strong{MySQL} data files.
@item @item
@code{CREATE TABLE ... SELECT ... PROCEDURE} now works. @code{CREATE TABLE ... SELECT ... PROCEDURE} now works.
@item @item
Internal temporary tables will now uses compressed index when using Internal temporary tables will now uses compressed index when using
@code{GROUP BY} on @code{VARCHAR/CHAR} columns. @code{GROUP BY} on @code{VARCHAR/CHAR} columns.
...@@ -40060,7 +40060,7 @@ Fixed bug when using @code{LOAD DATA INFILE} on a table with ...@@ -40060,7 +40060,7 @@ Fixed bug when using @code{LOAD DATA INFILE} on a table with
@item @item
Optimised MyISAM to be faster when inserting keys in sorted order. Optimised MyISAM to be faster when inserting keys in sorted order.
@item @item
@code{EXPLAIN SELECT..} now also prints out whether @strong{MySQL} needs to @code{EXPLAIN SELECT ...} now also prints out whether @strong{MySQL} needs to
create a temporary table or use file sorting when resolving the @code{SELECT}. create a temporary table or use file sorting when resolving the @code{SELECT}.
@item @item
Added optimization to skip @code{ORDER BY} parts where the part is a Added optimization to skip @code{ORDER BY} parts where the part is a
...@@ -40153,7 +40153,7 @@ rpm file. ...@@ -40153,7 +40153,7 @@ rpm file.
@appendixsubsec Changes in release 3.23.12 @appendixsubsec Changes in release 3.23.12
@itemize @bullet @itemize @bullet
@item @item
Fixed bug in @code{MyISAM} involving @code{REPLACE ... SELECT} which could Fixed bug in @code{MyISAM} involving @code{REPLACE ... SELECT ...} which could
give a corrupted table. give a corrupted table.
@item @item
Fixed bug in @code{myisamchk} where it wrongly reset the auto_increment value. Fixed bug in @code{myisamchk} where it wrongly reset the auto_increment value.
...@@ -40163,7 +40163,7 @@ stable on Alpha. ...@@ -40163,7 +40163,7 @@ stable on Alpha.
@item @item
Changed @code{DISTINCT} on @code{HEAP} temporary tables to use hashed Changed @code{DISTINCT} on @code{HEAP} temporary tables to use hashed
keys to quickly find duplicated rows. This mostly concerns queries of keys to quickly find duplicated rows. This mostly concerns queries of
type @code{SELECT DISTINCT ... GROUP BY ..}. This fixes a problem where type @code{SELECT DISTINCT ... GROUP BY ...}. This fixes a problem where
not all duplicates were removed in queries of the above type. In not all duplicates were removed in queries of the above type. In
addition, the new code is MUCH faster. addition, the new code is MUCH faster.
@item @item
...@@ -40229,7 +40229,7 @@ Added sql variables: @code{SQL_MAX_JOIN_SIZE} and @code{SQL_SAFE_UPDATES}. ...@@ -40229,7 +40229,7 @@ Added sql variables: @code{SQL_MAX_JOIN_SIZE} and @code{SQL_SAFE_UPDATES}.
Added @code{READ LOCAL} lock that doesn't lock the table for concurrent Added @code{READ LOCAL} lock that doesn't lock the table for concurrent
inserts. (This is used by @code{mysqldump}). inserts. (This is used by @code{mysqldump}).
@item @item
Changed that @code{LOCK TABLES .. READ} doesn't anymore allow concurrent Changed that @code{LOCK TABLES ... READ} doesn't anymore allow concurrent
inserts. inserts.
@item @item
Added option @code{--skip-delay-key-write} to @code{mysqld}. Added option @code{--skip-delay-key-write} to @code{mysqld}.
...@@ -40306,7 +40306,7 @@ long time to a separate log file with a time of how long the query took. ...@@ -40306,7 +40306,7 @@ long time to a separate log file with a time of how long the query took.
@item @item
Fixed core dump when doing @code{WHERE key_column=RAND(...)} Fixed core dump when doing @code{WHERE key_column=RAND(...)}
@item @item
Fixed optimization bug in @code{SELECT .. LEFT JOIN ... key_column IS NULL}, Fixed optimization bug in @code{SELECT ... LEFT JOIN ... key_column IS NULL},
when @code{key_column} could contain @code{NULL} values. when @code{key_column} could contain @code{NULL} values.
@item @item
Fixed problem with 8-bit characters as separators in @code{LOAD DATA INFILE}. Fixed problem with 8-bit characters as separators in @code{LOAD DATA INFILE}.
...@@ -40510,7 +40510,7 @@ Added new @code{mysqld} variable @code{concurrency} for Solaris. ...@@ -40510,7 +40510,7 @@ Added new @code{mysqld} variable @code{concurrency} for Solaris.
Added option @code{--relative} to @code{mysqladmin} to make Added option @code{--relative} to @code{mysqladmin} to make
@code{extended-status} more useful to monitor changes. @code{extended-status} more useful to monitor changes.
@item @item
Fixed bug when using @code{COUNT(DISTINCT..)} on an empty table. Fixed bug when using @code{COUNT(DISTINCT ...)} on an empty table.
@item @item
Added support for the Chinese character set GBK. Added support for the Chinese character set GBK.
@item @item
...@@ -40582,7 +40582,7 @@ default value. ...@@ -40582,7 +40582,7 @@ default value.
Changed @code{SUBSTRING(text FROM pos)} to conform to ANSI SQL. (Before this Changed @code{SUBSTRING(text FROM pos)} to conform to ANSI SQL. (Before this
construct returned the rightmost 'pos' characters). construct returned the rightmost 'pos' characters).
@item @item
@code{SUM(..)} with @code{GROUP BY} returned 0 on some systems. @code{SUM()} with @code{GROUP BY} returned 0 on some systems.
@item @item
Changed output for @code{SHOW TABLE STATUS}. Changed output for @code{SHOW TABLE STATUS}.
@item @item
...@@ -40651,7 +40651,7 @@ Automatic change of HEAP temporary tables to MyISAM tables in case of ...@@ -40651,7 +40651,7 @@ Automatic change of HEAP temporary tables to MyISAM tables in case of
@item @item
Added option @code{--init-file=file_name} to @code{mysqld}. Added option @code{--init-file=file_name} to @code{mysqld}.
@item @item
@code{COUNT(DISTINCT value,[value,...])} @code{COUNT(DISTINCT value, [value, ...])}
@item @item
@code{CREATE TEMPORARY TABLE} now creates a temporary table, in its own @code{CREATE TEMPORARY TABLE} now creates a temporary table, in its own
namespace, that is automatically deleted if connection is dropped. namespace, that is automatically deleted if connection is dropped.
...@@ -40714,7 +40714,7 @@ Added comments to tables (with @code{CREATE TABLE ... COMMENT "xxx"}). ...@@ -40714,7 +40714,7 @@ Added comments to tables (with @code{CREATE TABLE ... COMMENT "xxx"}).
Added @code{UNIQUE}, as in Added @code{UNIQUE}, as in
@code{CREATE TABLE table_name (col int not null UNIQUE)} @code{CREATE TABLE table_name (col int not null UNIQUE)}
@item @item
New create syntax: @code{CREATE TABLE table_name SELECT ....} New create syntax: @code{CREATE TABLE table_name SELECT ...}
@item @item
New create syntax: @code{CREATE TABLE IF NOT EXISTS ...} New create syntax: @code{CREATE TABLE IF NOT EXISTS ...}
@item @item
...@@ -41127,7 +41127,7 @@ Changed the @code{mysql.db} column from @code{char(32)} to @code{char(60)}. ...@@ -41127,7 +41127,7 @@ Changed the @code{mysql.db} column from @code{char(32)} to @code{char(60)}.
@item @item
Fixed a bug when storing days in a @code{TIME} column. Fixed a bug when storing days in a @code{TIME} column.
@item @item
Fixed a problem with @code{Host '..' is not allowed to connect to this MySQL Fixed a problem with @code{Host '...' is not allowed to connect to this MySQL
server} after one had inserted a new @strong{MySQL} user with a @code{GRANT} server} after one had inserted a new @strong{MySQL} user with a @code{GRANT}
command. command.
@item @item
...@@ -41200,7 +41200,7 @@ Using @code{LEFT JOIN} on tables that had circular dependencies caused ...@@ -41200,7 +41200,7 @@ Using @code{LEFT JOIN} on tables that had circular dependencies caused
@code{DELETE FROM tbl_name WHERE key_column=col_name} didn't find any matching @code{DELETE FROM tbl_name WHERE key_column=col_name} didn't find any matching
rows. Fixed. rows. Fixed.
@item @item
@code{DATE_ADD(column,...)} didn't work. @code{DATE_ADD(column, ...)} didn't work.
@item @item
@code{INSERT DELAYED} could deadlock with status 'upgrading lock' @code{INSERT DELAYED} could deadlock with status 'upgrading lock'
@item @item
...@@ -41371,7 +41371,7 @@ shutdown to work better on FreeBSD. ...@@ -41371,7 +41371,7 @@ shutdown to work better on FreeBSD.
@item @item
Added option @code{\G} (print vertically) to @code{mysql}. Added option @code{\G} (print vertically) to @code{mysql}.
@item @item
@code{SELECT HIGH_PRIORITY} ... killed @code{mysqld}. @code{SELECT HIGH_PRIORITY ...} killed @code{mysqld}.
@item @item
@code{IS NULL} on a @code{AUTO_INCREMENT} column in a @code{LEFT JOIN} didn't @code{IS NULL} on a @code{AUTO_INCREMENT} column in a @code{LEFT JOIN} didn't
work as expected. work as expected.
...@@ -41400,7 +41400,7 @@ Fixed a bug in @code{ALTER TABLE} that caused @code{mysqld} to crash. ...@@ -41400,7 +41400,7 @@ Fixed a bug in @code{ALTER TABLE} that caused @code{mysqld} to crash.
@strong{MySQL} now always reports the conflicting key values when a @strong{MySQL} now always reports the conflicting key values when a
duplicate key entry occurs. (Before this was only reported for @code{INSERT}). duplicate key entry occurs. (Before this was only reported for @code{INSERT}).
@item @item
New syntax: @code{INSERT INTO tbl_name SET col_name=value,col_name=value,...} New syntax: @code{INSERT INTO tbl_name SET col_name=value, col_name=value, ...}
@item @item
Most errors in the @file{.err} log are now prefixed with a time stamp. Most errors in the @file{.err} log are now prefixed with a time stamp.
@item @item
...@@ -41591,7 +41591,7 @@ the current version of @code{mysqld}. (To avoid errors if you accidentally ...@@ -41591,7 +41591,7 @@ the current version of @code{mysqld}. (To avoid errors if you accidentally
try to use an old error message file.) try to use an old error message file.)
@item @item
All count structures in the client (@code{affected_rows()}, All count structures in the client (@code{affected_rows()},
@code{insert_id()},...) are now of type @code{BIGINT} to allow 64-bit values @code{insert_id()}, ...) are now of type @code{BIGINT} to allow 64-bit values
to be used. to be used.
This required a minor change in the @strong{MySQL} protocol which should affect This required a minor change in the @strong{MySQL} protocol which should affect
only old clients when using tables with @code{AUTO_INCREMENT} values > 16M. only old clients when using tables with @code{AUTO_INCREMENT} values > 16M.
...@@ -43753,30 +43753,30 @@ select * from temporary_table, temporary_table as t2; ...@@ -43753,30 +43753,30 @@ select * from temporary_table, temporary_table as t2;
@end example @end example
@item @item
Because @strong{MySQL} allows you to work with table types that doesn't Because @strong{MySQL} allows you to work with table types that don't
support transactions (and thus can't @code{rollback} data) some things support transactions, and thus can't @code{rollback} data, some things
behaves a little different in @strong{MySQL} than in other SQL servers: behave a little differently in @strong{MySQL} than in other SQL servers.
(This is just to ensure that @strong{MySQL} never need to do a rollback This is just to ensure that @strong{MySQL} never need to do a rollback
for a SQL command). This may be a little akward at times as column for a SQL command. This may be a little akward at times as column
values must be checked in the application, but this will actually give values must be checked in the application, but this will actually give
you a nice speed increase as it allows @strong{MySQL} to do some you a nice speed increase as it allows @strong{MySQL} to do some
optimizations that otherwice would be very hard to do. optimizations that otherwise would be very hard to do.
If you set a colum to a wrong value, @strong{MySQL} will instead of doing If you set a column to a wrong value, @strong{MySQL} will, instead of doing
a rollback instead store the @code{best possible value} in the column. a rollback, store the @code{best possible value} in the column.
@itemize @bullet @itemize @bullet
@item @item
If you try to store a value outside of the range in a numerical column, If you try to store a value outside the range in a numerical column,
@strong{MySQL} will instead store the smallest or biggest possible value in @strong{MySQL} will instead store the smallest or biggest possible value in
the column. the column.
@item @item
If you try to store a string, that doesn't start with a number, into a If you try to store a string that doesn't start with a number into a
numerical column @strong{MySQL} will store 0 into it. numerical column, @strong{MySQL} will store 0 into it.
@item @item
If you try to store @code{NULL} into a column that doesn't take If you try to store @code{NULL} into a column that doesn't take
@code{NULL} values, @strong{MySQL} will store 0 or @code{''} (empty @code{NULL} values, @strong{MySQL} will store 0 or @code{''} (empty
string) in it instead. (This behavour can, however, be changed with the string) in it instead. (This behavior can, however, be changed with the
-DDONT_USE_DEFAULT_FIELDS compile option). -DDONT_USE_DEFAULT_FIELDS compile option).
@item @item
@strong{MySQL} allows you to store some wrong date values into @strong{MySQL} allows you to store some wrong date values into
...@@ -43784,22 +43784,22 @@ string) in it instead. (This behavour can, however, be changed with the ...@@ -43784,22 +43784,22 @@ string) in it instead. (This behavour can, however, be changed with the
If the date is totally wrong, @strong{MySQL} will store the special If the date is totally wrong, @strong{MySQL} will store the special
0000-00-00 date value in the column. 0000-00-00 date value in the column.
@item @item
If you set an @code{enum} to an not supported value, it will be set to If you set an @code{enum} to an unsupported value, it will be set to
the error value 'empty string', with numeric value 0. the error value 'empty string', with numeric value 0.
@end itemize @end itemize
@item @item
If you execute a @code{PROCEDURE} on a query with returns an empty set then If you execute a @code{PROCEDURE} on a query that returns an empty set,
in some cases the @code{PROCEDURE} will not transform the columns. in some cases the @code{PROCEDURE} will not transform the columns.
@item @item
Creation of a table of type @code{MERGE} doesn't check if the underlaying Creation of a table of type @code{MERGE} doesn't check if the underlying
tables are of compatible types. tables are of compatible types.
@end itemize @end itemize
The following is known bugs in earlier versions of @strong{MySQL}: The following are known bugs in earlier versions of @strong{MySQL}:
@itemize @bullet @itemize @bullet
@item @item
You can get a hanged thread if you do a @code{DROP TABLE} on a table that is You can get a hung thread if you do a @code{DROP TABLE} on a table that is
one among many tables that is locked with @code{LOCK TABLES}. one among many tables that is locked with @code{LOCK TABLES}.
@item @item
...@@ -43839,13 +43839,13 @@ decimals. ...@@ -43839,13 +43839,13 @@ decimals.
For platform-specific bugs, see the sections about compiling and porting. For platform-specific bugs, see the sections about compiling and porting.
@cindex To Do list for MySQL @cindex ToDo list for MySQL
@node TODO, Porting, Bugs, Top @node TODO, Porting, Bugs, Top
@appendix MySQL and the future (The TODO) @appendix MySQL and the future (The TODO)
@menu @menu
* TODO MySQL 4.0:: Things that should be in 4.0 * TODO MySQL 4.0:: Things that should be in Version 4.0
* TODO future:: Things that must done in the very near future * TODO future:: Things that must be done in the near future
* TODO sometime:: Things that have to be done sometime * TODO sometime:: Things that have to be done sometime
* TODO unplanned:: Some things we don't have any plans to do * TODO unplanned:: Some things we don't have any plans to do
@end menu @end menu
...@@ -43857,26 +43857,26 @@ tell us what you want to have done more quickly. @xref{Licensing and Support}. ...@@ -43857,26 +43857,26 @@ tell us what you want to have done more quickly. @xref{Licensing and Support}.
@node TODO MySQL 4.0, TODO future, TODO, TODO @node TODO MySQL 4.0, TODO future, TODO, TODO
@appendixsec Things that should be in 4.0 @appendixsec Things that should be in 4.0
We plan to make @strong{MySQL} 4.0 a 'quick' release where we only add We plan to make @strong{MySQL} Version 4.0 a 'quick' release where we only
some new stuff to enable others to help us with developing new features add some new stuff to enable others to help us with developing new features
into 4.1. The @strong{MySQL} 4.0 version should only take us about a into Version 4.1. The @strong{MySQL} 4.0 version should only take us about
month to make after which we want to stabilize it and start working on a month to make after which we want to stabilize it and start working on
4.1. 4.0 should have the following new features: Version 4.1. Version 4.0 should have the following new features:
@itemize @bullet @itemize @bullet
@item @item
New table definition file format (@code{.frm} files) This will enable us New table definition file format (@code{.frm} files) This will enable us
to not run out of bits when adding more table options. One will still to not run out of bits when adding more table options. One will still
be able to use the old .frm file format with 4.0; All new created tables be able to use the old @code{.frm} file format with 4.0. All newly created
will, however, use the new format. tables will, however, use the new format.
The new file format will enable us to add new column types, more options The new file format will enable us to add new column types, more options
for keys and @code{FOREIGN KEYS}. for keys and @code{FOREIGN KEY} support.
@item @item
@code{mysqld} as a library. This will have the same interface as the @code{mysqld} as a library. This will have the same interface as the
standard MySQL client (with an extra function to just set up startup standard MySQL client (with an extra function to just set up startup
parameters) but will be faster (no TCP/IP or socket overhead), smaller parameters) but will be faster (no TCP/IP or socket overhead), smaller
and much easer to use from embedded products. and much easier to use for embedded products.
One will be able to define at link time if one wants to use the One will be able to define at link time if one wants to use the
client/server model or a stand-alone application just by defining which client/server model or a stand-alone application just by defining which
...@@ -43893,11 +43893,12 @@ master. ...@@ -43893,11 +43893,12 @@ master.
@code{DELETE FROM table_name} will return the number of deleted rows. For @code{DELETE FROM table_name} will return the number of deleted rows. For
fast execution one should use @code{TRUNCATE table_name}. fast execution one should use @code{TRUNCATE table_name}.
@item @item
Multi table deletes (cascading deletes) and multi table updates. Multi-table @code{DELETE} (cascading @code{DELETE} and multi-table
@code{DELETE}.
@item @item
Better replication. Better replication.
@item @item
More functions for full text search. More functions for full-text search.
@item @item
Character set casts and syntax for handling multiple character sets. Character set casts and syntax for handling multiple character sets.
@item @item
...@@ -43907,8 +43908,8 @@ Help for all commands from the client. ...@@ -43907,8 +43908,8 @@ Help for all commands from the client.
@item @item
Secure connections (with SSL). Secure connections (with SSL).
@item @item
Extend the optimizer to be able to optimize some Extend the optimizer to be able to optimize some @code{ORDER BY key_name DESC}
@code{ORDER BY key_name DESC} queries. queries.
@item @item
New key cache New key cache
@end itemize @end itemize
...@@ -43920,13 +43921,11 @@ New key cache ...@@ -43920,13 +43921,11 @@ New key cache
@item @item
Fail safe replication. Fail safe replication.
@item @item
Subqueries. @code{select id from t where grp in (select grp from g where u > 100)} Subqueries.
@code{select id from t where grp in (select grp from g where u > 100)}
@item @item
Don't allow more than # threads to run MyISAM recover at the same time. Don't allow more than a defined number of threads to run MyISAM recover
@item at the same time.
@code{INSERT SQL_CONCURRENT ...}; This will force the insert to happen at the
end of the data file if the table is in use by an select to allow
concurrent inserts.
@item @item
Change @code{INSERT ... SELECT} to use concurrent inserts. Change @code{INSERT ... SELECT} to use concurrent inserts.
@item @item
...@@ -43986,7 +43985,7 @@ should remove as few queries as possible from the cache. ...@@ -43986,7 +43985,7 @@ should remove as few queries as possible from the cache.
This should give a big speed bost on machines with much RAM where This should give a big speed bost on machines with much RAM where
queries are often repeated (like WWW applications). queries are often repeated (like WWW applications).
One idea would be to only cache queries of type: One idea would be to only cache queries of type:
@code{SELECT CACHED ....} @code{SELECT CACHED ...}
@item @item
Fix @file{libmysql.c} to allow two @code{mysql_query()} commands in a row Fix @file{libmysql.c} to allow two @code{mysql_query()} commands in a row
without reading results or give a nice error message when one does this. without reading results or give a nice error message when one does this.
...@@ -43995,13 +43994,13 @@ Optimize @code{BIT} type to take 1 bit (now @code{BIT} takes 1 char). ...@@ -43995,13 +43994,13 @@ Optimize @code{BIT} type to take 1 bit (now @code{BIT} takes 1 char).
@item @item
Check why MIT-pthreads @code{ctime()} doesn't work on some FreeBSD systems. Check why MIT-pthreads @code{ctime()} doesn't work on some FreeBSD systems.
@item @item
Add @code{ORDER BY} to update. This would be handy with functions like: Add @code{ORDER BY} to @code{UPDATE}. This would be handy with functions like:
@code{generate_id(start,step)}. @code{generate_id(start,step)}.
@item @item
Add an @code{IMAGE} option to @code{LOAD DATA INFILE} to not update Add an @code{IMAGE} option to @code{LOAD DATA INFILE} to not update
@code{TIMESTAMP} and @code{AUTO_INCREMENT} fields. @code{TIMESTAMP} and @code{AUTO_INCREMENT} fields.
@item @item
Make @code{LOAD DATA INFILE} understand a syntax like: Make @code{LOAD DATA INFILE} understand syntax like:
@example @example
LOAD DATA INFILE 'file_name.txt' INTO TABLE tbl_name LOAD DATA INFILE 'file_name.txt' INTO TABLE tbl_name
TEXT_FIELDS (text_field1, text_field2, text_field3) TEXT_FIELDS (text_field1, text_field2, text_field3)
...@@ -44084,7 +44083,7 @@ Processlist should show number of queries/thread. ...@@ -44084,7 +44083,7 @@ Processlist should show number of queries/thread.
@code{SHOW HOSTS} for printing information about the hostname cache. @code{SHOW HOSTS} for printing information about the hostname cache.
@item @item
@code{DELETE} and @code{REPLACE} options to the @code{UPDATE} statement @code{DELETE} and @code{REPLACE} options to the @code{UPDATE} statement
(this will delete rows when one gets a dupplicate key error while updating). (this will delete rows when one gets a duplicate key error while updating).
@item @item
Change the format of @code{DATETIME} to store fractions of seconds. Change the format of @code{DATETIME} to store fractions of seconds.
@item @item
...@@ -44105,7 +44104,7 @@ Change that @code{ALTER TABLE} doesn't abort clients that executes ...@@ -44105,7 +44104,7 @@ Change that @code{ALTER TABLE} doesn't abort clients that executes
Fix that when columns referenced in an @code{UPDATE} clause contains the old Fix that when columns referenced in an @code{UPDATE} clause contains the old
values before the update started. values before the update started.
@item @item
Allow update of varibles in @code{UPDATE} statements. For example: Allow update of variables in @code{UPDATE} statements. For example:
@code{UPDATE TABLE foo SET @@a=a+b,a=@@a, b=@@a+c} @code{UPDATE TABLE foo SET @@a=a+b,a=@@a, b=@@a+c}
@item @item
@code{myisamchk}, @code{REPAIR} and @code{OPTIMIZE TABLE} should be able @code{myisamchk}, @code{REPAIR} and @code{OPTIMIZE TABLE} should be able
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment