summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <arjen@co3064164-a.bitbike.com>2001-11-06 10:29:58 +1000
committerunknown <arjen@co3064164-a.bitbike.com>2001-11-06 10:29:58 +1000
commite7014fa1579fcc335d7eb54ec72aadf0e494197b (patch)
tree9eb2de313e1601ab7f278ebf64d8ffc93b6976be
parentadb703943d99e20ac867671163678fb403a0ad18 (diff)
parent8d7f3781f84507f0c0201f5a188a576a559d3ee3 (diff)
downloadmariadb-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.texi288
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