diff options
author | unknown <arjen@co3064164-a.bitbike.com> | 2001-11-06 10:29:58 +1000 |
---|---|---|
committer | unknown <arjen@co3064164-a.bitbike.com> | 2001-11-06 10:29:58 +1000 |
commit | e7014fa1579fcc335d7eb54ec72aadf0e494197b (patch) | |
tree | 9eb2de313e1601ab7f278ebf64d8ffc93b6976be | |
parent | adb703943d99e20ac867671163678fb403a0ad18 (diff) | |
parent | 8d7f3781f84507f0c0201f5a188a576a559d3ee3 (diff) | |
download | mariadb-git-e7014fa1579fcc335d7eb54ec72aadf0e494197b.tar.gz |
Merge arjen@work.mysql.com:/home/bk/mysql-4.0
into co3064164-a.bitbike.com:c:/home/mysql-4.0
-rw-r--r-- | Docs/manual.texi | 288 |
1 files changed, 148 insertions, 140 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi index 7099df60283..12107de2b74 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -693,76 +693,85 @@ options to obtain online assistance. @cindex stability -This section addresses the questions ``How stable is MySQL?'' and -``Can I depend on MySQL in this project?'' We will try to clarify -some issues and to answer some of the more important questions that seem to -concern many people. This section has been put together from information -gathered from the mailing list (which is very active in reporting bugs). - -At TcX, the predecessor of MySQL AB, MySQL has worked without any problems in -projects since mid-1996. Original code stems back from the early 80s, -providing a table code base, and the ISAM table format remains backwards -compatible. When MySQL was released to a wider public, we noticed that there -were some pieces of ``untested code'' that were quickly found by the new users -who made queries in a manner different than our own. Each new release has had -fewer portability problems than the previous one (even though each has had -many new features). - -Each release of MySQL has been usable, and there have been problems -only when users start to use code from the ``gray zones.'' Naturally, outside -users don't know what the gray zones are; this section attempts to indicate -those that are currently known. The descriptions deal with Version 3.23 -of MySQL. All known and reported bugs are fixed in the latest -version, with the exception of the bugs listed in the bugs section, which -are things that are design-related. @xref{Bugs}. - -MySQL is written in multiple layers and different independent modules. -Some of the new modules are listed below with an indication of how -well-tested each of them is: +This section addresses the questions ``@emph{How stable is MySQL?}'' +and ``@emph{Can I depend on MySQL in this project?}'' +We will try to clarify these issues and answer some important +questions that concern many potential users. The information in this +section is based on data gathered from the mailing list, which is +very active in identifying problems as well as reporting types of use. + +Original code stems back from the early 80s, providing a stable code +base, and the ISAM table format remains backwards compatible. +At TcX, the predecessor of MySQL AB, MySQL has worked in projects +since mid-1996, without any problems. +When MySQL was released to a wider public, we noticed that there were +some pieces of ``untested code'' that were quickly found by the new +users who made different types of queries from us. Each new release +has had fewer portability problems (even though each new release has +had many new features). + +Each release of MySQL has been usable. There have only been problems +when users try code from the ``gray zones.'' Naturally, new users +don't know what the gray zones are; this section attempts to indicate +those that are currently known. +The descriptions mostly deal with Version 3.23 of MySQL. +All known and reported bugs are fixed in the latest version, with the +exception of those listed in the bugs section, which are things that +are design-related. @xref{Bugs}. + +MySQL design is multi-layered with independent modules. Some of the +newer modules are listed below with an indication of how well-tested +each of them is: @cindex modules, list of @table @strong -@item Locking --- Gamma -This is very system-dependent. On some systems there are big problems -using standard OS locking (@code{fcntl()}). In these cases, you should run the -MySQL daemon with the @code{--skip-locking} flag. Problems are known -to occur on some Linux systems, and on SunOS when using NFS-mounted file -systems. - -@item @strong{MyODBC 2.50} (uses ODBC SDK 2.5) --- Gamma -It seems to work well with some programs. - @item Replication -- Gamma -We are still working on replication, so don't expect this to be rock -solid yet. On the other hand, some MySQL users are already -using this with good results. - -@item BDB Tables -- Gamma -The Berkeley DB code is very stable, but we are still improving the interface -between MySQL and BDB tables, so it will take some time before this -is tested as well as the other table types. - -@item InnoDB Tables -- Gamma -This is a recent addition to @code{MySQL}. They appear to work well and -can be used after some initial testing. - -@item Automatic recovery of MyISAM tables - Gamma -This only affects the new code that checks if the table was closed properly -on open and executes an automatic check/repair of the table if it wasn't. - -@item FULLTEXT -- Beta -Text search seems to work, but is still not widely used. - -@item Bulk-insert - Alpha +Large server clusters using replication are in production use, with +good results. Work on enhanced replication features is continuing +in MySQL 4.0. + +@item @code{InnoDB} tables -- Gamma +While the @code{InnoDB} transactional table handler is a fairly recent +addition to @code{MySQL}, it appears to work well and is already being +used in some large, heavy load production systems. + +@item @code{BDB} tables -- Gamma +The @code{Berkeley DB} code is very stable, but we are still improving +the @code{BDB} transactional table handler interface in MySQL, so it +will take some time before this is as well tested as the other table +types. + +@item @code{FULLTEXT} -- Beta +Full text search works but is not yet widely used. +Important enhancements are being implemented for MySQL 4.0. + +@item @code{MyODBC 2.50} (uses ODBC SDK 2.5) -- Gamma +Increasingly in wide use. Some issues brought up appear to be +application related and independent of the ODBC driver or underlying +database server. + +@item Automatic recovery of @code{MyISAM} tables -- Gamma +This status only regards the new code in the @code{MyISAM} table +handler that checks if the table was closed properly on open and +executes an automatic check/repair of the table if it wasn't. + +@item Bulk-insert -- Alpha New feature in MyISAM in MySQL 4.0 for faster insert of many rows. +@item Locking -- Gamma +This is very system-dependent. On some systems there are big problems +using standard OS locking (@code{fcntl()}). In these cases, you should +run @code{mysqld} with the @code{--skip-locking} flag. +Problems are known to occur on some Linux systems, and on SunOS when +using NFS-mounted file systems. + @end table MySQL AB provides high-quality support for paying customers, but the MySQL mailing list usually provides answers to common questions. -Bugs are usually fixed right away with a patch; for serious bugs, there is -almost always a new release. +Bugs are usually fixed right away with a patch; for serious bugs, +there is almost always a new release. @node Table size, Year 2000 compliance, Stability, What-is @@ -28955,7 +28964,7 @@ A few are reserved because MySQL needs them and is @c START_OF_RESERVED_WORDS @multitable @columnfractions .25 .25 .25 .25 -@c Reserved word list updated Thu Oct 18 21:44:01 2001 by jcole. +@c Reserved word list updated Tue Nov 6 08:50:27 2001 by arjen. @c To regenerate, use Support/update-reserved-words.pl. @item @code{ADD} @tab @code{ALL} @@ -28963,86 +28972,85 @@ A few are reserved because MySQL needs them and is @item @code{AND} @tab @code{AS} @tab @code{ASC} @tab @code{BETWEEN} @item @code{BIGINT} @tab @code{BINARY} - @tab @code{BINLOG} @tab @code{BLOB} -@item @code{BOTH} @tab @code{BY} - @tab @code{CASCADE} @tab @code{CASE} -@item @code{CHANGE} @tab @code{CHARACTER} - @tab @code{COLUMN} @tab @code{CONSTRAINT} -@item @code{CREATE} @tab @code{CROSS} - @tab @code{CURRENT_DATE} @tab @code{CURRENT_TIME} -@item @code{CURRENT_TIMESTAMP} @tab @code{DATABASE} - @tab @code{DATABASES} @tab @code{DAY_HOUR} -@item @code{DAY_MINUTE} @tab @code{DAY_SECOND} - @tab @code{DECIMAL} @tab @code{DEFAULT} -@item @code{DELAYED} @tab @code{DELETE} - @tab @code{DESC} @tab @code{DISTINCTROW} -@item @code{DOUBLE} @tab @code{DROP} - @tab @code{ELSE} @tab @code{ENCLOSED} -@item @code{ESCAPED} @tab @code{EVENTS} - @tab @code{EXISTS} @tab @code{EXPLAIN} -@item @code{FIELDS} @tab @code{FLOAT} - @tab @code{FOR} @tab @code{FOREIGN} -@item @code{FROM} @tab @code{FULLTEXT} - @tab @code{GRANT} @tab @code{GROUP} -@item @code{HAVING} @tab @code{HIGH_PRIORITY} - @tab @code{HOUR_MINUTE} @tab @code{HOUR_SECOND} -@item @code{IF} @tab @code{IGNORE} - @tab @code{IN} @tab @code{INDEX} -@item @code{INFILE} @tab @code{INNER} - @tab @code{INSERT} @tab @code{INSERT_ID} -@item @code{INTEGER} @tab @code{INTERVAL} - @tab @code{INTO} @tab @code{IS} -@item @code{JOIN} @tab @code{KEY} - @tab @code{KEYS} @tab @code{KILL} -@item @code{LAST_INSERT_ID} @tab @code{LEADING} - @tab @code{LEFT} @tab @code{LIKE} -@item @code{LIMIT} @tab @code{LINES} - @tab @code{LOAD} @tab @code{LOCK} -@item @code{LONG} @tab @code{LONGBLOB} - @tab @code{LONGTEXT} @tab @code{LOW_PRIORITY} -@item @code{MASTER_LOG_SEQ} @tab @code{MASTER_SERVER_ID} - @tab @code{MATCH} @tab @code{MEDIUMBLOB} -@item @code{MEDIUMTEXT} @tab @code{MIDDLEINT} - @tab @code{MINUTE_SECOND} @tab @code{NATURAL} -@item @code{NOT} @tab @code{NULL} - @tab @code{NUMERIC} @tab @code{ON} -@item @code{OPTIMIZE} @tab @code{OPTION} - @tab @code{OPTIONALLY} @tab @code{OR} -@item @code{ORDER} @tab @code{OUTER} - @tab @code{OUTFILE} @tab @code{PARTIAL} -@item @code{PRECISION} @tab @code{PRIMARY} - @tab @code{PRIVILEGES} @tab @code{PROCEDURE} -@item @code{PURGE} @tab @code{READ} - @tab @code{REAL} @tab @code{REFERENCES} -@item @code{RENAME} @tab @code{REPLACE} - @tab @code{REQUIRE} @tab @code{RESTRICT} -@item @code{RETURNS} @tab @code{REVOKE} - @tab @code{RIGHT} @tab @code{RLIKE} -@item @code{SELECT} @tab @code{SET} - @tab @code{SHOW} @tab @code{SMALLINT} -@item @code{SONAME} @tab @code{SQL_AUTO_IS_NULL} - @tab @code{SQL_BIG_RESULT} @tab @code{SQL_BIG_SELECTS} -@item @code{SQL_BIG_TABLES} @tab @code{SQL_BUFFER_RESULT} - @tab @code{SQL_CALC_FOUND_ROWS} @tab @code{SQL_LOG_BIN} -@item @code{SQL_LOG_OFF} @tab @code{SQL_LOG_UPDATE} - @tab @code{SQL_LOW_PRIORITY_UPDATES} @tab @code{SQL_SAFE_UPDATES} -@item @code{SQL_SELECT_LIMIT} @tab @code{SQL_SLAVE_SKIP_COUNTER} - @tab @code{SQL_SMALL_RESULT} @tab @code{SQL_WARNINGS} -@item @code{SSL} @tab @code{STARTING} - @tab @code{STRAIGHT_JOIN} @tab @code{TABLE} -@item @code{TABLES} @tab @code{TERMINATED} - @tab @code{THEN} @tab @code{TINYBLOB} -@item @code{TINYINT} @tab @code{TINYTEXT} - @tab @code{TO} @tab @code{TRAILING} -@item @code{UNION} @tab @code{UNIQUE} - @tab @code{UNLOCK} @tab @code{UNSIGNED} -@item @code{UPDATE} @tab @code{USAGE} - @tab @code{USE} @tab @code{USING} -@item @code{VALUES} @tab @code{VARBINARY} - @tab @code{VARCHAR} @tab @code{VARYING} -@item @code{WHEN} @tab @code{WHERE} - @tab @code{WITH} @tab @code{WRITE} -@item @code{YEAR_MONTH} @tab @code{ZEROFILL} + @tab @code{BLOB} @tab @code{BOTH} +@item @code{BY} @tab @code{CASCADE} + @tab @code{CASE} @tab @code{CHANGE} +@item @code{CHARACTER} @tab @code{COLUMN} + @tab @code{CONSTRAINT} @tab @code{CREATE} +@item @code{CROSS} @tab @code{CURRENT_DATE} + @tab @code{CURRENT_TIME} @tab @code{CURRENT_TIMESTAMP} +@item @code{DATABASE} @tab @code{DATABASES} + @tab @code{DAY_HOUR} @tab @code{DAY_MINUTE} +@item @code{DAY_SECOND} @tab @code{DECIMAL} + @tab @code{DEFAULT} @tab @code{DELAYED} +@item @code{DELETE} @tab @code{DESC} + @tab @code{DISTINCTROW} @tab @code{DOUBLE} +@item @code{DROP} @tab @code{ELSE} + @tab @code{ENCLOSED} @tab @code{ESCAPED} +@item @code{EXISTS} @tab @code{EXPLAIN} + @tab @code{FIELDS} @tab @code{FLOAT} +@item @code{FOR} @tab @code{FOREIGN} + @tab @code{FROM} @tab @code{FULLTEXT} +@item @code{GRANT} @tab @code{GROUP} + @tab @code{HAVING} @tab @code{HIGH_PRIORITY} +@item @code{HOUR_MINUTE} @tab @code{HOUR_SECOND} + @tab @code{IF} @tab @code{IGNORE} +@item @code{IN} @tab @code{INDEX} + @tab @code{INFILE} @tab @code{INNER} +@item @code{INSERT} @tab @code{INSERT_ID} + @tab @code{INTEGER} @tab @code{INTERVAL} +@item @code{INTO} @tab @code{IS} + @tab @code{JOIN} @tab @code{KEY} +@item @code{KEYS} @tab @code{KILL} + @tab @code{LAST_INSERT_ID} @tab @code{LEADING} +@item @code{LEFT} @tab @code{LIKE} + @tab @code{LIMIT} @tab @code{LINES} +@item @code{LOAD} @tab @code{LOCK} + @tab @code{LONG} @tab @code{LONGBLOB} +@item @code{LONGTEXT} @tab @code{LOW_PRIORITY} + @tab @code{MASTER_LOG_SEQ} @tab @code{MASTER_SERVER_ID} +@item @code{MATCH} @tab @code{MEDIUMBLOB} + @tab @code{MEDIUMTEXT} @tab @code{MIDDLEINT} +@item @code{MINUTE_SECOND} @tab @code{NATURAL} + @tab @code{NOT} @tab @code{NULL} +@item @code{NUMERIC} @tab @code{ON} + @tab @code{OPTIMIZE} @tab @code{OPTION} +@item @code{OPTIONALLY} @tab @code{OR} + @tab @code{ORDER} @tab @code{OUTER} +@item @code{OUTFILE} @tab @code{PARTIAL} + @tab @code{PRECISION} @tab @code{PRIMARY} +@item @code{PRIVILEGES} @tab @code{PROCEDURE} + @tab @code{PURGE} @tab @code{READ} +@item @code{REAL} @tab @code{REFERENCES} + @tab @code{RENAME} @tab @code{REPLACE} +@item @code{REQUIRE} @tab @code{RESTRICT} + @tab @code{RETURNS} @tab @code{REVOKE} +@item @code{RIGHT} @tab @code{RLIKE} + @tab @code{SELECT} @tab @code{SET} +@item @code{SHOW} @tab @code{SMALLINT} + @tab @code{SONAME} @tab @code{SQL_AUTO_IS_NULL} +@item @code{SQL_BIG_RESULT} @tab @code{SQL_BIG_SELECTS} + @tab @code{SQL_BIG_TABLES} @tab @code{SQL_BUFFER_RESULT} +@item @code{SQL_CALC_FOUND_ROWS} @tab @code{SQL_LOG_BIN} + @tab @code{SQL_LOG_OFF} @tab @code{SQL_LOG_UPDATE} +@item @code{SQL_LOW_PRIORITY_UPDATES} @tab @code{SQL_SAFE_UPDATES} + @tab @code{SQL_SELECT_LIMIT} @tab @code{SQL_SLAVE_SKIP_COUNTER} +@item @code{SQL_SMALL_RESULT} @tab @code{SQL_WARNINGS} + @tab @code{SSL} @tab @code{STARTING} +@item @code{STRAIGHT_JOIN} @tab @code{TABLE} + @tab @code{TABLES} @tab @code{TERMINATED} +@item @code{THEN} @tab @code{TINYBLOB} + @tab @code{TINYINT} @tab @code{TINYTEXT} +@item @code{TO} @tab @code{TRAILING} + @tab @code{UNION} @tab @code{UNIQUE} +@item @code{UNLOCK} @tab @code{UNSIGNED} + @tab @code{UPDATE} @tab @code{USAGE} +@item @code{USE} @tab @code{USING} + @tab @code{VALUES} @tab @code{VARBINARY} +@item @code{VARCHAR} @tab @code{VARYING} + @tab @code{WHEN} @tab @code{WHERE} +@item @code{WITH} @tab @code{WRITE} + @tab @code{YEAR_MONTH} @tab @code{ZEROFILL} @end multitable |