@@ -9952,7 +9952,7 @@ for this is that negative numbers caused problems when wrapping from -1 to 0.
99529952@code{AUTO_INCREMENT} is now for MyISAM tables handled at a lower level and
99539953is much faster than before. For MyISAM tables old numbers are also not reused
99549954anymore, even if you delete some rows from the table.
9955- @item @code{INNER }, @code{DELAYED}, @code{RIGHT }, @code{CASE }, @code{THEN }, @code{WHEN }, @code{ELSE }, @code{END } and @code{WHEN} are now reserved words.
9955+ @item @code{CASE }, @code{DELAYED}, @code{ELSE }, @code{END }, @code{FULLTEXT }, @code{INNER }, @code{RIGHT }, @code{THEN } and @code{WHEN} are now reserved words.
99569956@item @code{FLOAT(X)} is now a true floating-point type and not a value with
99579957a fixed number of decimals.
99589958@item When declaring @code{DECIMAL(length,dec)} the length argument no
@@ -15814,6 +15814,10 @@ mysql> SELECT CASE BINARY "B" when "a" then 1 when "b" then 2 END;
1581415814@end example
1581515815@end table
1581615816
15817+ The type of the return value (@code{INTEGER}, @code{DOUBLE} or
15818+ @code{STRING}) is the same as the type of the first returned value (the
15819+ expression after the first @code{THEN}).
15820+
1581715821@findex mathematical functions
1581815822@findex functions, mathematical
1581915823@node Mathematical functions, String functions, Control flow functions, Functions
@@ -30619,11 +30623,11 @@ utility. @xref{Table types}.
3061930623In the following text we will talk about @code{myisamchk}, but everything
3062030624also applies to the old @code{isamchk}.
3062130625
30622- You can use the @code{myisamchk} utility to get information about your database
30623- tables, check and repair them, or optimize them. The following sections
30624- describe how to invoke @code{myisamchk} (including a description of its
30625- options), how to set up a table maintenance schedule, and how to use
30626- @code{myisamchk} to perform its various functions.
30626+ You can use the @code{myisamchk} utility to get information about your
30627+ database tables, check and repair them, or optimize them. The following
30628+ sections describe how to invoke @code{myisamchk} (including a
30629+ description of its options), how to set up a table maintenance schedule,
30630+ and how to use @code{myisamchk} to perform its various functions.
3062730631
3062830632You can, in most cases, also use the command @code{OPTIMIZE TABLES} to
3062930633optimize and repair tables, but this is not as fast or reliable (in case
@@ -30713,9 +30717,9 @@ the file or that has died without closing the file properly.
3071330717
3071430718If you @code{mysqld} is running, you must force a sync/close of all
3071530719tables with @code{FLUSH TABLES} and ensure that no one is using the
30716- tables while you are running @code{myisamchk}. In MySQL Version 3.23 the easiest
30717- way to avoid this problem is to use @code{CHECK TABLE} instead of
30718- @code{myisamchk} to check tables.
30720+ tables while you are running @code{myisamchk}. In @strong{ MySQL} Version 3.23
30721+ the easiest way to avoid this problem is to use @code{CHECK TABLE}
30722+ instead of @code{myisamchk} to check tables.
3071930723
3072030724@cindex options, @code{myisamchk}
3072130725@cindex @code{myisamchk}, options
@@ -30740,9 +30744,30 @@ for myisamchk can be examined with @code{myisamchk --help}:
3074030744@item decode_bits @tab 9
3074130745@end multitable
3074230746
30743- @code{key_buffer_size} is only used when you check the table with @code{-e} or
30744- repair it with @code{-o}.
30745- @code{sort_buffer_size} is used when you repair the table with @code{-r}.
30747+ @code{sort_buffer_size} is used when the keys are reparied by sorting
30748+ keys, which is the normal case when you use @code{--recover}.
30749+
30750+ @code{key_buffer_size} is used when you are checking the table with
30751+ @code{--extended-check} or when the keys are repaired by inserting key
30752+ row by row in to the table (like when doing normal inserts). Repairing
30753+ through the key buffer is used in the following cases:
30754+
30755+ @itemize @bullet
30756+ @item
30757+ If you use @code{--safe-recover}.
30758+ @item
30759+ If you are using a @code{FULLTEXT} index.
30760+ @item
30761+ If the temporary files needed to sort the keys would be more than twice
30762+ as big as when creating the key file directly. This is often the case
30763+ when you have big @code{CHAR}, @code{VARCHAR} or @code{TEXT} keys as the
30764+ sort needs to store the whole keys during sorting. If you have lots
30765+ of temporary space and you can force @code{myisamchk} to repair by sorting
30766+ you can use the @code{--sort-recover} option.
30767+ @end itemize
30768+
30769+ Reparing through the key buffer takes much less disk space than using
30770+ sorting, but is also much slower.
3074630771
3074730772If you want a faster repair, set the above variables to about 1/4 of your
3074830773available memory. You can set both variables to big values, as only one
@@ -30851,6 +30876,11 @@ space than @code{-r}. Normally one should always first repair with
3085130876
3085230877If you have lots of memory, you should increase the size of
3085330878@code{key_buffer_size}!
30879+ @item -n or --sort-recover
30880+ Force @code{myisamchk} to use sorting to resolve the keys even if the
30881+ temporary files should be very big. This will not have any effect if you have
30882+ fulltext keys in the table.
30883+
3085430884@item --character-sets-dir=...
3085530885Directory where character sets are stored.
3085630886@item --set-character-set=name
@@ -30933,8 +30963,9 @@ Space for the new index file that replaces the old one. The old
3093330963index file is truncated at start, so one usually ignore this space.
3093430964This space is needed on the same disk as the original index file!
3093530965@item
30936- When using @code{--repair} (but not when using @code{--safe-repair}, you
30937- will need space for a sort buffer for:
30966+ When using @code{--recover} or @code{--sort-recover}
30967+ (but not when using @code{--safe-recover}, you will need space for a
30968+ sort buffer for:
3093830969@code{(largest_key + row_pointer_length)*number_of_rows * 2}.
3093930970You can check the length of the keys and the row_pointer_length with
3094030971@code{myisamchk -dv table}.
@@ -30943,7 +30974,7 @@ This space is allocated on the temporary disk (specified by @code{TMPDIR} or
3094330974@end itemize
3094430975
3094530976If you have a problem with disk space during repair, you can try to use
30946- @code{--safe-repair } instead of @code{--repair }.
30977+ @code{--safe-recover } instead of @code{--recover }.
3094730978
3094830979@cindex maintaining, tables
3094930980@cindex tables, maintenance regimen
@@ -39486,6 +39517,8 @@ javascript, 2d/3d graphics, and PHP3/MySQL. All pages are generated from
3948639517a database.
3948739518@c Added 990614; EMAIL:
[email protected] (Rune Madsen)
3948839519
39520+ @item @uref{http://www.softwarezrus.com/, Softwarezrus.com}
39521+ Ecommerce site that is selling computers.
3948939522@end itemize
3949039523
3949139524@cindex consultants, list of
@@ -39782,6 +39815,10 @@ OLEDB handler for @code{MySQL}. By SWsoft.
3978239815Examples and documentation for MyOLEDB. By SWsoft.
3978339816@item @uref{http://www.mysql.com/Downloads/Win32/Myoledb.zip, Myoledb.zip}
3978439817Source for MyOLEDB. By SWsoft.
39818+ @item @uref{http://www.mysql.com/Downloads/Win32/MyOLEDB.chm, MyOLEDB.chm}
39819+ Help files for MyOLEDB.
39820+ @item @uref{http://www.mysql.com/Downloads/Win32/libmyodbc.zip, libmyodbc.zip}
39821+ Static MyODBC library used for build MyOLEDB. Based on MyODBC code.
3978539822@end itemize
3978639823
3978739824@cindex C++
@@ -40950,6 +40987,13 @@ not yet 100 % confident in this code.
4095040987@appendixsubsec Changes in release 3.23.33
4095140988@itemize bullet
4095240989@item
40990+ Fixed 'no found rows' bug in @code{MyISAM} tables when a @code{BLOB} was
40991+ first part of a multi-part key.
40992+ @item
40993+ Fixed bug where @code{CASE} didn't work with @code{GROUP BY}.
40994+ @item
40995+ Added option @code{--sort-recover} to @code{myisamchk}.
40996+ @item
4095340997@code{myisamchk -S} and @code{OPTIMIZE TABLE} now works on Windows.
4095440998@item
4095540999Fixed bug when using @code{DISTINCT} on results from functions that refered to
0 commit comments