diff options
-rw-r--r-- | Docs/manual.texi | 72 |
1 files changed, 41 insertions, 31 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi index 564f3cb47c7..73e1449fcb4 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -3903,8 +3903,8 @@ This can be used to skip over extra columns in the text file, or update columns based on expressions of the read data... @item @code{LOAD DATA INFILE 'file_name' INTO TABLE 'table_name' ERRORS TO err_table_name} -This would cause any errors and warnings to be logged into the err_table_name -table. That table would have a structure like: +This would cause any errors and warnings to be logged into the +@code{err_table_name} table. That table would have a structure like: @example line_number - line number in data file @@ -3913,9 +3913,10 @@ and maybe data_line - the line from the data file @end example @item -Add true @code{VARCHAR} support (There is already support for this in MyISAM). +Add true @code{VARCHAR} support (There is already support for this in +@code{MyISAM}). @item -Automatic output from @code{mysql} to netscape. +Automatic output from @code{mysql} to Netscape. @item @code{LOCK DATABASES}. (with various options) @item @@ -6954,18 +6955,19 @@ version 4.0; @itemize @bullet @item @code{LOCATE()} and @code{INSTR()} are case sensitive if neither -argument is a binary string. binary strings. +argument is a binary string. @item -@code{INSERT INTO ... SELECT} had in 3.23 always @code{IGNORE} enabled. -In 4.0.1 MySQL will stop (and possible rollback) in case of an error if you +In 3.23, +@code{INSERT INTO ... SELECT} always had @code{IGNORE} enabled. +In 4.0.1, MySQL will stop (and possibly roll back) in case of an error if you don't specify @code{IGNORE}. @item @file{safe_mysqld} is renamed to @file{mysqld_safe}. @item The old C API functions @code{mysql_drop_db}, @code{mysql_create_db} and -@code{mysql_connect} are not supported anymore, unless one compiles +@code{mysql_connect} are not supported anymore, unless you compile MySQL with @code{CFLAGS=-DUSE_OLD_FUNCTIONS}. Instead of doing this, -one should change the client to use the new 4.0 API. +it is preferable to change the client to use the new 4.0 API. @item In the @code{MYSQL_FIELD} structure, @code{length} and @code{max_length} has changed from @code{unsigned int} to @code{unsigned long}. This should not @@ -6989,7 +6991,7 @@ Format of @code{SHOW OPEN TABLE} has changed. Multithreaded clients should use @code{mysql_thread_init()} and @code{mysql_thread_end()}. @xref{Threaded clients}. @item -If you want to recompile the perl DBD-MySQL module, you must get +If you want to recompile the Perl DBD::mysql module, you must get Msql-Mysql-modules version 1.2218 or newer, because the older DBD modules used the deprecated @code{drop_db()} call. @item @@ -8346,7 +8348,7 @@ we may find some way to work around this problem.) @item @code{DROP TABLE} on a table that is in use by a @code{MERGE} table will -not work on windows becasue @code{MERGE} handler does the table mapping +not work on Windows because @code{MERGE} handler does the table mapping hidden from the upper layer of MySQL. Because Windows doesn't allow you to drop files that are open, you first must flush all @code{MERGE} tables (with @code{FLUSH TABLES}) or drop the @code{MERGE} table before @@ -8354,7 +8356,7 @@ dropping the table. We will fix this at the same time we introduce @code{VIEW}s. @item @code{DATA DIRECTORY} and @code{INDEX DIRECTORY} directives in -@code{CREATE TABLE} is ignored on windows, because windows doesn't support +@code{CREATE TABLE} is ignored on Windows, because Windows doesn't support symbolic links. @end table @@ -34740,20 +34742,20 @@ corrupt the table. This will be fixed in MySQL 4.0.x. @item Creation of a table of type @code{MERGE} doesn't check if the underlying tables are of compatible types. If you use @code{MERGE} tables in this -fasion you are very likely to run into strange problems. +fashion, you are very likely to run into strange problems. @item If you use @code{ALTER TABLE} to first add an @code{UNIQUE} index to a table used in a @code{MERGE} table and then use @code{ALTER TABLE} to add a normal index on the @code{MERGE} table, the key order will be -different for the tables if there was an old not-unique key in the +different for the tables if there was an old non-unique key in the table. This is because @code{ALTER TABLE} puts @code{UNIQUE} keys before normal keys to be able to detect duplicate keys as early as possible. @item The range optimizer can't yet use @code{MERGE} table efficiently and may -sometimes produce not optimal joins. This will be fixed in MySQL 4.0.x. +sometimes produce non-optimal joins. This will be fixed in MySQL 4.0.x. @item @code{DROP TABLE} on a table that is in use by a @code{MERGE} table will -not work on windows becasue @code{MERGE} handler does the table mapping +not work on Windows because the @code{MERGE} handler does the table mapping hidden from the upper layer of MySQL. Because Windows doesn't allow you to drop files that are open, you first must flush all @code{MERGE} tables (with @code{FLUSH TABLES}) or drop the @code{MERGE} table before @@ -34766,12 +34768,12 @@ dropping the table. We will fix this at the same time we introduce @cindex tables, ISAM -You can also use the deprecated ISAM table type. This will disappear +You can also use the deprecated @code{ISAM} table type. This will disappear rather soon (probably in MySQL 4.1) because @code{MyISAM} is a better -implementation of the same thing. ISAM uses a @code{B-tree} index. The +implementation of the same thing. @code{ISAM} uses a @code{B-tree} index. The index is stored in a file with the @code{.ISM} extension, and the data is stored in a file with the @code{.ISD} extension. You can -check/repair ISAM tables with the @code{isamchk} utility. @xref{Crash +check/repair @code{ISAM} tables with the @code{isamchk} utility. @xref{Crash recovery}. @code{ISAM} has the following features/properties: @@ -34789,7 +34791,7 @@ tables. @xref{MyISAM}. The major differences compared to @code{MyISAM} tables are: @itemize @bullet -@item ISAM tables are not binary portable across OS/Platforms. +@item @code{ISAM} tables are not binary portable across OS/Platforms. @item Can't handle tables > 4G. @item Only support prefix compression on strings. @item Smaller key limits. @@ -34805,7 +34807,7 @@ TABLE} statement: mysql> ALTER TABLE tbl_name TYPE = MYISAM; @end example -The embedded MySQL versions doesn't support ISAM tables. +The embedded MySQL versions doesn't support @code{ISAM} tables. @node HEAP, InnoDB, ISAM, Table types @section HEAP Tables @@ -34816,7 +34818,7 @@ The embedded MySQL versions doesn't support ISAM tables. makes them very fast, but if MySQL crashes you will lose all data stored in them. @code{HEAP} is very useful for temporary tables! -The MySQL internal HEAP tables use 100% dynamic hashing +The MySQL internal @code{HEAP} tables use 100% dynamic hashing without overflow areas. There is no extra space needed for free lists. @code{HEAP} tables also don't have problems with delete + inserts, which normally is common with hashed tables: @@ -35331,6 +35333,12 @@ your job again, rather than wait for millions of disk i/os to complete. InnoDB version 3.23.44 features foreign key constraints. InnoDB is the first MySQL table type which allows you to define foreign key constraints to guard the integrity of your data. + +The syntax of a foreign key constraint definition in InnoDB: +@example +FOREIGN KEY (index_col_name, ...) REFERENCES table_name (index_col_name, ...) +@end example + An example: @example @@ -35351,6 +35359,8 @@ The size and the signedness of integer types has to be same. When doing foreign key checks InnoDB sets shared row level locks on child or parent records it has to look at. +InnoDB checks foreign key constraints immediately: the check +is not deferred to transaction commit. InnoDB allows you to drop any table even though that would break the foreign key constraints which reference @@ -44837,7 +44847,7 @@ Some features: @item Import wizard to import structure and data from MS Access, MS Excel, Dbase, FoxPro, Paradox, and ODBC Databases. @item @uref{http://www.mysql.com/Downloads/Contrib/KMYENG113.zip} -An administrator GUI for MySQL. Works only on windows, no source. +An administrator GUI for MySQL. Works only on Windows, no source. Available in English and Japanese. By Mitunobu Kaneko. Home page: @uref{http://sql.jnts.ne.jp/} @end itemize @@ -45856,11 +45866,11 @@ able to use boolean fulltext search}. @code{LOCATE()} and @code{INSTR()} are case sensitive if neither argument is a binary string. @item -Fixed core dump bug in @code{UPDATE ... ORDER BY }. +Fixed core dump bug in @code{UPDATE ... ORDER BY}. @item -Changed @code{INSERT INTO .. SELECT} to by default stop on errors. +Changed @code{INSERT INTO .. SELECT} to stop on errors by default. @item -Ignore @code{DATA DIRECTORY} and @code{INDEX DIRECTORY} directives on windows. +Ignore @code{DATA DIRECTORY} and @code{INDEX DIRECTORY} directives on Windows. @item Added boolean fulltext search code. It should be considered early alpha. @item @@ -45892,7 +45902,7 @@ be able to handle these. Secure connections (with SSL). @item Unsigned @code{BIGINT} constants now work. @code{MIN()} and @code{MAX()} -now handles signed and unsigned @code{BIGINT} numbers correctly. +now handle signed and unsigned @code{BIGINT} numbers correctly. @item New character set @code{latin_de} which provides correct German sorting. @item @@ -45901,7 +45911,7 @@ functions. One bonus is that @code{DELETE FROM table_name} now returns the number of deleted rows. @item @code{DROP DATABASE} now executes a @code{DROP TABLE} on all tables in -the database, which fixes a problem with InnoDB tables. +the database, which fixes a problem with @code{InnoDB} tables. @item Added support for @code{UNION}. @item @@ -46127,7 +46137,7 @@ Fixed problem with sjis character strings used within quoted table names. Fixed coredump when using @code{CREATE ... FULLTEXT} keys with other table handlers than MyISAM. @item -Don't use @code{signal()} on windows because this appears to not be +Don't use @code{signal()} on Windows because this appears to not be 100 % reliable. @item Fixed bug when doing @code{WHERE column_name=NULL} on an indexed column @@ -46278,7 +46288,7 @@ Don't force everything to lower cases on Windows. (To fix problem with Windows and @code{ALTER TABLE}). Now @code{--lower_case_names} also works on Unix. @item -Fixed that automatic rollback that is done when thread end doesn't lock +Fixed that automatic rollback is done when thread end doesn't lock other threads. @end itemize @@ -52222,7 +52232,7 @@ Pros for row locking: @item Fewer lock conflicts when accessing different rows in many threads. @item -Less changes for rollbacks. +Fewer changes for rollbacks. @item Makes it possible to lock a single row a long time. @end itemize |