summaryrefslogtreecommitdiff
path: root/Docs
diff options
context:
space:
mode:
Diffstat (limited to 'Docs')
-rw-r--r--Docs/manual.texi488
1 files changed, 328 insertions, 160 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi
index 73d087dfb29..defcd3a1c44 100644
--- a/Docs/manual.texi
+++ b/Docs/manual.texi
@@ -234,7 +234,7 @@ security bug in @code{MySQL Server}, you should send an e-mail to
* What-is:: What Is MySQL?
* What is MySQL AB:: What Is MySQL AB?
* Licensing and Support:: MySQL Support and Licensing
-* MySQL 4.0 In A Nutshell:: MySQL 4.0 In A Nutshell
+* MySQL 4.0 In A Nutshell:: MySQL 4.x In A Nutshell
* MySQL Information Sources:: MySQL Information Sources
* Compatibility:: How Standards-compatible Is MySQL?
* TODO:: MySQL and the future (The TODO)
@@ -260,6 +260,9 @@ The most recent version of this manual is available at
including Texinfo, plain text, Info, HTML, PostScript, PDF,
and Windows HLP versions.
+@cindex manual, available formats
+@cindex Texinfo
+
The primary document is the Texinfo file.
The HTML version is produced automatically using a modified version of
@code{texi2html}.
@@ -273,12 +276,9 @@ our searchable PHP version at @uref{http://www.mysql.com/doc/}.
If you have any suggestions concerning additions or corrections to this
manual, please send them to the documentation team at @email{docs@@mysql.com}.
-@cindex manual, available formats
-@cindex Texinfo
-
-This manual is written and maintained by David Axmark, Michael (Monty)
-Widenius, Jeremy Cole, Arjen Lentz, and Paul DuBois. For other
-contributors, see @ref{Credits}.
+This manual was initially written by David Axmark and Michael (Monty)
+Widenius. It is currently maintained by Michael (Monty) Widenius,
+Arjen Lentz, and Paul DuBois. For other contributors, see @ref{Credits}.
The copyright (2002) to this manual is owned by the Swedish company
@code{MySQL AB}. @xref{Copyright}.
@@ -745,7 +745,7 @@ well-tested each of them is:
@item Replication -- Gamma
Large server clusters using replication are in production use, with
good results. Work on enhanced replication features is continuing
-in @code{MySQL} 4.0.
+in @code{MySQL} 4.x.
@item @code{InnoDB} tables -- Stable (in 3.23 from 3.23.49)
The @code{InnoDB} transactional table handler has now been declared
@@ -1052,8 +1052,8 @@ tricky questions are answered by Michael @code{Monty} Widenius, principal
author of the @code{MySQL Server}.
@xref{Support}.
-To order support at various levels, please visit the order section at
-@uref{https://order.mysql.com/} or contact our sales staff at
+For more information and ordering support at various levels, see
+@uref{http://www.mysql.com/support/} or contact our sales staff at
@email{sales@@mysql.com}.
@@ -1138,7 +1138,8 @@ This means that the @code{MySQL} software can be used free of charge
under the @code{GPL}. If you do not want to be bound by the @code{GPL}
terms (like the requirement that your own application becomes @code{GPL}
as well), you may purchase a commercial license for the same product
-from @code{MySQL AB} at @uref{https://order.mysql.com/}.
+from @code{MySQL AB}.
+See @uref{http://www.mysql.com/support/arrangements/price.html}.
Since @code{MySQL AB} owns the copyright to the @code{MySQL} source code,
we are able to employ @code{Dual Licensing} which means that the same
product is available under @code{GPL} and under a commercial
@@ -1208,9 +1209,8 @@ For press service and inquiries not covered in our News releases
If you have a valid support contract with @code{MySQL AB}, you will
get timely, precise answers to your technical questions about the
@code{MySQL} software. For more information, see @ref{Support}.
-You can order your support contract at
-@uref{https://order.mysql.com/}, or send an e-mail message to
-@email{sales@@mysql.com}.
+On our website, see @uref{http://www.mysql.com/support/}, or send
+an e-mail message to @email{sales@@mysql.com}.
For information about @code{MySQL} training, please visit the training
section at @uref{http://www.mysql.com/training/}. If you have
@@ -1230,7 +1230,10 @@ consulting staff at @email{consulting@@mysql.com}.
Commercial licenses may be purchased online at
@uref{https://order.mysql.com/}. There you will also find information
-on how to fax your purchase order to @code{MySQL AB}. If you have
+on how to fax your purchase order to @code{MySQL AB}. More information
+about licensing can be found at
+@uref{http://www.mysql.com/support/arrangements/price.html}.
+If you have
questions regarding licensing or you want a quote for a high-volume
license deal, please fill in the contact form on our web site
(@uref{http://www.mysql.com/}) or send an e-mail message
@@ -1334,7 +1337,7 @@ not third-party products that access the @code{MySQL} server, though we
try to help with these where we can.
Detailed information about our various support options is given at
-@uref{https://order.mysql.com/}, where support contracts can also be
+@uref{http://www.mysql.com/support/}, where support contracts can also be
ordered online. If you have restricted access to the Internet, contact
our sales staff at @email{sales@@mysql.com}.
@@ -1430,6 +1433,8 @@ Since the @code{MySQL} software is released under the @code{GPL},
it may often be used for free, but for certain uses you may want
or need to buy commercial licenses from @code{MySQL AB} at
@uref{https://order.mysql.com/}.
+See @uref{http://www.mysql.com/support/arrangements.html} for
+more information.
Older versions of @code{MySQL} (3.22 and earlier) are subject to a
more strict license
@@ -1490,10 +1495,11 @@ If you require a license, you will need one for each installation of the
is no artificial limit on the number of clients that connect to the server
in any way.
-To purchase commercial licenses and support, please visit the order section
-of our web site at @uref{https://order.mysql.com/}. If you have special
-licensing needs or you have restricted access to the Internet, please contact
-our sales staff at @email{sales@@mysql.com}.
+For commercial licenses, please visit our website at
+@uref{http://www.mysql.com/support/arrangements/price.html}.
+For support contracts, see @uref{http://www.mysql.com/support/}.
+If you have special needs or you have restricted access to the Internet,
+please contact our sales staff at @email{sales@@mysql.com}.
@node Using the MySQL software for free under GPL, , Using the MySQL software under a commercial license, MySQL licenses
@@ -1699,9 +1705,7 @@ domain names is not allowed without written permission from @code{MySQL AB}.
@node MySQL 4.0 In A Nutshell, MySQL Information Sources, Licensing and Support, Introduction
-@section MySQL 4.0 In A Nutshell
-
-Dateline: 16 October 2001, Uppsala, Sweden
+@section MySQL 4.x In A Nutshell
Long promised by @code{MySQL AB} and long awaited by our users,
MySQL Server 4.0 is now available in beta version for download from
@@ -1716,8 +1720,8 @@ Other new features target the users of embedded databases.
* Nutshell Stepwise Rollout:: Stepwise Rollout
* Nutshell Ready for Immediate Development Use:: Ready for Immediate Development Use
* Nutshell Embedded MySQL:: Embedded MySQL
-* Nutshell Other features:: Other Features Available From MySQL 4.0.0
-* Nutshell Future features:: Future MySQL 4.0 Features
+* Nutshell Other features:: Other Features Available From MySQL 4.0
+* Nutshell Future features:: Future MySQL 4.x Features
* Nutshell 4.1 development release:: MySQL 4.1, The Following Development Release
@end menu
@@ -1725,25 +1729,25 @@ Other new features target the users of embedded databases.
@node Nutshell Stepwise Rollout, Nutshell Ready for Immediate Development Use, MySQL 4.0 In A Nutshell, MySQL 4.0 In A Nutshell
@subsection Stepwise Rollout
-The rollout of MySQL Server 4.0 will come in several steps, with
-the first version labelled 4.0.0 already containing most of the
-new features. Additional features will be incorporated into
-MySQL 4.0.1, 4.0.2, and onward; very probably within a couple of months,
-MySQL 4.0 will be labelled beta. Further new features will then
-be added in MySQL 4.1, which is targeted for alpha release
-in third quarter 2002.
+The rollout of MySQL Server 4.x comes in several steps, with
+the first version labelled 4.0.0-alpha already containing most of the
+new features. Additional features have since been incorporated into
+MySQL 4.0.1, 4.0.2, and onward; MySQL 4.0.3 has been labelled beta.
+Further new features are being added in MySQL 4.1, targeted for
+alpha release in third quarter 2002.
@node Nutshell Ready for Immediate Development Use, Nutshell Embedded MySQL, Nutshell Stepwise Rollout, MySQL 4.0 In A Nutshell
@subsection Ready for Immediate Development Use
Users are not recommended to switch their production systems
-to MySQL Server 4.0 until it is released in beta version.
+to a MySQL Server 4.x until it is released in beta version
+(such as 4.0.3 beta).
However, even the initial release has passed our extensive
test suite without any errors on any of the platforms we test on.
Due to the large number of new features, we thus recommend
-MySQL Server 4.0 even in alpha form for development use, with
-the release schedule of MySQL Server 4.0 being such that it will
+MySQL Server 4.x even in alpha form for development use, with
+the release schedule of MySQL Server 4.x being such that it will
reach stable state before the deployment of user applications
now under development.
@@ -1768,7 +1772,7 @@ client library, so it is convenient and easy to use. @xref{libmysqld}.
@node Nutshell Other features, Nutshell Future features, Nutshell Embedded MySQL, MySQL 4.0 In A Nutshell
-@subsection Other Features Available From MySQL 4.0.0
+@subsection Other Features Available From MySQL 4.0
@itemize @bullet
@item
@@ -1778,25 +1782,11 @@ such as bulk @code{INSERT}s, searching on packed indexes, creation of
@code{FULLTEXT} indexes, as well as @code{COUNT(DISTINCT)}.
@item
-The table handler @code{InnoDB} is now offered as a feature of the
+The @code{InnoDB} table handler is now offered as a feature of the
standard MySQL server, including full support for @code{transactions}
and @code{row-level locking}.
@item
-MySQL Server 4.0 will support secure traffic between the client and the server,
-greatly increasing security against malicious intrusion and unauthorised
-access. Web applications being a cornerstone of MySQL use, web developers
-have been able to use @code{Secure Socket Layer} (@code{SSL}) to secure the
-traffic between the the end user browser and the web application, be it
-written in PHP, Perl, ASP or using any other web development tool. However,
-the traffic between the development tool and the @code{mysqld} server
-process has been protected only by virtue of them being processes
-residing on computers within the same firewall. In MySQL Server 4.0,
-the @code{mysqld} server daemon process can itself use @code{SSL},
-thus enabling secure traffic to MySQL databases from, say, a Windows
-application residing outside the firewall.
-
-@item
Our German, Austrian, and Swiss users will note that we have a new character
set, @code{latin_de}, which corrects the @emph{German sorting order},
placing German umlauts in the same order as German telephone books.
@@ -1823,7 +1813,7 @@ possible to know how many rows a query would have returned without a
@node Nutshell Future features, Nutshell 4.1 development release, Nutshell Other features, MySQL 4.0 In A Nutshell
-@subsection Future MySQL 4.0 Features
+@subsection Future MySQL 4.x Features
For the upcoming MySQL Server 4.x releases,
expect the following features now still under development:
@@ -1832,8 +1822,8 @@ expect the following features now still under development:
@item
Mission-critical, heavy-load users of MySQL Server will appreciate
the additions to our replication system and our online hot backup.
-Later versions of 4.0 will include @code{fail-safe replication};
-already existing in 4.0.0, the @code{LOAD DATA FROM MASTER} command
+Later versions of 4.x will include @code{fail-safe replication};
+already existing in 4.0, the @code{LOAD DATA FROM MASTER} command
will soon automate slave setup. The @code{online backup} will make
it easy to add a new replication slave without taking down
the master, and have a very low performance penalty on
@@ -1864,7 +1854,6 @@ in the client.
@node Nutshell 4.1 development release, , Nutshell Future features, MySQL 4.0 In A Nutshell
@subsection MySQL 4.1, The Following Development Release
-Internally, through a new .frm file format for table definitions,
MySQL Server 4.0 lays the foundation for the new features of
MySQL Server 4.1 and onward,
such as @code{nested subqueries}, @code{stored procedures}, and
@@ -3683,7 +3672,8 @@ this without sacrificing the speed or compromising the code.
@node TODO MySQL 4.0, TODO MySQL 4.1, TODO, TODO
@subsection Things That Should be in 4.0
-All done. We now only do bug fixes MySQL 4.0.
+All done. We now only do bug fixes for MySQL 4.0. @xref{News-4.0.x}.
+Development has shifted to 4.1
@node TODO MySQL 4.1, TODO future, TODO MySQL 4.0, TODO
@subsection Things That Should be in 4.1
@@ -8154,8 +8144,9 @@ The startup options @code{record_buffer}, @code{sort_buffer} and
@code{warnings} will still work in MySQL 4.0 but are deprecated.
@item
The following SQL variables have changed name.
+@c arjen note: New table, not yet measured for O'Reilly/DocBook.
@multitable @columnfractions .50 .50
-@item @strong{From} @tab @strong{to}.
+@item @strong{From} @tab @strong{To}.
@item @code{SQL_BIG_TABLES} @tab @code{BIG_TABLES}
@item @code{SQL_LOW_PRIORITY_UPDATES} @tab @code{LOW_PRIORITY_UPDATES}
@item @code{SQL_MAX_JOIN_SIZE} @tab @code{MAX_JOIN_SIZE}
@@ -29485,6 +29476,17 @@ Conversions that occur due to clipping are reported as ``warnings'' for
@code{ALTER TABLE}, @code{LOAD DATA INFILE}, @code{UPDATE}, and
multi-row @code{INSERT} statements.
+@c FIX arjen 2002-08-07 New table, not yet measured for O'Reilly/DocBook
+@c FIX also need to shuffle into proper position and adjust text.
+@multitable @columnfractions .20 .20 .30 .30
+@item @strong{Type} @tab @strong{Bytes} @tab @strong{From} @tab @strong{To}
+@item @code{TINYINT} @tab 1 @tab -128 @tab 127
+@item @code{SMALLINT} @tab 2 @tab -32768 @tab 32767
+@item @code{MEDIUMINT} @tab 3 @tab -8388608 @tab 8388607
+@item @code{INT} @tab 4 @tab -2147483648 @tab 2147483647
+@item @code{BIGINT} @tab 8 @tab -9223372036854775808 @tab 9223372036854775807
+@end multitable
+
@node Date and time types, String types, Numeric types, Column types
@subsection Date and Time Types
@@ -30015,6 +30017,16 @@ The string types are @code{CHAR}, @code{VARCHAR}, @code{BLOB}, @code{TEXT},
@code{ENUM}, and @code{SET}. This section describes how these types work,
their storage requirements, and how to use them in your queries.
+@c FIX arjen 2002-08-07 New table, not yet measured for O'Reilly/DocBook
+@c FIX also need to shuffle into proper position and adjust text.
+@multitable @columnfractions .40 .30 .30
+@item @strong{Type} @tab @strong{Max.size} @tab @strong{Bytes}
+@item @code{TINYTEXT} or @code{TINYBLOB} @tab 2^8-1 @tab 255
+@item @code{TEXT} or @code{BLOB} @tab 2^16-1 (64K-1) @tab 65535
+@item @code{MEDIUMTEXT} or @code{MEDIUMBLOB} @tab 2^24-1 (16M-1) @tab 16777215
+@item @code{LONGBLOB} @tab 2^32-1 (4G-1) @tab 4294967295
+@end multitable
+
@node CHAR, BLOB, String types, String types
@subsubsection The @code{CHAR} and @code{VARCHAR} Types
@@ -49454,14 +49466,18 @@ These are the developers that are or have been employed by @code{MySQL AB}
to work on the @code{MySQL} database software, roughly in the order they
started to work with us. Following each developer is a small list of the
tasks that the developer is responsible for, or the accomplishments they
-have made.
+have made. All developers are involved in support.
+
+@c Updated by arjen 2002-08-06
+@c Note: this is a non-exhaustive list. It just documents some notable
+@c achievements, not each individual task. Nor is it a complete list
+@c of past/present job roles (see above). That said, updates welcome!
@table @asis
@item Michael (Monty) Widenius
-Has written the following parts of the MySQL database software:
@itemize @bullet
@item
-All the main code in @code{mysqld}.
+Lead developer and main author of the MySQL server (@code{mysqld}).
@item
New functions for the string library.
@item
@@ -49489,7 +49505,7 @@ Most of @code{crash-me} and the foundation for the MySQL benchmarks.
@item David Axmark
@itemize @bullet
@item
-Coordinator and initial main writer of the @strong{Reference Manual},
+Initial main writer of the @strong{Reference Manual},
including enhancements to @code{texi2html}.
@item
Automatic web site updating from the manual.
@@ -49512,6 +49528,8 @@ only some parts of @code{mysys} are left.
@item
Someone for Monty to call in the middle of the night when he just got
that new feature to work.
+@item
+Chief "Open Sourcerer" (MySQL community relations).
@end itemize
@item Jani Tolonen
@@ -49519,7 +49537,7 @@ that new feature to work.
@item
@code{mysqlimport}
@item
-A lot of extensions to the @code{mysql} client.
+A lot of extensions to the command-line clients.
@item
@code{PROCEDURE ANALYSE()}
@end itemize
@@ -49547,26 +49565,20 @@ Multi-row @code{INSERT}
@item
New client-server protocol for 4.0
@item
-@code{UNION}.
+@code{UNION} in 4.0
@item
Multi-table @code{DELETE}/@code{UPDATE}
@item
-derived tables
-@item
-user resources management
-@item
-OLAP functionality
+Derived tables in 4.1
@item
-The @code{MySQLGUI} client.
+User resources management
@item
-Maintainer of @code{MySQL++}.
+Initial developer of the @code{MySQL++} C++ API and the @code{MySQLGUI} client.
@end itemize
-@item Tonu Samuel
+@item Tonu Samuel (past developer)
@itemize @bullet
@item
-Our security expert.
-@item
VIO interface (the foundation for the encrypted client/server protocol).
@item
MySQL Filesystem (a way to use MySQL databases as files
@@ -49582,15 +49594,11 @@ The @code{MD5()} and @code{COALESCE()} functions.
@item Sasha Pachev
@itemize @bullet
@item
-Replication.
+Initial implementation of replication (upto version 4.0).
@item
@code{SHOW CREATE TABLE}.
@item
-mod_mysql_include
-@item
-cgi++
-@item
-mysql-bench
+@code{mysql-bench}
@end itemize
@item Matt Wagner
@@ -49598,23 +49606,29 @@ mysql-bench
@item
MySQL test suite.
@item
-Our webmaster.
+Webmaster (until 2002).
+@item
+Coordinator of development.
@end itemize
@item Miguel Solorzano
@itemize @bullet
@item
-Win32 development.
+Win32 development and release builds.
@item
-Winmysqladmin.
+Windows NT server code.
+@item
+WinMySQLAdmin
@end itemize
-@item Timothy Smith
+@item Timothy Smith (past developer)
@itemize @bullet
@item
-Dynamic character support.
+Dynamic character sets support.
+@item
+configure, RPMs and other parts of the build system.
@item
-Responsible for MySQL configure.
+Initial developer of @code{libmysqld}, the embedded server.
@end itemize
@item Sergei Golubchik
@@ -49640,7 +49654,9 @@ Proofreading and editing this fine manual.
@item Indrek Siitan
@itemize @bullet
@item
-Designer/programmer of our web interface.
+Designing/programming of our web interface.
+@item
+Author of our newsletter management system.
@end itemize
@item Jorge del Conde
@@ -49648,10 +49664,103 @@ Designer/programmer of our web interface.
@item
@code{MyCC} @code{MySQL Control Center}.
@item
-Web portals.
+Win32 development
+@item
+Initial implementation of the website portals.
+@end itemize
+
+@item Venu Anuganti
+@itemize @bullet
+@item
+MyODBC 3.51
+@item
+New client/server protocol for 4.1
+@end itemize
+
+@item Arjen Lentz
+@itemize @bullet
+@item
+Maintainer of the MySQL Reference Manual.
+@item
+Preparing the O'Reilly printed edition of the manual.
+@end itemize
+
+@item Alexander (Bar) Barkov, Alexey (Holyfoot) Botchkov, and Ramil Kallimullin
+@itemize @bullet
+@item
+Spatial data (GIS) and R-Trees implementation for 4.1
+@item
+Unicode and character sets for 4.1
+@end itemize
+
+@item Alexander (Sanja) Belkin
+@itemize @bullet
+@item
+Query cache in 4.0
+@item
+Implementation of subqueries (4.1).
+@end itemize
+
+@item Aleksey (Walrus) Kishkin and Alexey (Ranger) Stroganov
+@itemize @bullet
+@item
+Benchmarks design and analysis.
+@item
+Maintenance of the MySQL test suite.
+@end itemize
+
+@item Zak Greant
+@itemize @bullet
+@item
+Open Source advocate, MySQL community relations.
+@end itemize
+
+@item Carsten Pedersen
+@itemize @bullet
+@item
+The MySQL Certification program.
+@end itemize
+
+@item Lenz Grimmer
+@itemize @bullet
@item
-Win32 development.
+Production (build and release) engineering.
@end itemize
+
+@item Peter Zaitsev
+@itemize @bullet
+@item
+@code{SHA1()}, @code{AES_ENCRYPT()} and @code{AES_DECRYPT()} functions.
+@item
+Debugging, cleaning up various features.
+@end itemize
+
+@item Alexander (Salle) Keremidarski
+@itemize @bullet
+@item
+Documentation of existing MySQL code/algorithms.
+@item
+Debugging.
+@end itemize
+
+@item Per-Erik Martin
+@itemize @bullet
+@item
+Lead developer for stored procedures and triggers.
+@end itemize
+
+@item Jim Winstead
+@itemize @bullet
+@item
+Lead web developer.
+@end itemize
+
+@item Mark Matthews
+@itemize @bullet
+@item
+JDBC driver.
+@end itemize
+
@end table
@@ -49667,9 +49776,9 @@ Contributors are listed here, in somewhat random order:
@table @asis
@item Paul DuBois
-Help with making the Reference Manual correct and understandable. That
-includes rewriting Monty's and David's attempts at English into English
-as other people know it.
+Ongoing help with making this manual correct and understandable.
+That includes rewriting Monty's and David's attempts at English into
+English as other people know it.
@item Gianmassimo Vigazzola @email{qwerg@@mbox.vol.it} or @email{qwerg@@tin.it}
The initial port to Win32/NT.
@item Kim Aldale
@@ -49758,7 +49867,7 @@ answering on the MySQL mailing list.
@item Yves Carlier @email{Yves.Carlier@@rug.ac.be}
@code{mysqlaccess}, a program to show the access rights for a user.
@item Rhys Jones @email{rhys@@wales.com} (And GWE Technologies Limited)
-For the JDBC, a module to extract data from a MySQL Database with a Java client.
+For JDBC, a module to extract data from a MySQL Database with a Java client.
@item Dr Xiaokun Kelvin ZHU @email{X.Zhu@@brad.ac.uk}
Further development of the JDBC driver and other MySQL-related
Java tools.
@@ -49779,7 +49888,7 @@ For providing RPM versions for MySQL Version 3.21.
For maintaining the Perl @code{DBD::mysql} module.
@item Therrien Gilbert @email{gilbert@@ican.net}, Jean-Marc Pouyot @email{jmp@@scalaire.fr}
French error messages.
-@item Petr snajdr, @email{snajdr@@pvt.net}
+@item Petr Snajdr, @email{snajdr@@pvt.net}
Czech error messages.
@item Jaroslaw Lewandowski @email{jotel@@itnet.com.pl}
Polish error messages.
@@ -49802,7 +49911,10 @@ Hungarian error messages.
@item Roberto M. Serqueira
Portugise error messages.
@item Carsten H. Pedersen
-Danish error messages
+Danish error messages.
+@item Arjen G. Lentz
+Dutch error messages, completing earlier partial translation
+(also work on consistency and spelling).
@item David Sacerdote @email{davids@@secnet.com}
Ideas for secure checking of DNS hostnames.
@item Wei-Jou Chen @email{jou@@nematic.ieo.nctu.edu.tw}
@@ -49932,8 +50044,6 @@ Development on the embedded @code{mysqld} version.
@end table
-
-
@node News, Porting, Credits, Top
@appendix MySQL Change History
@@ -49944,16 +50054,21 @@ Development on the embedded @code{mysqld} version.
This appendix lists the changes from version to version in the MySQL
source code.
+We are now working actively on MySQL 4.x and will only provide critical
+bug fixes for MySQL 3.23. We update this section as we add new
+features, so that everybody can follow the development.
+
+Our TODO section contains what further plans we have for 4.x. @xref{TODO}.
+
Note that we tend to update the manual at the same time we make changes to
MySQL. If you find a version listed here that you can't
-find on the MySQL download page
-(@uref{http://www.mysql.com/downloads/}),
+find on the MySQL download page (@uref{http://www.mysql.com/downloads/}),
this means that the version has not yet been released!
@c Please don't add a new version here without also updating ../configure.in!
@menu
-* News-4.0.x:: Changes in release 4.0.x (Development; Alpha)
+* News-4.0.x:: Changes in release 4.0.x (Beta)
* News-3.23.x:: Changes in release 3.23.x (Stable)
* News-3.22.x:: Changes in release 3.22.x (Older; Still supported)
* News-3.21.x:: Changes in release 3.21.x
@@ -49963,34 +50078,87 @@ this means that the version has not yet been released!
@node News-4.0.x, News-3.23.x, News, News
-@appendixsec Changes in release 4.0.x (Development; Alpha)
+@appendixsec Changes in release 4.0.x (Beta)
-We are now working actively on MySQL 4.0 and will only provide critical
-bug fixes for MySQL 3.23. We will update this section as we add new
-features, so that others can follow our development.
+@cindex changes, version 4.0
-Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}.
+Version 4.0 of the MySQL server includes many enhancements and new features:
+
+@itemize @bullet
+@item
+The @code{InnoDB} table type is now included in the standard binaries,
+adding transactions, row-level locking and foreign keys.
+@xref{InnoDB}.
+@item
+A query qache, offering vastly increased performance for many applications.
+By caching complete result sets, later identical queries can return
+instantly.
+@xref{Query Cache}.
+@item
+Improved full-text indexing with boolean mode, truncation and phrase searching.
+@xref{Fulltext Search}.
+@item
+Enhanced @code{MERGE} tables, now supporting @code{INSERT}s and
+@code{AUTO_INCREMENT}.
+@xref{MERGE}.
+@item
+@code{UNION} syntax in @code{SELECT}.
+@xref{UNION}.
+@item
+Multi-table @code{DELETE} statements.
+@xref{DELETE}.
+@item
+@code{libmysqld}, the embedded server library.
+@xref{libmysqld}.
+@item
+Additional @code{GRANT} privilege options for even tighter control and
+security.
+@xref{GRANT}.
+@item
+Management of user resources in the @code{GRANT} system, particularly
+useful for ISPs and other hosting providers.
+@xref{User resources}.
+@item
+Dynamic server variables, allowing configuration changes without having
+to take down the server.
+@xref{SET OPTION}.
+@item
+Improved replication code and features.
+@xref{Replication}.
+@item
+Numerous new and functions and options.
+@item
+Changes to existing code for enhance performance and reliability.
+@end itemize
+
+For a full list of changes, please refer to the changelog sections for
+each individual 4.0.x release.
-@cindex changes, version 4.0
@menu
-* News-4.0.3:: Changes in release 4.0.3
-* News-4.0.2:: Changes in release 4.0.2 (01 July 2002)
+* News-4.0.3:: Changes in release 4.0.3 (Aug 2002: Beta)
+* News-4.0.2:: Changes in release 4.0.2 (01 Jul 2002)
* News-4.0.1:: Changes in release 4.0.1 (23 Dec 2001)
* News-4.0.0:: Changes in release 4.0.0 (Oct 2001: Alpha)
@end menu
@node News-4.0.3, News-4.0.2, News-4.0.x, News-4.0.x
-@appendixsubsec Changes in release 4.0.3
+@appendixsubsec Changes in release 4.0.3 (Aug 2002: Beta)
@itemize @bullet
@item
-Fixed bug in REVOKE that caused user resources to be randomly set
+Fixed bug in multi-table @code{UPDATE}: when updating a table,
+@code{do_select()} became confused about reading records from a cache.
+@item
+Fixed bug in multi-table @code{UPDATE} when several fields were referenced
+from a single table
@item
-Fixed bug with a new GRANT on TEMP TABLES
+Fixed bug in @code{REVOKE} that caused user resources to be randomly set.
@item
-Fixed bug in multi-table delete when tables are re-ordered in table
-initialization method and ref_length's are of different sizes
+Fixed bug in @code{GRANT} for the new @code{CREATE TEMPORARY TABLE} privilege.
+@item
+Fixed bug in multi-table @code{DELETE} when tables are re-ordered in the
+table initialisation method and ref_lengths are of different sizes.
@item
Fixed two bugs in @code{SELECT DISTINCT} with large tables.
@item
@@ -50019,12 +50187,12 @@ Renamed variable @code{query_cache_startup_type} to @code{query_cache_type},
@code{record_buffer} to @code{read_buffer_size} and
@code{record_rnd_buffer} to @code{record_rnd_buffer_size}.
@item
-Renamed some sql variables, but old names will still work until 5.0.
+Renamed some SQL variables, but old names will still work until 5.0.
@xref{Upgrading-from-3.23}.
@item
Renamed @code{--skip-locking} to @code{--skip-external-locking}.
@item
-Removed not used variable @code{query_buffer_size}.
+Removed unused variable @code{query_buffer_size}.
@item
Fixed a bug that made the pager option in the @code{mysql} client
non-functional.
@@ -50044,7 +50212,7 @@ other databases. It is synonymous with @code{LOG(X)}.
@node News-4.0.2, News-4.0.1, News-4.0.3, News-4.0.x
-@appendixsubsec Changes in release 4.0.2 (01 July 2002)
+@appendixsubsec Changes in release 4.0.2 (01 Jul 2002)
@itemize @bullet
@item
@@ -50425,7 +50593,7 @@ the database, which fixes a problem with @code{InnoDB} tables.
@item
Added support for @code{UNION}.
@item
-@code{DELETE} can now operate on multiple tables.
+Added support for multi-table @code{DELETE} operations.
@item
A new @code{HANDLER} interface to @code{MyISAM} tables.
@item
@@ -50500,7 +50668,7 @@ Added script @code{mysql_explain_log.sh} to distribution.
@node News-3.23.x, News-3.22.x, News-4.0.x, News
-@appendixsec Changes in release 3.23.x (Stable)
+@appendixsec Changes in release 3.23.x (Stable)
@cindex changes, version 3.23
@@ -50511,12 +50679,12 @@ table types:
@table @asis
@item @code{MyISAM}
A new ISAM library which is tuned for SQL and supports large files.
-@item @code{BerkeleyDB} or @code{BDB}
-Uses the Berkeley DB library from Sleepycat Software to implement
-transaction-safe tables.
@item @code{InnoDB}
A transaction-safe table handler that supports row level locking, and many
Oracle-like features.
+@item @code{BerkeleyDB} or @code{BDB}
+Uses the Berkeley DB library from Sleepycat Software to implement
+transaction-safe tables.
@end table
Note that only @code{MyISAM} is available in the standard binary distribution.
@@ -50524,7 +50692,7 @@ Note that only @code{MyISAM} is available in the standard binary distribution.
The 3.23 release also includes support for database replication between
a master and many slaves, full-text indexing, and much more.
-All new features are being developed in the 4.0 version. Only
+All new features are being developed in the 4.x version. Only
bug fixes and minor enhancements to existing features will be
added to 3.23.
@@ -50550,7 +50718,7 @@ not yet 100% confident in this code.
* News-3.23.46:: Changes in release 3.23.46 (29 Nov 2001)
* News-3.23.45:: Changes in release 3.23.45 (22 Nov 2001)
* News-3.23.44:: Changes in release 3.23.44 (31 Oct 2001)
-* News-3.23.43:: Changes in release 3.23.43
+* News-3.23.43:: Changes in release 3.23.43 (04 Oct 2001)
* News-3.23.42:: Changes in release 3.23.42 (08 Sep 2001)
* News-3.23.41:: Changes in release 3.23.41 (11 Aug 2001)
* News-3.23.40:: Changes in release 3.23.40
@@ -50568,10 +50736,10 @@ not yet 100% confident in this code.
* News-3.23.29:: Changes in release 3.23.29 (16 Dec 2000)
* News-3.23.28:: Changes in release 3.23.28 (22 Nov 2000: Gamma)
* News-3.23.27:: Changes in release 3.23.27 (24 Oct 2000)
-* News-3.23.26:: Changes in release 3.23.26
-* News-3.23.25:: Changes in release 3.23.25
+* News-3.23.26:: Changes in release 3.23.26 (18 Oct 2000)
+* News-3.23.25:: Changes in release 3.23.25 (29 Sep 2000)
* News-3.23.24:: Changes in release 3.23.24 (08 Sep 2000)
-* News-3.23.23:: Changes in release 3.23.23
+* News-3.23.23:: Changes in release 3.23.23 (01 Sep 2000)
* News-3.23.22:: Changes in release 3.23.22 (31 Jul 2000)
* News-3.23.21:: Changes in release 3.23.21
* News-3.23.20:: Changes in release 3.23.20
@@ -50582,19 +50750,19 @@ not yet 100% confident in this code.
* News-3.23.15:: Changes in release 3.23.15 (May 2000: Beta)
* News-3.23.14:: Changes in release 3.23.14
* News-3.23.13:: Changes in release 3.23.13
-* News-3.23.12:: Changes in release 3.23.12
+* News-3.23.12:: Changes in release 3.23.12 (07 Mar 2000)
* News-3.23.11:: Changes in release 3.23.11
* News-3.23.10:: Changes in release 3.23.10
* News-3.23.9:: Changes in release 3.23.9
-* News-3.23.8:: Changes in release 3.23.8
-* News-3.23.7:: Changes in release 3.23.7
+* News-3.23.8:: Changes in release 3.23.8 (02 Jan 2000)
+* News-3.23.7:: Changes in release 3.23.7 (10 Dec 1999)
* News-3.23.6:: Changes in release 3.23.6
-* News-3.23.5:: Changes in release 3.23.5
-* News-3.23.4:: Changes in release 3.23.4
+* News-3.23.5:: Changes in release 3.23.5 (20 Oct 1999)
+* News-3.23.4:: Changes in release 3.23.4 (28 Sep 1999)
* News-3.23.3:: Changes in release 3.23.3
-* News-3.23.2:: Changes in release 3.23.2
+* News-3.23.2:: Changes in release 3.23.2 (09 Aug 1999)
* News-3.23.1:: Changes in release 3.23.1
-* News-3.23.0:: Changes in release 3.23.0 (Sep 1999: Alpha)
+* News-3.23.0:: Changes in release 3.23.0 (05 Aug 1999: Alpha)
@end menu
@node News-3.23.52, News-3.23.51, News-3.23.x, News-3.23.x
@@ -51002,7 +51170,7 @@ Fixed a bug in purge which could cause crashes.
@end itemize
@node News-3.23.43, News-3.23.42, News-3.23.44, News-3.23.x
-@appendixsubsec Changes in release 3.23.43
+@appendixsubsec Changes in release 3.23.43 (04 Oct 2001)
@itemize @bullet
@item
@@ -52023,7 +52191,7 @@ Small portability fixes.
@node News-3.23.26, News-3.23.25, News-3.23.27, News-3.23.x
-@appendixsubsec Changes in release 3.23.26
+@appendixsubsec Changes in release 3.23.26 (18 Oct 2000)
@itemize @bullet
@item
@@ -52102,7 +52270,7 @@ on a patch from John Jones.
@node News-3.23.25, News-3.23.24, News-3.23.26, News-3.23.x
-@appendixsubsec Changes in release 3.23.25
+@appendixsubsec Changes in release 3.23.25 (29 Sep 2000)
@itemize @bullet
@item
@@ -52218,7 +52386,7 @@ Restored the @code{win1251} character set (it's now only marked deprecated).
@node News-3.23.23, News-3.23.22, News-3.23.24, News-3.23.x
-@appendixsubsec Changes in release 3.23.23
+@appendixsubsec Changes in release 3.23.23 (01 Sep 2000)
@itemize @bullet
@item
@@ -52741,7 +52909,7 @@ Added @code{print_defaults} program to the @file{.rpm} files. Removed
@node News-3.23.12, News-3.23.11, News-3.23.13, News-3.23.x
-@appendixsubsec Changes in release 3.23.12
+@appendixsubsec Changes in release 3.23.12 (07 Mar 2000)
@itemize @bullet
@item
@@ -52914,7 +53082,7 @@ Fixed problem with 8-bit characters as separators in @code{LOAD DATA INFILE}.
@node News-3.23.8, News-3.23.7, News-3.23.9, News-3.23.x
-@appendixsubsec Changes in release 3.23.8
+@appendixsubsec Changes in release 3.23.8 (02 Jan 2000)
@itemize @bullet
@item
@@ -52954,7 +53122,7 @@ was too big.
@node News-3.23.7, News-3.23.6, News-3.23.8, News-3.23.x
-@appendixsubsec Changes in release 3.23.7
+@appendixsubsec Changes in release 3.23.7 (10 Dec 1999)
@itemize @bullet
@item
@@ -53067,7 +53235,7 @@ Added function @code{ORD(string)}.
@node News-3.23.5, News-3.23.4, News-3.23.6, News-3.23.x
-@appendixsubsec Changes in release 3.23.5
+@appendixsubsec Changes in release 3.23.5 (20 Oct 1999)
@itemize @bullet
@item
@@ -53129,7 +53297,7 @@ Fixed problem with @code{UDF} functions.
@node News-3.23.4, News-3.23.3, News-3.23.5, News-3.23.x
-@appendixsubsec Changes in release 3.23.4
+@appendixsubsec Changes in release 3.23.4 (28 Sep 1999)
@itemize @bullet
@item
@@ -53208,7 +53376,7 @@ New function @code{COALESCE()}.
@node News-3.23.2, News-3.23.1, News-3.23.3, News-3.23.x
-@appendixsubsec Changes in release 3.23.2
+@appendixsubsec Changes in release 3.23.2 (09 Aug 1999)
@itemize @bullet
@item
@@ -53284,7 +53452,7 @@ Fixed some compilation problems.
@node News-3.23.0, , News-3.23.1, News-3.23.x
-@appendixsubsec Changes in release 3.23.0 (Sep 1999: Alpha)
+@appendixsubsec Changes in release 3.23.0 (05 Aug 1999: Alpha)
@itemize @bullet
@item
@@ -53446,19 +53614,19 @@ be very easy and painless. @xref{Upgrading-from-3.21}.
* News-3.22.35:: Changes in release 3.22.35
* News-3.22.34:: Changes in release 3.22.34
* News-3.22.33:: Changes in release 3.22.33
-* News-3.22.32:: Changes in release 3.22.32
+* News-3.22.32:: Changes in release 3.22.32 (14 Feb 2000)
* News-3.22.31:: Changes in release 3.22.31
* News-3.22.30:: Changes in release 3.22.30
-* News-3.22.29:: Changes in release 3.22.29
-* News-3.22.28:: Changes in release 3.22.28
+* News-3.22.29:: Changes in release 3.22.29 (02 Jan 2000)
+* News-3.22.28:: Changes in release 3.22.28 (20 Oct 1999)
* News-3.22.27:: Changes in release 3.22.27
-* News-3.22.26:: Changes in release 3.22.26
+* News-3.22.26:: Changes in release 3.22.26 (16 Sep 1999)
* News-3.22.25:: Changes in release 3.22.25
-* News-3.22.24:: Changes in release 3.22.24
-* News-3.22.23:: Changes in release 3.22.23
-* News-3.22.22:: Changes in release 3.22.22
+* News-3.22.24:: Changes in release 3.22.24 (05 Jul 1999)
+* News-3.22.23:: Changes in release 3.22.23 (08 Jun 1999)
+* News-3.22.22:: Changes in release 3.22.22 (30 Apr 1999)
* News-3.22.21:: Changes in release 3.22.21
-* News-3.22.20:: Changes in release 3.22.20
+* News-3.22.20:: Changes in release 3.22.20 (18 Mar 1999)
* News-3.22.19:: Changes in release 3.22.19 (Mar 1999: Stable)
* News-3.22.18:: Changes in release 3.22.18
* News-3.22.17:: Changes in release 3.22.17
@@ -53523,7 +53691,7 @@ Quicker kill of @code{SELECT DISTINCT} queries.
@node News-3.22.32, News-3.22.31, News-3.22.33, News-3.22.x
-@appendixsubsec Changes in release 3.22.32
+@appendixsubsec Changes in release 3.22.32 (14 Feb 2000)
@itemize @bullet
@item
@@ -53573,7 +53741,7 @@ Fixed non-critical Y2K problem when writing short date to log files.
@node News-3.22.29, News-3.22.28, News-3.22.30, News-3.22.x
-@appendixsubsec Changes in release 3.22.29
+@appendixsubsec Changes in release 3.22.29 (02 Jan 2000)
@itemize @bullet
@item
@@ -53602,7 +53770,7 @@ Fixed that @code{INSERT DELAYED} doesn't update timestamps that are given.
@node News-3.22.28, News-3.22.27, News-3.22.29, News-3.22.x
-@appendixsubsec Changes in release 3.22.28
+@appendixsubsec Changes in release 3.22.28 (20 Oct 1999)
@itemize @bullet
@item
@@ -53631,7 +53799,7 @@ Fixed problem when sorting on big @code{BLOB} columns.
@node News-3.22.26, News-3.22.25, News-3.22.27, News-3.22.x
-@appendixsubsec Changes in release 3.22.26
+@appendixsubsec Changes in release 3.22.26 (16 Sep 1999)
@itemize @bullet
@item
@@ -53670,7 +53838,7 @@ Fixed some small problems with the installation.
@node News-3.22.24, News-3.22.23, News-3.22.25, News-3.22.x
-@appendixsubsec Changes in release 3.22.24
+@appendixsubsec Changes in release 3.22.24 (05 Jul 1999)
@itemize @bullet
@item
@@ -53690,7 +53858,7 @@ crashes some RedHat 6.0 systems
@node News-3.22.23, News-3.22.22, News-3.22.24, News-3.22.x
-@appendixsubsec Changes in release 3.22.23
+@appendixsubsec Changes in release 3.22.23 (08 Jun 1999)
@itemize @bullet
@item
@@ -53718,7 +53886,7 @@ Fixed bug in @code{NATURAL LEFT JOIN}.
@node News-3.22.22, News-3.22.21, News-3.22.23, News-3.22.x
-@appendixsubsec Changes in release 3.22.22
+@appendixsubsec Changes in release 3.22.22 (30 Apr 1999)
@itemize @bullet
@item
@@ -53769,7 +53937,7 @@ connections).
@node News-3.22.20, News-3.22.19, News-3.22.21, News-3.22.x
-@appendixsubsec Changes in release 3.22.20
+@appendixsubsec Changes in release 3.22.20 (18 Mar 1999)
@itemize @bullet
@item
@@ -55390,7 +55558,7 @@ Added compatibility functions @code{CHECK} and @code{REFERENCES}.
Added @code{ALL} option to @code{GRANT} for better compatibility. (@code{GRANT}
is still a dummy function.)
@item
-Added partly-translated dutch messages.
+Added partly-translated Dutch error messages.
@item
Fixed bug in @code{ORDER BY} and @code{GROUP BY} with @code{NULL} columns.
@item