summaryrefslogtreecommitdiff
path: root/Docs
diff options
context:
space:
mode:
authorlenz@mysql.com <>2005-04-13 11:51:38 +0200
committerlenz@mysql.com <>2005-04-13 11:51:38 +0200
commit11df4eec8546fc6d6230753f7b5f7b60f2c6d658 (patch)
treebd09c30932a283c1cd706217258d4049613fddbf /Docs
parent06e36472741258f89f58be90a94bf66ad45bb32c (diff)
downloadmariadb-git-11df4eec8546fc6d6230753f7b5f7b60f2c6d658.tar.gz
- manual.texi will be replaced with a manual written in DocBook/XML. This ChangeSet removes all
references to the .texi file and the build targets that depend on manual.texi as the input file. - added COPYING as a regular file instead of creating it during the build. This ensures that it's part of the sources when pulling from BK (it used to be extracted from the manual) - Removed a lot of cruft and unused/obsolete stuff from the Docs directory (e.g. Flags, Images) - added a dummy mysql.info placeholder file (the info file is still used as the source to extract various text files during the build). It will be replaced with a "real" file during the Bootstrap process to create the official source distribution - the placeholder just satisfies build dependencies.
Diffstat (limited to 'Docs')
-rw-r--r--Docs/Flags/argentina.eps98
-rw-r--r--Docs/Flags/argentina.gifbin187 -> 0 bytes
-rw-r--r--Docs/Flags/argentina.pdfbin923 -> 0 bytes
-rw-r--r--Docs/Flags/argentina.txt0
-rw-r--r--Docs/Flags/armenia.eps256
-rwxr-xr-xDocs/Flags/armenia.gifbin117 -> 0 bytes
-rw-r--r--Docs/Flags/armenia.txt0
-rw-r--r--Docs/Flags/australia.eps98
-rw-r--r--Docs/Flags/australia.gifbin663 -> 0 bytes
-rw-r--r--Docs/Flags/australia.pdfbin1382 -> 0 bytes
-rw-r--r--Docs/Flags/australia.txt0
-rw-r--r--Docs/Flags/austria.eps98
-rw-r--r--Docs/Flags/austria.gifbin132 -> 0 bytes
-rw-r--r--Docs/Flags/austria.pdfbin816 -> 0 bytes
-rw-r--r--Docs/Flags/austria.txt0
-rw-r--r--Docs/Flags/belgium.eps98
-rw-r--r--Docs/Flags/belgium.gifbin116 -> 0 bytes
-rw-r--r--Docs/Flags/belgium.pdfbin790 -> 0 bytes
-rw-r--r--Docs/Flags/belgium.txt0
-rw-r--r--Docs/Flags/brazil.eps87
-rw-r--r--Docs/Flags/brazil.gifbin662 -> 0 bytes
-rw-r--r--Docs/Flags/brazil.txt0
-rw-r--r--Docs/Flags/bulgaria.eps98
-rw-r--r--Docs/Flags/bulgaria.gifbin141 -> 0 bytes
-rw-r--r--Docs/Flags/bulgaria.pdfbin821 -> 0 bytes
-rw-r--r--Docs/Flags/bulgaria.txt0
-rw-r--r--Docs/Flags/canada.eps98
-rw-r--r--Docs/Flags/canada.gifbin411 -> 0 bytes
-rw-r--r--Docs/Flags/canada.pdfbin1103 -> 0 bytes
-rw-r--r--Docs/Flags/canada.txt0
-rw-r--r--Docs/Flags/chile.eps98
-rw-r--r--Docs/Flags/chile.gifbin256 -> 0 bytes
-rw-r--r--Docs/Flags/chile.pdfbin978 -> 0 bytes
-rw-r--r--Docs/Flags/chile.txt0
-rw-r--r--Docs/Flags/china.eps98
-rw-r--r--Docs/Flags/china.gifbin227 -> 0 bytes
-rw-r--r--Docs/Flags/china.pdfbin945 -> 0 bytes
-rw-r--r--Docs/Flags/china.txt0
-rw-r--r--Docs/Flags/costa-rica.eps98
-rw-r--r--Docs/Flags/costa-rica.gifbin147 -> 0 bytes
-rw-r--r--Docs/Flags/costa-rica.pdfbin845 -> 0 bytes
-rw-r--r--Docs/Flags/costa-rica.txt0
-rw-r--r--Docs/Flags/croatia.eps87
-rw-r--r--Docs/Flags/croatia.gifbin659 -> 0 bytes
-rw-r--r--Docs/Flags/croatia.txt0
-rw-r--r--Docs/Flags/czech-republic.eps98
-rw-r--r--Docs/Flags/czech-republic.gifbin180 -> 0 bytes
-rw-r--r--Docs/Flags/czech-republic.pdfbin936 -> 0 bytes
-rw-r--r--Docs/Flags/czech-republic.txt0
-rw-r--r--Docs/Flags/denmark.eps98
-rw-r--r--Docs/Flags/denmark.gifbin204 -> 0 bytes
-rw-r--r--Docs/Flags/denmark.pdfbin1011 -> 0 bytes
-rw-r--r--Docs/Flags/denmark.txt0
-rw-r--r--Docs/Flags/estonia.eps98
-rw-r--r--Docs/Flags/estonia.gifbin126 -> 0 bytes
-rw-r--r--Docs/Flags/estonia.pdfbin820 -> 0 bytes
-rw-r--r--Docs/Flags/estonia.txt0
-rw-r--r--Docs/Flags/finland.eps98
-rw-r--r--Docs/Flags/finland.gifbin131 -> 0 bytes
-rw-r--r--Docs/Flags/finland.pdfbin834 -> 0 bytes
-rw-r--r--Docs/Flags/finland.txt0
-rw-r--r--Docs/Flags/france.eps98
-rw-r--r--Docs/Flags/france.gifbin146 -> 0 bytes
-rw-r--r--Docs/Flags/france.pdfbin796 -> 0 bytes
-rw-r--r--Docs/Flags/france.txt0
-rw-r--r--Docs/Flags/germany.eps98
-rw-r--r--Docs/Flags/germany.gifbin126 -> 0 bytes
-rw-r--r--Docs/Flags/germany.pdfbin804 -> 0 bytes
-rw-r--r--Docs/Flags/germany.txt0
-rw-r--r--Docs/Flags/great-britain.eps98
-rw-r--r--Docs/Flags/great-britain.gifbin511 -> 0 bytes
-rw-r--r--Docs/Flags/great-britain.pdfbin1348 -> 0 bytes
-rw-r--r--Docs/Flags/great-britain.txt0
-rw-r--r--Docs/Flags/greece.eps98
-rw-r--r--Docs/Flags/greece.gifbin267 -> 0 bytes
-rw-r--r--Docs/Flags/greece.pdfbin1006 -> 0 bytes
-rw-r--r--Docs/Flags/greece.txt0
-rw-r--r--Docs/Flags/hungary.eps98
-rw-r--r--Docs/Flags/hungary.gifbin141 -> 0 bytes
-rw-r--r--Docs/Flags/hungary.pdfbin822 -> 0 bytes
-rw-r--r--Docs/Flags/hungary.txt0
-rw-r--r--Docs/Flags/iceland.eps98
-rw-r--r--Docs/Flags/iceland.gifbin159 -> 0 bytes
-rw-r--r--Docs/Flags/iceland.pdfbin867 -> 0 bytes
-rw-r--r--Docs/Flags/iceland.txt0
-rw-r--r--Docs/Flags/indonesia.eps98
-rw-r--r--Docs/Flags/indonesia.gifbin113 -> 0 bytes
-rw-r--r--Docs/Flags/indonesia.pdfbin804 -> 0 bytes
-rw-r--r--Docs/Flags/indonesia.txt0
-rw-r--r--Docs/Flags/ireland.eps98
-rw-r--r--Docs/Flags/ireland.gifbin146 -> 0 bytes
-rw-r--r--Docs/Flags/ireland.pdfbin794 -> 0 bytes
-rw-r--r--Docs/Flags/ireland.txt0
-rw-r--r--Docs/Flags/israel.eps87
-rw-r--r--Docs/Flags/israel.gifbin368 -> 0 bytes
-rw-r--r--Docs/Flags/israel.txt0
-rw-r--r--Docs/Flags/italy.eps98
-rw-r--r--Docs/Flags/italy.gifbin146 -> 0 bytes
-rw-r--r--Docs/Flags/italy.pdfbin794 -> 0 bytes
-rw-r--r--Docs/Flags/italy.txt0
-rw-r--r--Docs/Flags/japan.eps98
-rw-r--r--Docs/Flags/japan.gifbin192 -> 0 bytes
-rw-r--r--Docs/Flags/japan.pdfbin971 -> 0 bytes
-rw-r--r--Docs/Flags/japan.txt0
-rw-r--r--Docs/Flags/latvia.eps98
-rw-r--r--Docs/Flags/latvia.gifbin126 -> 0 bytes
-rw-r--r--Docs/Flags/latvia.pdfbin819 -> 0 bytes
-rw-r--r--Docs/Flags/latvia.txt0
-rw-r--r--Docs/Flags/mexico.eps98
-rw-r--r--Docs/Flags/mexico.gifbin615 -> 0 bytes
-rw-r--r--Docs/Flags/mexico.pdfbin1072 -> 0 bytes
-rw-r--r--Docs/Flags/mexico.txt0
-rw-r--r--Docs/Flags/netherlands.eps98
-rw-r--r--Docs/Flags/netherlands.gifbin141 -> 0 bytes
-rw-r--r--Docs/Flags/netherlands.pdfbin824 -> 0 bytes
-rw-r--r--Docs/Flags/netherlands.txt0
-rw-r--r--Docs/Flags/new-zealand.eps98
-rw-r--r--Docs/Flags/new-zealand.gifbin661 -> 0 bytes
-rw-r--r--Docs/Flags/new-zealand.pdfbin1331 -> 0 bytes
-rw-r--r--Docs/Flags/new-zealand.txt0
-rwxr-xr-xDocs/Flags/norway.eps98
-rwxr-xr-xDocs/Flags/norway.gifbin159 -> 0 bytes
-rw-r--r--Docs/Flags/norway.pdfbin864 -> 0 bytes
-rw-r--r--Docs/Flags/norway.txt0
-rw-r--r--Docs/Flags/philippines.eps98
-rw-r--r--Docs/Flags/philippines.gifbin620 -> 0 bytes
-rw-r--r--Docs/Flags/philippines.pdfbin1197 -> 0 bytes
-rw-r--r--Docs/Flags/philippines.txt0
-rw-r--r--Docs/Flags/poland.eps98
-rw-r--r--Docs/Flags/poland.gifbin113 -> 0 bytes
-rw-r--r--Docs/Flags/poland.pdfbin809 -> 0 bytes
-rw-r--r--Docs/Flags/poland.txt0
-rw-r--r--Docs/Flags/portugal.eps98
-rw-r--r--Docs/Flags/portugal.gifbin628 -> 0 bytes
-rw-r--r--Docs/Flags/portugal.pdfbin1189 -> 0 bytes
-rw-r--r--Docs/Flags/portugal.txt0
-rw-r--r--Docs/Flags/romania.eps98
-rw-r--r--Docs/Flags/romania.gifbin158 -> 0 bytes
-rw-r--r--Docs/Flags/romania.pdfbin798 -> 0 bytes
-rw-r--r--Docs/Flags/romania.txt0
-rw-r--r--Docs/Flags/russia.eps98
-rw-r--r--Docs/Flags/russia.gifbin141 -> 0 bytes
-rw-r--r--Docs/Flags/russia.pdfbin829 -> 0 bytes
-rw-r--r--Docs/Flags/russia.txt0
-rw-r--r--Docs/Flags/singapore.eps98
-rw-r--r--Docs/Flags/singapore.gifbin377 -> 0 bytes
-rw-r--r--Docs/Flags/singapore.pdfbin1056 -> 0 bytes
-rw-r--r--Docs/Flags/singapore.txt0
-rwxr-xr-xDocs/Flags/slovenia.eps98
-rw-r--r--Docs/Flags/slovenia.gifbin609 -> 0 bytes
-rw-r--r--Docs/Flags/slovenia.pdfbin1133 -> 0 bytes
-rwxr-xr-xDocs/Flags/slovenia.txt0
-rw-r--r--Docs/Flags/south-africa.eps98
-rw-r--r--Docs/Flags/south-africa.gifbin415 -> 0 bytes
-rw-r--r--Docs/Flags/south-africa.pdfbin1151 -> 0 bytes
-rw-r--r--Docs/Flags/south-africa.txt0
-rw-r--r--Docs/Flags/south-korea.eps98
-rw-r--r--Docs/Flags/south-korea.gifbin669 -> 0 bytes
-rw-r--r--Docs/Flags/south-korea.pdfbin1444 -> 0 bytes
-rw-r--r--Docs/Flags/south-korea.txt0
-rw-r--r--Docs/Flags/spain.eps98
-rw-r--r--Docs/Flags/spain.gifbin132 -> 0 bytes
-rw-r--r--Docs/Flags/spain.pdfbin809 -> 0 bytes
-rw-r--r--Docs/Flags/spain.txt0
-rw-r--r--Docs/Flags/sweden.eps98
-rw-r--r--Docs/Flags/sweden.gifbin131 -> 0 bytes
-rw-r--r--Docs/Flags/sweden.pdfbin837 -> 0 bytes
-rw-r--r--Docs/Flags/sweden.txt0
-rw-r--r--Docs/Flags/switzerland.eps98
-rw-r--r--Docs/Flags/switzerland.gifbin135 -> 0 bytes
-rw-r--r--Docs/Flags/switzerland.pdfbin844 -> 0 bytes
-rw-r--r--Docs/Flags/switzerland.txt0
-rw-r--r--Docs/Flags/taiwan.eps98
-rw-r--r--Docs/Flags/taiwan.gifbin371 -> 0 bytes
-rw-r--r--Docs/Flags/taiwan.pdfbin1050 -> 0 bytes
-rw-r--r--Docs/Flags/taiwan.txt0
-rw-r--r--Docs/Flags/turkey.eps98
-rw-r--r--Docs/Flags/turkey.gifbin344 -> 0 bytes
-rw-r--r--Docs/Flags/turkey.pdfbin987 -> 0 bytes
-rw-r--r--Docs/Flags/turkey.txt0
-rw-r--r--Docs/Flags/ukraine.eps98
-rw-r--r--Docs/Flags/ukraine.gifbin113 -> 0 bytes
-rw-r--r--Docs/Flags/ukraine.pdfbin810 -> 0 bytes
-rw-r--r--Docs/Flags/ukraine.txt0
-rw-r--r--Docs/Flags/usa.eps98
-rw-r--r--Docs/Flags/usa.gifbin717 -> 0 bytes
-rw-r--r--Docs/Flags/usa.pdfbin1444 -> 0 bytes
-rw-r--r--Docs/Flags/usa.txt0
-rw-r--r--Docs/Flags/yugoslavia.eps98
-rw-r--r--Docs/Flags/yugoslavia.gifbin141 -> 0 bytes
-rw-r--r--Docs/Flags/yugoslavia.pdfbin829 -> 0 bytes
-rw-r--r--Docs/Flags/yugoslavia.txt0
-rw-r--r--Docs/Images/Attic/html-fs.gifbin3349 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-01.gifbin4097 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-02.gifbin4811 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-03.gifbin716 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-04.gifbin909 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-05.gifbin2192 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-06.gifbin3082 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-07.gifbin4209 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-08.gifbin1595 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-09.gifbin2627 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-10.gifbin2455 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-11.gifbin1436 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-12.gifbin2642 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-13.gifbin2914 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-14.gifbin2686 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-15.gifbin2310 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-16.gifbin19192 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-17.gifbin2059 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-18.gifbin918 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-19.gifbin2607 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql-compatible.jpgbin2809 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql5.gifbin2192 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql_anim-01.gifbin15008 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql_anim-02.gifbin21236 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql_anim-03.gifbin16958 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql_anim-04.gifbin12716 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql_anim-05.gifbin22962 -> 0 bytes
-rw-r--r--Docs/Images/Attic/mysql_anim-06.gifbin42606 -> 0 bytes
-rw-r--r--Docs/Images/Attic/powered-by-MySQL-transparent.gifbin4209 -> 0 bytes
-rw-r--r--Docs/Images/Makefile.am35
-rw-r--r--Docs/Images/empty.pngbin108 -> 0 bytes
-rwxr-xr-xDocs/Images/flag-background.pnmbin2170 -> 0 bytes
-rw-r--r--Docs/Images/mysql-logo.gifbin13197 -> 0 bytes
-rw-r--r--Docs/Makefile.am184
-rw-r--r--Docs/Raw-Flags/afghanistan.gifbin11155 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/albania.gifbin8288 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/algeria.gifbin5003 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/andorra.gifbin21227 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/angola.gifbin4836 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/antartica.gifbin3185 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/antigua-and-barbuda.gifbin5239 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/argentina.gifbin5242 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/armenia.gifbin1553 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/australia.gifbin6493 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/austria.gifbin1232 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/azerbaijan.gifbin2931 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/bahamas.gifbin2836 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/bahrein.gifbin2380 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/bangladesh.gifbin2505 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/barbados.gifbin3178 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/belarus.gifbin1232 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/belgium.gifbin2525 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/belize.gifbin28546 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/benin.gifbin2107 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/bermuda.gifbin4278 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/bhutan.gifbin40300 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/bolivia.gifbin11912 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/bosnia-and-herzegovina.gifbin4143 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/botswana.gifbin1451 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/brazil.gifbin6650 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/brunei.gifbin29444 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/bulgaria.gifbin1553 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/burkina-faso.gifbin2691 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/burma.gifbin11558 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/burundi.gifbin6742 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/cambodia.gifbin12976 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/cameroon.gifbin3531 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/canada.gifbin3984 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/cape-verde.gifbin3504 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/central-african-republic.gifbin3769 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/chad.gifbin2525 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/chile.gifbin2890 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/china.gifbin2054 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/colombia.gifbin1531 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/comoros.gifbin3049 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/congo.gifbin3265 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/costa-rica.gifbin1620 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/cote-d-ivoire.gifbin2525 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/croatia.gifbin13740 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/cuba.gifbin3986 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/cyprus.gifbin3929 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/czech-republic.gifbin2726 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/denmark-original-incorrect.gifbin1893 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/denmark.gifbin13718 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/djibouti.gifbin3462 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/dominica.gifbin14390 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/dominican-republic.gifbin8432 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/ecuador.gifbin18692 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/egypt.gifbin8423 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/el-salvador.gifbin12073 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/equatorial-guinea.gifbin8884 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/eritrea.gifbin8154 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/estonia.gifbin1553 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/ethiopia.gifbin1553 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/fiji.gifbin17779 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/finland.gifbin1812 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/france.gifbin2525 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/gabon.gifbin1553 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/gambia.gifbin1831 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/georgia.gifbin1900 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/germany.gifbin1553 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/ghana.gifbin2394 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/great-britain.gifbin8165 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/greece.gifbin2173 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/greenland.gifbin2612 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/grenada.gifbin6780 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/guatemala.gifbin19048 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/guinea-bissau.gifbin3300 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/guinea.gifbin2525 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/guyana.gifbin5299 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/haiti.gifbin24028 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/honduras.gifbin2223 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/hungary.gifbin1553 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/iceland.gifbin2544 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/india.gifbin4399 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/indonesia.gifbin1205 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/iran.gifbin7703 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/iraq.gifbin4538 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/ireland.gifbin2525 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/israel.gifbin2808 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/italy.gifbin2525 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/jamaica.gifbin4749 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/japan.gifbin2505 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/jordan.gifbin3755 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/kazakhstan.gifbin24988 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/kenya.gifbin6806 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/kiribati.gifbin9341 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/kuwait.gifbin2926 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/kyrgyzstan.gifbin7742 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/laos.gifbin2402 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/latvia.gifbin1142 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/lebanon.gifbin2874 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/lesotho.gifbin5568 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/liberia.gifbin2889 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/libya.gifbin787 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/liechtenstein.gifbin9832 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/lithuania.gifbin1553 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/luxembourg.gifbin1553 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/macedonia.gifbin6907 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/madagascar.gifbin2061 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/malawi.gifbin5622 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/malaysia.gifbin4621 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/maldives.gifbin2623 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/mali.gifbin2525 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/malta.gifbin7209 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/marshall.gifbin6614 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/mauritania.gifbin2511 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/mauritius.gifbin1888 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/mexico.gifbin16889 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/micronesia.gifbin3092 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/moldova.gifbin16586 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/monaco.gifbin1205 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/mongolia.gifbin5532 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/morocco.gifbin4507 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/mozambique.gifbin9086 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/namibia.gifbin6725 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/nauru.gifbin2209 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/nepal.gifbin5658 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/netherlands.gifbin1553 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/new-zealand.gifbin7248 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/nicaragua.gifbin8024 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/niger.gifbin2381 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/nigeria.gifbin1998 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/north-korea.gifbin3044 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/norway.gifbin2544 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/oman.gifbin6957 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/pakistan.gifbin3805 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/panama.gifbin4459 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/papua-new-guinea.gifbin5742 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/paraguay.gifbin8733 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/peru.gifbin14338 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/philippines.gifbin7606 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/poland.gifbin1205 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/portugal.gifbin11287 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/qatar.gifbin2380 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/romania.gifbin2777 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/russia.gifbin1553 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/rwanda.gifbin3844 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/saint-kitts-and-nevis.gifbin6152 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/saint-lucia.gifbin4434 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/samoa.gifbin2219 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/sao-tome-and-principe.gifbin3978 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/saudi-arabia.gifbin18855 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/senegal.gifbin3532 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/seychelles.gifbin3408 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/sierra-leone.gifbin1553 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/singapore.gifbin3207 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/slovakia.gifbin4706 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/slovenia.gifbin5351 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/solomon-islands.gifbin4369 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/somalia.gifbin2010 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/south-africa.gifbin5116 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/south-korea.gifbin6838 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/spain.gifbin1252 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/sri-lanka.gifbin14789 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/sudan.gifbin3124 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/suriname.gifbin2499 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/swaziland.gifbin11362 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/sweden.gifbin1812 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/sweden2.gifbin1813 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/switzerland.gifbin1632 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/syria.gifbin2748 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/taiwan.gifbin3866 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/tajikistan.gifbin6245 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/tanzania.gifbin4673 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/thailand.gifbin1620 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/togo.gifbin2815 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/tonga.gifbin2066 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/trinidad-and-tobago.gifbin2807 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/tunisia.gifbin3881 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/turkey.gifbin2557 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/turkmenistan.gifbin26835 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/tuvalu.gifbin7855 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/uganda.gifbin5970 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/ukraine.gifbin1205 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/united-arab-emirates.gifbin2493 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/united-states-of-america.gifbin6528 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/uruguay.gifbin8709 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/usa.gifbin6528 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/uzbekistan.gifbin3968 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/vanuatu.gifbin8928 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/venezuela.gifbin10305 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/vietnam.gifbin2010 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/vincent-and-grenadines.gifbin4234 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/yemen.gifbin1553 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/yugoslavia.gifbin1553 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/zaire.gifbin12709 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/zambia.gifbin8598 -> 0 bytes
-rw-r--r--Docs/Raw-Flags/zimbabwe.gifbin10738 -> 0 bytes
-rwxr-xr-xDocs/Support/generate-mirror-listing.pl27
-rwxr-xr-xDocs/Support/texi2html2259
-rw-r--r--Docs/Support/texinfo.tex5868
-rwxr-xr-xDocs/Support/update-reserved-words.pl98
-rw-r--r--Docs/To-be-included-in-the-manual/MySQL-for-dummies271
-rw-r--r--Docs/Translations/myodbc-br.texi272
-rw-r--r--Docs/manual-license-spanish.texi709
-rw-r--r--Docs/manual.de.texi107
-rw-r--r--Docs/manual.ja.texi38699
-rw-r--r--Docs/manual.texi107
-rw-r--r--Docs/manual_toc.html9
-rw-r--r--Docs/mirrors.texi446
-rw-r--r--Docs/mysql.info27
-rw-r--r--Docs/mysqld_error.txt477
-rw-r--r--Docs/reservedwords.texi14
-rw-r--r--Docs/section.Infolinks.texi880
-rw-r--r--Docs/section.Testimonials.texi31
-rw-r--r--Docs/section.Users.texi414
439 files changed, 32 insertions, 55829 deletions
diff --git a/Docs/Flags/argentina.eps b/Docs/Flags/argentina.eps
deleted file mode 100644
index c0a9dae067e..00000000000
--- a/Docs/Flags/argentina.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: argentina.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000001818181818181818181818181818181818181818181818
-181818181818180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b50000efefefefefefefefefefefefefefefefefefef
-efefefefefefefefefefef00001818181818181818181818181818181818
-181818181818181818181818180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000efefefefefefefefefefefefef
-efefefefefefefefefefefefefefefefef00001818181818181818181818
-181818181818181818181818181818181818180000b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000efefefefefefef
-efefefefefefefefefefefefefefefefefefefefefefef00001818181818
-181818181818181818181818181818181818181818181818180000b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000ef
-efefefefefefefefefefefefefefefefefefefefefefefefefefefefef00
-001818181818181818181818181818181818181818181818181818181818
-180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b50000efefefefefefefefefefefefefefefefefefefefefefefefef
-efefefefef00001818181818181818181818181818181818181818181818
-181818181818180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b50000efefefefefefefefefefefefefefefefefefef
-efefefefefefefefefefef00006161616161616161616161616161616161
-616161616161616161616161610000cacacacacacacacacacacacacacaca
-cacacacacacacacacacacacacacaca0000f2f2f2f2f2f2f2f2f2f2f2f2f2
-f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f20000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f9f9f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f6f3f3f6f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7eccbccecf7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f7f7f7f7fafdfdfaf7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f7f7f7f6f0f2f2f0f6f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f7f7f7ec9b45459becf7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f7f7f9fdf2eefdf9f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f3f2ede9f2f3f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7cb45000045cbf7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f9fdebeafdf9f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f3f2e7e7f2f3f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7cb45000045cbf7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7fafdfdfa
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f6f1f2
-f2f1f6f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7ec
-9b45459becf7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f9f9f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f6f3f3f6f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7eccbcbecf7f7f7f7f7f7f7f7f7f7f7f7f700006363636363
-636363636363636363636363636363636363636363636363630000cbcbcb
-cbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb0000f2
-f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f200
-001818181818181818181818181818181818181818181818181818181818
-180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b50000efefefefefefefefefefefefefefefefefefefefefefefefef
-efefefefef00001818181818181818181818181818181818181818181818
-181818181818180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b50000efefefefefefefefefefefefefefefefefefef
-efefefefefefefefefefef00001818181818181818181818181818181818
-181818181818181818181818180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000efefefefefefefefefefefefef
-efefefefefefefefefefefefefefefefef00001818181818181818181818
-181818181818181818181818181818181818180000b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000efefefefefefef
-efefefefefefefefefefefefefefefefefefefefefefef00001818181818
-181818181818181818181818181818181818181818181818180000b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000ef
-efefefefefefefefefefefefefefefefefefefefefefefefefefefefef00
-001818181818181818181818181818181818181818181818181818181818
-180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b50000efefefefefefefefefefefefefefefefefefefefefefefefef
-efefefefef00000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/argentina.gif b/Docs/Flags/argentina.gif
deleted file mode 100644
index b1bba9778cc..00000000000
--- a/Docs/Flags/argentina.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/argentina.pdf b/Docs/Flags/argentina.pdf
deleted file mode 100644
index 4ccb26eec76..00000000000
--- a/Docs/Flags/argentina.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/argentina.txt b/Docs/Flags/argentina.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/argentina.txt
+++ /dev/null
diff --git a/Docs/Flags/armenia.eps b/Docs/Flags/armenia.eps
deleted file mode 100644
index dad5ef59c31..00000000000
--- a/Docs/Flags/armenia.eps
+++ /dev/null
@@ -1,256 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: Adobe Photoshop Version 5.5
-%%Title: armenia.eps
-%%CreationDate: Sun Mar 24 2002 12:12:59
-%%BoundingBox: 0 0 32 22
-%%HiResBoundingBox: 0 0 32 22
-%%SuppressDotGainCompensation
-%%EndComments
-%%BeginProlog
-%%EndProlog
-%%BeginSetup
-%%EndSetup
-%ImageData: 32 22 8 3 1 32 2 "beginimage"
-%BeginPhotoshop: 1288
-% 3842494D03ED000000000010004800000001000200480000000100023842494D
-% 040D000000000004000000783842494D03F30000000000080000000000000000
-% 3842494D040A00000000000100003842494D271000000000000A000100000000
-% 000000023842494D03F5000000000048002F66660001006C6666000600000000
-% 0001002F6666000100A1999A0006000000000001003200000001005A00000006
-% 000000000001003500000001002D000000060000000000013842494D03F80000
-% 000000700000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E80000
-% 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000FFFF
-% FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000FFFFFFFFFFFF
-% FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800003842494D0408000000000010
-% 000000010000024000000240000000003842494D041400000000000400000001
-% 3842494D040C0000000003890000000100000020000000160000006000000840
-% 0000036D00180001FFD8FFE000104A46494600010201004800480000FFEE000E
-% 41646F626500648000000001FFDB0084000C08080809080C09090C110B0A0B11
-% 150F0C0C0F1518131315131318110C0C0C0C0C0C110C0C0C0C0C0C0C0C0C0C0C
-% 0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C010D0B0B0D0E0D100E0E10140E0E0E
-% 14140E0E0E0E14110C0C0C0C0C11110C0C0C0C0C0C110C0C0C0C0C0C0C0C0C0C
-% 0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0CFFC0001108001600200301220002
-% 1101031101FFDD00040002FFC4013F0000010501010101010100000000000000
-% 030001020405060708090A0B0100010501010101010100000000000000010002
-% 030405060708090A0B1000010401030204020507060805030C33010002110304
-% 211231054151611322718132061491A1B14223241552C16233347282D1430725
-% 9253F0E1F163733516A2B283264493546445C2A3743617D255E265F2B384C3D3
-% 75E3F3462794A485B495C4D4E4F4A5B5C5D5E5F55666768696A6B6C6D6E6F637
-% 475767778797A7B7C7D7E7F71100020201020404030405060707060535010002
-% 1103213112044151617122130532819114A1B14223C152D1F0332462E1728292
-% 435315637334F1250616A2B283072635C2D2449354A317644555367465E2F2B3
-% 84C3D375E3F34694A485B495C4D4E4F4A5B5C5D5E5F55666768696A6B6C6D6E6
-% F62737475767778797A7B7C7FFDA000C03010002110311003F00E171D98271EA
-% 2E6D5BB6377486CCC7744F4FA7FEED3F73558C3FA9BF59327128C8A70F7D5756
-% CB2B77A95096B9A1EC743AD0EFA251BFE637D69FFB85FF0082D3FF00A554E395
-% F841172F8AE18C8FCD139F07A65D63FCE3AB1F8AE58C40FB9C0D002F865AFF00
-% CD68FA7D3FF769FB9A8790CC118F696B6ADDB1DB6036663B2D2FF98DF5A7FEE1
-% 7FE0B4FF00E9541CCFA9BF5931B12FC8BB0F6554D6FB2C77A95186B5A5EF7436
-% D2EFA2123CAFC200B8FC570CA43E588CF83D52E91FE7152F8AE59448FB9C0582
-% 2F865A7FCD7FFFD0D2E81D47319D0BA731BD2F2AC6B716802C6BB1435C056CF7
-% B7D4CC659B5DFCB62BFF00B533BFF2A333FCFC4FFDEE5E1292E1737B7EEE4FE6
-% BE797FE28FDE74E37C23E6DBFA8FBB7ED4CEFF00CA8CCFF3F13FF7B950EBFD47
-% 31FD0BA8B1DD2F2AB6BB16F06C73B14B5A0D6FF7BBD3CC7D9B5BFC862F18492C
-% 3EDFBB8FF9AF9E3FF8A3F7952BE13F36DFD47FFFD9003842494D03FD00000000
-% 0006000000000000
-%EndPhotoshop
-gsave % EPS gsave
-/hascolor
-/deviceinfo where
-{pop deviceinfo /Colors known
-{deviceinfo /Colors get exec 1 gt}
-{false} ifelse}
-{/statusdict where
-{pop statusdict /processcolors known
-{statusdict /processcolors get exec 1 gt}
-{false} ifelse}
-{false} ifelse}
-ifelse
-def
-40 dict begin
-/_image systemdict /image get def
-/_setgray systemdict /setgray get def
-/_currentgray systemdict /currentgray get def
-/_settransfer systemdict /settransfer get def
-/_currenttransfer systemdict /currenttransfer get def
-/blank 0 _currenttransfer exec
-1 _currenttransfer exec eq def
-/negative blank
-{0 _currenttransfer exec 0.5 lt}
-{0 _currenttransfer exec 1 _currenttransfer exec gt}
-ifelse def
-/inverted? negative def
-/level2 systemdict /languagelevel known
-{languagelevel 2 ge} {false} ifelse def
-/level3 systemdict /languagelevel known
-{languagelevel 3 ge} {false} ifelse def
-/foureq {4 index eq 8 1 roll
-4 index eq 8 1 roll
-4 index eq 8 1 roll
-4 index eq 8 1 roll
-pop pop pop pop and and and} def
-hascolor {/band 0 def} {/band 5 def} ifelse
-/setcmykcolor where {pop
-1 0 0 0 setcmykcolor _currentgray 1 exch sub
-0 1 0 0 setcmykcolor _currentgray 1 exch sub
-0 0 1 0 setcmykcolor _currentgray 1 exch sub
-0 0 0 1 setcmykcolor _currentgray 1 exch sub
-4 {4 copy} repeat
-1 0 0 0 foureq {/band 1 store} if
-0 1 0 0 foureq {/band 2 store} if
-0 0 1 0 foureq {/band 3 store} if
-0 0 0 1 foureq {/band 4 store} if
-0 0 0 0 foureq {/band 6 store} if} if
-blank {/band 6 store} if
-gsave % Image Header gsave
-/rows 22 def
-/cols 32 def
-32 22 scale
-level2 {
-band 0 eq {
-/DeviceRGB
-} {/DeviceGray} ifelse
-setcolorspace currentdict /PhotoshopDuotoneColorSpace undef currentdict /PhotoshopDuotoneAltColorSpace undef } if
-/picstr1 32 string def
-/picstr2 32 string def
-/picstr3 32 string def
-/picstr4 32 string def
-/readdata {currentfile exch readhexstring pop} def
-/image2 level2 {/image load def} {{begin
-Width Height BitsPerComponent ImageMatrix
-Decode length 2 eq
-{/DataSource load image} if
-Decode length 6 eq
-{DataSource 0 get DataSource 1 get DataSource 2 get
-true 3 colorimage} if
-Decode length 8 eq
-{DataSource 0 get DataSource 1 get
-DataSource 2 get DataSource 3 get
-true 4 colorimage} if
-end} def} ifelse
-/_image2 level2 {/_image load def} {{begin
-Width Height BitsPerComponent ImageMatrix
-/DataSource load _image end} def} ifelse
-/beginimage {
-band 0 eq band 4 eq or band 5 eq or
-{image2}
-{negative {{pop 0}} {{pop 1}} ifelse
-_settransfer _image2} ifelse
-} def
-12 dict begin
-/ImageType 1 def
-/Width cols def
-/Height rows def
-/ImageMatrix [cols 0 0 rows neg 0 rows] def
-/BitsPerComponent 8 def
-band 0 eq
-{/Decode [0 1 0 1 0 1] def
-/MultipleDataSources true def
-/DataSource [
-{picstr1 readdata}
-{picstr2 readdata}
-{picstr3 readdata picstr4 readdata pop}
-] def}
-{/Decode [0 1] def
-/DataSource {
-picstr1 readdata pop
-picstr2 readdata pop
-picstr3 readdata pop
-picstr4 readdata
-} def}
-ifelse
-currentdict end
-%%BeginBinary: 5821
-beginimage
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C600
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-003B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B00
-00C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C600
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-003B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B00
-00C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C600
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-003B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B00
-00C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C600
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-003B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B00
-00C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C600
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-003B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B00
-00C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C600
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-003B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B00
-0008080808080808080808080808080808080808080808080808080808080800
-0000000000000000000000000000000000000000000000000000000000000000
-00B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B500
-0016161616161616161616161616161616161616161616161616161616161600
-0008080808080808080808080808080808080808080808080808080808080800
-0000000000000000000000000000000000000000000000000000000000000000
-00B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B500
-0016161616161616161616161616161616161616161616161616161616161600
-0008080808080808080808080808080808080808080808080808080808080800
-0000000000000000000000000000000000000000000000000000000000000000
-00B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B500
-0016161616161616161616161616161616161616161616161616161616161600
-0008080808080808080808080808080808080808080808080808080808080800
-0000000000000000000000000000000000000000000000000000000000000000
-00B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B500
-0016161616161616161616161616161616161616161616161616161616161600
-0008080808080808080808080808080808080808080808080808080808080800
-0000000000000000000000000000000000000000000000000000000000000000
-00B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B500
-0016161616161616161616161616161616161616161616161616161616161600
-0008080808080808080808080808080808080808080808080808080808080800
-0000000000000000000000000000000000000000000000000000000000000000
-00B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B500
-0016161616161616161616161616161616161616161616161616161616161600
-0008080808080808080808080808080808080808080808080808080808080800
-0000000000000000000000000000000000000000000000000000000000000000
-00B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B5B500
-0016161616161616161616161616161616161616161616161616161616161600
-00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
-00D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D600
-0000000000000000000000000000000000000000000000000000000000000000
-00CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB00
-00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
-00D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D600
-0000000000000000000000000000000000000000000000000000000000000000
-00CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB00
-00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
-00D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D600
-0000000000000000000000000000000000000000000000000000000000000000
-00CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB00
-00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
-00D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D600
-0000000000000000000000000000000000000000000000000000000000000000
-00CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB00
-00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
-00D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D600
-0000000000000000000000000000000000000000000000000000000000000000
-00CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB00
-00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
-00D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D600
-0000000000000000000000000000000000000000000000000000000000000000
-00CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB00
-00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
-00D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D600
-0000000000000000000000000000000000000000000000000000000000000000
-00CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB00
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-
-%%EndBinary
-grestore end % Image Trailer grestore
-grestore % EPS grestore
diff --git a/Docs/Flags/armenia.gif b/Docs/Flags/armenia.gif
deleted file mode 100755
index 6bd3b861015..00000000000
--- a/Docs/Flags/armenia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/armenia.txt b/Docs/Flags/armenia.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/armenia.txt
+++ /dev/null
diff --git a/Docs/Flags/australia.eps b/Docs/Flags/australia.eps
deleted file mode 100644
index 9f772787ae7..00000000000
--- a/Docs/Flags/australia.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: australia.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000cf7c0e08080877c67a0808080e7ccf0808080808080808
-0808080808080800003f5d06000000500053000000065e3f000000000000
-000000000000000000000043b5b7b5b5b5ab00acb5b5b5b7b543b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b50000b3d2b737080877c67a080837b7d2b30808
-0808080808080908080808080800008e3d622f000050005300002f623d8e
-0000000000000000010000000000000000bc3d82c0b5b5ab00acb5b5c082
-3dbcb5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000096cd5cf7c0e77c67a0e7c
-cfd56c0908080808080808419c12080808080800000164753f5d06500053
-065d3f756401000000000000003b990b00000000000000b5cd7e43b5b7ab
-00acb7b5437ecdb5b5b5b5b5b5b5b5c5deb8b5b5b5b5b50000080828b3d2
-b7a0c6a2b7d2b32808080808080808080868c91f08080808080000000021
-8e3d6279007c623d8e2100000000000000000063c81800000000000000b5
-b5bebc3d82b500b5823dbcbeb5b5b5b5b5b5b5b5b5cfeabbb5b5b5b5b500
-00d6d6d6d6d6d5d3c6d3d5d6d6d6d6d6080808080808080e0e0808080808
-080000505050504f4d4200424d4f50505050000000000000000606000000
-0000000000505050504f4d4200424d4f50505050b5b5b5b5b5b5b5b7b7b5
-b5b5b5b5b50000d6d6d6d6d6d6d3c6d3d6d6d6d6d6d60808080808080808
-080808080808080000505050505050420042505050505050000000000000
-0000000000000000000000505050505050420042505050505050b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b500000b0b2bb5d2b7a0c6a2b7d2b52b0b0b0808
-080808080808080808080808080000030324913d6179007c623d91240303
-0000000000000000000000000000000000b6b6bfbd3d82b500b5823dbdbf
-b6b6b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000096dd5cf7b0e77c67a0e7c
-cfd56c0908080808080808080808080a08080800000165753f5c06500053
-065d3f7564010000000000000000000000030000000000b5cd7e43b5b7ab
-00acb7b5437ecdb5b5b5b5b5b5b5b5b5b5b5b5b6b5b5b50000b3d2b73608
-0877c67a080837b7d2b30808080f080808080808099861080800008f3d61
-2e000050005300002f623d8e0000000800000000000001955b00000000bc
-3d82c0b5b5ab00acb5b5c0823dbcb5b5b5b7b5b5b5b5b5b5b5ddcdb5b500
-00cf7a0e08080877c67a0808080e7bcf08080fbd5d080808080812a98708
-0800003f5b06000000500053000000065c3f000008bb5800000000000aa6
-830000000042b5b7b5b5b5ab00acb5b5b5b6b543b5b5b7e7ccb5b5b5b5b5
-b8e1d8b5b500000808080808080808080808080808080808199e64080808
-080d080b0b080800000000000000000000000000000000000000129b5f00
-0000000500030300000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5badf
-ceb5b5b5b5b6b5b6b6b5b500000808080808080808080808080808080808
-0808080808080c9a0f080808080000000000000000000000000000000000
-0000000000000000049607000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b6ddb7b5b5b5b500000808080808080808080808
-080808080808080808080808081008080808080000000000000000000000
-0000000000000000000000000000000800000000000000b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b7b5b5b5b5b500000808080808
-08080a080808080808080808080808080808080808080808080000000000
-0000000003000000000000000000000000000000000000000000000000b5
-b5b5b5b5b5b5b6b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-000808080808083886380a08080808080808080808080808080808080808
-080000000000000000328231020000000000000000000000000000000000
-0000000000b5b5b5b5b5b5c2d8c2b6b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b50000080808080808a7f7b70808080808080808080808080810
-080808080808080000000000000000a4f7b5000000000000000000000000
-0008000000000000000000b5b5b5b5b5b5e1f7e5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b7b5b5b5b5b5b5b5000008080808081b95f39e2108080808080808
-0808080827c242080808080808000000000000001491f39b1a0000000000
-00000000000020c03c0000000000000000b5b5b5b5b5badcf6dfbcb5b5b5
-b5b5b5b5b5b5b5b5bde8c5b5b5b5b5b5b500000808080808082f25340808
-0808080808080808080825b63f0808080808080000000000000000281e2e
-0000000000000000000000001eb3390000000000000000b5b5b5b5b5b5c0
-bdc1b5b5b5b5b5b5b5b5b5b5b5b5bde5c4b5b5b5b5b5b500000808080808
-080808080808080808080808080808080808080808080808080000000000
-0000000000000000000000000000000000000000000000000000000000b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-000808080808080808080808080808080808080808080808080808080808
-080000000000000000000000000000000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/australia.gif b/Docs/Flags/australia.gif
deleted file mode 100644
index 6c766cbb614..00000000000
--- a/Docs/Flags/australia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/australia.pdf b/Docs/Flags/australia.pdf
deleted file mode 100644
index f7a1d0fd53d..00000000000
--- a/Docs/Flags/australia.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/australia.txt b/Docs/Flags/australia.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/australia.txt
+++ /dev/null
diff --git a/Docs/Flags/austria.eps b/Docs/Flags/austria.eps
deleted file mode 100644
index c6c35dc81e2..00000000000
--- a/Docs/Flags/austria.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: austria.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
-d6d6d6d6d6d6d6d6d6d6d6d6d60000505050505050505050505050505050
-505050505050505050505050505050000050505050505050505050505050
-50505050505050505050505050505050500000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000d7d7d7d7d7
-d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d70000535353
-535353535353535353535353535353535353535353535353535353000054
-545454545454545454545454545454545454545454545454545454545400
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/austria.gif b/Docs/Flags/austria.gif
deleted file mode 100644
index 26a97856627..00000000000
--- a/Docs/Flags/austria.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/austria.pdf b/Docs/Flags/austria.pdf
deleted file mode 100644
index d50b4f265cd..00000000000
--- a/Docs/Flags/austria.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/austria.txt b/Docs/Flags/austria.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/austria.txt
+++ /dev/null
diff --git a/Docs/Flags/belgium.eps b/Docs/Flags/belgium.eps
deleted file mode 100644
index d27fda0e1e1..00000000000
--- a/Docs/Flags/belgium.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: belgium.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000003ffffffffffffffffffffc6c6c6
-c6c6c6c6c6c6c6000000000000000000000003d6d6d6d6d6d6d6d6d6d600
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000003ffffffffffffff
-ffffffc6c6c6c6c6c6c6c6c6c6000000000000000000000003d6d6d6d6d6
-d6d6d6d6d600000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000003ff
-ffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000000000000000000000
-03d6d6d6d6d6d6d6d6d6d600000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000003ffffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000000000
-00000000000003d6d6d6d6d6d6d6d6d6d600000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000003ffffffffffffffffffffc6c6c6c6c6c6c6c6c6
-c6000000000000000000000003d6d6d6d6d6d6d6d6d6d600000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000003ffffffffffffffffffffc6c6c6
-c6c6c6c6c6c6c6000000000000000000000003d6d6d6d6d6d6d6d6d6d600
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000003ffffffffffffff
-ffffffc6c6c6c6c6c6c6c6c6c6000000000000000000000003d6d6d6d6d6
-d6d6d6d6d600000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000003ff
-ffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000000000000000000000
-03d6d6d6d6d6d6d6d6d6d600000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000003ffffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000000000
-00000000000003d6d6d6d6d6d6d6d6d6d600000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000003ffffffffffffffffffffc6c6c6c6c6c6c6c6c6
-c6000000000000000000000003d6d6d6d6d6d6d6d6d6d600000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000003ffffffffffffffffffffc6c6c6
-c6c6c6c6c6c6c6000000000000000000000003d6d6d6d6d6d6d6d6d6d600
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000003ffffffffffffff
-ffffffc6c6c6c6c6c6c6c6c6c6000000000000000000000003d6d6d6d6d6
-d6d6d6d6d600000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000003ff
-ffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000000000000000000000
-03d6d6d6d6d6d6d6d6d6d600000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000003ffffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000000000
-00000000000003d6d6d6d6d6d6d6d6d6d600000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000003ffffffffffffffffffffc6c6c6c6c6c6c6c6c6
-c6000000000000000000000003d6d6d6d6d6d6d6d6d6d600000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000003ffffffffffffffffffffc6c6c6
-c6c6c6c6c6c6c6000000000000000000000003d6d6d6d6d6d6d6d6d6d600
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000003ffffffffffffff
-ffffffc6c6c6c6c6c6c6c6c6c6000000000000000000000003d6d6d6d6d6
-d6d6d6d6d600000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000003ff
-ffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000000000000000000000
-03d6d6d6d6d6d6d6d6d6d600000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000003ffffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000000000
-00000000000003d6d6d6d6d6d6d6d6d6d600000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000003ffffffffffffffffffffc6c6c6c6c6c6c6c6c6
-c6000000000000000000000003d6d6d6d6d6d6d6d6d6d600000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/belgium.gif b/Docs/Flags/belgium.gif
deleted file mode 100644
index 2bb101dc501..00000000000
--- a/Docs/Flags/belgium.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/belgium.pdf b/Docs/Flags/belgium.pdf
deleted file mode 100644
index 7696d4af102..00000000000
--- a/Docs/Flags/belgium.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/belgium.txt b/Docs/Flags/belgium.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/belgium.txt
+++ /dev/null
diff --git a/Docs/Flags/brazil.eps b/Docs/Flags/brazil.eps
deleted file mode 100644
index 94cbbd42d20..00000000000
--- a/Docs/Flags/brazil.eps
+++ /dev/null
@@ -1,87 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 291 371 320 391
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 30 string def
-/gpicstr 30 string def
-/bpicstr 30 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-291.6 371.4 translate
-28.8 19.2 scale
-30 20 8
-[ 30 0 0 -20 0 20 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000001eb8a41300000000000000000000000000
-b5b5b5b5b5b5b5b5b5b5b5b5b5beebe5bab5b5b5b5b5b5b5b5b5b5b5b5b5
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000164f1ffffe74f000000000000000000000000
-b5b5b5b5b5b5b5b5b5b5b5b5d2fbfffff8ccb5b5b5b5b5b5b5b5b5b5b5b5
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000001eb8fffffcfdffffa41300000000000000000000
-b5b5b5b5b5b5b5b5b5b5beebfffffefeffffe5bab5b5b5b5b5b5b5b5b5b5
-000000000000000000000000000003020000000000000000000000000000
-00000000000000000163f0fea8451c1e4eb8ffe750000000000000000000
-b5b5b5b5b5b5b5b5b5d2fbffe3c3b6b7c6e8fff8ccb5b5b5b5b5b5b5b5b5
-0000000000000000000000015ac1ebe9b84a000000000000000000000000
-000000000000001db7fffe6f18181818181889ffffa41300000000000000
-b5b5b5b5b5b5b5beeaffffd1b5b5b5b5b5b5d9ffffe5bab5b5b5b5b5b5b5
-000000000000000000000195efefefefefef7a0000000000000000000000
-00000000000163f0ffffa61818181818181818c1ffffe750000000000000
-b5b5b5b5b5b5d2fbffffe2b5b5b5b5b5b5b5b5ebfffff8ccb5b5b5b5b5b5
-000000000000000000005cefefefefefefefef4100000000000000000000
-000000001db7ffffffffd4b5bea7905c2b18185dffffffffa41300000000
-b5b5b5b5beeaffffffffeee4e6e0d9c9bbb5b5cbffffffffe5bbb5b5b5b5
-00000000000000000000c9f5f5f4f3f2f0efefa800000000000000000000
-00000063f0fffffffffa422122395f8aae661d30ffffffffffe74f000000
-b5b5b5d2fbfffffffffdc2b8b8bfcad7e2cdb7bdfffffffffff8ccb5b5b5
-00000000000000000006eff0f0f0f2f3f4f2efd700000000000000000000
-00000050e7fffffffffa1b1e181b1b1836909948ffffffffffdb3d000000
-b5b5b5ccf8fffffffffeb6b7b5b6b6b5bed9dcc4fffffffffff5c7b5b5b5
-00000000000000000005ecefefefefeff0f4f4d600000000000000000000
-0000000013a5ffffffff481c18181f1818196fdefffffffd900a00000000
-b5b5b5b5bbe5ffffffffc4b6b5b5b7b5b5b5cff2fffffffedfb8b5b5b5b5
-00000000000000000000beefefefefefefeff2a600000000000000000000
-00000000000050e7ffffb01823182218282e39d9ffffdb3d000000000000
-b5b5b5b5b5b5ccf8ffffe6b5b8b5b8b5babcbff3fffff5c7b5b5b5b5b5b5
-0000000000000000000051efefefefeff0f0ee3800000000000000000000
-0000000000000013a5ffff8018181b18283a99fffd900a00000000000000
-b5b5b5b5b5b5b5bbe5ffffd7b5b5b6b5babfdffffedfb8b5b5b5b5b5b5b5
-000000000000000000000084efefefeff0ef690000000000000000000000
-00000000000000000050e7ffba572b2d60c8ffdb3d000000000000000000
-b5b5b5b5b5b5b5b5b5ccf8ffe9c9bbbcccedfff5c7b5b5b5b5b5b5b5b5b5
-00000000000000000000000048aedcd9a539000000000000000000000000
-0000000000000000000013a5fffffffffffd900a00000000000000000000
-b5b5b5b5b5b5b5b5b5b5bbe5fffffffffffedfb8b5b5b5b5b5b5b5b5b5b5
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000050e7ffffdb3e000000000000000000000000
-b5b5b5b5b5b5b5b5b5b5b5b5ccf8fffff5c7b5b5b5b5b5b5b5b5b5b5b5b5
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000013a5910b00000000000000000000000000
-b5b5b5b5b5b5b5b5b5b5b5b5b5bbe5dfb8b5b5b5b5b5b5b5b5b5b5b5b5b5
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-000000000000000000000000000000000000000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/brazil.gif b/Docs/Flags/brazil.gif
deleted file mode 100644
index 82e12be5956..00000000000
--- a/Docs/Flags/brazil.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/brazil.txt b/Docs/Flags/brazil.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/brazil.txt
+++ /dev/null
diff --git a/Docs/Flags/bulgaria.eps b/Docs/Flags/bulgaria.eps
deleted file mode 100644
index 2eb04535d36..00000000000
--- a/Docs/Flags/bulgaria.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: bulgaria.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7
-a7a7a7a7a7a7a7a7a7a7a7a7a70000e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2
-e2e2e2e2e2e2e2e2e2e2e2e2e2e2e20000a7a7a7a7a7a7a7a7a7a7a7a7a7
-a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a700000000000000000000000000
-000000000000000000000000000000000000000000b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5000000000000000000
-000000000000000000000000000000000000000000000000008383838383
-8383838383838383838383838383838383838383838383838300003d3d3d
-3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/bulgaria.gif b/Docs/Flags/bulgaria.gif
deleted file mode 100644
index 4c7377e907c..00000000000
--- a/Docs/Flags/bulgaria.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/bulgaria.pdf b/Docs/Flags/bulgaria.pdf
deleted file mode 100644
index 24cb072598d..00000000000
--- a/Docs/Flags/bulgaria.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/bulgaria.txt b/Docs/Flags/bulgaria.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/bulgaria.txt
+++ /dev/null
diff --git a/Docs/Flags/canada.eps b/Docs/Flags/canada.eps
deleted file mode 100644
index 7773f12a699..00000000000
--- a/Docs/Flags/canada.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: canada.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6def7f7f7f7f7f7f7f7f7f7f7f7f7f7de
-c6c6c6c6c6c6c60000000000000000007bf7f7f7f7f7f7f7f7f7f7f7f7f7
-f778000000000000000000000000000000007bf7f7f7f7f7f7f7f7f7f7f7
-f7f7f779000000000000000000c6c6c6c6c6c6c6def7f7f7f7f7f7f7f7f7
-f7f7f7f7f7dec6c6c6c6c6c6c60000000000000000007bf7f7f7f7f7f7f7
-f7f7f7f7f7f7f778000000000000000000000000000000007bf7f7f7f7f7
-f7f7f7f7f7f7f7f7f779000000000000000000c6c6c6c6c6c6c6def7f7f7
-f7f7f7f7f7f7f7f7f7f7f7dec6c6c6c6c6c6c60000000000000000007bf7
-f7f7f7f7f7f7f7f7f7f7f7f7f77800000000000000000000000000000000
-7bf7f7f7f7f7f7f7f7f7f7f7f7f7f779000000000000000000c6c6c6c6c6
-c6c6def7f7f7f7f7f7f7f7f7f7f7f7f7f7dec6c6c6c6c6c6c60000000000
-000000007bf7f7f7f7f7f7f5f5f7f7f7f7f7f77800000000000000000000
-0000000000007bf7f7f7f7f7f7f5f5f7f7f7f7f7f7790000000000000000
-00c6c6c6c6c6c6c6def7f7f7f7f7f7e8e8f7f7f7f7f7f7dec6c6c6c6c6c6
-c60000000000000000007bf7f7f7f7f7f7adadf7f7f7f7f7f77800000000
-0000000000000000000000007bf7f7f7f7f7f7adadf7f7f7f7f7f7790000
-00000000000000c6c6c6c6c6c6c6def7f7f7f7f7f5d3d3f5f7f7f7f7f7de
-c6c6c6c6c6c6c60000000000000000007bf7f7f7f7f5ec4242ecf5f7f7f7
-f778000000000000000000000000000000007bf7f7f7f7f5ec4242ecf5f7
-f7f7f779000000000000000000c6c6c6c6c6c6c6def7f7f7f7f7d5c6c6d5
-f7f7f7f7f7dec6c6c6c6c6c6c60000000000000000007bf7f7f7f7f74a01
-014af7f7f7f7f778000000000000000000000000000000007bf7f7f7f7f7
-4a01014af7f7f7f7f779000000000000000000c6c6c6c6c6c6c6def7f7f7
-f2f7dcc6c6dcf7f2f7f7f7dec6c6c6c6c6c6c60000000000000000007bf7
-f7f7dcf76f00006ff7dcf7f7f77800000000000000000000000000000000
-7bf7f7f7dcf76f00006ff7dcf7f7f779000000000000000000c6c6c6c6c6
-c6c6def7eee9d9d5e4c6c6e4d5d9e9eef7dec6c6c6c6c6c6c60000000000
-000000007bf7caaf5e4995000095495eafcaf77800000000000000000000
-0000000000007bf7caaf5f4996000096495fafcaf7790000000000000000
-00c6c6c6c6c6c6c6def7f4c8c6c6c7c6c6c7c6c6c8f3f7dec6c6c6c6c6c6
-c60000000000000000007bf7e508000004000004000008e5f77800000000
-0000000000000000000000007bf7e508000004000004000008e5f7790000
-00000000000000c6c6c6c6c6c6c6def7f0cdc6c6c6c6c6c6c6c6cdf0f7de
-c6c6c6c6c6c6c60000000000000000007bf7d222000000000000000022d2
-f778000000000000000000000000000000007bf7d2220000000000000000
-22d2f779000000000000000000c6c6c6c6c6c6c6def7f7ecdccbc6c6c6c6
-cbdcecf7f7dec6c6c6c6c6c6c60000000000000000007bf7f6c16d1b0000
-00001b6dc0f6f778000000000000000000000000000000007bf7f6c16d1b
-000000001b6dc1f6f779000000000000000000c6c6c6c6c6c6c6def7f7f7
-f7dbc6c6c6c6dbf7f7f7f7dec6c6c6c6c6c6c60000000000000000007bf7
-f7f7f76b000000006bf7f7f7f77800000000000000000000000000000000
-7bf7f7f7f76b000000006bf7f7f7f779000000000000000000c6c6c6c6c6
-c6c6def7f7f7f7eef2e9e9f2eef6f7f7f7dec6c6c6c6c6c6c60000000000
-000000007bf7f7f7f4c8dcb0b0dcc8f4f7f7f77800000000000000000000
-0000000000007bf7f7f7f4c9dcb0b0dcc9f4f7f7f7790000000000000000
-00c6c6c6c6c6c6c6def7f7f7f7f7f7e9e9f7f7f7f7f7f7dec6c6c6c6c6c6
-c60000000000000000007bf7f7f7f7f7f7b2b2f7f7f7f7f7f77800000000
-0000000000000000000000007bf7f7f7f7f7f7b2b2f7f7f7f7f7f7790000
-00000000000000c6c6c6c6c6c6c6def7f7f7f7f7f7e9e9f7f7f7f7f7f7de
-c6c6c6c6c6c6c60000000000000000007bf7f7f7f7f7f7aeaef7f7f7f7f7
-f778000000000000000000000000000000007bf7f7f7f7f7f7aeaef7f7f7
-f7f7f779000000000000000000c6c6c6c6c6c6c6def7f7f7f7f7f7f4f4f7
-f7f7f7f7f7dec6c6c6c6c6c6c60000000000000000007bf7f7f7f7f7f7ea
-e9f7f7f7f7f7f778000000000000000000000000000000007bf7f7f7f7f7
-f7eaeaf7f7f7f7f7f779000000000000000000c6c6c6c6c6c6c6def7f7f7
-f7f7f7f7f7f7f7f7f7f7f7dec6c6c6c6c6c6c60000000000000000007bf7
-f7f7f7f7f7f7f7f7f7f7f7f7f77800000000000000000000000000000000
-7bf7f7f7f7f7f7f7f7f7f7f7f7f7f779000000000000000000c6c6c6c6c6
-c6c6def7f7f7f7f7f7f7f7f7f7f7f7f7f7dec6c6c6c6c6c6c60000000000
-000000007bf7f7f7f7f7f7f7f7f7f7f7f7f7f77800000000000000000000
-0000000000007bf7f7f7f7f7f7f7f7f7f7f7f7f7f7790000000000000000
-00c6c6c6c6c6c6c6def7f7f7f7f7f7f7f7f7f7f7f7f7f7dec6c6c6c6c6c6
-c60000000000000000007bf7f7f7f7f7f7f7f7f7f7f7f7f7f77800000000
-0000000000000000000000007bf7f7f7f7f7f7f7f7f7f7f7f7f7f7790000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/canada.gif b/Docs/Flags/canada.gif
deleted file mode 100644
index af672caf33d..00000000000
--- a/Docs/Flags/canada.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/canada.pdf b/Docs/Flags/canada.pdf
deleted file mode 100644
index 4ba0fd45ec6..00000000000
--- a/Docs/Flags/canada.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/canada.txt b/Docs/Flags/canada.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/canada.txt
+++ /dev/null
diff --git a/Docs/Flags/chile.eps b/Docs/Flags/chile.eps
deleted file mode 100644
index 121bf0a51b3..00000000000
--- a/Docs/Flags/chile.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: chile.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000008080808080808080808f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7000000000000000000000000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000b5b5b5b5b5b5b5b5b5b5f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7000008080808232408080808f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000000000001c1c00000000f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000b5b5b5b5bcbdb5b5b5b5f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7000008080808727208080808f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000000000006d6d000000
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000b5b5b5b5d2d2b5
-b5b5b5f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7000008080808c2
-c208080808f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000000000
-00c0c000000000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000b5
-b5b5b5e8e8b5b5b5b5f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-000866dfe5f6f6e5e06708f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f700000062dee4f6f6e4de6200f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000b5cff0f2f7f7f2f0cfb5f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000080841def7f7de410808f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7000000003bddf7f7dd3b0000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000b5b5c5f0f7f7f0c5b5b5f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000080808bcf7f7bc080808f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000000000baf7f7ba000000f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000b5b5b5e7f7f7e7b5b5b5f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7000008081beb6969eb1c0808f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000000014ea6565ea1400
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000b5b5baf4d0d0f4
-bab5b5f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7000008083b2f08
-082e3b0808f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000000034
-28000028340000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000b5
-b5c3c0b5b5c0c3b5b5f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-0008080808080808080808f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7000000000000000000000000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000b5b5b5b5b5b5b5b5b5b5f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000c4c4c4c4c4c4c4c4c4c4c7c7c7c7c7c7c7c7c7c7c7c7c7
-c7c7c7c7c7c7c70000000000000000000000000303030303030303030303
-030303030303030303000002020202020202020202030303030303030303
-03030303030303030303030000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/chile.gif b/Docs/Flags/chile.gif
deleted file mode 100644
index dcd21381a0a..00000000000
--- a/Docs/Flags/chile.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/chile.pdf b/Docs/Flags/chile.pdf
deleted file mode 100644
index 6a1bfb10c0a..00000000000
--- a/Docs/Flags/chile.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/chile.txt b/Docs/Flags/chile.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/chile.txt
+++ /dev/null
diff --git a/Docs/Flags/china.eps b/Docs/Flags/china.eps
deleted file mode 100644
index d76667bb762..00000000000
--- a/Docs/Flags/china.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: china.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c7e1c7c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000027602000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6cec6c6c6cac6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000240000001000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6eeca
-c6c6c7e1c7c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-b41000000276020000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6d7f3fef7e3c7c6cac6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000004ac8fbd88103000f000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6e2fff3c6c6c7d1c7c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6000000007cffc901000233020000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6e6d5eac9c6c6d9c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6000000008c42a20b000053000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c7c6c6c7c7cec6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000005000005032301
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6dcc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000016100000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/china.gif b/Docs/Flags/china.gif
deleted file mode 100644
index 6e0c5eb42aa..00000000000
--- a/Docs/Flags/china.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/china.pdf b/Docs/Flags/china.pdf
deleted file mode 100644
index 9706ee48a28..00000000000
--- a/Docs/Flags/china.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/china.txt b/Docs/Flags/china.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/china.txt
+++ /dev/null
diff --git a/Docs/Flags/costa-rica.eps b/Docs/Flags/costa-rica.eps
deleted file mode 100644
index b225246c0c7..00000000000
--- a/Docs/Flags/costa-rica.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: costa-rica.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000808080808080808080808080808080808080808080808
-080808080808080000000000000000000000000000000000000000000000
-0000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b500000808080808080808080808080808080808
-080808080808080808080808080000000000000000000000000000000000
-0000000000000000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808080808080808
-080808080808080808080808080808080808080000000000000000000000
-0000000000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000a6a6a6a6a6
-a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a60000a3a3a3
-a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a30000e1
-e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e100
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7
-e7e7e7e7e7e7e7e7e7e7e7e7e70000a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7
-a7a7a7a7a7a7a7a7a7a7a7a7a7a7a70000a7a7a7a7a7a7a7a7a7a7a7a7a7
-a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a70000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000e7e7e7e7e7
-e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e70000a7a7a7
-a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a70000a7
-a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a700
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9
-a9a9a9a9a9a9a9a9a9a9a9a9a90000a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7
-a7a7a7a7a7a7a7a7a7a7a7a7a7a7a70000e2e2e2e2e2e2e2e2e2e2e2e2e2
-e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e200000808080808080808080808
-080808080808080808080808080808080808080000000000000000000000
-0000000000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808
-080808080808080808080808080808080808080808080808080000000000
-0000000000000000000000000000000000000000000000000000000000b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-000808080808080808080808080808080808080808080808080808080808
-080000000000000000000000000000000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/costa-rica.gif b/Docs/Flags/costa-rica.gif
deleted file mode 100644
index becc817fdcc..00000000000
--- a/Docs/Flags/costa-rica.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/costa-rica.pdf b/Docs/Flags/costa-rica.pdf
deleted file mode 100644
index 881d2018d83..00000000000
--- a/Docs/Flags/costa-rica.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/costa-rica.txt b/Docs/Flags/costa-rica.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/costa-rica.txt
+++ /dev/null
diff --git a/Docs/Flags/croatia.eps b/Docs/Flags/croatia.eps
deleted file mode 100644
index db6566f8e31..00000000000
--- a/Docs/Flags/croatia.eps
+++ /dev/null
@@ -1,87 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 291 371 320 391
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 30 string def
-/gpicstr 30 string def
-/bpicstr 30 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-291.6 371.4 translate
-28.8 19.2 scale
-30 20 8
-[ 30 0 0 -20 0 20 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-c6c6c6c6c6c6c6c6c6c6c6c6b6c1abafc0b8c6c6c6c6c6c6c6c6c6c6c6c6
-000000000000000000000000170d2f290f15000000000000000000000000
-0000000000000000000000001e0e312a111b000000000000000000000000
-c6c6c6c6c6c6c6c6c6c67a77748c474c29297380c6c6c6c6c6c6c6c6c6c6
-0000000000000000000076703536b1ac3d3c756e00000000000000000000
-0000000000000000000074715b4b908a838c756d00000000000000000000
-c6c6c6c6c6c6c6c6c6c22c1858652b257a5b6947c4c6c6c6c6c6c6c6c6c6
-00000000000000000013c5c93529b6ae755ca6c30c000000000000000000
-00000000000000000013bcc86157a5a5435a9bbb0c000000000000000000
-c6c6c6c6c6c6c6c6c6c65e3c4f60605f5d5466acc6c6c6c6c6c6c6c6c6c6
-0000000000000000000095d065397d794264674300000000000000000000
-000000000000000000009cdb876a878669856b4400000000000000000000
-d7d7d7d7d7d7d7d7d7d7bcb3cfd8c8cad8cdb1c1d7d7d7d7d7d7d7d7d7d7
-57575757575757575757592a345a0b155a292d6057575757575757575757
-575757575757575757575b2b345a0b155a292f6157575757575757575757
-f7f7f7f7f7f7f7f7f7f7e2c6e2f7ccd2f7dbc6e8f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f78d008af71e3af76b00adf7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f78d008bf71e3af76b00adf7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7eae9ded5e7e5d5e1e9ecf7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7b3af794ba5994b86afbff7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7b3af7a4ca59a4c87afbff7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7edf6ddc8f1ecc8e3f6edf7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7c1f0720ad7bc0a8ff0c5f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7c1f0720ad8bd0a90f0c5f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7e2c6e2f7ccd2f7dbc6e8f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f78e018bf71e3bf76b01adf7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f78e018bf71e3bf76b01adf7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7e7d9e0e5dbdce5ded8ecf7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7a75e819b666e9b795bbcf7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7a75f829b676e9b7a5cbcf7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f3f0dcc6f2ecc6e3edf6f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7e1d56f00dcbf008fc6f0f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7e1d56f00ddc00090c6f0f7f7f7f7f7f7f7f7f7f7
-4c4c4c4c4c4c4c4c4c4c4c79e1ead7d9eadd6a4c4c4c4c4c4c4c4c4c4c4c
-46464646464646464646463484b45461b476344646464646464646464646
-c8c8c8c8c8c8c8c8c8c8c88885b45562b47897c8c8c8c8c8c8c8c8c8c8c8
-0808080808080808080808085cd3cbd0ca4a080808080808080808080808
-0000000000000000000000002aa819319d1d000000000000000000000000
-b5b5b5b5b5b5b5b5b5b5b5b597bb1931b799b5b5b5b5b5b5b5b5b5b5b5b5
-0808080808080808080808080809201d0808080808080808080808080808
-000000000000000000000000000000000000000000000000000000000000
-b5b5b5b5b5b5b5b5b5b5b5b5b5b49ea1b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-080808080808080808080808080808080808080808080808080808080808
-000000000000000000000000000000000000000000000000000000000000
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-080808080808080808080808080808080808080808080808080808080808
-000000000000000000000000000000000000000000000000000000000000
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-080808080808080808080808080808080808080808080808080808080808
-000000000000000000000000000000000000000000000000000000000000
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-080808080808080808080808080808080808080808080808080808080808
-000000000000000000000000000000000000000000000000000000000000
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/croatia.gif b/Docs/Flags/croatia.gif
deleted file mode 100644
index 643b89555f5..00000000000
--- a/Docs/Flags/croatia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/croatia.txt b/Docs/Flags/croatia.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/croatia.txt
+++ /dev/null
diff --git a/Docs/Flags/czech-republic.eps b/Docs/Flags/czech-republic.eps
deleted file mode 100644
index c179b95db17..00000000000
--- a/Docs/Flags/czech-republic.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: czech-republic.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000056e2f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7000050e1f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000caf1f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000081ba5f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f700000013a2f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000b5bae0f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7000008080856e2f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7000000000050e1f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000b5b5b5caf1f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000080808081b
-a5f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000000000
-0013a2f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000b5
-b5b5b5bae0f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-0008080808080856e2f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7000000000000000050e1f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000b5b5b5b5b5b5caf1f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000080808080808081ba5f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f700000000000000000013a2f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000b5b5b5b5b5b5b5bae0f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7000008080808080808080856e2f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7000000000000000000000050e1f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000b5b5b5b5b5b5b5b5b5caf1f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000080808080808080808081b
-a5f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000000000000000000000
-0013a2f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000b5b5b5b5b5b5b5
-b5b5b5bae0f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700000808080808
-0808080808080856e2f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000000000
-00000000000000000050e1f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000b5
-b5b5b5b5b5b5b5b5b5b5b5caf1f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00080808080808080808080808081ba5f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f700000000000000000000000000000013a2f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000b5b5b5b5b5b5b5b5b5b5b5b5b5bae0f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000080808080808080808080808081784c7c7c7c7c7c7c7c7
-c7c7c7c7c7c7c70000000000000000000000000000000000030303030303
-0303030303030303030000b5b5b5b5b5b5b5b5b5b5b5b5b5a73f03030303
-0303030303030303030303000008080808080808080808080845b5c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-0000000000000000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b57b
-100000000000000000000000000000000000000808080808080808080817
-84c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-0000000000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b5b5b5a73f00000000000000000000000000000000000000000808080808
-0808080845b5c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-0000000000000000000000000000000000000000000000000000000000b5
-b5b5b5b5b5b5b5b57b100000000000000000000000000000000000000000
-00080808080808081784c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5a73f00000000000000000000000000000000
-0000000000000008080808080845b5c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-0000000000000000000000b5b5b5b5b5b57b100000000000000000000000
-00000000000000000000000000080808081784c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-0000000000000000000000000000000000b5b5b5b5a73f00000000000000
-0000000000000000000000000000000000000008080845b5c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-0000000000000000000000000000000000000000000000b5b5b57b100000
-00000000000000000000000000000000000000000000000000081784c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-0000000000000000000000000000000000000000000000000000000000b5
-a73f00000000000000000000000000000000000000000000000000000000
-0045b5c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-00000000007b100000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/czech-republic.gif b/Docs/Flags/czech-republic.gif
deleted file mode 100644
index eeaeb4b791b..00000000000
--- a/Docs/Flags/czech-republic.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/czech-republic.pdf b/Docs/Flags/czech-republic.pdf
deleted file mode 100644
index 7fb2680269f..00000000000
--- a/Docs/Flags/czech-republic.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/czech-republic.txt b/Docs/Flags/czech-republic.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/czech-republic.txt
+++ /dev/null
diff --git a/Docs/Flags/denmark.eps b/Docs/Flags/denmark.eps
deleted file mode 100644
index c3ddf74f725..00000000000
--- a/Docs/Flags/denmark.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: denmark.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c7c7c7c7c7c7c7c7fffffffcc7c7c7c7c7c6c7c7c7c7c7
-c6c7c7c7c7c7c700000000000000000000fffffffc000000000000000000
-00000000000000000000000000000000000000fffffff500000000000000
-00000000000000000000000000c7c7c7c7c7c7c7c7fffffffcc7c7c7c7c7
-c7c7c7c7c7c7c7c7c7c7c7c7c700000000000000000000fffffffc000000
-00000000000000000000000000000000000000000000000000fffffff500
-00000000000000000000000000000000000000c7c6c7c6c6c6c7c7ffffff
-fcc7c6c6c6c6c6c6c6c6c6c6c6c6c6c7c7c7c700000000000000000000ff
-fffffc000000000000000000000000000000000000000000000000000000
-00fffffff50000000000000000000000000000000000000000c7c7c7c6c7
-c7c7c7fffffffcc6c7c7c6c6c6c6c6c6c6c6c6c6c7c6c7c7c70000000000
-0000000000fffffffc000000000000000000000000000000000000000000
-00000000000000fffffff500000000000000000000000000000000000000
-00c7c6c7c7c7c6c7c7fffffffcc6c7c7c7c7c7c7c7c7c7c7c7c7c7c6c7c7
-c700000000000000000000fffffffc000000000000000000000000000000
-00000000000000000000000000fffffff500000000000000000000000000
-00000000000000c7c7c6c7c7c7c7c7fffffffcc7c7c6c7c6c6c6c6c6c6c6
-c7c6c7c7c7c6c700000000000000000000fffffffc000000000000000000
-00000000000000000000000000000000000000fffffff500000000000000
-00000000000000000000000000c7c7c7c6c7c6c7c7fffffffcc6c7c7c7c6
-c6c6c6c6c7c7c6c7c7c6c7c6c700000000000000000000fffffffc000000
-00000000000000000000000000000000000000000000000000fffffff500
-00000000000000000000000000000000000000c7c7c7c7c7c7c6c7ffffff
-fcc7c6c7c6c6c7c7c6c7c7c7c7c7c7c7c6c7c700000000000000000000ff
-fffffc000000000000000000000000000000000000000000000000000000
-00fffffff50000000000000000000000000000000000000000fcfcfcfcfc
-fcfcfcfffffffffcfcfcfcfcfcfbfcfcfcfcfbfcfcfcfcfcfc0000fcfcfc
-fcfcfcfcfcfffffffffcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc0000f5
-f5f5f5f5f5f5f5fffffffff5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f500
-00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffff0000ffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffff0000ffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffff0000c7c7c7c6c7c7c6c6ffffff
-fcc6c6c6c7c7c6c6c7c7c7c7c6c6c6c7c7c7c700000000000000000000ff
-fffffc000000000000000000000000000000000000000000000000000000
-00fffffff50000000000000000000000000000000000000000c7c7c6c6c7
-c6c7c7fffffffcc6c7c7c7c7c7c7c6c7c6c6c7c7c7c7c6c7c70000000000
-0000000000fffffffc000000000000000000000000000000000000000000
-00000000000000fffffff500000000000000000000000000000000000000
-00c7c6c6c7c7c6c7c7fffffffcc7c7c7c7c7c6c7c6c7c6c7c7c7c6c7c7c7
-c700000000000000000000fffffffc000000000000000000000000000000
-00000000000000000000000000fffffff500000000000000000000000000
-00000000000000c7c6c7c7c7c7c6c7fffffffcc7c6c6c6c7c7c7c7c7c7c7
-c7c7c6c7c7c7c700000000000000000000fffffffc000000000000000000
-00000000000000000000000000000000000000fffffff500000000000000
-00000000000000000000000000c7c7c7c6c7c7c7c7fffffffcc6c6c6c7c6
-c7c6c7c6c7c7c6c7c7c7c6c7c700000000000000000000fffffffc000000
-00000000000000000000000000000000000000000000000000fffffff500
-00000000000000000000000000000000000000c7c7c7c7c7c6c7c7ffffff
-fcc7c7c7c6c7c7c7c7c6c7c6c6c7c6c7c7c6c700000000000000000000ff
-fffffc000000000000000000000000000000000000000000000000000000
-00fffffff50000000000000000000000000000000000000000c7c7c7c7c6
-c6c6c6fffffffcc6c6c7c7c6c7c7c6c7c6c7c7c7c7c7c6c6c70000000000
-0000000000fffffffc000000000000000000000000000000000000000000
-00000000000000fffffff500000000000000000000000000000000000000
-00c7c7c6c7c7c7c7c7fffffffcc6c7c6c6c7c7c7c7c7c7c6c7c6c6c7c7c7
-c700000000000000000000fffffffc000000000000000000000000000000
-00000000000000000000000000fffffff500000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/denmark.gif b/Docs/Flags/denmark.gif
deleted file mode 100644
index b2cda874fce..00000000000
--- a/Docs/Flags/denmark.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/denmark.pdf b/Docs/Flags/denmark.pdf
deleted file mode 100644
index c405a7b0f11..00000000000
--- a/Docs/Flags/denmark.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/denmark.txt b/Docs/Flags/denmark.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/denmark.txt
+++ /dev/null
diff --git a/Docs/Flags/estonia.eps b/Docs/Flags/estonia.eps
deleted file mode 100644
index a73cd8eecce..00000000000
--- a/Docs/Flags/estonia.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: estonia.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000808080808080808080808080808080808080808080808
-080808080808080000000000000000000000000000000000000000000000
-0000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b500000808080808080808080808080808080808
-080808080808080808080808080000000000000000000000000000000000
-0000000000000000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808080808080808
-080808080808080808080808080808080808080000000000000000000000
-0000000000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808
-080808080808080808080808080808080808080808080808080000000000
-0000000000000000000000000000000000000000000000000000000000b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-000808080808080808080808080808080808080808080808080808080808
-080000000000000000000000000000000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000808080808080808080808080808080808080808080808
-080808080808080000000000000000000000000000000000000000000000
-0000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b500000505050505050505050505050505050505
-050505050505050505050505050000000000000000000000000000000000
-00000000000000000000000000000000007a7a7a7a7a7a7a7a7a7a7a7a7a
-7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a00000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000a4a4a4a4a4
-a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a40000a4a4a4
-a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a40000a4
-a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a400
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f700000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/estonia.gif b/Docs/Flags/estonia.gif
deleted file mode 100644
index ac2c62b78e9..00000000000
--- a/Docs/Flags/estonia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/estonia.pdf b/Docs/Flags/estonia.pdf
deleted file mode 100644
index 12056acb79d..00000000000
--- a/Docs/Flags/estonia.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/estonia.txt b/Docs/Flags/estonia.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/estonia.txt
+++ /dev/null
diff --git a/Docs/Flags/finland.eps b/Docs/Flags/finland.eps
deleted file mode 100644
index 847a0fdd30d..00000000000
--- a/Docs/Flags/finland.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: finland.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000f7f7f7f7f7f7f7f71818181bf7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7b5b5b5b6f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7efefefeff7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f71818181bf7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7b5b5b5b6f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7efefefeff7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7181818
-1bf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7b5
-b5b5b6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7efefefeff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f71818181bf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7b5b5b5b6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7efefefeff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f71818181bf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7b5b5b5b6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7efefefeff7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f71818181bf7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7b5b5b5b6f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7efefefeff7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f71818181bf7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7b5b5b5b6f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7efefefeff7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7181818
-1bf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7b5
-b5b5b6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7efefefeff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700001b1b1b1b1b
-1b1b1b181818181b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b0000b6b6b6
-b6b6b6b6b6b5b5b5b5b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b60000ef
-efefefefefefefefefefefefefefefefefefefefefefefefefefefefef00
-001818181818181818181818181818181818181818181818181818181818
-180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b50000efefefefefefefefefefefefefefefefefefefefefefefefef
-efefefefef00001818181818181818181818181818181818181818181818
-181818181818180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b50000efefefefefefefefefefefefefefefefefefef
-efefefefefefefefefefef00001818181818181818181818181818181818
-181818181818181818181818180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000efefefefefefefefefefefefef
-efefefefefefefefefefefefefefefefef0000f7f7f7f7f7f7f7f7181818
-1bf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7b5
-b5b5b6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7efefefeff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f71818181bf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7b5b5b5b6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7efefefeff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f71818181bf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7b5b5b5b6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7efefefeff7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f71818181bf7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7b5b5b5b6f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7efefefeff7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f71818181bf7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7b5b5b5b6f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7efefefeff7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7181818
-1bf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7b5
-b5b5b6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7efefefeff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f71818181bf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7b5b5b5b6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7efefefeff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f71818181bf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7b5b5b5b6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7efefefeff7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f700000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/finland.gif b/Docs/Flags/finland.gif
deleted file mode 100644
index 08f367ce95c..00000000000
--- a/Docs/Flags/finland.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/finland.pdf b/Docs/Flags/finland.pdf
deleted file mode 100644
index aa0506be383..00000000000
--- a/Docs/Flags/finland.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/finland.txt b/Docs/Flags/finland.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/finland.txt
+++ /dev/null
diff --git a/Docs/Flags/france.eps b/Docs/Flags/france.eps
deleted file mode 100644
index 7d5b7fa0830..00000000000
--- a/Docs/Flags/france.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: france.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000808080808080808080bf7f7f7f7f7f7f7f7f7f7c6c6c6
-c6c6c6c6c6c6c6000000000000000000000003f7f7f7f7f7f7f7f7f7f700
-0000000000000000000000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7
-f70000000000000000000000000808080808080808080bf7f7f7f7f7f7f7
-f7f7f7c6c6c6c6c6c6c6c6c6c6000000000000000000000003f7f7f7f7f7
-f7f7f7f7f7000000000000000000000000b5b5b5b5b5b5b5b5b5b6f7f7f7
-f7f7f7f7f7f7f70000000000000000000000000808080808080808080bf7
-f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6c60000000000000000000000
-03f7f7f7f7f7f7f7f7f7f7000000000000000000000000b5b5b5b5b5b5b5
-b5b5b6f7f7f7f7f7f7f7f7f7f70000000000000000000000000808080808
-080808080bf7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6c60000000000
-00000000000003f7f7f7f7f7f7f7f7f7f7000000000000000000000000b5
-b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f70000000000000000000000
-000808080808080808080bf7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6
-c6000000000000000000000003f7f7f7f7f7f7f7f7f7f700000000000000
-0000000000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f70000000000
-000000000000000808080808080808080bf7f7f7f7f7f7f7f7f7f7c6c6c6
-c6c6c6c6c6c6c6000000000000000000000003f7f7f7f7f7f7f7f7f7f700
-0000000000000000000000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7
-f70000000000000000000000000808080808080808080bf7f7f7f7f7f7f7
-f7f7f7c6c6c6c6c6c6c6c6c6c6000000000000000000000003f7f7f7f7f7
-f7f7f7f7f7000000000000000000000000b5b5b5b5b5b5b5b5b5b6f7f7f7
-f7f7f7f7f7f7f70000000000000000000000000808080808080808080bf7
-f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6c60000000000000000000000
-03f7f7f7f7f7f7f7f7f7f7000000000000000000000000b5b5b5b5b5b5b5
-b5b5b6f7f7f7f7f7f7f7f7f7f70000000000000000000000000808080808
-080808080bf7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6c60000000000
-00000000000003f7f7f7f7f7f7f7f7f7f7000000000000000000000000b5
-b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f70000000000000000000000
-000808080808080808080bf7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6
-c6000000000000000000000003f7f7f7f7f7f7f7f7f7f700000000000000
-0000000000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f70000000000
-000000000000000808080808080808080bf7f7f7f7f7f7f7f7f7f7c6c6c6
-c6c6c6c6c6c6c6000000000000000000000003f7f7f7f7f7f7f7f7f7f700
-0000000000000000000000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7
-f70000000000000000000000000808080808080808080bf7f7f7f7f7f7f7
-f7f7f7c6c6c6c6c6c6c6c6c6c6000000000000000000000003f7f7f7f7f7
-f7f7f7f7f7000000000000000000000000b5b5b5b5b5b5b5b5b5b6f7f7f7
-f7f7f7f7f7f7f70000000000000000000000000808080808080808080bf7
-f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6c60000000000000000000000
-03f7f7f7f7f7f7f7f7f7f7000000000000000000000000b5b5b5b5b5b5b5
-b5b5b6f7f7f7f7f7f7f7f7f7f70000000000000000000000000808080808
-080808080bf7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6c60000000000
-00000000000003f7f7f7f7f7f7f7f7f7f7000000000000000000000000b5
-b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f70000000000000000000000
-000808080808080808080bf7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6
-c6000000000000000000000003f7f7f7f7f7f7f7f7f7f700000000000000
-0000000000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f70000000000
-000000000000000808080808080808080bf7f7f7f7f7f7f7f7f7f7c6c6c6
-c6c6c6c6c6c6c6000000000000000000000003f7f7f7f7f7f7f7f7f7f700
-0000000000000000000000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7
-f70000000000000000000000000808080808080808080bf7f7f7f7f7f7f7
-f7f7f7c6c6c6c6c6c6c6c6c6c6000000000000000000000003f7f7f7f7f7
-f7f7f7f7f7000000000000000000000000b5b5b5b5b5b5b5b5b5b6f7f7f7
-f7f7f7f7f7f7f70000000000000000000000000808080808080808080bf7
-f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6c60000000000000000000000
-03f7f7f7f7f7f7f7f7f7f7000000000000000000000000b5b5b5b5b5b5b5
-b5b5b6f7f7f7f7f7f7f7f7f7f70000000000000000000000000808080808
-080808080bf7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6c60000000000
-00000000000003f7f7f7f7f7f7f7f7f7f7000000000000000000000000b5
-b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f70000000000000000000000
-000808080808080808080bf7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6
-c6000000000000000000000003f7f7f7f7f7f7f7f7f7f700000000000000
-0000000000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f70000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/france.gif b/Docs/Flags/france.gif
deleted file mode 100644
index f44b729895a..00000000000
--- a/Docs/Flags/france.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/france.pdf b/Docs/Flags/france.pdf
deleted file mode 100644
index 036e96eadef..00000000000
--- a/Docs/Flags/france.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/france.txt b/Docs/Flags/france.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/france.txt
+++ /dev/null
diff --git a/Docs/Flags/germany.eps b/Docs/Flags/germany.eps
deleted file mode 100644
index e06e98b1883..00000000000
--- a/Docs/Flags/germany.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: germany.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000004040404040404040404040404040404040
-404040404040404040404040400000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000ececececec
-ececececececececececececececececececececececececec00008e8e8e
-8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e000000
-000000000000000000000000000000000000000000000000000000000000
-00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ff0000d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
-d6d6d6000000000000000000000000000000000000000000000000000000
-00000000000000ffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffff0000d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
-d6d6d6d6d6d6d6d6d6000000000000000000000000000000000000000000
-00000000000000000000000000ffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffff0000d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
-d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6000000000000000000000000000000
-00000000000000000000000000000000000000ffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffff0000d6d6d6d6d6d6d6d6d6
-d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6000000000000000000
-00000000000000000000000000000000000000000000000000ffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffff0000d6d6d6
-d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6000000
-000000000000000000000000000000000000000000000000000000000000
-00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ff0000d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
-d6d6d6000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/germany.gif b/Docs/Flags/germany.gif
deleted file mode 100644
index aedbb037a32..00000000000
--- a/Docs/Flags/germany.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/germany.pdf b/Docs/Flags/germany.pdf
deleted file mode 100644
index 01df1c4cb3a..00000000000
--- a/Docs/Flags/germany.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/germany.txt b/Docs/Flags/germany.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/germany.txt
+++ /dev/null
diff --git a/Docs/Flags/great-britain.eps b/Docs/Flags/great-britain.eps
deleted file mode 100644
index 19464e1e3b7..00000000000
--- a/Docs/Flags/great-britain.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: great-britain.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000cfd95608080808080808080808e4c6c6e4080808080808
-0808080856d9cf00002db25000000000000000000000a00000a000000000
-00000000000050b22d00002ec2cab5b5b5b5b5b5b5b5b5b5a30000a3b5b5
-b5b5b5b5b5b5b5b5cac22e0000cbc7dea41b0808080808080808e4c6c6e4
-08080808080808081ba4dec7cb00001b057a9d130000000000000000a000
-00a00000000000000000139d7a051b00001b057bdbbab5b5b5b5b5b5b5b5
-a30000a3b5b5b5b5b5b5b5b5badb7b051b0000eed9c6cfd9560808080808
-0808e4c6c6e40808080808080856d9cfc6d9ee0000e25e002db250000000
-00000000a00000a00000000000000050b22d005ee20000e65f012ec2cab5
-b5b5b5b5b5b5a30000a3b5b5b5b5b5b5b5cac22e005fe6000031c6e9cbc7
-dea41b0808080808e4c6c6e408080808081ba4dec7cbe9c63100002ac5b0
-1b057a9d130000000000a00000a00000000000139d7a051bb0c52a0000c0
-e9b11b057adbbab5b5b5b5b5a30000a3b5b5b5b5b5badb7a051bb1eac000
-00080c7aeed9c6cfd95608080808e4c6c6e40808080856d9cfc6d9ee7a0c
-080000000476e25e002db15000000000a00000a00000000050b12d005ee2
-7604000000b5b6d4e65f012dc1cab5b5b5b5a30000a3b5b5b5b5cac12d00
-5fe6d5b6b5000008080831c6e9ccc7dea41b0808e4c6c6e408081ba4dec7
-cce9c63108080800000000002ac5b01c05799d130000a00000a00000139d
-79051cb0c52a0000000000b5b5b5c0e9b11c0579dbbab5b5a30000a3b5b5
-badb79051cb1eac0b5b5b50000080808080c7aeed9c6cfd95608e4c6c6e4
-0856d9cfc6d9ee7a0c080808080000000000000476e25f012db15000a000
-00a00050b12d005fe27604000000000000b5b5b5b5b6d4e760012dc1cab5
-a30000a3b5cac12d0160e7d5b6b5b5b5b5000008080808080831c6e9ccc7
-dea4e5c6c6e5a4dec7cce9c63108080808080800000000000000002ac5b1
-1c05799da10000a19d79051cb1c52a0000000000000000b5b5b5b5b5b5c0
-e9b21c0579dba30000a3db79051cb1eac0b5b5b5b5b5b50000e4e4e4e4e4
-e4e4e5e7e7e6e6e7dcc6c6dce7e6e6e7e7e5e4e4e4e4e4e4e40000a0a0a0
-a0a0a0a0a1a3a2a0a0a26c00006ca2a0a0a2a3a1a0a0a0a0a0a0a00000a3
-a3a3a3a3a3a3a3a4a3a1a1a36d00006da3a1a1a3a4a3a3a3a3a3a3a3a300
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000e4e4e4e4e4e4e4e5e7e7e6e6e7dcc6c6dc
-e7e6e6e7e7e5e4e4e4e4e4e4e40000a0a0a0a0a0a0a0a1a3a2a0a0a26c00
-006ca2a0a0a2a3a1a0a0a0a0a0a0a00000a3a3a3a3a3a3a3a3a4a3a1a1a3
-6d00006da3a1a1a3a4a3a3a3a3a3a3a3a3000008080808080831c6e9ccc7
-dea4e5c6c6e5a4dec7cce9c63108080808080800000000000000002ac4b1
-1c05799da10000a19d79051cb1c52a0000000000000000b5b5b5b5b5b5c0
-e9b21c0579dba30000a3db79051cb2eac0b5b5b5b5b5b50000080808080c
-7aeed9c6cfd95608e4c6c6e40856d9cfc6d9ee7a0c080808080000000000
-000476e260012db15000a00000a00050b12d0060e27604000000000000b5
-b5b5b5b6d4e760012dc1cbb5a30000a3b5cac12d0160e7d5b6b5b5b5b500
-0008080831c6e9ccc7dea41b0808e4c6c6e408081ba4dec7cce9c6310808
-0800000000002ac4b11c05799d140000a00000a00000139d79051cb1c52a
-0000000000b5b5b5c0e9b11c0579dbbab5b5a30000a3b5b5badb79051cb1
-eac0b5b5b50000080c7aeed9c6cfd95608080808e4c6c6e40808080856d9
-cfc6d9ee7a0c080000000476e25f002db15000000000a00000a000000000
-50b12d005ee17604000000b5b6d4e65f012dc1cbb5b5b5b5a30000a3b5b5
-b5b5cac12d005fe6d5b6b5000031c6e9cbc7dea41b0808080808e4c6c6e4
-08080808081ba4dec7cbe9c63100002ac4b01b057a9d140000000000a000
-00a00000000000139d7a051bb0c52a0000c0e9b11b057adbbab5b5b5b5b5
-a30000a3b5b5b5b5b5badb7a051bb1eac00000eed9c6cfd9560808080808
-0808e4c6c6e40808080808080856d9cfc6d9ee0000e25f002db250000000
-00000000a00000a00000000000000050b22d005ee10000e65f012dc2cbb5
-b5b5b5b5b5b5a30000a3b5b5b5b5b5b5b5cac22e005fe60000cbc7dea41b
-0808080808080808e4c6c6e408080808080808081ba4dec7cb00001b057a
-9d140000000000000000a00000a00000000000000000139d7a051b00001b
-057adbbab5b5b5b5b5b5b5b5a30000a3b5b5b5b5b5b5b5b5badb7b051b00
-00cfd95608080808080808080808e4c6c6e40808080808080808080856d9
-cf00002db25000000000000000000000a00000a000000000000000000000
-50b22d00002dc2cbb5b5b5b5b5b5b5b5b5b5a30000a3b5b5b5b5b5b5b5b5
-b5b5cac22e00000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/great-britain.gif b/Docs/Flags/great-britain.gif
deleted file mode 100644
index ae92b536ad3..00000000000
--- a/Docs/Flags/great-britain.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/great-britain.pdf b/Docs/Flags/great-britain.pdf
deleted file mode 100644
index f29dfd48861..00000000000
--- a/Docs/Flags/great-britain.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/great-britain.txt b/Docs/Flags/great-britain.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/great-britain.txt
+++ /dev/null
diff --git a/Docs/Flags/greece.eps b/Docs/Flags/greece.eps
deleted file mode 100644
index f59baa86106..00000000000
--- a/Docs/Flags/greece.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: greece.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000001818181893f7ac18181818181818181818181818181818
-181818181818180000b5b5b5b5d9f7e1b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b50000efefefeff3f7f4efefefefefefefefefefefef
-efefefefefefefefefefef00001818181893f7ac18181818181818181818
-181818181818181818181818180000b5b5b5b5d9f7e1b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000efefefeff3f7f4efefefefefef
-efefefefefefefefefefefefefefefefef00001818181893f7ac18181818
-b1c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c50000b5b5b5b5d9f7e1b5b5
-b5b5e2e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e80000efefefeff3f7f4
-efefefeff4f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f500001818181893
-f7ac18181818def7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000b5b5b5
-b5d9f7e1b5b5b5b5f0f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000ef
-efefeff3f7f4efefefeff6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-0093939393caf7d5939393937a7979797979797979797979797979797979
-790000d9d9d9d9e9f7edd9d9d9d9d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2
-d2d2d20000f3f3f3f3f5f7f6f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3
-f3f3f3f3f30000f7f7f7f7f7f7f7f7f7f7f72e1818181818181818181818
-181818181818180000f7f7f7f7f7f7f7f7f7f7f7bcb5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b50000f7f7f7f7f7f7f7f7f7f7f7f0efefefefefefef
-efefefefefefefefefefef0000acacacacd5f7deacacacac686161616161
-616161616161616161616161610000e1e1e1e1edf7f0e1e1e1e1cccacaca
-cacacacacacacacacacacacacacaca0000f4f4f4f4f6f7f6f4f4f4f4f2f2
-f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f200001818181893f7ac18181818
-def7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000b5b5b5b5d9f7e1b5b5
-b5b5f0f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000efefefeff3f7f4
-efefefeff6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700001818181893
-f7ac18181818c8dededededededededededededededededede0000b5b5b5
-b5d9f7e1b5b5b5b5e9f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f00000ef
-efefeff3f7f4efefefeff5f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f600
-001818181893f7ac18181818181818181818181818181818181818181818
-180000b5b5b5b5d9f7e1b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b50000efefefeff3f7f4efefefefefefefefefefefefefefefefefef
-efefefefef00001818181893f7ac18181818181818181818181818181818
-181818181818180000b5b5b5b5d9f7e1b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b50000efefefeff3f7f4efefefefefefefefefefefef
-efefefefefefefefefefef0000dedededeecf7efdededededededededede
-dedededededededededededede0000f0f0f0f0f4f7f5f0f0f0f0f0f0f0f0
-f0f0f0f0f0f0f0f0f0f0f0f0f0f0f00000f6f6f6f6f7f7f7f6f6f6f6f6f6
-f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f60000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700006161616161
-616161616161616161616161616161616161616161616161610000cacaca
-cacacacacacacacacacacacacacacacacacacacacacacacacacaca0000f2
-f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f200
-001818181818181818181818181818181818181818181818181818181818
-180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b50000efefefefefefefefefefefefefefefefefefefefefefefefef
-efefefefef00007979797979797979797979797979797979797979797979
-797979797979790000d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2
-d2d2d2d2d2d2d2d2d20000f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3
-f3f3f3f3f3f3f3f3f3f3f30000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000c5c5c5c5c5c5c5c5c5c5c5
-c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c50000e8e8e8e8e8e8e8e8e8
-e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e80000f5f5f5f5f5f5f5
-f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f500001818181818
-181818181818181818181818181818181818181818181818180000b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000ef
-efefefefefefefefefefefefefefefefefefefefefefefefefefefefef00
-001818181818181818181818181818181818181818181818181818181818
-180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b50000efefefefefefefefefefefefefefefefefefefefefefefefef
-efefefefef00000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/greece.gif b/Docs/Flags/greece.gif
deleted file mode 100644
index 264b295b374..00000000000
--- a/Docs/Flags/greece.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/greece.pdf b/Docs/Flags/greece.pdf
deleted file mode 100644
index d54d8b3e153..00000000000
--- a/Docs/Flags/greece.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/greece.txt b/Docs/Flags/greece.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/greece.txt
+++ /dev/null
diff --git a/Docs/Flags/hungary.eps b/Docs/Flags/hungary.eps
deleted file mode 100644
index 38d9cae079f..00000000000
--- a/Docs/Flags/hungary.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: hungary.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
-d6d6d6d6d6d6d6d6d6d6d6d6d60000505050505050505050505050505050
-505050505050505050505050505050000050505050505050505050505050
-50505050505050505050505050505050500000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700005353535353
-535353535353535353535353535353535353535353535353530000cbcbcb
-cbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb000053
-535353535353535353535353535353535353535353535353535353535300
-000000000000000000000000000000000000000000000000000000000000
-000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/hungary.gif b/Docs/Flags/hungary.gif
deleted file mode 100644
index eb14887b5bb..00000000000
--- a/Docs/Flags/hungary.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/hungary.pdf b/Docs/Flags/hungary.pdf
deleted file mode 100644
index 51ba552f2ba..00000000000
--- a/Docs/Flags/hungary.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/hungary.txt b/Docs/Flags/hungary.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/hungary.txt
+++ /dev/null
diff --git a/Docs/Flags/iceland.eps b/Docs/Flags/iceland.eps
deleted file mode 100644
index 8a1bc21f4c8..00000000000
--- a/Docs/Flags/iceland.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: iceland.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000808080808080808efc6c6ec0808080808080808080808
-0808080808080800000000000000000000cf0000cb000000000000000000
-0000000000000000000000b5b5b5b5b5b5b5b5cf0000ceb5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b500000808080808080808efc6c6ec0808080808
-0808080808080808080808080800000000000000000000cf0000cb000000
-0000000000000000000000000000000000b5b5b5b5b5b5b5b5cf0000ceb5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808080808efc6c6
-ec08080808080808080808080808080808080800000000000000000000cf
-0000cb0000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b5cf0000ceb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808
-080808efc6c6ec0808080808080808080808080808080808080000000000
-0000000000cf0000cb0000000000000000000000000000000000000000b5
-b5b5b5b5b5b5b5cf0000ceb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-000808080808080808efc6c6ec0808080808080808080808080808080808
-0800000000000000000000cf0000cb000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5b5cf0000ceb5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000808080808080808efc6c6ec0808080808080808080808
-0808080808080800000000000000000000cf0000cb000000000000000000
-0000000000000000000000b5b5b5b5b5b5b5b5cf0000ceb5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b500000808080808080808efc6c6ec0808080808
-0808080808080808080808080800000000000000000000cf0000cb000000
-0000000000000000000000000000000000b5b5b5b5b5b5b5b5cf0000ceb5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808080808efc6c6
-ec08080808080808080808080808080808080800000000000000000000cf
-0000cb0000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b5cf0000ceb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000ececececec
-ececece9c6c6e8ecececececececececececececececececec0000cbcbcb
-cbcbcbcbcbad0000adcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb0000ce
-cececececececeae0000adcececececececececececececececececece00
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000efefefefefefefefe9c6c6e8efefefefef
-efefefefefefefefefefefefef0000cfcfcfcfcfcfcfcfad0000adcfcfcf
-cfcfcfcfcfcfcfcfcfcfcfcfcfcfcf0000cfcfcfcfcfcfcfcfae0000adcf
-cfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcf00000808080808080808efc6c6
-ec08080808080808080808080808080808080800000000000000000000cf
-0000cb0000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b5cf0000ceb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808
-080808efc6c6ec0808080808080808080808080808080808080000000000
-0000000000cf0000cb0000000000000000000000000000000000000000b5
-b5b5b5b5b5b5b5cf0000ceb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-000808080808080808efc6c6ec0808080808080808080808080808080808
-0800000000000000000000cf0000cb000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5b5cf0000ceb5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000808080808080808efc6c6ec0808080808080808080808
-0808080808080800000000000000000000cf0000cb000000000000000000
-0000000000000000000000b5b5b5b5b5b5b5b5cf0000ceb5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b500000808080808080808efc6c6ec0808080808
-0808080808080808080808080800000000000000000000cf0000cb000000
-0000000000000000000000000000000000b5b5b5b5b5b5b5b5cf0000ceb5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808080808efc6c6
-ec08080808080808080808080808080808080800000000000000000000cf
-0000cb0000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b5cf0000ceb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808
-080808efc6c6ec0808080808080808080808080808080808080000000000
-0000000000cf0000cb0000000000000000000000000000000000000000b5
-b5b5b5b5b5b5b5cf0000ceb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-000808080808080808efc6c6ec0808080808080808080808080808080808
-0800000000000000000000cf0000cb000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5b5cf0000ceb5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/iceland.gif b/Docs/Flags/iceland.gif
deleted file mode 100644
index 4fe0c0b8124..00000000000
--- a/Docs/Flags/iceland.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/iceland.pdf b/Docs/Flags/iceland.pdf
deleted file mode 100644
index 3509de59ba8..00000000000
--- a/Docs/Flags/iceland.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/iceland.txt b/Docs/Flags/iceland.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/iceland.txt
+++ /dev/null
diff --git a/Docs/Flags/indonesia.eps b/Docs/Flags/indonesia.eps
deleted file mode 100644
index 9dcef0824df..00000000000
--- a/Docs/Flags/indonesia.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: indonesia.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4
-f4f4f4f4f4f4f4f4f40000f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4
-f4f4f4f4f4f4f4f4f4f4f40000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f700000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/indonesia.gif b/Docs/Flags/indonesia.gif
deleted file mode 100644
index e05af4c8ff4..00000000000
--- a/Docs/Flags/indonesia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/indonesia.pdf b/Docs/Flags/indonesia.pdf
deleted file mode 100644
index 48bd801fa15..00000000000
--- a/Docs/Flags/indonesia.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/indonesia.txt b/Docs/Flags/indonesia.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/indonesia.txt
+++ /dev/null
diff --git a/Docs/Flags/ireland.eps b/Docs/Flags/ireland.eps
deleted file mode 100644
index 01251367922..00000000000
--- a/Docs/Flags/ireland.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: ireland.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000003f7f7f7f7f7f7f7f7f7f7ffffff
-ffffffffffffff0000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f7d6
-d6d6d6d6d6d6d6d6d6000000000000000000000003f7f7f7f7f7f7f7f7f7
-f700000000000000000000000000000000000000000003f7f7f7f7f7f7f7
-f7f7f7ffffffffffffffffffff0000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7
-f7f7f7f7f7d6d6d6d6d6d6d6d6d6d6000000000000000000000003f7f7f7
-f7f7f7f7f7f7f700000000000000000000000000000000000000000003f7
-f7f7f7f7f7f7f7f7f7ffffffffffffffffffff0000b5b5b5b5b5b5b5b5b5
-b6f7f7f7f7f7f7f7f7f7f7d6d6d6d6d6d6d6d6d6d6000000000000000000
-000003f7f7f7f7f7f7f7f7f7f70000000000000000000000000000000000
-0000000003f7f7f7f7f7f7f7f7f7f7ffffffffffffffffffff0000b5b5b5
-b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f7d6d6d6d6d6d6d6d6d6d6000000
-000000000000000003f7f7f7f7f7f7f7f7f7f70000000000000000000000
-0000000000000000000003f7f7f7f7f7f7f7f7f7f7ffffffffffffffffff
-ff0000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f7d6d6d6d6d6d6d6
-d6d6d6000000000000000000000003f7f7f7f7f7f7f7f7f7f70000000000
-0000000000000000000000000000000003f7f7f7f7f7f7f7f7f7f7ffffff
-ffffffffffffff0000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f7d6
-d6d6d6d6d6d6d6d6d6000000000000000000000003f7f7f7f7f7f7f7f7f7
-f700000000000000000000000000000000000000000003f7f7f7f7f7f7f7
-f7f7f7ffffffffffffffffffff0000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7
-f7f7f7f7f7d6d6d6d6d6d6d6d6d6d6000000000000000000000003f7f7f7
-f7f7f7f7f7f7f700000000000000000000000000000000000000000003f7
-f7f7f7f7f7f7f7f7f7ffffffffffffffffffff0000b5b5b5b5b5b5b5b5b5
-b6f7f7f7f7f7f7f7f7f7f7d6d6d6d6d6d6d6d6d6d6000000000000000000
-000003f7f7f7f7f7f7f7f7f7f70000000000000000000000000000000000
-0000000003f7f7f7f7f7f7f7f7f7f7ffffffffffffffffffff0000b5b5b5
-b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f7d6d6d6d6d6d6d6d6d6d6000000
-000000000000000003f7f7f7f7f7f7f7f7f7f70000000000000000000000
-0000000000000000000003f7f7f7f7f7f7f7f7f7f7ffffffffffffffffff
-ff0000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f7d6d6d6d6d6d6d6
-d6d6d6000000000000000000000003f7f7f7f7f7f7f7f7f7f70000000000
-0000000000000000000000000000000003f7f7f7f7f7f7f7f7f7f7ffffff
-ffffffffffffff0000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f7d6
-d6d6d6d6d6d6d6d6d6000000000000000000000003f7f7f7f7f7f7f7f7f7
-f700000000000000000000000000000000000000000003f7f7f7f7f7f7f7
-f7f7f7ffffffffffffffffffff0000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7
-f7f7f7f7f7d6d6d6d6d6d6d6d6d6d6000000000000000000000003f7f7f7
-f7f7f7f7f7f7f700000000000000000000000000000000000000000003f7
-f7f7f7f7f7f7f7f7f7ffffffffffffffffffff0000b5b5b5b5b5b5b5b5b5
-b6f7f7f7f7f7f7f7f7f7f7d6d6d6d6d6d6d6d6d6d6000000000000000000
-000003f7f7f7f7f7f7f7f7f7f70000000000000000000000000000000000
-0000000003f7f7f7f7f7f7f7f7f7f7ffffffffffffffffffff0000b5b5b5
-b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f7d6d6d6d6d6d6d6d6d6d6000000
-000000000000000003f7f7f7f7f7f7f7f7f7f70000000000000000000000
-0000000000000000000003f7f7f7f7f7f7f7f7f7f7ffffffffffffffffff
-ff0000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f7d6d6d6d6d6d6d6
-d6d6d6000000000000000000000003f7f7f7f7f7f7f7f7f7f70000000000
-0000000000000000000000000000000003f7f7f7f7f7f7f7f7f7f7ffffff
-ffffffffffffff0000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f7d6
-d6d6d6d6d6d6d6d6d6000000000000000000000003f7f7f7f7f7f7f7f7f7
-f700000000000000000000000000000000000000000003f7f7f7f7f7f7f7
-f7f7f7ffffffffffffffffffff0000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7
-f7f7f7f7f7d6d6d6d6d6d6d6d6d6d6000000000000000000000003f7f7f7
-f7f7f7f7f7f7f700000000000000000000000000000000000000000003f7
-f7f7f7f7f7f7f7f7f7ffffffffffffffffffff0000b5b5b5b5b5b5b5b5b5
-b6f7f7f7f7f7f7f7f7f7f7d6d6d6d6d6d6d6d6d6d6000000000000000000
-000003f7f7f7f7f7f7f7f7f7f70000000000000000000000000000000000
-0000000003f7f7f7f7f7f7f7f7f7f7ffffffffffffffffffff0000b5b5b5
-b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f7d6d6d6d6d6d6d6d6d6d6000000
-000000000000000003f7f7f7f7f7f7f7f7f7f70000000000000000000000
-0000000000000000000003f7f7f7f7f7f7f7f7f7f7ffffffffffffffffff
-ff0000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f7d6d6d6d6d6d6d6
-d6d6d6000000000000000000000003f7f7f7f7f7f7f7f7f7f70000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/ireland.gif b/Docs/Flags/ireland.gif
deleted file mode 100644
index 631be2f33b9..00000000000
--- a/Docs/Flags/ireland.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/ireland.pdf b/Docs/Flags/ireland.pdf
deleted file mode 100644
index 5f84f52f049..00000000000
--- a/Docs/Flags/ireland.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/ireland.txt b/Docs/Flags/ireland.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/ireland.txt
+++ /dev/null
diff --git a/Docs/Flags/israel.eps b/Docs/Flags/israel.eps
deleted file mode 100644
index 3d3059a907a..00000000000
--- a/Docs/Flags/israel.eps
+++ /dev/null
@@ -1,87 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: noname.ps
-%%Pages: 1
-%%BoundingBox: 291 371 320 391
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 30 string def
-/gpicstr 30 string def
-/bpicstr 30 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-291.6 371.4 translate
-28.8 19.2 scale
-30 20 8
-[ 30 0 0 -20 0 20 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0
-f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4
-181818181818181818181818181818181818181818181818181818181818
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-efefefefefefefefefefefefefefefefefefefefefefefefefefefefefef
-181818181818181818181818181818181818181818181818181818181818
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-efefefefefefefefefefefefefefefefefefefefefefefefefefefefefef
-d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4
-edededededededededededededededededededededededededededededed
-f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7a5bef7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7dfe6f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f4f5f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f2ede4807aebedf3f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f5f4f1d4d2f3f4f6f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f3f3f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7c65e5296915755daf7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7e9cac6dbd9c8c7eef7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f5f2f1f4f4f2f1f6f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7809af7f78a90f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7d4dcf7f7d7d9f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f3f4f7f7f3f3f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f77d94f7f7868bf7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7d3daf7f7d6d7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f3f3f7f7f3f3f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7c15e508a835755d6f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7e7cac6d7d5c8c7edf7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f5f1f1f3f3f1f1f6f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f0837ef6f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f5d5d3f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f3f3f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7afc7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7e2e9f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f4f5f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2
-e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7
-f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5
-181818181818181818181818181818181818181818181818181818181818
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-efefefefefefefefefefefefefefefefefefefefefefefefefefefefefef
-181818181818181818181818181818181818181818181818181818181818
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-efefefefefefefefefefefefefefefefefefefefefefefefefefefefefef
-bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbc
-e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5
-f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/israel.gif b/Docs/Flags/israel.gif
deleted file mode 100644
index f7cc613e27d..00000000000
--- a/Docs/Flags/israel.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/israel.txt b/Docs/Flags/israel.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/israel.txt
+++ /dev/null
diff --git a/Docs/Flags/italy.eps b/Docs/Flags/italy.eps
deleted file mode 100644
index 7de3ddd9c1f..00000000000
--- a/Docs/Flags/italy.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: italy.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000003f7f7f7f7f7f7f7f7f7f7c6c6c6
-c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f700
-000000000000000000000000000000000000000003f7f7f7f7f7f7f7f7f7
-f700000000000000000000000000000000000000000003f7f7f7f7f7f7f7
-f7f7f7c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7
-f7f7f7f7f700000000000000000000000000000000000000000003f7f7f7
-f7f7f7f7f7f7f700000000000000000000000000000000000000000003f7
-f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5
-b6f7f7f7f7f7f7f7f7f7f700000000000000000000000000000000000000
-000003f7f7f7f7f7f7f7f7f7f70000000000000000000000000000000000
-0000000003f7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6c60000b5b5b5
-b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f700000000000000000000000000
-000000000000000003f7f7f7f7f7f7f7f7f7f70000000000000000000000
-0000000000000000000003f7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6
-c60000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f700000000000000
-000000000000000000000000000003f7f7f7f7f7f7f7f7f7f70000000000
-0000000000000000000000000000000003f7f7f7f7f7f7f7f7f7f7c6c6c6
-c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f700
-000000000000000000000000000000000000000003f7f7f7f7f7f7f7f7f7
-f700000000000000000000000000000000000000000003f7f7f7f7f7f7f7
-f7f7f7c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7
-f7f7f7f7f700000000000000000000000000000000000000000003f7f7f7
-f7f7f7f7f7f7f700000000000000000000000000000000000000000003f7
-f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5
-b6f7f7f7f7f7f7f7f7f7f700000000000000000000000000000000000000
-000003f7f7f7f7f7f7f7f7f7f70000000000000000000000000000000000
-0000000003f7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6c60000b5b5b5
-b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f700000000000000000000000000
-000000000000000003f7f7f7f7f7f7f7f7f7f70000000000000000000000
-0000000000000000000003f7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6
-c60000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f700000000000000
-000000000000000000000000000003f7f7f7f7f7f7f7f7f7f70000000000
-0000000000000000000000000000000003f7f7f7f7f7f7f7f7f7f7c6c6c6
-c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f700
-000000000000000000000000000000000000000003f7f7f7f7f7f7f7f7f7
-f700000000000000000000000000000000000000000003f7f7f7f7f7f7f7
-f7f7f7c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7
-f7f7f7f7f700000000000000000000000000000000000000000003f7f7f7
-f7f7f7f7f7f7f700000000000000000000000000000000000000000003f7
-f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5
-b6f7f7f7f7f7f7f7f7f7f700000000000000000000000000000000000000
-000003f7f7f7f7f7f7f7f7f7f70000000000000000000000000000000000
-0000000003f7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6c60000b5b5b5
-b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f700000000000000000000000000
-000000000000000003f7f7f7f7f7f7f7f7f7f70000000000000000000000
-0000000000000000000003f7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6
-c60000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f700000000000000
-000000000000000000000000000003f7f7f7f7f7f7f7f7f7f70000000000
-0000000000000000000000000000000003f7f7f7f7f7f7f7f7f7f7c6c6c6
-c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f700
-000000000000000000000000000000000000000003f7f7f7f7f7f7f7f7f7
-f700000000000000000000000000000000000000000003f7f7f7f7f7f7f7
-f7f7f7c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7
-f7f7f7f7f700000000000000000000000000000000000000000003f7f7f7
-f7f7f7f7f7f7f700000000000000000000000000000000000000000003f7
-f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5
-b6f7f7f7f7f7f7f7f7f7f700000000000000000000000000000000000000
-000003f7f7f7f7f7f7f7f7f7f70000000000000000000000000000000000
-0000000003f7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6c60000b5b5b5
-b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f700000000000000000000000000
-000000000000000003f7f7f7f7f7f7f7f7f7f70000000000000000000000
-0000000000000000000003f7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c6
-c60000b5b5b5b5b5b5b5b5b5b6f7f7f7f7f7f7f7f7f7f700000000000000
-000000000000000000000000000003f7f7f7f7f7f7f7f7f7f70000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/italy.gif b/Docs/Flags/italy.gif
deleted file mode 100644
index d59cf5ef55e..00000000000
--- a/Docs/Flags/italy.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/italy.pdf b/Docs/Flags/italy.pdf
deleted file mode 100644
index 02c7d316a05..00000000000
--- a/Docs/Flags/italy.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/italy.txt b/Docs/Flags/italy.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/italy.txt
+++ /dev/null
diff --git a/Docs/Flags/japan.eps b/Docs/Flags/japan.eps
deleted file mode 100644
index c8ea7aa8afe..00000000000
--- a/Docs/Flags/japan.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: japan.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f7f7f7eedfd7d7dfeef7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f7f7f7ca7c57577ccaf7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f7f7f7ca7c57577ccaf7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f3d6c6c6c6c6c6c6d6f3f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7e45000000000000050e4f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7e45000000000000050e4f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f3cec6c6c6c6c6c6c6c6cef3f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7e427000000000000000027e4
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7e4270000000000000000
-27e4f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7d6c6c6c6c6c6c6c6
-c6c6c6d6f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7500000000000
-000000000050f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f750000000
-0000000000000050f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7eec6c6
-c6c6c6c6c6c6c6c6c6c6eef7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7ca
-000000000000000000000000caf7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7ca000000000000000000000000caf7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7dfc6c6c6c6c6c6c6c6c6c6c6c6dff7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f77c0000000000000000000000007cf7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f77c0000000000000000000000007cf7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7d7c6c6c6c6c6c6c6c6c6c6c6c6d7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f75700000000000000000000000057f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f75700000000000000000000000057f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7d7c6c6c6c6c6c6c6c6c6c6c6c6d7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f757000000000000000000000000
-57f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f75700000000000000000000
-000057f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7dfc6c6c6c6c6c6c6c6
-c6c6c6c6dff7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f77c000000000000
-0000000000007cf7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f77c00000000
-00000000000000007cf7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7eec6c6
-c6c6c6c6c6c6c6c6c6c6eef7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7c9
-000000000000000000000000caf7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7ca000000000000000000000000caf7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7d6c6c6c6c6c6c6c6c6c6c6d6f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7500000000000000000000050f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7500000000000000000000050f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f3cec6c6c6c6c6c6c6c6cef3f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7e427000000000000000027e4f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7e427000000000000000027e4f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f3d6c6c6c6c6c6c6d6f3f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7e45000000000000050e4f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7e45000000000000050
-e4f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7eedfd7d7df
-eef7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7c97c56
-567cc9f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7ca
-7c57577ccaf7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f700000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/japan.gif b/Docs/Flags/japan.gif
deleted file mode 100644
index 7d6a9adbd78..00000000000
--- a/Docs/Flags/japan.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/japan.pdf b/Docs/Flags/japan.pdf
deleted file mode 100644
index c98ff331611..00000000000
--- a/Docs/Flags/japan.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/japan.txt b/Docs/Flags/japan.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/japan.txt
+++ /dev/null
diff --git a/Docs/Flags/latvia.eps b/Docs/Flags/latvia.eps
deleted file mode 100644
index 606f7e70b3c..00000000000
--- a/Docs/Flags/latvia.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: latvia.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5
-a5a5a5a5a5a5a50000000000000000000000000000000000000000000000
-000000000000000000000010101010101010101010101010101010101010
-10101010101010101010100000a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5
-a5a5a5a5a5a5a5a5a5a5a5a5a50000000000000000000000000000000000
-000000000000000000000000000000000010101010101010101010101010
-10101010101010101010101010101010100000a5a5a5a5a5a5a5a5a5a5a5
-a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a50000000000000000000000
-000000000000000000000000000000000000000000000010101010101010
-10101010101010101010101010101010101010101010100000a5a5a5a5a5
-a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a50000000000
-000000000000000000000000000000000000000000000000000000000010
-101010101010101010101010101010101010101010101010101010101000
-00a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5
-a50000000000000000000000000000000000000000000000000000000000
-000000000010101010101010101010101010101010101010101010101010
-10101010100000a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5
-a5a5a5a5a5a5a50000000000000000000000000000000000000000000000
-000000000000000000000010101010101010101010101010101010101010
-10101010101010101010100000a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5
-a5a5a5a5a5a5a5a5a5a5a5a5a50000000000000000000000000000000000
-000000000000000000000000000000000010101010101010101010101010
-10101010101010101010101010101010100000a5a5a5a5a5a5a5a5a5a5a5
-a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a50000000000000000000000
-000000000000000000000000000000000000000000000010101010101010
-10101010101010101010101010101010101010101010100000dbdbdbdbdb
-dbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb0000a3a3a3
-a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a30000ab
-ababababababababababababababababababababababababababababab00
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000dcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdc
-dcdcdcdcdcdcdcdcdcdcdcdcdc0000a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3
-a3a3a3a3a3a3a3a3a3a3a3a3a3a3a30000ababababababababababababab
-ababababababababababababababababab0000a5a5a5a5a5a5a5a5a5a5a5
-a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a50000000000000000000000
-000000000000000000000000000000000000000000000010101010101010
-10101010101010101010101010101010101010101010100000a5a5a5a5a5
-a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a50000000000
-000000000000000000000000000000000000000000000000000000000010
-101010101010101010101010101010101010101010101010101010101000
-00a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5
-a50000000000000000000000000000000000000000000000000000000000
-000000000010101010101010101010101010101010101010101010101010
-10101010100000a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5
-a5a5a5a5a5a5a50000000000000000000000000000000000000000000000
-000000000000000000000010101010101010101010101010101010101010
-10101010101010101010100000a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5
-a5a5a5a5a5a5a5a5a5a5a5a5a50000000000000000000000000000000000
-000000000000000000000000000000000010101010101010101010101010
-10101010101010101010101010101010100000a5a5a5a5a5a5a5a5a5a5a5
-a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a50000000000000000000000
-000000000000000000000000000000000000000000000010101010101010
-10101010101010101010101010101010101010101010100000a5a5a5a5a5
-a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a50000000000
-000000000000000000000000000000000000000000000000000000000010
-101010101010101010101010101010101010101010101010101010101000
-00a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5
-a50000000000000000000000000000000000000000000000000000000000
-000000000010101010101010101010101010101010101010101010101010
-101010101000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/latvia.gif b/Docs/Flags/latvia.gif
deleted file mode 100644
index b8ba782b703..00000000000
--- a/Docs/Flags/latvia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/latvia.pdf b/Docs/Flags/latvia.pdf
deleted file mode 100644
index 1d06690e980..00000000000
--- a/Docs/Flags/latvia.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/latvia.txt b/Docs/Flags/latvia.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/latvia.txt
+++ /dev/null
diff --git a/Docs/Flags/mexico.eps b/Docs/Flags/mexico.eps
deleted file mode 100644
index c6f4f0a79de..00000000000
--- a/Docs/Flags/mexico.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: mexico.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000005ffffffffffffffffffffc6c6c6
-c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b7fffffffffffffffffffe00
-000000000000000000000000000000000000000005ffffffffffffffffff
-fe00000000000000000000000000000000000000000005ffffffffffffff
-ffffffc6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b7ffffffffff
-fffffffffe00000000000000000000000000000000000000000005ffffff
-fffffffffffffe00000000000000000000000000000000000000000005ff
-ffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5
-b7fffffffffffffffffffe00000000000000000000000000000000000000
-000005fffffffffffffffffffe0000000000000000000000000000000000
-0000000005ffffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000b5b5b5
-b5b5b5b5b5b5b7fffffffffffffffffffe00000000000000000000000000
-000000000000000005fffffffffffffffffffe0000000000000000000000
-0000000000000000000005ffffffffffffffffffffc6c6c6c6c6c6c6c6c6
-c60000b5b5b5b5b5b5b5b5b5b7fffffffffffffffffffe00000000000000
-000000000000000000000000000005fffffffffffffffffffe0000000000
-0000000000000000000000000000000005ffffffffffffffffffffc6c6c6
-c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b7fffffffffffffffffffe00
-000000000000000000000000000000000000000005ffffffffffffffffff
-fe00000000000000000000000000000000000000000005fffffffee0bbe1
-ffffffc6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b7fffffffed2
-95d3fffffe00000000000000000000000000000000000000000005ffffff
-fec876c7fffffe00000000000000000000000000000000000000000005ff
-ffc4ae7f8683cdffffc6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5
-b7ffffd790453e3daefffe00000000000000000000000000000000000000
-000005ffffbc6114010295fffe0000000000000000000000000000000000
-0000000005fffcd699827c838df6ffc6c6c6c6c6c6c6c6c6c60000b5b5b5
-b5b5b5b5b5b5b7fffbdca23f383c47f3fe00000000000000000000000000
-000000000000000005ffface770600000cf0fe0000000000000000000000
-0000000000000000000005f3e89eaa827eb98de6f5c6c6c6c6c6c6c6c6c6
-c60000b5b5b5b5b5b5b5b5b5b7f6eab996493b9a53def800000000000000
-000000000000000000000000000005f1e28f8319038123d2f30000000000
-0000000000000000000000000000000005cfcf77bab38a93bdbdd5c6c6c6
-c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b7dbcf97a18c5159a1cae200
-000000000000000000000000000000000000000005c3bc67796521298bab
-cd00000000000000000000000000000000000000000005fa8cbd7c4c6076
-c079fdc6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b7fbadcba194
-839bb6abfc00000000000000000000000000000000000000000005f978b8
-78542f63a668fb00000000000000000000000000000000000000000005ff
-e2829a795dbd8ee1ffc6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5
-b7ffe5a9bf5657c8b9e7fe00000000000000000000000000000000000000
-000005ffd86ecd2d20c780d9fe0000000000000000000000000000000000
-0000000005ffffe68b989f86f5ffffc6c6c6c6c6c6c6c6c6c60000b5b5b5
-b5b5b5b5b5b5b7ffffe8b4aba8b5f4fffe00000000000000000000000000
-000000000000000005ffffdd7d8a8c78f0fffe0000000000000000000000
-0000000000000000000005fffffffffefeffffffffc6c6c6c6c6c6c6c6c6
-c60000b5b5b5b5b5b5b5b5b5b7fffffffffefefffffffe00000000000000
-000000000000000000000000000005fffffffffefefffffffe0000000000
-0000000000000000000000000000000005ffffffffffffffffffffc6c6c6
-c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b7fffffffffffffffffffe00
-000000000000000000000000000000000000000005ffffffffffffffffff
-fe00000000000000000000000000000000000000000005ffffffffffffff
-ffffffc6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b7ffffffffff
-fffffffffe00000000000000000000000000000000000000000005ffffff
-fffffffffffffe00000000000000000000000000000000000000000005ff
-ffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5
-b7fffffffffffffffffffe00000000000000000000000000000000000000
-000005fffffffffffffffffffe0000000000000000000000000000000000
-0000000005ffffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000b5b5b5
-b5b5b5b5b5b5b7fffffffffffffffffffe00000000000000000000000000
-000000000000000005fffffffffffffffffffe0000000000000000000000
-0000000000000000000005ffffffffffffffffffffc6c6c6c6c6c6c6c6c6
-c60000b5b5b5b5b5b5b5b5b5b7fffffffffffffffffffe00000000000000
-000000000000000000000000000005fffffffffffffffffffe0000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/mexico.gif b/Docs/Flags/mexico.gif
deleted file mode 100644
index 206d1236ef1..00000000000
--- a/Docs/Flags/mexico.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/mexico.pdf b/Docs/Flags/mexico.pdf
deleted file mode 100644
index c983198d2b5..00000000000
--- a/Docs/Flags/mexico.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/mexico.txt b/Docs/Flags/mexico.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/mexico.txt
+++ /dev/null
diff --git a/Docs/Flags/netherlands.eps b/Docs/Flags/netherlands.eps
deleted file mode 100644
index 94795e98baa..00000000000
--- a/Docs/Flags/netherlands.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: netherlands.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6
-d6d6d6d6d6d6d6d6d6d6d6d6d60000505050505050505050505050505050
-505050505050505050505050505050000050505050505050505050505050
-50505050505050505050505050505050500000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700005959595959
-595959595959595959595959595959595959595959595959590000535353
-5353535353535353535353535353535353535353535353535353530000cb
-cbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb00
-000808080808080808080808080808080808080808080808080808080808
-080000000000000000000000000000000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000808080808080808080808080808080808080808080808
-080808080808080000000000000000000000000000000000000000000000
-0000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b500000808080808080808080808080808080808
-080808080808080808080808080000000000000000000000000000000000
-0000000000000000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808080808080808
-080808080808080808080808080808080808080000000000000000000000
-0000000000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808
-080808080808080808080808080808080808080808080808080000000000
-0000000000000000000000000000000000000000000000000000000000b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-000808080808080808080808080808080808080808080808080808080808
-080000000000000000000000000000000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/netherlands.gif b/Docs/Flags/netherlands.gif
deleted file mode 100644
index 2f236b58949..00000000000
--- a/Docs/Flags/netherlands.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/netherlands.pdf b/Docs/Flags/netherlands.pdf
deleted file mode 100644
index 098629aee10..00000000000
--- a/Docs/Flags/netherlands.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/netherlands.txt b/Docs/Flags/netherlands.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/netherlands.txt
+++ /dev/null
diff --git a/Docs/Flags/new-zealand.eps b/Docs/Flags/new-zealand.eps
deleted file mode 100644
index 9177154f8f7..00000000000
--- a/Docs/Flags/new-zealand.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: new-zealand.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000ce770d08080874c6770808080c77ce0808080808080808
-0808080808080800003e58050000004d005000000005583e000000000000
-000000000000000000000042b4b6b5b5b5aa00abb5b5b5b6b442b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b50000aed2b433080874c677080833b4d2ae0808
-0808080808080808080808080800008a3d5e2b00004d005000002b5e3d8a
-0000000000000000000000000000000000bb3d81bfb5b5aa00abb5b5bf81
-3dbbb5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000967d3ce770d74c6770c77
-ced36709080808080808083e230808080808080000015f733e58054d0050
-05583e735f0100000000000000341c0000000000000000b5cb7d42b4b6aa
-00abb6b4427dcbb5b5b5b5b5b5b5b5bfbcb5b5b5b5b5b50000080825aed2
-b49bc69db3d2ae25080808080808080a65a49a5a0808080808000000001e
-893d5e7400765d3d8a1e000000000000000253444c4d00000000000000b5
-b5bdbb3d81b300b4813dbbbdb5b5b5b5b5b5b5b6bf7285c3b5b5b5b5b500
-00d3d3d3d3d6d5d3c6d3d5d6d3d3d3d30808080808081ccfc01308080808
-0800004d4d4d4d4f4d4200424d4f4d4d4d4d00000000000015484a0b0000
-00000000004f4f4f4f4f4d4200424d4f4f4f4f4fb5b5b5b5b5b5ba4e5fb8
-b5b5b5b5b50000d6d6d6d6d6d6d3c6d3d6d6d6d6d6d60808080808082c59
-6b1808080808080000505050505050420042505050505050000000000000
-25475a1000000000000000505050505050420042505050505050b5b5b5b5
-b5b5bfbdc2b9b5b5b5b5b50000080825aed2b49bc69db4d2ae2508080808
-08080908080808080832080808000000001e8a3d5e7400775e3d8a1e0000
-00000000010000000000002c0000000000b5b5bdbb3d81b300b4813dbbbd
-b5b5b5b5b5b5b5b5b5b5b5b5b5c1b5b5b500000967d3ce770d74c6770c77
-ced36709080808086408080808183eb14528080000015f733e58054d0050
-05583e735f010000000058000000001138714021000000b5cb7d42b4b6aa
-00abb6b4427dcbb5b5b5b5b5c6b5b5b5b5b9c49bc6beb50000aed2b43308
-0874c677080833b4d2ae08083188c8821e08080a7ec8a6190800008a3d5e
-2b00004d005000002b5e3d8a00002b534b591700000252074912000000bb
-3d81bfb5b5aa00abb5b5bf813dbbb5b5c09f58abbbb5b5b6a70776bab500
-00ce770d08080874c6770808080c77ce08080882cd5f0808080861798a08
-0800003e58050000004d005000000005583e0000004b2649000000005249
-660000000042b4b6b5b5b5aa00abb5b5b5b6b442b5b5b59a26b9b5b5b5b5
-c2a1b3b5b50000080808080808080808080808080808080808622d540808
-080810081008080000000000000000000000000000000000000000552548
-0000000008000800000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5c4
-bec2b5b5b5b5b7b5b7b5b500000808080808080808080808080808080808
-080808080808080808080808080000000000000000000000000000000000
-0000000000000000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808080808080808
-080808080808080808080808080808080808080000000000000000000000
-0000000000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808
-080808080808080808080808080808080808080808080808080000000000
-0000000000000000000000000000000000000000000000000000000000b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-00080808080808080808080808080808080808080808081c080808080808
-080000000000000000000000000000000000000000000000001400000000
-0000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5bab5b5
-b5b5b5b5b500000808080808080808080808080808080808080808080886
-200808080808080000000000000000000000000000000000000000000000
-005f190000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5adbcb5b5b5b5b5b500000808080808080808080808080808080808
-0808081196cdc94808080808080000000000000000000000000000000000
-00000000000a7728674100000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b8bc2978c5b5b5b5b5b500000808080808080808080808
-080808080808080808083dada00808080808080000000000000000000000
-0000000000000000000000003555670000000000000000b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5c17e9fb5b5b5b5b5b500000808080808
-08080808080808080808080808080808240a250908080808080000000000
-0000000000000000000000000000000000001d021e0100000000000000b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5bdb5bdb5b5b5b5b5b500
-000808080808080808080808080808080808080808080808080808080808
-080000000000000000000000000000000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/new-zealand.gif b/Docs/Flags/new-zealand.gif
deleted file mode 100644
index 5d74f71ecc0..00000000000
--- a/Docs/Flags/new-zealand.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/new-zealand.pdf b/Docs/Flags/new-zealand.pdf
deleted file mode 100644
index 040f8bdb7b0..00000000000
--- a/Docs/Flags/new-zealand.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/new-zealand.txt b/Docs/Flags/new-zealand.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/new-zealand.txt
+++ /dev/null
diff --git a/Docs/Flags/norway.eps b/Docs/Flags/norway.eps
deleted file mode 100755
index af62cbef81f..00000000000
--- a/Docs/Flags/norway.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: norway.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6d00808d0c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c600000000000000000000cf0000cb000000000000000000
-00000000000000000000000000000000000000ecb5b5e900000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6d00808d0c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c600000000000000000000cf0000cb000000
-00000000000000000000000000000000000000000000000000ecb5b5e900
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6d00808
-d0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c600000000000000000000cf
-0000cb000000000000000000000000000000000000000000000000000000
-00ecb5b5e90000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6d00808d0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-0000000000cf0000cb000000000000000000000000000000000000000000
-00000000000000ecb5b5e900000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6d00808d0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c600000000000000000000cf0000cb000000000000000000000000000000
-00000000000000000000000000ecb5b5e900000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6d00808d0c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c600000000000000000000cf0000cb000000000000000000
-00000000000000000000000000000000000000ecb5b5e900000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6d00808d0c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c600000000000000000000cf0000cb000000
-00000000000000000000000000000000000000000000000000ecb5b5e900
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6d00808
-d0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c600000000000000000000cf
-0000cb000000000000000000000000000000000000000000000000000000
-00ecb5b5e90000000000000000000000000000000000000000d0d0d0d0d0
-d0d0d0b00808b0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d00000cbcbcb
-cbcbcbcbcbad0000adcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb0000e9
-e9e9e9e9e9e9e9e3b5b5e3e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e900
-000808080808080808080808080808080808080808080808080808080808
-080000000000000000000000000000000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000808080808080808080808080808080808080808080808
-080808080808080000000000000000000000000000000000000000000000
-0000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b50000d0d0d0d0d0d0d0d0b00808b0d0d0d0d0d0
-d0d0d0d0d0d0d0d0d0d0d0d0d00000cfcfcfcfcfcfcfcfad0000adcfcfcf
-cfcfcfcfcfcfcfcfcfcfcfcfcfcfcf0000ecececececececece3b5b5e3ec
-ececececececececececececececececec0000c6c6c6c6c6c6c6c6d00808
-d0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c600000000000000000000cf
-0000cb000000000000000000000000000000000000000000000000000000
-00ecb5b5e90000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6d00808d0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-0000000000cf0000cb000000000000000000000000000000000000000000
-00000000000000ecb5b5e900000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6d00808d0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c600000000000000000000cf0000cb000000000000000000000000000000
-00000000000000000000000000ecb5b5e900000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6d00808d0c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c600000000000000000000cf0000cb000000000000000000
-00000000000000000000000000000000000000ecb5b5e900000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6d00808d0c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c600000000000000000000cf0000cb000000
-00000000000000000000000000000000000000000000000000ecb5b5e900
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6d00808
-d0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c600000000000000000000cf
-0000cb000000000000000000000000000000000000000000000000000000
-00ecb5b5e90000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6d00808d0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-0000000000cf0000cb000000000000000000000000000000000000000000
-00000000000000ecb5b5e900000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6d00808d0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c600000000000000000000cf0000cb000000000000000000000000000000
-00000000000000000000000000ecb5b5e900000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/norway.gif b/Docs/Flags/norway.gif
deleted file mode 100755
index e88d1029f3e..00000000000
--- a/Docs/Flags/norway.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/norway.pdf b/Docs/Flags/norway.pdf
deleted file mode 100644
index aaddf8c5ec4..00000000000
--- a/Docs/Flags/norway.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/norway.txt b/Docs/Flags/norway.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/norway.txt
+++ /dev/null
diff --git a/Docs/Flags/philippines.eps b/Docs/Flags/philippines.eps
deleted file mode 100644
index 9c3b242568a..00000000000
--- a/Docs/Flags/philippines.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: philippines.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000a91d080808080808080808080808080808080808080808
-080808080808080000a71600000000000000000000000000000000000000
-0000000000000000000000e2bbb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b50000f7e45a0808080808080808080808080808
-080808080808080808080808080000f6e354000000000000000000000000
-0000000000000000000000000000000000f3efcbb5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000f7fdf9a91d080808080808
-080808080808080808080808080808080808080000f6f8f5a71600000000
-0000000000000000000000000000000000000000000000eb3bbae2bbb5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000f9fdf9f7e4
-5a0808080808080808080808080808080808080808080808080000f5f8f5
-f7e3540000000000000000000000000000000000000000000000000000c8
-4fb2f7f2ccb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-00f7f8f7f7f7f7a91d080808080808080808080808080808080808080808
-080000f7f6f7f7f7f7a71600000000000000000000000000000000000000
-0000000000f7eaf7f7f7f7e2bbb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b50000f7f7f7f7f7f8f7e45a0808080808080808080808080808
-080808080808080000f7f7f7f7f6f5f7e354000000000000000000000000
-0000000000000000000000f7f7f7f7e8d8f7f2ccb5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b50000f7f7f8f7f9fbf7f8f7a91d080808080808
-080808080808080808080808080000f7f7f5f7f5f0f7f5f6a71600000000
-0000000000000000000000000000000000f7f7dcf7c785f7e1f2e2bbb5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000f7f7fcfafafdf8fcf9f7e4
-5a0808080808080808080808080808080808080000f7f6eef2f5f2f6eef3
-f7e3540000000000000000000000000000000000000000f7f26eaba44bd6
-66b9f7f2ccb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000f7f7f7feff
-fffffaf7f7f7f7a91d080808080808080808080808080808080000f7f7f6
-f4fffffcf2f7f7f7f7a616000000000000000000000000000000000000f7
-f7ea2800000290f7f7f7f7dfbbb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-00f7fafafffffffffdfaf8f7fafbe45a0808080808080808080808080808
-080000f7f2f1fefffffff7f2f4f7f5f6e354000000000000000000000000
-0000000000f5a49c0100000048a4caf79d71f2ccb5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b50000f7fafafffffffffdfaf8f7fbfdf4d7c4c4c4c4c4c4c4c4
-c4c4c4c4c4c4c40000f7f2f1fefffffff7f2f4f7f5f9e255000000000000
-0000000000000000000000f4a49c0200000049a4caf68a43c75602020202
-02020202020202020202020000f7f7f7fefffffffaf7f7f7f7e8cbc6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000f7f7f6f4fffffcf2f7f7f7f7a61600
-0000000000000000000000000000000000f7f7ea2800000290f7f7f7f793
-16000000000000000000000000000000000000f7f7fcfafafdf8fcf9f7f3
-d7c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000f7f6eef2f5f2f6eef3
-f7e4550000000000000000000000000000000000000000f7f26eaba44bd6
-66b9f7e4560000000000000000000000000000000000000000f7f7f8f7f9
-fbf7f8f7e8cbc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000f7f7f5
-f7f5f0f7f5f6a816000000000000000000000000000000000000000000f7
-f7dcf7c785f7e1f2a8160000000000000000000000000000000000000000
-00f7f7f7f7f7f8f7f3d7c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000f7f7f7f7f6f5f7e455000000000000000000000000000000000000
-0000000000f7f7f7f7e8d8f7e45600000000000000000000000000000000
-00000000000000f7f7f7f7f7f7e8cbc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000f7f6f7f7f7f7a81600000000000000000000000000
-0000000000000000000000f7edf7f7f7f7a8160000000000000000000000
-00000000000000000000000000f8fcf9f7f3d7c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000f6f8f5f7e455000000000000000000
-0000000000000000000000000000000000d553adf7e45600000000000000
-00000000000000000000000000000000000000f8fdfae8cbc6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000f6f8f5a81600000000
-0000000000000000000000000000000000000000000000e642ada8160000
-00000000000000000000000000000000000000000000000000f7f4d7c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000f7e355
-0000000000000000000000000000000000000000000000000000000000f7
-d95600000000000000000000000000000000000000000000000000000000
-00e8cbc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000a81600000000000000000000000000000000000000000000000000
-0000000000a8160000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/philippines.gif b/Docs/Flags/philippines.gif
deleted file mode 100644
index 884f2a5e8d2..00000000000
--- a/Docs/Flags/philippines.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/philippines.pdf b/Docs/Flags/philippines.pdf
deleted file mode 100644
index 0b6639c24db..00000000000
--- a/Docs/Flags/philippines.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/philippines.txt b/Docs/Flags/philippines.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/philippines.txt
+++ /dev/null
diff --git a/Docs/Flags/poland.eps b/Docs/Flags/poland.eps
deleted file mode 100644
index 06c580e1625..00000000000
--- a/Docs/Flags/poland.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: poland.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7
-c7c7c7c7c7c7c70000030303030303030303030303030303030303030303
-030303030303030303000003030303030303030303030303030303030303
-03030303030303030303030000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/poland.gif b/Docs/Flags/poland.gif
deleted file mode 100644
index 902b49f745d..00000000000
--- a/Docs/Flags/poland.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/poland.pdf b/Docs/Flags/poland.pdf
deleted file mode 100644
index e2c696dda21..00000000000
--- a/Docs/Flags/poland.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/poland.txt b/Docs/Flags/poland.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/poland.txt
+++ /dev/null
diff --git a/Docs/Flags/portugal.eps b/Docs/Flags/portugal.eps
deleted file mode 100644
index 01a83ecd6d1..00000000000
--- a/Docs/Flags/portugal.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: portugal.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000002c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b30000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000002c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b30000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000002c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5
-b30000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000002c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000b5b5b5
-b5b5b5b5b5b5b30000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000013462d2cac6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000b5b5b5b5b5b5b5b4bac35d31010000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000002ec0989ddde0e6cac6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000b5b5b5b5b5b5b9ded7d49795bc2c00000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000002ee3bd749ccfbdd0eacac6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b9e5bc5991610a80db2c
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000001c046dfc5bbbb
-c4e2e3e2c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b4debb9d3b
-65653b9ab3bc010000000000000000000000000000000000000000000000
-002b29292b00000000000000000000000000000000000000000000000034
-9843b8e45f5fe4bbe6dec8c6c6c6c6c6c6c6c6c6c6c6c6c6c60000b5b5b5
-b5bad7bd08d85959d807bfaf2f0000000000000000000000000000000000
-00000000000000d8cdcdd800000000000000000000000000000000000000
-000000000060da9ecf63282863d4d9d4d5c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000b5b5b5b5c3e3d6685822225868796d610000000000000000000000
-00000000000000000000000000b4bebeb400000000000000000000000000
-000000000000000000000061d5c9e35f26265fe3d8efd1c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000b5b5b5b5c4dcdda3551f1f559b8fea5c0000000000
-00000000000000000000000000000000000000b1bdbdb100000000000000
-0000000000000000000000000000000000349801a3d75f5fd7bce0e3c7c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000b5b5b5b5bad7b414a25959a21596b5
-2e0000000000000000000000000000000000000000000000009acdcd9a00
-000000000000000000000000000000000000000000000001bc81c3f69292
-f6cfcbe6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b4d9cc91ca
-4a4aca8141bb010000000000000000000000000000000000000000000000
-000751510700000000000000000000000000000000000000000000000000
-2de2c9a4a6bbd9e2ebc9c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000b5b5b5
-b5b5b9e3ddad281fafccdf2b000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000002fc0989ddde0e6c9c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000b5b5b5b5b5b5baded7d49795bc2b00000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000013462d2cac6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b4bac35d31010000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000002c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5b30000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000002c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5b5b5b5
-b30000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000002c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000b5b5b5
-b5b5b5b5b5b5b30000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-0000000000000000000002c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000b5b5b5b5b5b5b5b5b5b30000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/portugal.gif b/Docs/Flags/portugal.gif
deleted file mode 100644
index add53255d60..00000000000
--- a/Docs/Flags/portugal.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/portugal.pdf b/Docs/Flags/portugal.pdf
deleted file mode 100644
index d1f66f846db..00000000000
--- a/Docs/Flags/portugal.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/portugal.txt b/Docs/Flags/portugal.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/portugal.txt
+++ /dev/null
diff --git a/Docs/Flags/romania.eps b/Docs/Flags/romania.eps
deleted file mode 100644
index c20a7b6871b..00000000000
--- a/Docs/Flags/romania.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: romania.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000808080808080808080bffffffffffffffffffffc6c6c6
-c6c6c6c6c6c6c6000000000000000000000003fffffffffffffffffffc00
-0000000000000000000000b5b5b5b5b5b5b5b5b5b3000000000000000000
-000000000000000000000000000808080808080808080bffffffffffffff
-ffffffc6c6c6c6c6c6c6c6c6c6000000000000000000000003ffffffffff
-fffffffffc000000000000000000000000b5b5b5b5b5b5b5b5b5b3000000
-000000000000000000000000000000000000000808080808080808080bff
-ffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000000000000000000000
-03fffffffffffffffffffc000000000000000000000000b5b5b5b5b5b5b5
-b5b5b3000000000000000000000000000000000000000000000808080808
-080808080bffffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000000000
-00000000000003fffffffffffffffffffc000000000000000000000000b5
-b5b5b5b5b5b5b5b5b3000000000000000000000000000000000000000000
-000808080808080808080bffffffffffffffffffffc6c6c6c6c6c6c6c6c6
-c6000000000000000000000003fffffffffffffffffffc00000000000000
-0000000000b5b5b5b5b5b5b5b5b5b3000000000000000000000000000000
-000000000000000808080808080808080bffffffffffffffffffffc6c6c6
-c6c6c6c6c6c6c6000000000000000000000003fffffffffffffffffffc00
-0000000000000000000000b5b5b5b5b5b5b5b5b5b3000000000000000000
-000000000000000000000000000808080808080808080bffffffffffffff
-ffffffc6c6c6c6c6c6c6c6c6c6000000000000000000000003ffffffffff
-fffffffffc000000000000000000000000b5b5b5b5b5b5b5b5b5b3000000
-000000000000000000000000000000000000000808080808080808080bff
-ffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000000000000000000000
-03fffffffffffffffffffc000000000000000000000000b5b5b5b5b5b5b5
-b5b5b3000000000000000000000000000000000000000000000808080808
-080808080bffffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000000000
-00000000000003fffffffffffffffffffc000000000000000000000000b5
-b5b5b5b5b5b5b5b5b3000000000000000000000000000000000000000000
-000808080808080808080bffffffffffffffffffffc6c6c6c6c6c6c6c6c6
-c6000000000000000000000003fffffffffffffffffffc00000000000000
-0000000000b5b5b5b5b5b5b5b5b5b3000000000000000000000000000000
-000000000000000808080808080808080bffffffffffffffffffffc6c6c6
-c6c6c6c6c6c6c6000000000000000000000003fffffffffffffffffffc00
-0000000000000000000000b5b5b5b5b5b5b5b5b5b3000000000000000000
-000000000000000000000000000808080808080808080bffffffffffffff
-ffffffc6c6c6c6c6c6c6c6c6c6000000000000000000000003ffffffffff
-fffffffffc000000000000000000000000b5b5b5b5b5b5b5b5b5b3000000
-000000000000000000000000000000000000000808080808080808080bff
-ffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000000000000000000000
-03fffffffffffffffffffc000000000000000000000000b5b5b5b5b5b5b5
-b5b5b3000000000000000000000000000000000000000000000808080808
-080808080bffffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000000000
-00000000000003fffffffffffffffffffc000000000000000000000000b5
-b5b5b5b5b5b5b5b5b3000000000000000000000000000000000000000000
-000808080808080808080bffffffffffffffffffffc6c6c6c6c6c6c6c6c6
-c6000000000000000000000003fffffffffffffffffffc00000000000000
-0000000000b5b5b5b5b5b5b5b5b5b3000000000000000000000000000000
-000000000000000808080808080808080bffffffffffffffffffffc6c6c6
-c6c6c6c6c6c6c6000000000000000000000003fffffffffffffffffffc00
-0000000000000000000000b5b5b5b5b5b5b5b5b5b3000000000000000000
-000000000000000000000000000808080808080808080bffffffffffffff
-ffffffc6c6c6c6c6c6c6c6c6c6000000000000000000000003ffffffffff
-fffffffffc000000000000000000000000b5b5b5b5b5b5b5b5b5b3000000
-000000000000000000000000000000000000000808080808080808080bff
-ffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000000000000000000000
-03fffffffffffffffffffc000000000000000000000000b5b5b5b5b5b5b5
-b5b5b3000000000000000000000000000000000000000000000808080808
-080808080bffffffffffffffffffffc6c6c6c6c6c6c6c6c6c60000000000
-00000000000003fffffffffffffffffffc000000000000000000000000b5
-b5b5b5b5b5b5b5b5b3000000000000000000000000000000000000000000
-000808080808080808080bffffffffffffffffffffc6c6c6c6c6c6c6c6c6
-c6000000000000000000000003fffffffffffffffffffc00000000000000
-0000000000b5b5b5b5b5b5b5b5b5b3000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/romania.gif b/Docs/Flags/romania.gif
deleted file mode 100644
index a6ffa4ad0c2..00000000000
--- a/Docs/Flags/romania.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/romania.pdf b/Docs/Flags/romania.pdf
deleted file mode 100644
index 45503c541bf..00000000000
--- a/Docs/Flags/romania.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/romania.txt b/Docs/Flags/romania.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/romania.txt
+++ /dev/null
diff --git a/Docs/Flags/russia.eps b/Docs/Flags/russia.eps
deleted file mode 100644
index ce1e2cb22c1..00000000000
--- a/Docs/Flags/russia.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: russia.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9
-a9a9a9a9a9a9a9a9a9a9a9a9a90000a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7
-a7a7a7a7a7a7a7a7a7a7a7a7a7a7a70000e2e2e2e2e2e2e2e2e2e2e2e2e2
-e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e200000808080808080808080808
-080808080808080808080808080808080808080000000000000000000000
-0000000000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808
-080808080808080808080808080808080808080808080808080000000000
-0000000000000000000000000000000000000000000000000000000000b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-000808080808080808080808080808080808080808080808080808080808
-080000000000000000000000000000000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000808080808080808080808080808080808080808080808
-080808080808080000000000000000000000000000000000000000000000
-0000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b500000808080808080808080808080808080808
-080808080808080808080808080000000000000000000000000000000000
-0000000000000000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808080808080808
-080808080808080808080808080808080808080000000000000000000000
-0000000000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500008686868686
-868686868686868686868686868686868686868686868686860000000000
-00000000000000000000000000000000000000000000000000000000003d
-3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d00
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/russia.gif b/Docs/Flags/russia.gif
deleted file mode 100644
index f76e19d7f1b..00000000000
--- a/Docs/Flags/russia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/russia.pdf b/Docs/Flags/russia.pdf
deleted file mode 100644
index 84c304cba32..00000000000
--- a/Docs/Flags/russia.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/russia.txt b/Docs/Flags/russia.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/russia.txt
+++ /dev/null
diff --git a/Docs/Flags/singapore.eps b/Docs/Flags/singapore.eps
deleted file mode 100644
index 5ebedcb4f94..00000000000
--- a/Docs/Flags/singapore.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: singapore.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6cbc9c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c600000000000000170e0000000000000000000000000000
-00000000000000000000000000000000170e000000000000000000000000
-00000000000000000000000000c6c6c6d6ecd7c7c6c8c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6000000000050bd5405000a000000000000
-000000000000000000000000000000000000000050bd5405000a00000000
-00000000000000000000000000000000000000c6c6d7f4cdc6c6c8e8cdc6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000055e925000008aa
-2400000000000000000000000000000000000000000000000055e9250000
-08aa2400000000000000000000000000000000000000000000c6c7f2e0c6
-c6cac6cfc9c6cac6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c600000003de
-81000211002c0e0013000000000000000000000000000000000000000000
-03de82000211002d0e001400000000000000000000000000000000000000
-00c6cef7d3c6dae1c6c6c6d3e7c7c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c600000028f74200618900000042a5020000000000000000000000000000
-00000000000028f74200618900000043a503000000000000000000000000
-00000000000000c6cef7d3c6c9c9c6c6c6c9c9c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c600000028f742000f0f0000000e0f000000000000000000
-00000000000000000000000028f742000f0f0000000e1000000000000000
-00000000000000000000000000c6c7f2e0c6c6c7c9c6c6cac6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c600000003de810000030f00001300000000
-00000000000000000000000000000000000003de820000030f0000130000
-00000000000000000000000000000000000000c6c6d7f4cdc6dae0c6d2e8
-c7c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000055e92500658400
-3ea8030000000000000000000000000000000000000000000055e9250065
-84003ea8030000000000000000000000000000000000000000c6c6c6d6ec
-d7cac9c6c9cac6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-50bd541510000f1200000000000000000000000000000000000000000000
-000050bd541510000f120000000000000000000000000000000000000000
-00c6c6c6c6c6cbc9c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c600000000000000170e0000000000000000000000000000000000000000
-00000000000000000000170e000000000000000000000000000000000000
-00000000000000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4
-f4f4f4f4f4f4f4f4f40000f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4
-f4f4f4f4f4f4f4f4f4f4f40000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f700000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/singapore.gif b/Docs/Flags/singapore.gif
deleted file mode 100644
index 38b06409764..00000000000
--- a/Docs/Flags/singapore.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/singapore.pdf b/Docs/Flags/singapore.pdf
deleted file mode 100644
index 1d2666f851c..00000000000
--- a/Docs/Flags/singapore.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/singapore.txt b/Docs/Flags/singapore.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/singapore.txt
+++ /dev/null
diff --git a/Docs/Flags/slovenia.eps b/Docs/Flags/slovenia.eps
deleted file mode 100755
index 59b6482f5fa..00000000000
--- a/Docs/Flags/slovenia.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: slovenia.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7ad4d463b3b3b5340
-e5f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f77d221a0f0f0f
-2814c0f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7ad8a8f97
-97978593c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f79b43
-330d39085d18e2f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-753c2c0533005811bcf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7b58a95b291b576a9c6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f79b08080c55080808e2f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7750000054f000000bcf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7b5b5b5b281b5b5b5c6f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f79b0808149a080808e2f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f77500000c97000000bcf7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7b5b5b5b8ddb5b5b5c6f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000a9a9a9763f3a74f52f6316a6a9a9a9a9a9
-a9a9a9a9a9a9a9a9a9a9a9a9a90000a7a7a74f393370f5295e0e7fa7a7a7
-a7a7a7a7a7a7a7a7a7a7a7a7a7a7a70000e2e2e2aac4c3d3f7c0ceb9b6e2
-e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2000008080836dae0e0f7cbf5aa
-2108080808080808080808080808080808080800000000000cd9dfdff7c9
-f59c000000000000000000000000000000000000000000b5b5b597eff1f1
-f7ebf6d59eb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5000008080822bd
-c3e9f7d8c1a0080808080808080808080808080808080808080000000000
-05d1e8f3f7eee792000000000000000000000000000000000000000000b5
-b5b5a3e0f5f7f7f6f5bbb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-000808080872c3b5c1b1bf3d080808080808080808080808080808080808
-0800000000000059e8e4e7e2dd1f00000000000000000000000000000000
-0000000000b5b5b5b5a8f5f5f5f5eb9fb5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000808080812c0e0c4eb8308080808080808080808080808
-080808080808080000000000000096f0e8f0510000000000000000000000
-0000000000000000000000b5b5b5b5acb8f6f5f3a0b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b50000080808080816abf0770908080808080808
-08080808080808080808080808000000000000000179dc44000000000000
-0000000000000000000000000000000000b5b5b5b5b5aaaade9cb4b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808080925080808
-080808080808080808080808080808080808080000000000000000000200
-0000000000000000000000000000000000000000000000b5b5b5b5b5b5b4
-9bb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500008686868686
-868686868686868686868686868686868686868686868686860000000000
-00000000000000000000000000000000000000000000000000000000003d
-3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d00
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/slovenia.gif b/Docs/Flags/slovenia.gif
deleted file mode 100644
index 2cac6590840..00000000000
--- a/Docs/Flags/slovenia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/slovenia.pdf b/Docs/Flags/slovenia.pdf
deleted file mode 100644
index b00ca0e6467..00000000000
--- a/Docs/Flags/slovenia.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/slovenia.txt b/Docs/Flags/slovenia.txt
deleted file mode 100755
index e69de29bb2d..00000000000
--- a/Docs/Flags/slovenia.txt
+++ /dev/null
diff --git a/Docs/Flags/south-africa.eps b/Docs/Flags/south-africa.eps
deleted file mode 100644
index 6c080095104..00000000000
--- a/Docs/Flags/south-africa.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: south-africa.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000001eb6e7cac6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000b5b5b5bde6a7160000000000000000000000000000
-00000000000000000000000000001eb6a716000000000000000000000000
-00000000000000000000000000000000000167e8d7c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5d1e05400000000000000
-0000000000000000000000000000000000000000000167d9540000000000
-0000000000000000000000000000000000000000000000000022bce7cac6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000b5b5b5b5b5b5bee7a7
-160000000000000000000000000000000000000000000000000000000022
-bca716000000000000000000000000000000000000000000000700000000
-0000026eead7c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000b7b5b5
-b5b5b5b5b6d2e15400000000000000000000000000000000000000000000
-000000000000026edb540000000000000000000000000000000000000000
-00d9450000000000000026c1e7cac6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000f4c9b5b5b5b5b5b5b5bfe9a7160000000000000000000000000000
-000000000000000000000000000026c1a716000000000000000000000000
-0000000000000050e0a81a0000000000000374ecd7c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6000050e0e6bdb5b5b5b5b5b5b6d4e25400000000000000
-0000000000000000000000000000000000000000000374dd540000000000
-00000000000000000000000000000b87eb70040000000000002bc6e7d7d7
-d7d7d7d7d7d7d7d7d7d7d7d7d70000000b87f5d6b6b5b5b5b5b5b5c0eaa7
-53535353535353535353535353535300000000000000000000000000002b
-c6a7545454545454545454545454545454000000000028bdcf3900000000
-00000576a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7000000000028bdf1c6b5b5
-b5b5b5b5b6d5e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2000000000000000000
-0000000000000576a7a7a7a7a7a7a7a7a7a7a7a7a7a7a700000000000000
-59e49b130000000000000000000000000000000000000000000000000000
-000059e5e2bbb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000e90e86301000000000000000000000000000000000000
-0000000000000000000e90f6d2b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5000000000000000000000000000000000000000000000000000000
-000000000000000000000000000e90e86301000000000000000000000000
-0000000000000000000000000000000e90f6d2b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5000000000000000000000000000000000000000000
-00000000000000000000000000000000000059e49b130000000000000000
-000000000000000000000000000000000000000059e5e2bbb5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5000000000000000000000000000000
-0000000000000000000000000000000000000000000028bdcf3900000000
-00000576a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7000000000028bdf1c6b5b5
-b5b5b5b5b6d5e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2000000000000000000
-0000000000000576a7a7a7a7a7a7a7a7a7a7a7a7a7a7a70000000b87eb70
-040000000000002bc6a95959595959595959595959595959590000000b87
-f5d6b6b5b5b5b5b5b5c0eaa7535353535353535353535353535353000000
-00000000000000000000002bc6e2cbcbcbcbcbcbcbcbcbcbcbcbcbcbcb00
-0050e0a81a0000000000000374dd5a080808080808080808080808080808
-08000050e0e6bdb5b5b5b5b5b5b6d4e25400000000000000000000000000
-0000000000000000000000000000000374ebccb5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b50000d9450000000000000026c1a91d08080808080808080808
-080808080808080000f4c9b5b5b5b5b5b5b5bfe9a7160000000000000000
-000000000000000000000000000000000000000026c1e2bbb5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5000007000000000000026edb5a080808080808
-080808080808080808080808080000b7b5b5b5b5b5b5b6d2e15400000000
-000000000000000000000000000000000000000000000000026ee9ccb5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5000000000000000022bcaa1d08
-080808080808080808080808080808080808080000b5b5b5b5b5b5bee7a8
-160000000000000000000000000000000000000000000000000000000022
-bce2bbb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000000000001
-67da5b080808080808080808080808080808080808080808080000b5b5b5
-b5b5d1e15500000000000000000000000000000000000000000000000000
-0000000167e7ccb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-000000001eb6aa1d08080808080808080808080808080808080808080808
-080000b5b5b5bde6a8160000000000000000000000000000000000000000
-00000000000000001eb6e2bbb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/south-africa.gif b/Docs/Flags/south-africa.gif
deleted file mode 100644
index 3ed8559eb2a..00000000000
--- a/Docs/Flags/south-africa.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/south-africa.pdf b/Docs/Flags/south-africa.pdf
deleted file mode 100644
index 6b6286a7794..00000000000
--- a/Docs/Flags/south-africa.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/south-africa.txt b/Docs/Flags/south-africa.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/south-africa.txt
+++ /dev/null
diff --git a/Docs/Flags/south-korea.eps b/Docs/Flags/south-korea.eps
deleted file mode 100644
index 8147ce78acf..00000000000
--- a/Docs/Flags/south-korea.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: south-korea.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f0f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f6f7f7f7f7f7f70000f7f7f7f7f7f7f0f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f6f7f7f7f7f7f70000f7f7f7f7f7f7f0f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f6f7f7f7f7f7f70000f7f7f7f7f79f58d5f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7d05ac3f7f7f7f7f70000f7f7f7f7f79f58d5f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7d05ac3f7f7f7f7f70000f7f7f7f7f79f58
-d5f7f7f7f7f7f7f7f7f7f7f7f7f7f7d05ac3f7f7f7f7f70000f7f7f7f7db
-43435df7f7f7f7f7f7f7f7f7f7f7f7f7f54d446ef1f7f7f7f70000f7f7f7
-f7db43435df7f7f7f7f7f7f7f7f7f7f7f7f7f54d446ef1f7f7f7f70000f7
-f7f7f7db43435df7f7f7f7f7f7f7f7f7f7f7f7f7f54d446ef1f7f7f7f700
-00f7f7f7f75a4344dff7f7f7f7f7f7f2f2f7f7f7f7f7f7c660447df7f7f7
-f70000f7f7f7f75a4344dff7f7f7f7f7f6dddcf6f7f7f7f7f7c660447df7
-f7f7f70000f7f7f7f75a4344dff7f7f7f7f7f6dddcf6f7f7f7f7f7c66044
-7df7f7f7f70000f7f7f7f7d659a7f7f7f7f7f6e0cbc6c6cbe0f6f7f7f7f7
-7261d4f7f7f7f70000f7f7f7f7d659a7f7f7f7f7f3851a00001780f2f7f7
-f7f77261d4f7f7f7f70000f7f7f7f7d659a7f7f7f7f7f3851a00001880f2
-f7f7f7f77261d4f7f7f7f70000f7f7f7f7f7f2f7f7f7f7f6d4c6c6c6c6c6
-c6d4f6f7f7f7eef0f7f7f7f7f70000f7f7f7f7f7f2f7f7f7f7f246000000
-00000044f2f7f7f7eef0f7f7f7f7f70000f7f7f7f7f7f2f7f7f7f7f24600
-000000000044f2f7f7f7eef0f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7dc
-c6c6c6c6c6c6c6c6dff7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f77a000000000000000080f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f77d000000000000000080f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f3b9c6c6c6c6c173598ecbf7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f311000000000000000017f5f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f62000000000054f683517f5f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7d2abc6c6c6c6490808086cf1f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7d000000000000000000000d8f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7ed1a0000000078b5b5b556d8f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7cf5cc6c6c67c080808081ef0f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7ce00000000000000000000d3
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7ec6500000046b5b5b5b5
-a0d4f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f113507544080808
-080825f6f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f10b00000000
-000000000bf2f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f5b8714e
-7cb5b5b5b5b5a7f2f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f76e
-08080808080808086cf7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f76a000000000000000065f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7d1b5b5b5b5b5b5b5b5cef7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f2f7f7f7f7ea3408080808080830e8f7f7f7f4ecf7f7f7f7f70000f7f7f7
-f7f7f2f7f7f7f7ea2d00000000000029e7f7f7f7f4ecf7f7f7f7f70000f7
-f7f7f7f7f2f7f7f7f7f3c1b5b5b5b5b5b5c0f3f7f7f7f4ecf7f7f7f7f700
-00f7f7f7f7d85f9df7f7f7f7e9690f08080e65e7f7f7f7f7845bd7f7f7f7
-f70000f7f7f7f7d85f9df7f7f7f7e9640800000660e6f7f7f7f7845bd7f7
-f7f7f70000f7f7f7f7d85f9df7f7f7f7f3d0b7b5b5b7cff3f7f7f7f7845b
-d7f7f7f7f70000f7f7f7f75f4650e1f7f7f7f7f7ecc3c2eaf7f7f7f7f7ca
-78486cf7f7f7f70000f7f7f7f75f4650e1f7f7f7f7f7ebc1c0eaf7f7f7f7
-f7ca78486cf7f7f7f70000f7f7f7f75f4650e1f7f7f7f7f7f4e9e8f3f7f7
-f7f7f7ca78486cf7f7f7f70000f7f7f7f7dd534961f7f7f7f7f7f7f7f7f7
-f7f7f7f7f6504671ebf7f7f7f70000f7f7f7f7dd534961f7f7f7f7f7f7f7
-f7f7f7f7f7f7f6504671ebf7f7f7f70000f7f7f7f7dd534961f7f7f7f7f7
-f7f7f7f7f7f7f7f7f6504671ebf7f7f7f70000f7f7f7f7f79659d1f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7d359bff7f7f7f7f70000f7f7f7f7f79659d1f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7d359bff7f7f7f7f70000f7f7f7f7f79659
-d1f7f7f7f7f7f7f7f7f7f7f7f7f7f7d359bff7f7f7f7f70000f7f7f7f7f7
-f6eff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f5f7f7f7f7f7f70000f7f7f7
-f7f7f6eff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f5f7f7f7f7f7f70000f7
-f7f7f7f7f6eff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f5f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f700000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/south-korea.gif b/Docs/Flags/south-korea.gif
deleted file mode 100644
index f9a74adc732..00000000000
--- a/Docs/Flags/south-korea.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/south-korea.pdf b/Docs/Flags/south-korea.pdf
deleted file mode 100644
index 877d792caa8..00000000000
--- a/Docs/Flags/south-korea.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/south-korea.txt b/Docs/Flags/south-korea.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/south-korea.txt
+++ /dev/null
diff --git a/Docs/Flags/spain.eps b/Docs/Flags/spain.eps
deleted file mode 100644
index bd318f2160a..00000000000
--- a/Docs/Flags/spain.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: spain.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000ffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffff0000fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc
-fcfcfcfcfcfcfcfcfc000000000000000000000000000000000000000000
-00000000000000000000000000ffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffff000000000000000000000000000000
-00000000000000000000000000000000000000ffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffff000000000000000000
-00000000000000000000000000000000000000000000000000ffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffff000000
-000000000000000000000000000000000000000000000000000000000000
-00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffff000000000000000000000000000000000000000000000000000000
-00000000000000ffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffff000000000000000000000000000000000000000000
-00000000000000000000000000ffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffff000000000000000000000000000000
-00000000000000000000000000000000000000ffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffff000000000000000000
-00000000000000000000000000000000000000000000000000ffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffff000000
-000000000000000000000000000000000000000000000000000000000000
-00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffff000000000000000000000000000000000000000000000000000000
-00000000000000c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7
-c7c7c7c7c7c7c70000030303030303030303030303030303030303030303
-030303030303030303000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/spain.gif b/Docs/Flags/spain.gif
deleted file mode 100644
index f5ad336b00d..00000000000
--- a/Docs/Flags/spain.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/spain.pdf b/Docs/Flags/spain.pdf
deleted file mode 100644
index 2606d779597..00000000000
--- a/Docs/Flags/spain.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/spain.txt b/Docs/Flags/spain.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/spain.txt
+++ /dev/null
diff --git a/Docs/Flags/sweden.eps b/Docs/Flags/sweden.eps
deleted file mode 100644
index 18a7c8765ba..00000000000
--- a/Docs/Flags/sweden.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: sweden.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000808080808080808fffffffc0808080808080808080808
-0808080808080800000000000000000000fffffffc000000000000000000
-0000000000000000000000b5b5b5b5b5b5b5b500000002b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b500000808080808080808fffffffc0808080808
-0808080808080808080808080800000000000000000000fffffffc000000
-0000000000000000000000000000000000b5b5b5b5b5b5b5b500000002b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808080808ffffff
-fc08080808080808080808080808080808080800000000000000000000ff
-fffffc0000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b500000002b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808
-080808fffffffc0808080808080808080808080808080808080000000000
-0000000000fffffffc0000000000000000000000000000000000000000b5
-b5b5b5b5b5b5b500000002b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-000808080808080808fffffffc0808080808080808080808080808080808
-0800000000000000000000fffffffc000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5b500000002b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000808080808080808fffffffc0808080808080808080808
-0808080808080800000000000000000000fffffffc000000000000000000
-0000000000000000000000b5b5b5b5b5b5b5b500000002b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b500000808080808080808fffffffc0808080808
-0808080808080808080808080800000000000000000000fffffffc000000
-0000000000000000000000000000000000b5b5b5b5b5b5b5b500000002b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808080808ffffff
-fc08080808080808080808080808080808080800000000000000000000ff
-fffffc0000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b500000002b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000fcfcfcfcfc
-fcfcfcfffffffffcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc0000fcfcfc
-fcfcfcfcfcfffffffffcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc000002
-020202020202020000000002020202020202020202020202020202020200
-00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffff000000000000000000000000000000000000000000000000000000
-00000000000000ffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffff000000000000000000000000000000000000000000
-00000000000000000000000000ffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffff000000000000000000000000000000
-000000000000000000000000000000000000000808080808080808ffffff
-fc08080808080808080808080808080808080800000000000000000000ff
-fffffc0000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b500000002b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808
-080808fffffffc0808080808080808080808080808080808080000000000
-0000000000fffffffc0000000000000000000000000000000000000000b5
-b5b5b5b5b5b5b500000002b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-000808080808080808fffffffc0808080808080808080808080808080808
-0800000000000000000000fffffffc000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5b500000002b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000808080808080808fffffffc0808080808080808080808
-0808080808080800000000000000000000fffffffc000000000000000000
-0000000000000000000000b5b5b5b5b5b5b5b500000002b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b500000808080808080808fffffffc0808080808
-0808080808080808080808080800000000000000000000fffffffc000000
-0000000000000000000000000000000000b5b5b5b5b5b5b5b500000002b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808080808ffffff
-fc08080808080808080808080808080808080800000000000000000000ff
-fffffc0000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b500000002b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808
-080808fffffffc0808080808080808080808080808080808080000000000
-0000000000fffffffc0000000000000000000000000000000000000000b5
-b5b5b5b5b5b5b500000002b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-000808080808080808fffffffc0808080808080808080808080808080808
-0800000000000000000000fffffffc000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5b500000002b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/sweden.gif b/Docs/Flags/sweden.gif
deleted file mode 100644
index df7151b5aa8..00000000000
--- a/Docs/Flags/sweden.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/sweden.pdf b/Docs/Flags/sweden.pdf
deleted file mode 100644
index 718d57600fd..00000000000
--- a/Docs/Flags/sweden.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/sweden.txt b/Docs/Flags/sweden.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/sweden.txt
+++ /dev/null
diff --git a/Docs/Flags/switzerland.eps b/Docs/Flags/switzerland.eps
deleted file mode 100644
index 635eef9f80a..00000000000
--- a/Docs/Flags/switzerland.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: switzerland.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c7f7f7f7f7c6c6c6c6c6c6c6c6c6c6c6c6
-c6000000000000000000000000000003f7f7f7f700000000000000000000
-000000000000000000000000000000000003f7f7f7f70000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c7f7f7f7f7c6c6c6c6c6c6
-c6c6c6c6c6c6c6000000000000000000000000000003f7f7f7f700000000
-000000000000000000000000000000000000000000000003f7f7f7f70000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c7f7f7f7f7
-c6c6c6c6c6c6c6c6c6c6c6c6c6000000000000000000000000000003f7f7
-f7f700000000000000000000000000000000000000000000000000000003
-f7f7f7f7000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c7f7f7f7f7c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-00000003f7f7f7f700000000000000000000000000000000000000000000
-000000000003f7f7f7f7000000000000000000000000000000c6c6c6c6c6
-c6c6c6c7f7f7f7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6c60000000000
-000000000003f7f7f7f7f7f7f7f7f7f7f7f7000000000000000000000000
-0000000000000003f7f7f7f7f7f7f7f7f7f7f7f700000000000000000000
-00c6c6c6c6c6c6c6c6c7f7f7f7f7f7f7f7f7f7f7f7f7c6c6c6c6c6c6c6c6
-c60000000000000000000003f7f7f7f7f7f7f7f7f7f7f7f7000000000000
-0000000000000000000000000003f7f7f7f7f7f7f7f7f7f7f7f700000000
-00000000000000c6c6c6c6c6c6c6c6c7f7f7f7f7f7f7f7f7f7f7f7f7c6c6
-c6c6c6c6c6c6c60000000000000000000003f7f7f7f7f7f7f7f7f7f7f7f7
-0000000000000000000000000000000000000003f7f7f7f7f7f7f7f7f7f7
-f7f70000000000000000000000c6c6c6c6c6c6c6c6c7f7f7f7f7f7f7f7f7
-f7f7f7f7c6c6c6c6c6c6c6c6c60000000000000000000003f7f7f7f7f7f7
-f7f7f7f7f7f70000000000000000000000000000000000000003f7f7f7f7
-f7f7f7f7f7f7f7f70000000000000000000000c6c6c6c6c6c6c6c6c6c7c7
-c7c8f7f7f7f7c7c7c7c7c6c6c6c6c6c6c6c6c60000000000000000000000
-03030306f7f7f7f703030303000000000000000000000000000000000000
-000003030306f7f7f7f7030303030000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c7f7f7f7f7c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-00000000000000000003f7f7f7f700000000000000000000000000000000
-000000000000000000000003f7f7f7f70000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c7f7f7f7f7c6c6c6c6c6c6c6c6c6c6c6c6
-c6000000000000000000000000000003f7f7f7f700000000000000000000
-000000000000000000000000000000000003f7f7f7f70000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c7f7f7f7f7c6c6c6c6c6c6
-c6c6c6c6c6c6c6000000000000000000000000000003f7f7f7f700000000
-000000000000000000000000000000000000000000000003f7f7f7f70000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c7c7c7c7
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000303
-030300000000000000000000000000000000000000000000000000000000
-03030303000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/switzerland.gif b/Docs/Flags/switzerland.gif
deleted file mode 100644
index 8212d226678..00000000000
--- a/Docs/Flags/switzerland.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/switzerland.pdf b/Docs/Flags/switzerland.pdf
deleted file mode 100644
index 26935b96dfc..00000000000
--- a/Docs/Flags/switzerland.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/switzerland.txt b/Docs/Flags/switzerland.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/switzerland.txt
+++ /dev/null
diff --git a/Docs/Flags/taiwan.eps b/Docs/Flags/taiwan.eps
deleted file mode 100644
index a57a8242464..00000000000
--- a/Docs/Flags/taiwan.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: taiwan.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000080808080808081108080808080808c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000900000000000000000000000000
-0000000000000000000000b5b5b5b5b5b5b5b7b5b5b5b5b5b5b500000000
-000000000000000000000000000808080808470e9e0f470808080808c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000041069a07410000000000
-0000000000000000000000000000000000b5b5b5b5b5c6b7deb7c6b5b5b5
-b5b500000000000000000000000000000000000808080d126289b28b6013
-0d080808c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000060a5d85b087
-5b0b050000000000000000000000000000000000000000b5b5b5b6b8ced8
-e4d9cdb8b6b5b5b500000000000000000000000000000000000808080aac
-9df7f7f7a0aa0a080808c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-02a99af7f7f79ca7020000000000000000000000000000000000000000b5
-b5b5b6e2def7f7f7dfe2b6b5b5b500000000000000000000000000000000
-000808082759e8f7f7f7e85b25080808c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c600000000002053e8f7f7f7e8551e000000000000000000000000000000
-0000000000b5b5b5bdcbf3f7f7f7f3ccbdb5b5b500000000000000000000
-000000000000000808082858e8f7f7f7e85a26080808c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c600000000002052e8f7f7f7e8551f000000000000000000
-0000000000000000000000b5b5b5becbf3f7f7f7f3ccbdb5b5b500000000
-000000000000000000000000000808080aac9cf7f7f79faa09080808c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6000000000002a999f7f7f79ca701000000
-0000000000000000000000000000000000b5b5b5b5e2def7f7f7dfe2b5b5
-b5b500000000000000000000000000000000000808080e136487b2896113
-0d080808c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000060b5e83b085
-5c0c050000000000000000000000000000000000000000b5b5b5b7b8ced8
-e4d8ceb8b6b5b5b500000000000000000000000000000000000808080808
-480e9e0f480808080808c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000042069b074200000000000000000000000000000000000000000000b5
-b5b5b5b5c7b7deb7c7b5b5b5b5b500000000000000000000000000000000
-00080808080808081108080808080808c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000900000000000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5b7b5b5b5b5b5b5b500000000000000000000
-00000000000000c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000002020202020202020202020202020200000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/taiwan.gif b/Docs/Flags/taiwan.gif
deleted file mode 100644
index 379afea61ce..00000000000
--- a/Docs/Flags/taiwan.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/taiwan.pdf b/Docs/Flags/taiwan.pdf
deleted file mode 100644
index 013b5c16d9a..00000000000
--- a/Docs/Flags/taiwan.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/taiwan.txt b/Docs/Flags/taiwan.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/taiwan.txt
+++ /dev/null
diff --git a/Docs/Flags/turkey.eps b/Docs/Flags/turkey.eps
deleted file mode 100644
index 7df5bfe70dc..00000000000
--- a/Docs/Flags/turkey.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: turkey.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c8d9e4d9c9c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c600000000000000000000095f97610d0000000000000000000000000000
-00000000000000000000000000095f97610d000000000000000000000000
-00000000000000c6c6c6c6c6c6c6d1f1e4cac6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c600000000000000000039da951600000000000000000000
-00000000000000000000000000000000000039da96160000000000000000
-00000000000000000000000000c6c6c6c6c6c6d0f5dec6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6000000000000000033ed78000000000000
-000000000000000000000000000000000000000000000033ee7800000000
-00000000000000000000000000000000000000c6c6c6c6c6c6efeec6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000002ccca02
-0000000000000000000000000000000000000000000000000000000002cc
-ca020000000000000000000000000000000000000000000000c6c6c6c6c6
-d2f7ddc6c6c6c6c6c6d6c8cbc6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-00003af77300000000000051091800000000000000000000000000000000
-000000003af7730000000000005209180000000000000000000000000000
-00c6c6c6c6c6dbf7d5c6c6c6c6c6cbe8f4d4c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000068f74c00000000001babe54600000000000000000000
-0000000000000000000069f74d00000000001babe5460000000000000000
-00000000000000c6c6c6c6c6dbf7d5c6c6c6c6c6cee7f1d9c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000068f74c000000000028a5d85f00000000
-0000000000000000000000000000000069f74d000000000028a5d8600000
-00000000000000000000000000c6c6c6c6c6d2f7ddc6c6c6c6c6c6d5c9c7
-c6c6c6c6c6c6c6c6c6c6c6c6c6000000000000003af77200000000000048
-0d0700000000000000000000000000000000000000003af7730000000000
-00490d07000000000000000000000000000000c6c6c6c6c6c6efeec6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000002ccca02
-0000000000000000000000000000000000000000000000000000000002cc
-ca020000000000000000000000000000000000000000000000c6c6c6c6c6
-c6d0f5dec6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-00000033ed78000000000000000000000000000000000000000000000000
-000000000033ee7800000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6d1f1e4cac6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c600000000000000000039da951600000000000000000000000000000000
-00000000000000000000000039da96160000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c8d9e4d9c9c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c600000000000000000000095f97610d0000000000000000
-00000000000000000000000000000000000000095f97610d000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/turkey.gif b/Docs/Flags/turkey.gif
deleted file mode 100644
index 45064417a3f..00000000000
--- a/Docs/Flags/turkey.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/turkey.pdf b/Docs/Flags/turkey.pdf
deleted file mode 100644
index 899624408a8..00000000000
--- a/Docs/Flags/turkey.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/turkey.txt b/Docs/Flags/turkey.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/turkey.txt
+++ /dev/null
diff --git a/Docs/Flags/ukraine.eps b/Docs/Flags/ukraine.eps
deleted file mode 100644
index 1cf43b4b53c..00000000000
--- a/Docs/Flags/ukraine.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: ukraine.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000001818181818181818181818181818181818181818181818
-181818181818180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b50000efefefefefefefefefefefefefefefefefefef
-efefefefefefefefefefef00001818181818181818181818181818181818
-181818181818181818181818180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000efefefefefefefefefefefefef
-efefefefefefefefefefefefefefefefef00001818181818181818181818
-181818181818181818181818181818181818180000b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000efefefefefefef
-efefefefefefefefefefefefefefefefefefefefefefef00001818181818
-181818181818181818181818181818181818181818181818180000b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000ef
-efefefefefefefefefefefefefefefefefefefefefefefefefefefefef00
-001818181818181818181818181818181818181818181818181818181818
-180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b50000efefefefefefefefefefefefefefefefefefefefefefefefef
-efefefefef00001818181818181818181818181818181818181818181818
-181818181818180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b50000efefefefefefefefefefefefefefefefefefef
-efefefefefefefefefefef00001818181818181818181818181818181818
-181818181818181818181818180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000efefefefefefefefefefefefef
-efefefefefefefefefefefefefefefefef00001818181818181818181818
-181818181818181818181818181818181818180000b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000efefefefefefef
-efefefefefefefefefefefefefefefefefefefefefefef00001818181818
-181818181818181818181818181818181818181818181818180000b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b50000ef
-efefefefefefefefefefefefefefefefefefefefefefefefefefefefef00
-001818181818181818181818181818181818181818181818181818181818
-180000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b50000efefefefefefefefefefefefefefefefefefefefefefefefef
-efefefefef0000fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc
-fcfcfcfcfcfcfc0000fefefefefefefefefefefefefefefefefefefefefe
-fefefefefefefefefe000003030303030303030303030303030303030303
-03030303030303030303030000ffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffff000000000000000000000000000000
-00000000000000000000000000000000000000ffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffff000000000000000000
-00000000000000000000000000000000000000000000000000ffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffff000000
-000000000000000000000000000000000000000000000000000000000000
-00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffff000000000000000000000000000000000000000000000000000000
-00000000000000ffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffff000000000000000000000000000000000000000000
-00000000000000000000000000ffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffff0000ffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffff000000000000000000000000000000
-00000000000000000000000000000000000000ffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffff000000000000000000
-00000000000000000000000000000000000000000000000000ffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffff0000ffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffff000000
-000000000000000000000000000000000000000000000000000000000000
-00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffff000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/ukraine.gif b/Docs/Flags/ukraine.gif
deleted file mode 100644
index 77deda40904..00000000000
--- a/Docs/Flags/ukraine.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/ukraine.pdf b/Docs/Flags/ukraine.pdf
deleted file mode 100644
index 9731eb218ba..00000000000
--- a/Docs/Flags/ukraine.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/ukraine.txt b/Docs/Flags/ukraine.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/ukraine.txt
+++ /dev/null
diff --git a/Docs/Flags/usa.eps b/Docs/Flags/usa.eps
deleted file mode 100644
index 08d78b8d8e6..00000000000
--- a/Docs/Flags/usa.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: usa.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000182608330b112d082e100c32082915c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000101f002d030926002708042b00220e000000000000
-0000000000000000000000b9bdb5c1b6b8bfb5c0b7b6c1b5beb900000000
-000000000000000000000000001a2421341c162d2330151a34212617dcdc
-dcdcdcdcdcdcdcdcdcdcdcdcdc0000121d192d140e261b290d132d1a1f10
-6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f0000babdbcc1bab9bfbcc0b8bac1bc
-bdb96f6f6f6f6f6f6f6f6f6f6f6f6f6f6f0000091246122f21124712232c
-12471308f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000010a400a28190a410a
-1c260a410b00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000b5b8c6b8c0bcb8
-c6b8bcbfb8c6b8b5f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7000028370d5510
-18480d4c1411540d3b24cacacacacacacacacacacacacacaca0000213105
-4f08104105460d094e05351d1313131313131313131313131313130000be
-c2b6cab7b9c7b6c8b8b7cab6c3bd13131313131313131313131313131300
-00080d5a0a3e280a5d0a2b3a0a5b0c08d8d8d8d8d8d8d8d8d8d8d8d8d8d8
-d800000005540237210257022433025505005d5d5d5d5d5d5d5d5d5d5d5d
-5d5d5d0000b5b6ccb5c4beb6ccb5bfc3b5ccb6b55d5d5d5d5d5d5d5d5d5d
-5d5d5d5d5d0000293f085d0b18500854140c5c084325f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f700002238005703104a004e0c0456003d1df7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000bec4b5ccb6b9c9b5cab8b6ccb5c5bdf7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000080b5f0842280862082c3e08600b08cdcd
-cdcdcdcdcdcdcdcdcdcdcdcdcd0000000359003c21005c002538005a0300
-2525252525252525252525252525250000b5b6cdb5c5beb5ceb5bfc4b5cd
-b6b525252525252525252525252525252500002940085d0b17510855130c
-5c084424d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5000021390058030f4b004f
-0b0457003e1d4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a0000bec4b5ccb6b9c9
-b5cab8b6ccb5c6bd4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a0000090c560a3e
-24095909283a0a570b09f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000010450
-02381d015401213402510301f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000b5
-b6cbb5c4bdb5cbb5bec3b5cbb6b5f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-002035114b0f1842114515114a11391cd1d1d1d1d1d1d1d1d1d1d1d1d1d1
-d10000192f094507103c093f0e0944093315383838383838383838383838
-3838380000bcc2b7c7b7b9c5b7c6b9b7c7b7c3bb38383838383838383838
-3838383838000047493e523e424d3e4f413e523e4a46d1d1d1d1d1d1d1d1
-d1d1d1d1d1d1d100004143384c383d4738493b384c384440383838383838
-3838383838383838380000c6c7c4c9c4c5c8c4c8c5c4c9c4c7c638383838
-38383838383838383838380000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000d5d5d5d5d5d5d5d5d5d5d5
-d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d500004a4a4a4a4a4a4a4a4a
-4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a00004a4a4a4a4a4a4a
-4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a0000cdcdcdcdcd
-cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd0000252525
-252525252525252525252525252525252525252525252525252525000025
-252525252525252525252525252525252525252525252525252525252500
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8
-d8d8d8d8d8d8d800005d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d
-5d5d5d5d5d5d5d5d5d00005d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d
-5d5d5d5d5d5d5d5d5d5d5d0000cacacacacacacacacacacacacacacacaca
-cacacacacacacacacacacacaca0000121212121212121212121212121212
-121212121212121212121212121212000012121212121212121212121212
-12121212121212121212121212121212120000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000dcdcdcdcdc
-dcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdc00006f6f6f
-6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f00006f
-6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f00
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/usa.gif b/Docs/Flags/usa.gif
deleted file mode 100644
index 4d9c261808d..00000000000
--- a/Docs/Flags/usa.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/usa.pdf b/Docs/Flags/usa.pdf
deleted file mode 100644
index f8bd86fdd1a..00000000000
--- a/Docs/Flags/usa.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/usa.txt b/Docs/Flags/usa.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/usa.txt
+++ /dev/null
diff --git a/Docs/Flags/yugoslavia.eps b/Docs/Flags/yugoslavia.eps
deleted file mode 100644
index 221d510451d..00000000000
--- a/Docs/Flags/yugoslavia.eps
+++ /dev/null
@@ -1,98 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: pnmtops
-%%Title: yugoslavia.ps
-%%Pages: 1
-%%BoundingBox: 290 385 321 407
-%%EndComments
-/readstring {
- currentfile exch readhexstring pop
-} bind def
-/rpicstr 32 string def
-/gpicstr 32 string def
-/bpicstr 32 string def
-%%EndProlog
-%%Page: 1 1
-gsave
-290.64 385.44 translate
-30.72 21.12 scale
-32 22 8
-[ 32 0 0 -22 0 22 ]
-{ rpicstr readstring }
-{ gpicstr readstring }
-{ bpicstr readstring }
-true 3
-colorimage
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000808080808080808080808080808080808080808080808
-080808080808080000000000000000000000000000000000000000000000
-0000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b500000808080808080808080808080808080808
-080808080808080808080808080000000000000000000000000000000000
-0000000000000000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808080808080808
-080808080808080808080808080808080808080000000000000000000000
-0000000000000000000000000000000000000000000000b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500000808080808
-080808080808080808080808080808080808080808080808080000000000
-0000000000000000000000000000000000000000000000000000000000b5
-b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b500
-000808080808080808080808080808080808080808080808080808080808
-080000000000000000000000000000000000000000000000000000000000
-0000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b500000808080808080808080808080808080808080808080808
-080808080808080000000000000000000000000000000000000000000000
-0000000000000000000000b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5
-b5b5b5b5b5b5b5b5b5b5b500005555555555555555555555555555555555
-555555555555555555555555550000505050505050505050505050505050
-5050505050505050505050505050500000cacacacacacacacacacacacaca
-cacacacacacacacacacacacacacacacaca0000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f700
-00f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000f7f7f7f7f7f7f7
-f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f70000d7d7d7d7d7
-d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d70000535353
-535353535353535353535353535353535353535353535353535353000054
-545454545454545454545454545454545454545454545454545454545400
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c60000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000c6c6c6c6c6
-c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c60000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-00c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6
-c60000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000
-grestore
-showpage
-%%Trailer
diff --git a/Docs/Flags/yugoslavia.gif b/Docs/Flags/yugoslavia.gif
deleted file mode 100644
index e1dd52a0541..00000000000
--- a/Docs/Flags/yugoslavia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/yugoslavia.pdf b/Docs/Flags/yugoslavia.pdf
deleted file mode 100644
index 1156cd257b8..00000000000
--- a/Docs/Flags/yugoslavia.pdf
+++ /dev/null
Binary files differ
diff --git a/Docs/Flags/yugoslavia.txt b/Docs/Flags/yugoslavia.txt
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Docs/Flags/yugoslavia.txt
+++ /dev/null
diff --git a/Docs/Images/Attic/html-fs.gif b/Docs/Images/Attic/html-fs.gif
deleted file mode 100644
index 73f9ab5bec6..00000000000
--- a/Docs/Images/Attic/html-fs.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-01.gif b/Docs/Images/Attic/mysql-01.gif
deleted file mode 100644
index 773453f8dd7..00000000000
--- a/Docs/Images/Attic/mysql-01.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-02.gif b/Docs/Images/Attic/mysql-02.gif
deleted file mode 100644
index 12d984b55e0..00000000000
--- a/Docs/Images/Attic/mysql-02.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-03.gif b/Docs/Images/Attic/mysql-03.gif
deleted file mode 100644
index abb16f2aa59..00000000000
--- a/Docs/Images/Attic/mysql-03.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-04.gif b/Docs/Images/Attic/mysql-04.gif
deleted file mode 100644
index e207e1790f7..00000000000
--- a/Docs/Images/Attic/mysql-04.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-05.gif b/Docs/Images/Attic/mysql-05.gif
deleted file mode 100644
index f78b8a17b93..00000000000
--- a/Docs/Images/Attic/mysql-05.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-06.gif b/Docs/Images/Attic/mysql-06.gif
deleted file mode 100644
index c660e1d1f4f..00000000000
--- a/Docs/Images/Attic/mysql-06.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-07.gif b/Docs/Images/Attic/mysql-07.gif
deleted file mode 100644
index be309d0de1c..00000000000
--- a/Docs/Images/Attic/mysql-07.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-08.gif b/Docs/Images/Attic/mysql-08.gif
deleted file mode 100644
index 3d5b2135655..00000000000
--- a/Docs/Images/Attic/mysql-08.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-09.gif b/Docs/Images/Attic/mysql-09.gif
deleted file mode 100644
index 75d08592795..00000000000
--- a/Docs/Images/Attic/mysql-09.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-10.gif b/Docs/Images/Attic/mysql-10.gif
deleted file mode 100644
index 8d0a8551e9e..00000000000
--- a/Docs/Images/Attic/mysql-10.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-11.gif b/Docs/Images/Attic/mysql-11.gif
deleted file mode 100644
index e5f3770a7bd..00000000000
--- a/Docs/Images/Attic/mysql-11.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-12.gif b/Docs/Images/Attic/mysql-12.gif
deleted file mode 100644
index b045aaf3549..00000000000
--- a/Docs/Images/Attic/mysql-12.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-13.gif b/Docs/Images/Attic/mysql-13.gif
deleted file mode 100644
index 0d5aaf88f6f..00000000000
--- a/Docs/Images/Attic/mysql-13.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-14.gif b/Docs/Images/Attic/mysql-14.gif
deleted file mode 100644
index 9bce287b4b3..00000000000
--- a/Docs/Images/Attic/mysql-14.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-15.gif b/Docs/Images/Attic/mysql-15.gif
deleted file mode 100644
index d70ffec83dd..00000000000
--- a/Docs/Images/Attic/mysql-15.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-16.gif b/Docs/Images/Attic/mysql-16.gif
deleted file mode 100644
index 9b30833dc1d..00000000000
--- a/Docs/Images/Attic/mysql-16.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-17.gif b/Docs/Images/Attic/mysql-17.gif
deleted file mode 100644
index 5b228496b66..00000000000
--- a/Docs/Images/Attic/mysql-17.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-18.gif b/Docs/Images/Attic/mysql-18.gif
deleted file mode 100644
index 71211350aa2..00000000000
--- a/Docs/Images/Attic/mysql-18.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-19.gif b/Docs/Images/Attic/mysql-19.gif
deleted file mode 100644
index 38e6691d9c6..00000000000
--- a/Docs/Images/Attic/mysql-19.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql-compatible.jpg b/Docs/Images/Attic/mysql-compatible.jpg
deleted file mode 100644
index cce9cf84b91..00000000000
--- a/Docs/Images/Attic/mysql-compatible.jpg
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql5.gif b/Docs/Images/Attic/mysql5.gif
deleted file mode 100644
index f78b8a17b93..00000000000
--- a/Docs/Images/Attic/mysql5.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql_anim-01.gif b/Docs/Images/Attic/mysql_anim-01.gif
deleted file mode 100644
index f537d60da41..00000000000
--- a/Docs/Images/Attic/mysql_anim-01.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql_anim-02.gif b/Docs/Images/Attic/mysql_anim-02.gif
deleted file mode 100644
index cfd3e1cfc3e..00000000000
--- a/Docs/Images/Attic/mysql_anim-02.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql_anim-03.gif b/Docs/Images/Attic/mysql_anim-03.gif
deleted file mode 100644
index 6ac6b3ebcc1..00000000000
--- a/Docs/Images/Attic/mysql_anim-03.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql_anim-04.gif b/Docs/Images/Attic/mysql_anim-04.gif
deleted file mode 100644
index d3150860ecf..00000000000
--- a/Docs/Images/Attic/mysql_anim-04.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql_anim-05.gif b/Docs/Images/Attic/mysql_anim-05.gif
deleted file mode 100644
index 46f288ef71d..00000000000
--- a/Docs/Images/Attic/mysql_anim-05.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/mysql_anim-06.gif b/Docs/Images/Attic/mysql_anim-06.gif
deleted file mode 100644
index 3dc283dbfb6..00000000000
--- a/Docs/Images/Attic/mysql_anim-06.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Attic/powered-by-MySQL-transparent.gif b/Docs/Images/Attic/powered-by-MySQL-transparent.gif
deleted file mode 100644
index be309d0de1c..00000000000
--- a/Docs/Images/Attic/powered-by-MySQL-transparent.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/Makefile.am b/Docs/Images/Makefile.am
deleted file mode 100644
index b57d701d8a0..00000000000
--- a/Docs/Images/Makefile.am
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-# MA 02111-1307, USA
-
-## Process this file with automake to create Makefile.in
-
-# This is a dummy file to satisfy the hierarchy of Makefiles.
-# When a release is built, the true Makefile will be copied
-# together with the "real" files in this directory.
-
-EXTRA_DIST =
-
-# Nothing to create in this dummy directory.
-all:
- :
-
-# Nothing to cleanup in this dummy directory.
-clean:
- :
-
-# Don't update the files from bitkeeper
-%::SCCS/s.%
diff --git a/Docs/Images/empty.png b/Docs/Images/empty.png
deleted file mode 100644
index 71ac39b37f0..00000000000
--- a/Docs/Images/empty.png
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/flag-background.pnm b/Docs/Images/flag-background.pnm
deleted file mode 100755
index 2bd7b604298..00000000000
--- a/Docs/Images/flag-background.pnm
+++ /dev/null
Binary files differ
diff --git a/Docs/Images/mysql-logo.gif b/Docs/Images/mysql-logo.gif
deleted file mode 100644
index f8110ddcb93..00000000000
--- a/Docs/Images/mysql-logo.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Makefile.am b/Docs/Makefile.am
index 2f32dfca1b4..4d6aa30a30f 100644
--- a/Docs/Makefile.am
+++ b/Docs/Makefile.am
@@ -9,188 +9,17 @@
# If you know how to fix any of this more elegantly please mail
# docs@mysql.com
-TEXI2HTML_FLAGS = -iso -number -acc
-DVIPS = dvips
-MAKEINFO = @MAKEINFO@
-TEXINFO_TEX = Support/texinfo.tex
+noinst_SCRIPTS = Support/generate-text-files.pl
-noinst_SCRIPTS = Support/texi2html Support/generate-text-files.pl \
- Support/generate-mirror-listing.pl
-info_TEXINFOS = manual.texi
+EXTRA_DIST = $(noinst_SCRIPTS) mysql.info INSTALL-BINARY
-targets = manual.txt mysql.info manual.html
-
-BUILT_SOURCES = $(targets) manual_toc.html include.texi
-EXTRA_DIST = $(noinst_SCRIPTS) $(BUILT_SOURCES) mysqld_error.txt \
- INSTALL-BINARY reservedwords.texi
-
-SUBDIRS = Images
-
-all: $(targets) txt_files
+all: txt_files
txt_files: ../INSTALL-SOURCE ../COPYING ../EXCEPTIONS-CLIENT \
INSTALL-BINARY ../support-files/MacOSX/ReadMe.txt
-CLEAN_FILES: $(BUILD_SOURCES)
- touch $(BUILD_SOURCES)
-
-# The PostScript and PDF version are so big that they are not included in the
-# standard distribution. It is available for download from the home page.
-paper: manual_a4.ps manual_letter.ps $(PDFMANUAL)
-
-#########################################################################
-
-# The Makefile contains the previous version so we can not use that
-include.texi: ../configure.in
- echo "@c This file is autogenerated by the Makefile" > $@
- echo -n "@set mysqlversion " >> $@
- grep "AM_INIT_AUTOMAKE(mysql, " ../configure.in | \
- sed -e 's;AM_INIT_AUTOMAKE(mysql, ;;' -e 's;);;' >> $@
- echo -n "@set defaultport " >> $@
- grep "MYSQL_TCP_PORT_DEFAULT=" ../configure.in | \
- sed -e 's;MYSQL_TCP_PORT_DEFAULT=;;' >> $@
-
-
-#
-# English Manual
-#
-
-# GNU Info
-mysql.info: manual.texi include.texi
- cd $(srcdir) && $(MAKEINFO) --no-split -I $(srcdir) $<
-
-# Plain Text
-manual.txt: manual.texi include.texi
- cd $(srcdir) && \
- $(MAKEINFO) -I $(srcdir) --no-headers --no-split --output $@ $<
-
-# HTML, all in one file
-manual.html: manual.texi include.texi $(srcdir)/Support/texi2html
- cd $(srcdir) && @PERL@ $(srcdir)/Support/texi2html $(TEXI2HTML_FLAGS) $<
-manual_toc.html: manual.html
-
-# PDF, Portable Document Format
-manual.pdf: manual.texi
- sed -e 's|@image{[^}]*} *||g' <$< >manual-tmp.texi
- pdftex --interaction=nonstopmode manual-tmp.texi
- texindex manual-tmp.??
- pdftex --interaction=nonstopmode manual-tmp.texi
- texindex manual-tmp.??
- pdftex --interaction=nonstopmode manual-tmp.texi
- mv manual-tmp.pdf $@
- rm -f manual-tmp.*
- touch $@
-
-# XML, DocBook 4.0
-mysql.xml: manual.texi include.texi
- $(MAKEINFO) --force --no-ifinfo --docbook $<
- mv $@ mysql-tmp.xml
- Support/docbook-fixup.pl <mysql-tmp.xml >$@
- rm -f mysql-tmp.xml
-
-# Postscript, A4 Paper
-manual_a4.ps: manual.texi include.texi
- TEXINPUTS=$(srcdir):$$TEXINPUTS \
- MAKEINFO='$(MAKEINFO) -I $(srcdir)' \
- $(TEXI2DVI) --batch --texinfo --quiet '@afourpaper' $<
- $(DVIPS) -t a4 manual.dvi -o $@
- touch $@
-
-# Postscript, US Letter Paper
-manual_letter.ps: manual.texi include.texi
- TEXINPUTS=$(srcdir):$$TEXINPUTS \
- MAKEINFO='$(MAKEINFO) -I $(srcdir)' \
- $(TEXI2DVI) --batch $<
- $(DVIPS) -t letter manual.dvi -o $@
- touch $@
-
-
-#
-# German Manual
-#
-
-# GNU Info
-mysql.de.info: manual.de.texi include.texi
- cd $(srcdir) && $(MAKEINFO) --no-split -I $(srcdir) $<
-
-# Plain Text
-manual.de.txt: manual.de.texi include.texi
- cd $(srcdir) && \
- $(MAKEINFO) -I $(srcdir) --no-headers --no-split --output $@ $<
-
-# HTML, all in one file
-manual.de.html: manual.de.texi include.texi $(srcdir)/Support/texi2html
- cd $(srcdir) && @PERL@ $(srcdir)/Support/texi2html $(TEXI2HTML_FLAGS) $<
-manual_toc.de.html: manual.html
-
-# PDF, Portable Document Format
-manual.de.pdf: manual.de.texi
- sed -e 's|@image{[^}]*} *||g' <$< >manual-tmp.texi
- pdftex --interaction=nonstopmode manual-tmp.texi
- texindex manual-tmp.??
- pdftex --interaction=nonstopmode manual-tmp.texi
- texindex manual-tmp.??
- pdftex --interaction=nonstopmode manual-tmp.texi
- mv manual-tmp.pdf $@
- rm -f manual-tmp.*
- touch $@
-
-# XML, DocBook 4.0
-mysql.de.xml: manual.de.texi include.texi
- $(MAKEINFO) --force --no-ifinfo --docbook $<
- mv $@ mysql-tmp.xml
- Support/docbook-fixup.pl <mysql-tmp.xml >$@
- rm -f mysql-tmp.xml
-
-# Postscript, A4 Paper
-manual_a4.de.ps: manual.de.texi include.texi
- TEXINPUTS=$(srcdir):$$TEXINPUTS \
- MAKEINFO='$(MAKEINFO) -I $(srcdir)' \
- $(TEXI2DVI) --batch --texinfo --quiet '@afourpaper' $<
- $(DVIPS) -t a4 manual.de.dvi -o $@
- touch $@
-
-# Postscript, US Letter Paper
-manual_letter.de.ps: manual.de.texi include.texi
- TEXINPUTS=$(srcdir):$$TEXINPUTS \
- MAKEINFO='$(MAKEINFO) -I $(srcdir)' \
- $(TEXI2DVI) --batch $<
- $(DVIPS) -t letter manual.de.dvi -o $@
- touch $@
-
-
-#
-# Miscellaneous
-#
-
-# Target to produce NuSphere Manual
-nusphere.pdf: manual.texi
- sed -e 's/@example/@smallexample/g' \
- -e 's/@end example/@end smallexample/g' \
- -e 's/@c ifnusphere //g' \
- -e 's|@image{[^}]*} *||g' \
- <$< >manual-tmp.texi
- pdftex --interaction=nonstopmode manual-tmp.texi
- texindex manual-tmp.??
- pdftex --interaction=nonstopmode manual-tmp.texi
- texindex manual-tmp.??
- pdftex --interaction=nonstopmode manual-tmp.texi
- mv manual-tmp.pdf $@
- rm -f manual-tmp.*
- touch $@
-
-# Include images for the manual in the distribution
-dist-hook:
- BD=`cd $(top_srcdir); pwd`; \
- if test ! -d $(distdir)/Flags; then mkdir -p $(distdir)/Flags; fi; \
- $(INSTALL_DATA) $(srcdir)/Flags/*.gif $(srcdir)/Flags/*.eps \
- $(srcdir)/Flags/*.txt $(distdir)/Flags;
- echo "PostScript and PDF versions suitable for printing" \
- > $(distdir)/manual.ps
- echo "are available from http://www.mysql.com/Manual/" \
- >> $(distdir)/manual.ps
- echo "or any mirror site" \
- >> $(distdir)/manual.ps
+CLEAN_FILES: $(txt_files)
+ touch $(txt_files)
GT = $(srcdir)/Support/generate-text-files.pl
@@ -203,9 +32,6 @@ GT = $(srcdir)/Support/generate-text-files.pl
INSTALL-BINARY: mysql.info $(GT)
perl -w $(GT) mysql.info "Installing binary" "Installing source" > $@
-../COPYING: mysql.info $(GT)
- perl -w $(GT) mysql.info "GPL license" "MySQL FLOSS License Exception" > $@
-
../EXCEPTIONS-CLIENT: mysql.info $(GT)
perl -w $(GT) mysql.info "MySQL FLOSS License Exception" "Function Index" > $@
diff --git a/Docs/Raw-Flags/afghanistan.gif b/Docs/Raw-Flags/afghanistan.gif
deleted file mode 100644
index 2cd2b54d8f5..00000000000
--- a/Docs/Raw-Flags/afghanistan.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/albania.gif b/Docs/Raw-Flags/albania.gif
deleted file mode 100644
index d5c8e0c4251..00000000000
--- a/Docs/Raw-Flags/albania.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/algeria.gif b/Docs/Raw-Flags/algeria.gif
deleted file mode 100644
index db8e4a4f52f..00000000000
--- a/Docs/Raw-Flags/algeria.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/andorra.gif b/Docs/Raw-Flags/andorra.gif
deleted file mode 100644
index 4191a68ed4c..00000000000
--- a/Docs/Raw-Flags/andorra.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/angola.gif b/Docs/Raw-Flags/angola.gif
deleted file mode 100644
index 40cce332a4e..00000000000
--- a/Docs/Raw-Flags/angola.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/antartica.gif b/Docs/Raw-Flags/antartica.gif
deleted file mode 100644
index 3f7eac3f31c..00000000000
--- a/Docs/Raw-Flags/antartica.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/antigua-and-barbuda.gif b/Docs/Raw-Flags/antigua-and-barbuda.gif
deleted file mode 100644
index 8cdc6e9f69c..00000000000
--- a/Docs/Raw-Flags/antigua-and-barbuda.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/argentina.gif b/Docs/Raw-Flags/argentina.gif
deleted file mode 100644
index dce5943f382..00000000000
--- a/Docs/Raw-Flags/argentina.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/armenia.gif b/Docs/Raw-Flags/armenia.gif
deleted file mode 100644
index c59294998cf..00000000000
--- a/Docs/Raw-Flags/armenia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/australia.gif b/Docs/Raw-Flags/australia.gif
deleted file mode 100644
index 0a7174bc277..00000000000
--- a/Docs/Raw-Flags/australia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/austria.gif b/Docs/Raw-Flags/austria.gif
deleted file mode 100644
index c4f251ccae3..00000000000
--- a/Docs/Raw-Flags/austria.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/azerbaijan.gif b/Docs/Raw-Flags/azerbaijan.gif
deleted file mode 100644
index 455a21682a2..00000000000
--- a/Docs/Raw-Flags/azerbaijan.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/bahamas.gif b/Docs/Raw-Flags/bahamas.gif
deleted file mode 100644
index bdfcda7dcfc..00000000000
--- a/Docs/Raw-Flags/bahamas.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/bahrein.gif b/Docs/Raw-Flags/bahrein.gif
deleted file mode 100644
index 3fa9f84a812..00000000000
--- a/Docs/Raw-Flags/bahrein.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/bangladesh.gif b/Docs/Raw-Flags/bangladesh.gif
deleted file mode 100644
index d16696cfdb2..00000000000
--- a/Docs/Raw-Flags/bangladesh.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/barbados.gif b/Docs/Raw-Flags/barbados.gif
deleted file mode 100644
index 6370aff79ba..00000000000
--- a/Docs/Raw-Flags/barbados.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/belarus.gif b/Docs/Raw-Flags/belarus.gif
deleted file mode 100644
index 68498ad61e8..00000000000
--- a/Docs/Raw-Flags/belarus.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/belgium.gif b/Docs/Raw-Flags/belgium.gif
deleted file mode 100644
index 6822fd4d923..00000000000
--- a/Docs/Raw-Flags/belgium.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/belize.gif b/Docs/Raw-Flags/belize.gif
deleted file mode 100644
index 9665a50b0ae..00000000000
--- a/Docs/Raw-Flags/belize.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/benin.gif b/Docs/Raw-Flags/benin.gif
deleted file mode 100644
index 3b29c8a1210..00000000000
--- a/Docs/Raw-Flags/benin.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/bermuda.gif b/Docs/Raw-Flags/bermuda.gif
deleted file mode 100644
index e46e200e6ea..00000000000
--- a/Docs/Raw-Flags/bermuda.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/bhutan.gif b/Docs/Raw-Flags/bhutan.gif
deleted file mode 100644
index 52ed6ad162e..00000000000
--- a/Docs/Raw-Flags/bhutan.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/bolivia.gif b/Docs/Raw-Flags/bolivia.gif
deleted file mode 100644
index 8b2491294a9..00000000000
--- a/Docs/Raw-Flags/bolivia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/bosnia-and-herzegovina.gif b/Docs/Raw-Flags/bosnia-and-herzegovina.gif
deleted file mode 100644
index c01717206ef..00000000000
--- a/Docs/Raw-Flags/bosnia-and-herzegovina.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/botswana.gif b/Docs/Raw-Flags/botswana.gif
deleted file mode 100644
index 7ffc9b76f36..00000000000
--- a/Docs/Raw-Flags/botswana.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/brazil.gif b/Docs/Raw-Flags/brazil.gif
deleted file mode 100644
index 92a2fe82ef1..00000000000
--- a/Docs/Raw-Flags/brazil.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/brunei.gif b/Docs/Raw-Flags/brunei.gif
deleted file mode 100644
index d64d5c381a0..00000000000
--- a/Docs/Raw-Flags/brunei.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/bulgaria.gif b/Docs/Raw-Flags/bulgaria.gif
deleted file mode 100644
index 7df52d126b5..00000000000
--- a/Docs/Raw-Flags/bulgaria.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/burkina-faso.gif b/Docs/Raw-Flags/burkina-faso.gif
deleted file mode 100644
index 803e1d6e9c1..00000000000
--- a/Docs/Raw-Flags/burkina-faso.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/burma.gif b/Docs/Raw-Flags/burma.gif
deleted file mode 100644
index 44d63cc1e18..00000000000
--- a/Docs/Raw-Flags/burma.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/burundi.gif b/Docs/Raw-Flags/burundi.gif
deleted file mode 100644
index dee8e5ef7cd..00000000000
--- a/Docs/Raw-Flags/burundi.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/cambodia.gif b/Docs/Raw-Flags/cambodia.gif
deleted file mode 100644
index 95314128b2c..00000000000
--- a/Docs/Raw-Flags/cambodia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/cameroon.gif b/Docs/Raw-Flags/cameroon.gif
deleted file mode 100644
index 5fcd73b81d3..00000000000
--- a/Docs/Raw-Flags/cameroon.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/canada.gif b/Docs/Raw-Flags/canada.gif
deleted file mode 100644
index e4aafab3ec2..00000000000
--- a/Docs/Raw-Flags/canada.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/cape-verde.gif b/Docs/Raw-Flags/cape-verde.gif
deleted file mode 100644
index dc2712c4e12..00000000000
--- a/Docs/Raw-Flags/cape-verde.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/central-african-republic.gif b/Docs/Raw-Flags/central-african-republic.gif
deleted file mode 100644
index 8bd1dc3d15f..00000000000
--- a/Docs/Raw-Flags/central-african-republic.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/chad.gif b/Docs/Raw-Flags/chad.gif
deleted file mode 100644
index 6dace6197af..00000000000
--- a/Docs/Raw-Flags/chad.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/chile.gif b/Docs/Raw-Flags/chile.gif
deleted file mode 100644
index 30b16b6f335..00000000000
--- a/Docs/Raw-Flags/chile.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/china.gif b/Docs/Raw-Flags/china.gif
deleted file mode 100644
index 211ebf52d3c..00000000000
--- a/Docs/Raw-Flags/china.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/colombia.gif b/Docs/Raw-Flags/colombia.gif
deleted file mode 100644
index f6f790c1b88..00000000000
--- a/Docs/Raw-Flags/colombia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/comoros.gif b/Docs/Raw-Flags/comoros.gif
deleted file mode 100644
index 13f8da6111e..00000000000
--- a/Docs/Raw-Flags/comoros.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/congo.gif b/Docs/Raw-Flags/congo.gif
deleted file mode 100644
index 2d485dcca6d..00000000000
--- a/Docs/Raw-Flags/congo.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/costa-rica.gif b/Docs/Raw-Flags/costa-rica.gif
deleted file mode 100644
index d52b6dddb1b..00000000000
--- a/Docs/Raw-Flags/costa-rica.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/cote-d-ivoire.gif b/Docs/Raw-Flags/cote-d-ivoire.gif
deleted file mode 100644
index e7323be021f..00000000000
--- a/Docs/Raw-Flags/cote-d-ivoire.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/croatia.gif b/Docs/Raw-Flags/croatia.gif
deleted file mode 100644
index 25c69200761..00000000000
--- a/Docs/Raw-Flags/croatia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/cuba.gif b/Docs/Raw-Flags/cuba.gif
deleted file mode 100644
index 0e2b6164b96..00000000000
--- a/Docs/Raw-Flags/cuba.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/cyprus.gif b/Docs/Raw-Flags/cyprus.gif
deleted file mode 100644
index 7ee3602d91d..00000000000
--- a/Docs/Raw-Flags/cyprus.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/czech-republic.gif b/Docs/Raw-Flags/czech-republic.gif
deleted file mode 100644
index e99651120bb..00000000000
--- a/Docs/Raw-Flags/czech-republic.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/denmark-original-incorrect.gif b/Docs/Raw-Flags/denmark-original-incorrect.gif
deleted file mode 100644
index e1be8f21764..00000000000
--- a/Docs/Raw-Flags/denmark-original-incorrect.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/denmark.gif b/Docs/Raw-Flags/denmark.gif
deleted file mode 100644
index 336f9a2f39f..00000000000
--- a/Docs/Raw-Flags/denmark.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/djibouti.gif b/Docs/Raw-Flags/djibouti.gif
deleted file mode 100644
index c30c7b47822..00000000000
--- a/Docs/Raw-Flags/djibouti.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/dominica.gif b/Docs/Raw-Flags/dominica.gif
deleted file mode 100644
index ae69b33be58..00000000000
--- a/Docs/Raw-Flags/dominica.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/dominican-republic.gif b/Docs/Raw-Flags/dominican-republic.gif
deleted file mode 100644
index e2620c5b50f..00000000000
--- a/Docs/Raw-Flags/dominican-republic.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/ecuador.gif b/Docs/Raw-Flags/ecuador.gif
deleted file mode 100644
index ff94fc4a173..00000000000
--- a/Docs/Raw-Flags/ecuador.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/egypt.gif b/Docs/Raw-Flags/egypt.gif
deleted file mode 100644
index ba6a51e67bf..00000000000
--- a/Docs/Raw-Flags/egypt.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/el-salvador.gif b/Docs/Raw-Flags/el-salvador.gif
deleted file mode 100644
index 602af34927b..00000000000
--- a/Docs/Raw-Flags/el-salvador.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/equatorial-guinea.gif b/Docs/Raw-Flags/equatorial-guinea.gif
deleted file mode 100644
index c35e9e613d0..00000000000
--- a/Docs/Raw-Flags/equatorial-guinea.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/eritrea.gif b/Docs/Raw-Flags/eritrea.gif
deleted file mode 100644
index 127a185547a..00000000000
--- a/Docs/Raw-Flags/eritrea.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/estonia.gif b/Docs/Raw-Flags/estonia.gif
deleted file mode 100644
index 3462f84c4df..00000000000
--- a/Docs/Raw-Flags/estonia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/ethiopia.gif b/Docs/Raw-Flags/ethiopia.gif
deleted file mode 100644
index 5f3611ed09e..00000000000
--- a/Docs/Raw-Flags/ethiopia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/fiji.gif b/Docs/Raw-Flags/fiji.gif
deleted file mode 100644
index b20bbd3d467..00000000000
--- a/Docs/Raw-Flags/fiji.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/finland.gif b/Docs/Raw-Flags/finland.gif
deleted file mode 100644
index b923a5b6850..00000000000
--- a/Docs/Raw-Flags/finland.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/france.gif b/Docs/Raw-Flags/france.gif
deleted file mode 100644
index 3f34a4feada..00000000000
--- a/Docs/Raw-Flags/france.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/gabon.gif b/Docs/Raw-Flags/gabon.gif
deleted file mode 100644
index ec10b2ee0b0..00000000000
--- a/Docs/Raw-Flags/gabon.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/gambia.gif b/Docs/Raw-Flags/gambia.gif
deleted file mode 100644
index 590a4242fdc..00000000000
--- a/Docs/Raw-Flags/gambia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/georgia.gif b/Docs/Raw-Flags/georgia.gif
deleted file mode 100644
index ffa94298ec8..00000000000
--- a/Docs/Raw-Flags/georgia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/germany.gif b/Docs/Raw-Flags/germany.gif
deleted file mode 100644
index 4045cd0fa29..00000000000
--- a/Docs/Raw-Flags/germany.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/ghana.gif b/Docs/Raw-Flags/ghana.gif
deleted file mode 100644
index f87596c1a19..00000000000
--- a/Docs/Raw-Flags/ghana.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/great-britain.gif b/Docs/Raw-Flags/great-britain.gif
deleted file mode 100644
index 093d611c60c..00000000000
--- a/Docs/Raw-Flags/great-britain.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/greece.gif b/Docs/Raw-Flags/greece.gif
deleted file mode 100644
index 26b0b18a28f..00000000000
--- a/Docs/Raw-Flags/greece.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/greenland.gif b/Docs/Raw-Flags/greenland.gif
deleted file mode 100644
index 3885b7c8352..00000000000
--- a/Docs/Raw-Flags/greenland.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/grenada.gif b/Docs/Raw-Flags/grenada.gif
deleted file mode 100644
index f429051f7eb..00000000000
--- a/Docs/Raw-Flags/grenada.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/guatemala.gif b/Docs/Raw-Flags/guatemala.gif
deleted file mode 100644
index 6d3684ed31b..00000000000
--- a/Docs/Raw-Flags/guatemala.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/guinea-bissau.gif b/Docs/Raw-Flags/guinea-bissau.gif
deleted file mode 100644
index adcabbda0ab..00000000000
--- a/Docs/Raw-Flags/guinea-bissau.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/guinea.gif b/Docs/Raw-Flags/guinea.gif
deleted file mode 100644
index ecc584d2e3b..00000000000
--- a/Docs/Raw-Flags/guinea.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/guyana.gif b/Docs/Raw-Flags/guyana.gif
deleted file mode 100644
index 55385b9a3f5..00000000000
--- a/Docs/Raw-Flags/guyana.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/haiti.gif b/Docs/Raw-Flags/haiti.gif
deleted file mode 100644
index fe6cdee72bb..00000000000
--- a/Docs/Raw-Flags/haiti.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/honduras.gif b/Docs/Raw-Flags/honduras.gif
deleted file mode 100644
index 1136e352d91..00000000000
--- a/Docs/Raw-Flags/honduras.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/hungary.gif b/Docs/Raw-Flags/hungary.gif
deleted file mode 100644
index 48e1741d8ea..00000000000
--- a/Docs/Raw-Flags/hungary.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/iceland.gif b/Docs/Raw-Flags/iceland.gif
deleted file mode 100644
index 9ba19690ea3..00000000000
--- a/Docs/Raw-Flags/iceland.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/india.gif b/Docs/Raw-Flags/india.gif
deleted file mode 100644
index 5e51de863f5..00000000000
--- a/Docs/Raw-Flags/india.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/indonesia.gif b/Docs/Raw-Flags/indonesia.gif
deleted file mode 100644
index bf6bec293c7..00000000000
--- a/Docs/Raw-Flags/indonesia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/iran.gif b/Docs/Raw-Flags/iran.gif
deleted file mode 100644
index cdab0112459..00000000000
--- a/Docs/Raw-Flags/iran.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/iraq.gif b/Docs/Raw-Flags/iraq.gif
deleted file mode 100644
index 2437eec12f8..00000000000
--- a/Docs/Raw-Flags/iraq.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/ireland.gif b/Docs/Raw-Flags/ireland.gif
deleted file mode 100644
index a69001e19a9..00000000000
--- a/Docs/Raw-Flags/ireland.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/israel.gif b/Docs/Raw-Flags/israel.gif
deleted file mode 100644
index e349db15526..00000000000
--- a/Docs/Raw-Flags/israel.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/italy.gif b/Docs/Raw-Flags/italy.gif
deleted file mode 100644
index 8b2a67c75ab..00000000000
--- a/Docs/Raw-Flags/italy.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/jamaica.gif b/Docs/Raw-Flags/jamaica.gif
deleted file mode 100644
index 16e30216ba6..00000000000
--- a/Docs/Raw-Flags/jamaica.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/japan.gif b/Docs/Raw-Flags/japan.gif
deleted file mode 100644
index a4cbf7ac5ca..00000000000
--- a/Docs/Raw-Flags/japan.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/jordan.gif b/Docs/Raw-Flags/jordan.gif
deleted file mode 100644
index ca4d16c2d22..00000000000
--- a/Docs/Raw-Flags/jordan.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/kazakhstan.gif b/Docs/Raw-Flags/kazakhstan.gif
deleted file mode 100644
index b687186342f..00000000000
--- a/Docs/Raw-Flags/kazakhstan.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/kenya.gif b/Docs/Raw-Flags/kenya.gif
deleted file mode 100644
index 2b4ff6e682b..00000000000
--- a/Docs/Raw-Flags/kenya.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/kiribati.gif b/Docs/Raw-Flags/kiribati.gif
deleted file mode 100644
index 0e4ba3832d3..00000000000
--- a/Docs/Raw-Flags/kiribati.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/kuwait.gif b/Docs/Raw-Flags/kuwait.gif
deleted file mode 100644
index 007664b6d68..00000000000
--- a/Docs/Raw-Flags/kuwait.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/kyrgyzstan.gif b/Docs/Raw-Flags/kyrgyzstan.gif
deleted file mode 100644
index 0a22c27173f..00000000000
--- a/Docs/Raw-Flags/kyrgyzstan.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/laos.gif b/Docs/Raw-Flags/laos.gif
deleted file mode 100644
index f9f43106038..00000000000
--- a/Docs/Raw-Flags/laos.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/latvia.gif b/Docs/Raw-Flags/latvia.gif
deleted file mode 100644
index a364abdabaa..00000000000
--- a/Docs/Raw-Flags/latvia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/lebanon.gif b/Docs/Raw-Flags/lebanon.gif
deleted file mode 100644
index 524b6c60b1c..00000000000
--- a/Docs/Raw-Flags/lebanon.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/lesotho.gif b/Docs/Raw-Flags/lesotho.gif
deleted file mode 100644
index de242ec77d1..00000000000
--- a/Docs/Raw-Flags/lesotho.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/liberia.gif b/Docs/Raw-Flags/liberia.gif
deleted file mode 100644
index f1b908e5fa0..00000000000
--- a/Docs/Raw-Flags/liberia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/libya.gif b/Docs/Raw-Flags/libya.gif
deleted file mode 100644
index 55a121435cc..00000000000
--- a/Docs/Raw-Flags/libya.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/liechtenstein.gif b/Docs/Raw-Flags/liechtenstein.gif
deleted file mode 100644
index fe24e828b0b..00000000000
--- a/Docs/Raw-Flags/liechtenstein.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/lithuania.gif b/Docs/Raw-Flags/lithuania.gif
deleted file mode 100644
index 849d0a17d9a..00000000000
--- a/Docs/Raw-Flags/lithuania.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/luxembourg.gif b/Docs/Raw-Flags/luxembourg.gif
deleted file mode 100644
index 9ec9d31a439..00000000000
--- a/Docs/Raw-Flags/luxembourg.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/macedonia.gif b/Docs/Raw-Flags/macedonia.gif
deleted file mode 100644
index 174506e0021..00000000000
--- a/Docs/Raw-Flags/macedonia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/madagascar.gif b/Docs/Raw-Flags/madagascar.gif
deleted file mode 100644
index 18db5d26ff5..00000000000
--- a/Docs/Raw-Flags/madagascar.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/malawi.gif b/Docs/Raw-Flags/malawi.gif
deleted file mode 100644
index 76ffcf0585d..00000000000
--- a/Docs/Raw-Flags/malawi.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/malaysia.gif b/Docs/Raw-Flags/malaysia.gif
deleted file mode 100644
index d29656ebefe..00000000000
--- a/Docs/Raw-Flags/malaysia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/maldives.gif b/Docs/Raw-Flags/maldives.gif
deleted file mode 100644
index c0c53d9a868..00000000000
--- a/Docs/Raw-Flags/maldives.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/mali.gif b/Docs/Raw-Flags/mali.gif
deleted file mode 100644
index b2430b3de65..00000000000
--- a/Docs/Raw-Flags/mali.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/malta.gif b/Docs/Raw-Flags/malta.gif
deleted file mode 100644
index 1db0ec66a8b..00000000000
--- a/Docs/Raw-Flags/malta.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/marshall.gif b/Docs/Raw-Flags/marshall.gif
deleted file mode 100644
index 3574580b4da..00000000000
--- a/Docs/Raw-Flags/marshall.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/mauritania.gif b/Docs/Raw-Flags/mauritania.gif
deleted file mode 100644
index 3cc19a06f7b..00000000000
--- a/Docs/Raw-Flags/mauritania.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/mauritius.gif b/Docs/Raw-Flags/mauritius.gif
deleted file mode 100644
index 042083b74a7..00000000000
--- a/Docs/Raw-Flags/mauritius.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/mexico.gif b/Docs/Raw-Flags/mexico.gif
deleted file mode 100644
index 978968cc2e3..00000000000
--- a/Docs/Raw-Flags/mexico.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/micronesia.gif b/Docs/Raw-Flags/micronesia.gif
deleted file mode 100644
index 08ac921fbae..00000000000
--- a/Docs/Raw-Flags/micronesia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/moldova.gif b/Docs/Raw-Flags/moldova.gif
deleted file mode 100644
index 553aaefa510..00000000000
--- a/Docs/Raw-Flags/moldova.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/monaco.gif b/Docs/Raw-Flags/monaco.gif
deleted file mode 100644
index bf6bec293c7..00000000000
--- a/Docs/Raw-Flags/monaco.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/mongolia.gif b/Docs/Raw-Flags/mongolia.gif
deleted file mode 100644
index b5031d9fba5..00000000000
--- a/Docs/Raw-Flags/mongolia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/morocco.gif b/Docs/Raw-Flags/morocco.gif
deleted file mode 100644
index 3dbd19fc45a..00000000000
--- a/Docs/Raw-Flags/morocco.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/mozambique.gif b/Docs/Raw-Flags/mozambique.gif
deleted file mode 100644
index 3bcafc6b40c..00000000000
--- a/Docs/Raw-Flags/mozambique.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/namibia.gif b/Docs/Raw-Flags/namibia.gif
deleted file mode 100644
index 7d8ad5d8771..00000000000
--- a/Docs/Raw-Flags/namibia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/nauru.gif b/Docs/Raw-Flags/nauru.gif
deleted file mode 100644
index 234ec7db143..00000000000
--- a/Docs/Raw-Flags/nauru.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/nepal.gif b/Docs/Raw-Flags/nepal.gif
deleted file mode 100644
index 8d536ee4d3b..00000000000
--- a/Docs/Raw-Flags/nepal.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/netherlands.gif b/Docs/Raw-Flags/netherlands.gif
deleted file mode 100644
index 8b170f1e0e8..00000000000
--- a/Docs/Raw-Flags/netherlands.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/new-zealand.gif b/Docs/Raw-Flags/new-zealand.gif
deleted file mode 100644
index 4345c82e5be..00000000000
--- a/Docs/Raw-Flags/new-zealand.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/nicaragua.gif b/Docs/Raw-Flags/nicaragua.gif
deleted file mode 100644
index 366ea5098f5..00000000000
--- a/Docs/Raw-Flags/nicaragua.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/niger.gif b/Docs/Raw-Flags/niger.gif
deleted file mode 100644
index d95591ec177..00000000000
--- a/Docs/Raw-Flags/niger.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/nigeria.gif b/Docs/Raw-Flags/nigeria.gif
deleted file mode 100644
index b80eeb0c4ab..00000000000
--- a/Docs/Raw-Flags/nigeria.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/north-korea.gif b/Docs/Raw-Flags/north-korea.gif
deleted file mode 100644
index 83de4035423..00000000000
--- a/Docs/Raw-Flags/north-korea.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/norway.gif b/Docs/Raw-Flags/norway.gif
deleted file mode 100644
index 936d41fb6c3..00000000000
--- a/Docs/Raw-Flags/norway.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/oman.gif b/Docs/Raw-Flags/oman.gif
deleted file mode 100644
index df611c57ad2..00000000000
--- a/Docs/Raw-Flags/oman.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/pakistan.gif b/Docs/Raw-Flags/pakistan.gif
deleted file mode 100644
index 455846aad70..00000000000
--- a/Docs/Raw-Flags/pakistan.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/panama.gif b/Docs/Raw-Flags/panama.gif
deleted file mode 100644
index 47dd1b70c85..00000000000
--- a/Docs/Raw-Flags/panama.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/papua-new-guinea.gif b/Docs/Raw-Flags/papua-new-guinea.gif
deleted file mode 100644
index a59c0d5a25d..00000000000
--- a/Docs/Raw-Flags/papua-new-guinea.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/paraguay.gif b/Docs/Raw-Flags/paraguay.gif
deleted file mode 100644
index 8a9ba1b2688..00000000000
--- a/Docs/Raw-Flags/paraguay.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/peru.gif b/Docs/Raw-Flags/peru.gif
deleted file mode 100644
index d07cfc047df..00000000000
--- a/Docs/Raw-Flags/peru.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/philippines.gif b/Docs/Raw-Flags/philippines.gif
deleted file mode 100644
index 9c2a2667c3c..00000000000
--- a/Docs/Raw-Flags/philippines.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/poland.gif b/Docs/Raw-Flags/poland.gif
deleted file mode 100644
index f6a26701ee9..00000000000
--- a/Docs/Raw-Flags/poland.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/portugal.gif b/Docs/Raw-Flags/portugal.gif
deleted file mode 100644
index 59d8bc06d68..00000000000
--- a/Docs/Raw-Flags/portugal.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/qatar.gif b/Docs/Raw-Flags/qatar.gif
deleted file mode 100644
index a61a85f7e6a..00000000000
--- a/Docs/Raw-Flags/qatar.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/romania.gif b/Docs/Raw-Flags/romania.gif
deleted file mode 100644
index 2214685caf0..00000000000
--- a/Docs/Raw-Flags/romania.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/russia.gif b/Docs/Raw-Flags/russia.gif
deleted file mode 100644
index 3f52bd7d490..00000000000
--- a/Docs/Raw-Flags/russia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/rwanda.gif b/Docs/Raw-Flags/rwanda.gif
deleted file mode 100644
index 71433f13b65..00000000000
--- a/Docs/Raw-Flags/rwanda.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/saint-kitts-and-nevis.gif b/Docs/Raw-Flags/saint-kitts-and-nevis.gif
deleted file mode 100644
index 8036b6a1e5c..00000000000
--- a/Docs/Raw-Flags/saint-kitts-and-nevis.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/saint-lucia.gif b/Docs/Raw-Flags/saint-lucia.gif
deleted file mode 100644
index ff7043fe307..00000000000
--- a/Docs/Raw-Flags/saint-lucia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/samoa.gif b/Docs/Raw-Flags/samoa.gif
deleted file mode 100644
index 08f135c84dc..00000000000
--- a/Docs/Raw-Flags/samoa.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/sao-tome-and-principe.gif b/Docs/Raw-Flags/sao-tome-and-principe.gif
deleted file mode 100644
index 046c6d9155b..00000000000
--- a/Docs/Raw-Flags/sao-tome-and-principe.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/saudi-arabia.gif b/Docs/Raw-Flags/saudi-arabia.gif
deleted file mode 100644
index 02838b2aa3d..00000000000
--- a/Docs/Raw-Flags/saudi-arabia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/senegal.gif b/Docs/Raw-Flags/senegal.gif
deleted file mode 100644
index e1de2967ce4..00000000000
--- a/Docs/Raw-Flags/senegal.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/seychelles.gif b/Docs/Raw-Flags/seychelles.gif
deleted file mode 100644
index 3d647a269ee..00000000000
--- a/Docs/Raw-Flags/seychelles.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/sierra-leone.gif b/Docs/Raw-Flags/sierra-leone.gif
deleted file mode 100644
index 41d5ca1c7eb..00000000000
--- a/Docs/Raw-Flags/sierra-leone.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/singapore.gif b/Docs/Raw-Flags/singapore.gif
deleted file mode 100644
index 39e32de4179..00000000000
--- a/Docs/Raw-Flags/singapore.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/slovakia.gif b/Docs/Raw-Flags/slovakia.gif
deleted file mode 100644
index f997d1ca8e6..00000000000
--- a/Docs/Raw-Flags/slovakia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/slovenia.gif b/Docs/Raw-Flags/slovenia.gif
deleted file mode 100644
index 05ff9f74b32..00000000000
--- a/Docs/Raw-Flags/slovenia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/solomon-islands.gif b/Docs/Raw-Flags/solomon-islands.gif
deleted file mode 100644
index 7fe42e8cd8e..00000000000
--- a/Docs/Raw-Flags/solomon-islands.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/somalia.gif b/Docs/Raw-Flags/somalia.gif
deleted file mode 100644
index 50876564aa8..00000000000
--- a/Docs/Raw-Flags/somalia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/south-africa.gif b/Docs/Raw-Flags/south-africa.gif
deleted file mode 100644
index 48164f22111..00000000000
--- a/Docs/Raw-Flags/south-africa.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/south-korea.gif b/Docs/Raw-Flags/south-korea.gif
deleted file mode 100644
index 7e79e557a77..00000000000
--- a/Docs/Raw-Flags/south-korea.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/spain.gif b/Docs/Raw-Flags/spain.gif
deleted file mode 100644
index cbf0734548f..00000000000
--- a/Docs/Raw-Flags/spain.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/sri-lanka.gif b/Docs/Raw-Flags/sri-lanka.gif
deleted file mode 100644
index 05926227dfd..00000000000
--- a/Docs/Raw-Flags/sri-lanka.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/sudan.gif b/Docs/Raw-Flags/sudan.gif
deleted file mode 100644
index 666c5d7b951..00000000000
--- a/Docs/Raw-Flags/sudan.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/suriname.gif b/Docs/Raw-Flags/suriname.gif
deleted file mode 100644
index 7b156242944..00000000000
--- a/Docs/Raw-Flags/suriname.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/swaziland.gif b/Docs/Raw-Flags/swaziland.gif
deleted file mode 100644
index 78a0628f44f..00000000000
--- a/Docs/Raw-Flags/swaziland.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/sweden.gif b/Docs/Raw-Flags/sweden.gif
deleted file mode 100644
index e26546b7649..00000000000
--- a/Docs/Raw-Flags/sweden.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/sweden2.gif b/Docs/Raw-Flags/sweden2.gif
deleted file mode 100644
index 999a2a68b88..00000000000
--- a/Docs/Raw-Flags/sweden2.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/switzerland.gif b/Docs/Raw-Flags/switzerland.gif
deleted file mode 100644
index 4256c5a28d0..00000000000
--- a/Docs/Raw-Flags/switzerland.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/syria.gif b/Docs/Raw-Flags/syria.gif
deleted file mode 100644
index 2dd2c0b9e8b..00000000000
--- a/Docs/Raw-Flags/syria.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/taiwan.gif b/Docs/Raw-Flags/taiwan.gif
deleted file mode 100644
index ab8f843d49c..00000000000
--- a/Docs/Raw-Flags/taiwan.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/tajikistan.gif b/Docs/Raw-Flags/tajikistan.gif
deleted file mode 100644
index e41305e5ade..00000000000
--- a/Docs/Raw-Flags/tajikistan.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/tanzania.gif b/Docs/Raw-Flags/tanzania.gif
deleted file mode 100644
index b5e266a059a..00000000000
--- a/Docs/Raw-Flags/tanzania.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/thailand.gif b/Docs/Raw-Flags/thailand.gif
deleted file mode 100644
index 68dde61999b..00000000000
--- a/Docs/Raw-Flags/thailand.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/togo.gif b/Docs/Raw-Flags/togo.gif
deleted file mode 100644
index fec51e649c8..00000000000
--- a/Docs/Raw-Flags/togo.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/tonga.gif b/Docs/Raw-Flags/tonga.gif
deleted file mode 100644
index e684b7b4a95..00000000000
--- a/Docs/Raw-Flags/tonga.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/trinidad-and-tobago.gif b/Docs/Raw-Flags/trinidad-and-tobago.gif
deleted file mode 100644
index 73f6a90b3f8..00000000000
--- a/Docs/Raw-Flags/trinidad-and-tobago.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/tunisia.gif b/Docs/Raw-Flags/tunisia.gif
deleted file mode 100644
index 4e9872ec826..00000000000
--- a/Docs/Raw-Flags/tunisia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/turkey.gif b/Docs/Raw-Flags/turkey.gif
deleted file mode 100644
index 334fb57c703..00000000000
--- a/Docs/Raw-Flags/turkey.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/turkmenistan.gif b/Docs/Raw-Flags/turkmenistan.gif
deleted file mode 100644
index 7b4af9ac158..00000000000
--- a/Docs/Raw-Flags/turkmenistan.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/tuvalu.gif b/Docs/Raw-Flags/tuvalu.gif
deleted file mode 100644
index 0612803d157..00000000000
--- a/Docs/Raw-Flags/tuvalu.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/uganda.gif b/Docs/Raw-Flags/uganda.gif
deleted file mode 100644
index b2874526e53..00000000000
--- a/Docs/Raw-Flags/uganda.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/ukraine.gif b/Docs/Raw-Flags/ukraine.gif
deleted file mode 100644
index 80abc1bb079..00000000000
--- a/Docs/Raw-Flags/ukraine.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/united-arab-emirates.gif b/Docs/Raw-Flags/united-arab-emirates.gif
deleted file mode 100644
index 4d85bb0aeca..00000000000
--- a/Docs/Raw-Flags/united-arab-emirates.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/united-states-of-america.gif b/Docs/Raw-Flags/united-states-of-america.gif
deleted file mode 100644
index aaee9cef01f..00000000000
--- a/Docs/Raw-Flags/united-states-of-america.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/uruguay.gif b/Docs/Raw-Flags/uruguay.gif
deleted file mode 100644
index b772fcf47df..00000000000
--- a/Docs/Raw-Flags/uruguay.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/usa.gif b/Docs/Raw-Flags/usa.gif
deleted file mode 100644
index aaee9cef01f..00000000000
--- a/Docs/Raw-Flags/usa.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/uzbekistan.gif b/Docs/Raw-Flags/uzbekistan.gif
deleted file mode 100644
index 27cfff2b4bb..00000000000
--- a/Docs/Raw-Flags/uzbekistan.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/vanuatu.gif b/Docs/Raw-Flags/vanuatu.gif
deleted file mode 100644
index 936d22a1bee..00000000000
--- a/Docs/Raw-Flags/vanuatu.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/venezuela.gif b/Docs/Raw-Flags/venezuela.gif
deleted file mode 100644
index 794f09cd856..00000000000
--- a/Docs/Raw-Flags/venezuela.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/vietnam.gif b/Docs/Raw-Flags/vietnam.gif
deleted file mode 100644
index 0b9fc1add81..00000000000
--- a/Docs/Raw-Flags/vietnam.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/vincent-and-grenadines.gif b/Docs/Raw-Flags/vincent-and-grenadines.gif
deleted file mode 100644
index 8a8689fbc39..00000000000
--- a/Docs/Raw-Flags/vincent-and-grenadines.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/yemen.gif b/Docs/Raw-Flags/yemen.gif
deleted file mode 100644
index f297f9fcef7..00000000000
--- a/Docs/Raw-Flags/yemen.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/yugoslavia.gif b/Docs/Raw-Flags/yugoslavia.gif
deleted file mode 100644
index ad7a1672692..00000000000
--- a/Docs/Raw-Flags/yugoslavia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/zaire.gif b/Docs/Raw-Flags/zaire.gif
deleted file mode 100644
index 489320d32a9..00000000000
--- a/Docs/Raw-Flags/zaire.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/zambia.gif b/Docs/Raw-Flags/zambia.gif
deleted file mode 100644
index 7cb18f157e3..00000000000
--- a/Docs/Raw-Flags/zambia.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Raw-Flags/zimbabwe.gif b/Docs/Raw-Flags/zimbabwe.gif
deleted file mode 100644
index 49d042fb265..00000000000
--- a/Docs/Raw-Flags/zimbabwe.gif
+++ /dev/null
Binary files differ
diff --git a/Docs/Support/generate-mirror-listing.pl b/Docs/Support/generate-mirror-listing.pl
deleted file mode 100755
index 1c6e579b330..00000000000
--- a/Docs/Support/generate-mirror-listing.pl
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/my/gnu/bin/perl -w -*- perl -*-
-
-# Generate a mirror listing
-
-line: while (<>) { last line if /START_OF_MIRROR_LISTING/;};
-
-print "MySQL mirror listing\n";
-
-line: while (<>)
-{
- last line if /END_OF_MIRROR_LISTING/;
- if (/^\@strong\{([A-Za-z ]+):\}$/)
- {
- print "\n*** $1\n";
- }
- elsif (m|^\@image\{Img/[a-z-]+\} ([A-Za-z]+) \[(.*)\]|)
- {
- print "\n$1 [$2]\n";
- }
- # A hacky URL regexp
- # (m!^\@uref\{((http\|ftp)://[^,]*), (FTP\|WWW)\}!)
- elsif (m!^\@uref\{((http|ftp)://[^,]*), (FTP|WWW)\}!)
- {
- $addr = $1;
- print " $addr\n";
- }
-}
diff --git a/Docs/Support/texi2html b/Docs/Support/texi2html
deleted file mode 100755
index f13c006c7dc..00000000000
--- a/Docs/Support/texi2html
+++ /dev/null
@@ -1,2259 +0,0 @@
-#!/usr/bin/perl
-# Add path to perl on the previous line and make this executable
-# if you want to use this as a normal script.
-'di ';
-'ig 00 ';
-#+##############################################################################
-# #
-# File: texi2html #
-# #
-# Description: Program to transform most Texinfo documents to HTML #
-# #
-#-##############################################################################
-
-# @(#)texi2html 1.52 971230 Written (mainly) by Lionel Cons, Lionel.Cons@cern.ch
-# Enhanced by David Axmark
-
-# The man page for this program is included at the end of this file and can be
-# viewed using the command 'nroff -man texi2html'.
-# Please read the copyright at the end of the man page.
-
-#+++############################################################################
-# #
-# Constants #
-# #
-#---############################################################################
-
-$DEBUG_TOC = 1;
-$DEBUG_INDEX = 2;
-$DEBUG_BIB = 4;
-$DEBUG_GLOSS = 8;
-$DEBUG_DEF = 16;
-$DEBUG_HTML = 32;
-$DEBUG_USER = 64;
-
-$BIBRE = '\[[\w\/]+\]'; # RE for a bibliography reference
-$FILERE = '[\/\w.+-]+'; # RE for a file name
-$VARRE = '[^\s\{\}]+'; # RE for a variable name
-$NODERE = '[^@{}:\'`",]+'; # RE for a node name
-$NODESRE = '[^@{}:\'`"]+'; # RE for a list of node names
-$XREFRE = '[^@{}]+'; # RE for a xref (should use NODERE)
-
-$ERROR = "***"; # prefix for errors and warnings
-$THISPROG = "texi2html 1.52 (with additions by MySQL AB)"; # program name and version
-$TODAY = &pretty_date; # like "20 September 1993"
-$SPLITTAG = "<!-- SPLIT HERE -->\n"; # tag to know where to split
-$PROTECTTAG = "_ThisIsProtected_"; # tag to recognize protected sections
-$html2_doctype = '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0 Strict Level 2//EN">';
-
-#
-# language dependent constants
-#
-#$LDC_SEE = 'see';
-#$LDC_SECTION = 'section';
-#$LDC_IN = 'in';
-#$LDC_TOC = 'Table of Contents';
-#$LDC_GOTO = 'Go to the';
-#$LDC_FOOT = 'Footnotes';
-# TODO: @def* shortcuts
-
-#$user_sub{"email"} = "fix_email";
-
-#
-# pre-defined indices
-#
-%predefined_index = (
- 'cp', 'c',
- 'fn', 'f',
- 'vr', 'v',
- 'ky', 'k',
- 'pg', 'p',
- 'tp', 't',
- );
-
-#
-# valid indices
-#
-%valid_index = (
- 'c', 1,
- 'f', 1,
- 'v', 1,
- 'k', 1,
- 'p', 1,
- 't', 1,
- );
-
-#
-# texinfo section names to level
-#
-%sec2level = (
- 'top', 0,
- 'chapter', 1,
- 'unnumbered', 1,
- 'majorheading', 1,
- 'chapheading', 1,
- 'appendix', 1,
- 'section', 2,
- 'unnumberedsec', 2,
- 'heading', 2,
- 'appendixsec', 2,
- 'appendixsection', 2,
- 'subsection', 3,
- 'unnumberedsubsec', 3,
- 'subheading', 3,
- 'appendixsubsec', 3,
- 'subsubsection', 4,
- 'unnumberedsubsubsec', 4,
- 'subsubheading', 4,
- 'appendixsubsubsec', 4,
- );
-
-#
-# accent map, TeX command to ISO name
-#
-%accent_map = (
- '"', 'uml',
- '\'', 'acute',
- ',{', 'cedil',
- '~', 'tilde',
- '^', 'circ',
- '`', 'grave',
- 'ringaccent{', 'ring',
- );
-
-#
-# texinfo "simple things" (@foo) to HTML ones
-#
-%simple_map = (
- # cf. makeinfo.c
- "*", "<br />", # HTML+
- " ", " ",
- "\n", "\n",
- "|", "",
- # spacing commands
- ":", "",
- "!", "!",
- "?", "?",
- ".", ".",
- # @- means "allow word break", not &mdash;
- "-", "",
- );
-
-#
-# texinfo "things" (@foo{}) to HTML ones
-#
-%things_map = (
- 'TeX', 'TeX',
- 'br', '<p>', # paragraph break
- 'bullet', '*',
- 'copyright', '(C)',
- 'registeredsymbol', '(R)',
- 'dots', '...',
- 'equiv', '==',
- 'error', 'error-->',
- 'expansion', '==>',
- 'minus', '-',
- 'point', '-!-',
- 'print', '-|',
- 'result', '=>',
- 'today', $TODAY,
- );
-
-#
-# texinfo styles (@foo{bar}) to HTML ones
-#
-%style_map = (
- 'asis', '',
- 'b', 'B',
- 'cite', 'cite',
- 'code', 'code',
- 'command', 'code',
- 'ctrl', '&do_ctrl', # special case
- 'dfn', 'strong', # DFN tag is illegal in the standard
- 'dmn', '', # useless
- 'email', '&fix_email', # special
- 'emph', 'em',
- 'file', '"tt', # will put quotes, cf. &apply_style
- 'i', 'i',
- 'kbd', 'kbd',
- 'key', 'kbd',
- 'r', '', # unsupported
- 'samp', '"samp', # will put quotes, cf. &apply_style
- 'sc', '&do_sc', # special case
- 'strong', 'strong',
- 't', 'tt',
- 'titlefont', '', # useless
- 'image', '&fix_image', # Image
- 'url', '&fix_url', # URL
- 'uref', '&fix_uref', # URL Reference
- 'var', 'var',
- 'w', '', # unsupported
- );
-
-#
-# texinfo format (@foo/@end foo) to HTML ones
-#
-%format_map = (
- 'display', 'PRE',
- 'example', 'PRE',
- 'format', 'PRE',
- 'lisp', 'PRE',
- 'quotation', 'BLOCKQUOTE',
- 'smallexample', 'PRE',
- 'smalllisp', 'PRE',
- # lists
- 'itemize', 'UL',
- 'enumerate', 'OL',
- # poorly supported
- 'flushleft', 'PRE',
- 'flushright', 'PRE',
- );
-
-#
-# texinfo definition shortcuts to real ones
-#
-%def_map = (
- # basic commands
- 'deffn', 0,
- 'defvr', 0,
- 'deftypefn', 0,
- 'deftypevr', 0,
- 'defcv', 0,
- 'defop', 0,
- 'deftp', 0,
- # basic x commands
- 'deffnx', 0,
- 'defvrx', 0,
- 'deftypefnx', 0,
- 'deftypevrx', 0,
- 'defcvx', 0,
- 'defopx', 0,
- 'deftpx', 0,
- # shortcuts
- 'defun', 'deffn Function',
- 'defmac', 'deffn Macro',
- 'defspec', 'deffn {Special Form}',
- 'defvar', 'defvr Variable',
- 'defopt', 'defvr {User Option}',
- 'deftypefun', 'deftypefn Function',
- 'deftypevar', 'deftypevr Variable',
- 'defivar', 'defcv {Instance Variable}',
- 'defmethod', 'defop Method',
- # x shortcuts
- 'defunx', 'deffnx Function',
- 'defmacx', 'deffnx Macro',
- 'defspecx', 'deffnx {Special Form}',
- 'defvarx', 'defvrx Variable',
- 'defoptx', 'defvrx {User Option}',
- 'deftypefunx', 'deftypefnx Function',
- 'deftypevarx', 'deftypevrx Variable',
- 'defivarx', 'defcvx {Instance Variable}',
- 'defmethodx', 'defopx Method',
- );
-
-#
-# things to skip
-#
-%to_skip = (
- # comments
- 'c', 1,
- 'comment', 1,
- # useless
- 'contents', 1,
- 'shortcontents', 1,
- 'summarycontents', 1,
- 'footnotestyle', 1,
- 'end ifclear', 1,
- 'end ifset', 1,
- 'titlepage', 1,
- 'end titlepage', 1,
- # unsupported commands (formatting)
- 'afourpaper', 1,
- 'cropmarks', 1,
- 'finalout', 1,
- 'headings', 1,
- 'need', 1,
- 'page', 1,
- 'setchapternewpage', 1,
- 'everyheading', 1,
- 'everyfooting', 1,
- 'evenheading', 1,
- 'evenfooting', 1,
- 'oddheading', 1,
- 'oddfooting', 1,
- 'smallbook', 1,
- 'vskip', 1,
- 'filbreak', 1,
- # unsupported formats
- 'cartouche', 1,
- 'end cartouche', 1,
- 'group', 1,
- 'end group', 1,
- );
-
-#+++############################################################################
-# #
-# Argument parsing, initialisation #
-# #
-#---############################################################################
-
-%value = (); # hold texinfo variables
-
-$use_bibliography = 1;
-$use_acc = 0;
-$debug = 0;
-$doctype = '';
-$check = 0;
-$expandinfo = 0;
-$use_glossary = 0;
-$invisible_mark = '';
-$use_iso = 0;
-@include_dirs = ();
-$show_menu = 0;
-$number_sections = 0;
-$split_node = 0;
-$split_chapter = 0;
-$monolithic = 0;
-$verbose = 0;
-$opt_use_numbers = 0;
-$opt_empty_headers = 0;
-$opt_special_links = "";
-$usage = <<EOT;
-This is $THISPROG
-To convert a Texinfo file to HMTL: $0 [options] file
-where options can be:
--acc : convert @"-like accents to &entities;
--expandinfo : use \@ifinfo sections, not \@iftex
--glossary : handle a glossary
--invisible name: use 'name' as an invisible anchor
--I dir : search also for files in 'dir'
--Dvar=value : define a variable, as with \@set
--menu : handle menus
--monolithic : output only one file including ToC
--number : number sections
--split_chapter : split on main sections
--split_node : split on nodes
--ref_num : use numeric names when spliting
--empty_headers : no headers and implicit links (for inclusion into other documents)
--usage : print usage instructions
--verbose : verbose output
-To check converted files: $0 -check [-verbose] files
-EOT
- #
-while ($#ARGV >= 0 && $ARGV[0] =~ /^-/)
-{
- $_ = shift(@ARGV);
- if (/^-acc$/) { $use_acc = 1; next; }
- if (/^-d(ebug)?(\d+)?$/) { $debug = $2 || shift(@ARGV); next; }
- if (/^-doctype$/) { $doctype = shift(@ARGV); next; }
- if (/^-c(heck)?$/) { $check = 1; next; }
- if (/^-e(xpandinfo)?$/) { $expandinfo = 1; next; }
- if (/^-g(lossary)?$/) { $use_glossary = 1; next; }
- if (/^-i(nvisible)?$/) { $invisible_mark = shift(@ARGV); next; }
- if (/^-iso$/) { $use_iso = 1; next; }
- if (/^-I(.+)?$/) { push(@include_dirs, $2 || shift(@ARGV)); next; }
- if (/^-D([a-zA-Z0-9]+)=?(.+)?$/)
- { $value{$1} = $2 ? $2 : 1; next; }
- if (/^-m(enu)?$/) { $show_menu = 1; next; }
- if (/^-mono(lithic)?$/) { $monolithic = 1; next; }
- if (/^-n(umber)?$/) { $number_sections = 1; next; }
- if (/^-ref_num$/) { $opt_use_numbers = 1; next; }
- if (/^-empty_headers$/) { $opt_empty_headers = 1; next; }
- if (/^-special_links$/) { $opt_special_links = $2 || shift(@ARGV); next; }
- if (/^-s(plit)?_?(n(ode)?|c(hapter)?)?$/) {
- if ($2 =~ /^n/) {
- $split_node = 1;
- } else {
- $split_chapter = 1;
- }
- next;
- }
- if (/^-v(erbose)?$/) { $verbose = 1; next; }
- die $usage;
-}
-if ($check) {
- die $usage unless @ARGV > 0;
- &check;
- exit;
-}
-
-die "Can't use -special_links with -ref_num.\n"
- if $opt_special_links && $opt_use_numbers;
-die "Must have -split_node with -special_links.\n"
- if $opt_special_links && !$split_node;
-
-if (($split_node || $split_chapter) && $monolithic) {
- warn "Can't use -monolithic with -split, -monolithic ignored.\n";
- $monolithic = 0;
-}
-if ($expandinfo) {
- $to_skip{'ifinfo'}++;
- $to_skip{'end ifinfo'}++;
-} else {
- $to_skip{'iftex'}++;
- $to_skip{'end iftex'}++;
-}
-$invisible_mark = '<IMG SRC="invisible.xbm">' if $invisible_mark eq 'xbm';
-die $usage unless @ARGV == 1;
-$docu = shift(@ARGV);
-if ($docu =~ /.*\//) {
- chop($docu_dir = $&);
- $docu_name = $';
-} else {
- $docu_dir = '.';
- $docu_name = $docu;
-}
-unshift(@include_dirs, $docu_dir);
-$docu_name =~ s/\.te?x(i|info)?$//; # basename of the document
-
-$docu_doc = "$docu_name.html"; # document's contents
-$link_doc = $docu_doc;
-if ($monolithic) {
- $docu_toc = $docu_foot = $docu_doc;
-} else {
- $docu_toc = "${docu_name}_toc.html"; # document's table of contents
- $docu_foot = "${docu_name}_foot.html"; # document's footnotes
-}
-
-#
-# variables
-#
-$value{'html'} = 1; # predefine html (the output format)
-$value{'texi2html'} = '1.52'; # predefine texi2html (the translator)
-# _foo: internal to track @foo
-foreach ('_author', '_title', '_subtitle',
- '_settitle', '_setfilename') {
- $value{$_} = ''; # prevent -w warnings
-}
-%node2sec = (); # node to section name
-%node2href = (); # node to HREF
-%bib2href = (); # bibliography reference to HREF
-%gloss2href = (); # glossary term to HREF
-@sections = (); # list of sections
-%tag2pro = (); # protected sections
-
-#
-# initial indexes
-#
-$bib_num = 0;
-$foot_num = 0;
-$gloss_num = 0;
-$idx_num = 0;
-$sec_num = 0;
-$doc_num = 0;
-$current_chapter_link = "";
-@maybe_wrong_links = ();
-$html_num = 0;
-
-#
-# can I use ISO8879 characters? (HTML+)
-#
-if ($use_iso) {
- $things_map{'bullet'} = "&bull;";
- $things_map{'copyright'} = "&copy;";
- $things_map{'registeredsymbol'} = "&reg;";
- $things_map{'dots'} = "&hellip;";
- $things_map{'equiv'} = "&equiv;";
- $things_map{'expansion'} = "&rarr;";
- $things_map{'point'} = "&lowast;";
- $things_map{'result'} = "&rArr;";
- $things_map{'ss'} = "&szlig;";
- $things_map{'o'} = "&oslash;";
- $things_map{'O'} = "&Oslash;";
-}
-
-#
-# read texi2html extensions (if any)
-#
-$extensions = 'texi2html.ext'; # extensions in working directory
-if (-f $extensions) {
- print "# reading extensions from $extensions\n" if $verbose;
- require($extensions);
-}
-($progdir = $0) =~ s/[^\/]+$//;
-if ($progdir && ($progdir ne './'))
-{
- $extensions = "${progdir}texi2html.ext"; # extensions in texi2html directory
- if (-f $extensions) {
- print "# reading extensions from $extensions\n" if $verbose;
- require($extensions);
- }
-}
-
- print "# reading from $docu\n" if $verbose;
-
-#+++############################################################################
-# #
-# Pass 1: read source, handle command, variable, simple substitution #
-# #
-#---############################################################################
-
-@lines = (); # whole document
-@toc_lines = (); # table of contents
-$toplevel = 0; # top level seen in hierarchy
-$curlevel = 0; # current level in TOC
-$node = ''; # current node name
-$in_table = 0; # am I inside a table
-$table_type = ''; # type of table ('', 'f', 'v')
-@tables = (); # nested table support
-$in_bibliography = 0; # am I inside a bibliography
-$in_glossary = 0; # am I inside a glossary
-$in_top = 0; # am I inside the top node
-$in_pre = 0; # am I inside a preformatted section
-$in_list = 0; # am I inside a list
-$in_html = 0; # am I inside an HTML section
-$first_line = 1; # is it the first line
-$dont_html = 0; # don't protect HTML on this line
-$split_num = 0; # split index
-$deferred_ref = ''; # deferred reference for indexes
-@html_stack = (); # HTML elements stack
-$html_element = ''; # current HTML element
-&html_reset;
-
-# build code for simple substitutions
-# the maps used (%simple_map and %things_map) MUST be aware of this
-# watch out for regexps, / and escaped characters!
-$subst_code = '';
-foreach (keys(%simple_map)) {
- $re = quotemeta $_; # protect regexp chars
- $sub = quotemeta $simple_map{$_};
- $subst_code .= "s/\\\@$re/$sub/g;\n";
-}
-foreach (keys(%things_map)) {
- $re = quotemeta $_; # protect regexp chars
- $sub = quotemeta $things_map{$_};
- $subst_code .= "s/\\\@$re\\{\\}/$sub/g;\n";
-}
-if ($use_acc) {
- # accentuated characters
- foreach (keys(%accent_map)) {
- my $brace = /{$/ ? '}' : '';
- if ($_ eq "`") {
- $subst_code .= "s/$;3";
- } elsif ($_ eq "'") {
- $subst_code .= "s/$;4";
- } else {
- $subst_code .= "s/\\\@\\Q$_\\E";
- }
- $subst_code .= "(\\w)$brace/&\${1}$accent_map{$_};/gi;\n";
- }
-}
-eval("sub simple_substitutions { $subst_code }");
-
-&init_input;
-READ_LINE: while ($_ = &next_line)
-{
- #
- # remove \input on the first lines only
- #
- if ($first_line) {
- next if /^\\input/;
- $first_line = 0;
- }
- #
- # parse texinfo tags
- #
- $tag = '';
- $end_tag = '';
- if (/^\s*\@end\s+(\w+)\b/) {
- $end_tag = $1;
- } elsif (/^\s*\@(\w+)\b/) {
- $tag = $1;
- }
- #
- # handle @ifhtml / @end ifhtml
- #
- if ($in_html) {
- if ($end_tag eq 'ifhtml') {
- $in_html = 0;
- } else {
- $tag2pro{$in_html} .= $_;
- }
- next;
- } elsif ($tag eq 'ifhtml') {
- $in_html = $PROTECTTAG . ++$html_num;
- push(@lines, $in_html);
- next;
- }
- #
- # try to skip the line
- #
- if ($end_tag) {
- next if $to_skip{"end $end_tag"};
- } elsif ($tag) {
- next if $to_skip{$tag};
- last if $tag eq 'bye';
- }
- if ($in_top) {
- # parsing the top node
- if ($tag eq 'node' || $tag eq 'include' || $sec2level{$tag}) {
- # no more in top
- $in_top = 0;
- } else {
- # skip it
- next;
- }
- }
- #
- # try to remove inlined comments
- # syntax from tex-mode.el comment-start-skip
- #
- s/((^|[^\s*\@])(\@\@)*)\@c(omment)? .*/$1/;
- # non-@ substitutions cf. texinfmt.el
- # Since these changes break code examples in the source they were removed. David 990729
- #s/``/\"/g;
- #s/''/\"/g;
- s/([\w ])---([\w ])/$1--$2/g;
- #
- # analyze the tag
- #
- if ($tag) {
- # skip lines
- &skip_until($tag), next if $tag eq 'ignore';
- if ($expandinfo) {
- &skip_until($tag), next if $tag eq 'iftex';
- } else {
- &skip_until($tag), next if $tag eq 'ifinfo';
- }
- &skip_until($tag), next if $tag eq 'tex';
- # handle special tables
- if ($tag eq 'table') {
- $table_type = '';
- } elsif ($tag eq 'ftable') {
- $tag = 'table';
- $table_type = 'f';
- } elsif ($tag eq 'vtable') {
- $tag = 'table';
- $table_type = 'v';
- }
- # special cases
- if ($tag eq 'top' || ($tag eq 'node' && /^\s*\@node\s+top\s*,/i)) {
- $in_top = 1;
- @lines = (); # ignore all lines before top (title page garbage)
- next;
- } elsif ($tag eq 'node') {
- $in_top = 0;
- warn "$ERROR Bad node line: $_" unless $_ =~ /^\s*\@node\s$NODESRE$/o;
- $_ = &protect_html($_); # if node contains '&' for instance
- s/^\s*\@node\s+//;
- ($node) = split(/,/);
- &normalise_node($node);
- if ($split_node) {
- ($doc_node_name[$doc_num + 1] = $node) =~ s|[ /]|_|g;
- $doc_node_name_links[$doc_num + 1] = $current_chapter_link;
- &next_doc;
- push(@lines, $SPLITTAG) if $split_num++;
- push(@sections, $node);
- }
- next;
- } elsif ($tag eq 'include') {
- if (/^\s*\@include\s+($FILERE)\s*$/o) {
- $file = $1;
- unless (-e $file) {
- foreach $dir (@include_dirs) {
- $file = "$dir/$1";
- last if -e $file;
- }
- }
- if (-e $file) {
- &open($file);
- print "# including $file\n" if $verbose;
- } else {
- warn "$ERROR Can't find $file, skipping";
- }
- } else {
- warn "$ERROR Bad include line: $_";
- }
- next;
- } elsif ($tag eq 'ifclear') {
- if (/^\s*\@ifclear\s+($VARRE)\s*$/o) {
- next unless defined($value{$1});
- &skip_until($tag);
- } else {
- warn "$ERROR Bad ifclear line: $_";
- }
- next;
- } elsif ($tag eq 'ifset') {
- if (/^\s*\@ifset\s+($VARRE)\s*$/o) {
- next if defined($value{$1});
- &skip_until($tag);
- } else {
- warn "$ERROR Bad ifset line: $_";
- }
- next;
- } elsif ($tag eq 'menu') {
- unless ($show_menu) {
- &skip_until($tag);
- next;
- }
- &html_push_if($tag);
- push(@lines, &html_debug("\n", __LINE__));
- } elsif ($format_map{$tag}) {
- $in_pre = 1 if $format_map{$tag} eq 'PRE';
- &html_push_if($format_map{$tag});
- push(@lines, &html_debug("\n", __LINE__));
- $in_list++ if $format_map{$tag} eq 'UL' || $format_map{$tag} eq 'OL' ;
- push(@lines, &debug("<$format_map{$tag}>\n", __LINE__));
- next;
- } elsif ($tag eq 'table') {
- if (/^\s*\@[fv]?table\s+\@(\w+)\s*$/) {
- $in_table = $1;
- unshift(@tables, join($;, $table_type, $in_table));
- push(@lines, &debug("<DL COMPACT>\n", __LINE__));
- &html_push_if('DL');
- push(@lines, &html_debug("\n", __LINE__));
- } else {
- warn "$ERROR Bad table line: $_";
- }
- next;
- } elsif ($tag eq 'multitable') {
- if (/^\s*\@multitable\s*\@columnfractions\s+([\.\d\s]+)\s*$/ ||
- /^\s*\@multitable\s*({[^{}]+})+\s*$/)
- {
- $in_multitable = 1;
- html_push('TABLE');
- my($col_list) = $1;
- $multitable_cols = ($col_list =~ /\@columnfractions/ ? s/[\d.]+\s+//g :
- s/{[^{}]+}//g);
- print "# Multitable with $multitable_cols columns\n"
- if $debug and $DEBUG_USER;
- push(@lines, &debug("<TABLE BORDER>\n", __LINE__));
- } else {
- warn "$ERROR Bad table line: $_";
- }
- next;
- } elsif ($tag eq 'synindex' || $tag eq 'syncodeindex') {
- if (/^\s*\@$tag\s+(\w)\w\s+(\w)\w\s*$/) {
- eval("*${1}index = *${2}index");
- } else {
- warn "$ERROR Bad syn*index line: $_";
- }
- next;
- } elsif ($tag eq 'sp') {
- push(@lines, &debug("<P>\n", __LINE__));
- next;
- } elsif ($tag eq 'setref') {
- &protect_html; # if setref contains '&' for instance
- if (/^\s*\@$tag\s*{($NODERE)}\s*$/) {
- $setref = $1;
- $setref =~ s/\s+/ /g; # normalize
- $setref =~ s/ $//;
- $node2sec{$setref} = $name;
- $node2href{$setref} = "$link_doc#$docid";
- push(@maybe_wrong_links, $setref);
- } else {
- warn "$ERROR Bad setref line: $_";
- }
- next;
- } elsif ($tag eq 'defindex' || $tag eq 'defcodeindex') {
- if (/^\s*\@$tag\s+(\w\w)\s*$/) {
- $valid_index{$1} = 1;
- } else {
- warn "$ERROR Bad defindex line: $_";
- }
- next;
- } elsif (defined($def_map{$tag})) {
- if ($def_map{$tag}) {
- s/^\s*\@$tag\s+//;
- $tag = $def_map{$tag};
- $_ = "\@$tag $_";
- $tag =~ s/\s.*//;
- }
- } elsif (defined($user_sub{$tag})) {
- s/^\s*\@$tag\s+//;
- $sub = $user_sub{$tag};
- print "# user $tag = $sub, arg: $_" if $debug & $DEBUG_USER;
- if (defined(&$sub)) {
- chop($_);
- &$sub($_);
- } else {
- warn "$ERROR Bad user sub for $tag: $sub\n";
- }
- next;
- }
- if (defined($def_map{$tag})) {
- s/^\s*\@$tag\s+//;
- if ($tag =~ /x$/) {
- # extra definition line
- $tag = $`;
- $is_extra = 1;
- } else {
- $is_extra = 0;
- }
- while (/\{([^\{\}]*)\}/) {
- # this is a {} construct
- ($before, $contents, $after) = ($`, $1, $');
- # protect spaces
- $contents =~ s/\s+/$;9/g;
- # restore $_ protecting {}
- $_ = "$before$;7$contents$;8$after";
- }
- @args = split(/\s+/, &protect_html($_));
- foreach (@args) {
- s/$;9/ /g; # unprotect spaces
- s/$;7/\{/g; # ... {
- s/$;8/\}/g; # ... }
- }
- $type = shift(@args);
- $type =~ s/^\{(.*)\}$/$1/;
- print "# def ($tag): {$type} ", join(', ', @args), "\n"
- if $debug & $DEBUG_DEF;
- $type .= ':'; # it's nicer like this
- $name = shift(@args);
- $name =~ s/^\{(.*)\}$/$1/;
- if ($is_extra) {
- $_ = &debug("<DT>", __LINE__);
- } else {
- $_ = &debug("<DL>\n<DT>", __LINE__);
- }
- if ($tag eq 'deffn' || $tag eq 'defvr' || $tag eq 'deftp') {
- $_ .= "<U>$type</U> <B>$name</B>";
- $_ .= " <I>@args</I>" if @args;
- } elsif ($tag eq 'deftypefn' || $tag eq 'deftypevr'
- || $tag eq 'defcv' || $tag eq 'defop') {
- $ftype = $name;
- $name = shift(@args);
- $name =~ s/^\{(.*)\}$/$1/;
- $_ .= "<U>$type</U> $ftype <B>$name</B>";
- $_ .= " <I>@args</I>" if @args;
- } else {
- warn "$ERROR Unknown definition type: $tag\n";
- $_ .= "<U>$type</U> <B>$name</B>";
- $_ .= " <I>@args</I>" if @args;
- }
- $_ .= &debug("\n<DD>", __LINE__);
- $name = &unprotect_html($name);
- if ($tag eq 'deffn' || $tag eq 'deftypefn') {
- unshift(@input_spool, "\@findex $name\n");
- } elsif ($tag eq 'defop') {
- unshift(@input_spool, "\@findex $name on $ftype\n");
- } elsif ($tag eq 'defvr' || $tag eq 'deftypevr' || $tag eq 'defcv') {
- unshift(@input_spool, "\@vindex $name\n");
- } else {
- unshift(@input_spool, "\@tindex $name\n");
- }
- $dont_html = 1;
- }
- } elsif ($end_tag) {
- if ($format_map{$end_tag}) {
- $in_pre = 0 if $format_map{$end_tag} eq 'PRE';
- $in_list-- if $format_map{$end_tag} eq 'UL' || $format_map{$end_tag} eq 'OL' ;
- &html_pop_if('LI', 'P');
- &html_pop_if();
- push(@lines, &debug("</$format_map{$end_tag}>\n", __LINE__));
- push(@lines, &html_debug("\n", __LINE__));
- } elsif ($end_tag eq 'table' ||
- $end_tag eq 'ftable' ||
- $end_tag eq 'vtable') {
- shift(@tables);
- if (@tables) {
- ($table_type, $in_table) = split($;, $tables[0]);
- } else {
- $in_table = 0;
- $table_type = '';
- }
- push(@lines, "</DL>\n");
- &html_pop_if('DD');
- &html_pop_if();
- } elsif ($end_tag eq 'multitable') {
- print "# end of multitable with $multitable_cols columns\n"
- if $debug and $DEBUG_USER;
- $in_multitable = 0;
- push(@lines, "</TD></TR>\n");
- &html_pop_if('TR');
- push(@lines, "</TABLE>\n");
-&html_pop_if('TABLE');
- } elsif (defined($def_map{$end_tag})) {
- push(@lines, &debug("</DL>\n", __LINE__));
- } elsif ($end_tag eq 'menu') {
- &html_pop_if();
- push(@lines, $_); # must keep it for pass 2
- }
- next;
- }
- #
- # misc things
- #
- # protect texi and HTML things
- &protect_texi;
- $_ = &protect_html($_) unless $dont_html;
- $dont_html = 0;
- # substitution (unsupported things)
- s/^\s*\@center\s+//g;
- s/^\s*\@exdent\s+//g;
- s/\@noindent\s+//g;
- s/\@refill\s+//g;
- # other substitutions
- &simple_substitutions;
- s/\@value{($VARRE)}/$value{$1}/eg;
- s/\@footnote\{/\@footnote$docu_doc\{/g; # mark footnotes, cf. pass 4
- s/(^|\s+)\@tab\s*/ <\/TD><TD> /g if ($in_multitable);
-
- #
- # analyze the tag again
- #
- if ($tag) {
- if (defined($sec2level{$tag}) && $sec2level{$tag} > 0) {
- if (/^\s*\@$tag\s+(.+)$/) {
- $name = $1;
- $name =~ s/\s+$//;
- $level = $sec2level{$tag};
- $name = &update_sec_num($tag, $level) . " $name"
- if $number_sections && $tag !~ /^unnumbered/ && $tag ne 'subsubheading';
- if ($tag =~ /heading$/) {
- push(@lines, &html_debug("\n", __LINE__));
- if ($html_element ne 'body') {
- # We are in a nice pickle here. We are trying to get a H? heading
- # even though we are not in the body level. So, we convert
- # it to a nice, bold, line by itself.
- $_ = &debug("\n\n<P><STRONG>$name</STRONG></P>\n\n", __LINE__);
- } else {
- $_ = &debug("<H$level>$name</H$level>\n", __LINE__);
- &html_push_if('body');
- }
- print "# heading, section $name, level $level\n"
- if $debug & $DEBUG_TOC;
- } else {
- if ($split_chapter) {
- unless ($toplevel) {
- # first time we see a "section"
- unless ($level == 1) {
- warn "$ERROR The first section found is not of level 1: $_";
- warn "$ERROR I'll split on sections of level $level...\n";
- }
- $toplevel = $level;
- };
- if ($level == $toplevel) {
- print "# Splitting at section $name\n"
- if $debug & $DEBUG_TOC;
- ($doc_node_name[$doc_num + 1] = $node) =~ s|[ /]|_|g;
- &next_doc;
- push(@lines, $SPLITTAG) if $split_num++;
- push(@sections, $name);
- }
- } elsif ($split_node && $opt_special_links) {
- $toplevel = $level unless $toplevel;
- if ($level == $toplevel) {
- ($current_chapter_link = $node) =~ s|[ /]|_|g;
- # Set this again to the right value.
- $doc_node_name_links[$doc_num] = $current_chapter_link;
- ($docu_doc, $link_doc) = &doc_name($doc_num);
- }
- }
- $sec_num++;
- # Was "SEC$sec_num"
- ($docid = "$node") =~ s|[ /]|_|g;
- ($tocid = "$node") =~ s|[ /]|_|g;
-$docid = "SEC$sec_num" unless $docid;
-$tocid = "SEC$sec_num" unless $tocid;
- # check biblio and glossary
- $in_bibliography =
- ($name =~ /^([A-Z]|\d+)?(\.\d+)*\s*bibliography$/i);
- $in_glossary = ($name =~ /^([A-Z]|\d+)?(\.\d+)*\s*glossary$/i);
- # check node
- if ($node) {
- if ($node2sec{$node}) {
- warn "$ERROR Duplicate node found: $node\n";
- } else {
- $node2sec{$node} = $name;
- $node2href{$node} = "$link_doc#$docid";
- push(@maybe_wrong_links, $node);
- print "# node $node, section $name, level $level\n"
- if $debug & $DEBUG_TOC;
- }
- $node = '';
- } else {
- print "# no node, section $name, level $level\n"
- if $debug & $DEBUG_TOC;
- }
- # update TOC
- while ($level > $curlevel) {
- $curlevel++;
- push(@toc_lines, "<UL>\n");
- }
- while ($level < $curlevel) {
- $curlevel--;
- push(@toc_lines, "</UL>\n");
- }
- $_ = "<LI>" . &anchor($tocid, "$link_doc#$docid", $name, 1);
- push(@toc_lines, &substitute_style($_));
- # update DOC
- push(@lines, &html_debug("\n", __LINE__));
- &html_reset;
- $_ = "<H$level>".&anchor($docid, $opt_empty_headers ? "" : "$docu_toc#$tocid",
- $name)."</H$level>\n";
- $_ = &debug($_, __LINE__);
- push(@lines, &html_debug("\n", __LINE__));
- }
- # update DOC
- foreach $line (split(/\n+/, $_)) {
- push(@lines, "$line\n");
- }
- next;
- } else {
- warn "$ERROR Bad section line: $_";
- }
- } else {
- # track variables
- $value{$1} = $2, next if /^\s*\@set\s+($VARRE)\s+(.*)$/o;
- delete $value{$1}, next if /^\s*\@clear\s+($VARRE)\s*$/o;
- # store things
- $value{'_setfilename'} = $1, next if /^\s*\@setfilename\s+(.*)$/;
- $value{'_settitle'} = $1, next if /^\s*\@settitle\s+(.*)$/;
- $value{'_author'} .= "$1\n", next if /^\s*\@author\s+(.*)$/;
- $value{'_subtitle'} .= "$1\n", next if /^\s*\@subtitle\s+(.*)$/;
- $value{'_title'} .= "$1\n", next if /^\s*\@title\s+(.*)$/;
- # index
- if (/^\s*\@(..?)index\s+/) {
- unless ($valid_index{$1}) {
- warn "$ERROR Undefined index command: $_";
- next;
- }
- $id = 'IDX' . ++$idx_num;
- $index = $1 . 'index';
- $what = &substitute_style($');
- $what =~ s/\s+$//;
- print "# found $index for '$what' id $id\n"
- if $debug & $DEBUG_INDEX;
- eval(<<EOC);
- if (defined(\$$index\{\$what\})) {
- \$$index\{\$what\} .= "$;$link_doc#$id";
- } else {
- \$$index\{\$what\} = "$link_doc#$id";
- }
-EOC
- #
- # dirty hack to see if I can put an invisible anchor...
- #
- if ($html_element eq 'P' ||
- $html_element eq 'LI' ||
- $html_element eq 'DT' ||
- $html_element eq 'DD' ||
- $html_element eq 'ADDRESS' ||
- $html_element eq 'B' ||
- $html_element eq 'BLOCKQUOTE' ||
- $html_element eq 'PRE' ||
- $html_element eq 'SAMP') {
- push(@lines, &anchor($id, '', $invisible_mark, !$in_pre));
- } elsif ($html_element eq 'body') {
- push(@lines, &debug("<P>\n", __LINE__));
- push(@lines, &anchor($id, '', $invisible_mark, !$in_pre));
- &html_push('P');
- } elsif ($html_element eq 'DL' ||
- $html_element eq 'UL' ||
- $html_element eq 'OL' ||
- $html_element eq 'TR') {
- $deferred_ref .=
- &anchor($id, '', $invisible_mark, !$in_pre) . " ";
- }
- next;
- }
- # list item
- if (/^\s*\@itemx?\s+/)
- {
- $what = $';
- $what =~ s/\s+$//;
-
- # add an index before the item if applicable
- if ($table_type ne '' && !$in_multitable) {
- print "# Adding table index (type $table_type) for $what\n"
- if $debug & $DEBUG_INDEX;
- # This is realy ugly. We should do a pass before this to
- # add index entrys before instead.
- if ($global_added_this_index) {
- $global_added_this_index = 0;
- } else {
- unshift(@input_spool, "\@${table_type}index $what\n", $_);
- $global_added_this_index = 1;
- next READ_LINE;
- }
- }
-
- if ($in_bibliography && $use_bibliography) {
- if ($what =~ /^$BIBRE$/o) {
- $id = 'BIB' . ++$bib_num;
- $bib2href{$what} = "$link_doc#$id";
- print "# found bibliography for '$what' id $id\n"
- if $debug & $DEBUG_BIB;
- $what = &anchor($id, '', $what);
- }
- } elsif ($in_glossary && $use_glossary) {
- $id = 'GLOSS' . ++$gloss_num;
- $entry = $what;
- $entry =~ tr/A-Z/a-z/ unless $entry =~ /^[A-Z\s]+$/;
- $gloss2href{$entry} = "$link_doc#$id";
- print "# found glossary for '$entry' id $id\n"
- if $debug & $DEBUG_GLOSS;
- $what = &anchor($id, '', $what);
- }
- if ($in_multitable)
- {
- # All this is a **HACK**.
- # It does only work for a FEW SIMPLE CASES !!!
- push(@lines, &debug("</TD></TR>\n", __LINE__))
- unless $html_element eq 'TABLE';
- &html_pop_if('TR');
- $what =~ s/(^|\s+)\@tab\s*/ <\/TD><TD> /g;
- push(@lines, &debug("<TR><TD>$what\n", __LINE__));
- &html_push('TR');
- if ($deferred_ref)
- {
- push(@lines, &debug("$deferred_ref\n", __LINE__));
- $deferred_ref = '';
- }
- next;
- }
- else
- {
- &html_pop_if('P');
- if ($html_element eq 'DL' || $html_element eq 'DD') {
- if ($things_map{$in_table} && !$what) {
- # special case to allow @table @bullet for instance
- push(@lines, &debug("<DT>$things_map{$in_table}\n", __LINE__));
- } else {
- push(@lines, &debug("<DT>\@$in_table\{$what\}\n", __LINE__));
- }
- push(@lines, "<DD>");
- &html_push('DD') unless $html_element eq 'DD';
- # Old index add was here
- } else {
- push(@lines, &debug("<LI>$what\n", __LINE__));
- &html_push('LI') unless $html_element eq 'LI';
- }
- push(@lines, &html_debug("\n", __LINE__));
- if ($deferred_ref) {
- push(@lines, &debug("$deferred_ref\n", __LINE__));
- $deferred_ref = '';
- }
- next;
- }
- }
- }
- }
- # paragraph separator
- if ($_ eq "\n") {
- next if $#lines >= 0 && $lines[$#lines] eq "\n";
- if ($html_element eq 'P') {
- push(@lines, "\n");
- $_ = &debug("</P>\n", __LINE__);
- &html_pop;
- }
- } elsif ($html_element eq 'body' || $html_element eq 'BLOCKQUOTE') {
- push(@lines, "<P>\n");
- &html_push('P');
- $_ = &debug($_, __LINE__);
- }
- # otherwise
- push(@lines, $_);
-}
-
-# finish TOC
-$level = 0;
-while ($level < $curlevel)
-{
- $curlevel--;
- push(@toc_lines, "</UL>\n");
-}
-
-print "# end of pass 1\n" if $verbose;
-
-#+++############################################################################
-# #
-# Pass 2/3: handle style, menu, index, cross-reference #
-# #
-#---############################################################################
-
-@lines2 = (); # whole document (2nd pass)
-@lines3 = (); # whole document (3rd pass)
-$in_menu = 0; # am I inside a menu
-
-while (@lines)
-{
- $_ = shift(@lines);
- #
- # special case (protected sections)
- #
- if (/^$PROTECTTAG/o) {
- push(@lines2, $_);
- next;
- }
- #
- # menu
- #
- $in_menu = 1, push(@lines2, &debug("<UL>\n", __LINE__)), next if /^\s*\@menu\b/;
- $in_menu = 0, push(@lines2, &debug("</UL>\n", __LINE__)), next if /^\s*\@end\s+menu\b/;
- if ($in_menu) {
- if (/^\*\s+($NODERE)::/o) {
- $descr = $';
- chop($descr);
- &menu_entry($1, $1, $descr);
- } elsif (/^\*\s+(.+):\s+([^\t,\.\n]+)[\t,\.\n]/) {
- $descr = $';
- chop($descr);
- &menu_entry($1, $2, $descr);
- } elsif (/^\*/) {
- warn "$ERROR Bad menu line: $_";
- } else { # description continued?
- push(@lines2, $_);
- }
- next;
- }
- #
- # printindex
- #
- if (/^\s*\@printindex\s+(\w\w)\b/) {
- local($index, *ary, @keys, $key, $letter, $last_letter, @refs);
- if ($predefined_index{$1}) {
- $index = $predefined_index{$1} . 'index';
- } else {
- $index = $1 . 'index';
- }
- eval("*ary = *$index");
- @keys = keys(%ary);
- foreach $key (@keys) {
- $_ = $key;
- 1 while s/<(\w+)>\`(.*)\'<\/\1>/$2/; # remove HTML tags with quotes
- 1 while s/<(\w+)>(.*)<\/\1>/$2/; # remove HTML tags
- $_ = &unprotect_html($_);
- &unprotect_texi;
- tr/A-Z/a-z/; # lowercase
- $key2alpha{$key} = $_;
- print "# index $key sorted as $_\n"
- if $key ne $_ && $debug & $DEBUG_INDEX;
- }
- $last_letter = undef;
- foreach $key (sort byalpha @keys) {
- $letter = substr($key2alpha{$key}, 0, 1);
- $letter = substr($key2alpha{$key}, 0, 2) if $letter eq $;;
- $letter = " " unless $letter =~ /[a-zA-Z]/;
- if (!defined($last_letter) || $letter ne $last_letter) {
- push(@lines2, "</DIR>\n") if defined($last_letter);
- push(@lines2, "<H2>" . &protect_html(uc($letter)) . "</H2>\n");
- push(@lines2, "<DIR>\n");
- $last_letter = $letter;
- }
- @refs = ();
- foreach (split(/$;/, $ary{$key})) {
- push(@refs, &anchor('', $_, $key, 0));
- }
- push(@lines2, "<LI>" . join(", ", @refs) . "\n");
- }
- push(@lines2, "</DIR>\n") if defined($last_letter);
- next;
- }
- #
- # simple style substitutions
- #
- $_ = &substitute_style($_);
- #
- # xref
- #
- while (/\@(x|px|info|)ref{($XREFRE)(}?)/o) {
- # note: Texinfo may accept other characters
- ($type, $nodes, $full) = ($1, $2, $3);
- ($before, $after) = ($`, $');
- if (! $full && $after) {
- warn "$ERROR Bad xref (no ending } on line): $_";
- $_ = "$before$;0${type}ref\{$nodes$after";
- next; # while xref
- }
- if ($type eq 'x') {
- $type = 'See ';
- } elsif ($type eq 'px') {
- $type = 'see ';
- } elsif ($type eq 'info') {
- $type = 'See Info';
- } elsif ($type eq 'u') {
- $type = 'See ';
- } else {
- $type = '';
- }
- unless ($full) {
- $next = shift(@lines);
- $next = &substitute_style($next);
- chop($nodes); # remove final newline
- if ($next =~ /\}/) { # split on 2 lines
- $nodes .= " $`";
- $after = $';
- } else {
- $nodes .= " $next";
- $next = shift(@lines);
- $next = &substitute_style($next);
- chop($nodes);
- if ($next =~ /\}/) { # split on 3 lines
- $nodes .= " $`";
- $after = $';
- } else {
- warn "$ERROR Bad xref (no ending }): $_";
- $_ = "$before$;0xref\{$nodes$after";
- unshift(@lines, $next);
- next; # while xref
- }
- }
- }
- $nodes =~ s/\s+/ /g; # remove useless spaces
- @args = split(/\s*,\s*/, $nodes);
- $node = $args[0]; # the node is always the first arg
- &normalise_node($node);
- $sec = $node2sec{$node};
- if (@args == 5) { # reference to another manual
- $sec = $args[2] || $node;
- $man = $args[4] || $args[3];
- $_ = "${before}${type}section `$sec' in \@cite{$man}$after";
- } elsif ($type =~ /Info/) { # inforef
- warn "$ERROR Wrong number of arguments: $_" unless @args == 3;
- ($nn, $_, $in) = @args;
- $_ = "${before}${type} file `$in', node `$nn'$after";
- } elsif ($sec) {
- $href = $node2href{$node};
- $_ = "${before}${type}section " . &anchor('', $href, $sec) . $after;
- } else {
- warn "$ERROR Undefined node ($node): $_";
- $_ = "$before$;0xref{$nodes}$after";
- }
- }
- #
- # try to guess bibliography references or glossary terms
- #
- # This checked for NAME="SEC\d". The current version is probably broken.
- unless (/^<H\d><A NAME=\"/) {
- if ($use_bibliography) {
- $done = '';
- while (/$BIBRE/o) {
- ($pre, $what, $post) = ($`, $&, $');
- $href = $bib2href{$what};
- if (defined($href) && $post !~ /^[^<]*<\/A>/) {
- $done .= $pre . &anchor('', $href, $what);
- } else {
- $done .= "$pre$what";
- }
- $_ = $post;
- }
- $_ = $done . $_;
- }
- if ($use_glossary) {
- $done = '';
- while (/\b\w+\b/) {
- ($pre, $what, $post) = ($`, $&, $');
- $entry = $what;
- $entry =~ tr/A-Z/a-z/ unless $entry =~ /^[A-Z\s]+$/;
- $href = $gloss2href{$entry};
- if (defined($href) && $post !~ /^[^<]*<\/A>/) {
- $done .= $pre . &anchor('', $href, $what);
- } else {
- $done .= "$pre$what";
- }
- $_ = $post;
- }
- $_ = $done . $_;
- }
- }
- # otherwise
- push(@lines2, $_);
-}
-print "# end of pass 2\n" if $verbose;
-
-#
-# split style substitutions
-#
-while (@lines2)
-{
- $_ = shift(@lines2);
- #
- # special case (protected sections)
- #
- if (/^$PROTECTTAG/o) {
- push(@lines3, $_);
- next;
- }
- #
- # split style substitutions
- #
- $old = '';
- while ($old ne $_) {
- $old = $_;
- if (/\@(\w+)\{/) {
- ($before, $style, $after) = ($`, $1, $');
- if (defined($style_map{$style})) {
- $_ = $after;
- $text = '';
- $after = '';
- $failed = 1;
- while (@lines2) {
- if (/\}/) {
- $text .= $`;
- $after = $';
- $failed = 0;
- last;
- } else {
- $text .= $_;
- $_ = shift(@lines2);
- }
- }
- if ($failed) {
- die "* Bad syntax (\@$style) after: $before\n";
- } else {
- $text = &apply_style($style, $text);
- $_ = "$before$text$after";
- }
- }
- }
- }
- # otherwise
- push(@lines3, $_);
-}
-print "# end of pass 3\n" if $verbose;
-
-#+++############################################################################
-# #
-# Pass 4: foot notes, final cleanup #
-# #
-#---############################################################################
-
-@foot_lines = (); # footnotes
-@doc_lines = (); # final document
-$end_of_para = 0; # true if last line is <P>
-
-while (@lines3)
-{
- $_ = shift(@lines3);
- #
- # special case (protected sections)
- #
- if (/^$PROTECTTAG/o) {
- push(@doc_lines, $_);
- $end_of_para = 0;
- next;
- }
- #
- # footnotes
- #
- while (/\@footnote([^\{\s]+)\{/) {
- ($before, $d, $after) = ($`, $1, $');
- $_ = $after;
- $text = '';
- $after = '';
- $failed = 1;
- while (@lines3) {
- if (/\}/) {
- $text .= $`;
- $after = $';
- $failed = 0;
- last;
- } else {
- $text .= $_;
- $_ = shift(@lines3);
- }
- }
- if ($failed) {
- die "* Bad syntax (\@footnote) after: $before\n";
- } else {
- $foot_num++;
- $docid = "DOCF$foot_num";
- $footid = "FOOT$foot_num";
- $foot = "($foot_num)";
- push(@foot_lines, "<H3>" . &anchor($footid, "$d#$docid", $foot) . "</H3>\n");
- $text = "<P>$text" unless $text =~ /^\s*<P>/;
- push(@foot_lines, "$text\n");
- $_ = $before . &anchor($docid, "$docu_foot#$footid", $foot) . $after;
- }
- }
- #
- # remove unnecessary <P>
- #
- if (/^\s*<P>\s*$/) {
- next if $end_of_para++;
- } else {
- $end_of_para = 0;
- }
- # otherwise
- push(@doc_lines, $_);
-}
-print "# end of pass 4\n" if $verbose;
-
-#+++############################################################################
-# #
-# Pass 5: print things #
-# #
-#---############################################################################
-
- $header = '';
- $full_title = $value{'_title'} || $value{'_settitle'} || "Untitled Document";
- $title = $value{'_settitle'} || $full_title;
- $_ = &substitute_style($full_title);
- &unprotect_texi;
- s/\n$//; # rmv last \n (if any)
- $full_title = "<H1>" . join("</H1>\n<H1>", split(/\n/, $_)) . "</H1>\n";
-
-#
-# print ToC
-#
-if (!$monolithic && @toc_lines)
-{
- if (open(FILE, "> $docu_toc")) {
- print "# creating $docu_toc...\n" if $verbose;
- &print_toplevel_header("$title - Table of Contents");
- &print_ruler;
- &print(*toc_lines, FILE);
- &print_toplevel_footer;
- close(FILE);
- } else {
- warn "$ERROR Can't write (toc) to $docu_toc: $!\n";
- }
-}
-
-#
-# print footnotes
-#
-if (!$monolithic && @foot_lines)
-{
- if (open(FILE, "> $docu_foot")) {
- print "# creating $docu_foot...\n" if $verbose;
- &print_toplevel_header("$title - Footnotes");
- &print_ruler;
- &print(*foot_lines, FILE);
- &print_toplevel_footer;
- close(FILE);
- } else {
- warn "$ERROR Can't write (foot) to $docu_foot: $!\n";
- }
-}
-
-#
-# print document
-#
-
-if ($split_chapter || $split_node)
-{ # split
- $doc_num = 0;
- $last_num = scalar(@sections);
- $first_doc = &doc_name(1);
- $last_doc = &doc_name($last_num);
- while (@sections) {
- $section = shift(@sections);
- &next_doc;
- # Remove added links part
- if (open(FILE, ">$docu_doc")) {
- print "# creating $docu_doc... ($section)\n" if $verbose;
- &print_header("$title - $section") unless $opt_empty_headers;
- $prev_doc = ($doc_num == 1 ? undef : &doc_name($doc_num - 1));
- $next_doc = ($doc_num == $last_num ? undef : &doc_name($doc_num + 1));
- $navigation = "Go to the ";
- $navigation .= ($prev_doc ? &anchor('', $first_doc, "first") : "first");
- $navigation .= ", ";
- $navigation .= ($prev_doc ? &anchor('', $prev_doc, "previous") : "previous");
- $navigation .= ", ";
- $navigation .= ($next_doc ? &anchor('', $next_doc, "next") : "next");
- $navigation .= ", ";
- $navigation .= ($next_doc ? &anchor('', $last_doc, "last") : "last");
- $navigation .= " section, " . &anchor('', $docu_toc, "table of contents") . ".\n";
- print FILE $navigation unless $opt_empty_headers;
- &print_ruler unless $opt_empty_headers;
- # find corresponding lines
- @tmp_lines = ();
- while (@doc_lines) {
- $_ = shift(@doc_lines);
- last if ($_ eq $SPLITTAG);
- push(@tmp_lines, $_);
- }
- &print(*tmp_lines, FILE);
- &print_ruler unless $opt_empty_headers;
- print FILE $navigation unless $opt_empty_headers;
- &print_footer unless $opt_empty_headers;
- close(FILE);
- } else {
- warn "$ERROR Can't write (doc) to $docu_doc: $!\n";
- }
- }
-}
-else
-{ # not split
- if (open(FILE, ">$docu_doc")) {
- print "# creating $docu_doc...\n" if $verbose;
- if ($monolithic || !@toc_lines) {
- &print_toplevel_header($title);
- } else {
- &print_header($title);
- print FILE $full_title;
- }
- if ($monolithic && @toc_lines) {
- &print_ruler;
- print FILE "<H1>Table of Contents</H1>\n";
- &print(*toc_lines, FILE);
- }
- &print_ruler;
- &print(*doc_lines, FILE);
- if ($monolithic && @foot_lines) {
- &print_ruler;
- print FILE "<H1>Footnotes</H1>\n";
- &print(*foot_lines, FILE);
- }
- if ($monolithic || !@toc_lines) {
- &print_toplevel_footer;
- } else {
- &print_footer;
- }
- close(FILE);
- } else {
- warn "$ERROR Can't write (doc2) to $docu_doc: $!\n";
- }
-}
-
-print "# that's all folks\n" if $verbose;
-
-#+++############################################################################
-# #
-# Low level functions #
-# #
-#---############################################################################
-
-sub update_sec_num
-{
- local($name, $level) = @_;
-
- $level--; # here we start at 0
- if ($name =~ /^appendix/) {
- # appendix style
- if (defined(@appendix_sec_num)) {
- &incr_sec_num($level, @appendix_sec_num);
- } else {
- @appendix_sec_num = ('A', 0, 0, 0);
- }
- return(join('.', @appendix_sec_num[0..$level]));
- } else {
- # normal style
- if (defined(@normal_sec_num)) {
- &incr_sec_num($level, @normal_sec_num);
- } else {
- @normal_sec_num = (1, 0, 0, 0);
- }
- return(join('.', @normal_sec_num[0..$level]));
- }
-}
-
-sub incr_sec_num
-{
- local($level, $l);
- $level = shift(@_);
- $_[$level]++;
- foreach $l ($level+1 .. 3) {
- $_[$l] = 0;
- }
-}
-
-sub check
-{
- local($_, %seen, %context, $before, $match, $after);
-
- while (<>) {
- if (/\@(\*|\.|\:|\@|\{|\})/) {
- $seen{$&}++;
- $context{$&} .= "> $_" if $verbose;
- $_ = "$`XX$'";
- redo;
- }
- if (/\@(\w+)/) {
- ($before, $match, $after) = ($`, $&, $');
- if ($before =~ /\b[\w-]+$/ && $after =~ /^[\w-.]*\b/) { # e-mail address
- $seen{'e-mail address'}++;
- $context{'e-mail address'} .= "> $_" if $verbose;
- } else {
- $seen{$match}++;
- $context{$match} .= "> $_" if $verbose;
- }
- $match =~ s/^\s*\@/X/;
- $_ = "$before$match$after";
- redo;
- }
- }
-
- foreach (sort(keys(%seen))) {
- if ($verbose) {
- print "$_\n";
- print $context{$_};
- } else {
- print "$_ ($seen{$_})\n";
- }
- }
-}
-
-sub open
-{
- local($name) = @_;
-
- ++$fh_name;
- if (open($fh_name, $name)) {
- unshift(@fhs, $fh_name);
- } else {
- warn "$ERROR Can't read file $name: $!\n";
- }
-}
-
-sub init_input
-{
- @fhs = (); # hold the file handles to read
- @input_spool = (); # spooled lines to read
- $fh_name = 'FH000';
- &open($docu);
-}
-
-sub next_line
-{
- local($fh, $line);
-
- if (@input_spool) {
- $line = shift(@input_spool);
- return($line);
- }
- while (@fhs) {
- $fh = $fhs[0];
- $line = <$fh>;
- return($line) if $line;
- close($fh);
- shift(@fhs);
- }
- return(undef);
-}
-
-# used in pass 1, use &next_line
-sub skip_until
-{
- local($tag) = @_;
- local($_);
-
- while ($_ = &next_line) {
- return if /^\s*\@end\s+$tag\s*$/;
- }
- die "* Failed to find '$tag' after: " . $lines[$#lines];
-}
-
-#
-# HTML stacking to have a better HTML output
-#
-
-sub html_reset
-{
- @html_stack = ('html');
- $html_element = 'body';
-}
-
-sub html_push
-{
- local($what) = @_;
- push(@html_stack, $html_element);
- $html_element = $what;
-}
-
-sub html_push_if
-{
- local($what) = @_;
- push(@html_stack, $html_element)
- if ($html_element && $html_element ne 'P');
- $html_element = $what;
-}
-
-sub html_pop
-{
- $html_element = pop(@html_stack);
-}
-
-sub html_pop_if
-{
- local($elt);
-
- if (@_) {
- foreach $elt (@_) {
- if ($elt eq $html_element) {
- $html_element = pop(@html_stack) if @html_stack;
- last;
- }
- }
- } else {
- $html_element = pop(@html_stack) if @html_stack;
- }
-}
-
-sub html_debug
-{
- local($what, $line) = @_;
- return("<!-- $line @html_stack, $html_element -->$what")
- if $debug & $DEBUG_HTML;
- return($what);
-}
-
-# to debug the output...
-sub debug
-{
- local($what, $line) = @_;
- return("<!-- $line -->$what")
- if $debug & $DEBUG_HTML;
- return($what);
-}
-
-sub normalise_node
-{
- $_[0] =~ s/\s+/ /g;
- $_[0] =~ s/ $//;
- $_[0] =~ s/^ //;
-}
-
-sub menu_entry
-{
- local($entry, $node, $descr) = @_;
- local($href);
-
- &normalise_node($node);
- $href = $node2href{$node};
- if ($href) {
- $descr =~ s/^\s+//;
- $descr = ": $descr" if $descr;
- push(@lines2, "<LI>" . &anchor('', $href, $entry) . "$descr\n");
- } else {
- warn "$ERROR Undefined node ($node): $_";
- }
-}
-
-sub do_ctrl { "^$_[0]" }
-
-sub do_sc { "\U$_[0]\E" }
-
-sub fix_image
-{
- my($text) = @_;
- my($arg1, $ext);
- $text =~ /^([^,]*)/;
- die "error in image: '$text'" unless defined($1);
- $arg1 = $1;
- $arg1 =~ s/@@/@/g;
- foreach (@include_dirs) {
- $ext = "jpg" if -f "$_/$arg1.jpg";
- $ext = "gif" if -f "$_/$arg1.gif";
- }
- if (defined($ext))
- {
- "<IMG SRC=\"$arg1.$ext\">";
- }
- else
- {
- warn "Image $arg1 not found";
- "";
- }
-}
-
-sub fix_url
-{
- my($text) = @_;
- $text =~ s/@@/@/g;
- $text;
-}
-
-sub fix_uref
-{
- my($text) = @_;
- my($arg1, $arg2);
- $text =~ /^([^,]*),?([^,]*)?$/;
- die "error in uref: '$text'" unless defined($1);
- $arg1 = $1;
- $arg2 = (defined($2) && $2) ? $2 : $arg1;
- $arg1 =~ s/@@/@/g;
- $arg2 =~ s/@@/@/g;
- "<a HREF=\"$arg1\">$arg2</a>";
-}
-
-sub fix_email
-{
- my($text) = @_;
- my($arg1, $arg2);
- $text =~ /^([^,]*)(,[^,]*)?$/;
- die "error in email: '$text'" unless defined($1);
- $arg1 = $1;
- $arg2 = defined($2) ? $2 : $arg1;
- $arg1 =~ s/@@/@/g;
- $arg2 =~ s/@@/@/g;
- "<a HREF=\"mailto:$arg1\">$arg2</a>";
-}
-
-sub apply_style
-{
- local($texi_style, $text) = @_;
- local($style);
-
- $style = $style_map{$texi_style};
- if (defined($style)) { # known style
- if ($style =~ /^\"/) { # add quotes
- $style = $';
- $text = "\`$text\'";
- }
- if ($style =~ /^\&/) { # custom
- $style = $';
- $text = &$style($text);
- } elsif ($style) { # good style
- $text = "<$style>$text</$style>";
- } else { # no style
- }
- } else { # unknown style
- $text = undef;
- }
- return($text);
-}
-
-# remove Texinfo styles
-sub remove_style
-{
- local($_) = @_;
- s/\@\w+{([^\{\}]+)}/$1/g;
- return($_);
-}
-
-sub substitute_style
-{
- local($_) = @_;
- local($changed, $done, $style, $text);
-
- $changed = 1;
- while ($changed) {
- $changed = 0;
- $done = '';
- while (/\@(\w+){([^\{\}]+)}/) {
- $text = &apply_style($1, $2);
- if ($text) {
- $_ = "$`$text$'";
- $changed = 1;
- } else {
- $done .= "$`\@$1";
- $_ = "{$2}$'";
- }
- }
- $_ = $done . $_;
- }
- return($_);
-}
-
-sub anchor
-{
- local($name, $href, $text, $newline) = @_;
- local($result);
-
- $result = "<A";
- $result .= " NAME=\"$name\"" if $name;
- $result .= " HREF=\"$href\"" if $href;
- $result .= ">$text</A>";
- $result .= "\n" if $newline;
- return($result);
-}
-
-sub pretty_date
-{
- local(@MoY, $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst);
-
- @MoY = ('January', 'Febuary', 'March', 'April', 'May', 'June',
- 'July', 'August', 'September', 'October', 'November', 'December');
- ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
- $year += ($year < 70) ? 2000 : 1900;
- return("$mday $MoY[$mon] $year");
-}
-
-sub doc_name
-{
- local($num) = @_;
- my($real_name, $link_name);
- $real_name = ($opt_use_numbers) ? $num : $doc_node_name[$num];
- $link_name = ($opt_special_links) ?
- $doc_node_name_links[$num] : $real_name;
- # print "# num $num osl $opt_special_links link $link_name\n";
- return("${docu_name}_$real_name.html",
- "$opt_special_links${docu_name}_$link_name.html");
-}
-
-sub next_doc
-{
- ($docu_doc, $link_doc) = &doc_name(++$doc_num);
-}
-
-sub print
-{
- local(*lines, $fh) = @_;
- local($_);
-
- while (@lines) {
- $_ = shift(@lines);
- if (/^$PROTECTTAG/o) {
- $_ = $tag2pro{$_};
- } else {
- &unprotect_texi;
- }
- print $fh $_;
- }
-}
-
-sub print_ruler
-{
- print FILE "<P><HR><P>\n";
-}
-
-sub print_header
-{
- local($_);
-
- # clean the title
- $_ = &remove_style($_[0]);
- &unprotect_texi;
- # print the header
- if ($doctype eq 'html2') {
- print FILE $html2_doctype;
- } elsif ($doctype) {
- print FILE $doctype;
- }
- my($tags) = defined($value{"_body_tags"}) ? " " . $value{"_body_tags"} : "";
- my($et) = defined($value{"_extra_head"}) ? " " . $value{"_extra_head"} : "";
- $et = &unprotect_html($et);
- print FILE <<EOT;
- <HTML>
- <HEAD>
- $header
- <TITLE>$_</TITLE>
- $et
- </HEAD>
- <BODY$tags>
-EOT
-}
-
-sub print_toplevel_header
-{
- local($_);
-
- &print_header unless $opt_empty_headers; # pass given arg...
- print FILE $full_title;
- if ($value{'_subtitle'}) {
- $value{'_subtitle'} =~ s/\n+$//;
- foreach (split(/\n/, $value{'_subtitle'})) {
- $_ = &substitute_style($_);
- &unprotect_texi;
- print FILE "<H2>$_</H2>\n";
- }
- }
- if ($value{'_author'}) {
- $value{'_author'} =~ s/\n+$//;
- foreach (split(/\n/, $value{'_author'})) {
- $_ = &substitute_style($_);
- &unprotect_texi;
- s/[\w.-]+\@[\w.-]+/<A HREF="mailto:$&">$&<\/A>/g;
- print FILE "<ADDRESS>$_</ADDRESS>\n";
- }
- }
- print FILE "<P>\n";
-}
-
-sub print_footer
-{
- print FILE <<EOT;
- </BODY>
- </HTML>
-EOT
-}
-
-sub print_toplevel_footer
-{
- &print_footer unless $opt_empty_headers;
-}
-
-sub protect_texi
-{
- # protect @ { } ` '
- s/\@\@/$;0/go;
- s/\@\{/$;1/go;
- s/\@\}/$;2/go;
- s/\@\`/$;3/go;
- s/\@\'/$;4/go;
-}
-
-sub protect_html
-{
- local($what) = @_;
- # protect & < >
- # hack for the two entity-like variable reference in existing examples
- $what =~ s/\&(length|ts);/\&\#38;$1;/g;
- # this leaves alone entities, but encodes standalone ampersands
- $what =~ s/\&(?!([a-z0-9]+|#\d+);)/\&\#38;/ig;
- $what =~ s/\</\&\#60;/g;
- $what =~ s/\>/\&\#62;/g;
- # but recognize some HTML things
- $what =~ s/\&\#60;\/A\&\#62;/<\/A>/g; # </A>
- $what =~ s/\&\#60;A ([^\&]+)\&\#62;/<A $1>/g; # <A [^&]+>
- $what =~ s/\&\#60;IMG ([^\&]+)\&\#62;/<IMG $1>/g; # <IMG [^&]+>
- return($what);
-}
-
-sub unprotect_texi
-{
- s/$;0/\@/go;
- s/$;1/\{/go;
- s/$;2/\}/go;
- s/$;3/\`/go;
- s/$;4/\'/go;
-}
-
-sub unprotect_html
-{
- local($what) = @_;
- $what =~ s/\&\#38;/\&/g;
- $what =~ s/\&\#60;/\</g;
- $what =~ s/\&\#62;/\>/g;
- return($what);
-}
-
-sub byalpha
-{
- $key2alpha{$a} cmp $key2alpha{$b};
-}
-
-##############################################################################
-
- # These next few lines are legal in both Perl and nroff.
-
- .00 ; # finish .ig
-
- 'di \" finish diversion--previous line must be blank
-.nr nl 0-1 \" fake up transition to first page again
-.nr % 0 \" start at page 1
-'; __END__ ############# From here on it's a standard manual page ############
-.TH TEXI2HTML 1 "09/10/96"
-.AT 3
-.SH NAME
-texi2html \- a Texinfo to HTML converter
-.SH SYNOPSIS
-.B texi2html [options] file
-.PP
-.B texi2html -check [-verbose] files
-.SH DESCRIPTION
-.I Texi2html
-converts the given Texinfo file to a set of HTML files. It tries to handle
-most of the Texinfo commands. It creates hypertext links for cross-references,
-footnotes...
-.PP
-It also tries to add links from a reference to its corresponding entry in the
-bibliography (if any). It may also handle a glossary (see the
-.B \-glossary
-option).
-.PP
-.I Texi2html
-creates several files depending on the contents of the Texinfo file and on
-the chosen options (see FILES).
-.PP
-The HTML files created by
-.I texi2html
-are closer to TeX than to Info, that's why
-.I texi2html
-converts @iftex sections and not @ifinfo ones by default. You can reverse
-this with the \-expandinfo option.
-.SH OPTIONS
-.TP 12
-.B \-check
-Check the given file and give the list of all things that may be Texinfo commands.
-This may be used to check the output of
-.I texi2html
-to find the Texinfo commands that have been left in the HTML file.
-.TP
-.B \-expandinfo
-Expand @ifinfo sections, not @iftex ones.
-.TP
-.B \-glossary
-Use the section named 'Glossary' to build a list of terms and put links in the HTML
-document from each term toward its definition.
-.TP
-.B \-invisible \fIname\fP
-Use \fIname\fP to create invisible destination anchors for index links. This is a workaround
-for a known bug of many WWW browsers, including xmosaic.
-.TP
-.B \-I \fIdir\fP
-Look also in \fIdir\fP to find included files.
-.TP
-.B \-menu
-Show the Texinfo menus; by default they are ignored.
-.TP
-.B \-monolithic
-Output only one file, including the table of contents and footnotes.
-.TP
-.B \-number
-Number the sections.
-.TP
-.B \-split_chapter
-Split the output into several HTML files (one per main section:
-chapter, appendix...).
-.TP
-.B \-split_node
-Split the output into several HTML files (one per node).
-.TP
-.B \-usage
-Print usage instructions, listing the current available command-line options.
-.TP
-.B \-verbose
-Give a verbose output. Can be used with the
-.B \-check
-option.
-.PP
-.SH FILES
-By default
-.I texi2html
-creates the following files (foo being the name of the Texinfo file):
-.TP 16
-.B foo_toc.html
-The table of contents.
-.TP
-.B foo.html
-The document's contents.
-.TP
-.B foo_foot.html
-The footnotes (if any).
-.PP
-When used with the
-.B \-split
-option, it creates several files (one per chapter or node), named
-.B foo_n.html
-(n being the indice of the chapter or node), instead of the single
-.B foo.html
-file.
-.PP
-When used with the
-.B \-monolithic
-option, it creates only one file:
-.B foo.html
-.SH VARIABLES
-.I texi2html
-predefines the following variables: \fBhtml\fP, \fBtexi2html\fP.
-.SH ADDITIONAL COMMANDS
-.I texi2html
-implements the following non-Texinfo commands:
-.TP 16
-.B @ifhtml
-This indicates the start of an HTML section, this section will passed through
-without any modofication.
-.TP
-.B @end ifhtml
-This indcates the end of an HTML section.
-.SH VERSION
-This is \fItexi2html\fP version 1.52, 09/10/96.
-.PP
-The latest version of \fItexi2html\fP can be found in WWW, cf. URL
-http://wwwcn.cern.ch/dci/texi2html/
-.SH AUTHOR
-The main author is Lionel Cons, CERN CN/DCI/UWS, Lionel.Cons@cern.ch.
-Many other people around the net contributed to this program.
-.SH COPYRIGHT
-This program is the intellectual property of the European
-Laboratory for Particle Physics (known as CERN). No guarantee whatsoever is
-provided by CERN. No liability whatsoever is accepted for any loss or damage
-of any kind resulting from any defect or inaccuracy in this information or
-code.
-.PP
-CERN, 1211 Geneva 23, Switzerland
-.SH "SEE ALSO"
-GNU Texinfo Documentation Format,
-HyperText Markup Language (HTML),
-World Wide Web (WWW).
-.SH BUGS
-This program does not understand all Texinfo commands (yet).
-.PP
-TeX specific commands (normally enclosed in @iftex) will be
-passed unmodified.
-.ex
diff --git a/Docs/Support/texinfo.tex b/Docs/Support/texinfo.tex
deleted file mode 100644
index 3299693244b..00000000000
--- a/Docs/Support/texinfo.tex
+++ /dev/null
@@ -1,5868 +0,0 @@
-% texinfo.tex -- TeX macros to handle Texinfo files.
-%
-% Load plain if necessary, i.e., if running under initex.
-\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
-%
-\def\texinfoversion{1999-05-25.6}%
-%
-% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
-% Free Software Foundation, Inc.
-%
-% This texinfo.tex file is free software; you can redistribute it and/or
-% modify it under the terms of the GNU General Public License as
-% published by the Free Software Foundation; either version 2, or (at
-% your option) any later version.
-%
-% This texinfo.tex file is distributed in the hope that it will be
-% useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-% General Public License for more details.
-%
-% You should have received a copy of the GNU General Public License
-% along with this texinfo.tex file; see the file COPYING. If not, write
-% to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-% Boston, MA 02111-1307, USA.
-%
-% In other words, you are welcome to use, share and improve this program.
-% You are forbidden to forbid anyone else to use, share and improve
-% what you give them. Help stamp out software-hoarding!
-%
-% Please try the latest version of texinfo.tex before submitting bug
-% reports; you can get the latest version from:
-% ftp://ftp.gnu.org/pub/gnu/texinfo.tex
-% (and all GNU mirrors, see http://www.gnu.org/order/ftp.html)
-% ftp://tug.org/tex/texinfo.tex
-% ftp://ctan.org/macros/texinfo/texinfo.tex
-% (and all CTAN mirrors, finger ctan@ctan.org for a list).
-% /home/gd/gnu/doc/texinfo.tex on the GNU machines.
-% The texinfo.tex in any given Texinfo distribution could well be out
-% of date, so if that's what you're using, please check.
-% There is a small home page for Texinfo at http://texinfo.org/.
-%
-% Send bug reports to bug-texinfo@gnu.org. Please include including a
-% complete document in each bug report with which we can reproduce the
-% problem. Patches are, of course, greatly appreciated.
-%
-% To process a Texinfo manual with TeX, it's most reliable to use the
-% texi2dvi shell script that comes with the distribution. For a simple
-% manual foo.texi, however, you can get away with this:
-% tex foo.texi
-% texindex foo.??
-% tex foo.texi
-% tex foo.texi
-% dvips foo.dvi -o # or whatever, to process the dvi file; this makes foo.ps.
-% The extra runs of TeX get the cross-reference information correct.
-% Sometimes one run after texindex suffices, and sometimes you need more
-% than two; texi2dvi does it as many times as necessary.
-%
-% It is possible to adapt texinfo.tex for other languages. You can get
-% the existing language-specific files from ftp://ftp.gnu.org/gnu/texinfo/.
-
-\message{Loading texinfo [version \texinfoversion]:}
-
-% If in a .fmt file, print the version number
-% and turn on active characters that we couldn't do earlier because
-% they might have appeared in the input file name.
-\everyjob{\message{[Texinfo version \texinfoversion]}%
- \catcode`+=\active \catcode`\_=\active}
-
-% Save some parts of plain tex whose names we will redefine.
-\let\ptexb=\b
-\let\ptexbullet=\bullet
-\let\ptexc=\c
-\let\ptexcomma=\,
-\let\ptexdot=\.
-\let\ptexdots=\dots
-\let\ptexend=\end
-\let\ptexequiv=\equiv
-\let\ptexexclam=\!
-\let\ptexi=\i
-\let\ptexlbrace=\{
-\let\ptexrbrace=\}
-\let\ptexstar=\*
-\let\ptext=\t
-
-% We never want plain's outer \+ definition in Texinfo.
-% For @tex, we can use \tabalign.
-\let\+ = \relax
-
-% Get ready for pdf.
-\newif\ifpdf
-\ifx\pdfoutput\undefined\else
- \input pdfcolor
- \pdfoutput=1
- \pdftrue
-\fi
-
-\message{Basics,}
-\chardef\other=12
-
-% If this character appears in an error message or help string, it
-% starts a new line in the output.
-\newlinechar = `^^J
-
-% Set up fixed words for English if not already set.
-\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
-\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
-\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi
-\ifx\putwordin\undefined \gdef\putwordin{in}\fi
-\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
-\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
-\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi
-\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
-\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi
-\ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi
-\ifx\putwordof\undefined \gdef\putwordof{of}\fi
-\ifx\putwordon\undefined \gdef\putwordon{on}\fi
-\ifx\putwordpage\undefined \gdef\putwordpage{page}\fi
-\ifx\putwordsection\undefined \gdef\putwordsection{section}\fi
-\ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi
-\ifx\putwordsee\undefined \gdef\putwordsee{see}\fi
-\ifx\putwordSee\undefined \gdef\putwordSee{See}\fi
-\ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi
-\ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi
-%
-\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi
-\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi
-\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi
-\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi
-\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi
-\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi
-\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi
-\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi
-\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi
-\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi
-\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi
-\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi
-%
-\ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi
-\ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi
-\ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi
-\ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi
-\ifx\putwordDeftypevar\undefined\gdef\putwordDeftypevar{Variable}\fi
-\ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi
-\ifx\putwordDeftypefun\undefined\gdef\putwordDeftypefun{Function}\fi
-
-% Ignore a token.
-%
-\def\gobble#1{}
-
-\hyphenation{ap-pen-dix}
-\hyphenation{mini-buf-fer mini-buf-fers}
-\hyphenation{eshell}
-\hyphenation{white-space}
-
-% Margin to add to right of even pages, to left of odd pages.
-\newdimen \bindingoffset
-\newdimen \normaloffset
-\newdimen\pagewidth \newdimen\pageheight
-
-% Sometimes it is convenient to have everything in the transcript file
-% and nothing on the terminal. We don't just call \tracingall here,
-% since that produces some useless output on the terminal.
-%
-\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
-\ifx\eTeXversion\undefined
-\def\loggingall{\tracingcommands2 \tracingstats2
- \tracingpages1 \tracingoutput1 \tracinglostchars1
- \tracingmacros2 \tracingparagraphs1 \tracingrestores1
- \showboxbreadth\maxdimen\showboxdepth\maxdimen
-}%
-\else
-\def\loggingall{\tracingcommands3 \tracingstats2
- \tracingpages1 \tracingoutput1 \tracinglostchars1
- \tracingmacros2 \tracingparagraphs1 \tracingrestores1
- \tracingscantokens1 \tracingassigns1 \tracingifs1
- \tracinggroups1 \tracingnesting2
- \showboxbreadth\maxdimen\showboxdepth\maxdimen
-}%
-\fi
-
-% For @cropmarks command.
-% Do @cropmarks to get crop marks.
-%
-\newif\ifcropmarks
-\let\cropmarks = \cropmarkstrue
-%
-% Dimensions to add cropmarks at corners.
-% Added by P. A. MacKay, 12 Nov. 1986
-%
-\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
-\newdimen\cornerlong \cornerlong=1pc
-\newdimen\cornerthick \cornerthick=.3pt
-\newdimen\topandbottommargin \topandbottommargin=.75in
-
-% Main output routine.
-\chardef\PAGE = 255
-\output = {\onepageout{\pagecontents\PAGE}}
-
-\newbox\headlinebox
-\newbox\footlinebox
-
-% \onepageout takes a vbox as an argument. Note that \pagecontents
-% does insertions, but you have to call it yourself.
-\def\onepageout#1{%
- \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
- %
- \ifodd\pageno \advance\hoffset by \bindingoffset
- \else \advance\hoffset by -\bindingoffset\fi
- %
- % Do this outside of the \shipout so @code etc. will be expanded in
- % the headline as they should be, not taken literally (outputting ''code).
- \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
- \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
- %
- {%
- % Have to do this stuff outside the \shipout because we want it to
- % take effect in \write's, yet the group defined by the \vbox ends
- % before the \shipout runs.
- %
- \escapechar = `\\ % use backslash in output files.
- \indexdummies % don't expand commands in the output.
- \normalturnoffactive % \ in index entries must not stay \, e.g., if
- % the page break happens to be in the middle of an example.
- \shipout\vbox{%
- \ifcropmarks \vbox to \outervsize\bgroup
- \hsize = \outerhsize
- \vskip-\topandbottommargin
- \vtop to0pt{%
- \line{\ewtop\hfil\ewtop}%
- \nointerlineskip
- \line{%
- \vbox{\moveleft\cornerthick\nstop}%
- \hfill
- \vbox{\moveright\cornerthick\nstop}%
- }%
- \vss}%
- \vskip\topandbottommargin
- \line\bgroup
- \hfil % center the page within the outer (page) hsize.
- \ifodd\pageno\hskip\bindingoffset\fi
- \vbox\bgroup
- \fi
- %
- \unvbox\headlinebox
- \pagebody{#1}%
- \ifdim\ht\footlinebox > 0pt
- % Only leave this space if the footline is nonempty.
- % (We lessened \vsize for it in \oddfootingxxx.)
- % The \baselineskip=24pt in plain's \makefootline has no effect.
- \vskip 2\baselineskip
- \unvbox\footlinebox
- \fi
- %
- \ifpdf\pdfmkdest{\the\pageno}\fi
- %
- \ifcropmarks
- \egroup % end of \vbox\bgroup
- \hfil\egroup % end of (centering) \line\bgroup
- \vskip\topandbottommargin plus1fill minus1fill
- \boxmaxdepth = \cornerthick
- \vbox to0pt{\vss
- \line{%
- \vbox{\moveleft\cornerthick\nsbot}%
- \hfill
- \vbox{\moveright\cornerthick\nsbot}%
- }%
- \nointerlineskip
- \line{\ewbot\hfil\ewbot}%
- }%
- \egroup % \vbox from first cropmarks clause
- \fi
- }% end of \shipout\vbox
- }% end of group with \turnoffactive
- \advancepageno
- \ifnum\outputpenalty>-20000 \else\dosupereject\fi
-}
-
-\newinsert\margin \dimen\margin=\maxdimen
-
-\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
-{\catcode`\@ =11
-\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
-% marginal hacks, juha@viisa.uucp (Juha Takala)
-\ifvoid\margin\else % marginal info is present
- \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi
-\dimen@=\dp#1 \unvbox#1
-\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
-\ifr@ggedbottom \kern-\dimen@ \vfil \fi}
-}
-
-% Here are the rules for the cropmarks. Note that they are
-% offset so that the space between them is truly \outerhsize or \outervsize
-% (P. A. MacKay, 12 November, 1986)
-%
-\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
-\def\nstop{\vbox
- {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
-\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
-\def\nsbot{\vbox
- {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
-
-% Parse an argument, then pass it to #1. The argument is the rest of
-% the input line (except we remove a trailing comment). #1 should be a
-% macro which expects an ordinary undelimited TeX argument.
-%
-\def\parsearg#1{%
- \let\next = #1%
- \begingroup
- \obeylines
- \futurelet\temp\parseargx
-}
-
-% If the next token is an obeyed space (from an @example environment or
-% the like), remove it and recurse. Otherwise, we're done.
-\def\parseargx{%
- % \obeyedspace is defined far below, after the definition of \sepspaces.
- \ifx\obeyedspace\temp
- \expandafter\parseargdiscardspace
- \else
- \expandafter\parseargline
- \fi
-}
-
-% Remove a single space (as the delimiter token to the macro call).
-{\obeyspaces %
- \gdef\parseargdiscardspace {\futurelet\temp\parseargx}}
-
-{\obeylines %
- \gdef\parseargline#1^^M{%
- \endgroup % End of the group started in \parsearg.
- %
- % First remove any @c comment, then any @comment.
- % Result of each macro is put in \toks0.
- \argremovec #1\c\relax %
- \expandafter\argremovecomment \the\toks0 \comment\relax %
- %
- % Call the caller's macro, saved as \next in \parsearg.
- \expandafter\next\expandafter{\the\toks0}%
- }%
-}
-
-% Since all \c{,omment} does is throw away the argument, we can let TeX
-% do that for us. The \relax here is matched by the \relax in the call
-% in \parseargline; it could be more or less anything, its purpose is
-% just to delimit the argument to the \c.
-\def\argremovec#1\c#2\relax{\toks0 = {#1}}
-\def\argremovecomment#1\comment#2\relax{\toks0 = {#1}}
-
-% \argremovec{,omment} might leave us with trailing spaces, though; e.g.,
-% @end itemize @c foo
-% will have two active spaces as part of the argument with the
-% `itemize'. Here we remove all active spaces from #1, and assign the
-% result to \toks0.
-%
-% This loses if there are any *other* active characters besides spaces
-% in the argument -- _ ^ +, for example -- since they get expanded.
-% Fortunately, Texinfo does not define any such commands. (If it ever
-% does, the catcode of the characters in questionwill have to be changed
-% here.) But this means we cannot call \removeactivespaces as part of
-% \argremovec{,omment}, since @c uses \parsearg, and thus the argument
-% that \parsearg gets might well have any character at all in it.
-%
-\def\removeactivespaces#1{%
- \begingroup
- \ignoreactivespaces
- \edef\temp{#1}%
- \global\toks0 = \expandafter{\temp}%
- \endgroup
-}
-
-% Change the active space to expand to nothing.
-%
-\begingroup
- \obeyspaces
- \gdef\ignoreactivespaces{\obeyspaces\let =\empty}
-\endgroup
-
-
-\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
-
-%% These are used to keep @begin/@end levels from running away
-%% Call \inENV within environments (after a \begingroup)
-\newif\ifENV \ENVfalse \def\inENV{\ifENV\relax\else\ENVtrue\fi}
-\def\ENVcheck{%
-\ifENV\errmessage{Still within an environment; press RETURN to continue}
-\endgroup\fi} % This is not perfect, but it should reduce lossage
-
-% @begin foo is the same as @foo, for now.
-\newhelp\EMsimple{Press RETURN to continue.}
-
-\outer\def\begin{\parsearg\beginxxx}
-
-\def\beginxxx #1{%
-\expandafter\ifx\csname #1\endcsname\relax
-{\errhelp=\EMsimple \errmessage{Undefined command @begin #1}}\else
-\csname #1\endcsname\fi}
-
-% @end foo executes the definition of \Efoo.
-%
-\def\end{\parsearg\endxxx}
-\def\endxxx #1{%
- \removeactivespaces{#1}%
- \edef\endthing{\the\toks0}%
- %
- \expandafter\ifx\csname E\endthing\endcsname\relax
- \expandafter\ifx\csname \endthing\endcsname\relax
- % There's no \foo, i.e., no ``environment'' foo.
- \errhelp = \EMsimple
- \errmessage{Undefined command `@end \endthing'}%
- \else
- \unmatchedenderror\endthing
- \fi
- \else
- % Everything's ok; the right environment has been started.
- \csname E\endthing\endcsname
- \fi
-}
-
-% There is an environment #1, but it hasn't been started. Give an error.
-%
-\def\unmatchedenderror#1{%
- \errhelp = \EMsimple
- \errmessage{This `@end #1' doesn't have a matching `@#1'}%
-}
-
-% Define the control sequence \E#1 to give an unmatched @end error.
-%
-\def\defineunmatchedend#1{%
- \expandafter\def\csname E#1\endcsname{\unmatchedenderror{#1}}%
-}
-
-
-% Single-spacing is done by various environments (specifically, in
-% \nonfillstart and \quotations).
-\newskip\singlespaceskip \singlespaceskip = 12.5pt
-\def\singlespace{%
- % Why was this kern here? It messes up equalizing space above and below
- % environments. --karl, 6may93
- %{\advance \baselineskip by -\singlespaceskip
- %\kern \baselineskip}%
- \setleading \singlespaceskip
-}
-
-%% Simple single-character @ commands
-
-% @@ prints an @
-% Kludge this until the fonts are right (grr).
-\def\@{{\tt\char64}}
-
-% This is turned off because it was never documented
-% and you can use @w{...} around a quote to suppress ligatures.
-%% Define @` and @' to be the same as ` and '
-%% but suppressing ligatures.
-%\def\`{{`}}
-%\def\'{{'}}
-
-% Used to generate quoted braces.
-\def\mylbrace {{\tt\char123}}
-\def\myrbrace {{\tt\char125}}
-\let\{=\mylbrace
-\let\}=\myrbrace
-\begingroup
- % Definitions to produce actual \{ & \} command in an index.
- \catcode`\{ = 12 \catcode`\} = 12
- \catcode`\[ = 1 \catcode`\] = 2
- \catcode`\@ = 0 \catcode`\\ = 12
- @gdef@lbracecmd[\{]%
- @gdef@rbracecmd[\}]%
-@endgroup
-
-% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
-% Others are defined by plain TeX: @` @' @" @^ @~ @= @v @H.
-\let\, = \c
-\let\dotaccent = \.
-\def\ringaccent#1{{\accent23 #1}}
-\let\tieaccent = \t
-\let\ubaraccent = \b
-\let\udotaccent = \d
-
-% Other special characters: @questiondown @exclamdown
-% Plain TeX defines: @AA @AE @O @OE @L (and lowercase versions) @ss.
-\def\questiondown{?`}
-\def\exclamdown{!`}
-
-% Dotless i and dotless j, used for accents.
-\def\imacro{i}
-\def\jmacro{j}
-\def\dotless#1{%
- \def\temp{#1}%
- \ifx\temp\imacro \ptexi
- \else\ifx\temp\jmacro \j
- \else \errmessage{@dotless can be used only with i or j}%
- \fi\fi
-}
-
-% Be sure we're in horizontal mode when doing a tie, since we make space
-% equivalent to this in @example-like environments. Otherwise, a space
-% at the beginning of a line will start with \penalty -- and
-% since \penalty is valid in vertical mode, we'd end up putting the
-% penalty on the vertical list instead of in the new paragraph.
-{\catcode`@ = 11
- % Avoid using \@M directly, because that causes trouble
- % if the definition is written into an index file.
- \global\let\tiepenalty = \@M
- \gdef\tie{\leavevmode\penalty\tiepenalty\ }
-}
-
-% @: forces normal size whitespace following.
-\def\:{\spacefactor=1000 }
-
-% @* forces a line break.
-\def\*{\hfil\break\hbox{}\ignorespaces}
-
-% @. is an end-of-sentence period.
-\def\.{.\spacefactor=3000 }
-
-% @! is an end-of-sentence bang.
-\def\!{!\spacefactor=3000 }
-
-% @? is an end-of-sentence query.
-\def\?{?\spacefactor=3000 }
-
-% @w prevents a word break. Without the \leavevmode, @w at the
-% beginning of a paragraph, when TeX is still in vertical mode, would
-% produce a whole line of output instead of starting the paragraph.
-\def\w#1{\leavevmode\hbox{#1}}
-
-% @group ... @end group forces ... to be all on one page, by enclosing
-% it in a TeX vbox. We use \vtop instead of \vbox to construct the box
-% to keep its height that of a normal line. According to the rules for
-% \topskip (p.114 of the TeXbook), the glue inserted is
-% max (\topskip - \ht (first item), 0). If that height is large,
-% therefore, no glue is inserted, and the space between the headline and
-% the text is small, which looks bad.
-%
-\def\group{\begingroup
- \ifnum\catcode13=\active \else
- \errhelp = \groupinvalidhelp
- \errmessage{@group invalid in context where filling is enabled}%
- \fi
- %
- % The \vtop we start below produces a box with normal height and large
- % depth; thus, TeX puts \baselineskip glue before it, and (when the
- % next line of text is done) \lineskip glue after it. (See p.82 of
- % the TeXbook.) Thus, space below is not quite equal to space
- % above. But it's pretty close.
- \def\Egroup{%
- \egroup % End the \vtop.
- \endgroup % End the \group.
- }%
- %
- \vtop\bgroup
- % We have to put a strut on the last line in case the @group is in
- % the midst of an example, rather than completely enclosing it.
- % Otherwise, the interline space between the last line of the group
- % and the first line afterwards is too small. But we can't put the
- % strut in \Egroup, since there it would be on a line by itself.
- % Hence this just inserts a strut at the beginning of each line.
- \everypar = {\strut}%
- %
- % Since we have a strut on every line, we don't need any of TeX's
- % normal interline spacing.
- \offinterlineskip
- %
- % OK, but now we have to do something about blank
- % lines in the input in @example-like environments, which normally
- % just turn into \lisppar, which will insert no space now that we've
- % turned off the interline space. Simplest is to make them be an
- % empty paragraph.
- \ifx\par\lisppar
- \edef\par{\leavevmode \par}%
- %
- % Reset ^^M's definition to new definition of \par.
- \obeylines
- \fi
- %
- % Do @comment since we are called inside an environment such as
- % @example, where each end-of-line in the input causes an
- % end-of-line in the output. We don't want the end-of-line after
- % the `@group' to put extra space in the output. Since @group
- % should appear on a line by itself (according to the Texinfo
- % manual), we don't worry about eating any user text.
- \comment
-}
-%
-% TeX puts in an \escapechar (i.e., `@') at the beginning of the help
-% message, so this ends up printing `@group can only ...'.
-%
-\newhelp\groupinvalidhelp{%
-group can only be used in environments such as @example,^^J%
-where each line of input produces a line of output.}
-
-% @need space-in-mils
-% forces a page break if there is not space-in-mils remaining.
-
-\newdimen\mil \mil=0.001in
-
-\def\need{\parsearg\needx}
-
-% Old definition--didn't work.
-%\def\needx #1{\par %
-%% This method tries to make TeX break the page naturally
-%% if the depth of the box does not fit.
-%{\baselineskip=0pt%
-%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
-%\prevdepth=-1000pt
-%}}
-
-\def\needx#1{%
- % Go into vertical mode, so we don't make a big box in the middle of a
- % paragraph.
- \par
- %
- % Don't add any leading before our big empty box, but allow a page
- % break, since the best break might be right here.
- \allowbreak
- \nointerlineskip
- \vtop to #1\mil{\vfil}%
- %
- % TeX does not even consider page breaks if a penalty added to the
- % main vertical list is 10000 or more. But in order to see if the
- % empty box we just added fits on the page, we must make it consider
- % page breaks. On the other hand, we don't want to actually break the
- % page after the empty box. So we use a penalty of 9999.
- %
- % There is an extremely small chance that TeX will actually break the
- % page at this \penalty, if there are no other feasible breakpoints in
- % sight. (If the user is using lots of big @group commands, which
- % almost-but-not-quite fill up a page, TeX will have a hard time doing
- % good page breaking, for example.) However, I could not construct an
- % example where a page broke at this \penalty; if it happens in a real
- % document, then we can reconsider our strategy.
- \penalty9999
- %
- % Back up by the size of the box, whether we did a page break or not.
- \kern -#1\mil
- %
- % Do not allow a page break right after this kern.
- \nobreak
-}
-
-% @br forces paragraph break
-
-\let\br = \par
-
-% @dots{} output an ellipsis using the current font.
-% We do .5em per period so that it has the same spacing in a typewriter
-% font as three actual period characters.
-%
-\def\dots{%
- \leavevmode
- \hbox to 1.5em{%
- \hskip 0pt plus 0.25fil minus 0.25fil
- .\hss.\hss.%
- \hskip 0pt plus 0.5fil minus 0.5fil
- }%
-}
-
-% @enddots{} is an end-of-sentence ellipsis.
-%
-\def\enddots{%
- \leavevmode
- \hbox to 2em{%
- \hskip 0pt plus 0.25fil minus 0.25fil
- .\hss.\hss.\hss.%
- \hskip 0pt plus 0.5fil minus 0.5fil
- }%
- \spacefactor=3000
-}
-
-
-% @page forces the start of a new page
-%
-\def\page{\par\vfill\supereject}
-
-% @exdent text....
-% outputs text on separate line in roman font, starting at standard page margin
-
-% This records the amount of indent in the innermost environment.
-% That's how much \exdent should take out.
-\newskip\exdentamount
-
-% This defn is used inside fill environments such as @defun.
-\def\exdent{\parsearg\exdentyyy}
-\def\exdentyyy #1{{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}}
-
-% This defn is used inside nofill environments such as @example.
-\def\nofillexdent{\parsearg\nofillexdentyyy}
-\def\nofillexdentyyy #1{{\advance \leftskip by -\exdentamount
-\leftline{\hskip\leftskip{\rm#1}}}}
-
-% @inmargin{TEXT} puts TEXT in the margin next to the current paragraph.
-
-\def\inmargin#1{%
-\strut\vadjust{\nobreak\kern-\strutdepth
- \vtop to \strutdepth{\baselineskip\strutdepth\vss
- \llap{\rightskip=\inmarginspacing \vbox{\noindent #1}}\null}}}
-\newskip\inmarginspacing \inmarginspacing=1cm
-\def\strutdepth{\dp\strutbox}
-
-%\hbox{{\rm#1}}\hfil\break}}
-
-% @include file insert text of that file as input.
-% Allow normal characters that we make active in the argument (a file name).
-\def\include{\begingroup
- \catcode`\\=12
- \catcode`~=12
- \catcode`^=12
- \catcode`_=12
- \catcode`|=12
- \catcode`<=12
- \catcode`>=12
- \catcode`+=12
- \parsearg\includezzz}
-% Restore active chars for included file.
-\def\includezzz#1{\endgroup\begingroup
- % Read the included file in a group so nested @include's work.
- \def\thisfile{#1}%
- \input\thisfile
-\endgroup}
-
-\def\thisfile{}
-
-% @center line outputs that line, centered
-
-\def\center{\parsearg\centerzzz}
-\def\centerzzz #1{{\advance\hsize by -\leftskip
-\advance\hsize by -\rightskip
-\centerline{#1}}}
-
-% @sp n outputs n lines of vertical space
-
-\def\sp{\parsearg\spxxx}
-\def\spxxx #1{\vskip #1\baselineskip}
-
-% @comment ...line which is ignored...
-% @c is the same as @comment
-% @ignore ... @end ignore is another way to write a comment
-
-\def\comment{\begingroup \catcode`\^^M=\other%
-\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
-\commentxxx}
-{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
-
-\let\c=\comment
-
-% @paragraphindent NCHARS
-% We'll use ems for NCHARS, close enough.
-% We cannot implement @paragraphindent asis, though.
-%
-\def\asisword{asis} % no translation, these are keywords
-\def\noneword{none}
-%
-\def\paragraphindent{\parsearg\doparagraphindent}
-\def\doparagraphindent#1{%
- \def\temp{#1}%
- \ifx\temp\asisword
- \else
- \ifx\temp\noneword
- \defaultparindent = 0pt
- \else
- \defaultparindent = #1em
- \fi
- \fi
- \parindent = \defaultparindent
-}
-
-% @exampleindent NCHARS
-% We'll use ems for NCHARS like @paragraphindent.
-% It seems @exampleindent asis isn't necessary, but
-% I preserve it to make it similar to @paragraphindent.
-\def\exampleindent{\parsearg\doexampleindent}
-\def\doexampleindent#1{%
- \def\temp{#1}%
- \ifx\temp\asisword
- \else
- \ifx\temp\noneword
- \lispnarrowing = 0pt
- \else
- \lispnarrowing = #1em
- \fi
- \fi
-}
-
-% @asis just yields its argument. Used with @table, for example.
-%
-\def\asis#1{#1}
-
-% @math means output in math mode.
-% We don't use $'s directly in the definition of \math because control
-% sequences like \math are expanded when the toc file is written. Then,
-% we read the toc file back, the $'s will be normal characters (as they
-% should be, according to the definition of Texinfo). So we must use a
-% control sequence to switch into and out of math mode.
-%
-% This isn't quite enough for @math to work properly in indices, but it
-% seems unlikely it will ever be needed there.
-%
-\let\implicitmath = $
-\def\math#1{\implicitmath #1\implicitmath}
-
-% @bullet and @minus need the same treatment as @math, just above.
-\def\bullet{\implicitmath\ptexbullet\implicitmath}
-\def\minus{\implicitmath-\implicitmath}
-
-% @refill is a no-op.
-\let\refill=\relax
-
-% If working on a large document in chapters, it is convenient to
-% be able to disable indexing, cross-referencing, and contents, for test runs.
-% This is done with @novalidate (before @setfilename).
-%
-\newif\iflinks \linkstrue % by default we want the aux files.
-\let\novalidate = \linksfalse
-
-% @setfilename is done at the beginning of every texinfo file.
-% So open here the files we need to have open while reading the input.
-% This makes it possible to make a .fmt file for texinfo.
-\def\setfilename{%
- \iflinks
- \readauxfile
- \fi % \openindices needs to do some work in any case.
- \openindices
- \fixbackslash % Turn off hack to swallow `\input texinfo'.
- \global\let\setfilename=\comment % Ignore extra @setfilename cmds.
- %
- % If texinfo.cnf is present on the system, read it.
- % Useful for site-wide @afourpaper, etc.
- % Just to be on the safe side, close the input stream before the \input.
- \openin 1 texinfo.cnf
- \ifeof1 \let\temp=\relax \else \def\temp{\input texinfo.cnf }\fi
- \closein1
- \temp
- %
- \comment % Ignore the actual filename.
-}
-
-% Called from \setfilename.
-%
-\def\openindices{%
- \newindex{cp}%
- \newcodeindex{fn}%
- \newcodeindex{vr}%
- \newcodeindex{tp}%
- \newcodeindex{ky}%
- \newcodeindex{pg}%
-}
-
-% @bye.
-\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
-
-
-\message{pdf,}
-% adobe `portable' document format
-
-\newcount\tempnum
-\newcount\lnkcount
-\newtoks\filename
-\newcount\filenamelength
-\newcount\pgn
-
-\ifpdf
-\def\pdfmkdest#1{\pdfdest name{#1@} xyz}
-\def\pdfmkpgn#1{#1@}
-
-% Adding outlines to PDF; macros for calculating structure of outlines
-% come from Petr Olsak
-\def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
- \else \csname#1\endcsname \fi}
-\def\advancenumber#1{\tempnum=\expnumber{#1}\relax
- \advance\tempnum by1
- \expandafter\xdef\csname#1\endcsname{\the\tempnum}}
-\def\pdfmakeoutlines{{%
- \openin 1 \jobname.toc
- \ifeof 1\else\bgroup
- \closein 1
- \def\code##1{##1}
- \def\file##1{##1}
- \def\TeX##1{TeX}
- \def\tt{}
- \def\char{char}
- \def\samp##1{##1}
- \def\kbd##1{##1}
- \def\key##1{##1}
- \def\rawbackslashxx{\string\\}
- \def\chapentry ##1##2##3{}
- \def\unnumbchapentry ##1##2{}
- \def\secentry ##1##2##3##4{\advancenumber{chap##2}}
- \def\unnumbsecentry ##1##2{}
- \def\subsecentry ##1##2##3##4##5{\advancenumber{sec##2.##3}}
- \def\unnumbsubsecentry ##1##2{}
- \def\subsubsecentry ##1##2##3##4##5##6{\advancenumber{subsec##2.##3.##4}}
- \def\unnumbsubsubsecentry ##1##2{}
- \input \jobname.toc
- \def\chapentry ##1##2##3{%
- \pdfoutline goto name{\pdfmkpgn{##3}}count-\expnumber{chap##2}{##1}}
- \def\unnumbchapentry ##1##2{%
- \pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
- \def\secentry ##1##2##3##4{%
- \pdfoutline goto name{\pdfmkpgn{##4}}count-\expnumber{sec##2.##3}{##1}}
- \def\unnumbsecentry ##1##2{%
- \pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
- \def\subsecentry ##1##2##3##4##5{%
- \pdfoutline goto name{\pdfmkpgn{##5}}count-\expnumber{subsec##2.##3.##4}{##1}}
- \def\unnumbsubsecentry ##1##2{%
- \pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
- \def\subsubsecentry ##1##2##3##4##5##6{%
- \pdfoutline goto name{\pdfmkpgn{##6}}{##1}}
- \def\unnumbsubsubsecentry ##1##2{%
- \pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
- \input \jobname.toc
- \egroup\fi
-}}
-\pdfmakeoutlines
-
-\def\makelinks #1,{%
- \def\params{#1}\def\E{END}%
- \ifx\params\E
- \let\nextmakelinks=\relax
- \else
- \let\nextmakelinks=\makelinks
- \ifnum\lnkcount>0,\fi
- \picknum{#1}%
- \Blue\pdfannotlink attr{/Border [0 0 0]}
- goto name{\pdfmkpgn{\the\pgn}}%
- #1%
- \advance\lnkcount by 1%
- \Black\pdfendlink
- \fi
- \nextmakelinks
-}
-
-\def\picknum#1{\expandafter\pn#1}
-\def\pn#1{%
- \def\p{#1}%
- \ifx\p\lbrace
- \let\nextpn=\ppn
- \else
- \let\nextpn=\ppnn
- \def\first{#1}
- \fi
- \nextpn
-}
-\def\ppn#1{\pgn=#1\gobble}
-\def\ppnn{\pgn=\first}
-\def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,}
-
-\def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
-\def\skipspaces#1{\def\PP{#1}\def\D{|}%
- \ifx\PP\D\let\nextsp\relax
- \else\let\nextsp\skipspaces
- \ifx\p\space\else\addtokens{\filename}{\PP}%
- \advance\filenamelength by 1
- \fi
- \fi
- \nextsp}
-\def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
-
-\def\pdflink#1{%
- \leavevmode\Red
- \begingroup
- \normalturnoffactive\def\@{@}%
- \pdfannotlink
- attr{/Border [0 0 0]}%
- user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
- \endgroup
-}
-
-\else
-\let\pdflink = \gobble
-\fi % end \ifpdf
-
-\message{fonts,}
-% Font-change commands.
-
-% Texinfo sort of supports the sans serif font style, which plain TeX does not.
-% So we set up a \sf analogous to plain's \rm, etc.
-\newfam\sffam
-\def\sf{\fam=\sffam \tensf}
-\let\li = \sf % Sometimes we call it \li, not \sf.
-
-% We don't need math for this one.
-\def\ttsl{\tenttsl}
-
-% Use Computer Modern fonts at \magstephalf (11pt).
-\newcount\mainmagstep
-\mainmagstep=\magstephalf
-
-% Set the font macro #1 to the font named #2, adding on the
-% specified font prefix (normally `cm').
-% #3 is the font's design size, #4 is a scale factor
-\def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4}
-
-% Use cm as the default font prefix.
-% To specify the font prefix, you must define \fontprefix
-% before you read in texinfo.tex.
-\ifx\fontprefix\undefined
-\def\fontprefix{cm}
-\fi
-% Support font families that don't use the same naming scheme as CM.
-\def\rmshape{r}
-\def\rmbshape{bx} %where the normal face is bold
-\def\bfshape{b}
-\def\bxshape{bx}
-\def\ttshape{tt}
-\def\ttbshape{tt}
-\def\ttslshape{sltt}
-\def\itshape{ti}
-\def\itbshape{bxti}
-\def\slshape{sl}
-\def\slbshape{bxsl}
-\def\sfshape{ss}
-\def\sfbshape{ss}
-\def\scshape{csc}
-\def\scbshape{csc}
-
-\ifx\bigger\relax
-\let\mainmagstep=\magstep1
-\setfont\textrm\rmshape{12}{1000}
-\setfont\texttt\ttshape{12}{1000}
-\else
-\setfont\textrm\rmshape{10}{\mainmagstep}
-\setfont\texttt\ttshape{10}{\mainmagstep}
-\fi
-% Instead of cmb10, you many want to use cmbx10.
-% cmbx10 is a prettier font on its own, but cmb10
-% looks better when embedded in a line with cmr10.
-\setfont\textbf\bfshape{10}{\mainmagstep}
-\setfont\textit\itshape{10}{\mainmagstep}
-\setfont\textsl\slshape{10}{\mainmagstep}
-\setfont\textsf\sfshape{10}{\mainmagstep}
-\setfont\textsc\scshape{10}{\mainmagstep}
-\setfont\textttsl\ttslshape{10}{\mainmagstep}
-\font\texti=cmmi10 scaled \mainmagstep
-\font\textsy=cmsy10 scaled \mainmagstep
-
-% A few fonts for @defun, etc.
-\setfont\defbf\bxshape{10}{\magstep1} %was 1314
-\setfont\deftt\ttshape{10}{\magstep1}
-\def\df{\let\tentt=\deftt \let\tenbf = \defbf \bf}
-
-% Fonts for indices and small examples (9pt).
-% We actually use the slanted font rather than the italic,
-% because texinfo normally uses the slanted fonts for that.
-% Do not make many font distinctions in general in the index, since they
-% aren't very useful.
-\setfont\ninett\ttshape{9}{1000}
-\setfont\ninettsl\ttslshape{10}{900}
-\setfont\indrm\rmshape{9}{1000}
-\setfont\indit\itshape{9}{1000}
-\setfont\indsl\slshape{9}{1000}
-\let\indtt=\ninett
-\let\indttsl=\ninettsl
-\let\indsf=\indrm
-\let\indbf=\indrm
-\setfont\indsc\scshape{10}{900}
-\font\indi=cmmi9
-\font\indsy=cmsy9
-
-% Fonts for title page:
-\setfont\titlerm\rmbshape{12}{\magstep3}
-\setfont\titleit\itbshape{10}{\magstep4}
-\setfont\titlesl\slbshape{10}{\magstep4}
-\setfont\titlett\ttbshape{12}{\magstep3}
-\setfont\titlettsl\ttslshape{10}{\magstep4}
-\setfont\titlesf\sfbshape{17}{\magstep1}
-\let\titlebf=\titlerm
-\setfont\titlesc\scbshape{10}{\magstep4}
-\font\titlei=cmmi12 scaled \magstep3
-\font\titlesy=cmsy10 scaled \magstep4
-\def\authorrm{\secrm}
-
-% Chapter (and unnumbered) fonts (17.28pt).
-\setfont\chaprm\rmbshape{12}{\magstep2}
-\setfont\chapit\itbshape{10}{\magstep3}
-\setfont\chapsl\slbshape{10}{\magstep3}
-\setfont\chaptt\ttbshape{12}{\magstep2}
-\setfont\chapttsl\ttslshape{10}{\magstep3}
-\setfont\chapsf\sfbshape{17}{1000}
-\let\chapbf=\chaprm
-\setfont\chapsc\scbshape{10}{\magstep3}
-\font\chapi=cmmi12 scaled \magstep2
-\font\chapsy=cmsy10 scaled \magstep3
-
-% Section fonts (14.4pt).
-\setfont\secrm\rmbshape{12}{\magstep1}
-\setfont\secit\itbshape{10}{\magstep2}
-\setfont\secsl\slbshape{10}{\magstep2}
-\setfont\sectt\ttbshape{12}{\magstep1}
-\setfont\secttsl\ttslshape{10}{\magstep2}
-\setfont\secsf\sfbshape{12}{\magstep1}
-\let\secbf\secrm
-\setfont\secsc\scbshape{10}{\magstep2}
-\font\seci=cmmi12 scaled \magstep1
-\font\secsy=cmsy10 scaled \magstep2
-
-% \setfont\ssecrm\bxshape{10}{\magstep1} % This size an font looked bad.
-% \setfont\ssecit\itshape{10}{\magstep1} % The letters were too crowded.
-% \setfont\ssecsl\slshape{10}{\magstep1}
-% \setfont\ssectt\ttshape{10}{\magstep1}
-% \setfont\ssecsf\sfshape{10}{\magstep1}
-
-%\setfont\ssecrm\bfshape{10}{1315} % Note the use of cmb rather than cmbx.
-%\setfont\ssecit\itshape{10}{1315} % Also, the size is a little larger than
-%\setfont\ssecsl\slshape{10}{1315} % being scaled magstep1.
-%\setfont\ssectt\ttshape{10}{1315}
-%\setfont\ssecsf\sfshape{10}{1315}
-
-%\let\ssecbf=\ssecrm
-
-% Subsection fonts (13.15pt).
-\setfont\ssecrm\rmbshape{12}{\magstephalf}
-\setfont\ssecit\itbshape{10}{1315}
-\setfont\ssecsl\slbshape{10}{1315}
-\setfont\ssectt\ttbshape{12}{\magstephalf}
-\setfont\ssecttsl\ttslshape{10}{1315}
-\setfont\ssecsf\sfbshape{12}{\magstephalf}
-\let\ssecbf\ssecrm
-\setfont\ssecsc\scbshape{10}{\magstep1}
-\font\sseci=cmmi12 scaled \magstephalf
-\font\ssecsy=cmsy10 scaled 1315
-% The smallcaps and symbol fonts should actually be scaled \magstep1.5,
-% but that is not a standard magnification.
-
-% In order for the font changes to affect most math symbols and letters,
-% we have to define the \textfont of the standard families. Since
-% texinfo doesn't allow for producing subscripts and superscripts, we
-% don't bother to reset \scriptfont and \scriptscriptfont (which would
-% also require loading a lot more fonts).
-%
-\def\resetmathfonts{%
- \textfont0 = \tenrm \textfont1 = \teni \textfont2 = \tensy
- \textfont\itfam = \tenit \textfont\slfam = \tensl \textfont\bffam = \tenbf
- \textfont\ttfam = \tentt \textfont\sffam = \tensf
-}
-
-
-% The font-changing commands redefine the meanings of \tenSTYLE, instead
-% of just \STYLE. We do this so that font changes will continue to work
-% in math mode, where it is the current \fam that is relevant in most
-% cases, not the current font. Plain TeX does \def\bf{\fam=\bffam
-% \tenbf}, for example. By redefining \tenbf, we obviate the need to
-% redefine \bf itself.
-\def\textfonts{%
- \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
- \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
- \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl
- \resetmathfonts}
-\def\titlefonts{%
- \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
- \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
- \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
- \let\tenttsl=\titlettsl
- \resetmathfonts \setleading{25pt}}
-\def\titlefont#1{{\titlefonts\rm #1}}
-\def\chapfonts{%
- \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
- \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
- \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy \let\tenttsl=\chapttsl
- \resetmathfonts \setleading{19pt}}
-\def\secfonts{%
- \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
- \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
- \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy \let\tenttsl=\secttsl
- \resetmathfonts \setleading{16pt}}
-\def\subsecfonts{%
- \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
- \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
- \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl
- \resetmathfonts \setleading{15pt}}
-\let\subsubsecfonts = \subsecfonts % Maybe make sssec fonts scaled magstephalf?
-\def\indexfonts{%
- \let\tenrm=\indrm \let\tenit=\indit \let\tensl=\indsl
- \let\tenbf=\indbf \let\tentt=\indtt \let\smallcaps=\indsc
- \let\tensf=\indsf \let\teni=\indi \let\tensy=\indsy \let\tenttsl=\indttsl
- \resetmathfonts \setleading{12pt}}
-
-% Set up the default fonts, so we can use them for creating boxes.
-%
-\textfonts
-
-% Define these so they can be easily changed for other fonts.
-\def\angleleft{$\langle$}
-\def\angleright{$\rangle$}
-
-% Count depth in font-changes, for error checks
-\newcount\fontdepth \fontdepth=0
-
-% Fonts for short table of contents.
-\setfont\shortcontrm\rmshape{12}{1000}
-\setfont\shortcontbf\bxshape{12}{1000}
-\setfont\shortcontsl\slshape{12}{1000}
-
-%% Add scribe-like font environments, plus @l for inline lisp (usually sans
-%% serif) and @ii for TeX italic
-
-% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
-% unless the following character is such as not to need one.
-\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi}
-\def\smartslanted#1{{\sl #1}\futurelet\next\smartitalicx}
-\def\smartitalic#1{{\it #1}\futurelet\next\smartitalicx}
-
-\let\i=\smartitalic
-\let\var=\smartslanted
-\let\dfn=\smartslanted
-\let\emph=\smartitalic
-\let\cite=\smartslanted
-
-\def\b#1{{\bf #1}}
-\let\strong=\b
-
-% We can't just use \exhyphenpenalty, because that only has effect at
-% the end of a paragraph. Restore normal hyphenation at the end of the
-% group within which \nohyphenation is presumably called.
-%
-\def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation}
-\def\restorehyphenation{\hyphenchar\font = `- }
-
-\def\t#1{%
- {\tt \rawbackslash \frenchspacing #1}%
- \null
-}
-\let\ttfont=\t
-\def\samp#1{`\tclose{#1}'\null}
-\setfont\smallrm\rmshape{8}{1000}
-\font\smallsy=cmsy9
-\def\key#1{{\smallrm\textfont2=\smallsy \leavevmode\hbox{%
- \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
- \vbox{\hrule\kern-0.4pt
- \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
- \kern-0.4pt\hrule}%
- \kern-.06em\raise0.4pt\hbox{\angleright}}}}
-% The old definition, with no lozenge:
-%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
-\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-
-% @file, @option are the same as @samp.
-\let\file=\samp
-\let\option=\samp
-
-% @code is a modification of @t,
-% which makes spaces the same size as normal in the surrounding text.
-\def\tclose#1{%
- {%
- % Change normal interword space to be same as for the current font.
- \spaceskip = \fontdimen2\font
- %
- % Switch to typewriter.
- \tt
- %
- % But `\ ' produces the large typewriter interword space.
- \def\ {{\spaceskip = 0pt{} }}%
- %
- % Turn off hyphenation.
- \nohyphenation
- %
- \rawbackslash
- \frenchspacing
- #1%
- }%
- \null
-}
-
-% We *must* turn on hyphenation at `-' and `_' in \code.
-% Otherwise, it is too hard to avoid overfull hboxes
-% in the Emacs manual, the Library manual, etc.
-
-% Unfortunately, TeX uses one parameter (\hyphenchar) to control
-% both hyphenation at - and hyphenation within words.
-% We must therefore turn them both off (\tclose does that)
-% and arrange explicitly to hyphenate at a dash.
-% -- rms.
-{
- \catcode`\-=\active
- \catcode`\_=\active
- %
- \global\def\code{\begingroup
- \catcode`\-=\active \let-\codedash
- \catcode`\_=\active \let_\codeunder
- \codex
- }
- %
- % If we end up with any active - characters when handling the index,
- % just treat them as a normal -.
- \global\def\indexbreaks{\catcode`\-=\active \let-\realdash}
-}
-
-\def\realdash{-}
-\def\codedash{-\discretionary{}{}{}}
-\def\codeunder{\ifusingtt{\normalunderscore\discretionary{}{}{}}{\_}}
-\def\codex #1{\tclose{#1}\endgroup}
-
-%\let\exp=\tclose %Was temporary
-
-% @kbd is like @code, except that if the argument is just one @key command,
-% then @kbd has no effect.
-
-% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
-% `example' (@kbd uses ttsl only inside of @example and friends),
-% or `code' (@kbd uses normal tty font always).
-\def\kbdinputstyle{\parsearg\kbdinputstylexxx}
-\def\kbdinputstylexxx#1{%
- \def\arg{#1}%
- \ifx\arg\worddistinct
- \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
- \else\ifx\arg\wordexample
- \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
- \else\ifx\arg\wordcode
- \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
- \fi\fi\fi
-}
-\def\worddistinct{distinct}
-\def\wordexample{example}
-\def\wordcode{code}
-
-% Default is kbdinputdistinct. (Too much of a hassle to call the macro,
-% the catcodes are wrong for parsearg to work.)
-\gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}
-
-\def\xkey{\key}
-\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
-\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else{\tclose{\kbdfont\look}}\fi
-\else{\tclose{\kbdfont\look}}\fi}
-
-% For @url, @env, @command quotes seem unnecessary, so use \code.
-\let\url=\code
-\let\env=\code
-\let\command=\code
-
-% @uref (abbreviation for `urlref') takes an optional (comma-separated)
-% second argument specifying the text to display and an optional third
-% arg as text to display instead of (rather than in addition to) the url
-% itself. First (mandatory) arg is the url. Perhaps eventually put in
-% a hypertex \special here.
-%
-\def\uref#1{\douref #1,,,\finish}
-\def\douref#1,#2,#3,#4\finish{%
- \pdflink{#1}%
- \setbox0 = \hbox{\ignorespaces #3}%
- \ifdim\wd0 > 0pt
- \unhbox0 % third arg given, show only that
- \else
- \setbox0 = \hbox{\ignorespaces #2}%
- \ifdim\wd0 > 0pt
- \ifpdf
- \unhbox0 % PDF: 2nd arg given, show only it
- \else
- \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
- \fi
- \else
- \code{#1}% only url given, so show it
- \fi
- \fi
- %
- \ifpdf
- \Black\pdfendlink
- \fi
-}
-
-% rms does not like angle brackets --karl, 17may97.
-% So now @email is just like @uref, unless we are pdf.
-%
-%\def\email#1{\angleleft{\tt #1}\angleright}
-\ifpdf
- \def\email#1{\doemail#1,,\finish}
- \def\doemail#1,#2,#3\finish{%
- \pdflink{mailto:#1}%
- \setbox0 = \hbox{\ignorespaces #2}%
- \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
- \Black\pdfendlink
- }
-\else
- \let\email=\uref
-\fi
-
-% Check if we are currently using a typewriter font. Since all the
-% Computer Modern typewriter fonts have zero interword stretch (and
-% shrink), and it is reasonable to expect all typewriter fonts to have
-% this property, we can check that font parameter.
-%
-\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
-
-% Typeset a dimension, e.g., `in' or `pt'. The only reason for the
-% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
-%
-\def\dmn#1{\thinspace #1}
-
-\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
-
-% @l was never documented to mean ``switch to the Lisp font'',
-% and it is not used as such in any manual I can find. We need it for
-% Polish suppressed-l. --karl, 22sep96.
-%\def\l#1{{\li #1}\null}
-
-% Explicit font changes: @r, @sc, undocumented @ii.
-\def\r#1{{\rm #1}} % roman font
-\def\sc#1{{\smallcaps#1}} % smallcaps font
-\def\ii#1{{\it #1}} % italic font
-
-% @acronym downcases the argument and prints in smallcaps.
-\def\acronym#1{{\smallcaps \lowercase{#1}}}
-
-% @pounds{} is a sterling sign.
-\def\pounds{{\it\$}}
-
-
-\message{page headings,}
-
-\newskip\titlepagetopglue \titlepagetopglue = 1.5in
-\newskip\titlepagebottomglue \titlepagebottomglue = 2pc
-
-% First the title page. Must do @settitle before @titlepage.
-\newif\ifseenauthor
-\newif\iffinishedtitlepage
-
-% Do an implicit @contents or @shortcontents after @end titlepage if the
-% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage.
-%
-\newif\ifsetcontentsaftertitlepage
- \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
-\newif\ifsetshortcontentsaftertitlepage
- \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
-
-\def\shorttitlepage{\parsearg\shorttitlepagezzz}
-\def\shorttitlepagezzz #1{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
- \endgroup\page\hbox{}\page}
-
-\def\titlepage{\begingroup \parindent=0pt \textfonts
- \let\subtitlerm=\tenrm
- \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}%
- %
- \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines}%
- %
- % Leave some space at the very top of the page.
- \vglue\titlepagetopglue
- %
- % Now you can print the title using @title.
- \def\title{\parsearg\titlezzz}%
- \def\titlezzz##1{\leftline{\titlefonts\rm ##1}
- % print a rule at the page bottom also.
- \finishedtitlepagefalse
- \vskip4pt \hrule height 4pt width \hsize \vskip4pt}%
- % No rule at page bottom unless we print one at the top with @title.
- \finishedtitlepagetrue
- %
- % Now you can put text using @subtitle.
- \def\subtitle{\parsearg\subtitlezzz}%
- \def\subtitlezzz##1{{\subtitlefont \rightline{##1}}}%
- %
- % @author should come last, but may come many times.
- \def\author{\parsearg\authorzzz}%
- \def\authorzzz##1{\ifseenauthor\else\vskip 0pt plus 1filll\seenauthortrue\fi
- {\authorfont \leftline{##1}}}%
- %
- % Most title ``pages'' are actually two pages long, with space
- % at the top of the second. We don't want the ragged left on the second.
- \let\oldpage = \page
- \def\page{%
- \iffinishedtitlepage\else
- \finishtitlepage
- \fi
- \oldpage
- \let\page = \oldpage
- \hbox{}}%
-% \def\page{\oldpage \hbox{}}
-}
-
-\def\Etitlepage{%
- \iffinishedtitlepage\else
- \finishtitlepage
- \fi
- % It is important to do the page break before ending the group,
- % because the headline and footline are only empty inside the group.
- % If we use the new definition of \page, we always get a blank page
- % after the title page, which we certainly don't want.
- \oldpage
- \endgroup
- %
- % If they want short, they certainly want long too.
- \ifsetshortcontentsaftertitlepage
- \shortcontents
- \contents
- \global\let\shortcontents = \relax
- \global\let\contents = \relax
- \fi
- %
- \ifsetcontentsaftertitlepage
- \contents
- \global\let\contents = \relax
- \global\let\shortcontents = \relax
- \fi
- %
- \HEADINGSon
-}
-
-\def\finishtitlepage{%
- \vskip4pt \hrule height 2pt width \hsize
- \vskip\titlepagebottomglue
- \finishedtitlepagetrue
-}
-
-%%% Set up page headings and footings.
-
-\let\thispage=\folio
-
-\newtoks\evenheadline % headline on even pages
-\newtoks\oddheadline % headline on odd pages
-\newtoks\evenfootline % footline on even pages
-\newtoks\oddfootline % footline on odd pages
-
-% Now make Tex use those variables
-\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
- \else \the\evenheadline \fi}}
-\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
- \else \the\evenfootline \fi}\HEADINGShook}
-\let\HEADINGShook=\relax
-
-% Commands to set those variables.
-% For example, this is what @headings on does
-% @evenheading @thistitle|@thispage|@thischapter
-% @oddheading @thischapter|@thispage|@thistitle
-% @evenfooting @thisfile||
-% @oddfooting ||@thisfile
-
-\def\evenheading{\parsearg\evenheadingxxx}
-\def\oddheading{\parsearg\oddheadingxxx}
-\def\everyheading{\parsearg\everyheadingxxx}
-
-\def\evenfooting{\parsearg\evenfootingxxx}
-\def\oddfooting{\parsearg\oddfootingxxx}
-\def\everyfooting{\parsearg\everyfootingxxx}
-
-{\catcode`\@=0 %
-
-\gdef\evenheadingxxx #1{\evenheadingyyy #1@|@|@|@|\finish}
-\gdef\evenheadingyyy #1@|#2@|#3@|#4\finish{%
-\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\oddheadingxxx #1{\oddheadingyyy #1@|@|@|@|\finish}
-\gdef\oddheadingyyy #1@|#2@|#3@|#4\finish{%
-\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\everyheadingxxx#1{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
-
-\gdef\evenfootingxxx #1{\evenfootingyyy #1@|@|@|@|\finish}
-\gdef\evenfootingyyy #1@|#2@|#3@|#4\finish{%
-\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\oddfootingxxx #1{\oddfootingyyy #1@|@|@|@|\finish}
-\gdef\oddfootingyyy #1@|#2@|#3@|#4\finish{%
- \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}%
- %
- % Leave some space for the footline. Hopefully ok to assume
- % @evenfooting will not be used by itself.
- \global\advance\pageheight by -\baselineskip
- \global\advance\vsize by -\baselineskip
-}
-
-\gdef\everyfootingxxx#1{\oddfootingxxx{#1}\evenfootingxxx{#1}}
-%
-}% unbind the catcode of @.
-
-% @headings double turns headings on for double-sided printing.
-% @headings single turns headings on for single-sided printing.
-% @headings off turns them off.
-% @headings on same as @headings double, retained for compatibility.
-% @headings after turns on double-sided headings after this page.
-% @headings doubleafter turns on double-sided headings after this page.
-% @headings singleafter turns on single-sided headings after this page.
-% By default, they are off at the start of a document,
-% and turned `on' after @end titlepage.
-
-\def\headings #1 {\csname HEADINGS#1\endcsname}
-
-\def\HEADINGSoff{
-\global\evenheadline={\hfil} \global\evenfootline={\hfil}
-\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
-\HEADINGSoff
-% When we turn headings on, set the page number to 1.
-% For double-sided printing, put current file name in lower left corner,
-% chapter name on inside top of right hand pages, document
-% title on inside top of left hand pages, and page numbers on outside top
-% edge of all pages.
-\def\HEADINGSdouble{
-\global\pageno=1
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\folio\hfil\thistitle}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chapoddpage
-}
-\let\contentsalignmacro = \chappager
-
-% For single-sided printing, chapter title goes across top left of page,
-% page number on top right.
-\def\HEADINGSsingle{
-\global\pageno=1
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\thischapter\hfil\folio}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chappager
-}
-\def\HEADINGSon{\HEADINGSdouble}
-
-\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
-\let\HEADINGSdoubleafter=\HEADINGSafter
-\def\HEADINGSdoublex{%
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\folio\hfil\thistitle}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chapoddpage
-}
-
-\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
-\def\HEADINGSsinglex{%
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\thischapter\hfil\folio}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\let\contentsalignmacro = \chappager
-}
-
-% Subroutines used in generating headings
-% Produces Day Month Year style of output.
-\def\today{%
- \number\day\space
- \ifcase\month
- \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr
- \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug
- \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec
- \fi
- \space\number\year}
-
-% @settitle line... specifies the title of the document, for headings.
-% It generates no output of its own.
-\def\thistitle{\putwordNoTitle}
-\def\settitle{\parsearg\settitlezzz}
-\def\settitlezzz #1{\gdef\thistitle{#1}}
-
-
-\message{tables,}
-% Tables -- @table, @ftable, @vtable, @item(x), @kitem(x), @xitem(x).
-
-% default indentation of table text
-\newdimen\tableindent \tableindent=.8in
-% default indentation of @itemize and @enumerate text
-\newdimen\itemindent \itemindent=.3in
-% margin between end of table item and start of table text.
-\newdimen\itemmargin \itemmargin=.1in
-
-% used internally for \itemindent minus \itemmargin
-\newdimen\itemmax
-
-% Note @table, @vtable, and @vtable define @item, @itemx, etc., with
-% these defs.
-% They also define \itemindex
-% to index the item name in whatever manner is desired (perhaps none).
-
-\newif\ifitemxneedsnegativevskip
-
-\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi}
-
-\def\internalBitem{\smallbreak \parsearg\itemzzz}
-\def\internalBitemx{\itemxpar \parsearg\itemzzz}
-
-\def\internalBxitem "#1"{\def\xitemsubtopix{#1} \smallbreak \parsearg\xitemzzz}
-\def\internalBxitemx "#1"{\def\xitemsubtopix{#1} \itemxpar \parsearg\xitemzzz}
-
-\def\internalBkitem{\smallbreak \parsearg\kitemzzz}
-\def\internalBkitemx{\itemxpar \parsearg\kitemzzz}
-
-\def\kitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \lastfunction}}%
- \itemzzz {#1}}
-
-\def\xitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \xitemsubtopic}}%
- \itemzzz {#1}}
-
-\def\itemzzz #1{\begingroup %
- \advance\hsize by -\rightskip
- \advance\hsize by -\tableindent
- \setbox0=\hbox{\itemfont{#1}}%
- \itemindex{#1}%
- \nobreak % This prevents a break before @itemx.
- %
- % If the item text does not fit in the space we have, put it on a line
- % by itself, and do not allow a page break either before or after that
- % line. We do not start a paragraph here because then if the next
- % command is, e.g., @kindex, the whatsit would get put into the
- % horizontal list on a line by itself, resulting in extra blank space.
- \ifdim \wd0>\itemmax
- %
- % Make this a paragraph so we get the \parskip glue and wrapping,
- % but leave it ragged-right.
- \begingroup
- \advance\leftskip by-\tableindent
- \advance\hsize by\tableindent
- \advance\rightskip by0pt plus1fil
- \leavevmode\unhbox0\par
- \endgroup
- %
- % We're going to be starting a paragraph, but we don't want the
- % \parskip glue -- logically it's part of the @item we just started.
- \nobreak \vskip-\parskip
- %
- % Stop a page break at the \parskip glue coming up. Unfortunately
- % we can't prevent a possible page break at the following
- % \baselineskip glue.
- \nobreak
- \endgroup
- \itemxneedsnegativevskipfalse
- \else
- % The item text fits into the space. Start a paragraph, so that the
- % following text (if any) will end up on the same line.
- \noindent
- % Do this with kerns and \unhbox so that if there is a footnote in
- % the item text, it can migrate to the main vertical list and
- % eventually be printed.
- \nobreak\kern-\tableindent
- \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0
- \unhbox0
- \nobreak\kern\dimen0
- \endgroup
- \itemxneedsnegativevskiptrue
- \fi
-}
-
-\def\item{\errmessage{@item while not in a table}}
-\def\itemx{\errmessage{@itemx while not in a table}}
-\def\kitem{\errmessage{@kitem while not in a table}}
-\def\kitemx{\errmessage{@kitemx while not in a table}}
-\def\xitem{\errmessage{@xitem while not in a table}}
-\def\xitemx{\errmessage{@xitemx while not in a table}}
-
-% Contains a kludge to get @end[description] to work.
-\def\description{\tablez{\dontindex}{1}{}{}{}{}}
-
-% @table, @ftable, @vtable.
-\def\table{\begingroup\inENV\obeylines\obeyspaces\tablex}
-{\obeylines\obeyspaces%
-\gdef\tablex #1^^M{%
-\tabley\dontindex#1 \endtabley}}
-
-\def\ftable{\begingroup\inENV\obeylines\obeyspaces\ftablex}
-{\obeylines\obeyspaces%
-\gdef\ftablex #1^^M{%
-\tabley\fnitemindex#1 \endtabley
-\def\Eftable{\endgraf\afterenvbreak\endgroup}%
-\let\Etable=\relax}}
-
-\def\vtable{\begingroup\inENV\obeylines\obeyspaces\vtablex}
-{\obeylines\obeyspaces%
-\gdef\vtablex #1^^M{%
-\tabley\vritemindex#1 \endtabley
-\def\Evtable{\endgraf\afterenvbreak\endgroup}%
-\let\Etable=\relax}}
-
-\def\dontindex #1{}
-\def\fnitemindex #1{\doind {fn}{\code{#1}}}%
-\def\vritemindex #1{\doind {vr}{\code{#1}}}%
-
-{\obeyspaces %
-\gdef\tabley#1#2 #3 #4 #5 #6 #7\endtabley{\endgroup%
-\tablez{#1}{#2}{#3}{#4}{#5}{#6}}}
-
-\def\tablez #1#2#3#4#5#6{%
-\aboveenvbreak %
-\begingroup %
-\def\Edescription{\Etable}% Necessary kludge.
-\let\itemindex=#1%
-\ifnum 0#3>0 \advance \leftskip by #3\mil \fi %
-\ifnum 0#4>0 \tableindent=#4\mil \fi %
-\ifnum 0#5>0 \advance \rightskip by #5\mil \fi %
-\def\itemfont{#2}%
-\itemmax=\tableindent %
-\advance \itemmax by -\itemmargin %
-\advance \leftskip by \tableindent %
-\exdentamount=\tableindent
-\parindent = 0pt
-\parskip = \smallskipamount
-\ifdim \parskip=0pt \parskip=2pt \fi%
-\def\Etable{\endgraf\afterenvbreak\endgroup}%
-\let\item = \internalBitem %
-\let\itemx = \internalBitemx %
-\let\kitem = \internalBkitem %
-\let\kitemx = \internalBkitemx %
-\let\xitem = \internalBxitem %
-\let\xitemx = \internalBxitemx %
-}
-
-% This is the counter used by @enumerate, which is really @itemize
-
-\newcount \itemno
-
-\def\itemize{\parsearg\itemizezzz}
-
-\def\itemizezzz #1{%
- \begingroup % ended by the @end itemize
- \itemizey {#1}{\Eitemize}
-}
-
-\def\itemizey #1#2{%
-\aboveenvbreak %
-\itemmax=\itemindent %
-\advance \itemmax by -\itemmargin %
-\advance \leftskip by \itemindent %
-\exdentamount=\itemindent
-\parindent = 0pt %
-\parskip = \smallskipamount %
-\ifdim \parskip=0pt \parskip=2pt \fi%
-\def#2{\endgraf\afterenvbreak\endgroup}%
-\def\itemcontents{#1}%
-\let\item=\itemizeitem}
-
-% Set sfcode to normal for the chars that usually have another value.
-% These are `.?!:;,'
-\def\frenchspacing{\sfcode46=1000 \sfcode63=1000 \sfcode33=1000
- \sfcode58=1000 \sfcode59=1000 \sfcode44=1000 }
-
-% \splitoff TOKENS\endmark defines \first to be the first token in
-% TOKENS, and \rest to be the remainder.
-%
-\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}%
-
-% Allow an optional argument of an uppercase letter, lowercase letter,
-% or number, to specify the first label in the enumerated list. No
-% argument is the same as `1'.
-%
-\def\enumerate{\parsearg\enumeratezzz}
-\def\enumeratezzz #1{\enumeratey #1 \endenumeratey}
-\def\enumeratey #1 #2\endenumeratey{%
- \begingroup % ended by the @end enumerate
- %
- % If we were given no argument, pretend we were given `1'.
- \def\thearg{#1}%
- \ifx\thearg\empty \def\thearg{1}\fi
- %
- % Detect if the argument is a single token. If so, it might be a
- % letter. Otherwise, the only valid thing it can be is a number.
- % (We will always have one token, because of the test we just made.
- % This is a good thing, since \splitoff doesn't work given nothing at
- % all -- the first parameter is undelimited.)
- \expandafter\splitoff\thearg\endmark
- \ifx\rest\empty
- % Only one token in the argument. It could still be anything.
- % A ``lowercase letter'' is one whose \lccode is nonzero.
- % An ``uppercase letter'' is one whose \lccode is both nonzero, and
- % not equal to itself.
- % Otherwise, we assume it's a number.
- %
- % We need the \relax at the end of the \ifnum lines to stop TeX from
- % continuing to look for a <number>.
- %
- \ifnum\lccode\expandafter`\thearg=0\relax
- \numericenumerate % a number (we hope)
- \else
- % It's a letter.
- \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax
- \lowercaseenumerate % lowercase letter
- \else
- \uppercaseenumerate % uppercase letter
- \fi
- \fi
- \else
- % Multiple tokens in the argument. We hope it's a number.
- \numericenumerate
- \fi
-}
-
-% An @enumerate whose labels are integers. The starting integer is
-% given in \thearg.
-%
-\def\numericenumerate{%
- \itemno = \thearg
- \startenumeration{\the\itemno}%
-}
-
-% The starting (lowercase) letter is in \thearg.
-\def\lowercaseenumerate{%
- \itemno = \expandafter`\thearg
- \startenumeration{%
- % Be sure we're not beyond the end of the alphabet.
- \ifnum\itemno=0
- \errmessage{No more lowercase letters in @enumerate; get a bigger
- alphabet}%
- \fi
- \char\lccode\itemno
- }%
-}
-
-% The starting (uppercase) letter is in \thearg.
-\def\uppercaseenumerate{%
- \itemno = \expandafter`\thearg
- \startenumeration{%
- % Be sure we're not beyond the end of the alphabet.
- \ifnum\itemno=0
- \errmessage{No more uppercase letters in @enumerate; get a bigger
- alphabet}
- \fi
- \char\uccode\itemno
- }%
-}
-
-% Call itemizey, adding a period to the first argument and supplying the
-% common last two arguments. Also subtract one from the initial value in
-% \itemno, since @item increments \itemno.
-%
-\def\startenumeration#1{%
- \advance\itemno by -1
- \itemizey{#1.}\Eenumerate\flushcr
-}
-
-% @alphaenumerate and @capsenumerate are abbreviations for giving an arg
-% to @enumerate.
-%
-\def\alphaenumerate{\enumerate{a}}
-\def\capsenumerate{\enumerate{A}}
-\def\Ealphaenumerate{\Eenumerate}
-\def\Ecapsenumerate{\Eenumerate}
-
-% Definition of @item while inside @itemize.
-
-\def\itemizeitem{%
-\advance\itemno by 1
-{\let\par=\endgraf \smallbreak}%
-\ifhmode \errmessage{In hmode at itemizeitem}\fi
-{\parskip=0in \hskip 0pt
-\hbox to 0pt{\hss \itemcontents\hskip \itemmargin}%
-\vadjust{\penalty 1200}}%
-\flushcr}
-
-% @multitable macros
-% Amy Hendrickson, 8/18/94, 3/6/96
-%
-% @multitable ... @end multitable will make as many columns as desired.
-% Contents of each column will wrap at width given in preamble. Width
-% can be specified either with sample text given in a template line,
-% or in percent of \hsize, the current width of text on page.
-
-% Table can continue over pages but will only break between lines.
-
-% To make preamble:
-%
-% Either define widths of columns in terms of percent of \hsize:
-% @multitable @columnfractions .25 .3 .45
-% @item ...
-%
-% Numbers following @columnfractions are the percent of the total
-% current hsize to be used for each column. You may use as many
-% columns as desired.
-
-
-% Or use a template:
-% @multitable {Column 1 template} {Column 2 template} {Column 3 template}
-% @item ...
-% using the widest term desired in each column.
-%
-% For those who want to use more than one line's worth of words in
-% the preamble, break the line within one argument and it
-% will parse correctly, i.e.,
-%
-% @multitable {Column 1 template} {Column 2 template} {Column 3
-% template}
-% Not:
-% @multitable {Column 1 template} {Column 2 template}
-% {Column 3 template}
-
-% Each new table line starts with @item, each subsequent new column
-% starts with @tab. Empty columns may be produced by supplying @tab's
-% with nothing between them for as many times as empty columns are needed,
-% ie, @tab@tab@tab will produce two empty columns.
-
-% @item, @tab, @multitable or @end multitable do not need to be on their
-% own lines, but it will not hurt if they are.
-
-% Sample multitable:
-
-% @multitable {Column 1 template} {Column 2 template} {Column 3 template}
-% @item first col stuff @tab second col stuff @tab third col
-% @item
-% first col stuff
-% @tab
-% second col stuff
-% @tab
-% third col
-% @item first col stuff @tab second col stuff
-% @tab Many paragraphs of text may be used in any column.
-%
-% They will wrap at the width determined by the template.
-% @item@tab@tab This will be in third column.
-% @end multitable
-
-% Default dimensions may be reset by user.
-% @multitableparskip is vertical space between paragraphs in table.
-% @multitableparindent is paragraph indent in table.
-% @multitablecolmargin is horizontal space to be left between columns.
-% @multitablelinespace is space to leave between table items, baseline
-% to baseline.
-% 0pt means it depends on current normal line spacing.
-%
-\newskip\multitableparskip
-\newskip\multitableparindent
-\newdimen\multitablecolspace
-\newskip\multitablelinespace
-\multitableparskip=0pt
-\multitableparindent=6pt
-\multitablecolspace=12pt
-\multitablelinespace=0pt
-
-% Macros used to set up halign preamble:
-%
-\let\endsetuptable\relax
-\def\xendsetuptable{\endsetuptable}
-\let\columnfractions\relax
-\def\xcolumnfractions{\columnfractions}
-\newif\ifsetpercent
-
-% #1 is the part of the @columnfraction before the decimal point, which
-% is presumably either 0 or the empty string (but we don't check, we
-% just throw it away). #2 is the decimal part, which we use as the
-% percent of \hsize for this column.
-\def\pickupwholefraction#1.#2 {%
- \global\advance\colcount by 1
- \expandafter\xdef\csname col\the\colcount\endcsname{.#2\hsize}%
- \setuptable
-}
-
-\newcount\colcount
-\def\setuptable#1{%
- \def\firstarg{#1}%
- \ifx\firstarg\xendsetuptable
- \let\go = \relax
- \else
- \ifx\firstarg\xcolumnfractions
- \global\setpercenttrue
- \else
- \ifsetpercent
- \let\go\pickupwholefraction
- \else
- \global\advance\colcount by 1
- \setbox0=\hbox{#1\unskip }% Add a normal word space as a separator;
- % typically that is always in the input, anyway.
- \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}%
- \fi
- \fi
- \ifx\go\pickupwholefraction
- % Put the argument back for the \pickupwholefraction call, so
- % we'll always have a period there to be parsed.
- \def\go{\pickupwholefraction#1}%
- \else
- \let\go = \setuptable
- \fi%
- \fi
- \go
-}
-
-% This used to have \hskip1sp. But then the space in a template line is
-% not enough. That is bad. So let's go back to just & until we
-% encounter the problem it was intended to solve again.
-% --karl, nathan@acm.org, 20apr99.
-\def\tab{&}
-
-% @multitable ... @end multitable definitions:
-%
-\def\multitable{\parsearg\dotable}
-\def\dotable#1{\bgroup
- \vskip\parskip
- \let\item\crcr
- \tolerance=9500
- \hbadness=9500
- \setmultitablespacing
- \parskip=\multitableparskip
- \parindent=\multitableparindent
- \overfullrule=0pt
- \global\colcount=0
- \def\Emultitable{\global\setpercentfalse\cr\egroup\egroup}%
- %
- % To parse everything between @multitable and @item:
- \setuptable#1 \endsetuptable
- %
- % \everycr will reset column counter, \colcount, at the end of
- % each line. Every column entry will cause \colcount to advance by one.
- % The table preamble
- % looks at the current \colcount to find the correct column width.
- \everycr{\noalign{%
- %
- % \filbreak%% keeps underfull box messages off when table breaks over pages.
- % Maybe so, but it also creates really weird page breaks when the table
- % breaks over pages. Wouldn't \vfil be better? Wait until the problem
- % manifests itself, so it can be fixed for real --karl.
- \global\colcount=0\relax}}%
- %
- % This preamble sets up a generic column definition, which will
- % be used as many times as user calls for columns.
- % \vtop will set a single line and will also let text wrap and
- % continue for many paragraphs if desired.
- \halign\bgroup&\global\advance\colcount by 1\relax
- \multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname
- %
- % In order to keep entries from bumping into each other
- % we will add a \leftskip of \multitablecolspace to all columns after
- % the first one.
- %
- % If a template has been used, we will add \multitablecolspace
- % to the width of each template entry.
- %
- % If the user has set preamble in terms of percent of \hsize we will
- % use that dimension as the width of the column, and the \leftskip
- % will keep entries from bumping into each other. Table will start at
- % left margin and final column will justify at right margin.
- %
- % Make sure we don't inherit \rightskip from the outer environment.
- \rightskip=0pt
- \ifnum\colcount=1
- % The first column will be indented with the surrounding text.
- \advance\hsize by\leftskip
- \else
- \ifsetpercent \else
- % If user has not set preamble in terms of percent of \hsize
- % we will advance \hsize by \multitablecolspace.
- \advance\hsize by \multitablecolspace
- \fi
- % In either case we will make \leftskip=\multitablecolspace:
- \leftskip=\multitablecolspace
- \fi
- % Ignoring space at the beginning and end avoids an occasional spurious
- % blank line, when TeX decides to break the line at the space before the
- % box from the multistrut, so the strut ends up on a line by itself.
- % For example:
- % @multitable @columnfractions .11 .89
- % @item @code{#}
- % @tab Legal holiday which is valid in major parts of the whole country.
- % Is automatically provided with highlighting sequences respectively marking
- % characters.
- \noindent\ignorespaces##\unskip\multistrut}\cr
-}
-
-\def\setmultitablespacing{% test to see if user has set \multitablelinespace.
-% If so, do nothing. If not, give it an appropriate dimension based on
-% current baselineskip.
-\ifdim\multitablelinespace=0pt
-%% strut to put in table in case some entry doesn't have descenders,
-%% to keep lines equally spaced
-\let\multistrut = \strut
-%% Test to see if parskip is larger than space between lines of
-%% table. If not, do nothing.
-%% If so, set to same dimension as multitablelinespace.
-\else
-\gdef\multistrut{\vrule height\multitablelinespace depth\dp0
-width0pt\relax} \fi
-\ifdim\multitableparskip>\multitablelinespace
-\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
- %% than skip between lines in the table.
-\fi%
-\ifdim\multitableparskip=0pt
-\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
- %% than skip between lines in the table.
-\fi}
-
-
-\message{conditionals,}
-% Prevent errors for section commands.
-% Used in @ignore and in failing conditionals.
-\def\ignoresections{%
- \let\chapter=\relax
- \let\unnumbered=\relax
- \let\top=\relax
- \let\unnumberedsec=\relax
- \let\unnumberedsection=\relax
- \let\unnumberedsubsec=\relax
- \let\unnumberedsubsection=\relax
- \let\unnumberedsubsubsec=\relax
- \let\unnumberedsubsubsection=\relax
- \let\section=\relax
- \let\subsec=\relax
- \let\subsubsec=\relax
- \let\subsection=\relax
- \let\subsubsection=\relax
- \let\appendix=\relax
- \let\appendixsec=\relax
- \let\appendixsection=\relax
- \let\appendixsubsec=\relax
- \let\appendixsubsection=\relax
- \let\appendixsubsubsec=\relax
- \let\appendixsubsubsection=\relax
- \let\contents=\relax
- \let\smallbook=\relax
- \let\titlepage=\relax
-}
-
-% Used in nested conditionals, where we have to parse the Texinfo source
-% and so want to turn off most commands, in case they are used
-% incorrectly.
-%
-\def\ignoremorecommands{%
- \let\defcodeindex = \relax
- \let\defcv = \relax
- \let\deffn = \relax
- \let\deffnx = \relax
- \let\defindex = \relax
- \let\defivar = \relax
- \let\defmac = \relax
- \let\defmethod = \relax
- \let\defop = \relax
- \let\defopt = \relax
- \let\defspec = \relax
- \let\deftp = \relax
- \let\deftypefn = \relax
- \let\deftypefun = \relax
- \let\deftypeivar = \relax
- \let\deftypevar = \relax
- \let\deftypevr = \relax
- \let\defun = \relax
- \let\defvar = \relax
- \let\defvr = \relax
- \let\ref = \relax
- \let\xref = \relax
- \let\printindex = \relax
- \let\pxref = \relax
- \let\settitle = \relax
- \let\setchapternewpage = \relax
- \let\setchapterstyle = \relax
- \let\everyheading = \relax
- \let\evenheading = \relax
- \let\oddheading = \relax
- \let\everyfooting = \relax
- \let\evenfooting = \relax
- \let\oddfooting = \relax
- \let\headings = \relax
- \let\include = \relax
- \let\lowersections = \relax
- \let\down = \relax
- \let\raisesections = \relax
- \let\up = \relax
- \let\set = \relax
- \let\clear = \relax
- \let\item = \relax
-}
-
-% Ignore @ignore ... @end ignore.
-%
-\def\ignore{\doignore{ignore}}
-
-% Ignore @ifinfo, @ifhtml, @ifnottex, @html, @menu, and @direntry text.
-%
-\def\ifinfo{\doignore{ifinfo}}
-\def\ifhtml{\doignore{ifhtml}}
-\def\ifnottex{\doignore{ifnottex}}
-\def\html{\doignore{html}}
-\def\menu{\doignore{menu}}
-\def\direntry{\doignore{direntry}}
-
-% @dircategory CATEGORY -- specify a category of the dir file
-% which this file should belong to. Ignore this in TeX.
-\let\dircategory = \comment
-
-% Ignore text until a line `@end #1'.
-%
-\def\doignore#1{\begingroup
- % Don't complain about control sequences we have declared \outer.
- \ignoresections
- %
- % Define a command to swallow text until we reach `@end #1'.
- % This @ is a catcode 12 token (that is the normal catcode of @ in
- % this texinfo.tex file). We change the catcode of @ below to match.
- \long\def\doignoretext##1@end #1{\enddoignore}%
- %
- % Make sure that spaces turn into tokens that match what \doignoretext wants.
- \catcode32 = 10
- %
- % Ignore braces, too, so mismatched braces don't cause trouble.
- \catcode`\{ = 9
- \catcode`\} = 9
- %
- % We must not have @c interpreted as a control sequence.
- \catcode`\@ = 12
- %
- % Make the letter c a comment character so that the rest of the line
- % will be ignored. This way, the document can have (for example)
- % @c @end ifinfo
- % and the @end ifinfo will be properly ignored.
- % (We've just changed @ to catcode 12.)
- \catcode`\c = 14
- %
- % And now expand that command.
- \doignoretext
-}
-
-% What we do to finish off ignored text.
-%
-\def\enddoignore{\endgroup\ignorespaces}%
-
-\newif\ifwarnedobs\warnedobsfalse
-\def\obstexwarn{%
- \ifwarnedobs\relax\else
- % We need to warn folks that they may have trouble with TeX 3.0.
- % This uses \immediate\write16 rather than \message to get newlines.
- \immediate\write16{}
- \immediate\write16{WARNING: for users of Unix TeX 3.0!}
- \immediate\write16{This manual trips a bug in TeX version 3.0 (tex hangs).}
- \immediate\write16{If you are running another version of TeX, relax.}
- \immediate\write16{If you are running Unix TeX 3.0, kill this TeX process.}
- \immediate\write16{ Then upgrade your TeX installation if you can.}
- \immediate\write16{ (See ftp://ftp.gnu.org/pub/gnu/TeX.README.)}
- \immediate\write16{If you are stuck with version 3.0, run the}
- \immediate\write16{ script ``tex3patch'' from the Texinfo distribution}
- \immediate\write16{ to use a workaround.}
- \immediate\write16{}
- \global\warnedobstrue
- \fi
-}
-
-% **In TeX 3.0, setting text in \nullfont hangs tex. For a
-% workaround (which requires the file ``dummy.tfm'' to be installed),
-% uncomment the following line:
-\font\nullfont=dummy\let\obstexwarn=\relax
-
-% Ignore text, except that we keep track of conditional commands for
-% purposes of nesting, up to an `@end #1' command.
-%
-\def\nestedignore#1{%
- \obstexwarn
- % We must actually expand the ignored text to look for the @end
- % command, so that nested ignore constructs work. Thus, we put the
- % text into a \vbox and then do nothing with the result. To minimize
- % the change of memory overflow, we follow the approach outlined on
- % page 401 of the TeXbook: make the current font be a dummy font.
- %
- \setbox0 = \vbox\bgroup
- % Don't complain about control sequences we have declared \outer.
- \ignoresections
- %
- % Define `@end #1' to end the box, which will in turn undefine the
- % @end command again.
- \expandafter\def\csname E#1\endcsname{\egroup\ignorespaces}%
- %
- % We are going to be parsing Texinfo commands. Most cause no
- % trouble when they are used incorrectly, but some commands do
- % complicated argument parsing or otherwise get confused, so we
- % undefine them.
- %
- % We can't do anything about stray @-signs, unfortunately;
- % they'll produce `undefined control sequence' errors.
- \ignoremorecommands
- %
- % Set the current font to be \nullfont, a TeX primitive, and define
- % all the font commands to also use \nullfont. We don't use
- % dummy.tfm, as suggested in the TeXbook, because not all sites
- % might have that installed. Therefore, math mode will still
- % produce output, but that should be an extremely small amount of
- % stuff compared to the main input.
- %
- \nullfont
- \let\tenrm = \nullfont \let\tenit = \nullfont \let\tensl = \nullfont
- \let\tenbf = \nullfont \let\tentt = \nullfont \let\smallcaps = \nullfont
- \let\tensf = \nullfont
- % Similarly for index fonts (mostly for their use in
- % smallexample)
- \let\indrm = \nullfont \let\indit = \nullfont \let\indsl = \nullfont
- \let\indbf = \nullfont \let\indtt = \nullfont \let\indsc = \nullfont
- \let\indsf = \nullfont
- %
- % Don't complain when characters are missing from the fonts.
- \tracinglostchars = 0
- %
- % Don't bother to do space factor calculations.
- \frenchspacing
- %
- % Don't report underfull hboxes.
- \hbadness = 10000
- %
- % Do minimal line-breaking.
- \pretolerance = 10000
- %
- % Do not execute instructions in @tex
- \def\tex{\doignore{tex}}%
- % Do not execute macro definitions.
- % `c' is a comment character, so the word `macro' will get cut off.
- \def\macro{\doignore{ma}}%
-}
-
-% @set VAR sets the variable VAR to an empty value.
-% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
-%
-% Since we want to separate VAR from REST-OF-LINE (which might be
-% empty), we can't just use \parsearg; we have to insert a space of our
-% own to delimit the rest of the line, and then take it out again if we
-% didn't need it. Make sure the catcode of space is correct to avoid
-% losing inside @example, for instance.
-%
-\def\set{\begingroup\catcode` =10
- \catcode`\-=12 \catcode`\_=12 % Allow - and _ in VAR.
- \parsearg\setxxx}
-\def\setxxx#1{\setyyy#1 \endsetyyy}
-\def\setyyy#1 #2\endsetyyy{%
- \def\temp{#2}%
- \ifx\temp\empty \global\expandafter\let\csname SET#1\endcsname = \empty
- \else \setzzz{#1}#2\endsetzzz % Remove the trailing space \setxxx inserted.
- \fi
- \endgroup
-}
-% Can't use \xdef to pre-expand #2 and save some time, since \temp or
-% \next or other control sequences that we've defined might get us into
-% an infinite loop. Consider `@set foo @cite{bar}'.
-\def\setzzz#1#2 \endsetzzz{\expandafter\gdef\csname SET#1\endcsname{#2}}
-
-% @clear VAR clears (i.e., unsets) the variable VAR.
-%
-\def\clear{\parsearg\clearxxx}
-\def\clearxxx#1{\global\expandafter\let\csname SET#1\endcsname=\relax}
-
-% @value{foo} gets the text saved in variable foo.
-{
- \catcode`\_ = \active
- %
- % We might end up with active _ or - characters in the argument if
- % we're called from @code, as @code{@value{foo-bar_}}. So \let any
- % such active characters to their normal equivalents.
- \gdef\value{\begingroup
- \catcode`\-=12 \catcode`\_=12
- \indexbreaks \let_\normalunderscore
- \valuexxx}
-}
-\def\valuexxx#1{\expandablevalue{#1}\endgroup}
-
-% We have this subroutine so that we can handle at least some @value's
-% properly in indexes (we \let\value to this in \indexdummies). Ones
-% whose names contain - or _ still won't work, but we can't do anything
-% about that. The command has to be fully expandable, since the result
-% winds up in the index file. This means that if the variable's value
-% contains other Texinfo commands, it's almost certain it will fail
-% (although perhaps we could fix that with sufficient work to do a
-% one-level expansion on the result, instead of complete).
-%
-\def\expandablevalue#1{%
- \expandafter\ifx\csname SET#1\endcsname\relax
- {[No value for ``#1'']}%
- \else
- \csname SET#1\endcsname
- \fi
-}
-
-% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
-% with @set.
-%
-\def\ifset{\parsearg\ifsetxxx}
-\def\ifsetxxx #1{%
- \expandafter\ifx\csname SET#1\endcsname\relax
- \expandafter\ifsetfail
- \else
- \expandafter\ifsetsucceed
- \fi
-}
-\def\ifsetsucceed{\conditionalsucceed{ifset}}
-\def\ifsetfail{\nestedignore{ifset}}
-\defineunmatchedend{ifset}
-
-% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
-% defined with @set, or has been undefined with @clear.
-%
-\def\ifclear{\parsearg\ifclearxxx}
-\def\ifclearxxx #1{%
- \expandafter\ifx\csname SET#1\endcsname\relax
- \expandafter\ifclearsucceed
- \else
- \expandafter\ifclearfail
- \fi
-}
-\def\ifclearsucceed{\conditionalsucceed{ifclear}}
-\def\ifclearfail{\nestedignore{ifclear}}
-\defineunmatchedend{ifclear}
-
-% @iftex, @ifnothtml, @ifnotinfo always succeed; we read the text
-% following, through the first @end iftex (etc.). Make `@end iftex'
-% (etc.) valid only after an @iftex.
-%
-\def\iftex{\conditionalsucceed{iftex}}
-\def\ifnothtml{\conditionalsucceed{ifnothtml}}
-\def\ifnotinfo{\conditionalsucceed{ifnotinfo}}
-\defineunmatchedend{iftex}
-\defineunmatchedend{ifnothtml}
-\defineunmatchedend{ifnotinfo}
-
-% We can't just want to start a group at @iftex (for example) and end it
-% at @end iftex, since then @set commands inside the conditional have no
-% effect (they'd get reverted at the end of the group). So we must
-% define \Eiftex to redefine itself to be its previous value. (We can't
-% just define it to fail again with an ``unmatched end'' error, since
-% the @ifset might be nested.)
-%
-\def\conditionalsucceed#1{%
- \edef\temp{%
- % Remember the current value of \E#1.
- \let\nece{prevE#1} = \nece{E#1}%
- %
- % At the `@end #1', redefine \E#1 to be its previous value.
- \def\nece{E#1}{\let\nece{E#1} = \nece{prevE#1}}%
- }%
- \temp
-}
-
-% We need to expand lots of \csname's, but we don't want to expand the
-% control sequences after we've constructed them.
-%
-\def\nece#1{\expandafter\noexpand\csname#1\endcsname}
-
-% @defininfoenclose.
-\let\definfoenclose=\comment
-
-
-\message{indexing,}
-% Index generation facilities
-
-% Define \newwrite to be identical to plain tex's \newwrite
-% except not \outer, so it can be used within \newindex.
-{\catcode`\@=11
-\gdef\newwrite{\alloc@7\write\chardef\sixt@@n}}
-
-% \newindex {foo} defines an index named foo.
-% It automatically defines \fooindex such that
-% \fooindex ...rest of line... puts an entry in the index foo.
-% It also defines \fooindfile to be the number of the output channel for
-% the file that accumulates this index. The file's extension is foo.
-% The name of an index should be no more than 2 characters long
-% for the sake of vms.
-%
-\def\newindex#1{%
- \iflinks
- \expandafter\newwrite \csname#1indfile\endcsname
- \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
- \fi
- \expandafter\xdef\csname#1index\endcsname{% % Define @#1index
- \noexpand\doindex{#1}}
-}
-
-% @defindex foo == \newindex{foo}
-
-\def\defindex{\parsearg\newindex}
-
-% Define @defcodeindex, like @defindex except put all entries in @code.
-
-\def\newcodeindex#1{%
- \iflinks
- \expandafter\newwrite \csname#1indfile\endcsname
- \openout \csname#1indfile\endcsname \jobname.#1
- \fi
- \expandafter\xdef\csname#1index\endcsname{%
- \noexpand\docodeindex{#1}}
-}
-
-\def\defcodeindex{\parsearg\newcodeindex}
-
-% @synindex foo bar makes index foo feed into index bar.
-% Do this instead of @defindex foo if you don't want it as a separate index.
-% The \closeout helps reduce unnecessary open files; the limit on the
-% Acorn RISC OS is a mere 16 files.
-\def\synindex#1 #2 {%
- \expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
- \expandafter\closeout\csname#1indfile\endcsname
- \expandafter\let\csname#1indfile\endcsname=\synindexfoo
- \expandafter\xdef\csname#1index\endcsname{% define \xxxindex
- \noexpand\doindex{#2}}%
-}
-
-% @syncodeindex foo bar similar, but put all entries made for index foo
-% inside @code.
-\def\syncodeindex#1 #2 {%
- \expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
- \expandafter\closeout\csname#1indfile\endcsname
- \expandafter\let\csname#1indfile\endcsname=\synindexfoo
- \expandafter\xdef\csname#1index\endcsname{% define \xxxindex
- \noexpand\docodeindex{#2}}%
-}
-
-% Define \doindex, the driver for all \fooindex macros.
-% Argument #1 is generated by the calling \fooindex macro,
-% and it is "foo", the name of the index.
-
-% \doindex just uses \parsearg; it calls \doind for the actual work.
-% This is because \doind is more useful to call from other macros.
-
-% There is also \dosubind {index}{topic}{subtopic}
-% which makes an entry in a two-level index such as the operation index.
-
-\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
-\def\singleindexer #1{\doind{\indexname}{#1}}
-
-% like the previous two, but they put @code around the argument.
-\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
-\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
-
-\def\indexdummies{%
-\def\ { }%
-% Take care of the plain tex accent commands.
-\def\"{\realbackslash "}%
-\def\`{\realbackslash `}%
-\def\'{\realbackslash '}%
-\def\^{\realbackslash ^}%
-\def\~{\realbackslash ~}%
-\def\={\realbackslash =}%
-\def\b{\realbackslash b}%
-\def\c{\realbackslash c}%
-\def\d{\realbackslash d}%
-\def\u{\realbackslash u}%
-\def\v{\realbackslash v}%
-\def\H{\realbackslash H}%
-% Take care of the plain tex special European modified letters.
-\def\oe{\realbackslash oe}%
-\def\ae{\realbackslash ae}%
-\def\aa{\realbackslash aa}%
-\def\OE{\realbackslash OE}%
-\def\AE{\realbackslash AE}%
-\def\AA{\realbackslash AA}%
-\def\o{\realbackslash o}%
-\def\O{\realbackslash O}%
-\def\l{\realbackslash l}%
-\def\L{\realbackslash L}%
-\def\ss{\realbackslash ss}%
-% Take care of texinfo commands likely to appear in an index entry.
-% (Must be a way to avoid doing expansion at all, and thus not have to
-% laboriously list every single command here.)
-\def\@{@}% will be @@ when we switch to @ as escape char.
-% Need these in case \tex is in effect and \{ is a \delimiter again.
-% But can't use \lbracecmd and \rbracecmd because texindex assumes
-% braces and backslashes are used only as delimiters.
-\let\{ = \mylbrace
-\let\} = \myrbrace
-\def\_{{\realbackslash _}}%
-\def\w{\realbackslash w }%
-\def\bf{\realbackslash bf }%
-%\def\rm{\realbackslash rm }%
-\def\sl{\realbackslash sl }%
-\def\sf{\realbackslash sf}%
-\def\tt{\realbackslash tt}%
-\def\gtr{\realbackslash gtr}%
-\def\less{\realbackslash less}%
-\def\hat{\realbackslash hat}%
-\def\TeX{\realbackslash TeX}%
-\def\dots{\realbackslash dots }%
-\def\result{\realbackslash result}%
-\def\equiv{\realbackslash equiv}%
-\def\expansion{\realbackslash expansion}%
-\def\print{\realbackslash print}%
-\def\error{\realbackslash error}%
-\def\point{\realbackslash point}%
-\def\copyright{\realbackslash copyright}%
-\def\tclose##1{\realbackslash tclose {##1}}%
-\def\code##1{\realbackslash code {##1}}%
-\def\uref##1{\realbackslash uref {##1}}%
-\def\url##1{\realbackslash url {##1}}%
-\def\env##1{\realbackslash env {##1}}%
-\def\command##1{\realbackslash command {##1}}%
-\def\option##1{\realbackslash option {##1}}%
-\def\dotless##1{\realbackslash dotless {##1}}%
-\def\samp##1{\realbackslash samp {##1}}%
-\def\,##1{\realbackslash ,{##1}}%
-\def\t##1{\realbackslash t {##1}}%
-\def\r##1{\realbackslash r {##1}}%
-\def\i##1{\realbackslash i {##1}}%
-\def\b##1{\realbackslash b {##1}}%
-\def\sc##1{\realbackslash sc {##1}}%
-\def\cite##1{\realbackslash cite {##1}}%
-\def\key##1{\realbackslash key {##1}}%
-\def\file##1{\realbackslash file {##1}}%
-\def\var##1{\realbackslash var {##1}}%
-\def\kbd##1{\realbackslash kbd {##1}}%
-\def\dfn##1{\realbackslash dfn {##1}}%
-\def\emph##1{\realbackslash emph {##1}}%
-\def\acronym##1{\realbackslash acronym {##1}}%
-%
-% Handle some cases of @value -- where the variable name does not
-% contain - or _, and the value does not contain any
-% (non-fully-expandable) commands.
-\let\value = \expandablevalue
-%
-\unsepspaces
-% Turn off macro expansion
-\turnoffmacros
-}
-
-% If an index command is used in an @example environment, any spaces
-% therein should become regular spaces in the raw index file, not the
-% expansion of \tie (\\leavevmode \penalty \@M \ ).
-{\obeyspaces
- \gdef\unsepspaces{\obeyspaces\let =\space}}
-
-% \indexnofonts no-ops all font-change commands.
-% This is used when outputting the strings to sort the index by.
-\def\indexdummyfont#1{#1}
-\def\indexdummytex{TeX}
-\def\indexdummydots{...}
-
-\def\indexnofonts{%
-% Just ignore accents.
-\let\,=\indexdummyfont
-\let\"=\indexdummyfont
-\let\`=\indexdummyfont
-\let\'=\indexdummyfont
-\let\^=\indexdummyfont
-\let\~=\indexdummyfont
-\let\==\indexdummyfont
-\let\b=\indexdummyfont
-\let\c=\indexdummyfont
-\let\d=\indexdummyfont
-\let\u=\indexdummyfont
-\let\v=\indexdummyfont
-\let\H=\indexdummyfont
-\let\dotless=\indexdummyfont
-% Take care of the plain tex special European modified letters.
-\def\oe{oe}%
-\def\ae{ae}%
-\def\aa{aa}%
-\def\OE{OE}%
-\def\AE{AE}%
-\def\AA{AA}%
-\def\o{o}%
-\def\O{O}%
-\def\l{l}%
-\def\L{L}%
-\def\ss{ss}%
-\let\w=\indexdummyfont
-\let\t=\indexdummyfont
-\let\r=\indexdummyfont
-\let\i=\indexdummyfont
-\let\b=\indexdummyfont
-\let\emph=\indexdummyfont
-\let\strong=\indexdummyfont
-\let\cite=\indexdummyfont
-\let\sc=\indexdummyfont
-%Don't no-op \tt, since it isn't a user-level command
-% and is used in the definitions of the active chars like <, >, |...
-%\let\tt=\indexdummyfont
-\let\tclose=\indexdummyfont
-\let\code=\indexdummyfont
-\let\url=\indexdummyfont
-\let\uref=\indexdummyfont
-\let\env=\indexdummyfont
-\let\command=\indexdummyfont
-\let\option=\indexdummyfont
-\let\file=\indexdummyfont
-\let\samp=\indexdummyfont
-\let\kbd=\indexdummyfont
-\let\key=\indexdummyfont
-\let\var=\indexdummyfont
-\let\TeX=\indexdummytex
-\let\dots=\indexdummydots
-\def\@{@}%
-}
-
-% To define \realbackslash, we must make \ not be an escape.
-% We must first make another character (@) an escape
-% so we do not become unable to do a definition.
-
-{\catcode`\@=0 \catcode`\\=\other
- @gdef@realbackslash{\}}
-
-\let\indexbackslash=0 %overridden during \printindex.
-\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
-
-% For \ifx comparisons.
-\def\emptymacro{\empty}
-
-% Most index entries go through here, but \dosubind is the general case.
-%
-\def\doind#1#2{\dosubind{#1}{#2}\empty}
-
-% Workhorse for all \fooindexes.
-% #1 is name of index, #2 is stuff to put there, #3 is subentry --
-% \empty if called from \doind, as we usually are. The main exception
-% is with defuns, which call us directly.
-%
-\def\dosubind#1#2#3{%
- % Put the index entry in the margin if desired.
- \ifx\SETmarginindex\relax\else
- \insert\margin{\hbox{\vrule height8pt depth3pt width0pt #2}}%
- \fi
- {%
- \count255=\lastpenalty
- {%
- \indexdummies % Must do this here, since \bf, etc expand at this stage
- \escapechar=`\\
- {%
- \let\folio = 0% We will expand all macros now EXCEPT \folio.
- \def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now
- % so it will be output as is; and it will print as backslash.
- %
- \def\thirdarg{#3}%
- %
- % If third arg is present, precede it with space in sort key.
- \ifx\thirdarg\emptymacro
- \let\subentry = \empty
- \else
- \def\subentry{ #3}%
- \fi
- %
- % First process the index entry with all font commands turned
- % off to get the string to sort by.
- {\indexnofonts \xdef\indexsorttmp{#2\subentry}}%
- %
- % Now the real index entry with the fonts.
- \toks0 = {#2}%
- %
- % If third (subentry) arg is present, add it to the index
- % string. And include a space.
- \ifx\thirdarg\emptymacro \else
- \toks0 = \expandafter{\the\toks0 \space #3}%
- \fi
- %
- % Set up the complete index entry, with both the sort key
- % and the original text, including any font commands. We write
- % three arguments to \entry to the .?? file, texindex reduces to
- % two when writing the .??s sorted result.
- \edef\temp{%
- \write\csname#1indfile\endcsname{%
- \realbackslash entry{\indexsorttmp}{\folio}{\the\toks0}}%
- }%
- %
- % If a skip is the last thing on the list now, preserve it
- % by backing up by \lastskip, doing the \write, then inserting
- % the skip again. Otherwise, the whatsit generated by the
- % \write will make \lastskip zero. The result is that sequences
- % like this:
- % @end defun
- % @tindex whatever
- % @defun ...
- % will have extra space inserted, because the \medbreak in the
- % start of the @defun won't see the skip inserted by the @end of
- % the previous defun.
- %
- % But don't do any of this if we're not in vertical mode. We
- % don't want to do a \vskip and prematurely end a paragraph.
- %
- % Avoid page breaks due to these extra skips, too.
- %
- \iflinks
- \ifvmode
- \skip0 = \lastskip
- \ifdim\lastskip = 0pt \else \nobreak\vskip-\lastskip \fi
- \fi
- %
- \temp % do the write
- %
- %
- \ifvmode \ifdim\skip0 = 0pt \else \nobreak\vskip\skip0 \fi \fi
- \fi
- }%
- }%
- \penalty\count255
- }%
-}
-
-% The index entry written in the file actually looks like
-% \entry {sortstring}{page}{topic}
-% or
-% \entry {sortstring}{page}{topic}{subtopic}
-% The texindex program reads in these files and writes files
-% containing these kinds of lines:
-% \initial {c}
-% before the first topic whose initial is c
-% \entry {topic}{pagelist}
-% for a topic that is used without subtopics
-% \primary {topic}
-% for the beginning of a topic that is used with subtopics
-% \secondary {subtopic}{pagelist}
-% for each subtopic.
-
-% Define the user-accessible indexing commands
-% @findex, @vindex, @kindex, @cindex.
-
-\def\findex {\fnindex}
-\def\kindex {\kyindex}
-\def\cindex {\cpindex}
-\def\vindex {\vrindex}
-\def\tindex {\tpindex}
-\def\pindex {\pgindex}
-
-\def\cindexsub {\begingroup\obeylines\cindexsub}
-{\obeylines %
-\gdef\cindexsub "#1" #2^^M{\endgroup %
-\dosubind{cp}{#2}{#1}}}
-
-% Define the macros used in formatting output of the sorted index material.
-
-% @printindex causes a particular index (the ??s file) to get printed.
-% It does not print any chapter heading (usually an @unnumbered).
-%
-\def\printindex{\parsearg\doprintindex}
-\def\doprintindex#1{\begingroup
- \dobreak \chapheadingskip{10000}%
- %
- \indexfonts \rm
- \tolerance = 9500
- \indexbreaks
- %
- % See if the index file exists and is nonempty.
- % Change catcode of @ here so that if the index file contains
- % \initial {@}
- % as its first line, TeX doesn't complain about mismatched braces
- % (because it thinks @} is a control sequence).
- \catcode`\@ = 11
- \openin 1 \jobname.#1s
- \ifeof 1
- % \enddoublecolumns gets confused if there is no text in the index,
- % and it loses the chapter title and the aux file entries for the
- % index. The easiest way to prevent this problem is to make sure
- % there is some text.
- \putwordIndexNonexistent
- \else
- %
- % If the index file exists but is empty, then \openin leaves \ifeof
- % false. We have to make TeX try to read something from the file, so
- % it can discover if there is anything in it.
- \read 1 to \temp
- \ifeof 1
- \putwordIndexIsEmpty
- \else
- % Index files are almost Texinfo source, but we use \ as the escape
- % character. It would be better to use @, but that's too big a change
- % to make right now.
- \def\indexbackslash{\rawbackslashxx}%
- \catcode`\\ = 0
- \escapechar = `\\
- \begindoublecolumns
- \input \jobname.#1s
- \enddoublecolumns
- \fi
- \fi
- \closein 1
-\endgroup}
-
-% These macros are used by the sorted index file itself.
-% Change them to control the appearance of the index.
-
-\def\initial#1{{%
- % Some minor font changes for the special characters.
- \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
- %
- % Remove any glue we may have, we'll be inserting our own.
- \removelastskip
- %
- % We like breaks before the index initials, so insert a bonus.
- \penalty -300
- %
- % Typeset the initial. Making this add up to a whole number of
- % baselineskips increases the chance of the dots lining up from column
- % to column. It still won't often be perfect, because of the stretch
- % we need before each entry, but it's better.
- %
- % No shrink because it confuses \balancecolumns.
- \vskip 1.67\baselineskip plus .5\baselineskip
- \leftline{\secbf #1}%
- \vskip .33\baselineskip plus .1\baselineskip
- %
- % Do our best not to break after the initial.
- \nobreak
-}}
-
-% This typesets a paragraph consisting of #1, dot leaders, and then #2
-% flush to the right margin. It is used for index and table of contents
-% entries. The paragraph is indented by \leftskip.
-%
-\def\entry#1#2{\begingroup
- %
- % Start a new paragraph if necessary, so our assignments below can't
- % affect previous text.
- \par
- %
- % Do not fill out the last line with white space.
- \parfillskip = 0in
- %
- % No extra space above this paragraph.
- \parskip = 0in
- %
- % Do not prefer a separate line ending with a hyphen to fewer lines.
- \finalhyphendemerits = 0
- %
- % \hangindent is only relevant when the entry text and page number
- % don't both fit on one line. In that case, bob suggests starting the
- % dots pretty far over on the line. Unfortunately, a large
- % indentation looks wrong when the entry text itself is broken across
- % lines. So we use a small indentation and put up with long leaders.
- %
- % \hangafter is reset to 1 (which is the value we want) at the start
- % of each paragraph, so we need not do anything with that.
- \hangindent = 2em
- %
- % When the entry text needs to be broken, just fill out the first line
- % with blank space.
- \rightskip = 0pt plus1fil
- %
- % A bit of stretch before each entry for the benefit of balancing columns.
- \vskip 0pt plus1pt
- %
- % Start a ``paragraph'' for the index entry so the line breaking
- % parameters we've set above will have an effect.
- \noindent
- %
- % Insert the text of the index entry. TeX will do line-breaking on it.
- #1%
- % The following is kludged to not output a line of dots in the index if
- % there are no page numbers. The next person who breaks this will be
- % cursed by a Unix daemon.
- \def\tempa{{\rm }}%
- \def\tempb{#2}%
- \edef\tempc{\tempa}%
- \edef\tempd{\tempb}%
- \ifx\tempc\tempd\ \else%
- %
- % If we must, put the page number on a line of its own, and fill out
- % this line with blank space. (The \hfil is overwhelmed with the
- % fill leaders glue in \indexdotfill if the page number does fit.)
- \hfil\penalty50
- \null\nobreak\indexdotfill % Have leaders before the page number.
- %
- % The `\ ' here is removed by the implicit \unskip that TeX does as
- % part of (the primitive) \par. Without it, a spurious underfull
- % \hbox ensues.
- \ #2% The page number ends the paragraph.
- \fi%
- \par
-\endgroup}
-
-% Like \dotfill except takes at least 1 em.
-\def\indexdotfill{\cleaders
- \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill}
-
-\def\primary #1{\line{#1\hfil}}
-
-\newskip\secondaryindent \secondaryindent=0.5cm
-
-\def\secondary #1#2{
-{\parfillskip=0in \parskip=0in
-\hangindent =1in \hangafter=1
-\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\par
-}}
-
-% Define two-column mode, which we use to typeset indexes.
-% Adapted from the TeXbook, page 416, which is to say,
-% the manmac.tex format used to print the TeXbook itself.
-\catcode`\@=11
-
-\newbox\partialpage
-\newdimen\doublecolumnhsize
-
-\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns
- % Grab any single-column material above us.
- \output = {%
- %
- % Here is a possibility not foreseen in manmac: if we accumulate a
- % whole lot of material, we might end up calling this \output
- % routine twice in a row (see the doublecol-lose test, which is
- % essentially a couple of indexes with @setchapternewpage off). In
- % that case we just ship out what is in \partialpage with the normal
- % output routine. Generally, \partialpage will be empty when this
- % runs and this will be a no-op. See the indexspread.tex test case.
- \ifvoid\partialpage \else
- \onepageout{\pagecontents\partialpage}%
- \fi
- %
- \global\setbox\partialpage = \vbox{%
- % Unvbox the main output page.
- \unvbox\PAGE
- \kern-\topskip \kern\baselineskip
- }%
- }%
- \eject % run that output routine to set \partialpage
- %
- % Use the double-column output routine for subsequent pages.
- \output = {\doublecolumnout}%
- %
- % Change the page size parameters. We could do this once outside this
- % routine, in each of @smallbook, @afourpaper, and the default 8.5x11
- % format, but then we repeat the same computation. Repeating a couple
- % of assignments once per index is clearly meaningless for the
- % execution time, so we may as well do it in one place.
- %
- % First we halve the line length, less a little for the gutter between
- % the columns. We compute the gutter based on the line length, so it
- % changes automatically with the paper format. The magic constant
- % below is chosen so that the gutter has the same value (well, +-<1pt)
- % as it did when we hard-coded it.
- %
- % We put the result in a separate register, \doublecolumhsize, so we
- % can restore it in \pagesofar, after \hsize itself has (potentially)
- % been clobbered.
- %
- \doublecolumnhsize = \hsize
- \advance\doublecolumnhsize by -.04154\hsize
- \divide\doublecolumnhsize by 2
- \hsize = \doublecolumnhsize
- %
- % Double the \vsize as well. (We don't need a separate register here,
- % since nobody clobbers \vsize.)
- \advance\vsize by -\ht\partialpage
- \vsize = 2\vsize
-}
-
-% The double-column output routine for all double-column pages except
-% the last.
-%
-\def\doublecolumnout{%
- \splittopskip=\topskip \splitmaxdepth=\maxdepth
- % Get the available space for the double columns -- the normal
- % (undoubled) page height minus any material left over from the
- % previous page.
- \dimen@ = \vsize
- \divide\dimen@ by 2
- %
- % box0 will be the left-hand column, box2 the right.
- \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
- \onepageout\pagesofar
- \unvbox255
- \penalty\outputpenalty
-}
-\def\pagesofar{%
- % Re-output the contents of the output page -- any previous material,
- % followed by the two boxes we just split, in box0 and box2.
- \unvbox\partialpage
- %
- \hsize = \doublecolumnhsize
- \wd0=\hsize \wd2=\hsize
- \hbox to\pagewidth{\box0\hfil\box2}%
-}
-\def\enddoublecolumns{%
- \output = {%
- % Split the last of the double-column material. Leave it on the
- % current page, no automatic page break.
- \balancecolumns
- %
- % If we end up splitting too much material for the current page,
- % though, there will be another page break right after this \output
- % invocation ends. Having called \balancecolumns once, we do not
- % want to call it again. Therefore, reset \output to its normal
- % definition right away. (We hope \balancecolumns will never be
- % called on to balance too much material, but if it is, this makes
- % the output somewhat more palatable.)
- \global\output = {\onepageout{\pagecontents\PAGE}}%
- }%
- \eject
- \endgroup % started in \begindoublecolumns
- %
- % \pagegoal was set to the doubled \vsize above, since we restarted
- % the current page. We're now back to normal single-column
- % typesetting, so reset \pagegoal to the normal \vsize (after the
- % \endgroup where \vsize got restored).
- \pagegoal = \vsize
-}
-\def\balancecolumns{%
- % Called at the end of the double column material.
- \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
- \dimen@ = \ht0
- \advance\dimen@ by \topskip
- \advance\dimen@ by-\baselineskip
- \divide\dimen@ by 2 % target to split to
- %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}%
- \splittopskip = \topskip
- % Loop until we get a decent breakpoint.
- {%
- \vbadness = 10000
- \loop
- \global\setbox3 = \copy0
- \global\setbox1 = \vsplit3 to \dimen@
- \ifdim\ht3>\dimen@
- \global\advance\dimen@ by 1pt
- \repeat
- }%
- %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
- \setbox0=\vbox to\dimen@{\unvbox1}%
- \setbox2=\vbox to\dimen@{\unvbox3}%
- %
- \pagesofar
-}
-\catcode`\@ = \other
-
-
-\message{sectioning,}
-% Chapters, sections, etc.
-
-\newcount\chapno
-\newcount\secno \secno=0
-\newcount\subsecno \subsecno=0
-\newcount\subsubsecno \subsubsecno=0
-
-% This counter is funny since it counts through charcodes of letters A, B, ...
-% The \the is necessary, despite appearances, because \appendixletter is
-% expanded while writing the .toc file. \char\appendixno is not
-% expandable, thus it is written literally, thus all appendixes come out
-% with the same letter (or @) in the toc without it.
-\newcount\appendixno \appendixno = `\@
-\def\appendixletter{\char\the\appendixno}
-
-% Each @chapter defines this as the name of the chapter.
-% page headings and footings can use it. @section does likewise.
-\def\thischapter{}
-\def\thissection{}
-
-\newcount\absseclevel % used to calculate proper heading level
-\newcount\secbase\secbase=0 % @raise/lowersections modify this count
-
-% @raisesections: treat @section as chapter, @subsection as section, etc.
-\def\raisesections{\global\advance\secbase by -1}
-\let\up=\raisesections % original BFox name
-
-% @lowersections: treat @chapter as section, @section as subsection, etc.
-\def\lowersections{\global\advance\secbase by 1}
-\let\down=\lowersections % original BFox name
-
-% Choose a numbered-heading macro
-% #1 is heading level if unmodified by @raisesections or @lowersections
-% #2 is text for heading
-\def\numhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
-\ifcase\absseclevel
- \chapterzzz{#2}
-\or
- \seczzz{#2}
-\or
- \numberedsubseczzz{#2}
-\or
- \numberedsubsubseczzz{#2}
-\else
- \ifnum \absseclevel<0
- \chapterzzz{#2}
- \else
- \numberedsubsubseczzz{#2}
- \fi
-\fi
-}
-
-% like \numhead, but chooses appendix heading levels
-\def\apphead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
-\ifcase\absseclevel
- \appendixzzz{#2}
-\or
- \appendixsectionzzz{#2}
-\or
- \appendixsubseczzz{#2}
-\or
- \appendixsubsubseczzz{#2}
-\else
- \ifnum \absseclevel<0
- \appendixzzz{#2}
- \else
- \appendixsubsubseczzz{#2}
- \fi
-\fi
-}
-
-% like \numhead, but chooses numberless heading levels
-\def\unnmhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
-\ifcase\absseclevel
- \unnumberedzzz{#2}
-\or
- \unnumberedseczzz{#2}
-\or
- \unnumberedsubseczzz{#2}
-\or
- \unnumberedsubsubseczzz{#2}
-\else
- \ifnum \absseclevel<0
- \unnumberedzzz{#2}
- \else
- \unnumberedsubsubseczzz{#2}
- \fi
-\fi
-}
-
-% @chapter, @appendix, @unnumbered.
-\def\thischaptername{No Chapter Title}
-\outer\def\chapter{\parsearg\chapteryyy}
-\def\chapteryyy #1{\numhead0{#1}} % normally numhead0 calls chapterzzz
-\def\chapterzzz #1{%
-\secno=0 \subsecno=0 \subsubsecno=0
-\global\advance \chapno by 1 \message{\putwordChapter\space \the\chapno}%
-\chapmacro {#1}{\the\chapno}%
-\gdef\thissection{#1}%
-\gdef\thischaptername{#1}%
-% We don't substitute the actual chapter name into \thischapter
-% because we don't want its macros evaluated now.
-\xdef\thischapter{\putwordChapter{} \the\chapno: \noexpand\thischaptername}%
-\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash chapentry{\the\toks0}%
- {\the\chapno}}}%
-\temp
-\donoderef
-\global\let\section = \numberedsec
-\global\let\subsection = \numberedsubsec
-\global\let\subsubsection = \numberedsubsubsec
-}
-
-\outer\def\appendix{\parsearg\appendixyyy}
-\def\appendixyyy #1{\apphead0{#1}} % normally apphead0 calls appendixzzz
-\def\appendixzzz #1{%
-\secno=0 \subsecno=0 \subsubsecno=0
-\global\advance \appendixno by 1
-\message{\putwordAppendix\space \appendixletter}%
-\chapmacro {#1}{\putwordAppendix{} \appendixletter}%
-\gdef\thissection{#1}%
-\gdef\thischaptername{#1}%
-\xdef\thischapter{\putwordAppendix{} \appendixletter: \noexpand\thischaptername}%
-\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash chapentry{\the\toks0}%
- {\putwordAppendix{} \appendixletter}}}%
-\temp
-\appendixnoderef
-\global\let\section = \appendixsec
-\global\let\subsection = \appendixsubsec
-\global\let\subsubsection = \appendixsubsubsec
-}
-
-% @centerchap is like @unnumbered, but the heading is centered.
-\outer\def\centerchap{\parsearg\centerchapyyy}
-\def\centerchapyyy #1{{\let\unnumbchapmacro=\centerchapmacro \unnumberedyyy{#1}}}
-
-% @top is like @unnumbered.
-\outer\def\top{\parsearg\unnumberedyyy}
-
-\outer\def\unnumbered{\parsearg\unnumberedyyy}
-\def\unnumberedyyy #1{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
-\def\unnumberedzzz #1{%
-\secno=0 \subsecno=0 \subsubsecno=0
-%
-% This used to be simply \message{#1}, but TeX fully expands the
-% argument to \message. Therefore, if #1 contained @-commands, TeX
-% expanded them. For example, in `@unnumbered The @cite{Book}', TeX
-% expanded @cite (which turns out to cause errors because \cite is meant
-% to be executed, not expanded).
-%
-% Anyway, we don't want the fully-expanded definition of @cite to appear
-% as a result of the \message, we just want `@cite' itself. We use
-% \the<toks register> to achieve this: TeX expands \the<toks> only once,
-% simply yielding the contents of <toks register>. (We also do this for
-% the toc entries.)
-\toks0 = {#1}\message{(\the\toks0)}%
-%
-\unnumbchapmacro {#1}%
-\gdef\thischapter{#1}\gdef\thissection{#1}%
-\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash unnumbchapentry{\the\toks0}}}%
-\temp
-\unnumbnoderef
-\global\let\section = \unnumberedsec
-\global\let\subsection = \unnumberedsubsec
-\global\let\subsubsection = \unnumberedsubsubsec
-}
-
-% Sections.
-\outer\def\numberedsec{\parsearg\secyyy}
-\def\secyyy #1{\numhead1{#1}} % normally calls seczzz
-\def\seczzz #1{%
-\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
-\gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}%
-\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash secentry{\the\toks0}%
- {\the\chapno}{\the\secno}}}%
-\temp
-\donoderef
-\nobreak
-}
-
-\outer\def\appendixsection{\parsearg\appendixsecyyy}
-\outer\def\appendixsec{\parsearg\appendixsecyyy}
-\def\appendixsecyyy #1{\apphead1{#1}} % normally calls appendixsectionzzz
-\def\appendixsectionzzz #1{%
-\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
-\gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}%
-\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash secentry{\the\toks0}%
- {\appendixletter}{\the\secno}}}%
-\temp
-\appendixnoderef
-\nobreak
-}
-
-\outer\def\unnumberedsec{\parsearg\unnumberedsecyyy}
-\def\unnumberedsecyyy #1{\unnmhead1{#1}} % normally calls unnumberedseczzz
-\def\unnumberedseczzz #1{%
-\plainsecheading {#1}\gdef\thissection{#1}%
-\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsecentry{\the\toks0}}}%
-\temp
-\unnumbnoderef
-\nobreak
-}
-
-% Subsections.
-\outer\def\numberedsubsec{\parsearg\numberedsubsecyyy}
-\def\numberedsubsecyyy #1{\numhead2{#1}} % normally calls numberedsubseczzz
-\def\numberedsubseczzz #1{%
-\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
-\subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}%
-\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash subsecentry{\the\toks0}%
- {\the\chapno}{\the\secno}{\the\subsecno}}}%
-\temp
-\donoderef
-\nobreak
-}
-
-\outer\def\appendixsubsec{\parsearg\appendixsubsecyyy}
-\def\appendixsubsecyyy #1{\apphead2{#1}} % normally calls appendixsubseczzz
-\def\appendixsubseczzz #1{%
-\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
-\subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}%
-\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash subsecentry{\the\toks0}%
- {\appendixletter}{\the\secno}{\the\subsecno}}}%
-\temp
-\appendixnoderef
-\nobreak
-}
-
-\outer\def\unnumberedsubsec{\parsearg\unnumberedsubsecyyy}
-\def\unnumberedsubsecyyy #1{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
-\def\unnumberedsubseczzz #1{%
-\plainsubsecheading {#1}\gdef\thissection{#1}%
-\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsecentry%
- {\the\toks0}}}%
-\temp
-\unnumbnoderef
-\nobreak
-}
-
-% Subsubsections.
-\outer\def\numberedsubsubsec{\parsearg\numberedsubsubsecyyy}
-\def\numberedsubsubsecyyy #1{\numhead3{#1}} % normally numberedsubsubseczzz
-\def\numberedsubsubseczzz #1{%
-\gdef\thissection{#1}\global\advance \subsubsecno by 1 %
-\subsubsecheading {#1}
- {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
-\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash subsubsecentry{\the\toks0}%
- {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}}}%
-\temp
-\donoderef
-\nobreak
-}
-
-\outer\def\appendixsubsubsec{\parsearg\appendixsubsubsecyyy}
-\def\appendixsubsubsecyyy #1{\apphead3{#1}} % normally appendixsubsubseczzz
-\def\appendixsubsubseczzz #1{%
-\gdef\thissection{#1}\global\advance \subsubsecno by 1 %
-\subsubsecheading {#1}
- {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
-\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash subsubsecentry{\the\toks0}%
- {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}}}%
-\temp
-\appendixnoderef
-\nobreak
-}
-
-\outer\def\unnumberedsubsubsec{\parsearg\unnumberedsubsubsecyyy}
-\def\unnumberedsubsubsecyyy #1{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
-\def\unnumberedsubsubseczzz #1{%
-\plainsubsubsecheading {#1}\gdef\thissection{#1}%
-\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsubsecentry%
- {\the\toks0}}}%
-\temp
-\unnumbnoderef
-\nobreak
-}
-
-% These are variants which are not "outer", so they can appear in @ifinfo.
-% Actually, they should now be obsolete; ordinary section commands should work.
-\def\infotop{\parsearg\unnumberedzzz}
-\def\infounnumbered{\parsearg\unnumberedzzz}
-\def\infounnumberedsec{\parsearg\unnumberedseczzz}
-\def\infounnumberedsubsec{\parsearg\unnumberedsubseczzz}
-\def\infounnumberedsubsubsec{\parsearg\unnumberedsubsubseczzz}
-
-\def\infoappendix{\parsearg\appendixzzz}
-\def\infoappendixsec{\parsearg\appendixseczzz}
-\def\infoappendixsubsec{\parsearg\appendixsubseczzz}
-\def\infoappendixsubsubsec{\parsearg\appendixsubsubseczzz}
-
-\def\infochapter{\parsearg\chapterzzz}
-\def\infosection{\parsearg\sectionzzz}
-\def\infosubsection{\parsearg\subsectionzzz}
-\def\infosubsubsection{\parsearg\subsubsectionzzz}
-
-% These macros control what the section commands do, according
-% to what kind of chapter we are in (ordinary, appendix, or unnumbered).
-% Define them by default for a numbered chapter.
-\global\let\section = \numberedsec
-\global\let\subsection = \numberedsubsec
-\global\let\subsubsection = \numberedsubsubsec
-
-% Define @majorheading, @heading and @subheading
-
-% NOTE on use of \vbox for chapter headings, section headings, and such:
-% 1) We use \vbox rather than the earlier \line to permit
-% overlong headings to fold.
-% 2) \hyphenpenalty is set to 10000 because hyphenation in a
-% heading is obnoxious; this forbids it.
-% 3) Likewise, headings look best if no \parindent is used, and
-% if justification is not attempted. Hence \raggedright.
-
-
-\def\majorheading{\parsearg\majorheadingzzz}
-\def\majorheadingzzz #1{%
-{\advance\chapheadingskip by 10pt \chapbreak }%
-{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
- \rm #1\hfill}}\bigskip \par\penalty 200}
-
-\def\chapheading{\parsearg\chapheadingzzz}
-\def\chapheadingzzz #1{\chapbreak %
-{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
- \rm #1\hfill}}\bigskip \par\penalty 200}
-
-% @heading, @subheading, @subsubheading.
-\def\heading{\parsearg\plainsecheading}
-\def\subheading{\parsearg\plainsubsecheading}
-\def\subsubheading{\parsearg\plainsubsubsecheading}
-
-% These macros generate a chapter, section, etc. heading only
-% (including whitespace, linebreaking, etc. around it),
-% given all the information in convenient, parsed form.
-
-%%% Args are the skip and penalty (usually negative)
-\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
-
-\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
-
-%%% Define plain chapter starts, and page on/off switching for it
-% Parameter controlling skip before chapter headings (if needed)
-
-\newskip\chapheadingskip
-
-\def\chapbreak{\dobreak \chapheadingskip {-4000}}
-\def\chappager{\par\vfill\supereject}
-\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi}
-
-\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
-
-\def\CHAPPAGoff{%
-\global\let\contentsalignmacro = \chappager
-\global\let\pchapsepmacro=\chapbreak
-\global\let\pagealignmacro=\chappager}
-
-\def\CHAPPAGon{%
-\global\let\contentsalignmacro = \chappager
-\global\let\pchapsepmacro=\chappager
-\global\let\pagealignmacro=\chappager
-\global\def\HEADINGSon{\HEADINGSsingle}}
-
-\def\CHAPPAGodd{
-\global\let\contentsalignmacro = \chapoddpage
-\global\let\pchapsepmacro=\chapoddpage
-\global\let\pagealignmacro=\chapoddpage
-\global\def\HEADINGSon{\HEADINGSdouble}}
-
-\CHAPPAGon
-
-\def\CHAPFplain{
-\global\let\chapmacro=\chfplain
-\global\let\unnumbchapmacro=\unnchfplain
-\global\let\centerchapmacro=\centerchfplain}
-
-% Plain chapter opening.
-% #1 is the text, #2 the chapter number or empty if unnumbered.
-\def\chfplain#1#2{%
- \pchapsepmacro
- {%
- \chapfonts \rm
- \def\chapnum{#2}%
- \setbox0 = \hbox{#2\ifx\chapnum\empty\else\enspace\fi}%
- \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
- \hangindent = \wd0 \centerparametersmaybe
- \unhbox0 #1\par}%
- }%
- \nobreak\bigskip % no page break after a chapter title
- \nobreak
-}
-
-% Plain opening for unnumbered.
-\def\unnchfplain#1{\chfplain{#1}{}}
-
-% @centerchap -- centered and unnumbered.
-\let\centerparametersmaybe = \relax
-\def\centerchfplain#1{{%
- \def\centerparametersmaybe{%
- \advance\rightskip by 3\rightskip
- \leftskip = \rightskip
- \parfillskip = 0pt
- }%
- \chfplain{#1}{}%
-}}
-
-\CHAPFplain % The default
-
-\def\unnchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
- \rm #1\hfill}}\bigskip \par\nobreak
-}
-
-\def\chfopen #1#2{\chapoddpage {\chapfonts
-\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
-\par\penalty 5000 %
-}
-
-\def\centerchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt
- \hfill {\rm #1}\hfill}}\bigskip \par\nobreak
-}
-
-\def\CHAPFopen{
-\global\let\chapmacro=\chfopen
-\global\let\unnumbchapmacro=\unnchfopen
-\global\let\centerchapmacro=\centerchfopen}
-
-
-% Section titles.
-\newskip\secheadingskip
-\def\secheadingbreak{\dobreak \secheadingskip {-1000}}
-\def\secheading#1#2#3{\sectionheading{sec}{#2.#3}{#1}}
-\def\plainsecheading#1{\sectionheading{sec}{}{#1}}
-
-% Subsection titles.
-\newskip \subsecheadingskip
-\def\subsecheadingbreak{\dobreak \subsecheadingskip {-500}}
-\def\subsecheading#1#2#3#4{\sectionheading{subsec}{#2.#3.#4}{#1}}
-\def\plainsubsecheading#1{\sectionheading{subsec}{}{#1}}
-
-% Subsubsection titles.
-\let\subsubsecheadingskip = \subsecheadingskip
-\let\subsubsecheadingbreak = \subsecheadingbreak
-\def\subsubsecheading#1#2#3#4#5{\sectionheading{subsubsec}{#2.#3.#4.#5}{#1}}
-\def\plainsubsubsecheading#1{\sectionheading{subsubsec}{}{#1}}
-
-
-% Print any size section title.
-%
-% #1 is the section type (sec/subsec/subsubsec), #2 is the section
-% number (maybe empty), #3 the text.
-\def\sectionheading#1#2#3{%
- {%
- \expandafter\advance\csname #1headingskip\endcsname by \parskip
- \csname #1headingbreak\endcsname
- }%
- {%
- % Switch to the right set of fonts.
- \csname #1fonts\endcsname \rm
- %
- % Only insert the separating space if we have a section number.
- \def\secnum{#2}%
- \setbox0 = \hbox{#2\ifx\secnum\empty\else\enspace\fi}%
- %
- \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
- \hangindent = \wd0 % zero if no section number
- \unhbox0 #3}%
- }%
- \ifdim\parskip<10pt \nobreak\kern10pt\nobreak\kern-\parskip\fi \nobreak
-}
-
-
-\message{toc,}
-% Table of contents.
-\newwrite\tocfile
-
-% Write an entry to the toc file, opening it if necessary.
-% Called from @chapter, etc. We supply {\folio} at the end of the
-% argument, which will end up as the last argument to the \...entry macro.
-%
-% We open the .toc file here instead of at @setfilename or any other
-% given time so that @contents can be put in the document anywhere.
-%
-\newif\iftocfileopened
-\def\writetocentry#1{%
- \iftocfileopened\else
- \immediate\openout\tocfile = \jobname.toc
- \global\tocfileopenedtrue
- \fi
- \iflinks \write\tocfile{#1{\folio}}\fi
-}
-
-\newskip\contentsrightmargin \contentsrightmargin=1in
-\newcount\savepageno
-\newcount\lastnegativepageno \lastnegativepageno = -1
-
-% Finish up the main text and prepare to read what we've written
-% to \tocfile.
-%
-\def\startcontents#1{%
- % If @setchapternewpage on, and @headings double, the contents should
- % start on an odd page, unlike chapters. Thus, we maintain
- % \contentsalignmacro in parallel with \pagealignmacro.
- % From: Torbjorn Granlund <tege@matematik.su.se>
- \contentsalignmacro
- \immediate\closeout\tocfile
- %
- % Don't need to put `Contents' or `Short Contents' in the headline.
- % It is abundantly clear what they are.
- \unnumbchapmacro{#1}\def\thischapter{}%
- \savepageno = \pageno
- \begingroup % Set up to handle contents files properly.
- \catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11
- % We can't do this, because then an actual ^ in a section
- % title fails, e.g., @chapter ^ -- exponentiation. --karl, 9jul97.
- %\catcode`\^=7 % to see ^^e4 as \"a etc. juha@piuha.ydi.vtt.fi
- \raggedbottom % Worry more about breakpoints than the bottom.
- \advance\hsize by -\contentsrightmargin % Don't use the full line length.
- %
- % Roman numerals for page numbers.
- \ifnum \pageno>0 \pageno = \lastnegativepageno \fi
-}
-
-
-% Normal (long) toc.
-\def\contents{%
- \startcontents{\putwordTOC}%
- \openin 1 \jobname.toc
- \ifeof 1 \else
- \closein 1
- \input \jobname.toc
- \fi
- \vfill \eject
- \contentsalignmacro % in case @setchapternewpage odd is in effect
- \endgroup
- \lastnegativepageno = \pageno
- \pageno = \savepageno
-}
-
-% And just the chapters.
-\def\summarycontents{%
- \startcontents{\putwordShortTOC}%
- %
- \let\chapentry = \shortchapentry
- \let\unnumbchapentry = \shortunnumberedentry
- % We want a true roman here for the page numbers.
- \secfonts
- \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl
- \rm
- \hyphenpenalty = 10000
- \advance\baselineskip by 1pt % Open it up a little.
- \def\secentry ##1##2##3##4{}
- \def\unnumbsecentry ##1##2{}
- \def\subsecentry ##1##2##3##4##5{}
- \def\unnumbsubsecentry ##1##2{}
- \def\subsubsecentry ##1##2##3##4##5##6{}
- \def\unnumbsubsubsecentry ##1##2{}
- \openin 1 \jobname.toc
- \ifeof 1 \else
- \closein 1
- \input \jobname.toc
- \fi
- \vfill \eject
- \contentsalignmacro % in case @setchapternewpage odd is in effect
- \endgroup
- \lastnegativepageno = \pageno
- \pageno = \savepageno
-}
-\let\shortcontents = \summarycontents
-
-\ifpdf
- \pdfcatalog{/PageMode /UseOutlines}%
-\fi
-
-% These macros generate individual entries in the table of contents.
-% The first argument is the chapter or section name.
-% The last argument is the page number.
-% The arguments in between are the chapter number, section number, ...
-
-% Chapter-level things, for both the long and short contents.
-\def\chapentry#1#2#3{\dochapentry{#2\labelspace#1}{#3}}
-
-% See comments in \dochapentry re vbox and related settings
-\def\shortchapentry#1#2#3{%
- \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno{#3}}%
-}
-
-% Typeset the label for a chapter or appendix for the short contents.
-% The arg is, e.g. `Appendix A' for an appendix, or `3' for a chapter.
-% We could simplify the code here by writing out an \appendixentry
-% command in the toc file for appendices, instead of using \chapentry
-% for both, but it doesn't seem worth it.
-\setbox0 = \hbox{\shortcontrm \putwordAppendix }
-\newdimen\shortappendixwidth \shortappendixwidth = \wd0
-
-\def\shortchaplabel#1{%
- % We typeset #1 in a box of constant width, regardless of the text of
- % #1, so the chapter titles will come out aligned.
- \setbox0 = \hbox{#1}%
- \dimen0 = \ifdim\wd0 > \shortappendixwidth \shortappendixwidth \else 0pt \fi
- %
- % This space should be plenty, since a single number is .5em, and the
- % widest letter (M) is 1em, at least in the Computer Modern fonts.
- % (This space doesn't include the extra space that gets added after
- % the label; that gets put in by \shortchapentry above.)
- \advance\dimen0 by 1.1em
- \hbox to \dimen0{#1\hfil}%
-}
-
-\def\unnumbchapentry#1#2{\dochapentry{#1}{#2}}
-\def\shortunnumberedentry#1#2{\tocentry{#1}{\doshortpageno{#2}}}
-
-% Sections.
-\def\secentry#1#2#3#4{\dosecentry{#2.#3\labelspace#1}{#4}}
-\def\unnumbsecentry#1#2{\dosecentry{#1}{#2}}
-
-% Subsections.
-\def\subsecentry#1#2#3#4#5{\dosubsecentry{#2.#3.#4\labelspace#1}{#5}}
-\def\unnumbsubsecentry#1#2{\dosubsecentry{#1}{#2}}
-
-% And subsubsections.
-\def\subsubsecentry#1#2#3#4#5#6{%
- \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}{#6}}
-\def\unnumbsubsubsecentry#1#2{\dosubsubsecentry{#1}{#2}}
-
-% This parameter controls the indentation of the various levels.
-\newdimen\tocindent \tocindent = 3pc
-
-% Now for the actual typesetting. In all these, #1 is the text and #2 is the
-% page number.
-%
-% If the toc has to be broken over pages, we want it to be at chapters
-% if at all possible; hence the \penalty.
-\def\dochapentry#1#2{%
- \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
- \begingroup
- \chapentryfonts
- \tocentry{#1}{\dopageno{#2}}%
- \endgroup
- \nobreak\vskip .25\baselineskip plus.1\baselineskip
-}
-
-\def\dosecentry#1#2{\begingroup
- \secentryfonts \leftskip=\tocindent
- \tocentry{#1}{\dopageno{#2}}%
-\endgroup}
-
-\def\dosubsecentry#1#2{\begingroup
- \subsecentryfonts \leftskip=2\tocindent
- \tocentry{#1}{\dopageno{#2}}%
-\endgroup}
-
-\def\dosubsubsecentry#1#2{\begingroup
- \subsubsecentryfonts \leftskip=3\tocindent
- \tocentry{#1}{\dopageno{#2}}%
-\endgroup}
-
-% Final typesetting of a toc entry; we use the same \entry macro as for
-% the index entries, but we want to suppress hyphenation here. (We
-% can't do that in the \entry macro, since index entries might consist
-% of hyphenated-identifiers-that-do-not-fit-on-a-line-and-nothing-else.)
-\def\tocentry#1#2{\begingroup
- \vskip 0pt plus1pt % allow a little stretch for the sake of nice page breaks
- % Do not use \turnoffactive in these arguments. Since the toc is
- % typeset in cmr, so characters such as _ would come out wrong; we
- % have to do the usual translation tricks.
- \entry{#1}{#2}%
-\endgroup}
-
-% Space between chapter (or whatever) number and the title.
-\def\labelspace{\hskip1em \relax}
-
-\def\dopageno#1{{\rm #1}}
-\def\doshortpageno#1{{\rm #1}}
-
-\def\chapentryfonts{\secfonts \rm}
-\def\secentryfonts{\textfonts}
-\let\subsecentryfonts = \textfonts
-\let\subsubsecentryfonts = \textfonts
-
-
-\message{environments,}
-% @foo ... @end foo.
-
-% Since these characters are used in examples, it should be an even number of
-% \tt widths. Each \tt character is 1en, so two makes it 1em.
-% Furthermore, these definitions must come after we define our fonts.
-\newbox\dblarrowbox \newbox\longdblarrowbox
-\newbox\pushcharbox \newbox\bullbox
-\newbox\equivbox \newbox\errorbox
-
-%{\tentt
-%\global\setbox\dblarrowbox = \hbox to 1em{\hfil$\Rightarrow$\hfil}
-%\global\setbox\longdblarrowbox = \hbox to 1em{\hfil$\mapsto$\hfil}
-%\global\setbox\pushcharbox = \hbox to 1em{\hfil$\dashv$\hfil}
-%\global\setbox\equivbox = \hbox to 1em{\hfil$\ptexequiv$\hfil}
-% Adapted from the manmac format (p.420 of TeXbook)
-%\global\setbox\bullbox = \hbox to 1em{\kern.15em\vrule height .75ex width .85ex
-% depth .1ex\hfil}
-%}
-
-% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
-\def\point{$\star$}
-\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
-\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
-\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
-\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
-
-% Adapted from the TeXbook's \boxit.
-{\tentt \global\dimen0 = 3em}% Width of the box.
-\dimen2 = .55pt % Thickness of rules
-% The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt}
-
-\global\setbox\errorbox=\hbox to \dimen0{\hfil
- \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
- \advance\hsize by -2\dimen2 % Rules.
- \vbox{
- \hrule height\dimen2
- \hbox{\vrule width\dimen2 \kern3pt % Space to left of text.
- \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
- \kern3pt\vrule width\dimen2}% Space to right.
- \hrule height\dimen2}
- \hfil}
-
-% The @error{} command.
-\def\error{\leavevmode\lower.7ex\copy\errorbox}
-
-% @tex ... @end tex escapes into raw Tex temporarily.
-% One exception: @ is still an escape character, so that @end tex works.
-% But \@ or @@ will get a plain tex @ character.
-
-\def\tex{\begingroup
- \catcode `\\=0 \catcode `\{=1 \catcode `\}=2
- \catcode `\$=3 \catcode `\&=4 \catcode `\#=6
- \catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie
- \catcode `\%=14
- \catcode 43=12 % plus
- \catcode`\"=12
- \catcode`\==12
- \catcode`\|=12
- \catcode`\<=12
- \catcode`\>=12
- \escapechar=`\\
- %
- \let\b=\ptexb
- \let\bullet=\ptexbullet
- \let\c=\ptexc
- \let\,=\ptexcomma
- \let\.=\ptexdot
- \let\dots=\ptexdots
- \let\equiv=\ptexequiv
- \let\!=\ptexexclam
- \let\i=\ptexi
- \let\{=\ptexlbrace
- \let\+=\tabalign
- \let\}=\ptexrbrace
- \let\*=\ptexstar
- \let\t=\ptext
- %
- \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
- \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
- \def\@{@}%
-\let\Etex=\endgroup}
-
-% Define @lisp ... @endlisp.
-% @lisp does a \begingroup so it can rebind things,
-% including the definition of @endlisp (which normally is erroneous).
-
-% Amount to narrow the margins by for @lisp.
-\newskip\lispnarrowing \lispnarrowing=0.4in
-
-% This is the definition that ^^M gets inside @lisp, @example, and other
-% such environments. \null is better than a space, since it doesn't
-% have any width.
-\def\lisppar{\null\endgraf}
-
-% Make each space character in the input produce a normal interword
-% space in the output. Don't allow a line break at this space, as this
-% is used only in environments like @example, where each line of input
-% should produce a line of output anyway.
-%
-{\obeyspaces %
-\gdef\sepspaces{\obeyspaces\let =\tie}}
-
-% Define \obeyedspace to be our active space, whatever it is. This is
-% for use in \parsearg.
-{\sepspaces%
-\global\let\obeyedspace= }
-
-% This space is always present above and below environments.
-\newskip\envskipamount \envskipamount = 0pt
-
-% Make spacing and below environment symmetrical. We use \parskip here
-% to help in doing that, since in @example-like environments \parskip
-% is reset to zero; thus the \afterenvbreak inserts no space -- but the
-% start of the next paragraph will insert \parskip
-%
-\def\aboveenvbreak{{\advance\envskipamount by \parskip
-\endgraf \ifdim\lastskip<\envskipamount
-\removelastskip \penalty-50 \vskip\envskipamount \fi}}
-
-\let\afterenvbreak = \aboveenvbreak
-
-% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins.
-\let\nonarrowing=\relax
-
-% @cartouche ... @end cartouche: draw rectangle w/rounded corners around
-% environment contents.
-\font\circle=lcircle10
-\newdimen\circthick
-\newdimen\cartouter\newdimen\cartinner
-\newskip\normbskip\newskip\normpskip\newskip\normlskip
-\circthick=\fontdimen8\circle
-%
-\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth
-\def\ctr{{\hskip 6pt\circle\char'010}}
-\def\cbl{{\circle\char'012\hskip -6pt}}
-\def\cbr{{\hskip 6pt\circle\char'011}}
-\def\carttop{\hbox to \cartouter{\hskip\lskip
- \ctl\leaders\hrule height\circthick\hfil\ctr
- \hskip\rskip}}
-\def\cartbot{\hbox to \cartouter{\hskip\lskip
- \cbl\leaders\hrule height\circthick\hfil\cbr
- \hskip\rskip}}
-%
-\newskip\lskip\newskip\rskip
-
-\long\def\cartouche{%
-\begingroup
- \lskip=\leftskip \rskip=\rightskip
- \leftskip=0pt\rightskip=0pt %we want these *outside*.
- \cartinner=\hsize \advance\cartinner by-\lskip
- \advance\cartinner by-\rskip
- \cartouter=\hsize
- \advance\cartouter by 18.4pt % allow for 3pt kerns on either
-% side, and for 6pt waste from
-% each corner char, and rule thickness
- \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
- % Flag to tell @lisp, etc., not to narrow margin.
- \let\nonarrowing=\comment
- \vbox\bgroup
- \baselineskip=0pt\parskip=0pt\lineskip=0pt
- \carttop
- \hbox\bgroup
- \hskip\lskip
- \vrule\kern3pt
- \vbox\bgroup
- \hsize=\cartinner
- \kern3pt
- \begingroup
- \baselineskip=\normbskip
- \lineskip=\normlskip
- \parskip=\normpskip
- \vskip -\parskip
-\def\Ecartouche{%
- \endgroup
- \kern3pt
- \egroup
- \kern3pt\vrule
- \hskip\rskip
- \egroup
- \cartbot
- \egroup
-\endgroup
-}}
-
-
-% This macro is called at the beginning of all the @example variants,
-% inside a group.
-\def\nonfillstart{%
- \aboveenvbreak
- \inENV % This group ends at the end of the body
- \hfuzz = 12pt % Don't be fussy
- \sepspaces % Make spaces be word-separators rather than space tokens.
- \singlespace
- \let\par = \lisppar % don't ignore blank lines
- \obeylines % each line of input is a line of output
- \parskip = 0pt
- \parindent = 0pt
- \emergencystretch = 0pt % don't try to avoid overfull boxes
- % @cartouche defines \nonarrowing to inhibit narrowing
- % at next level down.
- \ifx\nonarrowing\relax
- \advance \leftskip by \lispnarrowing
- \exdentamount=\lispnarrowing
- \let\exdent=\nofillexdent
- \let\nonarrowing=\relax
- \fi
-}
-
-% Define the \E... control sequence only if we are inside the particular
-% environment, so the error checking in \end will work.
-%
-% To end an @example-like environment, we first end the paragraph (via
-% \afterenvbreak's vertical glue), and then the group. That way we keep
-% the zero \parskip that the environments set -- \parskip glue will be
-% inserted at the beginning of the next paragraph in the document, after
-% the environment.
-%
-\def\nonfillfinish{\afterenvbreak\endgroup}
-
-% @lisp: indented, narrowed, typewriter font.
-\def\lisp{\begingroup
- \nonfillstart
- \let\Elisp = \nonfillfinish
- \tt
- \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
- \gobble % eat return
-}
-
-% @example: Same as @lisp.
-\def\example{\begingroup \def\Eexample{\nonfillfinish\endgroup}\lisp}
-
-% @small... is usually equivalent to the non-small (@smallbook
-% redefines). We must call \example (or whatever) last in the
-% definition, since it reads the return following the @example (or
-% whatever) command.
-%
-% This actually allows (for example) @end display inside an
-% @smalldisplay. Too bad, but makeinfo will catch the error anyway.
-%
-\def\smalldisplay{\begingroup\def\Esmalldisplay{\nonfillfinish\endgroup}\display}
-\def\smallexample{\begingroup\def\Esmallexample{\nonfillfinish\endgroup}\lisp}
-\def\smallformat{\begingroup\def\Esmallformat{\nonfillfinish\endgroup}\format}
-\def\smalllisp{\begingroup\def\Esmalllisp{\nonfillfinish\endgroup}\lisp}
-
-% Real @smallexample and @smalllisp (when @smallbook): use smaller fonts.
-% Originally contributed by Pavel@xerox.
-\def\smalllispx{\begingroup
- \def\Esmalllisp{\nonfillfinish\endgroup}%
- \def\Esmallexample{\nonfillfinish\endgroup}%
- \indexfonts
- \lisp
-}
-
-% @display: same as @lisp except keep current font.
-%
-\def\display{\begingroup
- \nonfillstart
- \let\Edisplay = \nonfillfinish
- \gobble
-}
-
-% @smalldisplay (when @smallbook): @display plus smaller fonts.
-%
-\def\smalldisplayx{\begingroup
- \def\Esmalldisplay{\nonfillfinish\endgroup}%
- \indexfonts \rm
- \display
-}
-
-% @format: same as @display except don't narrow margins.
-%
-\def\format{\begingroup
- \let\nonarrowing = t
- \nonfillstart
- \let\Eformat = \nonfillfinish
- \gobble
-}
-
-% @smallformat (when @smallbook): @format plus smaller fonts.
-%
-\def\smallformatx{\begingroup
- \def\Esmallformat{\nonfillfinish\endgroup}%
- \indexfonts \rm
- \format
-}
-
-% @flushleft (same as @format).
-%
-\def\flushleft{\begingroup \def\Eflushleft{\nonfillfinish\endgroup}\format}
-
-% @flushright.
-%
-\def\flushright{\begingroup
- \let\nonarrowing = t
- \nonfillstart
- \let\Eflushright = \nonfillfinish
- \advance\leftskip by 0pt plus 1fill
- \gobble
-}
-
-% @quotation does normal linebreaking (hence we can't use \nonfillstart)
-% and narrows the margins.
-%
-\def\quotation{%
- \begingroup\inENV %This group ends at the end of the @quotation body
- {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
- \singlespace
- \parindent=0pt
- % We have retained a nonzero parskip for the environment, since we're
- % doing normal filling. So to avoid extra space below the environment...
- \def\Equotation{\parskip = 0pt \nonfillfinish}%
- %
- % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
- \ifx\nonarrowing\relax
- \advance\leftskip by \lispnarrowing
- \advance\rightskip by \lispnarrowing
- \exdentamount = \lispnarrowing
- \let\nonarrowing = \relax
- \fi
-}
-
-
-\message{defuns,}
-% @defun etc.
-
-% Allow user to change definition object font (\df) internally
-\def\setdeffont #1 {\csname DEF#1\endcsname}
-
-\newskip\defbodyindent \defbodyindent=.4in
-\newskip\defargsindent \defargsindent=50pt
-\newskip\deftypemargin \deftypemargin=12pt
-\newskip\deflastargmargin \deflastargmargin=18pt
-
-\newcount\parencount
-% define \functionparens, which makes ( and ) and & do special things.
-% \functionparens affects the group it is contained in.
-\def\activeparens{%
-\catcode`\(=\active \catcode`\)=\active \catcode`\&=\active
-\catcode`\[=\active \catcode`\]=\active}
-
-% Make control sequences which act like normal parenthesis chars.
-\let\lparen = ( \let\rparen = )
-
-{\activeparens % Now, smart parens don't turn on until &foo (see \amprm)
-
-% Be sure that we always have a definition for `(', etc. For example,
-% if the fn name has parens in it, \boldbrax will not be in effect yet,
-% so TeX would otherwise complain about undefined control sequence.
-\global\let(=\lparen \global\let)=\rparen
-\global\let[=\lbrack \global\let]=\rbrack
-
-\gdef\functionparens{\boldbrax\let&=\amprm\parencount=0 }
-\gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
-% This is used to turn on special parens
-% but make & act ordinary (given that it's active).
-\gdef\boldbraxnoamp{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb\let&=\ampnr}
-
-% Definitions of (, ) and & used in args for functions.
-% This is the definition of ( outside of all parentheses.
-\gdef\oprm#1 {{\rm\char`\(}#1 \bf \let(=\opnested
- \global\advance\parencount by 1
-}
-%
-% This is the definition of ( when already inside a level of parens.
-\gdef\opnested{\char`\(\global\advance\parencount by 1 }
-%
-\gdef\clrm{% Print a paren in roman if it is taking us back to depth of 0.
- % also in that case restore the outer-level definition of (.
- \ifnum \parencount=1 {\rm \char `\)}\sl \let(=\oprm \else \char `\) \fi
- \global\advance \parencount by -1 }
-% If we encounter &foo, then turn on ()-hacking afterwards
-\gdef\amprm#1 {{\rm\&#1}\let(=\oprm \let)=\clrm\ }
-%
-\gdef\normalparens{\boldbrax\let&=\ampnr}
-} % End of definition inside \activeparens
-%% These parens (in \boldbrax) actually are a little bolder than the
-%% contained text. This is especially needed for [ and ]
-\def\opnr{{\sf\char`\(}\global\advance\parencount by 1 }
-\def\clnr{{\sf\char`\)}\global\advance\parencount by -1 }
-\let\ampnr = \&
-\def\lbrb{{\bf\char`\[}}
-\def\rbrb{{\bf\char`\]}}
-
-% Active &'s sneak into the index arguments, so make sure it's defined.
-{
- \catcode`& = 13
- \global\let& = \ampnr
-}
-
-% First, defname, which formats the header line itself.
-% #1 should be the function name.
-% #2 should be the type of definition, such as "Function".
-
-\def\defname #1#2{%
-% Get the values of \leftskip and \rightskip as they were
-% outside the @def...
-\dimen2=\leftskip
-\advance\dimen2 by -\defbodyindent
-\noindent
-\setbox0=\hbox{\hskip \deflastargmargin{\rm #2}\hskip \deftypemargin}%
-\dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line
-\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations
-\parshape 2 0in \dimen0 \defargsindent \dimen1
-% Now output arg 2 ("Function" or some such)
-% ending at \deftypemargin from the right margin,
-% but stuck inside a box of width 0 so it does not interfere with linebreaking
-{% Adjust \hsize to exclude the ambient margins,
-% so that \rightline will obey them.
-\advance \hsize by -\dimen2
-\rlap{\rightline{{\rm #2}\hskip -1.25pc }}}%
-% Make all lines underfull and no complaints:
-\tolerance=10000 \hbadness=10000
-\advance\leftskip by -\defbodyindent
-\exdentamount=\defbodyindent
-{\df #1}\enskip % Generate function name
-}
-
-% Actually process the body of a definition
-% #1 should be the terminating control sequence, such as \Edefun.
-% #2 should be the "another name" control sequence, such as \defunx.
-% #3 should be the control sequence that actually processes the header,
-% such as \defunheader.
-
-\def\defparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2{\begingroup\obeylines\activeparens\spacesplit#3}%
-\parindent=0in
-\advance\leftskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup %
-\catcode 61=\active % 61 is `='
-\obeylines\activeparens\spacesplit#3}
-
-% #1 is the \E... control sequence to end the definition (which we define).
-% #2 is the \...x control sequence for consecutive fns (which we define).
-% #3 is the control sequence to call to resume processing.
-% #4, delimited by the space, is the class name.
-%
-\def\defmethparsebody#1#2#3#4 {\begingroup\inENV %
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}%
-\parindent=0in
-\advance\leftskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup\obeylines\activeparens\spacesplit{#3{#4}}}
-
-% @deftypemethod has an extra argument that nothing else does. Sigh.
-% #1 is the \E... control sequence to end the definition (which we define).
-% #2 is the \...x control sequence for consecutive fns (which we define).
-% #3 is the control sequence to call to resume processing.
-% #4, delimited by the space, is the class name.
-% #5 is the method's return type.
-%
-\def\deftypemethparsebody#1#2#3#4 #5 {\begingroup\inENV %
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}%
-\parindent=0in
-\advance\leftskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup\obeylines\activeparens\spacesplit{#3{#4}{#5}}}
-
-\def\defopparsebody #1#2#3#4#5 {\begingroup\inENV %
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2##1 ##2 {\def#4{##1}%
-\begingroup\obeylines\activeparens\spacesplit{#3{##2}}}%
-\parindent=0in
-\advance\leftskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup\obeylines\activeparens\spacesplit{#3{#5}}}
-
-% These parsing functions are similar to the preceding ones
-% except that they do not make parens into active characters.
-% These are used for "variables" since they have no arguments.
-
-\def\defvarparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2{\begingroup\obeylines\spacesplit#3}%
-\parindent=0in
-\advance\leftskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup %
-\catcode 61=\active %
-\obeylines\spacesplit#3}
-
-% This is used for \def{tp,vr}parsebody. It could probably be used for
-% some of the others, too, with some judicious conditionals.
-%
-\def\parsebodycommon#1#2#3{%
- \begingroup\inENV %
- \medbreak %
- % Define the end token that this defining construct specifies
- % so that it will exit this group.
- \def#1{\endgraf\endgroup\medbreak}%
- \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}%
- \parindent=0in
- \advance\leftskip by \defbodyindent
- \exdentamount=\defbodyindent
- \begingroup\obeylines
-}
-
-\def\defvrparsebody#1#2#3#4 {%
- \parsebodycommon{#1}{#2}{#3}%
- \spacesplit{#3{#4}}%
-}
-
-% This loses on `@deftp {Data Type} {struct termios}' -- it thinks the
-% type is just `struct', because we lose the braces in `{struct
-% termios}' when \spacesplit reads its undelimited argument. Sigh.
-% \let\deftpparsebody=\defvrparsebody
-%
-% So, to get around this, we put \empty in with the type name. That
-% way, TeX won't find exactly `{...}' as an undelimited argument, and
-% won't strip off the braces.
-%
-\def\deftpparsebody #1#2#3#4 {%
- \parsebodycommon{#1}{#2}{#3}%
- \spacesplit{\parsetpheaderline{#3{#4}}}\empty
-}
-
-% Fine, but then we have to eventually remove the \empty *and* the
-% braces (if any). That's what this does.
-%
-\def\removeemptybraces\empty#1\relax{#1}
-
-% After \spacesplit has done its work, this is called -- #1 is the final
-% thing to call, #2 the type name (which starts with \empty), and #3
-% (which might be empty) the arguments.
-%
-\def\parsetpheaderline#1#2#3{%
- #1{\removeemptybraces#2\relax}{#3}%
-}%
-
-\def\defopvarparsebody #1#2#3#4#5 {\begingroup\inENV %
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2##1 ##2 {\def#4{##1}%
-\begingroup\obeylines\spacesplit{#3{##2}}}%
-\parindent=0in
-\advance\leftskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup\obeylines\spacesplit{#3{#5}}}
-
-% Split up #2 at the first space token.
-% call #1 with two arguments:
-% the first is all of #2 before the space token,
-% the second is all of #2 after that space token.
-% If #2 contains no space token, all of it is passed as the first arg
-% and the second is passed as empty.
-
-{\obeylines
-\gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}%
-\long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{%
-\ifx\relax #3%
-#1{#2}{}\else #1{#2}{#3#4}\fi}}
-
-% So much for the things common to all kinds of definitions.
-
-% Define @defun.
-
-% First, define the processing that is wanted for arguments of \defun
-% Use this to expand the args and terminate the paragraph they make up
-
-\def\defunargs#1{\functionparens \sl
-% Expand, preventing hyphenation at `-' chars.
-% Note that groups don't affect changes in \hyphenchar.
-% Set the font temporarily and use \font in case \setfont made \tensl a macro.
-{\tensl\hyphenchar\font=0}%
-#1%
-{\tensl\hyphenchar\font=45}%
-\ifnum\parencount=0 \else \errmessage{Unbalanced parentheses in @def}\fi%
-\interlinepenalty=10000
-\advance\rightskip by 0pt plus 1fil
-\endgraf\nobreak\vskip -\parskip\nobreak
-}
-
-\def\deftypefunargs #1{%
-% Expand, preventing hyphenation at `-' chars.
-% Note that groups don't affect changes in \hyphenchar.
-% Use \boldbraxnoamp, not \functionparens, so that & is not special.
-\boldbraxnoamp
-\tclose{#1}% avoid \code because of side effects on active chars
-\interlinepenalty=10000
-\advance\rightskip by 0pt plus 1fil
-\endgraf\nobreak\vskip -\parskip\nobreak
-}
-
-% Do complete processing of one @defun or @defunx line already parsed.
-
-% @deffn Command forward-char nchars
-
-\def\deffn{\defmethparsebody\Edeffn\deffnx\deffnheader}
-
-\def\deffnheader #1#2#3{\doind {fn}{\code{#2}}%
-\begingroup\defname {#2}{#1}\defunargs{#3}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% @defun == @deffn Function
-
-\def\defun{\defparsebody\Edefun\defunx\defunheader}
-
-\def\defunheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{\putwordDeffunc}%
-\defunargs {#2}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% @deftypefun int foobar (int @var{foo}, float @var{bar})
-
-\def\deftypefun{\defparsebody\Edeftypefun\deftypefunx\deftypefunheader}
-
-% #1 is the data type. #2 is the name and args.
-\def\deftypefunheader #1#2{\deftypefunheaderx{#1}#2 \relax}
-% #1 is the data type, #2 the name, #3 the args.
-\def\deftypefunheaderx #1#2 #3\relax{%
-\doind {fn}{\code{#2}}% Make entry in function index
-\begingroup\defname {\defheaderxcond#1\relax$$$#2}{\putwordDeftypefun}%
-\deftypefunargs {#3}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% @deftypefn {Library Function} int foobar (int @var{foo}, float @var{bar})
-
-\def\deftypefn{\defmethparsebody\Edeftypefn\deftypefnx\deftypefnheader}
-
-% \defheaderxcond#1\relax$$$
-% puts #1 in @code, followed by a space, but does nothing if #1 is null.
-\def\defheaderxcond#1#2$$${\ifx#1\relax\else\code{#1#2} \fi}
-
-% #1 is the classification. #2 is the data type. #3 is the name and args.
-\def\deftypefnheader #1#2#3{\deftypefnheaderx{#1}{#2}#3 \relax}
-% #1 is the classification, #2 the data type, #3 the name, #4 the args.
-\def\deftypefnheaderx #1#2#3 #4\relax{%
-\doind {fn}{\code{#3}}% Make entry in function index
-\begingroup
-\normalparens % notably, turn off `&' magic, which prevents
-% at least some C++ text from working
-\defname {\defheaderxcond#2\relax$$$#3}{#1}%
-\deftypefunargs {#4}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% @defmac == @deffn Macro
-
-\def\defmac{\defparsebody\Edefmac\defmacx\defmacheader}
-
-\def\defmacheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{\putwordDefmac}%
-\defunargs {#2}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% @defspec == @deffn Special Form
-
-\def\defspec{\defparsebody\Edefspec\defspecx\defspecheader}
-
-\def\defspecheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{\putwordDefspec}%
-\defunargs {#2}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% @defop CATEGORY CLASS OPERATION ARG...
-%
-\def\defop #1 {\def\defoptype{#1}%
-\defopparsebody\Edefop\defopx\defopheader\defoptype}
-%
-\def\defopheader #1#2#3{%
-\dosubind {fn}{\code{#2}}{\putwordon\ #1}% Make entry in function index
-\begingroup\defname {#2}{\defoptype\ \putwordon\ #1}%
-\defunargs {#3}\endgroup %
-}
-
-% @deftypemethod CLASS RETURN-TYPE METHOD ARG...
-%
-\def\deftypemethod{%
- \deftypemethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader}
-%
-% #1 is the class name, #2 the data type, #3 the method name, #4 the args.
-\def\deftypemethodheader#1#2#3#4{%
- \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index
- \begingroup
- \defname{\defheaderxcond#2\relax$$$#3}{\putwordMethodon\ \code{#1}}%
- \deftypefunargs{#4}%
- \endgroup
-}
-
-% @deftypeivar CLASS TYPE VARNAME
-%
-\def\deftypeivar{%
- \deftypemethparsebody\Edeftypeivar\deftypeivarx\deftypeivarheader}
-%
-% #1 is the class name, #2 the data type, #3 the variable name.
-\def\deftypeivarheader#1#2#3{%
- \dosubind{vr}{\code{#3}}{\putwordof\ \code{#1}}% entry in variable index
- \begingroup
- \defname{#3}{\putwordInstanceVariableof\ \code{#1}}%
- \defvarargs{#3}%
- \endgroup
-}
-
-% @defmethod == @defop Method
-%
-\def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader}
-%
-% #1 is the class name, #2 the method name, #3 the args.
-\def\defmethodheader#1#2#3{%
- \dosubind{fn}{\code{#2}}{\putwordon\ \code{#1}}% entry in function index
- \begingroup
- \defname{#2}{\putwordMethodon\ \code{#1}}%
- \defunargs{#3}%
- \endgroup
-}
-
-% @defcv {Class Option} foo-class foo-flag
-
-\def\defcv #1 {\def\defcvtype{#1}%
-\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}
-
-\def\defcvarheader #1#2#3{%
-\dosubind {vr}{\code{#2}}{\putwordof\ #1}% Make entry in var index
-\begingroup\defname {#2}{\defcvtype\ \putwordof\ #1}%
-\defvarargs {#3}\endgroup %
-}
-
-% @defivar CLASS VARNAME == @defcv {Instance Variable} CLASS VARNAME
-%
-\def\defivar{\defvrparsebody\Edefivar\defivarx\defivarheader}
-%
-\def\defivarheader#1#2#3{%
- \dosubind {vr}{\code{#2}}{\putwordof\ #1}% entry in var index
- \begingroup
- \defname{#2}{\putwordInstanceVariableof\ #1}%
- \defvarargs{#3}%
- \endgroup
-}
-
-% @defvar
-% First, define the processing that is wanted for arguments of @defvar.
-% This is actually simple: just print them in roman.
-% This must expand the args and terminate the paragraph they make up
-\def\defvarargs #1{\normalparens #1%
-\interlinepenalty=10000
-\endgraf\nobreak\vskip -\parskip\nobreak}
-
-% @defvr Counter foo-count
-
-\def\defvr{\defvrparsebody\Edefvr\defvrx\defvrheader}
-
-\def\defvrheader #1#2#3{\doind {vr}{\code{#2}}%
-\begingroup\defname {#2}{#1}\defvarargs{#3}\endgroup}
-
-% @defvar == @defvr Variable
-
-\def\defvar{\defvarparsebody\Edefvar\defvarx\defvarheader}
-
-\def\defvarheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
-\begingroup\defname {#1}{\putwordDefvar}%
-\defvarargs {#2}\endgroup %
-}
-
-% @defopt == @defvr {User Option}
-
-\def\defopt{\defvarparsebody\Edefopt\defoptx\defoptheader}
-
-\def\defoptheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
-\begingroup\defname {#1}{\putwordDefopt}%
-\defvarargs {#2}\endgroup %
-}
-
-% @deftypevar int foobar
-
-\def\deftypevar{\defvarparsebody\Edeftypevar\deftypevarx\deftypevarheader}
-
-% #1 is the data type. #2 is the name, perhaps followed by text that
-% is actually part of the data type, which should not be put into the index.
-\def\deftypevarheader #1#2{%
-\dovarind#2 \relax% Make entry in variables index
-\begingroup\defname {\defheaderxcond#1\relax$$$#2}{\putwordDeftypevar}%
-\interlinepenalty=10000
-\endgraf\nobreak\vskip -\parskip\nobreak
-\endgroup}
-\def\dovarind#1 #2\relax{\doind{vr}{\code{#1}}}
-
-% @deftypevr {Global Flag} int enable
-
-\def\deftypevr{\defvrparsebody\Edeftypevr\deftypevrx\deftypevrheader}
-
-\def\deftypevrheader #1#2#3{\dovarind#3 \relax%
-\begingroup\defname {\defheaderxcond#2\relax$$$#3}{#1}
-\interlinepenalty=10000
-\endgraf\nobreak\vskip -\parskip\nobreak
-\endgroup}
-
-% Now define @deftp
-% Args are printed in bold, a slight difference from @defvar.
-
-\def\deftpargs #1{\bf \defvarargs{#1}}
-
-% @deftp Class window height width ...
-
-\def\deftp{\deftpparsebody\Edeftp\deftpx\deftpheader}
-
-\def\deftpheader #1#2#3{\doind {tp}{\code{#2}}%
-\begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup}
-
-% These definitions are used if you use @defunx (etc.)
-% anywhere other than immediately after a @defun or @defunx.
-%
-\def\defcvx#1 {\errmessage{@defcvx in invalid context}}
-\def\deffnx#1 {\errmessage{@deffnx in invalid context}}
-\def\defivarx#1 {\errmessage{@defivarx in invalid context}}
-\def\defmacx#1 {\errmessage{@defmacx in invalid context}}
-\def\defmethodx#1 {\errmessage{@defmethodx in invalid context}}
-\def\defoptx #1 {\errmessage{@defoptx in invalid context}}
-\def\defopx#1 {\errmessage{@defopx in invalid context}}
-\def\defspecx#1 {\errmessage{@defspecx in invalid context}}
-\def\deftpx#1 {\errmessage{@deftpx in invalid context}}
-\def\deftypefnx#1 {\errmessage{@deftypefnx in invalid context}}
-\def\deftypefunx#1 {\errmessage{@deftypefunx in invalid context}}
-\def\deftypeivarx#1 {\errmessage{@deftypeivarx in invalid context}}
-\def\deftypemethodx#1 {\errmessage{@deftypemethodx in invalid context}}
-\def\deftypevarx#1 {\errmessage{@deftypevarx in invalid context}}
-\def\deftypevrx#1 {\errmessage{@deftypevrx in invalid context}}
-\def\defunx#1 {\errmessage{@defunx in invalid context}}
-\def\defvarx#1 {\errmessage{@defvarx in invalid context}}
-\def\defvrx#1 {\errmessage{@defvrx in invalid context}}
-
-
-\message{macros,}
-% @macro.
-
-% To do this right we need a feature of e-TeX, \scantokens,
-% which we arrange to emulate with a temporary file in ordinary TeX.
-\ifx\eTeXversion\undefined
- \newwrite\macscribble
- \def\scanmacro#1{%
- \begingroup \newlinechar`\^^M
- % Undo catcode changes of \startcontents and \doprintindex
- \catcode`\@=0 \catcode`\\=12 \escapechar=`\@
- % Append \endinput to make sure that TeX does not see the ending newline.
- \toks0={#1\endinput}%
- \immediate\openout\macscribble=\jobname.tmp
- \immediate\write\macscribble{\the\toks0}%
- \immediate\closeout\macscribble
- \let\xeatspaces\eatspaces
- \input \jobname.tmp
- \endgroup
-}
-\else
-\def\scanmacro#1{%
-\begingroup \newlinechar`\^^M
-% Undo catcode changes of \startcontents and \doprintindex
-\catcode`\@=0 \catcode`\\=12 \escapechar=`\@
-\let\xeatspaces\eatspaces\scantokens{#1\endinput}\endgroup}
-\fi
-
-\newcount\paramno % Count of parameters
-\newtoks\macname % Macro name
-\newif\ifrecursive % Is it recursive?
-\def\macrolist{} % List of all defined macros in the form
- % \do\macro1\do\macro2...
-
-% Utility routines.
-% Thisdoes \let #1 = #2, except with \csnames.
-\def\cslet#1#2{%
-\expandafter\expandafter
-\expandafter\let
-\expandafter\expandafter
-\csname#1\endcsname
-\csname#2\endcsname}
-
-% Trim leading and trailing spaces off a string.
-% Concepts from aro-bend problem 15 (see CTAN).
-{\catcode`\@=11
-\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }}
-\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@}
-\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}
-\def\unbrace#1{#1}
-\unbrace{\gdef\trim@@@ #1 } #2@{#1}
-}
-
-% Trim a single trailing ^^M off a string.
-{\catcode`\^^M=12\catcode`\Q=3%
-\gdef\eatcr #1{\eatcra #1Q^^MQ}%
-\gdef\eatcra#1^^MQ{\eatcrb#1Q}%
-\gdef\eatcrb#1Q#2Q{#1}%
-}
-
-% Macro bodies are absorbed as an argument in a context where
-% all characters are catcode 10, 11 or 12, except \ which is active
-% (as in normal texinfo). It is necessary to change the definition of \.
-
-% It's necessary to have hard CRs when the macro is executed. This is
-% done by making ^^M (\endlinechar) catcode 12 when reading the macro
-% body, and then making it the \newlinechar in \scanmacro.
-
-\def\macrobodyctxt{%
- \catcode`\~=12
- \catcode`\^=12
- \catcode`\_=12
- \catcode`\|=12
- \catcode`\<=12
- \catcode`\>=12
- \catcode`\+=12
- \catcode`\{=12
- \catcode`\}=12
- \catcode`\@=12
- \catcode`\^^M=12
- \usembodybackslash}
-
-\def\macroargctxt{%
- \catcode`\~=12
- \catcode`\^=12
- \catcode`\_=12
- \catcode`\|=12
- \catcode`\<=12
- \catcode`\>=12
- \catcode`\+=12
- \catcode`\@=12
- \catcode`\\=12}
-
-% \mbodybackslash is the definition of \ in @macro bodies.
-% It maps \foo\ => \csname macarg.foo\endcsname => #N
-% where N is the macro parameter number.
-% We define \csname macarg.\endcsname to be \realbackslash, so
-% \\ in macro replacement text gets you a backslash.
-
-{\catcode`@=0 @catcode`@\=@active
- @gdef@usembodybackslash{@let\=@mbodybackslash}
- @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname}
-}
-\expandafter\def\csname macarg.\endcsname{\realbackslash}
-
-\def\macro{\recursivefalse\parsearg\macroxxx}
-\def\rmacro{\recursivetrue\parsearg\macroxxx}
-
-\def\macroxxx#1{%
- \getargs{#1}% now \macname is the macname and \argl the arglist
- \ifx\argl\empty % no arguments
- \paramno=0%
- \else
- \expandafter\parsemargdef \argl;%
- \fi
- \if1\csname ismacro.\the\macname\endcsname
- \message{Warning: redefining \the\macname}%
- \else
- \expandafter\ifx\csname \the\macname\endcsname \relax
- \else \errmessage{The name \the\macname\space is reserved}\fi
- \global\cslet{macsave.\the\macname}{\the\macname}%
- \global\expandafter\let\csname ismacro.\the\macname\endcsname=1%
- % Add the macroname to \macrolist
- \toks0 = \expandafter{\macrolist\do}%
- \xdef\macrolist{\the\toks0
- \expandafter\noexpand\csname\the\macname\endcsname}%
- \fi
- \begingroup \macrobodyctxt
- \ifrecursive \expandafter\parsermacbody
- \else \expandafter\parsemacbody
- \fi}
-
-\def\unmacro{\parsearg\unmacroxxx}
-\def\unmacroxxx#1{%
- \if1\csname ismacro.#1\endcsname
- \global\cslet{#1}{macsave.#1}%
- \global\expandafter\let \csname ismacro.#1\endcsname=0%
- % Remove the macro name from \macrolist
- \begingroup
- \edef\tempa{\expandafter\noexpand\csname#1\endcsname}%
- \def\do##1{%
- \def\tempb{##1}%
- \ifx\tempa\tempb
- % remove this
- \else
- \toks0 = \expandafter{\newmacrolist\do}%
- \edef\newmacrolist{\the\toks0\expandafter\noexpand\tempa}%
- \fi}%
- \def\newmacrolist{}%
- % Execute macro list to define \newmacrolist
- \macrolist
- \global\let\macrolist\newmacrolist
- \endgroup
- \else
- \errmessage{Macro #1 not defined}%
- \fi
-}
-
-% This makes use of the obscure feature that if the last token of a
-% <parameter list> is #, then the preceding argument is delimited by
-% an opening brace, and that opening brace is not consumed.
-\def\getargs#1{\getargsxxx#1{}}
-\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
-\def\getmacname #1 #2\relax{\macname={#1}}
-\def\getmacargs#1{\def\argl{#1}}
-
-% Parse the optional {params} list. Set up \paramno and \paramlist
-% so \defmacro knows what to do. Define \macarg.blah for each blah
-% in the params list, to be ##N where N is the position in that list.
-% That gets used by \mbodybackslash (above).
-
-% We need to get `macro parameter char #' into several definitions.
-% The technique used is stolen from LaTeX: let \hash be something
-% unexpandable, insert that wherever you need a #, and then redefine
-% it to # just before using the token list produced.
-%
-% The same technique is used to protect \eatspaces till just before
-% the macro is used.
-
-\def\parsemargdef#1;{\paramno=0\def\paramlist{}%
- \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,}
-\def\parsemargdefxxx#1,{%
- \if#1;\let\next=\relax
- \else \let\next=\parsemargdefxxx
- \advance\paramno by 1%
- \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
- {\xeatspaces{\hash\the\paramno}}%
- \edef\paramlist{\paramlist\hash\the\paramno,}%
- \fi\next}
-
-% These two commands read recursive and nonrecursive macro bodies.
-% (They're different since rec and nonrec macros end differently.)
-
-\long\def\parsemacbody#1@end macro%
-{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-\long\def\parsermacbody#1@end rmacro%
-{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-
-% This defines the macro itself. There are six cases: recursive and
-% nonrecursive macros of zero, one, and many arguments.
-% Much magic with \expandafter here.
-% \xdef is used so that macro definitions will survive the file
-% they're defined in; @include reads the file inside a group.
-\def\defmacro{%
- \let\hash=##% convert placeholders to macro parameter chars
- \ifrecursive
- \ifcase\paramno
- % 0
- \expandafter\xdef\csname\the\macname\endcsname{%
- \noexpand\scanmacro{\temp}}%
- \or % 1
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \noexpand\braceorline
- \expandafter\noexpand\csname\the\macname xxx\endcsname}%
- \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
- \egroup\noexpand\scanmacro{\temp}}%
- \else % many
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \noexpand\csname\the\macname xx\endcsname}%
- \expandafter\xdef\csname\the\macname xx\endcsname##1{%
- \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
- \expandafter\expandafter
- \expandafter\xdef
- \expandafter\expandafter
- \csname\the\macname xxx\endcsname
- \paramlist{\egroup\noexpand\scanmacro{\temp}}%
- \fi
- \else
- \ifcase\paramno
- % 0
- \expandafter\xdef\csname\the\macname\endcsname{%
- \noexpand\norecurse{\the\macname}%
- \noexpand\scanmacro{\temp}\egroup}%
- \or % 1
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \noexpand\braceorline
- \expandafter\noexpand\csname\the\macname xxx\endcsname}%
- \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
- \egroup
- \noexpand\norecurse{\the\macname}%
- \noexpand\scanmacro{\temp}\egroup}%
- \else % many
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \expandafter\noexpand\csname\the\macname xx\endcsname}%
- \expandafter\xdef\csname\the\macname xx\endcsname##1{%
- \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
- \expandafter\expandafter
- \expandafter\xdef
- \expandafter\expandafter
- \csname\the\macname xxx\endcsname
- \paramlist{%
- \egroup
- \noexpand\norecurse{\the\macname}%
- \noexpand\scanmacro{\temp}\egroup}%
- \fi
- \fi}
-
-\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
-
-% \braceorline decides whether the next nonwhitespace character is a
-% {. If so it reads up to the closing }, if not, it reads the whole
-% line. Whatever was read is then fed to the next control sequence
-% as an argument (by \parsebrace or \parsearg)
-\def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx}
-\def\braceorlinexxx{%
- \ifx\nchar\bgroup\else
- \expandafter\parsearg
- \fi \next}
-
-% We mant to disable all macros during \shipout so that they are not
-% expanded by \write.
-\def\turnoffmacros{\begingroup \def\do##1{\let\noexpand##1=\relax}%
- \edef\next{\macrolist}\expandafter\endgroup\next}
-
-
-% @alias.
-\def\alias#1=#2{\gdef#1{#2}}
-
-
-\message{cross references,}
-% @xref etc.
-
-\newwrite\auxfile
-
-\newif\ifhavexrefs % True if xref values are known.
-\newif\ifwarnedxrefs % True if we warned once that they aren't known.
-
-% @inforef is relatively simple.
-\def\inforef #1{\inforefzzz #1,,,,**}
-\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
- node \samp{\ignorespaces#1{}}}
-
-% @node's job is to define \lastnode.
-\def\node{\ENVcheck\parsearg\nodezzz}
-\def\nodezzz#1{\nodexxx [#1,]}
-\def\nodexxx[#1,#2]{\gdef\lastnode{#1}}
-\let\nwnode=\node
-\let\lastnode=\relax
-
-% The sectioning commands (@chapter, etc.) call these.
-\def\donoderef{%
- \ifx\lastnode\relax\else
- \expandafter\expandafter\expandafter\setref{\lastnode}%
- {Ysectionnumberandtype}%
- \global\let\lastnode=\relax
- \fi
-}
-\def\unnumbnoderef{%
- \ifx\lastnode\relax\else
- \expandafter\expandafter\expandafter\setref{\lastnode}{Ynothing}%
- \global\let\lastnode=\relax
- \fi
-}
-\def\appendixnoderef{%
- \ifx\lastnode\relax\else
- \expandafter\expandafter\expandafter\setref{\lastnode}%
- {Yappendixletterandtype}%
- \global\let\lastnode=\relax
- \fi
-}
-
-
-% @anchor{NAME} -- define xref target at arbitrary point.
-%
-{ \catcode`\@ = 11
-% From latex.ltx, to make @anchor truely invisible.
-\newdimen\@savsk
-\newcount\@savsf
-\gdef\@bsphack{\relax
- \ifhmode \@savsk\lastskip \@savsf\spacefactor \fi
-}
-\gdef\@esphack{\relax
- \ifhmode \spacefactor\@savsf
- \ifdim\@savsk>\z@ \ignorespaces \fi
- \fi
-}
-\gdef\anchor#1{\@bsphack \setref{#1}{Ynothing}\@esphack}
-}
-
-% \setref{NAME}{SNT} defines a cross-reference point NAME, namely
-% NAME-title, NAME-pg, and NAME-SNT. Called from \foonoderef. We have
-% to set \indexdummies so commands such as @code in a section title
-% aren't expanded. It would be nicer not to expand the titles in the
-% first place, but there's so many layers that that is hard to do.
-%
-\def\setref#1#2{{%
- \indexdummies
- \ifpdf \pdfmkdest{#1}\fi
- \dosetq{#1-title}{Ytitle}%
- \dosetq{#1-pg}{Ypagenumber}%
- \dosetq{#1-snt}{#2}%
-}}
-
-% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
-% the node name, #2 the name of the Info cross-reference, #3 the printed
-% node name, #4 the name of the Info file, #5 the name of the printed
-% manual. All but the node name can be omitted.
-%
-\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
-\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
-\def\ref#1{\xrefX[#1,,,,,,,]}
-\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
- \def\printedmanual{\ignorespaces #5}%
- \def\printednodename{\ignorespaces #3}%
- \setbox1=\hbox{\printedmanual}%
- \setbox0=\hbox{\printednodename}%
- \ifdim \wd0 = 0pt
- % No printed node name was explicitly given.
- \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax
- % Use the node name inside the square brackets.
- \def\printednodename{\ignorespaces #1}%
- \else
- % Use the actual chapter/section title appear inside
- % the square brackets. Use the real section title if we have it.
- \ifdim \wd1 > 0pt
- % It is in another manual, so we don't have it.
- \def\printednodename{\ignorespaces #1}%
- \else
- \ifhavexrefs
- % We know the real title if we have the xref values.
- \def\printednodename{\refx{#1-title}{}}%
- \else
- % Otherwise just copy the Info node name.
- \def\printednodename{\ignorespaces #1}%
- \fi%
- \fi
- \fi
- \fi
- %
- % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
- % insert empty discretionaries after hyphens, which means that it will
- % not find a line break at a hyphen in a node names. Since some manuals
- % are best written with fairly long node names, containing hyphens, this
- % is a loss. Therefore, we give the text of the node name again, so it
- % is as if TeX is seeing it for the first time.
- \ifpdf
- \leavevmode
- \getfilename{#4}%
- \ifnum\filenamelength>0
- \pdfannotlink attr{/Border [0 0 0]}%
- goto file{\the\filename.pdf} name{#1@}%
- \else
- \pdfannotlink attr{/Border [0 0 0]}%
- goto name{#1@}%
- \fi
- \BlueGreen
- \fi
- %
- \ifdim \wd1 > 0pt
- \putwordsection{} ``\printednodename'' \putwordin{} \cite{\printedmanual}%
- \else
- % _ (for example) has to be the character _ for the purposes of the
- % control sequence corresponding to the node, but it has to expand
- % into the usual \leavevmode...\vrule stuff for purposes of
- % printing. So we \turnoffactive for the \refx-snt, back on for the
- % printing, back off for the \refx-pg.
- {\normalturnoffactive
- % Only output a following space if the -snt ref is nonempty; for
- % @unnumbered and @anchor, it won't be.
- \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
- \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
- }%
- % [mynode],
- [\printednodename],\space
- % page 3
- \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
- \fi
- \ifpdf \Black\pdfendlink \fi
-\endgroup}
-
-% \dosetq is the interface for calls from other macros
-
-% Use \normalturnoffactive so that punctuation chars such as underscore
-% and backslash work in node names. (\turnoffactive doesn't do \.)
-\def\dosetq#1#2{%
- {\let\folio=0%
- \normalturnoffactive
- \edef\next{\write\auxfile{\internalsetq{#1}{#2}}}%
- \iflinks
- \next
- \fi
- }%
-}
-
-% \internalsetq {foo}{page} expands into
-% CHARACTERS 'xrdef {foo}{...expansion of \Ypage...}
-% When the aux file is read, ' is the escape character
-
-\def\internalsetq #1#2{'xrdef {#1}{\csname #2\endcsname}}
-
-% Things to be expanded by \internalsetq
-
-\def\Ypagenumber{\folio}
-
-\def\Ytitle{\thissection}
-
-\def\Ynothing{}
-
-\def\Ysectionnumberandtype{%
-\ifnum\secno=0 \putwordChapter\xreftie\the\chapno %
-\else \ifnum \subsecno=0 \putwordSection\xreftie\the\chapno.\the\secno %
-\else \ifnum \subsubsecno=0 %
-\putwordSection\xreftie\the\chapno.\the\secno.\the\subsecno %
-\else %
-\putwordSection\xreftie\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno %
-\fi \fi \fi }
-
-\def\Yappendixletterandtype{%
-\ifnum\secno=0 \putwordAppendix\xreftie'char\the\appendixno{}%
-\else \ifnum \subsecno=0 \putwordSection\xreftie'char\the\appendixno.\the\secno %
-\else \ifnum \subsubsecno=0 %
-\putwordSection\xreftie'char\the\appendixno.\the\secno.\the\subsecno %
-\else %
-\putwordSection\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %
-\fi \fi \fi }
-
-\gdef\xreftie{'tie}
-
-% Use TeX 3.0's \inputlineno to get the line number, for better error
-% messages, but if we're using an old version of TeX, don't do anything.
-%
-\ifx\inputlineno\thisisundefined
- \let\linenumber = \empty % Non-3.0.
-\else
- \def\linenumber{\the\inputlineno:\space}
-\fi
-
-% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
-% If its value is nonempty, SUFFIX is output afterward.
-
-\def\refx#1#2{%
- \expandafter\ifx\csname X#1\endcsname\relax
- % If not defined, say something at least.
- \angleleft un\-de\-fined\angleright
- \iflinks
- \ifhavexrefs
- \message{\linenumber Undefined cross reference `#1'.}%
- \else
- \ifwarnedxrefs\else
- \global\warnedxrefstrue
- \message{Cross reference values unknown; you must run TeX again.}%
- \fi
- \fi
- \fi
- \else
- % It's defined, so just use it.
- \csname X#1\endcsname
- \fi
- #2% Output the suffix in any case.
-}
-
-% This is the macro invoked by entries in the aux file.
-%
-\def\xrdef#1{\begingroup
- % Reenable \ as an escape while reading the second argument.
- \catcode`\\ = 0
- \afterassignment\endgroup
- \expandafter\gdef\csname X#1\endcsname
-}
-
-% Read the last existing aux file, if any. No error if none exists.
-\def\readauxfile{\begingroup
- \catcode`\^^@=\other
- \catcode`\^^A=\other
- \catcode`\^^B=\other
- \catcode`\^^C=\other
- \catcode`\^^D=\other
- \catcode`\^^E=\other
- \catcode`\^^F=\other
- \catcode`\^^G=\other
- \catcode`\^^H=\other
- \catcode`\^^K=\other
- \catcode`\^^L=\other
- \catcode`\^^N=\other
- \catcode`\^^P=\other
- \catcode`\^^Q=\other
- \catcode`\^^R=\other
- \catcode`\^^S=\other
- \catcode`\^^T=\other
- \catcode`\^^U=\other
- \catcode`\^^V=\other
- \catcode`\^^W=\other
- \catcode`\^^X=\other
- \catcode`\^^Z=\other
- \catcode`\^^[=\other
- \catcode`\^^\=\other
- \catcode`\^^]=\other
- \catcode`\^^^=\other
- \catcode`\^^_=\other
- \catcode`\@=\other
- \catcode`\^=\other
- % It was suggested to define this as 7, which would allow ^^e4 etc.
- % in xref tags, i.e., node names. But since ^^e4 notation isn't
- % supported in the main text, it doesn't seem desirable. Furthermore,
- % that is not enough: for node names that actually contain a ^
- % character, we would end up writing a line like this: 'xrdef {'hat
- % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first
- % argument, and \hat is not an expandable control sequence. It could
- % all be worked out, but why? Either we support ^^ or we don't.
- %
- % The other change necessary for this was to define \auxhat:
- % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter
- % and then to call \auxhat in \setq.
- %
- \catcode`\~=\other
- \catcode`\[=\other
- \catcode`\]=\other
- \catcode`\"=\other
- \catcode`\_=\other
- \catcode`\|=\other
- \catcode`\<=\other
- \catcode`\>=\other
- \catcode`\$=\other
- \catcode`\#=\other
- \catcode`\&=\other
- \catcode`+=\other % avoid \+ for paranoia even though we've turned it off
- % Make the characters 128-255 be printing characters
- {%
- \count 1=128
- \def\loop{%
- \catcode\count 1=\other
- \advance\count 1 by 1
- \ifnum \count 1<256 \loop \fi
- }%
- }%
- % The aux file uses ' as the escape (for now).
- % Turn off \ as an escape so we do not lose on
- % entries which were dumped with control sequences in their names.
- % For example, 'xrdef {$\leq $-fun}{page ...} made by @defun ^^
- % Reference to such entries still does not work the way one would wish,
- % but at least they do not bomb out when the aux file is read in.
- \catcode`\{=1
- \catcode`\}=2
- \catcode`\%=\other
- \catcode`\'=0
- \catcode`\\=\other
- %
- \openin 1 \jobname.aux
- \ifeof 1 \else
- \closein 1
- \input \jobname.aux
- \global\havexrefstrue
- \global\warnedobstrue
- \fi
- % Open the new aux file. TeX will close it automatically at exit.
- \openout\auxfile=\jobname.aux
-\endgroup}
-
-
-% Footnotes.
-
-\newcount \footnoteno
-
-% The trailing space in the following definition for supereject is
-% vital for proper filling; pages come out unaligned when you do a
-% pagealignmacro call if that space before the closing brace is
-% removed. (Generally, numeric constants should always be followed by a
-% space to prevent strange expansion errors.)
-\def\supereject{\par\penalty -20000\footnoteno =0 }
-
-% @footnotestyle is meaningful for info output only.
-\let\footnotestyle=\comment
-
-\let\ptexfootnote=\footnote
-
-{\catcode `\@=11
-%
-% Auto-number footnotes. Otherwise like plain.
-\gdef\footnote{%
- \global\advance\footnoteno by \@ne
- \edef\thisfootno{$^{\the\footnoteno}$}%
- %
- % In case the footnote comes at the end of a sentence, preserve the
- % extra spacing after we do the footnote number.
- \let\@sf\empty
- \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
- %
- % Remove inadvertent blank space before typesetting the footnote number.
- \unskip
- \thisfootno\@sf
- \footnotezzz
-}%
-
-% Don't bother with the trickery in plain.tex to not require the
-% footnote text as a parameter. Our footnotes don't need to be so general.
-%
-% Oh yes, they do; otherwise, @ifset and anything else that uses
-% \parseargline fail inside footnotes because the tokens are fixed when
-% the footnote is read. --karl, 16nov96.
-%
-\long\gdef\footnotezzz{\insert\footins\bgroup
- % We want to typeset this text as a normal paragraph, even if the
- % footnote reference occurs in (for example) a display environment.
- % So reset some parameters.
- \interlinepenalty\interfootnotelinepenalty
- \splittopskip\ht\strutbox % top baseline for broken footnotes
- \splitmaxdepth\dp\strutbox
- \floatingpenalty\@MM
- \leftskip\z@skip
- \rightskip\z@skip
- \spaceskip\z@skip
- \xspaceskip\z@skip
- \parindent\defaultparindent
- %
- % Hang the footnote text off the number.
- \hang
- \textindent{\thisfootno}%
- %
- % Don't crash into the line above the footnote text. Since this
- % expands into a box, it must come within the paragraph, lest it
- % provide a place where TeX can split the footnote.
- \footstrut
- \futurelet\next\fo@t
-}
-\def\fo@t{\ifcat\bgroup\noexpand\next \let\next\f@@t
- \else\let\next\f@t\fi \next}
-\def\f@@t{\bgroup\aftergroup\@foot\let\next}
-\def\f@t#1{#1\@foot}
-\def\@foot{\strut\egroup}
-
-}%end \catcode `\@=11
-
-% Set the baselineskip to #1, and the lineskip and strut size
-% correspondingly. There is no deep meaning behind these magic numbers
-% used as factors; they just match (closely enough) what Knuth defined.
-%
-\def\lineskipfactor{.08333}
-\def\strutheightpercent{.70833}
-\def\strutdepthpercent {.29167}
-%
-\def\setleading#1{%
- \normalbaselineskip = #1\relax
- \normallineskip = \lineskipfactor\normalbaselineskip
- \normalbaselines
- \setbox\strutbox =\hbox{%
- \vrule width0pt height\strutheightpercent\baselineskip
- depth \strutdepthpercent \baselineskip
- }%
-}
-
-% @| inserts a changebar to the left of the current line. It should
-% surround any changed text. This approach does *not* work if the
-% change spans more than two lines of output. To handle that, we would
-% have adopt a much more difficult approach (putting marks into the main
-% vertical list for the beginning and end of each change).
-%
-\def\|{%
- % \vadjust can only be used in horizontal mode.
- \leavevmode
- %
- % Append this vertical mode material after the current line in the output.
- \vadjust{%
- % We want to insert a rule with the height and depth of the current
- % leading; that is exactly what \strutbox is supposed to record.
- \vskip-\baselineskip
- %
- % \vadjust-items are inserted at the left edge of the type. So
- % the \llap here moves out into the left-hand margin.
- \llap{%
- %
- % For a thicker or thinner bar, change the `1pt'.
- \vrule height\baselineskip width1pt
- %
- % This is the space between the bar and the text.
- \hskip 12pt
- }%
- }%
-}
-
-% For a final copy, take out the rectangles
-% that mark overfull boxes (in case you have decided
-% that the text looks ok even though it passes the margin).
-%
-\def\finalout{\overfullrule=0pt}
-
-% @image. We use the macros from epsf.tex to support this.
-% If epsf.tex is not installed and @image is used, we complain.
-%
-% Check for and read epsf.tex up front. If we read it only at @image
-% time, we might be inside a group, and then its definitions would get
-% undone and the next image would fail.
-\openin 1 = epsf.tex
-\ifeof 1 \else
- \closein 1
- % Do not bother showing banner with post-v2.7 epsf.tex (available in
- % doc/epsf.tex until it shows up on ctan).
- \def\epsfannounce{\toks0 = }%
- \input epsf.tex
-\fi
-%
-% We will only complain once about lack of epsf.tex.
-\newif\ifwarnednoepsf
-\newhelp\noepsfhelp{epsf.tex must be installed for images to
- work. It is also included in the Texinfo distribution, or you can get
- it from ftp://tug.org/tex/epsf.tex.}
-%
-\def\image#1{%
- \ifx\epsfbox\undefined
- \ifwarnednoepsf \else
- \errhelp = \noepsfhelp
- \errmessage{epsf.tex not found, images will be ignored}%
- \global\warnednoepsftrue
- \fi
- \else
- \imagexxx #1,,,\finish
- \fi
-}
-%
-% Arguments to @image:
-% #1 is (mandatory) image filename; we tack on .eps extension.
-% #2 is (optional) width, #3 is (optional) height.
-% #4 is just the usual extra ignored arg for parsing this stuff.
-\def\imagexxx#1,#2,#3,#4\finish{%
- \ifx\pdfoutput\undefined
- % \epsfbox itself resets \epsf?size at each figure.
- \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
- \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
- \begingroup
- \catcode`\^^M = 5 % in case we're inside an example
- % If the image is by itself, center it.
- \ifvmode
- \nobreak\bigskip
- % Usually we'll have text after the image which will insert
- % \parskip glue, so insert it here too to equalize the space
- % above and below.
- \nobreak\vskip\parskip
- \nobreak
- \centerline{\epsfbox{#1.eps}}%
- \bigbreak
- \else
- % In the middle of a paragraph, no extra space.
- \epsfbox{#1.eps}%
- \fi
- \endgroup
- \else
- \centerline{\pdfimage #1.pdf}%
- \fi
-}
-
-
-\message{localization,}
-% and i18n.
-
-% @documentlanguage is usually given very early, just after
-% @setfilename. If done too late, it may not override everything
-% properly. Single argument is the language abbreviation.
-% It would be nice if we could set up a hyphenation file here.
-%
-\def\documentlanguage{\parsearg\dodocumentlanguage}
-\def\dodocumentlanguage#1{%
- \tex % read txi-??.tex file in plain TeX.
- % Read the file if it exists.
- \openin 1 txi-#1.tex
- \ifeof1
- \errhelp = \nolanghelp
- \errmessage{Cannot read language file txi-#1.tex}%
- \let\temp = \relax
- \else
- \def\temp{\input txi-#1.tex }%
- \fi
- \temp
- \endgroup
-}
-\newhelp\nolanghelp{The given language definition file cannot be found or
-is empty. Maybe you need to install it? In the current directory
-should work if nowhere else does.}
-
-
-% @documentencoding should change something in TeX eventually, most
-% likely, but for now just recognize it.
-\let\documentencoding = \comment
-
-
-% Page size parameters.
-%
-\newdimen\defaultparindent \defaultparindent = 15pt
-
-\chapheadingskip = 15pt plus 4pt minus 2pt
-\secheadingskip = 12pt plus 3pt minus 2pt
-\subsecheadingskip = 9pt plus 2pt minus 2pt
-
-% Prevent underfull vbox error messages.
-\vbadness = 10000
-
-% Don't be so finicky about underfull hboxes, either.
-\hbadness = 2000
-
-% Following George Bush, just get rid of widows and orphans.
-\widowpenalty=10000
-\clubpenalty=10000
-
-% Use TeX 3.0's \emergencystretch to help line breaking, but if we're
-% using an old version of TeX, don't do anything. We want the amount of
-% stretch added to depend on the line length, hence the dependence on
-% \hsize. We call this whenever the paper size is set.
-%
-\def\setemergencystretch{%
- \ifx\emergencystretch\thisisundefined
- % Allow us to assign to \emergencystretch anyway.
- \def\emergencystretch{\dimen0}%
- \else
- \emergencystretch = .15\hsize
- \fi
-}
-
-% Parameters in order: 1) textheight; 2) textwidth; 3) voffset;
-% 4) hoffset; 5) binding offset; 6) topskip. Then whoever calls us can
-% set \parskip and call \setleading for \baselineskip.
-%
-\def\internalpagesizes#1#2#3#4#5#6{%
- \voffset = #3\relax
- \topskip = #6\relax
- \splittopskip = \topskip
- %
- \vsize = #1\relax
- \advance\vsize by \topskip
- \outervsize = \vsize
- \advance\outervsize by 2\topandbottommargin
- \pageheight = \vsize
- %
- \hsize = #2\relax
- \outerhsize = \hsize
- \advance\outerhsize by 0.5in
- \pagewidth = \hsize
- %
- \normaloffset = #4\relax
- \bindingoffset = #5\relax
- %
- \parindent = \defaultparindent
- \setemergencystretch
-}
-
-% @letterpaper (the default).
-\def\letterpaper{{\globaldefs = 1
- \parskip = 3pt plus 2pt minus 1pt
- \setleading{13.2pt}%
- %
- % If page is nothing but text, make it come out even.
- \internalpagesizes{46\baselineskip}{6in}{\voffset}{.25in}{\bindingoffset}{36pt}%
-}}
-
-% Use @smallbook to reset parameters for 7x9.5 (or so) format.
-\def\smallbook{{\globaldefs = 1
- \parskip = 2pt plus 1pt
- \setleading{12pt}%
- %
- \internalpagesizes{7.5in}{5.in}{\voffset}{.25in}{\bindingoffset}{16pt}%
- %
- \lispnarrowing = 0.3in
- \tolerance = 700
- \hfuzz = 1pt
- \contentsrightmargin = 0pt
- \deftypemargin = 0pt
- \defbodyindent = .5cm
- %
- \let\smalldisplay = \smalldisplayx
- \let\smallexample = \smalllispx
- \let\smallformat = \smallformatx
- \let\smalllisp = \smalllispx
-}}
-
-% Use @afourpaper to print on European A4 paper.
-\def\afourpaper{{\globaldefs = 1
- \setleading{12pt}%
- \parskip = 3pt plus 2pt minus 1pt
- %
- \internalpagesizes{53\baselineskip}{160mm}{\voffset}{4mm}{\bindingoffset}{44pt}%
- %
- \tolerance = 700
- \hfuzz = 1pt
-}}
-
-% A specific text layout, 24x15cm overall, intended for A4 paper. Top margin
-% 29mm, hence bottom margin 28mm, nominal side margin 3cm.
-\def\afourlatex{{\globaldefs = 1
- \setleading{13.6pt}%
- %
- \afourpaper
- \internalpagesizes{237mm}{150mm}{3.6mm}{3.6mm}{3mm}{7mm}%
- %
- \globaldefs = 0
-}}
-
-% Use @afourwide to print on European A4 paper in wide format.
-\def\afourwide{%
- \afourpaper
- \internalpagesizes{9.5in}{6.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}%
- %
- \globaldefs = 0
-}
-
-% @pagesizes TEXTHEIGHT[,TEXTWIDTH]
-% Perhaps we should allow setting the margins, \topskip, \parskip,
-% and/or leading, also. Or perhaps we should compute them somehow.
-%
-\def\pagesizes{\parsearg\pagesizesxxx}
-\def\pagesizesxxx#1{\pagesizesyyy #1,,\finish}
-\def\pagesizesyyy#1,#2,#3\finish{{%
- \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi
- \globaldefs = 1
- %
- \parskip = 3pt plus 2pt minus 1pt
- \setleading{13.2pt}%
- %
- \internalpagesizes{#1}{\hsize}{\voffset}{\normaloffset}{\bindingoffset}{44pt}%
-}}
-
-% Set default to letter.
-%
-\letterpaper
-
-
-\message{and turning on texinfo input format.}
-
-% Define macros to output various characters with catcode for normal text.
-\catcode`\"=\other
-\catcode`\~=\other
-\catcode`\^=\other
-\catcode`\_=\other
-\catcode`\|=\other
-\catcode`\<=\other
-\catcode`\>=\other
-\catcode`\+=\other
-\catcode`\$=\other
-\def\normaldoublequote{"}
-\def\normaltilde{~}
-\def\normalcaret{^}
-\def\normalunderscore{_}
-\def\normalverticalbar{|}
-\def\normalless{<}
-\def\normalgreater{>}
-\def\normalplus{+}
-\def\normaldollar{$}
-
-% This macro is used to make a character print one way in ttfont
-% where it can probably just be output, and another way in other fonts,
-% where something hairier probably needs to be done.
-%
-% #1 is what to print if we are indeed using \tt; #2 is what to print
-% otherwise. Since all the Computer Modern typewriter fonts have zero
-% interword stretch (and shrink), and it is reasonable to expect all
-% typewriter fonts to have this, we can check that font parameter.
-%
-\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi}
-
-% Same as above, but check for italic font. Actually this also catches
-% non-italic slanted fonts since it is impossible to distinguish them from
-% italic fonts. But since this is only used by $ and it uses \sl anyway
-% this is not a problem.
-\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
-
-% Turn off all special characters except @
-% (and those which the user can use as if they were ordinary).
-% Most of these we simply print from the \tt font, but for some, we can
-% use math or other variants that look better in normal text.
-
-\catcode`\"=\active
-\def\activedoublequote{{\tt\char34}}
-\let"=\activedoublequote
-\catcode`\~=\active
-\def~{{\tt\char126}}
-\chardef\hat=`\^
-\catcode`\^=\active
-\def^{{\tt \hat}}
-
-\catcode`\_=\active
-\def_{\ifusingtt\normalunderscore\_}
-% Subroutine for the previous macro.
-\def\_{\leavevmode \kern.06em \vbox{\hrule width.3em height.1ex}}
-
-\catcode`\|=\active
-\def|{{\tt\char124}}
-\chardef \less=`\<
-\catcode`\<=\active
-\def<{{\tt \less}}
-\chardef \gtr=`\>
-\catcode`\>=\active
-\def>{{\tt \gtr}}
-\catcode`\+=\active
-\def+{{\tt \char 43}}
-\catcode`\$=\active
-\def${\ifusingit{{\sl\$}}\normaldollar}
-%\catcode 27=\active
-%\def^^[{$\diamondsuit$}
-
-% Set up an active definition for =, but don't enable it most of the time.
-{\catcode`\==\active
-\global\def={{\tt \char 61}}}
-
-\catcode`+=\active
-\catcode`\_=\active
-
-% If a .fmt file is being used, characters that might appear in a file
-% name cannot be active until we have parsed the command line.
-% So turn them off again, and have \everyjob (or @setfilename) turn them on.
-% \otherifyactive is called near the end of this file.
-\def\otherifyactive{\catcode`+=\other \catcode`\_=\other}
-
-\catcode`\@=0
-
-% \rawbackslashxx output one backslash character in current font
-\global\chardef\rawbackslashxx=`\\
-%{\catcode`\\=\other
-%@gdef@rawbackslashxx{\}}
-
-% \rawbackslash redefines \ as input to do \rawbackslashxx.
-{\catcode`\\=\active
-@gdef@rawbackslash{@let\=@rawbackslashxx }}
-
-% \normalbackslash outputs one backslash in fixed width font.
-\def\normalbackslash{{\tt\rawbackslashxx}}
-
-% \catcode 17=0 % Define control-q
-\catcode`\\=\active
-
-% Used sometimes to turn off (effectively) the active characters
-% even after parsing them.
-@def@turnoffactive{@let"=@normaldoublequote
-@let\=@realbackslash
-@let~=@normaltilde
-@let^=@normalcaret
-@let_=@normalunderscore
-@let|=@normalverticalbar
-@let<=@normalless
-@let>=@normalgreater
-@let+=@normalplus
-@let$=@normaldollar}
-
-@def@normalturnoffactive{@let"=@normaldoublequote
-@let\=@normalbackslash
-@let~=@normaltilde
-@let^=@normalcaret
-@let_=@normalunderscore
-@let|=@normalverticalbar
-@let<=@normalless
-@let>=@normalgreater
-@let+=@normalplus
-@let$=@normaldollar}
-
-% Make _ and + \other characters, temporarily.
-% This is canceled by @fixbackslash.
-@otherifyactive
-
-% If a .fmt file is being used, we don't want the `\input texinfo' to show up.
-% That is what \eatinput is for; after that, the `\' should revert to printing
-% a backslash.
-%
-@gdef@eatinput input texinfo{@fixbackslash}
-@global@let\ = @eatinput
-
-% On the other hand, perhaps the file did not have a `\input texinfo'. Then
-% the first `\{ in the file would cause an error. This macro tries to fix
-% that, assuming it is called before the first `\' could plausibly occur.
-% Also back turn on active characters that might appear in the input
-% file name, in case not using a pre-dumped format.
-%
-@gdef@fixbackslash{%
- @ifx\@eatinput @let\ = @normalbackslash @fi
- @catcode`+=@active
- @catcode`@_=@active
-}
-
-% Say @foo, not \foo, in error messages.
-@escapechar = `@@
-
-% These look ok in all fonts, so just make them not special.
-@catcode`@& = @other
-@catcode`@# = @other
-@catcode`@% = @other
-
-@c Set initial fonts.
-@textfonts
-@rm
-
-
-@c Local variables:
-@c eval: (add-hook 'write-file-hooks 'time-stamp)
-@c page-delimiter: "^\\\\message"
-@c time-stamp-start: "def\\\\texinfoversion{"
-@c time-stamp-format: "%:y-%02m-%02d.%H"
-@c time-stamp-end: "}"
-@c End:
diff --git a/Docs/Support/update-reserved-words.pl b/Docs/Support/update-reserved-words.pl
deleted file mode 100755
index 2920e083c9c..00000000000
--- a/Docs/Support/update-reserved-words.pl
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/usr/bin/perl
-
-# Based on a Emacs macro by david@mysql.com
-# Implemented in Perl by jeremy@mysql.com
-# 2001-11-20 Fixups by arjen@mysql.com, 2 keywords and 15 synonyms were missing
-# 2001-12-07 Fixup by arjen@mysql.com, add column headings for multitable.
-# 2002-05-01 Fixup by arjen@mysql.com, use 3 columns instead of 4.
-# 2002-05-03 Fixup by arjen@mysql.com, fill last row to full # of columns.
-# 2002-06-14 Fixup by arjen@mysql.com, Issue a "bk edit manual.texi".
-
-print STDERR "Scanning lex.h for symbols..\n";
-open LEX, "<../sql/lex.h";
-while($line = <LEX>) {
- if($line =~ /\{\s*\"([A-Z_]+)\"/) {
- $words{$1} = $1;
- } elsif($line =~ /sql_functions/) {
- last;
- };
-};
-close LEX;
-
-print STDERR "Scanning sql_yacc.yy for non-reserved words...\n";
-open YACC, "<../sql/sql_yacc.yy";
-while(<YACC> !~ /^keyword:/) {};
-while(($line = <YACC>) =~ /[\s|]+([A-Z_]+)/) {
- $keyword = $1;
- $keyword =~ s/_SYM//;
- delete $words{$keyword};
-};
-close YACC;
-
-
-print STDERR "Copying reserved words to an array...\n";
-foreach(keys %words) { push @words, $words{$_}; };
-
-print STDERR "Sorting array...\n";
-@words = sort @words;
-
-printf STDERR "There are %i reserved words.\n", scalar @words;
-
-@pre = ("\@item", " \@tab", " \@tab");
-
-$list = "";
-for($i=0; $word = shift(@words); $i++) {
- $list .= sprintf "%s %s\n", $pre[$i%3], "\@code\{$word\}";
-}
-# Fill last row to full # of columns.
-for( ; $i%3; $i++) {
- $list .= sprintf "%s\n", $pre[$i%3];
-}
-
-`bk edit manual.texi`;
-
-open OLD, "<manual.texi";
-open NEW, ">manual-tmp.texi";
-
-print STDERR "Copying beginning of manual.texi...\n";
-while(($line = <OLD>) !~ /START_OF_RESERVED_WORDS/) { print NEW $line; };
-print NEW "\@c START_OF_RESERVED_WORDS\n\n";
-printf NEW "\@c Reserved word list updated %s by %s.\n".
- "\@c To regenerate, use Support/update-reserved-words.pl.\n\n",
- &pretty_date, $ENV{USER};
-
-print STDERR "Inserting list of reserved words...\n";
-# Ensure the fractions add up to 100% otherwise it looks funny in print:
-print NEW "\@multitable \@columnfractions .33 .33 .34\n";
-print NEW "\@item \@strong{Word}\n \@tab \@strong{Word}\n \@tab \@strong{Word}\n";
-print NEW $list;
-print NEW "\@end multitable\n";
-print STDERR "Skipping over old list...\n";
-while(($line = <OLD>) !~ /END_OF_RESERVED_WORDS/) {};
-print NEW "\n\@c END_OF_RESERVED_WORDS\n";
-print STDERR "Copying end of manual.texi...\n";
-while($line = <OLD>) { print NEW $line; };
-
-close OLD;
-close NEW;
-
-print STDERR "Moving manual-tmp.texi to manual.texi...\n";
-unlink "manual.texi";
-rename "manual-tmp.texi", "manual.texi";
-
-print STDERR "Reserved word list updated successfully!\n";
-
-sub pretty_date {
- @time = ($time = shift)?((localtime($time))[0..6]):((localtime)[0..6]);
-
- ($sec, $min, $hour, $mday, $mon, $year, $wday) = @time;
- $wday = (Sun,Mon,Tue,Wed,Thu,Fri,Sat)[$wday];
- $mon = (Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)[$mon];
- $year += 1900;
-
- $pretty = sprintf("%s %s %2i %02i:%02i:%02i %i",
- $wday, $mon, $mday, $hour, $min, $sec, $year);
-
- return $pretty;
-};
-
diff --git a/Docs/To-be-included-in-the-manual/MySQL-for-dummies b/Docs/To-be-included-in-the-manual/MySQL-for-dummies
deleted file mode 100644
index 7b669af18dc..00000000000
--- a/Docs/To-be-included-in-the-manual/MySQL-for-dummies
+++ /dev/null
@@ -1,271 +0,0 @@
-===============================================================================
-installing/mysql/binary Fri Jul 17 13:03:03 1998 has
-===============================================================================
-
- MySQL for dummies - Part 1
- How to get the binary distribution running on a UNIX system
-
- MySQL is a trademark of TcX, Sweden.
-
-===============================================================================
-
-Introduction:
-
-This is a simple cookbook for the helpless newbie taking his very first steps
-with MySQL, when he needs a few hints about the options and access rights
-installing the system and starting the basic modules, before he has "aha"ed
-on how simple and clean the basic structure of MySQL is. It will not help
-you with the intricacies and subtle possibilities of SQL as implemented in
-MySQL.
-
-The information in this document is all contained in the MySQL manual in a
-more or less obvious form, but for the newbie that document is a bit over-
-whelming in size, and it contains some new concepts that take some getting
-used to. Sorry if it is pitched too low for some readers. It is only
-intended to get the binary distribution up and running.
-
-I successfully got MySQL going on both a Sun SparcStation 1 running SunOS 4.1.2
-and 2 Linux systems running SuSE release 5.0, one with kernel version 2.0.30,
-one with 2.0.33 by doing exactly what is given here. If it doesn't work
-for you, I suggest the problem is with your system and not with the
-MySQL binary distribution.
-
--- Howard Schultens hs@neuro-physiol.med.uni-goettingen.de
-
--------------------------------------------------------------------------------
-
-Nomenclature:
-
-In the following, 'MySQL' refers to the entire database system distributed
-and licensed by TcX. 'mysql' means a specific program in this system.
-
--------------------------------------------------------------------------------
-
-MySQL user administration and access rights ("privileges"):
-
-It is obvious that MySQL needs its own user management because it is a system
-that is implemented on a number of architectures -- you should be able to use
-it in an identical way on different operating systems. The MySQL user names
-and passwords have basically nothing at all to do with user names and
-passwords on whatever operating system you install it on. You will,
-unfortunately, have to install your users again on MySQL. But this system has
-some big advantages: it is a secure system that allows you to finely
-differentiate access rights based on WHO is using a database from WHERE. It
-does this by the use of its own database containing 3 tables "user" for the
-user names, "db" for the databases, and "host" for the machines that access
-databases. "user" and "db" are the most important for the newbie.
-
-Section 6 of the manual describes all this in detail.
-
--------------------------------------------------------------------------------
-
-Doing it:
-
-In the following, "foo>" denotes the prompt from your system in user mode,
-"foo#" as root/superuser.
-
-
-1) Get the appropriate binary distribution from a mirror site or directly
- from TcX at URL http://www.tcx.se. The file name has the form
- mysql-VERSION-SYSTEM.tgz
-
- VERSION = Version number, e.g. 3.21.33
- SYSTEM = OS and architecture, e.g. sunos4.1.4-sparc
-
- i.e., you would download a file mysql-3.21.33-sunos4.1.4-sparc.tgz.
-
- This example is for SunOS, but it works exactly analogously on Linux.
-
-2) cd to /usr/local and unpack this with, e.g. the command
-
- foo#gzip -c -d mysql-VERSION-SYSTEM.tgz|tar xvf -
-
-3) The files are stored in a directory /usr/local/mysql-VERSION-SYSTEM
- Make a symbolic link to this directory:
-
- foo#ln -s mysql-VERSION-SYSTEM mysql
-
- At this point, you might want to create a special user for all your
- MySQL stuff. I use "mysql". Then you could do
-
- foo#chown -R mysql mysql-VERSION-SYSTEM
-
-4) FIRST, take care of all the PERL stuff:
-
- o) You need PERL 5.004 or later already installed on your system. Take
- care of this first if necessary.
-
- a) cd to /usr/local/mysql/perl/DBI and do
- foo#perl Makefile.PL
- foo#make
- foo#make test
- foo#make install (if "make test" is successful)
-
- b) cd to /usr/local/mysql/perl/Mysql/modules and do
- foo#perl Makefile.PL
- foo#make
- foo#make test
- foo#make install (if "make test" is successful)
-
- c) As an option, you can install Data::ShowTable, but this is not absolutely
- necessary for mysql. Get the PERL module Data-ShowTable-VER.tar.gz
- (VER = version, eg. 3.3) from a CPAN mirror: I got mine at
-
- ftp://ftp.gwdg.de/pub/languages/perl/CPAN/modules/by-category/06_Data_Type_Utilities/Data/Data-ShowTable-3.3.tar.gz
-
- (You should be able to replace "ftp.gwdg.de" by the name of another
- FTP mirror)
-
- Put this into /usr/local/mysql/perl and unpack it.
- You get a directory 'Data-ShowTable-VER'. cd into there and
- (as root/superuser)
- foo#perl Makefile.PL
- foo#make
- foo#make test
- foo#make install (if "make test" is successful)
-
-5) cd to /usr/local/mysql and do
- foo#scripts/mysql_install_db
-
- you should be in /usr/local/mysql when you start the script.
-
-==>*NOTE* you might want to edit this script before you run it the first
- time. See method 9b) below.
-
- If this is successful, one or more copies of the mysql daemon, mysqld,
- will be running. On SunOS 4.1.x, you get one. On Linux, 3 are running.
-
--------------------------------------------------------------------------------
-In the rest of this, I will always suppose you are starting in the directory
-/usr/local/mysql, even if it seems mildly inconvenient
--------------------------------------------------------------------------------
-
-6) You can now select the database 'test' and mess around with it using
- the client program bin/mysql: start it with
-
- foo>bin/mysql -u root test
-
- This says, "start up the MySQL command-line client with the user name
- 'root' and use the database named 'test', which is a subdirectory in
- '/usr/local/mysql/data". (n.b. this is NOT the root user of your UNIX
- system, it is a MySQL user with the same name. You will notice that you
- don't need a password for this user to use mysql).
-
- Actually, the way the system is set up by bin/mysql_install_db, you
- don't even need a user name to access the database 'test'. You can start
- the client simply with
-
- foo>bin/mysql test
-
- 'mysql' should start up with a greeting and a line telling you what your
- connection id and server version is. At this point, the database 'test'
- is empty, no tables or anything are defined.
-
- When you issue SQL commands, DON'T FORGET THE FINAL SEMICOLON, or mysql acts
- dumb:
-
- mysql>select * from user
- ->
- ->
-
- and you wonder what's going on. 'mysql' reminds you of this on startup.
-
-7) When you want to close down the server, do
- foo>bin/mysqladmin shutdown
-
-8) I recommend editing the script bin/safe_mysqld for the binary release
- so that it always starts up with the correct directories. I replaced
- the entire header up to but not including
-
- pidfile=$DATADIR/`/bin/hostname`.pid
- log=$DATADIR/`/bin/hostname`.log
- err=$DATADIR/`/bin/hostname`.err
-
- with
-
- MY_BASEDIR_VERSION=/usr/local/mysql
- DATADIR=$MY_BASEDIR_VERSION/data
- ledir=$MY_BASEDIR_VERSION/bin
- cd $MY_BASEDIR_VERSION
-
- This lets you start the mysql daemon from wherever you like.
-
-9) Now let's say you want to put some of your own databases and users into
- the system. The simplest, most powerful, and dangerous way to do this is
- to start up the mysql daemon again with:
-
- foo>bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data -Sg
-
- This skips loading the grant tables. The system is open to every kind of
- mistake now, so be careful. Any user can muck up the grant tables, ie.
- the lists of users, hosts, and databases themselves, so only use this
- mode to do these first, very basic things.
-
- Start the client again now, with
- foo>bin/mysql mysql
-
- This tells the client to use the database 'mysql', which is the directory
- that contains the lists (ie. the tables) of all the users, hosts, and
- databases in the system, so be careful!!!!!!!!!!!!
-
- All of what follows is taken essentially from section 6 of the manual.
-
- a) For the start, just define a couple of users for the MySQL system:
- i) an administrator, such as 'mysql', with its own password, that
- can do everything with the system:
-
- mysql> insert into user values('localhost','mysql',password('xyzzy'),
- 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
-
- * For some reason, on my Linux system with a German keyboard, I have *
- * to use the acute accent instead of the apostrophe, otherwise I get *
- * parse errors. *
-
- This defines the user name 'mysql' with password 'xyzzy' that can
- do everything. To look at what you just did, type in
-
- mysql> select * from user;
-
- mysql types out a table with all the known users and their privileges.
-
- ii) a privileged user for playing around:
-
- mysql> insert into user values('localhost','john',password('blah0x1'),
- 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
-
- iii) create your own database for a todo list, phone numbers, whatever:
-
- mysql> create database johns_DB;
- mysql> insert into db values('localhost','johns_DB','john','Y','Y','Y','Y','Y','Y');
-
- The first line creates the databse "johns_DB", but that doesn't
- make it visible to mysql. The second line does that.
-
- iv) When you are done installing users and databases, quit mysql and
- issue the command
-
- foo>bin/mysqladmin reload
-
- b) Another method to do this was suggested by Sinisa Milivojevic, and that
- is to edit the script /usr/local/mysql/scripts/mysql_install_db to
- define the databases and install the more important users when you
- start the system the very first time. This would have the advantage
- that you can save the script and re-install the system with it if you
- have to, automatically defining the important structures. It requires
- a little more knowledge of the MySQL system to do this.
-
- You might want to use this method anyway since it saves editing
- mysql_install_db to have it install a superuser with a name other
- than "root". The places to change are easy to find. You can, of
- course, use the first method above and remove the user named 'root'
- when you are done.
-
-
-===============================================================================
-
-If anyone is interested enough in this document to make suggestions on how
-to improve it, I would be glad to get emails on it. I hope it helps
-someone get going with MySQL a little easier.
-
---Howard
- hs@neuro-physiol.med.uni-goettingen.de
diff --git a/Docs/Translations/myodbc-br.texi b/Docs/Translations/myodbc-br.texi
deleted file mode 100644
index 6cf7edd3e75..00000000000
--- a/Docs/Translations/myodbc-br.texi
+++ /dev/null
@@ -1,272 +0,0 @@
-@chapter MySQL ODBC Suporte
-
-@menu
-* Quais ODBC OS:: Sistemas Operacionais são suportados por @strong{MyODBC}
-* Problemas ODBC:: Como informar problemas com @strong{MySQL} ODBC
-* Clientes MyODBC:: Programas que já foram testados com @strong{MyODBC}
-* Administrador ODBC:: Como preencher os diversos campos com o programa Administrador
-* ODBC e last_insert_id:: Como obter o valor de uma coluna @code{AUTO_INCREMENT} em ODBC
-* Informando bug do MyODBC:: Informando problemas com MyODBC
-@end menu
-
-@strong{MySQL} fornece suporte para ODBC através do programa @strong{MyODBC}.
-
-
-@node Quais ODBC OS, ODBC Problemas, ODBC, ODBC
-@section Sistemas Operacionais suportados por MyODBC
-
-@strong{MyODBC} é um driver 32-bit ODBC (2.50) nível 0 para Windows95
-e Windows NT. Nós esperamos que alguém porte o mesmo para o Windows 3.x.
-
-@node Problemas ODBC, clientes MyODBC, Quais ODBC OS, ODBC
-@section Como informar problemas com MyODBC
-
-@strong{MyODBC} tem sido testado com Access, Admndemo.exe, C++-Builder,
-Centura Team Developer (formalmente Gupta SQL/Windows), ColdFusion (no
-Solaris e NT com svc pack 5), Crystal Reports, DataJunction, Delphi,
-ERwin, Excel, iHTML, FileMaker Pro, FoxPro, Notes 4.5/4.6, SBSS, Perl
-DBD-ODBC, Paradox, Powerbuilder, Powerdesigner 32 bit, VC++ e Visual
-Basic.
-
-Se você souber de algum outro aplicativo que funcione com @strong{MyODBC}, por favor
-nos escreva sobre isso através do email @email{myodbc@@lists.mysql.com}.
-
-@node Clientes MyODBC, Administrador ODBC, Problemas com ODBC, ODBC
-@section Programas testados que funcionam com MyODBC
-
-A maioria dos programas que têm suporte para ODBC, funcionam com o @strong{MyODBC},
-mas cada um dos listados abaixo, têm sido testados por nós ou por informações de
-usuários que confirmaram o seu funcionamento.
-
-@table @asis
-@item @strong{Program}
-@strong{Comment}
-@item Access
-Como fazer Accces funcionar:
-@itemize @bullet
-@item
-Você deverá ter uma chave primária na tabela.
-@item
-Você deve ter um campo timestamp em todas as tabelas em que você quer controlar a
-atualização.
-
-@item
-Somente use campos doubles float. Access falha quando faz comparações com campos float
-simples.
-@item
-Configure a opção `Return matching rows' quando conectar com o @strong{MySQL}.
-@item
-O Access no NT acusará colunas @code{BLOB} como @code{OLE OBJECTS}.
-Se ao invés disso você quer colunas @code{MEMO}, deve trocar a coluna para
-@code{TEXT} usando @code{ALTER TABLE}.
-@item
-Access às vezes não lida adequadamente com colunas do tipo @code{DATE}.
-Se você tiver problemas com essas colunas, mude as colunas para @code{DATETIME}.
-@item
-Em certas situações, o Access cria consultas SQL ilegais que o
-@strong{MySQL} não pode processar. Você pode resolver isso selecionando o tipo de
-consulta @code{"Query|SQLSpecific|Pass-Through"} no menu do Access.
-@end itemize
-@item DataJunction
-Você tem que trocar para mandar @code{VARCHAR} ao invés de @code{ENUM}, porque
-o mesmo exporta o último de uma maneira que causa fadiga ao @strong{MySQL}.
-@item Excel
-Funciona. Algumas dicas:
-@itemize @bullet
-@item
-Se você tem problemas com datas, tente selecioná-las como strings usando a
-função @code{CONCAT()}. Por exemplo:
-@example
-select CONCAT(rise_time), CONCAT(set_time)
- from sunrise_sunset;
-@end example
-Os dados de datas enviadas como string são corretamente reconhecidas pelo
-Excel97 como dados do tipo time.
-
-Neste exemplo o propósito de @code{CONCAT()} é enganar o ODBC, fazendo-o pensar
-que a coluna é do 'tipo string'. Sem o @code{CONCAT()}, ODBC sabe que a coluna
-é do tipo time e o Excel não entenderá isso.
-
-Note que isso é um bug no Excel, porque o mesmo converte automaticamente a
-string para time. Isto é muito bom quando o fonte é um arquivo
-texto, mas não se pode dizer o mesmo quando o fonte é uma conexão
-ODBC que informa o tipo exato para cada coluna.
-@end itemize
-@item odbcadmin
-Programa Teste para ODBC.
-@item Delphi
-Você deverá usar DBE 3.2 ou mais atualizado. Configure o campo de opção
-`Don't optimize column width' quando conectando com @strong{MySQL}.
-
-Também, há aqui um código muito útil que configura tanto a
-inserção ODBC e a inserção BDE para MyODBC (a inserção BDE requer um BDE
-Alias Editor que pode ser obtido de graça numa Delphi Super Page
-perto de você.): (Obrigado a Bryan Brunton @email{bryan@@flesherfab.com} por isto)
-
-@example
-fReg:= TRegistry.Create;
- fReg.OpenKey('\Software\ODBC\ODBC.INI\DocumentsFab', True);
- fReg.WriteString('Database', 'Documents');
- fReg.WriteString('Description', ' ');
- fReg.WriteString('Driver', 'C:\WINNT\System32\myodbc.dll');
- fReg.WriteString('Flag', '1');
- fReg.WriteString('Password', '');
- fReg.WriteString('Port', ' ');
- fReg.WriteString('Server', 'xmark');
- fReg.WriteString('User', 'winuser');
- fReg.OpenKey('\Software\ODBC\ODBC.INI\ODBC Data Sources', True);
- fReg.WriteString('DocumentsFab', 'MySQL');
- fReg.CloseKey;
- fReg.Free;
-
- Memo1.Lines.Add('DATABASE NAME=');
- Memo1.Lines.Add('USER NAME=');
- Memo1.Lines.Add('ODBC DSN=DocumentsFab');
- Memo1.Lines.Add('OPEN MODE=READ/WRITE');
- Memo1.Lines.Add('BATCH COUNT=200');
- Memo1.Lines.Add('LANGDRIVER=');
- Memo1.Lines.Add('MAX ROWS=-1');
- Memo1.Lines.Add('SCHEMA CACHE DIR=');
- Memo1.Lines.Add('SCHEMA CACHE SIZE=8');
- Memo1.Lines.Add('SCHEMA CACHE TIME=-1');
- Memo1.Lines.Add('SQLPASSTHRU MODE=SHARED AUTOCOMMIT');
- Memo1.Lines.Add('SQLQRYMODE=');
- Memo1.Lines.Add('ENABLE SCHEMA CACHE=FALSE');
- Memo1.Lines.Add('ENABLE BCD=FALSE');
- Memo1.Lines.Add('ROWSET SIZE=20');
- Memo1.Lines.Add('BLOBS TO CACHE=64');
- Memo1.Lines.Add('BLOB SIZE=32');
-
- AliasEditor.Add('DocumentsFab','MySQL',Memo1.Lines);
-@end example
-
-@item C++Builder
-Testado com BDE 3.0. O único problema conhecido é que quando o esquema da tabela
-muda, os campos da consulta não são atualizados. BDE entretanto, parece não
-reconhecer chaves primárias, somente Índice PRIMARY, não entanto isto não
-tem sido um problema.
-
-@item Visual basic
-Para atualizar uma tabela, você deverá definir uma chave primária para a tabela.
-@end table
-
-@node Administrador ODBC, ODBC e last_insert_id, Clientes MyODBC, ODBC
-@section Como preencher os diversos campos com o programa Administrador
-
-Existem três possibilidades para especificar o nome do servidor em
-Windows95:
-
-@itemize @bullet
-@item
-Usando o endereço IP do servidor.
-@item
-Adicionar um arquivo @file{lmhosts} com a seguinte informação:
-
-@example
-ip nomeservidor
-@end example
-
-Por exemplo:
-
-@example
-194.216.84.21 my
-@end example
-
-@item
-Configurar o PC para usar DNS.
-@end itemize
-
-Exemplo de como preencher o ``ODBC setup'':
-@example
-Windows DSN name: teste
-Description: Este é o meu banco de dados teste
-MySql Database: teste
-Server: 194.216.84.21
-User: monty
-Password: minha_senha
-Port:
-@end example
-
-O valor para o campo @code{Windows DSN name} é qualquer nome que seja único
-em seu Windows ODBC setup.
-
-Você não precisa especificar os valores para os seguintes campos: @code{Server},
-@code{User}, @code{Password} ou @code{Port} na hora de configurar o ODBC.
-Entretanto, se você o faz, esses valores devem ser usados como padrão para fazer
-uma conexão. Você tem a opção de trocar os valores nesse instante.
-
-Se o número da porta não for especificado, o valor padrão da porta (@value{default_port})
-é usado.
-
-Se você especificar a opção @code{Read options from C:\my.cnf}, os
-grupos @code{client} e @code{odbc} devem ser lidos do arquivo @file{C:\my.cnf}.
-Você pode usar todas as opções que são usadas por @code{mysql_options()}.
-@xref{mysql_options, , @code{mysql_options}}.
-
-@node ODBC e last_insert_id, Informando bug do MyODBC, Administrador ODBC, ODBC
-@section Como obter o valor de uma coluna @code{AUTO_INCREMENT} no ODBC
-
-Um problema muito usual consiste em como saber o valor de uma coluna do tipo
-@code{INSERT} quando a mesma é gerada automaticamente. Com ODBC, você pode
-fazer uma coisa como esta (assumindo que @code{auto} é um campo @code{AUTO_INCREMENT}):
-
-@example
-INSERT INTO foo (auto,text) VALUES(NULL,'text');
-SELECT LAST_INSERT_ID();
-@end example
-
-Ou se você somente quer adicionar o valor noutra tabela, faça o
-seguinte:
-
-@example
-INSERT INTO foo (auto,text) VALUES(NULL,'text');
-INSERT INTO foo2 (id,text) VALUES(LAST_INSERT_ID(),'text');
-@end example
-
-Para o benefício de algumas aplicações ODBC (pelo menos Delphi e Access),
-a seguinte consulta pode ser usada para encontrar o valor do novo registro
-adicionado:
-
-@example
-SELECT * FROM tbl_name WHERE auto IS NULL;
-@end example
-
-@node Informando bug do MyODBC, , ODBC e last_insert_id, ODBC
-@section Informando problemas com MyODBC
-
-Se você encontra dificuldades com MyODBC, deve começar por fazer
-um arquivo log no Administrador ODBC (o log você tem quando
-solicita logs do ODBCADMIN) e um log @strong{MyODBC}. Para gerar um log @strong{MyODBC},
-clique a opção `Trace MyODBC' na tela de configuração da conexão
-@strong{MyODBC}.
-O log será escrito no arquivo @file{C:\myodbc.log}.
-Note que você deve usar a @code{MYSQL.DLL} e não a
-@code{MYSQL2.DLL} para que esta opção funcione!
-
-Verifique as consultas que MyODBC envia para o servidor @strong{MySQL};
-Você deverá ser capaz de encontrar isto através da pesquisa da
-string @code{>mysql_real_query} no arquivo @file{myodbc.log}.
-
-Você deve também tentar duplicar as consultas no monitor @code{mysql}
-ou @code{admndemo} para encontrar se o erro é do MyODBC ou do @strong{MySQL}.
-
-Se você encontrar algo errado, por favor envie somente as linhas
-relevantes (máximo 40 linhas) para o @email{myodbc@@lists.mysql.com}. Favor nunca
-enviar os arquivos log completos do MyODBC ou do ODBC !
-
-Se você não encontra o quê está errado, a última opção
-é fazer um arquivo (tar ou zip) que contenha um arquivo log do MyODBC,
-o arquivo log ODBC e um arquivo README que explique o problema.
-Você o manda para @uref{ftp://www.mysql.com/pub/mysql/secret}. Somente nós da TCX
-devemos ter acesso a esses arquivos que você manda e nós seremos muito discretos com
-os dados !
-
-Se você pode fazer um programa que também mostre o mesmo problema, favor mandá-lo
-também!
-
-Se o programa funciona com outro servidor SQL, você pode fazer um
-arquivo log que faça exatamente a mesma coisa com o outro servidor
-SQL.
-
-Lembre que quanto mais informação você nos fornece, o resultado é
-que nós podemos resolver o problema!
diff --git a/Docs/manual-license-spanish.texi b/Docs/manual-license-spanish.texi
deleted file mode 100644
index c9cf2bd53da..00000000000
--- a/Docs/manual-license-spanish.texi
+++ /dev/null
@@ -1,709 +0,0 @@
-@cindex Licensing terms
-@cindex Support terms
-@node Licensing and Support, Installing, Questions, Top
-@chapter MySQL licensing and support
-
-@menu
-* Licensing policy:: Política de licenciamento do @strong{MySQL}
-* Copyright:: Direitos autorais usados por @strong{MySQL}
-* Commercial use:: Distribuindo comercialmente @strong{MySQL}
-* Licensing examples:: Exemplos de situações de licenciamento
-* Cost:: Preços de licenciamento e suporte @strong{MySQL}
-* Support:: Tipos de suporte comercial
-@end menu
-
-Este capítulo descreve os tipos de licenciamento e suporte do @strong{MySQL}, incluindo:
-
-@itemize @bullet
-@item
-Nossa política de licenciamento para sistemas operacionais não Microsoft e Microsoft
-
-@item
-Os direitos autorais sob os quais o @strong{MySQL} é distribuído
-(@pxref{Copyright})
-
-@item
-Exemplo de situações quando uma licença é necessária
-(@pxref{Licensing examples})
-
-@item
-Preços de licenciamento e suporte (@pxref{Cost}), e
-benefícios do suporte (@pxref{Support})
-@end itemize
-
-@cindex Licensing policy
-@node Licensing policy, Copyright, Licensing and Support, Licensing and Support
-@section MySQL licensing policy
-
-Os termos formais do licenciamento para sistemas operacionais não Microsoft tais como
-Unix ou OS/2 são especificados em @ref{Public license}. Basicamente, nossa política de
-licenciamento é como segue:
-
-@itemize @bullet
-@item
-Para uso interno normal, o @strong{MySQL} geralmente não custa nada. Você não precisa
-nos pagar se não o quiser.
-
-@item
-Uma licença é requerida se:
-
-@itemize @minus
-@item
-Você vende o servidor @strong{MySQL} diretamente ou como parte de outro produto ou serviço.
-
-@item
-Você cobra para instalar e manter um servidor @strong{MySQL} no local do cliente
-
-@item
-Você incluie o @strong{MySQL} numa distribuição que não é redistribuída
-e você cobra por alguma parte dessa distribuição
-@end itemize
-
-@item
-Para circunstâncias sob as quais uma licença do @strong{MySQL} é requerida,
-você necessita uma licença por mâquina que roda o servidor @code{mysqld}.
-Entretanto, uma mâquina com múltiplos processadores conta como uma mâquina
-simples e não há restrição no número de servidores que rodam numa só mâquina
-ou no número de clientes concurrentes conectados ao servidor em essa mâquina.
-
-@item
-Você não necessita uma licença para incluir código de programas clientes
-comerciais. O acesso de parte de clientes para o @strong{MySQL} é de
-domínio público. O código do cliente @code{mysql} de linha de comando
-incluie código da livraria @code{readline} que está sob a licença pública
-GNU.
-
-@item
-@cindex @code{myisampack}
-Para clientes que tem comprado 1 licença ou suporte MySQL, nós fornecemos
-funcionalidade adicional. Atualmente, isso significa o fornecimento do
-utilitário @code{myisampack} para banco de dados somente de leitura,
-rápidos e compactados. (O servidor incluie suporte para ler tais bancos
-de dados mas não a ferramenta de compactar usada para criar os mesmos).
-Quando os acordos de suporte gerem suficientes recursos, nós liberaremos
-esta ferramenta sob a mesma licença do servidor @strong{MySQL}.
-
-@item
-Se seu uso do @strong{MySQL} não requer uma licença, porém você gosta
-do @strong{MySQL} e deseja encorajar um maior desenvolvimento, você é
-certamente bem-vindo a adquirir uma licença de qualquer forma.
-
-@item
-Se usa o @strong{MySQL} num contexto comercial de tal forma
-que obtêm benefícios no seu uso, nós lhe solicitamos que apoie
-o desenvolvimento do @strong{MySQL} através da compra de algum
-nível de suporte. Nós achamos que se o @strong{MySQL} o ajuda
-em seu negócio, é razoável que solicitemos sua ajuda para o @strong{MySQL}.
-Por outro lado, se você nós faz perguntas de suporte, não somente está
-usando de graça algo no qual nós colocamos um enorme trabalho, você
-também está pedindo suporte de graça.
-@end itemize
-
-Para uso em sistemas operacionais Microsoft (Win95/Win98/WinNT),
-você precisa de uma licença @strong{MySQL} depois de 30 dias
-de experiência, com a exceção que licenças podem ser requeridas
-sem nenhum custo para uso educacional ou para suportar pesquisas
-de governo ou universidades. @xref{Winlicense}.
-Uma versão shareware do @strong{MySQL}-Win32 que você pode experimentar
-antes de comprar está disponível em @uref{http://www.mysql.com/mysql_w32.htmy}.
-Depois que você tenha pago, você terá uma senha que permite seu acesso a uma
-nova versão @strong{MySQL}-Win32.
-
-Se você tem uma pergunta se for o caso ou não de requerer uma licença para
-seu caso em particular do @strong{MySQL}, favor entrar em contato com nós.
-@xref{Contact information}.
-
-Se você requer uma licença @strong{MySQL}, a forma mais fácil para pagar
-a mesma é usar o formulário no seguro servidor TcX em @url{https://www.mysql.com/license.htmy}.
-Outras formas de pagamento são mencionadas em @ref{Payment information}.
-
-@cindex Copyright
-@node Copyright, Commercial use, Licensing policy, Licensing and Support
-@section Copyrights used by MySQL
-
-@menu
-* Copyright changes:: Possível futura mudança no direito autoral
-@end menu
-
-Existem vários direitos autorais diferentes na distribuição @strong{MySQL}:
-
-@enumerate
-@item
-
-O fonte específico @strong{MySQL}necessário para construir o @code{mysqlclient}
-livrarias e programas no diretório @file{client} está em domínio público.
-Cada arquivo que está em domínio público tem um cabeçalho que claramente notifica
-este estado. Isto incluie tudo no diretório @file{client}e algumas partes
-do @code{mysys}, @code{mystring} e @code{dbug} livrarias.
-
-@item
-Algumas pequenas partes do fonte (GNU @code{getopt}) estão cobertas pela
-``GNU LIBRARY LIBRARY GENERAL PUBLIC LICENSE''. Ver o arquivo
-@file{mysys/COPYING.LIB}.
-
-@item
-Algumas pequenas partes do fonte ( (GNU @code{readline}) estão cobertas pela
-``GNU GENERAL PUBLIC LICENSE''. Ver o arquivo @file{readline/COPYING}.
-
-@item
-Algumas partes do fonte (a @code{regexp} livraria) está coberta pelo estilo de
-direito autoral Berkeley.
-
-@item
-O outro fonte necessário para o servidor @strong{MySQL} em plataformas não Microsoft
-está coberta pela ``MySQL FREE PUBLIC LICENSE'', a qual é baseada na
-``Aladdin FREE PUBLIC LICENSE.'' @xref{Public license}. Quando o @strong{MySQL}
-está rodando em qualquer sistema operacional Microsoft, outro licenciamento é aplicado.
-@end enumerate
-
-Os seguintes pontos direcionam a filosofia sob nossa política de direito autoral:
-
-@itemize @bullet
-@item
-A livraria cliente SQL deve ser totalmente livre tal que a mesma pode ser incluída
-em produtos comerciais sem nenhuma limitação.
-
-@item
-Pessoas que querem livre acesso ao programa no qual nós temos colocado uma grande
-quantidade de trabalho, podem tê-lo, tal que não procurem ganhar dinheiro diretamente
-pela distribuição e para benefício.
-
-@item
-Pessoas que querem manter o direito da propriedade de seu programa, porém também
-querem o valor de nosso trabalho, podem pagar pelo previlégio.
-
-@item
-O uso normal em casa é de GRAÇA. Mas se você usa o @strong{MySQL} para algo
-importante para você, você pode ajudar o desenvolvimento futuro pela
-compra de uma licença ou contrato de suporte.@xref{Support}.
-@end itemize
-
-@node Copyright changes, , Copyright, Copyright
-@subsection Possible future copyright changes
-
-Nós poderemos optar para distribuir versões antigas do @strong{MySQL}
-com a GPL no futuro. Entretanto, essas versões devem ser identificadas
-como @strong{GNU MySQL}. Também, todas notas de direitos autorais dos
-arquivos relativos devem ser mudados para a GPL.
-
-@node Commercial use, Licensing examples, Copyright, Licensing and Support
-@section Distributing MySQL commercially
-
-Esta seção é um esclarecimento dos termos de licença que são a base na
-``MySQL FREE PUBLIC LICENSE'' (FPL). @xref{Public license}.
-
-O @strong{MySQL} pode ser @strong{usado} livremente , incluindo
-entidades comerciais para avaliação ou uso interno sem suporte.
-Entretanto, @strong{distribuição} para propósitos comerciais
-do @strong{MySQL}, ou qualquer coisa contendo ou derivando do @strong{MySQL}
-no seu todo ou parte, requer uma licença comercial escrita da TcX AB,
-a única entidade autorizada para garantir tais licenças.
-
-Você não pode incluir o @strong{MySQL} ``de graça'' num pacote contendo
-qualquer coisa pela qual um pagamento está sendo feito, exceto como
-notado abaixo:
-
-A intenção da exceção providenciada na segunda claúsula da licença é
-para permitir que organizações comerciais operando um servidor FTP ou
-uma agência de notícias possam distribuir livremente o @strong{MySQL},
-desde que:
-
-@enumerate
-@item
-A organização complace com as outras provisões da FPL, a qual
-incluie entre outras coisas um requerimento para distribuir o
-código fonte inteiro do @strong{MySQL} e qualquer outro trabalho
-derivado, e para distribuir a FPL em si junto com @strong{MySQL};
-
-@item
-A única cobrança para abaixar o @strong{MySQL} é a cobrança baseada
-na distribuição do serviço e não numa baseada no contexto da
-informação sendo recebida (ex: a cobrança deverá ser a mesma para
-o recebimento de uma coleção qualquer de bits do mesmo tamanho);
-
-@item
-O servidor ou BBS é acessível para o público em geral, ex. o número de
-telefone ou enedereço IP não é guardado em secreto, e qualquer um pode
-obter acesso para a informação (possivelmente pagando uma inscrição ou
-acesso cobrado que não é dependente ou relacionado para comprar qualquer
-outra coisa).
-@end enumerate
-
-Se você quer para distribuir programas em um contexto comercial que
-incorpora @strong{MySQL} e você @strong{não} quer encontrar essas
-condições, você deve contatar TcX AB para encontrar um licenciamento
-comercial, o qual envolve um pagamento. O único meio legal que
-você pode distribuir @strong{MySQL} ou qualquer coisa contendo @strong{MySQL}
-são pela distribuição do @strong{MySQL} sob os requerimentos da FPL, ou pela
-obtenção de uma licença comercial da TcX AB.
-
-@node Licensing examples, Cost, Commercial use, Licensing and Support
-@section Example licensing situations
-
-@menu
-* Products that use MySQL:: Vendendo produtos que usam @strong{MySQL}
-* MySQL services:: Vendendo serviços relacionados ao @strong{MySQL}
-* ISP:: Serviços de ISP com @strong{MySQL}
-* Web server:: Rodando um servidor web usando o @strong{MySQL}.
-@end menu
-
-Esta seção descreve algumas situações ilustrando se é o caso ou não que
-você deve licençar o servidor @strong{MySQL}. Geralmente esses exemplos
-envolvem o fornecimento do @strong{MySQL} como parte de um produto ou
-serviço que você está vendendo para um cliente, ou requer que o @strong{MySQL}
-seja usado em conjunto com seu produto. Em tais casos, é sua responsabilidade
-para obter uma licença para o cliente se uma é necessária (Este requerimento
-pode ser deixado de lado se seu cliente já tem uma licença @strong{MySQL}.
-Porém, o vendedor deve enviar informação do cliente e o número da licença
-para TcX, e a licença deverá ser completa, não uma licença OEM).
-
-Note que uma simples licença do @strong{MySQL} cobre qualquer número de
-CPUs/usuários/clientes/servidores @code{mysqld} numa só mâquina!
-
-@node Products that use MySQL, MySQL services, Licensing examples, Licensing examples
-@subsection Selling products that use MySQL
-
-Para determinar caso seja necessário ou não uma licença @strong{MySQL}
-quando vendendo a sua aplicação, você deve perguntar caso seja necessário
-para o funcionamento adequado de sua aplicação a contingência no uso do
-@strong{MySQL} e seja necessário você incluir o @strong{MySQL} com seu
-produto. Existem vários casos a considerar:
-
-@itemize @bullet
-@item
-Sua aplicação precisa do @strong{MySQL} para funcionar adequadamente ?
-
-Se o seu produto precisa do @strong{MySQL}, você necessita uma licença
-para cada mâquina que roda o servidor @code{mysqld}. Por exemplo,
-se você projeta uma aplicação sobre o @strong{MySQL}, então você tem
-feito realmente um produto comercial que necessita do servidor, tal que
-necessita de uma licença.
-
-Se sua aplicação não requer o @strong{MySQL}, você não necessita obter uma
-licença. Por exemplo, se o @strong{MySQL} apenas adiciona uma nova característica
-a seu produto (tal como adicionando loggin a um banco de dados e se o @strong{MySQL}
-é usado no lugar de um arquivo texto), o mesmo entra como um uso normal, e uma
-licença não precisa ser requerida.
-
-Em outras palavras, você necessita de uma licença se você vende um produto
-projetado para uso com o @strong{MySQL} ou que precisa do servidor @strong{MySQL}
-para um funcionamento completo. Isto é verdadeiro caso haja necessidade ou não de fornecer
-o @strong{MySQL} para seu cliente como parte da distribuição de seu produto.
-
-Isso também depende no que você está fazendo para o cliente. Você planeja fornecer
-a seu cliente com instruções e detalhes na instalação do @strong{MySQL} com seu
-programa ?. Então seu produto contencialmente precisa do @strong{MySQL};
-Sim é tal, você necessita comprar uma licença. Se você simplesmente usa um banco de
-dados que espera já estiver instalado no instante en seu programa é comprado, então
-provavelmente não necessita de uma licença.
-
-@item
-Você incluie o @strong{MySQL} numa distribuição e cobra pela mesma ?
-
-Se você incluie @strong{MySQL} com a distribuição que vende para os clientes,
-você necessita uma licença para cada mâquina que roda o servidor @code{mysqld},
-porque neste caso você está vendendo um sistema que incluie @strong{MySQL}.
-
-Isto é verdadeiro no caso que o @strong{MySQL} com seu produto seja requerido
-ou opcional.
-
-@item
-Você não requer nem incluie o @strong{MySQL} com seu produto ?
-
-Suponha que quer vender um produto projetado de uma maneira geral para usar
-com "qualquer banco de dados" e que pode ser configurado para usar qualquer
-uma das várias alternativas de sistemas de banco de dados (@strong{MySQL},
-PostgreSQL, ou qualquer outro. Isto é, seu produto não requer @strong{MySQL},
-mas pode suportar qualquer banco de dados com o nível base de funcionalidade
-e você não depende de qualquer coisa que somente @strong{MySQL} suporta.
-Nenhum de vocês paga para nós se o seu cliente realmente seleciona para
-usar @strong{MySQL}?
-
-Neste caso, se você não fornece, obtêm ou configura o @strong{MySQL} para
-o cliente e decide o cliente para usá-lo, nenhum de vocês precisa de uma
-licença. Se você faz um serviço, vide @ref{MySQL services, ,
-@strong{MySQL} serviços}.
-@end itemize
-
-@node MySQL services, ISP, Products that use MySQL, Licensing examples
-@subsection Selling MySQL-related services
-
-Se você faz uma instalação numa mâquina de um cliente do @strong{MySQL}
-e há cobrança pelo serviço (direta ou indiretamente), então você comprar
-uma licença @strong{MySQL}.
-
-Se você vende uma aplicação para a qual o @strong{MySQL} não é estritamente
-requerido, porém pode ser usado, uma licença deve indicada, dependendo
-como o @strong{MySQL} é configurado. Suponha que seu produto não requera e
-não incluia o @strong{MySQL} na sua distribuição, porém pode ser configurado
-para usar o @strong{MySQL} para os clientes que assim o desejar. (Este pode ser
-o caso, por exemplo, se seu produto pode usar qualquer um de servidores de
-banco de dados).
-
-Se o cliente obtêm e instala o @strong{MySQL}, nenhuma licença é necessária.
-Entretanto, se você faz o serviço para seu cliente, então é necessário uma
-licença, porque você está vendendo um serviço que incluie o @strong{MySQL}.
-
-@node ISP, Web server, MySQL services, Licensing examples
-@subsection ISP MySQL services
-
-Provedores de Serviço Internet (ISPs) às vezes hospedam servidores @strong{MySQL}
-para seus cliente.
-
-Se você é um ISP que permite a seus clientes instalar e administrar o
-@strong{MySQL} por si próprios na sua mâquina sem nenhuma assistência
-de sua parte, nem você nem o cliente precisa de uma licença @strong{MySQL}.
-
-Se você cobra para instalar e administrar o @strong{MySQL} como parte de seu
-serviço para o cliente, então você precisa de uma licença, porque está vendendo
-um serviço que incluie o @strong{MySQL}.
-
-@node Web server, , ISP, Licensing examples
-@subsection Running a web server using MySQL
-
-Se você usa o @strong{MySQL} em conjunto com um servidor web, você não tem
-que pagar uma licença.
-
-Isto é verdadeiro se você roda um servidor web comercial que usa @strong{MySQL},
-desde que você não esteja vendendo o @strong{MySQL}. Entretanto, neste caso
-nós gostariamos que você compre suporte @strong{MySQL}, porque @strong{MySQL}
-está ajudando a sua empresa.
-
-@cindex Costs, licensing and support
-@cindex Licensing costs
-@cindex Support costs
-@node Cost, Support, Licensing examples, Licensing and Support
-@section MySQL licensing and support costs
-
-@menu
-* Payment information:: Informação de Pagamento
-* Contact information:: Informação de contato
-@end menu
-
-Nossos preços atuais de licença são mostrados abaixo. Todos os preços são
-em US Dólar. Se você paga com cartão de crédito, a moeda é o EURO (European Union Euro),
-tais preços diferem levemente.
-
-@multitable @columnfractions .25 .2 .3
-@item @strong{Número de licenças} @tab @strong{Preço por cópia} @tab @strong{Total}
-@item 1 @tab US $200 @tab US $200
-@item 10 pacotes @tab US $150 @tab US $1500
-@item 50 pacotes @tab US $120 @tab US $6000
-@end multitable
-
-Para compras em alto volume (OEM), os seguintes preços são aplicados:
-
-@multitable @columnfractions .25 .2 .3 .25
-@item @strong{Número de licenças} @tab @strong{Preço por cópia} @tab @strong{Mínimo de uma vez} @tab @strong{Pagamento mínimo}
-@item 100-999 @tab US $40 @tab 100 @tab US $4000
-@item 1000-2499 @tab US $25 @tab 200 @tab US $5000
-@item 2500-4999 @tab US $20 @tab 400 @tab US $8000
-@end multitable
-
-Para compras OEM, você deve atuar como o intermediário para eventuais
-problemas ou solicitações de seus usuários. Nós também requeremos que
-clientes OEM tenham ao menos um contrato de suporte extended email.
-
-Se você tem uma margem baixa em alto volume de produtos, você pode falar
-com nós sobre outros termos (por exemplo, a porcentagem dos preços de
-venda). Se você faz, por favor seja informativo sobre seu produto, preço,
-mercado e qualquer outra informação que seja relevante.
-
-@cindex @code{myisampack}
-Depois de comprar 1 licença @strong{MySQL}, você terá uma cópia pessoal
-do utilitário @code{myisampack}. Você não está permitido em distribuir
-esse utilitário porém você pode distribuir tabelas compactadas com ele.
-
-Um preço completo de uma licença não é um acordo de suporte e incluie um
-mínimo suporte. Isto significa que nós tentamos responder qualquer pergunta
-relevante. Se a resposta está na documentação, nós direcionamos você à
-apropriada seção. Se você não tem comprado uma licença ou suporte, nós
-provavelmente não responderemos ao tudo.
-
-Se você descobre o que consideramos um real bug, nós estamos prontificados
-a solucionar o erro em qualquer caso. Porém se você paga por suporte nós
-o notificaremos sobre o andamento da solução ao invés de soluncioná-lo
-nos próximos lançamentos.
-
-Suporte mais amplo é vendido separadamente. Descrições do que incluie cada
-nível de suporte são dadas em @ref{Support}. Custos para os vários tipos
-comerciais de suporte são mostrados abaixo. O nível de preços de suporte
-estão em EURO (European Union Euro). Um EURO é aproximadamente 1.17 USD.
-
-@multitable @columnfractions .3 .3
-@item @strong{Tipo de suporte} @tab @strong{Custo por ano}
-@item Basic email support @tab EURO 170
-@item Extended email support @tab EURO 1000
-@item Login support @tab EURO 2000
-@item Extended login support @tab EURO 5000
-@end multitable
-
-Você pode atualizar um nível mais baixo sw suporte para um de maior
-nível, pela diferença entre os preços dos dois níveis.
-
-@cindex Payment information
-@node Payment information, Contact information, Cost, Cost
-@subsection Payment information
-
-Correntemente nós podemos tomar pagamentos SWIFT, cheques ou cartões de crédito.
-
-O pagamento poderá ser feito a:
-@example
-Postgirot Bank AB
-105 06 STOCKHOLM, SWEDEN
-
-TCX DataKonsult AB
-BOX 6434
-11382 STOCKHOLM, SWEDEN
-
-SWIFT address: PGSI SESS
-Número da Conta: 96 77 06 - 3
-@end example
-
-Especificar: licença e/ou suporte, seu nome e endereço de e-mail.
-
-Em europa e Japão você pode usar EuroGiro (que pode ser menos caro) para a mesma
-conta.
-
-Se você quer pagar através de cheque, faça-o nominal a ``Monty Program KB'' e mande
-um e-mail para o endereço abaixo:
-
-@example
-TCX DataKonsult AB
-BOX 6434, Torsgatan 21
-11382 STOCKHOLM, SWEDEN
-@end example
-
-Se você quer pagar com cartão de crédito usando a Internet, você pode
-usar o seguro formulário de licença da TcX:
-@uref{https://www.mysql.com/license.htmy.
-
-Você pode também imprimir uma cópia do formulário de licença, prenché-lo e mandá-lo
-via fax para:
-
-
-+46-8-729 69 05
-
-Se você quer que nós uma cobrança para você, você pode usar o formulário de
-licença e escrever ``bill us'' no campo de comentários. Você pode também
-mandar uma mensagem via e-mail para @email{sales@@mysql.com} (@strong{not}
-@email{mysql@@lists.mysql.com}!) com a informação de sua companhia e pedir
-para nós para efetuar a cobrança.
-
-@cindex Contact information
-@node Contact information, , Payment information, Cost
-@subsection Contact information
-
-Para licenciamento comercial, ou se você têm qualquer pergunta sobre
-informação desta seção, por favor contatar a equipe de licenciamento
-do @strong{MySQL}. O mais preferido método é o e-mail para
-@email{mysql-licensing@@mysql.com}. Fax é também possível porém sua
-manipulação pode demorar muito (Fax +46-8-729 69 05).
-
-@example
-David Axmark
-Detron HB
-Kungsgatan 65 B
-753 21 UPPSALA
-SWEDEN
-Fone Voz +46-18-10 22 80 (Timezone GMT+1. Fala Sueco e Inglés)
-@end example
-
-@cindex Support, types
-@cindex Types of support
-@node Support, , Cost, Licensing and Support
-@section Types of commercial support
-
-@menu
-* Basic email support:: Basic email support
-* Extended email support:: Extended email support
-* Login support:: Login support
-* Extended login support:: Extended login support
-@end menu
-
-@node Basic email support, Extended email support, Support, Support
-@subsection Basic email support
-
-Basic email support é a opção mais barata de suporte e deverá ser vista
-como uma forma de suportar nosso desenvolvimento do @strong{MySQL} que
-uma real opção de suporte.
-
-Neste nível de suporte, a lista de e-mail do @strong{MySQL} é o preferido
-meio de comunicação. Perguntas normalmente podem ser enviadas para a
-principal lista de e-mail (@email{mysql@@lists.mysql.com}) ou uma das outras
-listas regulares (por exemplo, @email{mysql-win32@@lists.mysql.com} relacionada
-às perguntas para o @strong{MySQL} Windows, tal que qualquer pessoa pode já ter
-experimentado e resolvido o problema que você tem. @xref{Asking questions}.
-
-Entretanto, comprando o suporte basic email support, você também tem acesso
-ao e-mail @email{mysql-support@@mysql.com}, o qual não é disponível
-como parte do suporte mínimo que se tem quando se adquire uma licença @strong{MySQL}.
-Isto significa que para perguntas críticas, você pode mandar sua mensagem para
-@email{mysql-support@@mysql.com}. (Se a mensagem tem dados privados, você só
-deve mandar para o @email{mysql-support@@mysql.com}.)
-
-@emph{LEMBRE-SE!} para SEMPRE incluir o número de registro e data de
-término quando mandar uma mensagem para
-@email{mysql-support@@mysql.com}.
-
-Basic email support incluie os seguintes tipos de serviços:
-
-@itemize @bullet
-@item
-Se sua pergunta já está respondida no manual, nós o informamos da correta
-seção na qual pode encontrar a resposta. Se a resposta não está no manual,
-nós o colocamos na direção certa para resolver seu problema.
-
-@item
-Nós garantimos em tempo apropriado a resposta das mensagem de seu e-mail.
-Nós não podemos garantir que podemos resolver qualquer problema, porém ao
-menos você receve uma resposta se podemos contatá-lo por e-mail.
-
-@item
-Nós podemos ajudá-lo com problemas inesperados quando instala @strong{MySQL}
-a partir de uma distribuição binária em plataformas suportadas. Este nível de
-suporte não cobre instalação do @strong{MySQL} a partir de uma distribuição
-fonte. Plataformas ``Suportadas'' são aquelas plataformas nas quais o @strong{MySQL}
-é conhecido que funciona.
-@xref{Which OS}.
-
-@item
-Nós ajudaremos você com bugs e problemas de características. Qualquer
-bug que for encontrado nós o solucionamos no próximo lançamento do @strong{MySQL}.
-Se o bug é crítico para você, nós enviamos um e-mail com o patch
-tão logo como o bug é resolvido. Bugs críticos têm sempre para nós a maior
-prioridade, para assegurar que sejam solucionados tão pronto como possível.
-
-@item
-Suas sugestões para desenvolvimento posterior do @strong{MySQL} são tomadas
-em consideração. Obtendo o email support, você já ajuda o desenvolvimento
-posterior do @strong{MySQL}. Se você quer pôr mais, faça a atualização
-para um nível mais alto de suporte.
-
-@item
-Se você quer nós ajudar a otimizar seu sistema, você deve atualizar
-para um nível maior de suporte.
-
-@item
-@cindex @code{myisampack}
-Nós incluimos uma versão binária da ferramenta de compactação @code{myisampack}
-para criar rápidos bancos de dados compactados, somente de leitura. O atual
-servidor incluie suporte para ler esses bancos de dados mas não a ferramenta
-para criar os mesmos.
-@end itemize
-
-@node Extended email support, Login support, Basic email support, Support
-@subsection Extended email support
-
-Extended email support incluie tudo o do basic email support com estas
-adições:
-
-@itemize @bullet
-@item
-Seu e-mail será tratado antes dos e-amil dos usuários do basic email support
-e dos usuários não registrados.
-
-@item
-Suas sugestões para o próximo desenvolvimento do @strong{MySQL} receberá
-uma forte consideração. Simples extensões que fazem os gols do @strong{MySQL}
-são a implementação em questão de dias. adquirindo o extended email support
-você auxilia daqui para frente o desenvolvimento do @strong{MySQL}.
-
-@item
-Perguntas típicas que são cobertas pelo extended email support são:
-
-@itemize @minus
-@item
-Nós respondemos e (dentro do razoável) resolvemos as perguntas relacionadas
-a possíveis bugs no @strong{MySQL}. Tão pronto como os bugs são encontrados
-e corregidoa, nós mandamos por e-mail o pacth para ele.
-
-@item
-Nós auxiliamos com inesperados problemas quando você instala o @strong{MySQL}
-a partir do fonte ou distribuição binária nas plataformas suportadas.
-
-@item
-Nós responderemos perguntas sobre características perdidad e ofereceremos
-dicas como trabalhar e contornar elas.
-
-@item
-Nós forneceremos dicas na otimização do @code{mysqld}para sua situação.
-@end itemize
-
-@item
-Você está permitido a influenciar a prioridade de itens do TODO do @strong{MySQL}.
-Isso assegura que as características que você realmente precisa sejam implementadas
-rapidamente que as mesmas poderia ser de outra forma.
-@end itemize
-
-@node Login support, Extended login support, Extended email support, Support
-@subsection Login support
-
-O Login support incluie tudo do extended email support com estas adições:
-
-@itemize @bullet
-@item
-Seu e-mail terá prioridade sobre os usuários do suporte extended email.
-
-@item
-Suas sugestões para o próximo desenvolvimento do @strong{MySQL} será tomado
-com uma alta consideração. Extensões reais que podem ser implementadas num
-par de horas e que fazem os gols do @strong{MySQL} serão implementadas
-tão logo como possível.
-
-@item
-Se você tem um problema muito específico, nós tentaremos logar no seu
-sistema para resolver o problema ''no local''.
-
-@item
-Tal como qualquer outro vendedor de banco de dados, não podemos garantir que
-podemos recuperar qualquer dado de tabelas corrompidas, porém se o pior acontece
-nós poderemos a recuperar tanto quanto seja possível. O @strong{MySQL}tem provado
-ser muito seguro, porém qualquer é possível devido a circuntâncias fora de nosso
-controle (por exemplo, se seu sistema crash ou alguém kill o servidor executando
-um comando @code{kill -9}).
-
-@item
-Nós providenciaremos dicas na otimização de seu sistema e consultas.
-
-@item
-Você está permitido para chamar um desenvolvedor @strong{MySQL} (moderadamente) e
-discutir seu problemas relacionados com o @strong{MySQL}.
-@end itemize
-
-@node Extended login support, , Login support, Support
-@subsection Extended login support
-
-O Extended login support incluie tudo do login support com estas adições:
-
-@itemize @bullet
-@item
-Seu e-mail tem a mais alta prioridade possível.
-
-@item
-Nós ativamente examinamos seu sistema e ajudamos a otimizá-lo assim como suas
-consultas. Nós também podemos otimizar e/ou extender o @strong{MySQL}
-para suprir melhor suas necessidades.
-
-@item
-Você também pode solicitar extensões es peciais apenas para você. Por exemplo:
-@example
-mysql> select MY_CALCULATION(col_name1,col_name2) from tbl_name;
-@end example
-
-@item
-Nós podemos fornecer uma distribuição binária para todas as atualizações
-mais importantes do @strong{MySQL} para seu sistema, tão logo como podemos
-obter uma conta em um sistema similar. No pior dos casos, nós podemos requerer
-acesso para seu sistema para ser capaz de criar uma distribuição binária.
-
-@item
-Se você pode providenciar acomodações e pagar os custos de viagem para um
-desenvolvedor @strong{MySQL} para vistá-lo e oferecer ajuda com seus problemas.
-O suporte Extended login support entitula você para um encontro pessoal por
-ano, porém nós sempre somos muito flexíveis para levar para frente nossos
-clientes!.
-@end itemize
-
-@node Installing, Compatibility, Licensing and Support, Top
-
diff --git a/Docs/manual.de.texi b/Docs/manual.de.texi
deleted file mode 100644
index 902a9496bbb..00000000000
--- a/Docs/manual.de.texi
+++ /dev/null
@@ -1,107 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@c
-@c *********************************************************
-@c
-@c This is a dummy placeholder file for manual.de.texi in the
-@c MySQL source trees.
-@c
-@c Note, that the manual has been moved into a separate
-@c BitKeeper source tree named "mysqldoc" - do not attempt
-@c to add NEWS entries or documentation to this file! All
-@c changes to the manual should be done in the mysqldoc tree.
-@c
-@c See http://www.mysql.com/doc/en/Installing_source_tree.html
-@c for information about how to work with BitKeeper source trees.
-@c
-@c This dummy file is being replaced with the real manual from the
-@c mysqldoc tree when building the official source distribution.
-@c
-@c Please e-mail docs@mysql.com for more information or if
-@c you are interested in doing a translation.
-@c
-@c *********************************************************
-@c
-@c %**start of header
-
-@setfilename mysql.de.info
-
-@c We want the types in the same index
-@syncodeindex tp fn
-
-@c Get version information. This file is generated by the Makefile!!
-@include include.texi
-
-@ifclear tex-debug
-@c This removes the black squares in the right margin
-@finalout
-@end ifclear
-
-@c Set background for HTML
-@set _body_tags BGCOLOR=silver TEXT=#000000 LINK=#101090 VLINK=#7030B0
-@c Set some style elements for the manual in HTML form. 'suggested'
-@c natural language colors: aqua, black, blue, fuchsia, gray, green,
-@c lime, maroon, navy, olive, purple, red, silver, teal, white, and
-@c yellow. From Steeve Buehler <ahr@YogElements.com>
-@set _extra_head <style> code {color:purple} tt {color:green} samp {color:navy} pre {color:maroon} </style>
-
-@settitle Dummy MySQL Reference Manual for version @value{mysql_version}.
-
-@c We want single-sided heading format, with chapters on new pages. To
-@c get double-sided format change 'on' below to 'odd'
-@setchapternewpage on
-
-@paragraphindent 0
-
-@c %**end of header
-
-@ifinfo
-@format
-START-INFO-DIR-ENTRY
-* mysql: (mysql). MySQL documentation.
-END-INFO-DIR-ENTRY
-@end format
-@end ifinfo
-
-@titlepage
-@sp 10
-@center @titlefont{Empty placeholder for the MySQL Reference Manual}
-@sp 10
-@center Copyright @copyright{} 1995-2002 MySQL AB
-@c blank page after title page makes page 1 be a page front.
-@c also makes the back of the title page blank.
-@page
-@end titlepage
-
-@c This should be added. The HTML conversion also needs a MySQL version
-@c number somewhere.
-
-@iftex
-@c change this to double if you want formatting for double-sided
-@c printing
-@headings single
-
-@oddheading @thischapter @| @| @thispage
-@evenheading @thispage @| @| MySQL Technical Reference for Version @value{mysql_version}
-
-@end iftex
-
-@node Top, (dir), (dir), (dir)
-
-@ifinfo
-This is an empty placeholder file for the MySQL manual.
-
-The MySQL manual is now maintained in a separate BitKeeper source tree!
-Please see @url{http://www.mysql.com/doc/en/Installing_source_tree.html}
-for more info on how to work with BitKeeper.
-
-Please do not attempt to edit this file to add NEWS entries or to add
-documentation! Use the one in the @code{mysqldoc} BK tree instead.
-
-This file will be replaced with the current @code{manual.de.texi} when building
-the official source distribution.
-
-You can find a specific manual for any older version of MySQL
-in the binary or source distribution for that version.
-@end ifinfo
-
-@bye
diff --git a/Docs/manual.ja.texi b/Docs/manual.ja.texi
deleted file mode 100644
index 2a0b0fbf34b..00000000000
--- a/Docs/manual.ja.texi
+++ /dev/null
@@ -1,38699 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@c Copyright 1997, 1998, 1999, 2000 TcX AB, Detron HB and MySQL Finland AB
-@c
-@c *********************************************************
-@c Note that @node names are used on our Website.
-@c So do not change node names without checking
-@c Makefile.am and SitePages first.
-@c *********************************************************
-@c
-@c %**start of header
-@setfilename mysql.info
-@c We want the types in the same index
-@syncodeindex tp fn
-@c Get version info. This file is generated by the Makefile!!
-@include include.texi
-@ifclear tex-debug
-@c This removes the black squares in the right margin
-@finalout
-@end ifclear
-@c Set background for HTML
-@set _body_tags BGCOLOR=#FFFFFF TEXT=#000000 LINK=#101090 VLINK=#7030B0
-@c @set _body_tags BGCOLOR=silver TEXT=#000000 LINK=#101090 VLINK=#7030B0
-@c Set some style elements for the manual in HTML form. 'suggested'
-@c natural language colours: aqua, black, blue, fuchsia, gray, green,
-@c lime, maroon, navy, olive, purple, red, silver, teal, white, and
-@c yellow. From Steeve Buehler <ahr@YogElements.com>
-@set _extra_head <style> code {color:purple} tt {color:green} samp {color:navy} pre {color:maroon} </style>
-@settitle @strong{MySQL} Reference Manual for version @value{mysql_version}.
-@c We want single-sided heading format, with chapters on new pages. To
-@c get double-sided format change 'on' below to 'odd'
-@setchapternewpage on
-@paragraphindent 0
-@c %**end of header
-
-@ifinfo
-@format
-START-INFO-DIR-ENTRY
-* mysql: (mysql). @strong{MySQL} documentation.
-END-INFO-DIR-ENTRY
-@end format
-@end ifinfo
-
-@titlepage
-@sp 10
-@center @titlefont{@strong{MySQL} Reference Manual}
-@sp 10
-@center Copyright @copyright{} 1997, 1998, 1999, 2000 TcX AB, Detron HB and MySQL Finland AB
-@end titlepage
-
-@c This should be added. The HTML conversion also needs a MySQL version
-@c number somewhere.
-
-@iftex
-@c change this to double if you want formatting for double-sided
-@c printing
-@headings single
-@everyheading @thispage @| @| @thischapter
-@everyfooting @| @| Version: @value{mysql_version} Printed: @today{}
-@end iftex
-
-@node Top, Introduction, (dir), (dir)
-
-@c @ifhtml
-@c <IMG SRC="Images/mysql-logo.gif">
-@c <!--Image doesn't exist. Can't find suitable replacement. (Matt) -->
-@c @end ifhtml
-
-@ifinfo
-This is a manual for @strong{MySQL}. This version is about the
-@value{mysql_version} version of @strong{MySQL}. For a @strong{3.20}
-version see the relevant distribution.
-@end ifinfo
-
-@menu
-* Introduction:: General Information about @strong{MySQL}
-* Questions:: @strong{MySQL} mailing lists and how to ask questions or report errors (bugs)
-* Licensing and Support:: @strong{MySQL} licensing and support
-* Installing:: Installing @strong{MySQL}
-* Compatibility:: How standards-compatible is @strong{MySQL}?
-* Privilege system:: The @strong{MySQL} access privilege system
-* Reference:: @strong{MySQL} language reference
-* Table types:: @strong{MySQL} table types
-* Tutorial:: @strong{MySQL} Tutorial
-* Server:: @strong{MySQL} Server
-* Replication:: Replication
-* Performance:: Getting maximum performance from @strong{MySQL}
-* MySQL Benchmarks:: The @strong{MySQL} benchmark suite
-* Tools:: @strong{MySQL} Utilities
-* Maintenance:: Maintaining a @strong{MySQL} installation
-* Adding functions:: Adding new functions to @strong{MySQL}
-* Adding procedures:: Adding new procedures to @strong{MySQL}
-* ODBC:: @strong{MySQL} ODBC Support
-* Common programs:: Using @strong{MySQL} with some common programs
-* Problems:: Problems
-* Common problems:: Solving some common problems with @strong{MySQL}
-* Clients:: @strong{MySQL} client tools and APIs
-* Comparisons:: How does @strong{MySQL} compare with other databases?
-* MySQL internals:: @strong{MySQL} internals
-* Environment variables:: @strong{MySQL} environment variables
-* Users:: Some @strong{MySQL} users
-* Contrib:: Contributed programs
-* Credits:: Contributors to @strong{MySQL}
-* News:: @strong{MySQL} change history
-* Bugs:: Known errors and design deficiencies in @strong{MySQL}
-* TODO:: List of things we want to add to @strong{MySQL} in the future (The TODO)
-* Porting:: Comments on porting to other systems
-* Regexp:: Description of @strong{MySQL} regular expression syntax
-* Unireg:: What is Unireg?
-* Public license:: The @strong{MySQL} server license
-* Win license:: The @strong{MySQL} license for Microsoft operating systems
-* Function Index:: SQL command, type and function index
-* Concept Index:: Concept Index
-
-@end menu
-
-@cindex Overview
-@cindex General Information
-@node Introduction, Questions, Top, Top
-@chapter @strong{MySQL} ¤Ë¤Ä¤¤¤Æ¤Î°ìÈ̾ðÊó
-
-@menu
-* What-is:: @strong{MySQL} ¤È¤Ï²¿¤«¡©
-* Manual-info:: ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Ë¤Ä¤¤¤Æ
-* History:: @strong{MySQL} ¤ÎÎò»Ë
-* MySQL-Books:: Books about MySQL
-* Features:: @strong{MySQL}¤Î¼ç¤Êµ¡Ç½
-* Stability:: @strong{MySQL} ¤Ï¤É¤ì¤¯¤é¤¤°ÂÄ꤫¡©
-* Year 2000 compliance:: 2000 ǯÂбþ
-* General-SQL:: °ìÈÌŪ¤Ê SQL ¾ðÊó¤È¥Á¥å¡¼¥È¥ê¥¢¥ë
-* Useful Links:: ÊØÍø¤Ê @strong{MySQL} ´ØÏ¢¥ê¥ó¥¯
-@end menu
-
-¤³¤ì¤Ï @strong{MySQL} ¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ë¤Ç¤¹; ¤³¤ì¤Ï
-@strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó @value{mysql_version} ¤Ë¤Ä¤¤¤Æµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£
-
-@strong{MySQL} ¤ÏȯŸÃæ¤Ê¤Î¤Ç¡¢¥Þ¥Ë¥å¥¢¥ë¤ÏÉÑÈˤ˹¹¿·¤µ¤ì¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢
-¥ª¥ó¥é¥¤¥ó¤Ç»²¾È¤·¤Ê¤¤¸Â¤ê¡¢¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤¬´ü¸ÂÀÚ¤ì¤Ç¤¢¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
-¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤ÎºÇ¿·¥Ð¡¼¥¸¥ç¥ó¤Ï @uref{http://www.mysql.com/doc.html} ¤Ë¿
-ÍͤʷÁ¼°¤ÇÃÖ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£¥Þ¥Ë¥å¥¢¥ëÆâ¤Î¾ðÊó¤ò¸«¤Ä¤±¤ë¤Ä¤é¤¤»þ´Ö¤ò»ý¤Ä¤Ê¤é¡¢
-¸¡º÷²Äǽ PHP ¥Ð¡¼¥¸¥ç¥ó @uref{http://www.mysql.com/php/manual.php3} ¤ò»î¤¹
-¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-
-@strong{MySQL} ¤Ï¤È¤Æ¤â¹â®¤Ç¡¢¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¡¢¥Þ¥ë¥Á¥æ¡¼¥¶¡¢´è¾æ¤Ê SQL
-(Structured Query Language)¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¡¼¥Ð¤Ç¤¹¡£
-
-Unix ¤È OS/2 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï @strong{MySQL} ¤Ï´ðËÜŪ¤Ë̵½þ¤Ç¤¢¤ê¡¢Microsoft
-¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¡¢30Æü¤Î»îÍÑ´ü´Ö¤ò²á¤®¤Æ»ÈÍѤ¹¤ë¾ì¹ç¤Ë @strong{MySQL} ¥é¥¤¥»¥ó¥¹¤ò
-Çã¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó. @xref{Licensing and Support}.
-
-@uref{http://www.mysql.com/, @strong{MySQL} ¥Û¡¼¥à¥Ú¡¼¥¸}¤Ï @strong{MySQL}
-¤Ë¤Ä¤¤¤Æ¤ÎºÇ¿·¾ðÊó¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£
-
-¼¡¤Î¥ê¥¹¥È¤Ï¥Þ¥Ë¥å¥¢¥ë¤Î¤¤¤¯¤Ä¤«¤ÎÍ­ÍѤʥ»¥¯¥·¥ç¥ó¤òÀâÌÀ¤·¤Æ¤¤¤Þ¤¹:
-
-@itemize @bullet
-@item
-@strong{MySQL} ¤ÎǽÎϤÎÀâÌÀ¤Ë¤Ä¤¤¤Æ¤Ï¡¢@ref{Features} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï @ref{Installing} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-@strong{MySQL} ¤ò¿·¤·¤¤¥Þ¥·¥ó¤ä OS ¤Ë°Ü¹Ô¤¹¤ë¤¿¤á¤Î¥Ò¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï
-@ref{Porting} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-3.21 ¥ê¥ê¡¼¥¹¤«¤é¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Ï¡¢
-@ref{Upgrading-from-3.21} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-@strong{MySQL} ƳÆþ¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ë¤Ä¤¤¤Æ¤Ï¡¢@ref{Tutorial} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-SQL ¤ÎÎã¤È¥Ù¥ó¥Á¥Þ¡¼¥¯¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¥Ù¥ó¥Á¥Þ¡¼¥­¥ó¥°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»²¾È
-¤·¤Æ¤¯¤À¤µ¤¤¡£(@file{sql-bench} ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹)
-
-@item
-¿·¤·¤¤µ¡Ç½¤È¥Ð¥°½¤Àµ¤ÎÍúÎò¤Ë¤Ä¤¤¤Æ¤Ï @ref{News} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-¸½ºßÃΤé¤ì¤Æ¤¤¤ë¥Ð¥°¤È̵¤¤µ¡Ç½¤Î°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï @ref{Bugs} ¤ò»²¾È¤·¤Æ¤¯¤À
-¤µ¤¤¡£
-
-@item
-¾­Íè¤Î·×²è¤Ë¤Ä¤¤¤Æ¤Ï @ref{TODO} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Ø¤ÎÁ´¤Æ¤Î¹×¸¥¼Ô¤Î¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï @ref{Credits} ¤ò»²¾È¤·¤Æ¤¯¤À
-¤µ¤¤¡£
-@end itemize
-
-@strong{½ÅÍ×:}
-
-@c if the @email is at the beginning of a line the texi2html fails
-¥¨¥é¡¼(¥Ð¥°)¥ì¥Ý¡¼¥È¡¢¼ÁÌä¡¢¥³¥á¥ó¥È¤Ï
-¥á¡¼¥ê¥ó¥°¥ê¥¹¥È @email{mysql@@lists.mysql.com} ¤ËÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£@xref{Bug reports}¡£
-¥Ð¥°¥ì¥Ý¡¼¥È¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë¤Ï @code{mysqlbug} ¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-@c FIX! RPMs are also binary
-¥½¡¼¥¹¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ç¤Ï¡¢@code{mysqlbug} ¥¹¥¯¥ê¥×¥È¤Ï @file{scripts} ¥Ç¥£¥ì¥¯¥È¥ê
-¤Ë¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Ð¥¤¥Ê¥ê¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ç¤Ï¡¢@code{mysqlbug} ¤Ï
-@file{bin} ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@c FIX! Remeber to create the alias!
-¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Ø¤ÎÄɲäޤ¿¤Ï½¤Àµ¤Ë´ØÏ¢¤¹¤ëÄó°Æ¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¤½¤ì¤é¤ò
-@strong{MySQL} ¥Þ¥Ë¥å¥¢¥ë¥Á¡¼¥à (@email{docs@@mysql.com})¤Ë
-Á÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-
-@cindex @strong{MySQL}, what it is
-@node What-is, Manual-info, Introduction, Introduction
-@section @strong{MySQL} ¤È¤Ï²¿¤«¡©
-
-@strong{MySQL} ¤ÏËÜÅö¤Ë¥Þ¥ë¥Á¥æ¡¼¥¶¡¢¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¤Î SQL
-¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¡¼¥Ð¤Ç¤¹¡£SQL ¤ÏÀ¤³¦¤Ç¤â¤Ã¤È¤â¥Ý¥Ô¥å¥é¡¼¤Ê
-¥Ç¡¼¥¿¥Ù¡¼¥¹¸À¸ì¤Ç¤¹¡£@strong{MySQL} ¤Ï¡¢¥µ¡¼¥Ð¥Ç¡¼¥â¥ó @code{mysqld} ¤È
-¿¤¯¤Î¼ïÎà¤Î¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤È¥é¥¤¥Ö¥é¥ê¤«¤é¤Ê¤ë¥¯¥é¥¤¥¢¥ó¥È/¥µ¡¼
-¥Ð¼ÂÁõ¤Ç¤¹¡£
-
-SQL¤Ï¡¢¾ðÊó¤òÊݸ¤·¡¢¹¹¿·¤·¡¢¤½¤·¤Æ¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤ò´Êñ¤Ë¤¹¤ë¤¿¤á¤Ëɸ½à²½¤µ¤ì¤¿¸À¸ì¤Ç¤¹¡£
-Î㤨¤Ð¡¢¤¢¤Ê¤¿¤Ï¡¢¾¦ÉÊ°ÆÆâ¤ò¸¡º÷¤¹¤ë¤¿¤á¤ËSQL¤ò»È¤Ã¤Æ¡¢
-¥¦¥§¥Ö¥µ¥¤¥È¤Ë´Ø¤¹¤ë¥«¥¹¥¿¥Þ¡¼¾ðÊó¤òÃßÀѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@strong{MySQL} ¤Ï¡¢¥í¥°¤ä¼Ì¿¿¤òÊݸ¤µ¤»¤ë¤Ë¤â¡¢½½Ê¬¤Ë¤Ï¤ä¤¯¡¢¥Õ¥ì¥­¥·¥Ö¥ë¤Ç¤¹¡£
-
-@strong{MySQL} ¤Î¼ç¤ÊÌÜŪ¤Ï¹â®¤Ç´è¾æ¤Ç´Êñ¤Ë»ÈÍѤǤ­¤ë¤³¤È¤Ç¤¹¡£
-@strong{MySQL} ¤ÏÆȼ«¤Ë³«È¯¤µ¤ì¤Þ¤·¤¿¡£²æ¡¹¤Ï¡¢¤È¤Æ¤âÂ礭¤Ê¥Ç¡¼¥¿
-¥Ù¡¼¥¹¤ò¡¢Â¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ù¥ó¥À¤¬²æ¡¹¤ËÄ󶡤¹¤ë¤â¤Î¤è¤ê¤â®¤¯¡¢½ÅÍ×ÅÙ¤Î
-½ç¤Ë½èÍý¤Ç¤­¤ë SQL ¥µ¡¼¥Ð¤òɬÍפȤ·¤Æ¤¤¤¿¤«¤é¤Ç¤¹¡£²æ¡¹¤Ï¡¢10,000 ¥Æ¡¼
-¥Ö¥ë¤ò´Þ¤à 40 °Ê¾å¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î´Ä¶­¤Ç 1996 ǯ¤«¤é @strong{MySQL} ¤ò»È
-ÍѤ·¤Æ¤¤¤Þ¤¹¡£¤½¤Î¥Æ¡¼¥Ö¥ë¤Î 500 ¥Æ¡¼¥Ö¥ë°Ê¾å¤Ï 700Ëü°Ê¾å¤Î¥ì¥³¡¼¥É¤ò»ý¤Á¤Þ¤¹¡£
-¤³¤ì¤ÏÌó100¥®¥¬¥Ð¥¤¥È¤Î¡¢´ð´´¶È̳¤Î¥Ç¡¼¥¿¤Ç¤¹¡£
-
-@strong{MySQL} ¤¬ºîÀ®¤µ¤ì¤ë¾å¤Ç¤Î´ðËܤϡ¢²¿Ç¯¤â¤Î´Ö¡¢À½ÉʴĶ­¤Î¹â¤¤Í×µá
-¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤¿¥ë¡¼¥Á¥ó¤Î¥»¥Ã¥È¤Ç¤¹¡£@strong{MySQL} ¤Ï¤Þ¤À³«È¯Ãæ¤Ç¤¹¤¬¡¢
-Ë­É٤ǤȤƤâÍ­ÍѤʴؿô¥»¥Ã¥È¤ò´û¤ËÄ󶡤·¤Æ¤¤¤Þ¤¹¡£
-
-@cindex How to pronounce @strong{MySQL}
-@cindex @strong{MySQL}, how to pronounce
-@strong{MySQL} ¤Î¸ø¼°¤Êȯ²»¤Ï ``My Ess Que Ell'' ¤Ç¤¹(MY-SEQUEL ¤Ç¤Ï¤¢¤ê
-¤Þ¤»¤ó)¡£
-
-@cindex Manual information
-@node Manual-info, History, What-is, Introduction
-@section ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Ë¤Ä¤¤¤Æ
-
-¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Ï°Ê²¼¤ÎÊý¡¹¤Ë¤è¤êÌõ¤µ¤ì¤Þ¤·¤¿
-(¥Ï¥ó¥É¥ë̾¤À¤±½ñ¤­¤Þ¤¹¡£·É¾Îά¡£ËÝÌõ¥µ¡¼¥Ð¡¼¤ËÅÐÏ¿¤·¤¿½ç :) )¡§
-
-@itemize @bullet
-@item ̱ÅÍ
-@item hama
-@item dale
-@item kippara
-@item kenji
-@item aoki
-@item tok21108
-@item ¤³¤à¤é
-@item tamori
-@end itemize
-
-@menu
-* Manual conventions:: Conventions used in this manual
-@end menu
-
-¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Ï¸½ºß Texinfo, ¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È, Info, HTML,
-PostScript, PDF ¥Ð¡¼¥¸¥ç¥ó
-¤¬¤¢¤ê¤Þ¤¹¡£¥µ¥¤¥º¤¬Â礭¤¤¤¿¤á Postscript ¤È PDF ¥Ð¡¼¥¸¥ç¥ó¤Ï
-@strong{MySQL} ¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ë¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¤¬¡¢Ê̤˥À¥¦¥ó
-¥í¡¼¥É¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£@uref{http://www.mysql.com/}.
-
-¥×¥é¥¤¥Þ¥ê¥É¥­¥å¥á¥ó¥È¤Ï Texinfo ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£HTML ¥Ð¡¼¥¸¥ç¥ó¤Ï
-@code{texi2html} ¤ÎÊѹ¹¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤Ç¼«Æ°Åª¤ËÄ󶡤µ¤ì¤Þ¤¹¡£¥×¥ì¡¼¥ó
-¥Æ¥­¥¹¥È¤È Info ¥Ð¡¼¥¸¥ç¥ó¤Ï @code{makeinfo} ¤ÇÄ󶡤µ¤ì¤Þ¤¹¡£PostScript
-¥Ð¡¼¥¸¥ç¥ó¤Ï @code{texi2dvi} ¤È @code{divps} ¤ò»ÈÍѤ·¤ÆÄ󶡤µ¤ì¤Þ¤¹¡£PDF
-¥Ð¡¼¥¸¥ç¥ó¤Ï Ghostscript ¥æ¡¼¥Æ¥£¥ê¥Æ¥£ @code{ps2pdf} ¤ÇÄ󶡤µ¤ì¤Þ¤¹¡£
-
-¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Ï David Axmark, Michael (Monty) Widenius, Paul DuBois,
-¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¡¢°Ý»ý¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Â¾¤Î¹×¸¥¼Ô¤Ë¤Ä¤¤¤Æ¤Ï
-@ref{Credits} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@node Manual conventions, , Manual-info, Manual-info
-@subsection ¤³¤Î¥Þ¥Ë¥å¥¢¥ëÃæ¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ëɽµ­
-
-¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤ÏÆÃÄê¤Î°õºþ¾å¤Îɽµ­¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹:
-
-@table @asis
-@item @code{constant}
-¸ÇÄêÉý¥Õ¥©¥ó¥È¤Ï¼¡¤Î¤â¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¥³¥Þ¥ó¥É̾, ¥ª¥×¥·¥ç¥ó; SQL ¥¹¥Æ¡¼
-¥È¥á¥ó¥È; ¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾, ¥Æ¡¼¥Ö¥ë̾, ¥Õ¥£¡¼¥ë¥É̾; C ¤È Perl ¥³¡¼¥É; ´Ä¶­ÊÑ¿ô¡£
-Îã: ``@code{mysqladmin} ¤¬¤É¤Î¤è¤¦¤ËÆ°ºî¤¹¤ë¤«¤ò¸«¤ë¤¿¤á¤Ë¤Ï¡¢
-@code{--help} ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£''
-
-@item @file{filename}
-°úÍÑÉä¤Ç³ç¤é¤ì¤¿¸ÇÄêÉý¥Õ¥©¥ó¥È¤Ï¥Õ¥¡¥¤¥ë̾¤È¥Ñ¥¹Ì¾¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£Îã: ``
-¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ï @file{/usr/local} ¥Ç¥£¥ì¥¯¥È¥êÇÛ²¼¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£''
-
-@item @samp{c}
-°úÍÑÉä¤Ç³ç¤é¤ì¤¿¸ÇÄêÉý¥Õ¥©¥ó¥È¤Ïʸ»ú¥·¡¼¥±¥ó¥¹¤ò¼¨¤¹¤¿¤á¤Ë¤â»ÈÍѤµ¤ì¤Þ¤¹¡£
-Îã: ``¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ØÄꤹ¤ë¤¿¤á¤Ë¤Ï¡¢@samp{%} ʸ»ú¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£''
-
-@item @emph{italic}
-¥¤¥¿¥ê¥Ã¥¯¥Õ¥©¥ó¥È¤Ï¶¯Ä´¤Î¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹, @emph{¤³¤Î¤è¤¦¤Ë}¡£
-
-@item @strong{boldface}
-¥Ü¡¼¥ë¥É¥Õ¥©¥ó¥È¤Ï¥¢¥¯¥»¥¹¸¢Ì¾(Î㤨¤Ð¡¢``@strong{process} ¸¢¤òÍưפË
-Í¿¤¨¤Ê¤¤¤Ç¤¯¤À¤µ¤¤'')¤È¡¢@strong{Æä˶¯¤¤¶¯Ä´}¤òÅÁ¤¨¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-@end table
-
-¥³¥Þ¥ó¥É¤¬ÆÃÄê¤Î¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤Æ¼Â¹Ô¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¤³¤È¤òɽ¤¹»þ¡¢
-¥³¥Þ¥ó¥É¤È¶¦¤Ëɽ¼¨¤µ¤ì¤ë¥×¥í¥ó¥×¥È¤Ë¤è¤Ã¤Æ¡¢¤½¤Î¥×¥í¥°¥é¥à¤òɽ¤·¤Þ¤¹¡£Î㤨¤Ð¡¢
-@code{shell>} ¤Ï¡¢¤¢¤Ê¤¿¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤«¤é¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤òɽ¤·¡¢
-@code{mysql>} ¤Ï @code{mysql} ¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤«¤é¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤òɽ¤·¤Þ¤¹:
-
-@example
-shell> type a shell command here
-mysql> type a mysql command here
-@end example
-
-¥·¥§¥ë¥³¥Þ¥ó¥É¤Ï Bourne ¥·¥§¥ë¹½Ê¸¤Ç¼¨¤µ¤ì¤Þ¤¹¡£@code{csh} ·Á¼°¤Î¥·¥§
-¥ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤ï¤º¤«¤ËÊѹ¹¤·¤Æ¥³¥Þ¥ó¥É¤òȯ¹Ô¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç
-¤¦¡£Î㤨¤Ð¡¢´Ä¶­ÊÑ¿ô¤òÀßÄꤷ¤Æ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¥·¡¼¥±¥ó¥¹¤Ï¡¢Bourne ¥·¥§
-¥ë¹½Ê¸¤Ç¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹:
-
-@example
-shell> VARNAME=value some_command
-@end example
-
-@code{csh} ¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥·¡¼¥±¥ó¥¹¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤:
-
-@example
-shell> setenv VARNAME value
-shell> some_command
-@end example
-
-¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾, ¥Æ¡¼¥Ö¥ë̾, ¥Õ¥£¡¼¥ë¥É̾¤Ï¥³¥Þ¥ó¥É¤ÎÃæ¤ÇÃÖ´¹¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤
-¤³¤È¤¬¤è¤¯¤¢¤ê¤Þ¤¹¡£¤³¤Î¤è¤¦¤ÊÃÖ´¹¤¬É¬Íפʤ³¤È¤ò¼¨¤¹¤¿¤á¤Ë¡¢¤³¤Î¥Þ¥Ë¥å¥¢
-¥ë¤Ï @code{db_name}, @code{tbl_name}, @code{col_name} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-Î㤨¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥¹¥Æ¡¼¥È¥á¥ó¥È¤ò¸«¤¿¾ì¹ç:
-
-@example
-mysql> SELECT col_name FROM db_name.tbl_name;
-@end example
-
-¤³¤ì¤Ï¡¢Æ±ÍͤΥ¹¥Æ¡¼¥È¥á¥ó¥È¤òÆþÎϤ¹¤ë¤¿¤á¤Ë¤Ï¡¢¤ª¤½¤é¤¯¼¡¤Î¤è¤¦¤Ë¡¢¤¢¤Ê
-¤¿¼«¿È¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾, ¥Æ¡¼¥Ö¥ë̾, ¥Õ¥£¡¼¥ë¥É̾¤ò¶¡µë¤¹¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹:
-
-@example
-mysql> SELECT author_name FROM biblio_db.author_list;
-@end example
-
-SQL ¥¹¥Æ¡¼¥È¥á¥ó¥È¤ÏÂçʸ»ú¤Ç¤â¾®Ê¸»ú¤Ç¤âµ­½Ò¤Ç¤­¤Þ¤¹¡£¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤¬
-SQL ¥¹¥Æ¡¼¥È¥á¥ó¥È¤ò¼¨¤¹¤È¤­¤Ï¡¢ÆÃÊ̤ʥ­¡¼¥ï¡¼¥É¤òÀâÌÀ¤·¤Æ¤¤¤ë»þ¤Ë¤Ï(¤½
-¤ì¤ò¶¯Ä´¤¹¤ë¤¿¤á¤Ë)¤½¤Î¥­¡¼¥ï¡¼¥É¤ËÂçʸ»ú¤¬»ÈÍѤµ¤ì¡¢»Ä¤ê¤Î¥¹¥Æ¡¼¥È¥á¥ó
-¥È¤Ë¾®Ê¸»ú¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ Î㤨¤Ð¡¢@code{SELECT} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤ÎÀâÌÀÃæ
-¤Ë¤Ï¼¡¤¬¸«¤é¤ì¤ë¤Ç¤·¤ç¤¦:
-
-@example
-mysql> SELECT count(*) FROM tbl_name;
-@end example
-
-°ìÊý¡¢@code{COUNT()} ´Ø¿ô¤ÎÀâÌÀÃæ¤Ç¤Ï¡¢¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ï¼¡¤Î¤è¤¦¤Ë½ñ¤«¤ì
-¤Þ¤¹:
-
-@example
-mysql> select COUNT(*) from tbl_name;
-@end example
-
-ÆÃÊ̤ʶ¯Ä´¤¬°Õ¿Þ¤µ¤ì¤Ê¤¤¾ì¹ç¡¢Á´¤Æ¤Î¥­¡¼¥ï¡¼¥É¤ÏÂçʸ»ú¤Ç½ñ¤«¤ì¤Þ¤¹¡£
-
-¹½Ê¸¤ÎÀâÌÀÃæ¤Ç¤Ï¡¢³Ñ³ç¸Ì(@samp{[} ¤È @samp{]})¤Ï¥ª¥×¥·¥ç¥ó¤Îñ¸ì¤äÀá¤Ç¤¢
-¤ë¤³¤È¤ò¼¨¤¹¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹:
-
-@example
-DROP TABLE [IF EXISTS] tbl_name
-@end example
-
-¹½Ê¸Í×ÁǤ¬¤¤¤¯¤Ä¤«¤Î¤â¤Î¤«¤é¤Ê¤ë¾ì¹ç¡¢¿âľ¥Ð¡¼(@samp{|})¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£
-ÁªÂò¥»¥Ã¥È¤«¤é°ì¤Ä¤Î¥á¥ó¥Ð¤òÁª¤Ö¤³¤È¤¬¤Ç¤­¤ë¤È¤­¤Ï¡¢³Ñ³ç¸ÌÃæ¤Ë¥ê¥¹¥È¤µ¤ì
-¤Þ¤¹¡£
-(@samp{[} and @samp{]}):
-
-@example
-TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str)
-@end example
-
-ÁªÂò¥»¥Ã¥È¤«¤é°ì¤Ä¤Î¥á¥ó¥Ð¤òÁª¤ÖɬÍפ¬¤¢¤ë¤È¤­¤Ï¡¢Çȳç¸Ì(@samp{@{}
-¤È @samp{@}})Ãæ¤Ë¥ê¥¹¥È¤µ¤ì¤Þ¤¹:
-
-@example
-@{DESCRIBE | DESC@} tbl_name @{col_name | wild@}
-@end example
-
-@cindex @strong{MySQL} version
-@node History, MySQL-Books, Manual-info, Introduction
-@section @strong{MySQL} ¤ÎÎò»Ë
-
-²æ¡¹¼«¿È¤Î®¤¯¤ÆÄã¥ì¥Ù¥ë¤Ê (ISAM) ¥ë¡¼¥Á¥ó¤ò»ÈÍѤ¹¤ë¡¢²æ¡¹¤Î¥Æ¡¼¥Ö¥ë¤Ø
-Àܳ¤¹¤ë¤¿¤á¤Ë¡¢ ²æ¡¹¤Ï°ìÅÙ
-@code{mSQL} ¤ò»ÈÍѤ¹¤ë¤Ä¤â¤ê¤Ç¤·¤¿¡£¤·¤«¤·¡¢¤¤¤¯¤Ä¤«¤Î¥Æ¥¹¥È¤Î¸å¡¢²æ¡¹¤Ï
-@code{mSQL} ¤Ï²æ¡¹¤¬É¬ÍפȤ¹¤ë¤Û¤É¹â®¤Ç¤Ï¤Ê¤¯¡¢½ÀÆðÅÙ¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤È¤Î
-·ëÏÀ¤Ë»ê¤ê¤Þ¤·¤¿¡£¤³¤Î·ë²Ì¡¢@code{mSQL} ¤È¤Û¤È¤ó¤ÉƱ¤¸ API ¥¤¥ó¥¿¥Õ¥§¡¼
-¥¹¤ò»ý¤Ä¡¢²æ¡¹¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¿·¤·¤¤ SQL ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ëµ¢·ë¤·¤Þ¤·¤¿¡£
-¤³¤Î API ¤Ï¥µ¡¼¥É¥Ñ¡¼¥Æ¥£¥³¡¼¥É¤Î°Ü¿¢¤ò´Êñ¤Ë¤¹¤ë¤¿¤á¤ËÁªÂò¤µ¤ì¤Þ¤·¤¿¡£
-
-@strong{MySQL} ¤Î̾Á°¤ÎͳÍè¤Ï´°Á´¤Ë¤ÏÌÀ¤é¤«¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£²æ¡¹¤Î¥Ù¡¼¥¹
-¥Ç¥£¥ì¥¯¥È¥ê¤È¿¤¯¤Î¥é¥¤¥Ö¥é¥ê¤È¥Ä¡¼¥ë¤ÏÀÜƬ¼­ ``my'' ¤ò 10 ǯ°Ê¾å¤â»È¤Ã
-¤Æ¤¤¤Þ¤¹¡£¤·¤«¤·¡¢Monty ¤Î̼(²¿Ç¯¤«¼ã¤¤)¤â My ¤È¤¤¤¦Ì¾Á°¤Ç¤¹¡£¤½¤Î¤¿¤á¡¢
-¤³¤Î2¤Ä¤Î¤É¤Á¤é¤¬ @strong{MySQL} ¤Ë̾Á°¤òÍ¿¤¨¤¿¤«¤Ï¡¢²æ¡¹¤Ë¤È¤Ã¤Æ¤â̤¤À
-Ææ¤Ç¤¹¡£
-
-@node MySQL-Books, Features, History, Introduction
-@section Books about MySQL
-
-While this manual is still the right place for up to date techical
-information, its primary goal is to contain everything there is to know
-about @strong{MySQL}. And it is sometimes nice to have a bound book to read
-in bed or while you travel. Here are a list of books about @strong{MySQL} (in
-English).
-
-@multitable @columnfractions .3 .7
-@item Title @tab @uref{http://www2.newriders.com/cfm/prod_book.cfm?RecordID=584,MySQL}
-@item Publisher @tab New Riders
-@item Author @tab Paul DuBois
-@item Pub Date @tab 1st Edition December 1999
-@item ISBN @tab 0735709211
-@item Pages @tab 800
-@item Price @tab $49.99 US
-@item Downloadable examples @tab @uref{http://mysql.com/Contrib/Examples/samp_db.tar.gz, @code{samp_db.tar.gz}}
-@item Errata @tab @uref{http://www.mysql.com/pauls-mysql-book-errata.html, are available here}
-@end multitable
-Foreword by Michael ``Monty'' Widenius, @strong{MySQL} Moderator
-
-In @strong{MySQL}, Paul DuBois provides you with a comprehensive guide to
-one of the most popular relational database systems. Paul has
-contributed to the online documentation for @strong{MySQL}, and is an
-active member of the @strong{MySQL} community. The principal @strong{MySQL}
-developer, Monty Widenius, and a network of his fellow developers
-reviewed the manuscript, providing Paul with the kind of insight
-no one else could supply.
-
-Instead of merely giving you a general overview of @strong{MySQL}, Paul
-teaches you how to make the most of its capabilities. Through two
-sample database applications that run throughout the book, he
-gives you solutions to problems you're sure to face. He helps you
-integrate @strong{MySQL} efficiently with third-party tools, such as PHP
-and Perl, enabling you to generate dynamic Web pages through
-database queries. He teaches you to write programs that access
-@strong{MySQL} databases, and also provides a comprehensive set of
-references to column types, operators, functions, SQL syntax,
-@strong{MySQL} programming, C API, Perl @code{DBI}, and PHP API.
-@strong{MySQL} simply gives you the kind of information you won't find
-anywhere else.
-
-If you use @strong{MySQL}, this book provides you with:
-@itemize @bullet
-@item
-An introduction to @strong{MySQL} and SQL
-@item
-Coverage of @strong{MySQL}'s data types and how to use them
-@item
-Thorough treatment of how to write client programs in C
-@item
-A guide to using the Perl @code{DBI} and PHP APIs for developing
-command-line and Web-based applications
-@item
-Tips on administrative issues such as user accounts, backup,
-crash recovery, and security
-@item
-Help in choosing an ISP for @strong{MySQL} access
-@item
-A comprehensive reference for @strong{MySQL}'s data types, operators,
-functions, and SQL statements and utilities
-@item
-Complete reference guides for @strong{MySQL}'s C API, the Perl @code{DBI} API,
-and PHP's @strong{MySQL}-related functions
-@end itemize
-
-@multitable @columnfractions .3 .7
-@item Title @tab @uref{http://www.oreilly.com/catalog/msql/noframes.html,MySQL & mSQL}
-@item Publisher @tab O'Reilly
-@item Authors @tab Randy Jay Yarger, George Reese & Tim King
-@item Pub Date @tab 1st Edition July 1999
-@item ISBN @tab 1-56592-434-7, Order Number: 4347
-@item Pages @tab 506
-@item Price @tab $34.95
-@end multitable
-
-This book teaches you how to use @strong{MySQL} and @code{mSQL}, two popular and
-robust database products that support key subsets of SQL on both Linux
-and UNIX systems. Anyone who knows basic C, Java, Perl, or Python can
-write a program to interact with a database, either as a stand-alone
-application or through a Web page. This book takes you through the
-whole process, from installation and configuration to programming
-interfaces and basic administration. Includes ample tutorial
-material.
-
-@multitable @columnfractions .3 .7
-@item Title @tab @uref{http://shop.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=0672319144,Sams Teach Yourself MySQL in 21 Days}
-@item Publisher @tab Sams
-@item Authors @tab Mark Maslakowski and Tony Butcher
-@item Pub Date @tab June 2000
-@item ISBN @tab 0672319144
-@item Pages @tab N/A
-@item Price @tab $39.99
-@end multitable
-
-Sams Teach Yourself @strong{MySQL} in 21 Days is for intermediate Linux users
-who want to move into databases. A large share of the audience to be web
-developers needing a database to store large amounts of information that can
-be retrieved via the Web. Sams Teach Yourself @strong{MySQL} in 21 Days is a
-practical, step-by-step tutorial. The reader will learn to design and employ
-this open source database technology into his/her web site using practical,
-hands-on examples to follow.
-
-@multitable @columnfractions .3 .7
-@item Title @tab @uref{http://shop.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=0761524452,E-Commerce Solutions with MySQL}
-@item Publisher @tab Prima
-@item Authors @tab N/A
-@item Pub Date @tab September 2000
-@item ISBN @tab 0761524452
-@item Pages @tab 500
-@item Price @tab $39.99
-@end multitable
-
-No description available.
-
-@multitable @columnfractions .3 .7
-@item Title @tab @uref{http://shop.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=1861004281,Professional MySQL Programming}
-@item Publisher @tab Wrox
-@item Authors @tab N/A
-@item Pub Date @tab July 2000
-@item ISBN @tab 1861004281
-@item Pages @tab 1000
-@item Price @tab $49.99
-@end multitable
-
-No description available.
-
-@multitable @columnfractions .3 .7
-@item Title @tab @uref{http://shop.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=0672317842,PHP3 and MySQL Web Development}
-@item Publisher @tab N/A
-@item Authors @tab William Jason Gilmore
-@item Pub Date @tab October 2000
-@item ISBN @tab 672317842
-@item Pages @tab N/A
-@item Price @tab $39.99
-@end multitable
-
-No description available.
-
-@node Features, Stability, MySQL-Books, Introduction
-@section @strong{MySQL}¤Î¼ç¤Êµ¡Ç½
-
-@strong{MySQL} ¤Î½ÅÍפÊÆÃħ¤Î¤¤¤¯¤Ä¤«¤ò°Ê²¼¤Î¹àÌܤˤ¢¤²¤Þ¤¹¡§
-
-@c This list is too technical and should be divided into one feature
-@c list comparable to commercial competition and a very technical on
-@c with max limits (from crash-me) and so on.
-@itemize @bullet
-@item
-¥«¡¼¥Í¥ë¥¹¥ì¥Ã¥É¤ò»ÈÍѤ¹¤ë´°Á´¤Ê¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¡£¤³¤ì¤ÏÍ­¸ú¤Ç¤¢¤ì¤Ð´Êñ¤Ë
-Ê£¿ô¤Î CPU ¤ò»ÈÍѤǤ­¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-
-@item
-C, C++, Ruby, Eiffel, Java, Perl, PHP, Python ¤½¤·¤Æ Tcl API¡£@xref{Clients}¡£
-
-@item
-¿¤¯¤Î¼ïÎà¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ÇÆ°ºî¤·¤Þ¤¹¡£@xref{Which OS}¡£
-
-@item
-¿¤¯¤Î¥Õ¥£¡¼¥ë¥É·¿: 1, 2, 3, 4, 8 ¥Ð¥¤¥ÈŤÎÉä¹æÉÕ¤­/Éä¹æ̵¤·À°¿ô,
-@code{FLOAT}, @code{DOUBLE}, @code{CHAR}, @code{VARCHAR}, @code{TEXT},
-@code{BLOB}, @code{DATE}, @code{TIME}, @code{DATETIME}, @code{TIMESTAMP},
-@code{YEAR}, @code{SET}, @code{ENUM} ·¿¡£@xref{Column types}¡£
-
-@item
-ºÇŬ²½¤µ¤ì¤¿ one-sweep multi-join ¤ò»ÈÍѤ¹¤ë¤È¤Æ¤â®¤¤·ë¹ç¡£
-
-@item
-¥¯¥¨¥ê¤Î @code{SELECT} ¤È @code{WHERE} ÉôÆâ¤Ç¤ÎÁ´¤Æ¤Î±é»»»Ò¤È´Ø¿ô¤Î¥µ¥Ý¡¼
-¥È¡£Îã:
-@example
-mysql> SELECT CONCAT(first_name, " ", last_name) FROM tbl_name
- WHERE income/dependents > 10000 AND age > 30;
-@end example
-
-@item
-SQL ´Ø¿ô¤Ï¹âÅ٤˺ÇŬ²½¤µ¤ì¤¿¥¯¥é¥¹¥é¥¤¥Ö¥é¥ê¤òÄ̤·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤Æ¡¢¤½¤ì
-¤¬ÆÀ¤ë¤³¤È¤Î¤Ç¤­¤ë¤Î¤ÈƱ¤¸¤¯¤é¤¤Â®¤¤¤Î¤Ç¤¹¡ª ÉáÄÌ¡¢¥¯¥¨¥ê¤Î½é´ü²½¤Î¸å¤Ë
-¤Ï¡¢Á´¤¯¥á¥â¥ê³ä¤êÅö¤Æ¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-
-@item
-SQL @code{GROUP BY} ¤È @code{ORDER BY} Àá¤Î´°Á´¤Ê¥µ¥Ý¡¼¥È¡£¥°¥ë¡¼¥×´Ø¿ô
-(@code{COUNT()}, @code{COUNT(DISTINCT)}, @code{AVG()}, @code{STD()}, @code{SUM()}, @code{MAX()},
-@code{MIN()}) ¤Î¥µ¥Ý¡¼¥È¡£
-
-@item
-ANSI SQL ¤È ODBC ¹½Ê¸¤Ç¤Î @code{LEFT OUTER JOIN} ¤Î¥µ¥Ý¡¼¥È¡£
-
-@item
-Ʊ°ì¥¯¥¨¥êÆâ¤Ë°Û¤Ê¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¤Î¥Æ¡¼¥Ö¥ë¤òº®ºß¤Ç¤­¤Þ¤¹ (¥Ð¡¼¥¸¥ç¥ó
-3.22)¡£
-
-@item
-¤È¤Æ¤â½ÀÆð¤Ç°ÂÁ´¤Ê Æø¢¥·¥¹¥Æ¥à ¤È¥Ñ¥¹¥ï¡¼¥É¥·¥¹¥Æ¥à¡£
-¥Û¥¹¥È¥Ù¡¼¥¹¤Î¾ÚÌÀ¤¬²Äǽ¤Ç¤¹¡£
-¥µ¡¼¥Ð¤ËÀܳ¤¹¤ë»þ¤ÎÁ´¤Æ¤Î¥Ñ¥¹¥ï¡¼¥É¥È¥é¥Õ¥£¥Ã¥¯¤Ï°Å¹æ²½¤µ¤ì¤Æ¤¤¤ë¤¿¤á¥Ñ
-¥¹¥ï¡¼¥É¤Ï°ÂÁ´¤Ç¤¹¡£
-
-@item
-Windows95 ¤Î ODBC (Open-DataBase-Connectivity) (¥½¡¼¥¹¤Ä¤­)¡£Á´¤Æ¤Î ODBC
-2.5 ´Ø¿ô¤È¾¤Î¿¤¯¡£¤¢¤Ê¤¿¤Î @strong{MySQL} ¥µ¡¼¥Ð¤ËÀܳ¤¹¤ë¤¿¤á¤Ë¡¢Î㤨
-¤Ð Access ¤ò»ÈÍѤǤ­¤Þ¤¹¡£@xref{ODBC}¡£
-
-@item
-¥¤¥ó¥Ç¥Ã¥¯¥¹°µ½Ì¤Ä¤­¤Î¤È¤Æ¤â®¤¤ B-tree ¥Ç¥£¥¹¥¯¥Æ¡¼¥Ö¥ë¡£
-
-@item
-¥Æ¡¼¥Ö¥ëËè¤Ë 16 ¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬µö¤µ¤ì¤Þ¤¹¡£³Æ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï 1 ¤«¤é 16 ¸Ä
-¤Î¥Õ¥£¡¼¥ë¥É¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤Î°ìÉô¤«¤é¤Ê¤ê¤Þ¤¹¡£ºÇÂ祤¥ó¥Ç¥Ã¥¯¥¹Ä¹¤Ï 256 ¥Ð¥¤¥È¤Ç¤¹
-(¤³¤ì¤Ï @strong{MySQL} ¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤ËÊѹ¹¤Ç¤­¤Þ¤¹)¡£¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï
-@code{CHAR} ¤Þ¤¿¤Ï @code{VARCHAR} ¥Õ¥£¡¼¥ë¥É¤ÎÀèƬÉôʬ¤ò»ÈÍѤǤ­¤Þ¤¹¡£
-
-@item
-¸ÇÄêĹ¤È²ÄÊÑĹ¤Î¥ì¥³¡¼¥É¡£
-
-@item
-°ì»þ¥Æ¡¼¥Ö¥ë¤È¤·¤Æ»ÈÍѤµ¤ì¤ë¥á¥â¥êÆâ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¡£
-
-@item
-Â礭¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÁàºî¡£²æ¡¹¤Ï¡¢50,000,000 ¥ì¥³¡¼¥É¤ò´Þ¤à¤¤¤¯¤Ä¤«¤Î¥Ç¡¼
-¥¿¥Ù¡¼¥¹¤Ç @strong{MySQL} ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£
-
-@item
-Á´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤Ï¥Ç¥Õ¥©¥ë¥ÈÃͤò»ý¤Á¤Þ¤¹¡£ ¥Æ¡¼¥Ö¥ë¹àÌܤΥµ¥Ö¥»¥Ã¥È¤òÁÞÆþ¤¹¤ë¤¿
-¤á¤Ë @code{INSERT} ¤ò»ÈÍѤǤ­¡¢ÌÀ¼¨Åª¤ËÃͤ¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤¥Õ¥£¡¼¥ë¥É¤Ï¤½¤Î¥Ç
-¥Õ¥©¥ë¥ÈÃͤ¬ÀßÄꤵ¤ì¤Þ¤¹¡£
-
-@item
-²ÄÈÂÀ­¤Î¤¿¤á¤Ë GNU Automake, Autoconf, @code{libtool} ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£
-
-@item
-C ¤È C++ ¤Ç½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£¹­ÈϤʼïÎà¤Î¥³¥ó¥Ñ¥¤¥é¤Ç¥Æ¥¹¥È¤µ¤ì¤Æ¤Þ¤¹¡£
-
-@item
-¤È¤Æ¤â®¤¤¥¹¥ì¥Ã¥É¥Ù¡¼¥¹¤Î¥á¥â¥ê³ä¤êÅö¤Æ¥·¥¹¥Æ¥à¡£
-
-@item
-¥á¥â¥ê¥ê¡¼¥¯¤¬¤¢¤ê¤Þ¤»¤ó¡£»ÔÈΤΥá¥â¥ê¥ê¡¼¥¯¸¡½ÐÀ½ÉÊ(@code{purify})¤Ç¥Æ
-¥¹¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-
-@item
-@code{myisamchk} ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥Æ¡¼¥Ö¥ë¸¡ºº¡¢ºÇŬ²½¡¢½¤Éü¤Î¤¿¤á
-¤Î¤È¤Æ¤â®¤¤¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ç¤¹¡£@xref{Maintenance}¡£
-
-@item
-°Û¤Ê¤ë¥­¥ã¥é¥¯¥¿¥»¥Ã¥È¤Î´°Á´¤Ê¥µ¥Ý¡¼¥È¡£ISO-8859-1 (Latin1), big5, ujis ¤Ê¤É¡£
-Î㤨¤Ð¡¢¥¹¥«¥ó¥¸¥Ê¥Ó
-¥¢¸ìʸ»ú @ringaccent{a}, @"a ¤½¤·¤Æ @"o ¤Ï¥Æ¡¼¥Ö¥ë̾¤ä¥Õ¥£¡¼¥ë¥É̾¤È¤·¤Æµö¤µ¤ì
-¤Þ¤¹¡£
-
-@item
-Á´¤Æ¤Î¥Ç¡¼¥¿¤Ï ÁªÂò¤µ¤ì¤¿¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¤Î·Á¼°¤ÇÊݸ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Ä̾ïʸ»úÎó¥Õ¥£¡¼¥ë¥É
-¤ÎÁ´¤Æ¤ÎÈæ³Ó¤Ï¥±¡¼¥¹Èó°Í¸¤Ç¤¹¡£
-
-@item
-¥½¡¼¥È¤Ï¡¢@strong{MySQL} ¥µ¡¼¥Ð¡¼µ¯Æ°»þ¤Ë¡¢ÁªÂò¤µ¤ì¤¿¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¤Ë
-¤Ë½¾¤Ã¤Æ¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£(¥Ç¥Õ¥©¥ë¥È¤Ï¡¢¥¹¥¦¥§¡¼¥Ç¥ó¸ì¤ÎÊýË¡)¡£
-¥½¡¼¥¹Æâ¤Ë¿·¤·¤¤¥½¡¼¥È½ç½øÇÛÎó¤òÄɲ乤뤳¤È¤Ç¡¢¤³
-¤ì¤ÏÊѹ¹²Äǽ¤Ç¤¹¡£¤È¤Æ¤âÀè¿ÊŪ¤Ê¥½¡¼¥È¤ÎÎã¤ò¸«¤ë¤Ë¤Ï¡¢Czech ¥½¡¼¥È¥³¡¼¥É
-¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ @strong{MySQL} ¤Ï¿¤¯¤Î¼ïÎà¤Î¥­¥ã¥é¥¯¥¿¥»¥Ã¥È¤ò¥µ¥Ý¡¼¥È
-¤·¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤ä¼Â¹Ô»þ¤Ë»ØÄê¤Ç¤­¤Þ¤¹¡£
-
-@item
-SQL92 ɸ½à¤Ë¤¢¤ë¤è¤¦¤Ê¥Æ¡¼¥Ö¥ë¤È¥Õ¥£¡¼¥ë¥É¤Î¥¨¥¤¥ê¥¢¥¹Ì¾¡£
-
-@item
-@code{DELETE}, @code{INSERT}, @code{REPLACE}, @code{UPDATE} ¤Ï
-Êѹ¹¤µ¤ì¤¿(±Æ¶Á¤ò¼õ¤±¤¿)¹Ô¤Î¿ô¤òÊÖ¤·¤Þ¤¹¡£
-¥µ¡¼¥ÐÀܳ»þ¤Ë¥Õ¥é¥°¤òÀßÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢Âå¤ï¤ê¤ËŬ¹ç¤·¤¿¥ì¥³¡¼¥É¿ô¤òÊÖ¤¹
-¤³¤È¤â²Äǽ¤Ç¤¹¡£
-
-@item
-´Ø¿ô̾¤Ï¥Æ¡¼¥Ö¥ë̾¤ä¥Õ¥£¡¼¥ë¥É̾¤È¾×Æͤ·¤Þ¤»¤ó¡£Î㤨¤Ð @code{ABS} ¤ÏÀµ¤·¤¤¥Õ¥£¡¼¥ë¥É
-̾¤Ç¤¹¡£À©¸Â¤Ï¡¢´Ø¿ô¸Æ¤Ó½Ð¤·¤Ë¡¢´Ø¿ô̾¤È¤½¤ì¤Ë³¤¯ @samp{(} ¤Î´Ö¤Ë¶õÇò¤¬
-µö¤µ¤ì¤Ê¤¤¤³¤È¤À¤±¤Ç¤¹¡£@xref{Reserved words}¡£
-
-@item
-Á´¤Æ¤Î @strong{MySQL} ¥×¥í¥°¥é¥à¤Ï¥ª¥ó¥é¥¤¥ó¥Ø¥ë¥×¤òÆÀ¤ë¤¿¤á¤Ë¡¢
-@code{--help} ¤È @code{-?} ¥ª¥×¥·¥ç¥ó¤Ç¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@item
-¥µ¡¼¥Ð¤Ï¿¤¯¤Î¸À¸ì¤Ç¥¯¥é¥¤¥¢¥ó¥È¤Ø¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÄ󶡤Ǥ­¤Þ¤¹¡£
-@xref{Languages}¡£
-
-@item
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢TCP/IP Àܳ¤Þ¤¿¤Ï Unix ¥½¥±¥Ã¥È¡¢¤¢¤ë¤¤¤Ï NT ¤Î¾ì¹ç¤Ï
-¥Í¡¼¥à¥É¥Ñ¥¤¥×¤ò»ÈÍѤ·¤Æ @strong{MySQL} ¥µ¡¼¥Ð¤ÈÀܳ¤·¤Þ¤¹¡£
-
-@item
-@strong{MySQL} ¸ÇÍ­¤Î @code{SHOW} ¥³¥Þ¥ó¥É¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¡¢¥Æ¡¼¥Ö¥ë¡¢¥¤¥ó
-¥Ç¥Ã¥¯¥¹¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤ò¼è½Ð¤¹¤¿¤á¤Ë»ÈÍѤǤ­¤Þ¤¹¡£@code{EXPLAIN} ¥³¥Þ¥ó
-¥É¤Ï¥ª¥×¥Æ¥£¥Þ¥¤¥¶¤¬¤É¤Î¤è¤¦¤Ë¥¯¥¨¥ê¤ò²òÀϤ¹¤ë¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë»ÈÍÑ
-¤Ç¤­¤Þ¤¹¡£
-@end itemize
-
-@cindex Stability
-@node Stability, Year 2000 compliance, Features, Introduction
-@section @strong{MySQL} ¤Ï¤É¤ì¤¯¤é¤¤°ÂÄ꤫¡©
-
-¤³¤ÎÀá¤Ç¤Ï¡¢``@strong{MySQL} ¤Ï¤É¤ì¤¯¤é¤¤°ÂÄ꤫¡©'' ¤È ``»ä¤Ï¤³¤Î¥×¥í¥¸¥§
-¥¯¥È¤Ç @strong{MySQL} ¤Ë°Í¸¤Ç¤­¤ë¤«¡©'' ¤È¤¤¤¦¼ÁÌä¤Ë¤Ä¤¤¤Æ²óÅú¤·¤Þ¤¹¡£
-
-²æ¡¹¤Ï¤³¤³¤Ç¡¢¤¤¤¯¤Ä¤«¤ÎÌäÂê¤òÌÀ¤é¤«¤Ë¤·¡¢Â¿¤¯¤Î¿Í¤Ë´Ø·¸¤¹¤ë¤È»×¤ï¤ì¤ë¤µ
-¤é¤Ë½ÅÍפʼÁÌä¤Î¤¤¤¯¤Ä¤«¤ò²óÅú¤¹¤ë¤³¤È¤ò»î¤ß¤Þ¤¹¡£¤³¤ÎÀá¤Ï¡¢¥á¡¼¥ê¥ó¥°¥ê
-¥¹¥È(¤½¤³¤Ç¤Ï¤È¤Æ¤â³èȯ¤Ë¥Ð¥°¤¬Êó¹ð¤µ¤ì¤Æ¤¤¤Þ¤¹)¤«¤é¼è¤ê¹þ¤Þ¤ì¤¿¾ðÊ󤬰ì
-½ï¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£
-
-TcX ¤Ç¤Ï¡¢@strong{MySQL} ¤Ï 1996 Ã溢¤«¤é²æ¡¹¤Î¥×¥í¥¸¥§¥¯¥È¤Ç²¿¤ÎÌäÂê¤â
-¤Ê¤¯Æ°¤¤¤Æ¤¤¤Þ¤·¤¿¡£¹­¤¯¸ø¤Ë¥ê¥ê¡¼¥¹¤µ¤ì¤¿»þ¡¢²æ¡¹¤Ï¡¢@strong{MySQL} Æâ
-¤Ë ``¥Æ¥¹¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥³¡¼¥É'' ¤ÎÉôʬ¤¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Þ¤·¤¿¡£¤³¤ì¤Ï¡¢
-²æ¡¹¤È¤Ï°Û¤Ê¤ëÊýË¡¤Ç¥¯¥¨¥ê¤òºîÀ®¤¹¤ë¿·¤·¤¤¥æ¡¼¥¶¤Ë¤è¤Ã¤Æ¤¹¤°¤Ë¸«¤Ä¤±¤é¤ì¤Þ¤·¤¿¡£
-¿·¤·¤¤³Æ¥ê¥ê¡¼¥¹¤Ï¡¢(¿¤¯¤Î¿·¤·¤¤µ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤Ë)Á°¤Î¤â¤Î¤è¤ê¤âÌäÂê
-¤Ï¾¯¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¤½¤·¤Æ¼¡¤Î¥ê¥ê¡¼¥¹¤Î°ì¤Ä¤ò ``°ÂÄê'' ¤È¸Æ¤Ö¤³¤È¤¬¤Ç¤­¤ë¤è
-¤¦¤Ë²æ¡¹¤Ï˾¤ó¤Ç¤¤¤Þ¤¹¡£
-
-@strong{MySQL} ¤Î³Æ¥ê¥ê¡¼¥¹¤Ï¼ÂÍÑŪ¤Ç¡¢¥æ¡¼¥¶¤¬ ``¥°¥ì¥¤¥¾¡¼¥ó'' ¤«¤é¤Î
-¥³¡¼¥É¤Î»ÈÍѤò³«»Ï¤¹¤ë»þ¤Ë¤À¤±ÌäÂ꤬¤¢¤ê¤Þ¤¹¡£ÅöÁ³¡¢³°Éô¤Î¥æ¡¼¥¶¤Ï¡¢²¿¤¬
-¥°¥ì¥¤¥¾¡¼¥ó¤«¤òÃΤ뤳¤È¤¬¤Ç¤­¤Þ¤»¤ó; ¤³¤ÎÀá¤Ç¸½ºßÃΤé¤ì¤Æ¤¤¤ë¤³¤ì¤é¤ò¼¨
-¤·¤Æ¤ß¤Þ¤¹¡£
-ÀâÌÀ¤Ï @strong{MySQL} ¤Î 3.22.x ¥Ð¡¼¥¸¥ç¥ó¤Ç°·¤ï¤ì¤Þ¤¹¡£ÃΤé¤ì¤Æ¤¤¤ÆÊó¹ð
-¤µ¤ì¤Æ¤¤¤ë¥Ð¥°¤ÏÁ´¤ÆºÇ¿·¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç½¤Àµ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£bugs Àá¤Ë
-½ñ¤«¤ì¤Æ¤¤¤ë¥Ð¥°¤Ï½ü¤­¤Þ¤¹¡£¤½¤ì¤é¤Ï ``Àß·×'' ´ØÏ¢¤Î¤â¤Î¤Ç¤¹¡£@xref{Bugs}.
-
-@strong{MySQL} ¤ÏÊ£¿ô¤Î³¬ÁؤÈÍÍ¡¹¤ÊÆÈΩ¥â¥¸¥å¡¼¥ë¤Ç½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì
-¤é¤Î¥â¥¸¥å¡¼¥ë¤Ï¡¢¤½¤ì¤¾¤ì¤¬¤É¤Î¤è¤¦¤Ë¥Æ¥¹¥È¤µ¤ì¤Æ¤¤¤ë¤«¤È¤È¤â¤Ë¼¡¤Ë¥ê¥¹
-¥È¤µ¤ì¤Æ¤¤¤Þ¤¹:
-
-@table @strong
-@item ISAM ¥Æ¡¼¥Ö¥ë½èÍý --- °ÂÄê
-¤³¤ì¤Ï @strong{MySQL} 3.22 ¤È¤½¤ì°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤ª¤¤¤Æ¡¢
-Á´¤Æ¤Î¥Ç¡¼¥¿¤ÎÊݸ¤È¸¡º÷¤ò´ÉÍý¤·¤Þ¤¹¡£Á´¤Æ¤Î @strong{MySQL} ¥ê¥ê¡¼¥¹¤Ç¤Ï¡¢
-¤³¤Î¥³¡¼¥ÉÆâ¤Ë¤Ï(Êó¹ð¤µ¤ì¤¿)¥Ð¥°¤Ï°ì¤Ä¤â¤¢¤ê¤Þ¤»¤ó¡£ÉÔÀµ¤Ê¥Æ¡¼¥Ö¥ë¤òÆÀ¤ë
-Í£°ì¤ÎÊýË¡¤Ï¡¢¹¹¿·¤ÎÅÓÃæ¤Ë¤¢¤ë¥µ¡¼¥Ð¤ò»¦¤¹¤³¤È¤À¤±¤Ç¤¹¡£¤½¤·¤Æ³Æ¥¯¥¨¥ê´Ö
-¤ÇÁ´¤Æ¤Î¥Ç¡¼¥¿¤Ï¥Ç¥£¥¹¥¯¤Ë¥Õ¥é¥Ã¥·¥å¤µ¤ì¤ë¤¿¤á¡¢¤¤¤«¤Ê¤ë¥Ç¡¼¥¿¤â
-½¤Éü³°¤ÎÇ˲õ¤¬µ¯¤³¤ë¤È¤¤¤¦¤³¤È¤Ï¤Þ¤º¤Ê¤¤¤Ç¤·¤ç¤¦¡£
-@strong{MySQL} Æâ¤Î¥Ð¥°¤Î¤¿¤á¤Ë¥Ç¡¼¥¿¤¬
-¼º¤ï¤ì¤¿¤È¤¤¤¦¥Ð¥°¥ì¥Ý¡¼¥È¤Ï°ì¤Ä¤â¤¢¤ê¤Þ¤»¤ó¡£
-
-@item The MyISAM table handler --- Beta
-¤³¤ì¤Ï @strong{MySQL} 3.23 ¤Ç¤Î¿·µ¡Ç½¤Ç¤¹.
-¤³¤ì¤Ï ISAM ¥Æ¡¼¥Ö¥ë¤Î¥³¡¼¥É¤ò¸µ¤Ë³ÈÄ¥¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢
-¿¤¯¤ÎÊØÍø¤Êµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
-
-@item ¥Ñ¡¼¥µ¤Èñ¸ì²òÀÏ --- °ÂÄê
-¤³¤Î¥·¥¹¥Æ¥àÆâ¤Ë¤ÏŤ¤´Ö¥Ð¥°¤Ï°ì¤Ä¤âÊó¹ð¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-
-@item C ¥¯¥é¥¤¥¢¥ó¥È¥³¡¼¥É --- °ÂÄê
-ÃΤé¤ì¤Æ¤¤¤ëÌäÂê¤Ï¤¢¤ê¤Þ¤»¤ó¡£3.20 ¥ê¥ê¡¼¥¹¤Î½é´ü¤Ë¤Ï¡¢Á÷¿®/¼õ¿®¥Ð¥Ã¥Õ¥¡
-¥µ¥¤¥º¤Ë¤¤¤¯¤Ä¤«¤ÎÀ©¸Â¤¬¤¢¤ê¤Þ¤·¤¿¡£3.21.x °Ê¹ß¡¢¥Ð¥Ã¥Õ¥¡¤Ï¥Ç¥Õ¥©¥ë¥È¤Î
-24M ¤Þ¤ÇưŪ¤ËÂ礭¤¯¤Ê¤ê¤Þ¤¹¡£
-
-@item ɸ½à¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à --- °ÂÄê
-¤³¤ì¤é¤Ï @code{mysql}, @code{mysqladmin}, @code{mysqlshow},
-@code{mysqldump}, @code{mysqlimport} ¤ò´Þ¤ß¤Þ¤¹.
-
-@item ´ðËÜŪ¤Ê SQL --- °ÂÄê
-´ðËÜŪ¤Ê SQL µ¡Ç½¥·¥¹¥Æ¥à¤Èʸ»úÎóÀá¤ÈưŪ¥á¥â¥ê½èÍý¡£¤³¤Î¥·¥¹¥Æ¥à¤Ë¤ÏÊó
-¹ð¤µ¤ì¤¿¥Ð¥°¤Ï°ì¤Ä¤â¤¢¤ê¤Þ¤»¤ó¡£
-
-@item ¥¯¥¨¥ê¥ª¥×¥Æ¥£¥Þ¥¤¥¶ --- °ÂÄê
-
-@item ÈÏ°Ï¥ª¥×¥Æ¥£¥Þ¥¤¥¶ --- °ÂÄê
-
-@item ·ë¹ç¥ª¥×¥Æ¥£¥Þ¥¤¥¶ --- °ÂÄê
-
-@item ¥í¥Ã¥¯ --- ¥¬¥ó¥Þ
-¤³¤ì¤Ï¤È¤Æ¤â¥·¥¹¥Æ¥à¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹¡£¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¤³¤ì¤Ï¡¢É¸
-½à OS ¥í¥Ã¥¯ (fcntl) ¤ò»ÈÍѤ¹¤ë¤¿¤áÂ礭¤ÊÌäÂ꤬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¾ì¹ç¤Ç
-¤Ï¡¢@strong{MySQL} ¥Ç¡¼¥â¥ó¤ò @code{--skip-locking} ¥Õ¥é¥°¤Ä¤­¤ÇÆ°¤«¤¹¤Ù
-¤­¤Ç¤¹¡£ÃΤé¤ì¤Æ¤¤¤ëÌäÂê¤Ï¡¢¤¤¤¯¤Ä¤«¤Î Linux ¥·¥¹¥Æ¥à¤È NFS ¥Þ¥¦¥ó¥È¤µ¤ì
-¤¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à»ÈÍÑ»þ¤Î SunOS ¤Ç¤¹¡£
-
-@item Linux ¥¹¥ì¥Ã¥É --- ¥¬¥ó¥Þ
-@code{fcntl()} ¥³¡¼¥ë¤Ç¤À¤±ÌäÂ꤬¸«¤Ä¤«¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï @code{mysqld}
-¤Ø¤Î @w{@code{--skip-locking}} ¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤǽ¤Àµ¤Ç¤­¤Þ¤¹¡£²¿¿Í¤«¤Ï
-0.5 ¥ê¥ê¡¼¥¹¤Ç lockup ÌäÂê¤òÊó¹ð¤·¤Þ¤·¤¿¡£1000°Ê¾å¤ÎƱ»þÀܳ¤ò»ÈÍѤ¹¤ëͽ
-Äê¤Ç¤¢¤ì¤Ð¡¢LinuxThreads ¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤·¤«¤·¡¢¥Ç¥Õ¥©
-¥ë¥È¤Î LinuxThread ¤Ç¤â¿¤¯¤ÎÀܳ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ï²Äǽ¤Ç¤¹(¤·¤«¤· 1021 °Ê
-¾å¤Ë¤Ê¤é¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤)¡£¥Ç¥Õ¥©¥ë¥È¤Î 2MB ¤Î¥¹¥¿¥Ã¥¯¶õ´Ö¤Ï¡¢¥¢¥×
-¥ê¥±¡¼¥·¥ç¥ó¤òÉÔ°ÂÄê¤Ë¤·¤Þ¤¹¡£¤½¤·¤Æ 1021 ¸Ä¤Î¥¢¥¤¥É¥ëÀܳ¤ÎÀ¸À®¸å¤Ë
-coredump ¤ò°ú¤­µ¯¤³¤·¤Þ¤¹¡£¾Ü¤·¤¯¤Ï Linux Notes ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
-
-@item Solaris 2.5+ pthread --- °ÂÄê
-²æ¡¹¤Ï¡¢²æ¡¹¤ÎÁ´¤Æ¤ÎÀ½ÉʤǤ³¤ì¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£
-
-@item MIT ¥¹¥ì¥Ã¥É (¾¤Î¥·¥¹¥Æ¥à) --- ¥¬¥ó¥Þ
-3.20.15 ¤«¤éÊó¹ð¤µ¤ì¤¿¥Ð¥°¤Ï¤¢¤ê¤Þ¤»¤ó¡£3.20.15 ¤«¤éÃΤé¤ì¤¿¥Ð¥°¤Ï¤¢¤ê¤Þ
-¤»¤ó¡£¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¤¤¤¯¤Ä¤«¤ÎÁàºî¤¬ÃÙ¤¯¤Ê¤ë¤È¤¤¤¦
-``misfeature'' ¤¬¤¢¤ê¤Þ¤¹(1/20 ÉäΠsleep ¤¬³Æ¥¯¥¨¥ê´Ö¤Ç¹Ô¤Ê¤ï¤ì¤Þ¤¹)¡£
-¤â¤Á¤í¤ó¡¢MIT ¥¹¥ì¥Ã¥É¤Ï¤¹¤Ù¤Æ¤ò¾¯¤·ÃÙ¤¯¤·¤Þ¤¹¡£¤·¤«¤·¥¤¥ó¥Ç¥Ã¥¯¥¹¥Ù¡¼¥¹
-¤Î @code{SELECT} ¤Ç¤Ï¡¢¥¹¥Æ¡¼¥È¥á¥ó¥È¤ÏÄ̾ï°ìÅ٤Υե졼¥à¤Ç¹Ô¤ï¤ì¤ë¤¿¤á¡¢
-mutex locking/thread juggling ¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-
-@item ¾¤Î¥¹¥ì¥Ã¥É¼ÂÁõ --- ¥¢¥ë¥Õ¥¡ - ¥Ù¡¼¥¿
-¾¤Î¥·¥¹¥Æ¥à¤Ø¤Î°Ü¹Ô¤Ï¤Þ¤À¤È¤Æ¤â¿·¤·¤¯¡¢Â¿Ê¬ @strong{MySQL} ¤Ë¡¢¤·¤«¤·°ì
-ÈÖ¿¤¤¤Î¤Ï¥¹¥ì¥Ã¥É¼ÂÁõ¼«¿È¤Ë¡¢Â¿¤¯¤Î¥Ð¥°¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
-
-@item @code{LOAD DATA...}, @code{INSERT ... SELECT} --- °ÂÄê
-²¿¿Í¤«¤Ï¤³¤ì¤Ë¥Ð¥°¤ò¸«¤Ä¤±¤¿¤È¹Í¤¨¤Þ¤·¤¿¤¬¡¢¤½¤ì¤Ï·ë¶É¸í²ò¤Ç¤·¤¿¡£ÌäÂê¤Î
-Êó¹ð¤ÎÁ°¤Ë¥Þ¥Ë¥å¥¢¥ë¤òÎɤ¯¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡ª
-
-@item @code{ALTER TABLE} --- °ÂÄê
-3.22.12 ¤Ç¾¯¤·Êѹ¹¤·¤Þ¤·¤¿¡£
-
-@item DBD --- °ÂÄê
-¸½ºß¡¢Jochen Wiedmann
-@email{wiedmann@@neckar-alb.de}
-¤Ë¤è¤Ã¤Æ¥á¥ó¥Æ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£´¶¼Õ¡ª
-
-@item @code{mysqlaccess} --- ¥¬¥ó¥Þ
-@email{Yves.Carlier@@rug.ac.be}
-¤Ë¤è¤Ã¤Æ½ñ¤«¤ì¥á¥ó¥Æ¤µ¤ì¤Æ¤Þ¤¹¡£´¶¼Õ¡ª
-
-@item @code{GRANT} --- ¥¬¥ó¥Þ
-@strong{MySQL} 3.22.12 ¤ÇÂ礭¤ÊÊѹ¹¤¬¹Ô¤Ê¤ï¤ì¤Þ¤·¤¿¡£
-
-@item @strong{MyODBC} (uses ODBC SDK 2.5) --- ¥¬¥ó¥Þ
-¤¤¤¯¤Ä¤«¤Î¥×¥í¥°¥é¥à¤Ç¤Á¤ã¤ó¤ÈÆ°ºî¤·¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¤Þ¤¹¡£
-@end table
-
-TcX ¤ÏÂå¶â¤ò»Ùʧ¤Ã¤¿¸ÜµÒ¤Î¤¿¤á¤Ë email ¥µ¥Ý¡¼¥È¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£¤·¤«¤·
-@strong{MySQL} ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ÏÄ̾Á´¤Æ¤Î°ìÈÌŪ¤Ê¼ÁÌä¤Ë²óÅú¤òÄ󶡤·
-¤Æ¤¤¤Þ¤¹¡£¥Ð¥°¤ÏÄ̾魯¤°¤Ë¥Ñ¥Ã¥Á¤Ç½¤Àµ¤µ¤ì¡¢¿¼¹ï¤Ê¥Ð¥°¤Ë¤Ï¡¢¤Û¤È¤ó¤É¤¤¤Ä
-¤â¿·¤·¤¤¥ê¥ê¡¼¥¹¤¬¤¢¤ê¤Þ¤¹¡£
-
-@cindex Year 2000 compliance
-@node Year 2000 compliance, General-SQL, Stability, Introduction
-@section 2000 ǯÂбþ
-
-@strong{MySQL} ¼«¿È¤Ï 2000 ǯÌäÂê(Y2K)¤ËÂФ·¤Æ²¿¤ÎÌäÂê¤â»ý¤Ã¤Æ¤¤¤Þ¤»¤ó:
-
-@itemize @bullet
-@item
-@strong{MySQL} ¤Ï Unix »þ´Ö´Ø¿ô¤ò»ÈÍѤ·¡¢@code{2069} ǯ¤Þ¤ÇÆüÉդˤϲ¿¤Î
-ÌäÂê¤â¤¢¤ê¤Þ¤»¤ó; Á´¤Æ¤Î2·å¤Îǯ¤Ï @code{1970} ¤«¤é @code{2069} ¤ÎÈϰϤË
-¤¢¤ë¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢@code{year} ¥Õ¥£¡¼¥ë¥ÉÆâ¤Ë @code{01} ¤ò³ÊǼ¤¹¤ë¾ì
-¹ç¡¢@strong{MySQL} ¤Ï¤½¤ì¤ò @code{2001} ¤È¤·¤Æ°·¤¦¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-
-@item
-Á´¤Æ¤Î @strong{MySQL} ÆüÉÕ´Ø¿ô¤Ï°ì¤Ä¤Î¥Õ¥¡¥¤¥ë @file{sql/time.cc} ¤Ë³ÊǼ
-¤µ¤ì¡¢2000ǯ°ÂÁ´¤Ë¤È¤Æ¤âÃí°Õ¿¼¤¯¥³¡¼¥É²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-
-@item
-@strong{MySQL} 3.22 °Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢¿·¤·¤¤ @code{YEAR} ¥Õ¥£¡¼¥ë¥É·¿¤Ï
-@code{0} ¤È @code{1901} ¤«¤é @code{2155} ¤Þ¤Ç¤Îǯ¤ò1¥Ð¥¤¥È¤Ç³ÊǼ¤Ç¤­¡¢2
-·å¤Þ¤¿¤Ï4·å¤Çɽ¼¨¤Ç¤­¤Þ¤¹¡£
-@end itemize
-
-2000ǯ°ÂÁ´¤Ç¤Ê¤¤ÊýË¡¤Ç @strong{MySQL} ¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤ÏÌäÂê
-¤Ë¤Ê¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢Â¿¤¯¤Î¸Å¤¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï4·åÃͤǤϤʤ¯2·åÃÍ(¤³¤ì
-¤ÏÛ£Ëæ¤Ç¤¹)¤ò»ÈÍѤ·¤Æǯ¤ò³ÊǼ¤·Áàºî¤·¤Þ¤¹¡£¤³¤ÎÌäÂê¤Ï¡¢@code{00} ¤Þ¤¿¤Ï
-@code{99} ¤Î¤è¤¦¤ÊÃͤò ``·ç¤±¤Æ¤¤¤ë'' ÃͤÎɽ¤ï¤ì¤È¤·¤Æ»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼
-¥·¥ç¥ó¤Ë¤è¤Ã¤Æºî¤é¤ì¤Þ¤¹¡£
-
-¤¢¤¤¤Ë¤¯¡¢¤³¤ì¤é¤ÎÌäÂê¤ò½¤Àµ¤¹¤ë¤Î¤Ïº¤Æñ¤Ç¤¹¡£ÍÍ¡¹¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ÍÍ¡¹
-¤Ê¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤Æ½ñ¤«¤ì¤Æ¤¤¤Æ¡¢¤½¤Î³Æ¡¹¤¬´·½¬¤ÈÆüÉÕÁàºî´Ø¿ô¤ÎÍÍ¡¹¤ÊÁÈ
-¤ß¹ç¤ï¤»¤ò»ÈÍѤ¹¤ë¤«¤é¤Ç¤¹¡£
-
-¤³¤ì¤Ï¡¢MySQL ¤¬ 2030 ǯ¤Þ¤Ç¤ÎÆüÉդ˲¿¤ÎÌäÂê¤â¤Ê¤¤¤³¤È¤ò¼¨¤¹´Êñ¤Ê¥Æ¥¹¥È
-¤Ç¤¹¡ª
-
-@example
-mysql> DROP TABLE IF EXISTS y2k;
-mysql> CREATE TABLE y2k (date date, date_time datetime, time_stamp timestamp);
-mysql> INSERT INTO y2k VALUES ("1998-12-31","1998-12-31 23:59:59",19981231235959);
-mysql> INSERT INTO y2k VALUES ("1999-01-01","1999-01-01 00:00:00",19990101000000);
-mysql> INSERT INTO y2k VALUES ("1999-09-09","1999-09-09 23:59:59",19990909235959);
-mysql> INSERT INTO y2k VALUES ("2000-01-01","2000-01-01 00:00:00",20000101000000);
-mysql> INSERT INTO y2k VALUES ("2000-02-28","2000-02-28 00:00:00",20000228000000);
-mysql> INSERT INTO y2k VALUES ("2000-02-29","2000-02-29 00:00:00",20000229000000);
-mysql> INSERT INTO y2k VALUES ("2000-03-01","2000-03-01 00:00:00",20000301000000);
-mysql> INSERT INTO y2k VALUES ("2000-12-31","2000-12-31 23:59:59",20001231235959);
-mysql> INSERT INTO y2k VALUES ("2001-01-01","2001-01-01 00:00:00",20010101000000);
-mysql> INSERT INTO y2k VALUES ("2004-12-31","2004-12-31 23:59:59",20041231235959);
-mysql> INSERT INTO y2k VALUES ("2005-01-01","2005-01-01 00:00:00",20050101000000);
-mysql> INSERT INTO y2k VALUES ("2030-01-01","2030-01-01 00:00:00",20300101000000);
-mysql> INSERT INTO y2k VALUES ("2050-01-01","2050-01-01 00:00:00",20500101000000);
-mysql> SELECT * FROM y2k;
-+------------+---------------------+----------------+
-| date | date_time | time_stamp |
-+------------+---------------------+----------------+
-| 1998-12-31 | 1998-12-31 23:59:59 | 19981231235959 |
-| 1999-01-01 | 1999-01-01 00:00:00 | 19990101000000 |
-| 1999-09-09 | 1999-09-09 23:59:59 | 19990909235959 |
-| 2000-01-01 | 2000-01-01 00:00:00 | 20000101000000 |
-| 2000-02-28 | 2000-02-28 00:00:00 | 20000228000000 |
-| 2000-02-29 | 2000-02-29 00:00:00 | 20000229000000 |
-| 2000-03-01 | 2000-03-01 00:00:00 | 20000301000000 |
-| 2000-12-31 | 2000-12-31 23:59:59 | 20001231235959 |
-| 2001-01-01 | 2001-01-01 00:00:00 | 20010101000000 |
-| 2004-12-31 | 2004-12-31 23:59:59 | 20041231235959 |
-| 2005-01-01 | 2005-01-01 00:00:00 | 20050101000000 |
-| 2030-01-01 | 2030-01-01 00:00:00 | 20300101000000 |
-| 2050-01-01 | 2050-01-01 00:00:00 | 00000000000000 |
-+------------+---------------------+----------------+
-
-13 rows in set (0.00 sec)
-@end example
-
-¤³¤ì¤Ï¡¢@code{DATE} ¤È @code{DATETIME} ·¿¤Ï̤Íè¤Î¤¤¤«¤Ê¤ëÆüÉդˤª¤¤¤Æ
-ÌäÂê¤Î¤Ê¤¤¤³¤È¤ò¤ò¤·¤á¤·¤Þ¤¹ (¤³¤ì¤éÆüÉÕ¤Ï 9999 ǯ¤Þ¤Ç°·¤¨¤Þ¤¹)
-
-@code{TIMESTAMP} ·¿¤Ï¡¢»þ¹ï¤òÊݸ¤·¤Þ¤¹¤¬¡¢@code{2030-01-01} ¤Þ¤Ç¤Ç¤¹¡£
-@code{TIMESTAMP} ¤Ï 32-bit ¥Þ¥·¥ó¤Ç¤Ï @code{1970} ¤«¤é @code{2030} ¤ÎÈϰϤǤ¹¡£
-64-bit ¥Þ¥·¥ó¤Ç¤Ï¡¢ @code{2106} ǯ¤Þ¤Ç°·¤¨¤ì¤Þ¤¹¡£
-
-@strong{MySQL} ¤Ï 2000ǯÂбþ¤Ç¤¹¤¬¡¢Û£Ëæ¤Ç¤Ê¤¤ÆþÎϤòÄ󶡤¹¤ë¤Î¤Ï¤¢¤Ê¤¿¤Î
-ÀÕǤ¤Ç¤¹¡£Û£Ëæ¤ÊÆüÉÕ¤ÎÆþÎϥǡ¼¥¿¡Ê2·å¤Îǯ¤ÎÃ͡ˤΰ·¤¤¤Ë¤Ä¤¤¤Æ¤Î
-@strong{MySQL} ¤Îµ¬Â§¤Ë¤Ä¤¤¤Æ¤Ï @ref{Y2K issues} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@node General-SQL, Useful Links, Year 2000 compliance, Introduction
-@section °ìÈÌŪ¤Ê SQL ¾ðÊó¤È¥Á¥å¡¼¥È¥ê¥¢¥ë
-
-¤³¤ÎËÜ¤Ï @strong{MySQL} ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Î¿ô¿Í¤Ë¤è¤Ã¤Æ¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹:
-
-@example
-Judith S. Bowman, Sandra L. Emerson and Marcy Darnovsky
-The Practical SQL Handbook: Using Structured Query Language
-Second Edition
-Addison-Wesley
-ISBN 0-201-62623-3
-http://www.awl.com
-@end example
-
-¤³¤ÎËܤâ @strong{MySQL} ¥æ¡¼¥¶¡¼¤Ë¤¤¤¯¤Ä¤«¤Î¿äÁ¦¤ò¼õ¤±¤Æ¤¤¤Þ¤¹:
-
-@example
-Martin Gruber
-Understanding SQL
-ISBN 0-89588-644-8
-Publisher Sybex 510 523 8233
-Alameda, CA USA
-@end example
-
-SQL ¥Á¥å¡¼¥È¥ê¥¢¥ë¤¬¥Í¥Ã¥È¾å¤Ë¤¢¤ê¤Þ¤¹
-@url{http://www.geocities.com/SiliconValley/Vista/2207/sql1.html}
-
-SQL in 21 Tagen (online book in German language):
-@url{http://www.mut.de/leseecke/buecher/sql/inhalt.htm}
-
-@node Useful Links, , General-SQL, Introduction
-@section ÊØÍø¤Ê @strong{MySQL} ´ØÏ¢¥ê¥ó¥¯
-
-¼¡¤Î¥ê¥ó¥¯°Ê³°¤Ë¤â¡¢Â¿¤¯¤Î @strong{MySQL} ¥×¥í¥°¥é¥à¡¢¥Ä¡¼¥ë¡¢API ¤ò
-@uref{http://www.mysql.com/Contrib/, Contrib directory} ¤«¤é¸«¤Ä¤±¤Æ¥À¥¦
-¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@subheading Tutorials
-@itemize @bullet
-
-@item @uref{http://www.devshed.com/resource/advanced/mysql/index.html, A
-beginner's tutoral of how to start using @strong{MySQL}}
-
-@item @uref{http://www.analysisandsolutions.com/code/mybasic.htm}
-Beginners @strong{MySQL} Tutorial on how to install and set up
-@strong{MySQL} on a Windows machine.
-
-@item @uref{http://www.devshed.com/Server_Side/MySQL/, A lot of @strong{MySQL} tutorials}
-
-@item @uref{http://www.linuxplanet.com/linuxplanet/tutorials/1046/1/,
-Setting Up a @strong{MySQL}-Based Website}
-
-@item @uref{http://www.hotwired.com/webmonkey/backend/tutorials/tutorial1.html, @strong{MySQL}-Perl tutorial}
-
-@item @uref{http://www.iserver.com/support/contrib/perl5/modules.html,Installing new Perl modules that require locally installed modules}
-
-@item @uref{http://www.hotwired.com/webmonkey/databases/tutorials/tutorial4.html, PHP/@strong{MySQL} Tutorial}
-
-@item @uref{http://www.useractive.com/, Hands on tutorial for @strong{MySQL}}
-@end itemize
-
-@subheading Porting MySQL / Using MySQL on different systems
-@itemize @bullet
-@item @uref{http://xclave.macnn.com/MySQL/,The MacOS Xclave}.
-Running @strong{MySQL} on MacOSX
-@item @uref{http://www.prnet.de/RegEx/mysql.html, MySql for MacOSX Server}
-@item @uref{http://www.lilback.com/macsql/, Client libraries for the Macintosh}
-@end itemize
-
-@subheading Perl related links
-@itemize @bullet
-@item
-@c Added 991122
-@uref{http://haven.e-cactus.com/dbi_mysql, Perl DBI with @strong{MySQL} FAQ}
-@end itemize
-
-@subheading MySQL discussion forums
-@itemize @bullet
-@item
-@uref{http://www.weberdev.com/, Examples using @strong{MySQL}; (check Top 20)}
-@item
-@uref{http://futurerealm.com/forum/futureforum.htm, FutureForum Web Discussion Software}
-@end itemize
-
-@c We should get longer descriptions for things in this category!
-@subheading Commercial applications that support MySQL
-@itemize @bullet
-@item
-@uref{http://www.supportwizard.com/, SupportWizard; Interactive helpdesk
-on the web (This product includes a licensed copy of @strong{MySQL})}
-@item
-@uref{http://www.stweb.org/, StWeb}
-StWeb - Stratos Web and Application server - an easy-to-use, cross
-platform, Internet/Intranet development and deployment system for
-development of web-enabled applications. The standard version of StWeb
-has a native interface to @strong{MySQL} database.
-@item
-@uref{http://www.rightnowtech.com/, Right Now Web; Web automation for customer service}
-@item
-@uref{http://www.ecker-software.de, Win32 GUI client}
-A Win32 GUI client by David Ecker.
-@item
-@uref{http://www.icaap.org/Bazaar/, Bazaar; Interactive Discussion Forums with web interface}
-@item
-@uref{http://www.phonesweep.com/, PhoneSweepT} is the world's first
-commercial Telephone Scanner. Many break-ins in recent years have come
-not through the Internet, but through unauthorized dial-up
-modems. PhoneSweep lets you find these modems by repeatedly placing
-phone calls to every phone number that your organization
-controls. PhoneSweep has a built-in expert system that can recognize
-more than 250 different kinds of remote-access programs, including
-Carbon Copy(TM), pcANYWHERET(TM), and Windows NT RAS. All information is stored
-in the SQL database. It then generates a comprehensive report detailing
-which services were discovered on which dial-up numbers in your
-organization.
-@end itemize
-
-@subheading SQL ¥¯¥é¥¤¥¢¥ó¥È/Report writers
-
-@itemize @bullet
-@item
-@uref{http://www.urbanresearch.com/software/utils/urbsql/index.html,
-@strong{MySQL} Editor/Utility for MS Windows Platforms.}
-@item
-@uref{http://www.xnot.com/kmysql, KDE @strong{MySQL} client}
-@item
-@c EMAIL: bilhaut_f@mail.cpod.fr (Frik Bilhaut)
-@uref{http://www.penguinpowered.com/~kmysql, KMySQL}
-KMySQL is a database client for KDE that primarily supports @strong{MySQL}.
-@item
-@uref{http://www.icaap.org/software/kiosk/, Kiosk; a @strong{MySQL} client for
-database management}. Written in Perl. Will be a part of Bazaar.
-@item
-@uref{http://www.geocities.com/SiliconValley/Ridge/4280/GenericReportWriter/grwhome.html, A free report writer in Java}
-@item
-@uref{http://futurerealm.com/opensource/futuresql.htm, FutureSQL Web Database Administration Tool}.
-FutureSQL by Peter F. Brown, is a Free, Open Source Rapid Application
-Development web database administration tool, written in Perl,
-using @strong{MySQL}. It uses @code{DBI:DBD} and @code{CGI.pm}.
-
-FutureSQL allows one to easily setup config files to view, edit, delete
-and otherwise process records from a @strong{MySQL} database. It uses a data
-dictionary, configuration files and templates, and allows "pre-processing"
-and "post-processing" on both fields, records and operations.
-@item
-@uref{http://www.javaframework.de,MySQLExport}
-Export of @strong{MySQL} create statements and data in a lot of
-different formats (SQL, HTML, CVS, text, ZIP, GZIP...)
-@end itemize
-
-@subheading @strong{MySQL} ¤ò¥µ¥Ý¡¼¥È¤¹¤ë Web ³«È¯¥Ä¡¼¥ë
-
-@itemize @bullet
-@item
-@uref{http://www.php.net/, PHP: A server-side HTML-embedded scripting
-language}
-@item
-@uref{http://www.midgard-project.org, The Midgard Application Server; a
-powerful Web development environment based on @strong{MySQL} and PHP}
-@item
-@uref{http://www.smartworker.org, SmartWorker is a platform for web application development}
-@item
-@uref{http://xsp.lentus.se/, XSP: e(X)tendible (S)erver (P)ages and is a
-HTML embedded tag language written in Java (previously known as XTAGS)}
-@uref{http://www.dbServ.de/, dbServ} is an extension to a web server to
-integrate databases output into your HTML code. You may use any HTML
-function in your output. Only the client will stop you. It works as
-standalone server or as JAVA servlet.
-@item
-@uref{http://www.chilisoft.com/, Platform independent ASP from Chili!Soft}
-@c @item
-@c no answer from server 990830
-@c @uref{http://www.voicenet.com/~zellert/tjFM, A JDBC driver for @strong{MySQL}}
-@item
-@uref{http://www.wernhart.priv.at/php/, @strong{MySQL} + PHP demos}
-@item
-@uref{http://www.dbwww.com/, ForwardSQL: HTML interface to manipulate @strong{MySQL} databases}
-@item
-@uref{http://www.daa.com.au/~james/www-sql/, WWW-SQL: Display database
-information}
-@item
-@uref{http://www.minivend.com/minivend/, Minivend: A Web shopping cart}
-@item
-@uref{http://www.heitml.com/, HeiTML: A server-side extension of HTML and
-a 4GL language at the same time}
-@item
-@uref{http://www.metahtml.com/, Metahtml: A Dynamic Programming Language
-for WWW Applications}
-@item
-@uref{http://www.binevolve.com/, VelocityGen for Perl and Tcl}
-@item
-@uref{http://hawkeye.net/, Hawkeye Internet Server Suite}
-@item
-@uref{http://www.fastflow.com/, Network Database Connection For Linux}
-@item
-@uref{http://www.wdbi.net/,
-WDBI: Web browser as a universal front end to databases which supports
-@strong{MySQL} well.}
-@item
-@uref{http://www.webgroove.com/, WebGroove Script: HTML compiler and server-side scripting language}
-@item
-@uref{http://www.ihtml.com/, A server-side web site scripting language}
-@item
-@uref{ftp://ftp.igc.apc.org/pub/myodbc/README, How to use @strong{MySQL} with ColdFusion on Solaris}
-@item
-@uref{http://calistra.com/MySQL/,Calistra's ODBC @strong{MySQL} Administrator}
-@item
-@uref{http://www.webmerger.com, Webmerger}
-This CGI tool interprets files and generates dynamic output
-based on a set of simple tags. Ready-to-run drivers for @strong{MySQL} and PostgreSQL
-through ODBC.
-@item
-@uref{http://phpclub.unet.ru/index_e.php3, PHPclub}. Tips and tricks for PHP
-@item
-@uref{http://www.penguinservices.com/scripts, @strong{MySQL} and Perl Scripts}
-@item
-@uref{http://www.widgetchuck.com, The Widgetchuck; Web Site Tools and Gadgets}
-@item
-@uref{http://www.adcycle.com/, AdCycle} advertising management software
-@item
-@uref{http://www.bidsystems.com/pwPage, pwPage} provides an extremely
-fast and simple approach to the creation of database forms. That is,
-if a database table exists and an HTML page has been constructed using
-a few simple guidelines, pwPage can be immediately used for table data
-selections, insertions, updates, deletions and selectable table content
-reviewing.
-@item
-@uref{http://www.omnis-software.com/products/studio/studio.html, OMNIS}
-OMNIS Studio is a rapid application development (RAD) tool.
-@end itemize
-
-@subheading Database design tools with MySQL support
-@itemize @bullet
-@item
-@uref{http://www.mysql.com/dezign/index.html, "DeZign for
-databases" is a database development tool using an
-entity relationship diagram (ERD).}
-@end itemize
-
-@subheading @strong{MySQL} ¥Ä¡¼¥ë¤Ç¤Î Web ¥µ¡¼¥Ð
-
-@itemize @bullet
-@item
-@uref{http://bourbon.netvision.net.il/mysql/mod_auth_mysql/, An Apache
-authentication module}
-@item
-@uref{http://www.roxen.com/, The Roxen Challenger Web server}
-@end itemize
-
-@subheading Extensions for other programs
-@itemize @bullet
-@item
-@uref{http://www.seawood.org/msql_bind/, @strong{MySQL} support for BIND
-(The Internet Domain Name Server)}
-@item
-@uref{http://www.inet-interactive.com/sendmail, @strong{MySQL} support for
-Sendmail and Procmail}
-@end itemize
-
-@subheading Using @code{MySQL} with other programs
-
-@itemize @bullet
-@item
-@uref{http://www.iserver.com/support/addonhelp/database/mysql/msaccess.html, Using @strong{MySQL} with Access}
-@item
-@uref{http://www.iserver.com/support/contrib/perl5/modules.html,Installing new Perl modules that require locally installed modules}
-@end itemize
-
-@subheading ODBC related links
-
-@itemize @bullet
-@item
-@uref{http://www.iodbc.org/,Popular iODBC Driver Manager (libiodbc) now available in Open Source format}
-@item
-@uref{http://users.ids.net/~bjepson/freeODBC/,The FreeODBC Pages}
-@item
-@uref{http:/http://genix.net/unixODBC/,unixodbc}
-The unixODBC Project goals are to develop and promote unixODBC to be the
-definitive standard for ODBC on the Linux platform.
-This is to include GUI support for KDE.
-@end itemize
-
-@subheading @strong{API} ´ØÏ¢¥ê¥ó¥¯
-
-@itemize @bullet
-@item
-@uref{http://www.amedea.cz/mysqlx/index.html, MySQL COM extension}
-With this COM objects You can use MySQL also on Windows platform with ASP
-pages or Delphi, Visual Basic, Visual C++, ... languages.
-@item
-@uref{http://www.jppp.com, www.jppp.com}
-Partially implemented TDataset-compatible components for @strong{MySQL}.
-@item
-@uref{http://www.riverstyx.net/qpopmysql/,qpopmysql}
-A patch to allow POP3 authentication from a @strong{MySQL} database.
-There's also a link to Paul Khavkine's patch for Procmail to allow
-any MTA to deliver to users in a @strong{MySQL} database.
-@item
-@uref{http://www.pbc.ottawa.on.ca,Visual Basic class generator for Active X}
-@item
-@uref{http://www.lilback.com/macsql/, Client libraries for the Macintosh}
-@c @item
-@c @uref{http://tfdec1.fys.kuleuven.ac.be/~michael/fpc-linux/mysql,
-@c @strong{MySQL} binding to Free Pascal}
-@item
-@uref{http://www.dedecker.net/jessie/scmdb/, SCMDB}.
-SCMDB is an add-on for SCM that ports the mysql C library to scheme (SCM).
-With this library scheme developers can make connections to a mySQL
-database and use embedded SQL in their programs.
-@end itemize
-
-
-@subheading ¾¤Î @strong{MySQL} ´ØÏ¢¥ê¥ó¥¯
-
-@itemize @bullet
-@item
-@uref{http://www.wix.com/mysql-hosting, Registry of Web providers who
-support @strong{MySQL}}
-@item
-@uref{http://www.softagency.co.jp/mysql/index.en.phtml, Links about using
-@strong{MySQL} in Japan/Asia}
-@item
-@uref{http://www.open.com.au/products.html, Commercial Web defect tracking
-system}
-@item
-@uref{http://www.stonekeep.com/pts/, PTS: Project Tracking System}
-@item
-@uref{http://tomato.nvgc.vt.edu/~hroberts/mot, Job and software tracking
-system}
-@c @item
-@c Error 404 990830
-@c @uref{http://home.wxs.nl/cgi-bin/planeteers/pgidszoek.cgi, Full-text search engine using @strong{MySQL}}
-@item
-@uref{http://www.cynergi.net/non-secure/exportsql/, ExportSQL: A script
-to export data from Access95+}
-@item
-@uref{http://SAL.KachinaTech.COM/H/1/MYSQL.html, SAL (Scientific
-Applications on Linux) @strong{MySQL} entry}
-@item
-@c Removed 990510
-@c @item
-@c @uref{http://www.cgishop.com/bin/mysqllist, @strong{MySQL} Apps and
-@c Utilities Listing}
-@c @uref{http://www.luth.se/~goggi/proj/mysql/man/mysql.pdf, The
-@c @strong{MySQL} reference manual in Adobe PDF format}
-@item
-@uref{http://www.infotech-nj.com/itech/index.shtml, A consulting company
-which mentions @strong{MySQL} in the right company}
-@item
-@uref{http://www.pmpcs.com/, PMP Computer Solutions. Database developers using
-@strong{MySQL} and @code{mSQL}}
-@item
-@uref{http://www.aewa.org, Airborne Early Warning Association }
-@item
-@uref{http://abattoir.cc.ndsu.nodak.edu/~nem/mysql/udf/, @strong{MySQL} UDF Registry}
-@item
-@uref{http://21ccs.com/~gboersm/y2kmatrix/, Y2K tester}
-@end itemize
-
-@subheading SQL ¤È¥Ç¡¼¥¿¥Ù¡¼¥¹¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-@itemize @bullet
-@item
-@uref{http://java.sun.com/products/jdbc/, The JDBC database access API}
-@item
-@uref{http://www.gagme.com/mysql, Patch for @code{mSQL} Tcl}
-@item
-@uref{http://www.amsoft.ru/easysql/, EasySQL: An ODBC-like driver manager}
-@item
-@uref{http://www.lightlink.com/hessling/rexxsql.html, A REXX interface to SQL databases}
-@item
-@uref{http://www.binevolve.com/~tdarugar/tcl-sql, Tcl interface}
-@end itemize
-
-@subheading Îã¤È¥½¡¼¥¹
-
-@itemize @bullet
-@item
-@c Added 990601
-@c EMAIL: thuss@little6.com (Todd Huss)
-@uref{http://www.little6.com/about/linux/, Little6 Inc} An online contract and job finding site that is powered by @strong{MySQL}, PHP3 and Linux.
-@item
-@c Added 990521
-@c EMAIL: nh@delec.com (Hillbrecht Nicole)
-@uref{http://www.delec.com/is/products/prep/examples/BookShelf/index.html, DELECis} A tool which makes it very easy to create an automatically generated table documentation. They have used @strong{MySQL} as an example.
-@c @item
-@c Added 990531. Removed 000201 -> No answer from server
-@c EMAIL: sfambro@hotmail.com (Steve Fambro)
-@c @uref{http://shredder.elen.utah.edu/steve.html, Steve Fambro}
-@c Uses @strong{MySQL} and webmerger. There is an employee database, and a
-@c license plate database with all of the registered Utah vehicles (over
-@c 1.2 million). The License plate field is indexed.....so the *searches*
-@c are instantaneous.
-@item
-@c Added 990521
-@c EMAIL: info@worldrecords.com (Jim Rota)
-@uref{http://www.worldrecords.com, World Records} A search engine for information about music that uses @strong{MySQL} and PHP.
-@item
-@uref{http://www.webtechniques.com/archives/1998/01/note/,
-A Contact Database using @strong{MySQL} and PHP}
-@item
-@uref{http://modems.rosenet.net/mysql/, Web based interface and Community Calender with PHP}
-@item
-@uref{http://www.odbsoft.com/cook/sources.htm, Perl package to generate html from a SQL table structure and for generating SQL statements from an html form.}
-@item
-@uref{http://www.gusnet.cx/proj/telsql/,Basic telephone database using @code{DBI}/@code{DBD}}.
-@item
-@uref{http://www.productivity.org/projects/mysql/, @strong{TmySQL}; A library to use @strong{MySQL} with Delphi}
-@item
-@uref{http://tecfa.unige.ch/guides/java/staf2x/ex/jdbc/coffee-break, JDBC examples by Daniel K. Schneider}
-@item
-@uref{http://www.spade.com/linux/howto/PostgreSQL-HOWTO-41.html,SQL BNF}
-@item
-@uref{http://www.ooc.com/, Object Oriented Concepts Inc; CORBA applications with examples in source}
-@item
-@uref{http://www.pbc.ottawa.on.ca/,DBWiz; Includes an example of how to manage own cursors in VB}
-@item
-@uref{http://keilor.cs.umass.edu/pluribus/, Pluribus}
-Pluribus, is a free search engine that learns to improve
-the quality of its results over time. Pluribus works by recording
-which pages a user prefers among those returned for a query. A user
-votes for a page by selecting it; Pluribus then uses that knowledge
-to improve the quality of the results when someone else submits the
-same (or similar) query. Uses PHP and @strong{MySQL}.
-@item
-@c EMAIL: paul@sword.damocles.com (Paul Bannister)
-@uref{http://www.stopbit.com/, Stopbit}
-A technology news site using @strong{MySQL} and PHP
-@item
-@c Added 990604
-@c EMAIL: ah@dybdahl.dk
-@uref{http://www.jokes2000.com/scripts/, Example scripts at Jokes2000}
-@item
-@uref{http://www.linuxsupportline.com/~kalendar/ KDE based calendar manager}
-The calendar manager has both single user (file based) and multi user
-(@strong{MySQL} database) support.
-@item
-@uref{http://tim.desert.net/~tim/imger/,Example of storing/retrieving images with @strong{MySQL} and CGI}
-@item
-@uref{http://www.penguinservices.com/scripts, Online shopping cart system}
-@end itemize
-
-@subheading °ìÈÌŪ¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¥ê¥ó¥¯
-@itemize @bullet
-@item
-@uref{http://www.pcslink.com/~ej/dbweb.html, Database Jump Site}
-@item
-@uref{http://black.hole-in-the.net/guy/webdb/, Homepage of the webdb-l
-(Web Databases) mailing list.}
-@item
-@uref{http://www.symbolstone.org/technology/perl/DBI/index.html,
-Perl @code{DBI}/@code{DBD} modules homepage}
-@item
-@uref{http://www.student.uni-koeln.de/cygwin/, Cygwin tools. UNIX on top of Windows}
-@item
-@uref{http://dbasecentral.com/, dbasecentral.com; Development and distribution of powerful and easy-to-use database applications and systems.}
-@item
-@uref{http://www.Tek-Tips.com, Tek-Tips Forums} Tek-Tips Forums are 800+
-independent peer-to-peer non-commercial support forums for Computer
-Professionals. Features include automatic e-mail notification of
-responses, a links library, and member confidentiality guaranteed.
-@end itemize
-
-@strong{MySQL} ¤ò»ÈÍѤ·¤¿Â¿¤¯¤Î web ¥Ú¡¼¥¸¤â¤¢¤ê¤Þ¤¹¡£@xref{Users}¡£¤³¤Î
-¥ê¥¹¥È¤ØÄɲäǤ­¤ë¤â¤Î¤ò @email{webmaster@@mysql.com} ¤ËÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-We now require that you show a
-@strong{MySQL} logo somewhere (It is okay to have it on a ``used tools'' page
-or something similar) to be added.
-
-@cindex Reporting errors
-@cindex @strong{MySQL} mailing lists
-@node Questions, Licensing and Support, Introduction, Top
-@chapter @strong{MySQL} ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤È¼ÁÌä¤ò¤¹¤ëÊýË¡¤Þ¤¿¤Ï¥¨¥é¡¼(¥Ð¥°)¤òÊó¹ð¤¹¤ëÊýË¡
-
-@menu
-* Mailing-list:: @strong{MySQL} ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È
-* Asking questions:: ¼ÁÌä¤ä¥Ð¥°¤ÎÊó¹ð
-* Bug reports:: ¥Ð¥°¤äÌäÂê¤òÊó¹ð¤¹¤ëÊýË¡
-* Answering questions:: ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ç¼ÁÌä¤ËÅú¤¨¤ë¤¿¤á¤Î¥¬¥¤¥É¥é¥¤¥ó
-@end menu
-
-@node Mailing-list, Asking questions, Questions, Questions
-@section @strong{MySQL} ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È
-
-¥á¥¤¥ó @strong{MySQL} ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ò¹ØÆɤ¹¤ë¤Ë¤Ï¡¢¥á¥Ã¥»¡¼¥¸¤ò
-ÅŻҥ᡼¥ë¥¢¥É¥ì¥¹ @email{mysql-subscribe@@lists.mysql.com} ¤ËÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-
-¥á¥¤¥ó @strong{MySQL} ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Î¹ØÆɤÎÃæ»ß¤Ï¡¢¥á¥Ã¥»¡¼¥¸¤ò
-ÅŻҥ᡼¥ë¥¢¥É¥ì¥¹ @email{mysql-unsubscribe@@lists.mysql.com} ¤ËÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-
-¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ëÀè¤Î¥¢¥É¥ì¥¹¤À¤±¤¬½ÅÍפǤ¹¡£¥á¥Ã¥»¡¼¥¸¤Î¥µ¥Ö¥¸¥§¥¯¥È¤È
-ËÜʸ¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
-
-@c the last two addresses in this paragraph are NOT @email because they
-@c shouldn't be live links.
-¤â¤·¡¢¤¢¤Ê¤¿¤Î¥ê¥×¥é¥¤¥¢¥É¥ì¥¹¤¬ÂÅÅö¤Êʪ¤Ç¤Ê¤¤¾ì¹ç¡¢¥¢¥É¥ì¥¹¤òÌÀ³Î¤Ë»ØÄꤹ¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
-subscribe ¤¢¤ë¤¤¤Ï unsubscribe ¤Î¤¢¤È¤Ë¥Ï¥¤¥Õ¥ó¤òÉÕ¤±¡¢¤½¤Î¤¢¤È¤Ë¤¢¤Ê¤¿¤Î
-¥¢¥É¥ì¥¹¤òµ­½Ò¤·¤Þ¤¹¡£¤¿¤À¤· @samp{@@} ʸ»ú¤Ï @samp{=} ¤ËÃÖ¤­ÊѤ¨¤Æ½ñ¤­¤Þ¤¹¡£
-Î㤨¤Ð¡¢ @code{john@@host.domain} ¤Ç¹ØÆɤ·¤¿¤¤¾ì¹ç¡¢
- @code{mysql-subscribe-john=host.domain@@lists.mysql.com} °¸¤Ë¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ê¤Þ¤¹¡£
-
-@email{mysql-subscribe@@lists.mysql.com} ¤ä @email{mysql-unsubscribe@@lists.mysql.com}
-¤Ø¤Î¥á¡¼¥ë¤Ï ezmlm ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¥×¥í¥»¥Ã¥µ¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£
-ezmlm ¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Ï @uref{http://www.ezmlm.org, The ezmlm Website}.
-
-Ëܥ᡼¥ê¥ó¥°¥ê¥¹¥È¤Ø¤ÎÅê¹Æ¤ò¹Ô¤¦¤Ë¤Ï¡¢@code{mysql@@lists.mysql.com} ¤Ë¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ê¤Þ¤¹¡£
-¤·¤«¤·¡¢subscribe ¤¢¤ë¤¤¤Ï unsubscribe ¤Î¥á¡¼¥ë¤ò
- @email{mysql@@lists.mysql.com} ¤Ë@emph{Á÷¤é¤Ê¤¤¤Ç¤¯¤À¤µ¤¤}¡£
-¤³¤ì¤é¤Î¥¢¥É¥ì¥¹¤ØÁ÷¤é¤ì¤¿¥á¡¼¥ë¤Ï¡¢²¿Àé¤â¤Î¥æ¡¼¥¶¡¼¤ËÇÛÁ÷¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
-
-¤¢¤Ê¤¿¤Î¥í¡¼¥«¥ë¥µ¥¤¥È¤¬Â¿¤¯¤Î @email{mysql@@lists.mysql.com} ¹ØÆɼԤò»ý¤Ä¤³¤È¤â
-¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥í¡¼¥«¥ë¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤òºî¤ê¡¢@code{lists.mysql.com} ¤«¤é¤Î
-°ì¤Ä¤Î¥á¥Ã¥»¡¼¥¸¤¬¤½¤Î¥µ¥¤¥È¤ËÁ÷¤é¤ì¡¢¥í¡¼¥«¥ë¤Ê¥ê¥¹¥È¤ÇÊ£¼Ì¤µ¤ì¤ë¤è¤¦¤Ë
-¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¾ì¹ç¡¢¥í¡¼¥«¥ë¤Î @strong{MySQL} ¥ê¥¹¥È¤Ø¤ÎÄɲäȺï½ü¤Ï¡¢
-¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à´ÉÍý¼Ô¤ËÌ䤤¹ç¤ï¤»¤Æ²¼¤µ¤¤¡£
-
-¼¡¤Î @strong{MySQL} ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤¬¤¢¤ê¤Þ¤¹:
-
-@table @code
-@item announce
-¤³¤ì¤Ï @strong{MySQL} ¤È´ØÏ¢¥×¥í¥°¥é¥à¤Î¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î¥¢¥Ê¥¦¥ó¥¹¤Î¤¿
-¤á¤Ç¤¹¡£¤³¤ì¤Ï¡¢Á´¤Æ¤Î @strong{MySQL} ¥æ¡¼¥¶¤¬Æþ¤ë¤Ù¤­¤È²æ¡¹¤¬¹Í¤¨¤ë¾¯¤Ê
-¤¤Î̤Υꥹ¥È¤Ç¤¹¡£
-
-@item mysql
-°ìÈ̤Π@strong{MySQL} µÄÏÀ¤Î¤¿¤á¤Î¼ç¤Ê¥ê¥¹¥È¤Ç¤¹¡£¤µ¤é¤ËÀìÌçŪ¤Ê¥ê¥¹¥È¤Ë
-¹Ô¤¯¤Ù¤­¤â¤Î¤â¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£´Ö°ã¤Ã¤¿¥ê¥¹¥È¤ËÅê¹Æ¤·¤Æ¤â¡¢Åú
-¤òÆÀ¤é¤ì¤Ê¤¤¤Ç¤·¤ç¤¦¡ª
-
-@item mysql-digest
-¥À¥¤¥¸¥§¥¹¥È·Á¼°¤Î @code{mysql} ¥ê¥¹¥È¤Ç¤¹¡£¤³¤ì¤Ï¡¢°ìÆü¤Ë°ì²ó¡¢°ì¤Ä¤ÎÂç
-¤­¤Ê¥á¡¼¥ë¤¬Á÷¤é¤ì¤ë¤³¤È¤Ç¸Ä¡¹¤Î¥á¥Ã¥»¡¼¥¸Á´¤Æ¤¬ÆÀ¤é¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-
-@item bugs
-¤³¤Î¥ê¥¹¥È¤Ë¤Ï¡¢´°Á´¤ÇºÆ¸½²Äǽ¤Ê¥Ð¥°¥ì¥Ý¡¼¥È¤À¤±¤ò¡¢@code{mysqlbug} ¤ò»È
-ÍѤ·¤ÆÅê¹Æ¤¹¤Ù¤­¤Ç¤¹(Windows ¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢OS ¤È
-@strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤Îµ­½Ò¤ò´Þ¤á¤ë¤Ù¤­¤Ç¤¹)¡£¤Ç¤­¤ì¤Ð¡¢Åê¹ÆÁ°¤Ë
-@strong{MySQL} ¤ÎºÇ¿·¤Î°ÂÄê¥Ð¡¼¥¸¥ç¥ó¤«³«È¯¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤ÆÌäÂê¤ò¥Æ
-¥¹¥È¤¹¤Ù¤­¤Ç¤¹¡ª ´Þ¤á¤é¤ì¤¿¥Æ¥¹¥È¥±¡¼¥¹¾å¤Ç¡¢'mysql test < script' ¤ò»È
-ÍѤ¹¤ë¤³¤È¤Ç¡¢Ã¯¤â¤¬¥Ð¥°¤òºÆ¸½¤Ç¤­¤ë¤Ù¤­¤Ç¤¹¡£¤³¤Î¥ê¥¹¥È¤ËÅê¹Æ¤µ¤ì¤¿Á´¤Æ
-¤Î¥Ð¥°¤Ï¡¢¼¡¤Î @strong{MySQL} ¥ê¥ê¡¼¥¹¤Ç½¤Àµ¤µ¤ì¤ë¤«¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Þ
-¤¹¡ª ¾®¤µ¤Ê¥³¡¼¥É¤ÎÊѹ¹¤À¤±¤Ç¤¹¤á¤Ð¡¢²æ¡¹¤Ï¤³¤ÎÌäÂê¤ò½¤Àµ¤¹¤ë¥Ñ¥Ã¥Á¤ÎÅê
-¹Æ¤â¹Ô¤Ê¤¤¤Þ¤¹¡£
-
-@item bugs-digest
-¥À¥¤¥¸¥§¥¹¥È·Á¼°¤Î @code{bugs} ¥ê¥¹¥È¤Ç¤¹¡£
-
-@item developer
-@strong{MySQL} ¥³¡¼¥É¤òÆ°¤«¤¹¿Í¤Î¤¿¤á¤Î¥ê¥¹¥È¡£¤³¤Î¥ê¥¹¥È¤Ç¤Ï
-@strong{MySQL} ³«È¯¤ÎµÄÏÀ¤È¥Ñ¥Ã¥Á¤ÎÅê¹Æ¤â²Äǽ¤Ç¤¹¡£
-
-@item developer-digest
-@code{developer} ¥ê¥¹¥È¤Î¥À¥¤¥¸¥§¥¹¥È¥Ð¡¼¥¸¥ç¥ó¡£
-
-@item java
-@strong{MySQL} ¤È Java ¤Ë¤Ä¤¤¤Æ¤ÎµÄÏÀ¡£Â¿¤¯¤Ï JDBC ¥É¥é¥¤¥Ð¤Ë¤Ä¤¤¤Æ¤Ç¤¹¡£
-
-@item java-digest
-@code{java} ¥ê¥¹¥È¤Î¥À¥¤¥¸¥§¥¹¥È¥Ð¡¼¥¸¥ç¥ó¡£
-
-@item win32
-Windows NT ¤Î¤è¤¦¤Ê Microsoft OS ¾å¤Î @strong{MySQL} ¤Ë´ØÏ¢¤¹¤ëÁ´¤Æ¡£
-
-@item win32-digest
-@code{win32} ¥ê¥¹¥È¤Î¥À¥¤¥¸¥§¥¹¥È¥Ð¡¼¥¸¥ç¥ó¡£
-
-@item myodbc
-ODBC ¤Ç @strong{MySQL} ¤Ø¤ÎÀܳ¤Ë´ØÏ¢¤¹¤ëÁ´¤Æ¡£
-
-@item myodbc-digest
-@code{myodbc} ¥ê¥¹¥È¤Î¥À¥¤¥¸¥§¥¹¥È¥Ð¡¼¥¸¥ç¥ó¡£
-
-@item msql-mysql-modules
-@strong{MySQL} ¤Ç¥µ¥Ý¡¼¥È¤¹¤ë Perl ¤Ë¤Ä¤¤¤Æ¤Î¥ê¥¹¥È¡£
-
-@item msql-mysql-modules-digest
-@code{msql-mysql-modules} ¥ê¥¹¥È¤Î¥À¥¤¥¸¥§¥¹¥È¥Ð¡¼¥¸¥ç¥ó¡£
-@end table
-
-¾å½Ò¤·¤¿¤Î¤ÈƱ¤¸ÊýË¡¤ÇÁ´¤Æ¤Î¥ê¥¹¥È¤Î¹ØÆɤޤ¿¤Ï¹ØÆÉÃæ»ß¤¬¤Ç¤­¤Þ¤¹¡£¤¢¤Ê¤¿
-¤Î¹ØÆɤޤ¿¤Ï¹ØÆÉÃæ»ß¤Î¥á¥Ã¥»¡¼¥¸¤Ï¡¢@code{mysql} ¤Ç¤Ï¤Ê¤¯Å¬Àڤʥ᡼¥ê¥ó¥°¥ê¥¹
-¥È¤ËÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£Î㤨¤Ð¡¢ @code{myodbc} ¥ê¥¹¥È¤ò¹ØÆɤޤ¿¤Ï¹ØÆÉÃæ»ß¤¹¤ë¤Ë¤Ï¡¢
-@email{myodbc-subscribe@@lists.mysql.com} ¤Þ¤¿¤Ï
-@email{myodbc-unsubscribe@@lists.mysql.com} ¤Ë¥á¡¼¥ë¤òÁ÷¤ê¤Þ¤¹¡£
-
-
-@cindex Net etiquette
-@node Asking questions, Bug reports, Mailing-list, Questions
-@section ¼ÁÌä¤Þ¤¿¤Ï¥Ð¥°Êó¹ð
-
-¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ø¼ÁÌä¤ò¿Ò¤Í¤ëÁ°¤Ë¡¢°Ê²¼¤Î¼ê½ç¤òƧ¤ó¤Ç¤¯¤À¤µ¤¤¡§
-
-@itemize @bullet
-@item
-@strong{MySQL} ¤Î¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤òÄ´¤Ù¤ë¤³¤È¤«¤é¤Ï¤¸¤á¤Þ¤¹¡§
-
-@example
-@uref{http://www.mysql.com/Manual_chapter/manual_toc.html}
-@end example
-
-²æ¡¹¤Ï¡¢¿·¤·¤¯¸«¤Ä¤«¤Ã¤¿ÌäÂê¤Î²ò·è¤Ç¥Þ¥Ë¥å¥¢¥ë¤òÉÑÈˤ˹¹¿·¤¹¤ë¤³¤È¤Ç¡¢¤½¤ì¤ò
-ºÇ¿·¤ËÊÝ»ý¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹¡ª
-
-@item
-@strong{MySQL} ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¥¢¡¼¥«¥¤¥Ö¤ò¸¡º÷¤·¤Þ¤¹¡§
-
-@example
-@uref{http://www.mysql.com/doc.html}
-@end example
-
-@item
-@uref{http://www.mysql.com/}
-¤ÎÁ´¤Æ¤Î Web ¥Ú¡¼¥¸(¥Þ¥Ë¥å¥¢¥ë¤â´Þ¤à)¤ò¸¡º÷¤¹¤ë¤¿¤á¤Ë
-@uref{http://www.mysql.com/search.html} ¤â»ÈÍѤǤ­¤Þ¤¹¡£
-@end itemize
-
-¤³¤³¤Ç²óÅú¤¬¸«¤Ä¤±¤é¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢¶á¤¯¤Î @strong{MySQL} ½ÏÎý¼Ô¤È¤È¤â
-¤ËÄ´¤Ù¤Æ²¼¤µ¤¤¡£¤Þ¤À¤¢¤Ê¤¿¤Î¼ÁÌä¤Î²óÅú¤¬¸«¤Ä¤±¤é¤ì¤Ê¤±¤ì¤Ð¡¢Àè¤Ë¿Ê¤ß¡¢¼¡
-¤Î¥»¥¯¥·¥ç¥ó¤Î @email{mysql@@lists.mysql.com} ¤Ø¥á¡¼¥ë¤òÁ÷¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤òÆɤó¤Ç
-¤¯¤À¤µ¤¤¡£
-
-@cindex Bug reports
-@cindex Reporting bugs
-@node Bug reports, Answering questions, Asking questions, Questions
-@section ¥Ð¥°¤äÌäÂê¤òÊó¹ð¤¹¤ëÊýË¡
-
-Îɤ¤¥Ð¥°¥ì¥Ý¡¼¥È¤ò½ñ¤¯¤Î¤ÏǦÂѤ¬Íפê¤Þ¤¹¤¬¡¢¤½¤ì¤òºÇ½é¤ËÀµ¤·¤¯¹Ô¤Ê¤¦¤³¤È
-¤Ï²æ¡¹¤È¤¢¤Ê¤¿¤«¤é»þ´Ö¤òÀáÌó¤·¤Þ¤¹¡£
-¤½¤Î¥Ð¥°¤Ë¤Ä¤¤¤Æ¤Î´°Á´¤Ê¥Æ¥¹¥È¥±¡¼¥¹¤ò´Þ¤àÎɤ¤¥Ð¥°¥ì¥Ý¡¼¥È¤Ï¡¢¼¡¤Î¥ê¥ê¡¼
-¥¹¤Ç¤½¤ì¤¬½¤Àµ¤µ¤ì¤ë²ÄǽÀ­¤¬¤È¤Æ¤â¹â¤¯¤Ê¤ê¤Þ¤¹¡£
-¤³¤ÎÀá¤Ç¤Ï¡¢¤«¤Ê¤ê¤Î¡¢¤Þ¤¿¤ÏÁ´¤¯²æ¡¹
-¤Î½õ¤±¤Ë¤Ê¤é¤Ê¤¤¤³¤È¤Ë¤¢¤Ê¤¿¤Î»þ´Ö¤òϲÈñ¤·¤Ê¤¤¤è¤¦¤Ë¡¢¤¢¤Ê¤¿¤¬¥ì¥Ý¡¼¥È¤ò
-Àµ¤·¤¯½ñ¤¯¤³¤È¤ò¼ê½õ¤±¤·¤Þ¤¹¡£
-
-²æ¡¹¤Ï¡¢¥Ð¥°¥ì¥Ý¡¼¥È¤Þ¤¿²Äǽ¤Ê¤é¤ÐÁ´¤Æ¤ÎÌäÂê¤Ë¤Ä¤¤¤Æ¤Î¥ì¥Ý¡¼¥È¤ÎºîÀ®¤Ë
-@code{mysqlbug} ¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¾©Î夷¤Þ¤¹¡£@code{mysqlbug} ¤Ï
-¥½¡¼¥¹ÇÛÉÛÆâ¤Î @file{scripts} ¥Ç¥£¥ì¥¯¥È¥ê¡¢¤Þ¤¿¤Ï¡¢¥Ð¥¤¥Ê¥êÇÛÉۤǤÏ
-@strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥Ç¥£¥ì¥¯¥È¥êÇÛ²¼¤Î @file{bin} ¥Ç¥£¥ì¥¯
-¥È¥ê¤«¤é¸«¤Ä¤±¤é¤ì¤Þ¤¹¡£@code{mysqlbug} ¤ò»ÈÍѤǤ­¤Ê¤¤¾ì¹ç¤Ï¡¢¤³¤ÎÀá¤Ëµó
-¤²¤é¤ì¤Æ¤¤¤ëÁ´¤Æ¤ÎɬÍפʾðÊó¤ò´Þ¤á¤ë¤Ù¤­¤Ç¤¹¡£
-
-@code{mysqlbug} ¥¹¥¯¥ê¥×¥È¤Ï¡¢²¼µ­¤Î¿¤¯¤Î¾ðÊó¤ò¼«Æ°Åª¤Ë¸«¤Ä¤±½Ð¤¹¤³¤È¤Ç¡¢
-¥ì¥Ý¡¼¥È¤ÎºîÀ®¤ò¼ê½õ¤±¤·¤Þ¤¹¡£¤·¤«¤·¡¢½ÅÍפʲ¿¤«¤¬Â­¤ê¤Ê¤¤¾ì¹ç¡¢¤¢¤Ê¤¿¤Î
-¥á¥Ã¥»¡¼¥¸¤Ë¤½¤ì¤ò´Þ¤á¤Æ¤¯¤À¤µ¤¤¡ª ¤³¤ÎÀá¤ò¿µ½Å¤ËÆɤó¤Ç¡¢¤³¤³¤Ç½Ò¤Ù¤é¤ì
-¤Æ¤¤¤ëÁ´¤Æ¤Î¾ðÊ󤬥ì¥Ý¡¼¥ÈÃæ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-¥Ð¥°¤òÌÀ³Î¤Ë¼¨¤¹¥Æ¥¹¥È¥±¡¼¥¹¤òºî¤ë¤³¤È¤¬¤Ç¤­¤ì¤Ð¡¢
-@email{bugs@@list.mysql.com} ¥ê¥¹¥È¤Ë¤½¤ì¤òÅê¹Æ¤·¤Æ¤¯¤À¤µ¤¤¡£Ãí°Õ: ¤³¤Î
-¥ê¥¹¥È¤Ë¤Ï¡¢´°Á´¤ÇºÆ¸½²Äǽ¤Ê¥Ð¥°¾ðÊó¤ò @code{mysqlbug} ¥¹¥¯¥ê¥×¥È¤ò»ÈÍÑ
-¤·¤ÆÅê¹Æ¤¹¤Ù¤­¤Ç¤¹(Windows ¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢OS ¤È
-@strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤Îµ­½Ò¤ò´Þ¤á¤ë¤Ù¤­¤Ç¤¹)¡£¤Ç¤­¤ì¤Ð¡¢Åê¹ÆÁ°¤Ë
-@strong{MySQL} ¤ÎºÇ¿·¤Î°ÂÄê¥Ð¡¼¥¸¥ç¥ó¤«³«È¯¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤ÆÌäÂê¤ò¥Æ
-¥¹¥È¤¹¤Ù¤­¤Ç¤¹¡ª ´Þ¤á¤é¤ì¤¿¥Æ¥¹¥È¥±¡¼¥¹¾å¤Ç¡¢'mysql test < script' ¤ò»È
-ÍѤ¹¤ë¤³¤È¤Ç¡¢¤Þ¤¿¤Ï¡¢¥Ð¥°¥ì¥Ý¡¼¥È¤Ë´Þ¤á¤é¤ì¤¿¥·¥§¥ë/Perl¥¹¥¯¥ê¥×¥È¤ò¼Â
-¹Ô¤¹¤ë¤³¤È¤Ç¡¢Ã¯¤â¤¬¥Ð¥°¤òºÆ¸½¤Ç¤­¤ë¤Ù¤­¤Ç¤¹¡£¤³¤Î¥ê¥¹¥È¤ËÅê¹Æ¤µ¤ì¤¿Á´¤Æ
-¤Î¥Ð¥°¤Ï¡¢¼¡¤Î @strong{MySQL} ¥ê¥ê¡¼¥¹¤Ç½¤Àµ¤µ¤ì¤ë¤«¥É¥­¥å¥á¥ó¥È²½¤µ¤ì¤Þ
-¤¹¡ª ¾®¤µ¤Ê¥³¡¼¥É¤ÎÊѹ¹¤À¤±¤Ç¤¹¤á¤Ð¡¢²æ¡¹¤Ï¤³¤ÎÌäÂê¤ò½¤Àµ¤¹¤ë¥Ñ¥Ã¥Á¤ÎÅê
-¹Æ¤â¹Ô¤Ê¤¤¤Þ¤¹¡£
-
-¿¤¹¤®¤ë¾ðÊó¤ò´Þ¤à¥á¥Ã¥»¡¼¥¸¤ËÅú¤¨¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¤¬¡¢¾¯¤Ê¤¹¤®¤ë¾ðÊó¤ò´Þ
-¤à¤â¤Î¤Ë¤Ï¤Ç¤­¤Ê¤¤¤È¤¤¤¦¤³¤È¤ò³Ð¤¨¤Æ¤¤¤Æ¤¯¤À¤µ¤¤¡£¤·¤Ð¤·¤Ð¿Í¤Ï»ö¼Â¤ò¾Ê¤¤
-¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ÌäÂê¤Î¸¶°ø¤ò¤ï¤«¤Ã¤Æ¤¤¤ë¤È»×¤¤¡¢¤¤¤¯¤Ä¤«¤Î¾ÜºÙ¤ò½ÅÂç¤Ç¤Ê¤¤
-¤È¸«¤Ê¤·¤Æ¤·¤Þ¤¦¤«¤é¤Ç¤¹¡£Îɤ¤¸¶Â§¤Ï: ²¿¤«¤ò¸À¤ª¤¦¤«Ì¤ä¿¤È¤­¤Ë¤Ï¡¢¸À¤Ã
-¤Æ¤¯¤À¤µ¤¤¡ª ºÇ½é¤Ë¤¢¤Ê¤¿¤¬½½Ê¬¤Ê¾ðÊó¤ò´Þ¤á¤Ê¤«¤Ã¤¿¤¿¤á¤Ë¡¢ºÆ¤Ó¼ÁÌ䤷¤Æ
-²óÅú¤òÂԤĤ³¤È¤ò¶¯Íפµ¤ì¤ë¤è¤ê¡¢¿ô¹Ô¤ò¤¢¤Ê¤¿¤Î¥ì¥Ý¡¼¥È¤Ë½ñ¤¯Êý¤¬ÀéÇÜ®¤¯
-¤ÆÌÂÏǤǤϤ¢¤ê¤Þ¤»¤ó¡£
-
-Îɤ¯¤¢¤ë´Ö°ã¤¤¤Ï¡¢»ÈÍѤ·¤Æ¤¤¤ë @strong{MySQL} ÇÛÉۤΥС¼¥¸¥ç¥óÈÖ¹æ¤ò¼¨¤µ
-¤Ê¤¤¡¢¤Þ¤¿¤Ï @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ò(¥×¥é¥Ã
-¥È¥Õ¥©¡¼¥à¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò´Þ¤á¤Æ)¼¨¤µ¤Ê¤¤»ö¤Ç¤¹¡£¤³¤ì¤Ï¤È¤Æ¤â´ØÏ¢¤·¤¿
-¾ðÊó¤Ç¡¢100 ¤Î¥Ð¥°¥ì¥Ý¡¼¥È¤Î¤¦¤Á 99 ¤Î¾ì¹ç¡¢¤³¤Î¾ðÊ󤬤ʤ¤¤ÈÌò¤ËΩ¤Á¤Þ¤»
-¤ó¡ª ²æ¡¹¤Ï ``²¿¸Î»ä¤Ç¤ÏÆ°ºî¤·¤Ê¤¤¤Î¡©'' ¤Î¤è¤¦¤Ê¼ÁÌä¤ò¤È¤Æ¤âÎɤ¯¼õ¤±¤Þ
-¤¹¡£¤½¤·¤Æ²æ¡¹¤Ï¡¢Í׵ᤵ¤ì¤¿µ¡Ç½¤Ï¤½¤Î @strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤Ë¼ÂÁõ¤µ
-¤ì¤Æ¤¤¤Ê¤¤¡¢¤Þ¤¿¤Ï¡¢¥ì¥Ý¡¼¥ÈÃæ¤Ë½Ò¤Ù¤é¤ì¤Æ¤¤¤ë¥Ð¥°¤Ï¿·¤·¤¤
-@strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤Ç´û¤Ë½¤Àµ¤µ¤ì¤Æ¤¤¤ë¤Ç¤¢¤ë¤³¤È¤ò¸«¤Ä¤±¤Þ¤¹¡£»þ¡¹¡¢
-¥¨¥é¡¼¤Ï¥×¥é¥Ã¥È¥Õ¥©¡¼¥à°Í¸¤Ç¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¥×¥é¥Ã¥È¥Õ¥©¡¼
-¥à¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÃΤé¤Ê¤¤¤³¤È¤Ë¤Ï¡¢²¿¤â½¤Àµ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
-
-ÌäÂê¤Ë´ØÏ¢¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤âÍ¿¤¨¤ë¤³¤È¤ò˺¤ì¤Ê¤¤
-¤Ç¤¯¤À¤µ¤¤¡£¤·¤Ð¤·¤Ð¿Í¤Ï¥³¥ó¥Ñ¥¤¥é¤Î¥Ð¥°¤ò¸«¤Ä¤±¤Æ¡¢ÌäÂê¤Ï
-@strong{MySQL} ¤Ë´ØÏ¢¤·¤Æ¤¤¤ë¤È¹Í¤¨¤Þ¤¹¡£Â¿¤¯¤Î¥³¥ó¥Ñ¥¤¥é¤Ï¤¤¤Ä¤â³«È¯Ãæ
-¤Ç¡¢¥Ð¡¼¥¸¥ç¥ó¤ò¾å¤²¤ë¤³¤È¤Ë¤è¤Ã¤Æ¤è¤êÎɤ¤¥Ð¡¼¥¸¥ç¥ó¤Ë¤Ê¤ê¤Þ¤¹¡£ÌäÂ꤬¥³
-¥ó¥Ñ¥¤¥é¤Ë°Í¸¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò³ÎÄꤹ¤ë¤Ë¤Ï¡¢¤É¤Î¥³¥ó¥Ñ¥¤¥é¤¬»ÈÍѤµ¤ì¤Æ
-¤¤¤ë¤«¤òÃΤ뤳¤È¤¬É¬ÍפǤ¹¡£Á´¤Æ¤Î¥³¥ó¥Ñ¥¤¥ë¤ÎÌäÂê¤Ï¥Ð¥°¥ì¥Ý¡¼¥È¤È¤ß¤Ê¤µ
-¤ì¡¢¤½¤ì¤Ë½¾¤Ã¤ÆÊó¹ð¤µ¤ì¤ë¤Ù¤­¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-ºÇ¤âÌò¤ËΩ¤Ä¤Î¤Ï¡¢ÌäÂê¤ÎÎɤ¤ÀâÌÀ¤¬¥Ð¥°¥ì¥Ý¡¼¥È¤Ë´Þ¤á¤é¤ì¤ë¤³¤È¤Ç¤¹¡£¤Ä¤Þ
-¤ê¡¢ÌäÂê¤ËƳ¤«¤ì¤ëÁ´¤Æ¤Î¹Ô¤Ê¤Ã¤¿¤³¤È¤ÎÎã¤È¡¢Àµ³Î¤Ëµ­½Ò¤µ¤ì¤¿ÌäÂꤽ¤ì¼«¿È
-¤Ç¤¹¡£Îɤ¤¥Ð¥°¥ì¥Ý¡¼¥È¤Ï¡¢¥Ð¥°¤äÌäÂê¤òºÆ¸½¤¹¤ëÊýË¡¤ò¼¨¤¹´°Á´¤ÊÎã¤ò´Þ¤à¤â
-¤Î¤Ç¤¹¡£
-
-ÌäÂ꤬¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÍ¿¤¨¤ë¾ì¹ç¡¢¤½¤ì¤ò¥ì¥Ý¡¼¥È¤Ë´Þ¤á¤ë¤³¤È¤Ï¤È¤Æ¤â½Å
-ÍפǤ¹¡ª ²æ¡¹¤¬¥×¥í¥°¥é¥à¤ò»ÈÍѤ¹¤ë¥¢¡¼¥«¥¤¥Ö¤«¤é²¿¤«¤ò¸¡º÷¤·¤è¤¦¤È¤¹¤ë
-¾ì¹ç¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Ï¥×¥í¥°¥é¥à¤¬Í¿¤¨¤¿¤â¤Î¤ÈÀµ³Î¤Ë°ìÃפ¹¤ëÊý¤¬Îɤ¤¤Ç
-¤¹(Âçʸ»ú¾®Ê¸»ú¤â¼é¤é¤ì¤ë¤Ù¤­¤Ç¤¹¡ª)¡£¤É¤Î¤è¤¦¤Ê¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤À¤Ã¤¿¤«
-¤ò³Ð¤¨¤ë¤Ê¤ó¤Æ¤³¤È¤Ï¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡¨¥ì¥Ý¡¼¥È¤Ë´°Á´¤Ê¥á¥Ã¥»¡¼¥¸¤ò¥³¥Ô¡¼
-¤·Ä¥¤ê¤Ä¤±¤Æ¤¯¤À¤µ¤¤¡£
-
-MyODBC ¤Ç¤ÎÌäÂ꤬¤¢¤ë¾ì¹ç¡¢MyODBC ¥È¥ì¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤ò»î¤ß¤ë¤Ù¤­¤Ç¤¹¡£
-@xref{MyODBC bug report}¡£
-
-¤¢¤Ê¤¿¤Î¥ì¥Ý¡¼¥È¤òÆɤ࿤¯¤Î¿Í¤¬ 80·å¥Ç¥£¥¹¥×¥ì¥¤¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È¤¤¤¦¤³
-¤È¤ò³Ð¤¨¤Æ¤ª¤¤¤Æ²¼¤µ¤¤¡£½¾¤Ã¤Æ¡¢@code{mysql} ¥³¥Þ¥ó¥É¥é¥¤¥ó¥Ä¡¼¥ë¤ò»ÈÍÑ
-¤·¤Æ¥ì¥Ý¡¼¥È¤Þ¤¿¤Ï¥µ¥ó¥×¥ë¤òÀ¸À®¤¹¤ë»þ¡¢¤½¤Î¤è¤¦¤Ê¥Ç¥£¥¹¥×¥ì¥¤¤ÎÍ­¸úÉý¤ò
-Ķ¤¨¤ë½ÐÎÏ(Î㤨¤Ð¡¢@code{EXPLAIN SELECT} ¥¹¥Æ¡¼¥È¥á¥ó¥È; ¸å½Ò¤Î¥µ¥ó¥×¥ë
-¤ò¸«¤Æ¤¯¤À¤µ¤¤)¤Ë¤Ï¡¢@code{--vertical} ¥ª¥×¥·¥ç¥ó(¤Þ¤¿¤Ï @code{\G} ¥¹¥Æ¡¼
-¥È¥á¥ó¥È½ªÃ¼)¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-
-¼¡¤Î¾ðÊó¤ò¥ì¥Ý¡¼¥È¤Ë´Þ¤á¤Æ¤¯¤À¤µ¤¤:
-
-@itemize @bullet
-@item
-»ÈÍѤ·¤Æ¤¤¤ë @strong{MySQL} ÇÛÉۤΥС¼¥¸¥ç¥óÈÖ¹æ (Î㤨¤Ð @strong{MySQL}
-3.22.22)¡£¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤òÆ°¤«¤·¤Æ¤¤¤ë¤«¤Ï @code{mysqladmin version} ¤Î
-¼Â¹Ô¤Ç¸«¤Ä¤±¤é¤ì¤Þ¤¹¡£@code{mysqladmin} ¤Ï @strong{MySQL} ¤Î¥¤¥ó¥¹¥È¡¼¥ë
-¥Ç¥£¥ì¥¯¥È¥êÇÛ²¼¤Î @file{bin} ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸«¤Ä¤±¤é¤ì¤Þ¤¹¡£
-
-@item
-¤¢¤Ê¤¿¤¬ºî¶È¤·¤Æ¤¤¤ë¥Þ¥·¥ó¤Î¥á¡¼¥«¡¼¤È¥â¥Ç¥ë¡£
-
-@item
-¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à̾¤È¥Ð¡¼¥¸¥ç¥ó¡£Â¿¤¯¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç
-¤Ï¡¢Unix ¥³¥Þ¥ó¥É @code{uname -a} ¤Î¼Â¹Ô¤Ë¤è¤Ã¤Æ¤³¤Î¾ðÊó¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
-
-@item
-»þ¤Ë¤Ï¥á¥â¥ê(¼Â¥á¥â¥ê¤È²¾ÁÛ¥á¥â¥ê)¤ÎÎ̤â´Ø·¸¤·¤Þ¤¹¡£µ¿¤ï¤·¤±¤ì¤Ð¡¢¤½¤ì¤ò
-´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-@strong{MySQL} ¤Î¥½¡¼¥¹ÇÛÉÛ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢»ÈÍѤ·¤¿¥³¥ó¥Ñ¥¤¥é¤Î̾
-Á°¤È¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Ë¤Ä¤Æ¤Î¾ðÊó¤âɬÍפǤ¹¡£¥Ð¥¤¥Ê¥êÇÛÉۤξì¹ç¤Ï¡¢ÇÛÉÛ̾¤¬
-ɬÍפǤ¹¡£
-
-@item
-ÌäÂ꤬¥³¥ó¥Ñ¥¤¥ëÃæ¤ËȯÀ¸¤¹¤ë¾ì¹ç¡¢Àµ³Î¤Ê¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤È¡¢¥¨¥é¡¼¤¬È¯À¸
-¤·¤¿¥Õ¥¡¥¤¥ë¤ÎÌäÂê¤Î¥³¡¼¥É¤Î²ó¤ê¤Î¿ô¹Ô¤â´Þ¤á¤Æ²¼¤µ¤¤¡£
-
-@item
-
-²¿¤«¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥Æ¡¼¥Ö¥ë¤¬ÌäÂê¤Ë´ØÏ¢¤¹¤ë¾ì¹ç¤Ï¡¢
-@code{mysqldump --no-data db_name tbl_name1 tbl_name2 ...} ¤«¤é¤Î½ÐÎϤò´Þ¤á¤Æ
-¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ÎǤ°Õ¤Î¥Æ¡¼¥Ö¥ë¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÆÀ¤ë¤È¤Æ¤â
-´Êñ¤Ç¶¯ÎϤÊÊýË¡¤Ç¡¢²æ¡¹¤¬¤¢¤Ê¤¿¤Î¾õ¶·¤Ë°ìÃפ¹¤ë¤â¤Î¤òÀ¸À®¤¹¤ë¼ê½õ¤±¤Ë¤Ê
-¤ê¤Þ¤¹¡£
-
-@item
-@code{SELECT} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç¤Î®Å٤˴ؤ¹¤ë¥Ð¥°¤äÌäÂê¤Ç¤Ï¡¢
-@code{EXPLAIN SELECT ...} ¤Î½ÐÎϤȡ¢¾¯¤Ê¤¯¤È¤â @code{SELECT} ¥¹¥Æ¡¼¥È¥á
-¥ó¥È¤¬Í¿¤¨¤ë¹Ô¤Î¿ô¤ò¾ï¤Ë´Þ¤á¤ë¤Ù¤­¤Ç¤¹¡£¤¢¤Ê¤¿¤Î¾õ¶·¤Ë¤Ä¤¤¤Æ¡¢¤è¤ê¿¤¯¤Î
-¾ðÊó¤ò¡¢Ã¯¤«¤¬¤¢¤Ê¤¿¤ò½õ¤±¤é¤ì¤ë¤è¤¦¤Ë¡¢¤è¤êŬÀÚ¤ËÍ¿¤¨¤Æ¤¯¤À¤µ¤¤¡ª Î㤨
-¤Ð¡¢¼¡¤Ï¤È¤Æ¤âÎɤ¤¥Ð¥°¥ì¥Ý¡¼¥È¤ÎÎã¤Ç¤¹¡Ê¤â¤Á¤í¤ó @code{mysqlbug} ¥¹¥¯¥ê¥×¥È¤ÇÅê
-¹Æ¤µ¤ì¤Æ¤Þ¤¹¡Ë:
-
-@code{mysql} ¥³¥Þ¥ó¥É¹Ô¥Ä¡¼¥ëÇÛ²¼¤Ç¤Î¼Â¹ÔÎã(Ãí°Õ: ½ÐÎÏÉý¤¬¥Ç¥£¥¹¥×¥ì¥¤Áõ
-ÃÖ¤Î80·å¤òĶ¤¨¤ë¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ë¤Ï¡¢@code{\G} ¥¹¥Æ¡¼¥È¥á¥ó¥È½ªÃ¼¤ò»ÈÍѤ·
-¤Æ¤¯¤À¤µ¤¤):
-
-@example
-mysql> SHOW VARIABLES;
-mysql> SHOW COLUMNS FROM ...\G
- <output-from-SHOW-COLUMNS>
-mysql> EXPLAIN SELECT ...\G
- <output-from-EXPLAIN>
-mysql> FLUSH STATUS;
-mysql> SELECT ...;
- <A short version of the output from SELECT,
- including the time taken to run the query>
-mysql> SHOW STATUS;
- <output from SHOW STATUS>
-@end example
-
-@item
-ÌäÂê¤ä¥Ð¥°¤¬ @strong{MySQL} ¼Â¹ÔÃæ¤ËȯÀ¸¤¹¤ë¾ì¹ç¡¢¥Ð¥°¤òºÆ¸½¤¹¤ëÆþÎÏ¥¹¥¯
-¥ê¥×¥È¤¬É¬ÍפǤ¹¡£¤³¤Î¥¹¥¯¥ê¥×¥È¤ÏɬÍפʥ½¡¼¥¹¥Õ¥¡¥¤¥ëÁ´¤Æ¤ò´Þ¤á¤ë¤Ù¤­¤Ç
-¤¹¡£¤è¤êÀºÌ©¤Ê¥¹¥¯¥ê¥×¥È¤Ï¤¢¤Ê¤¿¤Î¤Ë»÷¤¿¾õ¶·¤òÎɤ¯ºÆ¸½¤Ç¤­¤Þ¤¹¡£
-
-¤â¤·¥¹¥¯¥ê¥×¥È¤òÄ󶡤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤±¤ì¤Ð¡¢¾¯¤Ê¤¯¤È¤â¡¢
-@code{mysqladmin variables extended-status processlist} ¤Î
-½ÐÎÏ·ë²Ì¤ò¥á¡¼¥ë¤Ë¤ò´Þ¤à¤Ù¤­¤Ç¤¹¡£ ¤³¤ì¤Ï¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à¤Î¾ðÊó¤ò
-Ä󶡤·¤Þ¤¹¡ª
-
-@item
-@strong{MySQL} ¤¬¥¯¥¨¥ê¤«¤é°Û¾ï¤Ê·ë²Ì¤òÍ¿¤¨¤ë¤È»×¤¦¾ì¹ç¤Ï¡¢·ë²Ì¤À¤±¤Ç¤Ê
-¤¯¡¢·ë²Ì¤¬¤É¤¦¤Ê¤ë¤Ù¤­¤«¤È¤¤¤¦¤¢¤Ê¤¿¤Î°Õ¸«¤È¡¢¤¢¤Ê¤¿¤Î°Õ¸«¤Î´ðËܤòÀâÌÀ¤¹
-¤ëÍýͳ¤â´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-ÌäÂê¤Î¥µ¥ó¥×¥ë¤òÄ󶡤¹¤ë»þ¤Ë¡¢¿·¤·¤¤Ì¾Á°¤Ë¤¹¤ë¤è¤ê¤â¡¢¼ÂºÝ¤Î¾õ¶·¤Ç¸ºß¤¹
-¤ë¤Î¤ÈƱ¤¸ÊÑ¿ô̾¤ä¥Æ¡¼¥Ö¥ë̾Åù¤ò»ÈÍѤ·¤¿Êý¤¬Îɤ¤¤Ç¤¹¡£ÌäÂê¤ÏÊÑ¿ô¤ä¥Æ¡¼¥Ö
-¥ëÅù¤Î̾Á°¤Ë´ØÏ¢¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡ª ¤ª¤½¤é¤¯¤³¤ì¤Ï¤Þ¤ì¤Ê¥±¡¼¥¹¤Ç¤¹¤¬¡¢
-sorry ¤è¤ê¤â safe ¤ÎÊý¤¬Îɤ¤¤Ç¤¹¡£·ë¶É¡¢¼ÂºÝ¤Ë»ý¤Ã¤Æ¤¤¤ë¤¢¤Ê¤¿¤Î¥µ¥ó¥×¥ë
-Ãæ¤ÎƱ¤¸¾õ¶·¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¤¢¤Ê¤¿¤Ë¤È¤Ã¤Æ¤â´Êñ¤Ç¡¢²æ¡¹¤Ë¤È¤Ã¤Æ¤âÁ´¤Æ¤Î
-°ÕÌ£¤ÇÎɤ¤¤³¤È¤Ç¤¹¡£Â¾¤Î¿Í¤Ë¸«¤»¤¿¤¯¤Ê¤¤¥Ç¡¼¥¿¤ò¤¤¤¯¤Ä¤«»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢
-@code{ftp} ¤ò»ÈÍѤ·¤Æ @uref{ftp://www.mysql.com/pub/mysql/secret/} ¤Ë¥Ç¡¼
-¥¿¤òžÁ÷¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Ç¡¼¥¿¤¬ËÜÅö¤ËºÇ¹âµ¡Ì©¤Ç²æ¡¹¤Ë¤µ¤¨¸«¤»¤¿¤¯¤Ê
-¤¤¾ì¹ç¤Ï¡¢Àè¤Ë¿Ê¤ó¤Ç¡¢Â¾¤ÎÊÑ¿ô̾Åù¤ò»ÈÍѤ·¤Æ¥µ¥ó¥×¥ë¤òºî¤Ã¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
-¤·¤«¤·¤³¤ì¤ÏºÇ¸å¤ÎÁªÂò¤È»×¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-²Äǽ¤Ê¤é¤Ð¡¢´ØÏ¢¥×¥í¥°¥é¥à¤ËÍ¿¤¨¤é¤ì¤¿Á´¤Æ¤Î¥ª¥×¥·¥ç¥ó¤ò´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£
-Î㤨¤Ð¡¢@code{mysqld} ¥Ç¡¼¥â¥ó³«»Ï»þ¤Ë»ÈÍѤ·¤¿¥ª¥×¥·¥ç¥ó¤È
-@strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¼Â¹Ô¤Ë»ÈÍѤ·¤¿¥ª¥×¥·¥ç¥ó¤ò¼¨¤·¤Æ¤¯
-¤À¤µ¤¤¡£¡£@code{mysqld}, @code{mysql} ¤Þ¤¿¤Ï @code{configure} ¥¹¥¯¥ê¥×¥È
-¤Ø¤Î¥ª¥×¥·¥ç¥ó¤Ï¤·¤Ð¤·¤Ð²óÅú¤Ø¤Î¥­¡¼¤Ë¤Ê¤ê¡¢¤È¤Æ¤â´ØÏ¢¤·¤Æ¤¤¤Þ¤¹¡ª ¤È¤Ë
-¤«¤¯¤½¤ì¤é¤ò´Þ¤á¤ë¤È¤¤¤¦¤Î¤Ï°­¤¤¹Í¤¨¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡ª Perl ¤ä PHP ¤Ê¤É¤Î
-¥â¥¸¥å¡¼¥ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ì¤é¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤â´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-¿ô¹Ô¤Î¥Æ¥¹¥È¥±¡¼¥¹¤òÄ󶡤Ǥ­¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï¥Æ¥¹¥È¥Æ¡¼¥Ö¥ë¤¬¥á¡¼¥ê¥ó¥°¥ê
-¥¹¥È¤Ë¥á¡¼¥ë¤¹¤ë¤Ë¤ÏÂ礭¤¹¤®¤ë(10¹Ô°Ê¾å)¾ì¹ç¡¢@code{mysqldump} ¤ò»ÈÍѤ·
-¤Æ¤¢¤Ê¤¿¤Î¥Æ¡¼¥Ö¥ë¤ò¥À¥ó¥×¤·¡¢¤¢¤Ê¤¿¤ÎÌäÂê¤òÀâÌÀ¤·¤¿ @file{README} ¥Õ¥¡
-¥¤¥ë¤òºî¤ë¤Ù¤­¤Ç¤¹¡£
-
-@code{tar} ¤È @code{gzip} ¤Þ¤¿¤Ï @code{zip} ¤ò»ÈÍѤ·¤Æ¡¢¥Õ¥¡¥¤¥ë¤Î°µ½Ì¥¢¡¼
-¥«¥¤¥Ö¤òÀ¸À®¤·¡¢¤½¤Î¥¢¡¼¥«¥¤¥Ö¤ò @code{ftp} ¤ò»ÈÍѤ·¤Æ
-@uref{ftp://www.mysql.com/pub/mysql/secret/} ¤ËžÁ÷¤·¤Æ¤¯¤À¤µ¤¤¡£¤½¤ì¤«
-¤éÌäÂê¤Îû¤¤ÀâÌÀ¤ò @email{mysql@@lists.mysql.com} ¤ËÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-¼ÁÌ䤬¸¢¸Â¥·¥¹¥Æ¥à¤Ë´ØÏ¢¤¹¤ë¾ì¹ç¡¢@code{mysqlaccess} ¤Î½ÐÎÏ¡¢
-@code{mysqladmin reload} ¤Î½ÐÎÏ¡¢Àܳ¤·¤è¤¦¤È¤·¤¿»þ¤ËÆÀ¤é¤ì¤¿Á´¤Æ¤Î¥¨¥é¡¼
-¥á¥Ã¥»¡¼¥¸¤ò´Þ¤á¤Æ¤¯¤À¤µ¤¤¡ª ¸¢¸Â¤ò¥Æ¥¹¥È¤¹¤ë»þ¡¢¤Þ¤º @code{mysqlaccess}
-¤ò¼Â¹Ô¤¹¤Ù¤­¤Ç¤¹¡£¤½¤Î¸å¡¢@code{mysqladmin reload version} ¤ò¼Â¹Ô¤·¡¢ºÇ
-¸å¤ËÌäÂ꤬ȯÀ¸¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤ÎÀܳ¤ò»î¤ß¤ë¤Ù¤­¤Ç¤¹¡£@code{mysqlaccess}
-¤Ï@strong{MySQL} ¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥êÇÛ²¼¤Î @file{bin} ¥Ç¥£¥ì¥¯¥È¥ê
-¤Ë¸«¤Ä¤±¤é¤ì¤Þ¤¹¡£
-
-@item
-¤¢¤Ê¤¿¤¬¥Ð¥°¤Ë¤Ä¤¤¤Æ¤Î¥Ñ¥Ã¥Á¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤ÏÎɤ¤»ö¤Ç¤¹¤¬¡¢¤½
-¤Î¥Ñ¥Ã¥Á¤¬¤¹¤Ù¤Æ¡¢²æ¡¹¤¬µá¤á¤Æ¤¤¤ë¤â¤Î¤Ç¡¢¤¢¤Ê¤¿¤Î¥Ñ¥Ã¥Á¤¬½¤Àµ¤¹¤ë¥Ð¥°¤Î
-¥Æ¥¹¥È¾ðÊó¤òÄ󶡤·¤Ê¤¯¤Æ¤â¡¢²æ¡¹¤¬¤½¤ì¤ò»ÈÍѤ¹¤ë¤À¤í¤¦¡¢
-¤È»×¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£²æ¡¹¤Ï¤¢¤Ê¤¿¤Î¥Ñ¥Ã¥Á¤ËÌäÂê¤ò¸«¤Ä¤±¤ë¤«¤â¤·¤ì¤Þ¤»¤ó
-¤·¡¢¤Þ¤¿¤Ï¡¢¤½¤ì¤òÁ´¤¯Íý²ò¤Ç¤­¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤½¤Î¾ì¹ç¤Ï¤½¤ì¤ò»ÈÍѤÇ
-¤­¤Þ¤»¤ó¡£
-
-¤½¤Î¥Ñ¥Ã¥Á¤Ë°ÕÌ£¤¬¤¢¤ë¤³¤È¤¬Àµ³Î¤Ë³Î¤«¤á¤é¤ì¤Ê¤±¤ì¤Ð¡¢²æ¡¹¤Ï¤½¤ì¤ò»ÈÍѤ·
-¤Þ¤»¤ó¡£¥Æ¥¹¥È¥±¡¼¥¹¤Ï²æ¡¹¤Ë¤³¤Î¼ê½õ¤±¤ò¤·¤Þ¤¹¡£¥Ñ¥Ã¥Á¤¬µ¯¤ê¤¦¤ëÁ´¤Æ¤Î¾õ
-¶·¤ò°·¤¦¤³¤È¤ò¼¨¤·¤Æ¤¯¤À¤µ¤¤¡£¥Ñ¥Ã¥Á¤¬Æ°ºî¤·¤Ê¤¤¶­³¦Àþ¤Î¥±¡¼¥¹(¤½¤ì¤¬µ©
-¤Ç¤â)¤ò¸«¤Ä¤±¤¿¾ì¹ç¡¢¥Ñ¥Ã¥Á¤Ï»ÈÍѤµ¤ì¤Ê¤¤¤Ç¤·¤ç¤¦¡£
-
-@item
-²¿¤¬¥Ð¥°¤«¡¢²¿¸ÎȯÀ¸¤¹¤ë¤Î¤«¡¢²¿¤Ë°Í¸¤·¤Æ¤¤¤ë¤Î¤«¡¢¤Ë¤Ä¤¤¤Æ¤Î¿ä¬¤ÏÄ̾ï
-´Ö°ã¤¤¤Ç¤¹¡£²æ¡¹¤Ç¤µ¤¨¡¢¤Þ¤º¥Ç¥Ð¥Ã¥¬¤ò»ÈÍѤ·¤Æ¥Ð¥°¤Î¼ÂºÝ¤Î¸¶°ø¤ò¸«¤Ä¤±¤Ê
-¤±¤ì¤Ð¡¢¤½¤Î¤³¤È¤Ï¿ä¬¤Ç¤­¤Þ¤»¤ó¡£
-
-@item
-¥á¡¼¥ë¥á¥Ã¥»¡¼¥¸Ãæ¤Ë¡¢¤¢¤Ê¤¿¤¬¥ê¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ë¤È¥á¡¼¥ë¥¢¡¼¥«¥¤¥Ö¤ò
-¥Á¥§¥Ã¥¯¤·¤¿¤³¤È¤ò¼¨¤·¤Æ¤¯¤À¤µ¤¤¡£¤½¤¦¤¹¤ì¤Ð¡¢¤¢¤Ê¤¿¤ÎÌäÂê¤ò¤¢¤Ê¤¿¼«¿È¤Ç
-²ò·è¤·¤è¤¦¤È¤·¤¿¤³¤È¤ò¾¤Î¿Í¤¬¤ï¤«¤ê¤Þ¤¹¡£
-
-@item
-@code{¥Ñ¡¼¥¹¥¨¥é¡¼}¤¬È¯À¸¤¹¤ë¾ì¹ç¡¢¹½Ê¸¤ò¸·Ì©¤Ë¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡ª ²¿
-¤¬´Ö°ã¤Ã¤Æ¤¤¤ë¤Î¤«¤ò¸«¤Ä¤±¤é¤ì¤Ê¤±¤ì¤Ð¡¢Â¿Ê¬¡¢»ÈÍѤ·¤Æ¤¤¤ë¥¯¥¨¥ê¤ò
-@strong{MySQL} ¤Î¸½ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¸½
-ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¤¤Æ¡¢@uref{http://www.mysql.com/doc.html} ¤Î¥Þ
-¥Ë¥å¥¢¥ë¤¬¤¢¤Ê¤¿¤Î»ÈÍѤ·¤Æ¤¤¤ë¥¯¥¨¥ê¹½Ê¸¤ò¥«¥Ð¡¼¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤³¤ì¤Ï
-@strong{MySQL} ¤¬¤¢¤Ê¤¿¤Î¥¯¥¨¥ê¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£¤³¤Î
-¾ì¹ç¡¢¤¢¤Ê¤¿¤ÎÁªÂò¤Ï¡¢¤½¤Î¹½Ê¸¤ò¤¢¤Ê¤¿¼«¿È¤Ç¼ÂÁõ¤¹¤ë¤³¤È¤«¡¢
-@email{mysql-support@@mysql.com} ¤Ë email ¤Ç¤³¤ì¤ò¼ÂÁõ¤¹¤ë¤è¤¦¤Ë¿½¤·¹þ¤à¤³
-¤È¤Ç¤¹¡ª
-
-¥Þ¥Ë¥å¥¢¥ë¤¬¤¢¤Ê¤¿¤Î»ÈÍѤ·¤Æ¤¤¤ë¹½Ê¸¤ò¥«¥Ð¡¼¤·¤Æ¤¤¤ë¤Î¤Ë@strong{MySQL}
-¤Î¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢Ê¸Ë¡¤¬¼ÂÁõ¤µ¤ì¤¿»þ´ü¤Ë¤Ä¤¤¤Æ
-@strong{MySQL} ¤ÎÊѹ¹ÍúÎò¤ò¥Á¥§¥Ã¥¯¤¹¤Ù¤­¤Ç¤¹¡£@xref{News}¡£¤³¤Î¾ì¹ç¡¢¤è
-¤ê¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î @strong{MySQL} ¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤òÁªÂò¤Ç¤­¤Þ¤¹¡£
-
-@item
-¤â¤·¤¢¤Ê¤¿¤Î¥Ç¡¼¥¿¤¬°­¤¯¤Ê¤Ã¤¿¤è¤¦¤Ë»×¤¨¤¿¤ê¡¢¤Þ¤¿¤Ï¡¢¤¢¤ëÆÃÄê¤Î
-¥Æ¡¼¥Ö¥ë¤Ë¥¢¥¯¥»¥¹¤¹¤ë»þ¡¢¥¨¥é¡¼¤È¤Ê¤ë¤Ê¤é¡¢
-¤Þ¤ººÇ½é¤Ë¡¢¥Æ¡¼¥Ö¥ë¤ò @code{myisamchk} ¤Ç¸¡ºº¤·¡¢½¤Éü¤ò»î¤ß¤ë¤Ù¤­¤Ç¤¹
-@xref{Maintenance}.
-
-@item
-¤â¤·¤·¤ç¤Ã¤Á¤å¤¦¥Æ¡¼¥Ö¥ë¤¬¥À¥á¤Ë¤Ê¤ë¤è¤¦¤Ê¤é¡¢¤¤¤Ä¡¢¤Ê¤¼µ¯¤³¤ë¤Î¤«¤ò
-õ¤·½Ð¤¹¤Ù¤­¤Ç¤¹¡ª ¤³¤Î¾ì¹ç¡¢@file{mysql-data-directory/'hostname'.err} ¥Õ¥¡¥¤¥ë¤Ë
-²¿¤¬µ¯¤³¤Ã¤Æ¤¤¤ë¤Î¤«´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤«¤é
-´ØÏ¢¤¹¤ë¾ðÊó¤òÈ´¤­¤À¤·¥Ð¥°¥ì¥Ý¡¼¥È¤Ë´Þ¤á¤Æ¤¯¤À¤µ¤¤¡ª
-Ä̾ @code{mysqld} ¤Ï ¹¹¿·¤ÎºÇÃæ¤Ë kill ¤µ¤ì¤Ê¤¤¸Â¤ê¤Ï
-¥Æ¡¼¥Ö¥ë¤ò@strong{ÀäÂФË}Ç˲õ¤·¤Þ¤»¤ó¡ª ¤â¤·¤Ê¤¼ @code{mysqld} ¤¬»à¤Ì¤Î¤«
-¸«¤Ä¤±¤¿¾ì¹ç¤Ï¡¢²æ¡¹¤¬¤¢¤Ê¤¿¤ËÌäÂê²ò·è¤Î¤¿¤á¤Î½¤Àµ¤òÄ󶡤¹¤ë¤³¤È¤¬¡¢
-¤Ï¤ë¤«¤Ë´Êñ¤Ë¤Ê¤ê¤Þ¤¹!
-@xref{What is crashing}
-
-@item
-²Äǽ¤Ê¾ì¹ç¡¢ºÇ¿·¤Î @strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¡¢¤³¤ì¤ÇÌä
-Â꤬²ò·è¤µ¤ì¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£Á´¤Æ¤Î @strong{MySQL} ¥Ð¡¼
-¥¸¥ç¥ó¤ÏÄ̤·¤Æ¥Æ¥¹¥È¤µ¤ì¡¢ÌäÂê¤Ê¤·¤ËÆ°ºî¤·¤Þ¤¹¡ª Á´¤Æ¤¬²Äǽ¤Ê¸Â¤ê°ÊÁ°¤È
-¸ß´¹¤¬¤¢¤ë¤è¤¦¤Ëºî¤é¤ì¤Æ¤¤¤Æ¡¢¤¹¤°¤Ë @strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤òÀÚ¤êÂؤ¨
-¤ë¤³¤È¤¬¤Ç¤­¤ë¤È²æ¡¹¤Ï¿®¤¸¤Æ¤¤¤Þ¤¹¡ª @xref{Which version}¡£
-@end itemize
-
-¤¢¤Ê¤¿¤¬¥µ¥Ý¡¼¥È¸ÜµÒ¤Ê¤é¡¢¤è¤ê¹â¤¤Í¥Àè½ç°Ì¤Ç¼è¤ê°·¤¦¤¿¤á
-@email{mysql-support@@mysql.com} ¤Ë¥Ð¥°¥ì¥Ý¡¼¥È¤ò¥¯¥í¥¹¥Ý¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
-ƱÍͤˡ¢Â¾¤Î狼¤¬ÌäÂê¤ò·Ð¸³ºÑ¤ß(¤½¤·¤Æ¤ª¤½¤é¤¯²ò·èºÑ¤ß)¤«¤É¤¦¤«¤òÃΤ뤿
-¤á¤ËŬÀڤʥ᡼¥ê¥ó¥°¥ê¥¹¥È¤Ë¤â¡£
-
-@strong{MyODBC} ¤Î¥Ð¥°Êó¹ð¾å¤Î¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢@ref{ODBC Problems} ¤ò»²¾È
-¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-¤¤¤¯¤Ä¤«¤Î°ìÈÌŪ¤ÊÌäÂê¤Î²ò·èË¡¤Î¤¿¤á¤Ë ¢ª @xref{Problems}.
-
-²óÅú¤¬¤¢¤Ê¤¿¤Ë¸Ä¿ÍŪ¤ËÁ÷¤é¤ì¤Æ¡¢¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ËÁ÷¤é¤ì¤Æ¤¤¤Ê¤¤»þ¡¢²óÅú
-¤òÍ×Ìó¤·¡¢¤¢¤Ê¤¿¤ÎÌäÂê¤Î²ò·è¤Î¼ê½õ¤±¤Ë¤Ê¤Ã¤¿ÊÖ»ö¤Î²¸·Ã¤ò¾¤Î¿Í¤Ë¤âÍ¿¤¨¤ë
-¤¿¤á¤Ë¡¢¤½¤ÎÍ×Ìó¤ò¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ËÁ÷¿®¤¹¤ë¤³¤È¤Ï¡¢Îɤ¤¥¨¥Á¥±¥Ã¥È¤Ç¤¹¡ª
-
-@cindex Net etiquette
-@node Answering questions, , Bug reports, Questions
-@section ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ç¼ÁÌä¤ËÅú¤¨¤ë¤¿¤á¤Î¥¬¥¤¥É¥é¥¤¥ó
-
-¤¢¤Ê¤¿¤Î²óÅú¤¬¹­¤¯´Ø¿´¤ò»ý¤¿¤ì¤ë¤È¹Í¤¨¤é¤ì¤ë¾ì¹ç¡¢¿Ò¤Í¤¿¿Í¤Ë¸Ä¿ÍŪ¤ËľÀÜ
-ÊÖ»ö¤ò¤¹¤ëÂå¤ï¤ê¤Ë¡¢¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ËÅê¹Æ¤·¤¿¤¤¤È»×¤¦¤Ç¤·¤ç¤¦¡£¥ª¥ê¥¸¥Ê
-¥ë¤ÎÅê¹Æ¼Ô°Ê³°¤Î¿Í¤â¤½¤ì¤«¤é²¸·Ã¤ò¼õ¤±¤é¤ì¤ë¤è¤¦¤Ë½½Ê¬°ìÈÌŪ¤Ë²óÅú¤òºîÀ®
-¤¹¤ë¤³¤È¤ò»î¤ß¤Æ¤¯¤À¤µ¤¤¡£¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ËÅê¹Æ¤¹¤ë¾ì¹ç¤Ï¡¢¤¢¤Ê¤¿¤Î²óÅú
-¤¬°ÊÁ°¤Î²óÅú¤È½ÅÊ£¤·¤Æ¤¤¤Ê¤¤¤«³Îǧ¤·¤Æ²¼¤µ¤¤¡£
-
-¤¢¤Ê¤¿ÊÖ»ö¤ÎÃæ¤Ç¡¢¼ÁÌä¤ÎËܼÁÉôʬ¤ÎÍ×Ìó¤ò»î¤ß¤Æ¤¯¤À¤µ¤¤¡£¼ÁÌäÁ´ÂΤò°úÍѤ¹
-¤ë¤³¤È¤òµÁ̳¤È´¶¤¸¤Ê¤¤¤Ç²¼¤µ¤¤¡£
-
-HTML ¥â¡¼¥É¤ò ON ¤Ë¤·¤¿¥Ö¥é¥¦¥¶¤«¤é¥á¡¼¥ë¥á¥Ã¥»¡¼¥¸¤òÅê¹Æ¤·¤Ê¤¤¤Ç¤¯¤À¤µ
-¤¤¡ª ¿¤¯¤Î¥æ¡¼¥¶¤Ï¥Ö¥é¥¦¥¶¤Ç¥á¡¼¥ë¤òÆɤó¤Ç¤¤¤Þ¤»¤ó¡ª
-
-@cindex Licensing terms
-@cindex Support terms
-@node Licensing and Support, Installing, Questions, Top
-@chapter @strong{MySQL} ¥é¥¤¥»¥ó¥¹¤È¥µ¥Ý¡¼¥È
-
-(ÌõÃí¡§Àµ³Î¤µ¤ò¤­¤¹¤¿¤á¸¶Ê¸¤òÊ»µ­¤·¤Æ¤¤¤Þ¤¹¡£Ìõʸ¤À¤±¤Ç¤Ê¤¯¸¶Ê¸¤ËÌܤòÄ̤·¤Æ¤¯¤À¤µ¤¤¡£
-¤â¤·°ÕÌ£¤Î¼è°ã¤¤¤ò¸«¤Ä¤±¤¿¤Ê¤é¡¢@email{takeshi@@SoftAgency.co.jp} ¤ËÏ¢Íí¤·¤Æ¤¯¤À¤µ¤¤¡£)
-
-@menu
-* Licensing policy:: @strong{MySQL} licensing policy
-* Licensing policy on Win32::
-* Copyright:: Copyrights used by @strong{MySQL}
-* Commercial use:: Distributing @strong{MySQL} commercially
-* Licensing examples:: Example licensing situations
-* Cost:: @strong{MySQL} licensing and support costs
-* Support:: Types of commercial support
-@end menu
-
-This chapter describes @strong{MySQL} licensing and support arrangements,
-including:
-
-ËÜ¾Ï¤Ç¤Ï @strong{MySQL} ¤Î¥é¥¤¥»¥ó¥¹¤È¥µ¥Ý¡¼¥È·ÀÌó¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤Þ¤¹¡£
-
-@itemize @bullet
-@item
-Our licensing policies for non-Microsoft and Microsoft operating systems
-
-@item
-The copyrights under which @strong{MySQL} is distributed
-(@pxref{Copyright})
-
-@item
-Sample situations illustrating when a license is required
-(@pxref{Licensing examples})
-
-@item
-Licensing and support costs (@pxref{Cost}), and
-support benefits (@pxref{Support})
-@end itemize
-
-
-@itemize @bullet
-@item
-ÈóMicrosoft ¤È Mirosoft ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ËÂФ¹¤ë¥é¥¤¥»¥ó¥¹¤Î¥Ý¥ê¥·¡¼
-
-@item
-@strong{MySQL} ÇÛÉۤˤª¤±¤ëÃøºî¸¢
-(@pxref{Copyright})
-
-@item
-¥é¥¤¥»¥ó¥¹¤¬É¬ÍפȤʤë¾ì¹ç¤ÎÎã
-(@pxref{Licensing examples})
-
-@item
-¥é¥¤¥»¥ó¥¹¤È¥µ¥Ý¡¼¥È¤ÎÈñÍÑ (@pxref{Cost}), ¤½¤·¤Æ
-¥µ¥Ý¡¼¥È¤ÎÍø±× (@pxref{Support})
-@end itemize
-
-
-@cindex Licensing policy
-@node Licensing policy, Licensing policy on Win32, Licensing and Support, Licensing and Support
-@section @strong{MySQL} licensing policy
-
-The formal terms of the license for non-Microsoft operating systems such as
-Unix or OS/2 are specified in @ref{Public license}. Basically, our licensing
-policy is as follows:
-
-Unix¤äOS/2¤Ê¤É¤ÎÈó¥Þ¥¤¥¯¥í¥½¥Õ¥È¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤ª¤±¤ë¥é¥¤¥»¥ó¥¹¤Î
-Àµ¼°¤Ê¾ò¹à¤Ï @ref{Public license}. ¤ËÌÀµ­¤·¤Æ¤¢¤ê¤Þ¤¹¡£
-´ðËÜŪ¤Ë¡¢²æ¡¹¤Î¥é¥¤¥»¥ó¥¹¤Î¥Ý¥ê¥·¡¼¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-For normal internal use, @strong{MySQL} generally costs nothing. You do not
-have to pay us if you do not want to.
-
-@item
-A license is required if:
-
-@itemize @minus
-@item
-You sell the @strong{MySQL} server directly or as a part of another product
-or service
-
-@item
-You charge for installing and maintaining a @strong{MySQL} server at some
-client site
-
-@item
-You include @strong{MySQL} in a distribution that is non-redistributable
-and you charge for some part of that distribution
-@end itemize
-
-@item
-For circumstances under which a @strong{MySQL} license is required, you need
-a license per machine that runs the @code{mysqld} server. However, a
-multiple-CPU machine counts as a single machine, and there is no restriction
-on the number of @strong{MySQL} servers that run on one machine, or on the
-number of clients concurrently connected to a server running on that
-machine!
-
-@item
-You do not need a license to include client code in commercial programs. The
-client access part of @strong{MySQL} is in the public domain. The
-@code{mysql} command line client includes code from the @code{readline}
-library that is under the GNU Public License.
-
-@item
-@cindex @code{myisampack}
-For customers who have purchased 1 license or @strong{MySQL} support, we provide
-additional functionality. Currently, this means we provide the
-@code{myisampack} utility for creating fast compressed read-only
-databases. (The server includes support for reading such databases but
-not the packing tool used to create them.) When support agreements
-generate sufficient revenue, we will release this tool under the same
-license as the @strong{MySQL} server.
-
-@item
-If your use of @strong{MySQL} does not require a license, but you like
-@strong{MySQL} and want to encourage further development, you are certainly
-welcome to purchase a license anyway.
-
-@item
-If you use @strong{MySQL} in a commercial context such that
-you profit by its use, we ask that you further the development of
-@strong{MySQL} by purchasing some level of support. We feel that if
-@strong{MySQL} helps your business, it is reasonable to ask that you help
-@strong{MySQL}. (Otherwise, if you ask us support questions, you are not
-only using for free something into which we've put a lot a work, you're
-asking us to provide free support, too.)
-@end itemize
-
-
-
-@itemize @bullet
-@item
-ÆâÉô¤Ç¤Î»ÈÍѤϡ¢@strong{MySQL} ¤Ë¥³¥¹¥È¤Ï¤«¤«¤ê¤Þ¤»¤ó¡£¤â¤·Ë¾¤Þ¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
-²æ¡¹¤Ë»Ùʧ¤¦É¬ÍפϤ¢¤ê¤Þ¤»¤ó¡£
-
-@item
-¥é¥¤¥»¥ó¥¹¤Ï°Ê²¼¤Ç¤ÏɬÍפǤ¹¡§
-
-@itemize @minus
-@item
-@strong{MySQL} ¤òľÀÜÈÎÇ䤹¤ë¤«¡¢¤Þ¤¿¤Ï¾¤ÎÀ½Éʤ䥵¡¼¥Ó¥¹¤Î°ìÉô¤È¤·¤Æ
- @strong{MySQL} ¤òÈÎÇ䤹¤ë¾ì¹ç
-
-@item
-@strong{MySQL} ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ä¥á¥ó¥Æ¥Ê¥ó¥¹¥µ¡¼¥Ó¥¹¤ÇÎÁ¶â¤ò¤È¤ë¾ì¹ç¡£
-
-@item
-ºÆÇÛÉÛÉԲĤÎÇÛÉÛʪ¤Ë @strong{MySQL} ¤ò´Þ¤á¡¢¤½¤Î¤Ê¤«¤Î¤¤¤¯¤Ä¤«¤ËÎÁ¶â¤ò¤«¤¹¾ì¹ç
-@end itemize
-
-@item
-@strong{MySQL} ¥é¥¤¥»¥ó¥¹¤¬É¬Íפʾ𶷤Ȥ·¤Æ¡¢@code{mysqld} ¥µ¡¼¥Ð¤ò
-Áö¤é¤»¤ë¥Þ¥·¥ó 1 Âæ¤Ë¤Ä¤­ 1 ¤Ä¤Î¥é¥¤¥»¥ó¥¹¤òɬÍפȤ·¤Þ¤¹.
-¤·¤«¤·¡¢¥Þ¥ë¥Á CPU ¥Þ¥·¥ó¤Ï£±Âæ¤Î¥Þ¥·¥ó¤È¤ß¤Ê¤·¤Þ¤¹¡£
-1Âæ¤Î¥Þ¥·¥ó¾å¤ÇÁö¤é¤»¤ë @strong{MySQL} ¥µ¡¼¥Ð¤Î¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¤½¤Î¥Þ¥·¥ó¾å¤ËÁö¤ë¥µ¡¼¥Ð¡¼¤ËÀܳ¤¹¤ë¥¯¥é¥¤¥¢¥ó¥È¤Î¿ô¤Ë¤âÀ©¸Â¤Ï
-¤¢¤ê¤Þ¤»¤ó¡£
-
-@item
-»ÔÈÎ¤Î¥×¥í¥°¥é¥à¤Ë¥¯¥é¥¤¥¢¥ó¥È¥³¡¼¥É¤ò´Þ¤à¤¿¤á¤Ë¡¢¥é¥¤¥»¥ó¥¹¤òɬÍפȤ·¤Þ¤»¤ó¡£
-@strong{MySQL} ¤Î¥¯¥é¥¤¥¢¥ó¥È¥¢¥¯¥»¥¹¤ÎÉôʬ¤Ï¥Ñ¥Ö¥ê¥Ã¥¯¥É¥á¥¤¥ó¤Ç¤¹¡£
-@code{mysql} ¥³¥Þ¥ó¥É¥é¥¤¥ó¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢GNU Public License ²¼¤Ë¤¢¤ë
-@code{readline} ¤ò´Þ¤ß¤Þ¤¹¡£
-
-@item
-@cindex @code{myisampack}
-For customers who have purchased 1 license or MySQL support, we provide
-additional functionality. Currently, this means we provide the
-@code{myisampack} utility for creating fast compressed read-only
-databases. (The server includes support for reading such databases but
-not the packing tool used to create them.) When support agreements
-generate sufficient revenue, we will release this tool under the same
-license as the @strong{MySQL} server.
-
-@item
-@strong{MySQL} ¤Î»ÈÍѤ˥饤¥»¥ó¥¹¤òɬÍפȤ·¤Ê¤¤¾ì¹ç¤Ç¤â¡¢@strong{MySQL} ¤¬¹¥¤­¤Ç,
-°ìÁؤγ«È¯¤ò¾©Î夷¤¿¤¤¤Ê¤é¤Ð,³Î¤«¤Ë,¤¢¤Ê¤¿¤¬¥é¥¤¥»¥ó¥¹¤ò¹ØÆþ¤¹¤ë»ö¤Ï´¿·Þ¤µ
-¤ì¤Æ¤¤¤Þ¤¹.
-
-@item
-¤¢¤Ê¤¿¤¬¾¦ÍÑ¤Ç @strong{MySQL} ¤ò»ÈÍѤ·¤Æ¤ª¤ê¡¢¤½¤ì¤ÇÍø±×¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ê¤é¡¢
-²æ¡¹¤Ï,¤¢¤Ê¤¿¤¬¤¤¤¯¤Ä¤«¤Î¥µ¥Ý¡¼¥È¤ò¹ØÆþ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ @strong{MySQL} ¤Î³«È¯¤ò
-Â¥¿Ê¤¹¤ë¤è¤¦¤ËÍê¤ß¤Þ¤¹. ²æ¡¹¤Ï,@strong{MySQL} ¤¬¤¢¤Ê¤¿¤Î¥Ó¥¸¥Í¥¹¤ò½õ¤±¤ë¤Ê¤é¤Ð¡¢
-¤¢¤Ê¤¿¤¬ @strong{MySQL} ¤ò½õ¤±¤ë¤è¤¦¤ËÍê¤à¤Î¤¬Æ»Íý¤Ë¹ç¤¦¤È´¶¤¸¤Þ¤¹.
-¡Ê¤¢¤Ê¤¿¤¬²æ¡¹¤Ë¼ÁÌä¤Î¥µ¥Ý¡¼¥È¤òµá¤á¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
-²æ¡¹¤¬Â¿¤¯¤ÎÏ«ÎϤò¤Ä¤®¹þ¤ó¤À¤â¤Î¤ò̵½þ¤Ç»ÈÍѤ¹¤ë¤³¤È¤Ï¤ä¤á¤Æ¤¯¤À¤µ¤¤¡£
-̵½þ¤Î¥µ¥Ý¡¼¥È¤ÎÄ󶡤ò²æ¡¹¤ËÍê¤à¤³¤È¤â¤Ç¤¹¡£¡Ë
-@end itemize
-
-If you have any questions as to whether or not a license is required for your
-particular use of @strong{MySQL}, please contact us.
-@xref{Contact information}.
-
-@strong{MySQL} ¤Î»ÈÍѤ˺ݤ·¤Æ¥é¥¤¥»¥ó¥¹¤¬É¬ÍפǤ¢¤ë¤«¤É¤¦¤«¤Ë´Ø¤·¤Æ¤Î¼ÁÌ䤬¤¢¤ë¤Ê¤é¤Ð
-²æ¡¹¤ËÌ䤤¹ç¤ï¤»¤Æ¤¯¤À¤µ¤¤¡£@xref{Contact information}.
-
-If you require a @strong{MySQL} license, the easiest way to pay for it is to
-use the license form on TcX's secure server at
-@url{https://www.mysql.com/license.htmy}. Other forms of payment are discussed
-in @ref{Payment information}.
-
-¤¢¤Ê¤¿¤¬ @strong{MySQL} ¥é¥¤¥»¥ó¥¹¤òɬÍפȤ·¤Æ¤ª¤ê¡¢´Êñ¤Ê»Ùʧ¤¤ÊýË¡¤ò
-˾¤à¤Î¤Ç¤¢¤ì¤Ð¡¢TcX¤Î°ÂÁ´¤Ê¥µ¡¼¥Ð¤Ë¤ª¤±¤ë¥é¥¤¥»¥ó¥¹¥Õ¥©¡¼¥à¤ò»ÈÍѤ¹¤ë
-¤³¤È¤Ç¤¹. @url{https://www.mysql.com/license.htmy}.
-¤Û¤«¤Î»Ùʧ¤¤ÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï @ref{Payment information}.
-¡ÊÆüËܤǤιØÆþ¤Ï @uref{http://www.softagency.co.jp/}. ¡Ë
-
-
-@strong{MySQL} licensing policy
-
-@cindex Licensing on Win32
-@node Licensing policy on Win32, Copyright, Licensing policy, Licensing and Support
-@section MySQL licensing policy on Win32
-
-For use under Microsoft operating systems (Win95/Win98/WinNT/Win2000),
-you need a @strong{MySQL} license after a trial period of 30 days, with
-the exceptions that are listed later. @xref{Win license}.
-
-A shareware version of @strong{MySQL}-Win32, that you can try before
-buying, is available at @uref{http://www.mysql.com/mysql_w32.htmy}. This
-is based on a very late, stable @strong{MySQL} version, but compiled
-with full debugging support, which makes this a lot slower than the
-registered version. After you have registered for a @strong{MySQL}
-license, you will get a password that will enable you to access the
-newest @strong{MySQL}-Win32 version.
-
-Microsoft ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à(Win95/Win98/WinNT/Win2000)²¼¤Ë¤ª¤±¤ë»ÈÍѤǤϡ¢
-¤¢¤Ê¤¿¤Ï30Æü¤Î¥È¥é¥¤¥¢¥ë´ü´Ö¤Î¸å¤Ë @strong{MySQL} ¥é¥¤¥»¥ó¥¹¤òɬÍפȤ·¤Þ¤¹¡£
-@xref{Win license}.
-
-¤¢¤Ê¤¿¤¬¹ØÆþ¤ÎÁ°¤Ë»î¤ß¤ë¤³¤È¤¬¤Ç¤­¤ë @strong{MySQL}-Win32 ¤Î¥·¥§¥¢¥¦¥§¥¢¥Ð¡¼¥¸¥ç¥ó¤Ï
-@uref{http://www.mysql.com/mysql_w32.htmy}. ¤Ë¤¢¤ê¤Þ¤¹.
-¤³¤ì¤Ï°ÂÄêÈǤΠ@strong{MySQL} ¤ò¥Ù¡¼¥¹¤Ë¥Õ¥ë¡¦¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Ç¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤ª¤ê¡¢
-Àµ¼°ÅÐÏ¿ÈǤËÈæ¤Ù¤Æ®ÅÙ¤ÏÃÙ¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
-¥é¥¤¥»¥ó¥¹Âå¤ò»Ùʧ¤Ã¤¿¸å¤Ë,¤¢¤Ê¤¿¤ÏºÇ¤â¿·¤·¤¤ @strong{MySQL}-Win32 ¥Ð¡¼¥¸¥ç¥ó¤Ë
-¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Î¥Ñ¥¹¥ï¡¼¥É¤òÆÀ¤ë¤Ç¤·¤ç¤¦.
-
-¡ÊÆüËܸìÈÇ @strong{MySQL}-Win32 ¤Îɾ²ÁÈǤȿ½¤·¹þ¤ß¤Ï @uref{http://www.softagency.co.jp/}. ¡Ë
-
-The reason for always requiring a license under Microsoft Windows is
-that because Windows is a highly commercial OS with very high
-development costs (it usually takes 3 times longer to build and test
-things under windows), we see no other alternative than only give the
-latest @strong{MySQL} Windows version to paying customers. If we
-didn't do this we would not be able to keep up development on
-Windows.
-
-We do give free @strong{MySQL} licenses on request in the following cases:
-
-@itemize @bullet
-@item
-Educational purposes, like teaching students.
-@item
-Non-commercial research settings.
-@item
-Churches.
-@item
-Registered charity organizations.
-@item
-Individual students who have database related educational project.
-@item
-People who help us with @strong{MySQL} development in some constructive manner.
-@end itemize
-
-If something of the above applies to you, you can apply for a license by
-sending an email to @email{mysql-licensing@@mysql.com}. This should include
-a full description of for what you need a free @strong{MySQL} license.
-
-As soon as we can afford it we plan to release @strong{MySQL} Win32
-under the same license as @strong{MySQL} under other OS. This will
-however also require that we can find some Windows developers that would
-like to work on @strong{MySQL} development under Windows and build
-windows version for all @strong{MySQL} releases.
-
-
-@cindex Copyright
-@node Copyright, Commercial use, Licensing policy on Win32, Licensing and Support
-@section Copyrights used by @strong{MySQL}
-
-@menu
-* Copyright changes:: Possible future copyright changes
-@end menu
-
-There are several different copyrights on the @strong{MySQL} distribution:
-
-@strong{MySQL} ÇÛÉۤˤª¤±¤ë¡¢¤¤¤¯¤Ä¤«°Û¤Ê¤ë¥³¥Ô¡¼¥é¥¤¥È¤ò¼¨¤·¤Þ¤¹¡§
-
-@enumerate
-@item
-The @strong{MySQL}-specific source needed to build the
-@code{mysqlclient} library and programs in the @file{client} directory
-is in the public domain. Each file that is in the public domain has a
-header which clearly states so. This includes everything in the
-@file{client} directory and some parts of the @code{mysys},
-@code{mystring} and @code{dbug} libraries.
-
-@item
-Some small parts of the source (GNU @code{getopt}) are covered by the
-``GNU LIBRARY LIBRARY GENERAL PUBLIC LICENSE''. See the
-@file{mysys/COPYING.LIB} file.
-
-@item
-Some small parts of the source (GNU @code{readline}) are covered by the
-``GNU GENERAL PUBLIC LICENSE''. See the @file{readline/COPYING} file.
-
-@item
-Some parts of the source (the @code{regexp} library) are covered by a Berkeley
-style copyright.
-
-@item
-The other source needed for the @strong{MySQL} server on non-Microsoft
-platforms is covered by the ``MySQL FREE PUBLIC LICENSE'', which is based on
-the ``Aladdin FREE PUBLIC LICENSE.'' @xref{Public license}. When running
-@strong{MySQL} on any Microsoft operating system, other licensing applies.
-@end enumerate
-
-@enumerate
-@item
-@file{client} ¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î @code{mysqlclient} ¥é¥¤¥Ö¥é¥ê¤È
-¥×¥í¥°¥é¥à·²¤òºîÀ®¤¹¤ë¤ËɬÍפȤµ¤ì¤ëÆÃÄê¤Î @strong{MySQL} ¤Î¥½¡¼¥¹¤Ï¡¢
-¥Ñ¥Ö¥ê¥Ã¥¯¥É¥á¥¤¥ó¤Ç¤¹¡£
-¤½¤ì¤¾¤ì¤Î¥Ñ¥Ö¥ê¥Ã¥¯¥É¥á¥¤¥ó²¼¤Î¥Õ¥¡¥¤¥ë¤ÎËÁƬ¤Ë¤Ï¡¢¤½¤Î»ö¤òÌÀµ­¤·¤Æ¤¢¤ê¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢@file{client} ¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¥Õ¥¡¥¤¥ë¤È¡¢
-@code{mysys}, @code{mystring}, @code{dbug} ¥é¥¤¥Ö¥é¥ê¤Î¤¤¤¯¤Ä¤«¤ò´Þ¤ß¤Þ¤¹¡£
-
-@item
-¥½¡¼¥¹¤Î¤¤¤¯¤Ä¤«¤ÎÉôʬ¤Ï (GNU @code{getopt}) ``GNU LIBRARY GENERAL PUBLIC LICENSE''
- ¤Ë½¾¤Ã¤ÆÊѹ¹¤·¤¿¤â¤Î¤Ç¤¹¡£See the @file{mysys/COPYING.LIB} file.
-
-@item
-¥½¡¼¥¹¤Î¤¤¤¯¤Ä¤«¤ÎÉôʬ¤Ï (GNU @code{readline}) ``GNU GENERAL PUBLIC LICENSE'' ¤Ë½¾¤Ã¤ÆÊѹ¹¤·¤¿¤â¤Î¤Ç¤¹¡£
-See the @file{readline/COPYING} file.
-
-@item
-¥½¡¼¥¹¤Î¤¤¤¯¤Ä¤«¤ÎÉôʬ¤Ï (@code{regexp} library) ¥Ð¡¼¥¯¥ì¥¤¥¹¥¿¥¤¥ë¤Î¥³¥Ô¡¼¥é¥¤¥È¤Ë½¾¤Ã¤ÆÊѹ¹¤·¤¿¤â¤Î¤Ç¤¹¡£
-
-@item
-ÈóMicrosoft ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î @strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËɬÍפʥ½¡¼¥¹¤Ï¡¢
- ``MySQL FREE PUBLIC LICENSE'' ²¼¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤Î¥é¥¤¥»¥ó¥¹¤Ï ``Aladdin FREE PUBLIC LICENSE''
- ¤ò¸µ¤Ë¤·¤Æ¤¤¤Þ¤¹ @xref{Public license}¡£
-Microsoft¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¾å¤Ç @strong{MySQL} ¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢
-°ã¤¦¥é¥¤¥»¥ó¥¹¤¬Å¬ÍѤµ¤ì¤Þ¤¹¡£@xref{Win license}
-@end enumerate
-
-
-The following points set forth the philosophy behind our copyright policy:
-
-°Ê²¼¤Ë¤ï¤ì¤ï¤ì¤Î¥³¥Ô¡¼¥é¥¤¥È¤Î´ðËÜÍýÇ°¤ò¼¨¤·¤Þ¤¹¡§
-
-
-@itemize @bullet
-@item
-The SQL client library should be totally free so that it can be included in
-commercial products without limitations.
-
-@item
-People who want free access to the software into which we have put a lot of
-work can have it, so long as they do not try to make money directly by
-distributing it for profit.
-
-@item
-People who want the right to keep their own software proprietary, but also
-want the value from our work, can pay for the privilege.
-
-@item
-That means normal in-house use is FREE. But if you use @strong{MySQL} for
-something important to you, you may want to help further its development by
-purchasing a license or a support contract. @xref{Support}.
-@end itemize
-
-
-@itemize @bullet
-@item
-ËÜ SQL client ¥é¥¤¥Ö¥é¥ê¡¼¤Ï̵½þ¤Ç¤¢¤ë¤³¤È¡£
-¤³¤ì¤Ï¾¦ÍѤÎÀ½ÉʤËÂФ·¤Æ¤â̵À©¸Â¤Ç¤¢¤ë¤³¤È¤ò´Þ¤à¡£
-
-@item
-¾¦Çä¤Î¤¿¤á¤ÎÇÛÉÛ¤ò¹Ô¤Ã¤ÆÂвÁ¤òÆÀ¤è¤¦¤È¤·¤Ê¤¤¸Â¤ê¤Ï¡¢
-²æ¡¹¤¬¿ÔÎϤ·¤Æºî¤Ã¤¿ËÜ¥½¥Õ¥È¥¦¥§¥¢¤ËÀ©¸Â¤Ê¤¯¥¢¥¯¥»¥¹¤Ç¤­¤ë¡£
-
-@item
-¼«Ê¬¼«¿È¤Î¥½¥Õ¥È¥¦¥§¥¢¤ÎÆÈÀ긢¤â¤Û¤·¤¤¤¬,²æ¡¹¤Î¥½¥Õ¥È¤ò»ÈÍѤ·¤ÆÂвÁ¤âÆÀ¤¿¤¤¤È
-¹Í¤¨¤Æ¤¤¤ë¿Í¡¹¤Ï,Æø¢¤òÇ㤦¤³¤È¤¬¤Ç¤­¤Þ¤¹.
-
-@item
-¤½¤ì¤Ï,Ä̾ï¤ÎÆâÉô¤Î»ÈÍѤ¬ÌµÎÁ¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-¤·¤«¤·,¤¢¤Ê¤¿¤Ë¤È¤Ã¤Æ²¿¤«½ÅÍפʤâ¤Î¤Ë¤½¤ì¤ò»ÈÍѤ¹¤ë¤Ê¤é¤Ð,
-¤¢¤Ê¤¿¤Ï,¥µ¥Ý¡¼¥È·ÀÌó¤ò¹ØÆþ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ,
- @strong{MySQL} ¤Î°ìÁؤγ«È¯¤ò¥µ¥Ý¡¼¥È¤·¤¿¤¬¤ë¤«¤â¤·¤ì¤Þ¤»¤ó.
-@end itemize
-
-
-@node Copyright changes, , Copyright, Copyright
-@subsection Possible future copyright changes
-
-We may choose to distribute older versions of @strong{MySQL} with the GPL in
-the future. However, these versions will be identified as @strong{GNU MySQL}.
-Also, all copyright notices in the relevant files will be changed to the
-GPL.
-
-²æ¡¹¤Ï,¾­Íè GPL ¤Ç @strong{MySQL} ¤Îµì¼°¤Î¥Ð¡¼¥¸¥ç¥ó¤òÇÛÉÛ¤¹¤ë»ö¤òÁª¤Ö¤«¤â¤·¤ì¤Þ¤»¤ó.
-¤³¤Î¾ì¹ç,¤³¤ì¤é¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï @strong{GNU MySQL} ¤È¤¹¤ë¤Ä¤â¤ê¤Ç¤¹.
-¤Þ¤¿,´ØÏ¢¥Õ¥¡¥¤¥ë¤ÎÃæ¤Î¤¹¤Ù¤Æ¤ÎÈǸ¢¾ðÊó¤ò GPL ¤ËÊѤ¨¤ë¤Ä¤â¤ê¤Ç¤¹.
-
-
-@node Commercial use, Licensing examples, Copyright, Licensing and Support
-@section Distributing @strong{MySQL} commercially¡¡¾¦ÍÑÇÛÉÛ
-
-This section is a clarification of the license terms that are set forth in
-the ``MySQL FREE PUBLIC LICENSE'' (FPL). @xref{Public license}.
-
-°Ê²¼¤Ë ``MySQL FREE PUBLIC LICENSE'' (FPL) ¤òÌÀ³Î¤Ëµ­¤·¤Þ¤¹.
-@xref{Public license}.
-
-@strong{MySQL} may be @strong{used} freely, including by commercial
-entities for evaluation or unsupported internal use. However,
-@strong{distribution} for commercial purposes of @strong{MySQL}, or
-anything containing or derived from @strong{MySQL} in whole or in part,
-requires a written commercial license from TcX AB, the sole entity
-authorized to grant such licenses.
-
-@strong{MySQL} ¤Î»ÈÍѤˤÏÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¤³¤ì¤Ï¾¦ÍÑÍøÍѤΤ¿¤á¤Îɾ²Á¤ä¡¢ÆâÉô¤ÇÈ󥵥ݡ¼¥È¤Ç»ÈÍѤ¹¤ë¤³¤È¤ò´Þ¤ß¤Þ¤¹¡£
-¤·¤«¤·¼¡¤Î¾ò·ï¤Ç¤Ï TcX AB (¥é¥¤¥»¥ó¥¹¤òÍ¿¤¨¤ë¸¢¸Â¤ò»ý¤ÄÍ£°ì¤Îµ¡´Ø)
-¤Ë¤è¤Ã¤Æµ­ºÜ¤µ¤ì¤¿¾¦Íѥ饤¥»¥ó¥¹¤¬É¬ÍפǤ¹¡£
-@strong{MySQL} ¼«¿È¤ò¾¦ÍÑÌÜŪ¤Ç@strong{ÇÛÉÛ}¤¹¤ë¤³¤È¡£
-@strong{MySQL} ¤Î°ìÉô¡¢¤¢¤ë¤¤¤ÏÁ´Éô¤ò´Þ¤ó¤Àʪ¤ò¾¦ÍÑÌÜŪ¤Ç@strong{ÇÛÉÛ}¤¹¤ë¤³¤È¡£
-@strong{MySQL} ¤òÍøÍѤ·¤Æºî¤Ã¤¿Êª¤Î°ìÉô¡¢¤¢¤ë¤¤¤ÏÁ´Éô¤ò´Þ¤ó¤Àʪ¤ò¾¦ÍÑÌÜŪ¤Ç@strong{ÇÛÉÛ}¤¹¤ë¤³¤È¡£
-
-You may not include @strong{MySQL} ``free'' in a package containing
-anything for which a charge is being made, except as noted below.
-
-¶âÁ¬¤¬È¯À¸¤¹¤ë¤¤¤«¤Ê¤ëʪ¤ÎÃæ¤Ë¤â¡¢@strong{MySQL} ¤ò ``̵½þ'' ¤Ç´Þ¤ó¤Ç¤Ï¤¤¤±¤Þ¤»¤ó¡£
-¤¿¤À¤·¡¢°Ê²¼¤Ï½ü¤­¤Þ¤¹¡£
-
-The intent of the exception provided in the second clause of the license is
-to allow commercial organizations operating an FTP server or a bulletin board
-to distribute @strong{MySQL} freely from it, provided that:
-
-Ëܥ饤¥»¥ó¥¹¤Î£²ÈÖÌܤËÎã³°Á¼ÃÖ¤ò¤â¤¦¤±¤Æ¤¤¤ë°Õ¿Þ¤Ï¡¢±ÄÍøÃÄÂΤ¬±¿±Ä¤·¤Æ¤¤¤ë FTP ¥µ¡¼¥Ð¡¼¡¢
-·Ç¼¨ÈÄÅù¤Ç¡¢¼«Í³¤Ë @strong{MySQL} ¤òÇÛÉÛ¤¹¤ë¤³¤È¤òµö²Ä¤¹¤ë¤¿¤á¤Ç¤¹¡£
-
-@enumerate
-@item
-The organization complies with the other provisions of the FPL, which
-include among other things a requirement to distribute the full source
-code of @strong{MySQL} and of any derived work, and to distribute the
-FPL itself along with @strong{MySQL};
-
-@item
-The only charge for downloading @strong{MySQL} is a charge based on the
-distribution service and not one based on the content of the information
-being retrieved (i.e., the charge would be the same for retrieving a
-random collection of bits of the same size);
-
-@item
-The server or BBS is accessible to the general public, i.e., the phone
-number or IP address is not kept secret, and anyone may obtain access to
-the information (possibly by paying a subscription or access fee that is
-not dependent on or related to purchasing anything else).
-@end enumerate
-
-@enumerate
-@item
-¤½¤ÎÃÄÂÎ¤Ï FPL ¤Î¾¤Î¾ò¹à¤ò¼õ¤±Æþ¤ì¤ë¤³¤È¡£¤½¤ÎÍ×µá¤ÎÃæ¤Ç¤â¤È¤ê¤ï¤±
- @strong{MySQL} ¤È¤¤¤«¤Ê¤ëÇÉÀ¸Êª¤ÎÁ´¥½¡¼¥¹¤ÎÇÛÉۤȡ¢
- @strong{MySQL} ¤È°ì½ï¤Ë FPL ¼«¿È¤òÇÛÉÛ¤¹¤ë¤³¤È¤Ï¼õ¤±Æþ¤ì¤ë¤³¤È¡£
-
-@item
-@strong{MySQL} ¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¹Ô°Ù¤Ë¤À¤±²Ý¶â¤¹¤ë¾ì¹ç¤Ç¡¢
-¤³¤ÎÃÍÃʤÏÇÛÉÛ¥µ¡¼¥Ó¥¹¤ÎÈñÍѤǤ¢¤ê¡¢¼õ¿®¤¹¤ëÂоÝʪ¤Ë¤è¤Ã¤ÆÊѤï¤é¤Ê¤¤»ö¡£
-(Î㤨¤Ð¡¢¼õ¿®¤¹¤ëʪ¤¬°ã¤Ã¤Æ¤¤¤Æ¤â¼õ¿®Î̤¬Æ±¤¸¤Ç¤¢¤ì¤ÐƱ¤¸ÃÍÃʤǤ¢¤ë¤³¤È¡£)
-
-@item
-¥µ¡¼¥Ð¡¼¡¢BBS ¤Ï°ìÈ̤˸ø³«¤µ¤ì¤Æ¤¤¤Æ¥¢¥¯¥»¥¹²Äǽ¤Ê¤³¤È¡£Î㤨¤Ð¡¢ÅÅÏÃÈÖ¹æ¤ä
-IP¥¢¥É¥ì¥¹¤¬±£¤µ¤ì¤Æ¤ª¤é¤º¡¢¤À¤ì¤â¤¬¤½¤Î¾ðÊó¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¤³¤È¡£
-(¤Ê¤Ë¤«¤òÇ㤦¤È¤¤¤¦¤³¤È¤Ë´ØÏ¢¤·¤¿¤ê°Í¸¤·¤¿¤ê¤·¤Ê¤¤¹ØÆÉÎÁ¤ä¥¢¥¯¥»¥¹ÎÁ¶â¤Ë¤è¤ëʪ¤â²Ä)
-@end enumerate
-
-If you want to distribute software in a commercial context that incorporates
-@strong{MySQL} and you do @strong{not} want to meet these conditions, you
-should contact TcX AB to find out about commercial licensing, which involves
-a payment. The only ways you legally can distribute @strong{MySQL} or
-anything containing @strong{MySQL} are by distributing @strong{MySQL} under
-the requirements of the FPL, or by getting a commercial license from TcX AB.
-
-@strong{MySQL} ¤òÁȤ߹þ¤ó¤À¾¦¶È¥½¥Õ¥È¥¦¥§¥¢¤òÇÛÉÛ¤·¤¿¤¤¤¬,
-¤³¤ì¤é¤Î¾ò·ï¤òËþ¤¿¤·¤¿¤¯@strong{¤Ê¤¤}¤Ê¤é¤Ð,¤¢¤Ê¤¿¤Ï,¾¦¶Èǧ²Ä¤Ë´Ø¤·¤Æ
- TcX AB ¤ËÏ¢Íí¤¹¤ë¤Ù¤­¤Ç¤¹.
-¾¦¶È¥é¥¤¥»¥ó¥¹¤Ï»Ùʧ¤¤¤Ë±Æ¶Á¤·,¥µ¥Ý¡¼¥È¤½¤Î¾¤ÎÍøÅÀ¤ò´Þ¤ß¤Þ¤¹.
-¤³¤ì¤é¤Ï¤¢¤Ê¤¿¤¬ @strong{MySQL} ¼«¿È¤ä @strong{MySQL} ¤ò´Þ¤àʪ¤ò
-¹çˡŪ¤ËÇÛÉÛ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ëÍ£°ì¤ÎÊýË¡¤Ç¤¹:
-FPL¤Î¾ò·ï¤Î²¼¤Ë @strong{MySQL} ¤òÇÛÉÛ¤¹¤ë¤³¤È¤«,
-¤Þ¤¿¤Ï TcX AB ¤«¤é¾¦¶È¥é¥¤¥»¥ó¥¹¤òÆÀ¤ë¤³¤È¤Ë¤è¤Ã¤Æ.
-
-
-@node Licensing examples, Cost, Commercial use, Licensing and Support
-@section Example licensing situations¡¡¥é¥¤¥»¥ó¥¹Îã
-
-@menu
-* Products that use MySQL:: Selling products that use @strong{MySQL}
-* MySQL services:: Selling @strong{MySQL}-related services
-* ISP:: ISP @strong{MySQL} services
-* Web server:: Running a web server using @strong{MySQL}.
-@end menu
-
-This section describes some situations illustrating whether or not you must
-license the @strong{MySQL} server. Generally these examples involve
-providing @strong{MySQL} as part of a product or service that you are selling
-to a customer, or requiring that @strong{MySQL} be used in conjunction with
-your product. In such cases, it is your responsibility to obtain a license
-for the customer if one is necessary. (This requirement is waived if your
-customer already has a @strong{MySQL} license. But the seller must send
-customer information and the license number to TcX, and the license must be a
-full license, not an OEM license.)
-
-¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢¤¢¤Ê¤¿¤¬¤É¤¦¤¤¤Ã¤¿¾õ¶·¤Ç @strong{MySQL} ¥µ¡¼¥Ð¥é¥¤¥»¥ó¥¹¤ò
-ÆÀ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«Èݤ«¤ò¡¢¤¤¤¯¤Ä¤«ÀâÌÀ¤·¤Þ¤¹¡£
-°ìÈ̤ˤ³¤ì¤é¤ÎÎã¤Ï¡¢
-@strong{MySQL} ¤¬¡¢¤¢¤Ê¤¿¤¬¸ÜµÒ¤ËÇä¤Ã¤Æ¤¤¤ëÀ½Éʤ䥵¡¼¥Ó¥¹¤Î°ìÉô¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤ä¡¢
-¤¢¤Ê¤¿¤ÎÀ½Éʤ¬ @strong{MySQL} ¤Î»ÈÍѤòÍ׵ᤷ¤Æ¤¤¤ë¾ì¹ç¤Ê¤É¤Ç¤¹¡£
-¤³¤Î¤è¤¦¤Ê¾ì¹ç¡¢¸ÜµÒ¤Î¤¿¤á¤Ë¥é¥¤¥»¥ó¥¹¤òÆÀ¤ë¤Î¤Ï¤¢¤Ê¤¿¤ÎÀÕǤ¤Ç¤¹¡£
-¡Ê¤¿¤À¤·¡¢¤¹¤Ç¤Ë¤½¤Î¸ÜµÒ¤¬ @strong{MySQL} ¤Î¥é¥¤¥»¥ó¥¹¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¤Î¤¾¤­¤Þ¤¹¡£
-¤¬¡¢Çä¤ê¼ê¤Ï¸ÜµÒ¤Î¾ðÊó¤È¥é¥¤¥»¥ó¥¹¥Ê¥ó¥Ð¡¼¤òTcX¤ËÁ÷¤ëɬÍפ¬¤¢¤ê¡¢¤«¤Ä¡¢
-¤½¤Î¥é¥¤¥»¥ó¥¹¤ÏOEM¥é¥¤¥»¥ó¥¹¤Ç¤Ï¤Ê¤¯¡¢¥Õ¥ë¥é¥¤¥»¥ó¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¡Ë
-
-Note that a single @strong{MySQL} license covers any number of
-CPUs/users/customers/@code{mysqld} servers on a machine!
-
-@strong{MySQL} ¥é¥¤¥»¥ó¥¹°ì¤Ä¤Ç¡¢°ìÂæ¤Î¥Þ¥·¥ó¾å¤Î¡¢
-Á´ CPU¿ô/¥æ¡¼¥¶¡¼¿ô/¸ÜµÒ¿ô/@code{mysqld} ¿ô¤ò¥«¥Ð¡¼¤·¤Þ¤¹¡£
-
-
-@node Products that use MySQL, MySQL services, Licensing examples, Licensing examples
-@subsection Selling products that use @strong{MySQL}
-
-To determine whether or not you need a @strong{MySQL} license when selling
-your application, you should ask whether the proper functioning of your
-application is contingent on the use of @strong{MySQL} and whether you
-include @strong{MySQL} with your product. There are several cases to
-consider:
-
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÈÎÇ䤹¤ë¤È¤­¡¢¤¢¤Ê¤¿¤¬ @strong{MySQL} ¥é¥¤¥»¥ó¥¹¤ò
-ɬÍפȤ¹¤ë¤«¤É¤¦¤«·èÄꤹ¤ë¤¿¤á¤Ë¤Ï,
-¤¢¤Ê¤¿¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Å¬Àڤ˵¡Ç½¤¹¤ë¤¿¤á¤Ë¤Ï @strong{MySQL} ¤òɬÍפȤ¹¤ë¤«¤É¤¦¤«¡¢
-À½ÉÊ¤Ë @strong{MySQL} ¤ò´Þ¤à¤«¤É¤¦¤«¤ò¿Ò¤Í¤ë¤Ù¤­¤Ç¤¹. ¹Í¤¨¤¦¤ë¤¤¤¯¤Ä¤«
-¤Î¥±¡¼¥¹¤¬¤¢¤ê¤Þ¤¹:
-
-@itemize @bullet
-@item
-Does your application require @strong{MySQL} to function properly?
-
-If your product requires @strong{MySQL}, you need a license for any machine
-that runs the @code{mysqld} server. For example, if you've designed your
-application around @strong{MySQL}, then you've really made a commercial
-product that requires the engine, so you need a license.
-
-If your application does not require @strong{MySQL}, you need not obtain a
-license. For example, if @strong{MySQL} just added some new optional
-features to your product (such as adding logging to a database if
-@strong{MySQL} is used rather than logging to a text file), it should fall
-within normal use, and a license would not be required.
-
-In other words, you need a license if you sell a product designed
-specifically for use with @strong{MySQL} or that requires the @strong{MySQL}
-server to function at all. This is true whether or not you provide
-@strong{MySQL} for your client as part of your product distribution.
-
-It also depends on what you're doing for the client. Do you plan to provide
-your client with detailed instructions on installing @strong{MySQL} with your
-software? Then your product may be contingent on the use of @strong{MySQL};
-if so, you need to buy a license. If you are simply tying into a database
-that you expect already to have been installed by the time your software is
-purchased, then you probably don't need a license.
-
-@item
-Do you include @strong{MySQL} in a distribution and charge for that
-distribution?
-
-If you include @strong{MySQL} with a distribution that you sell to customers,
-you will need a license for any machine that runs the @code{mysqld} server,
-because in this case you are selling a system that includes @strong{MySQL}.
-
-This is true whether the use of @strong{MySQL} with your product
-is required or optional.
-
-@item
-Do you neither require for your product nor include @strong{MySQL} with it?
-
-Suppose you want to sell a product that is designed generally to use ``some
-database'' and that can be configured to use any of several supported
-alternative database systems (@strong{MySQL}, PostgreSQL, or something
-else). That is, your product does not not require @strong{MySQL}, but can
-support any database with a base level of functionality, and you don't rely
-on anything that only @strong{MySQL} supports. Does one of you owe us money
-if your customer actually does choose to use @strong{MySQL}?
-
-In this case, if you don't provide, obtain or set up @strong{MySQL} for the
-customer should the customer decide to use it, neither of you need a
-license. If you do perform that service, see @ref{MySQL services, ,
-@strong{MySQL} services}.
-@end itemize
-
-@itemize @bullet
-@item
-¤¢¤Ê¤¿¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Å¬Àڤ˵¡Ç½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢@strong{MySQL} ¤òɬÍפȤ·¤Þ¤¹¤«?
-
-¤¢¤Ê¤¿¤ÎÀ½Éʤ¬ @strong{MySQL} ¤òɬÍפȤ¹¤ë¤Ê¤é¤Ð,@strong{mysqld} ¥µ¡¼¥Ð¤ò
-Áö¤é¤»¤ë¤É¤ó¤Ê¥Þ¥·¥ó¤Ë¤â¥é¥¤¥»¥ó¥¹¤òɬÍפȤ·¤Þ¤¹. Î㤨¤Ð¤¢¤Ê¤¿¤¬
- @strong{MySQL} ¤Î¼þ¤ê¤Ç¼«Ê¬¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÀ߷פ·¤¿¤Ê¤é¤Ð¡¢
-ËÜÅö¤Ë¥¨¥ó¥¸¥ó¤òɬÍפȤ¹¤ë¾¦¶ÈÀ½Éʤòºî¤Ã¤¿»ö¤Ë¤Ê¤ë¤Î¤Ç¡¢¥é¥¤¥»¥ó¥¹¤¬É¬ÍפǤ¹.
-
-¤¢¤Ê¤¿¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ @strong{MySQL} ¤òɬÍפȤ·¤Ê¤¤¤Ê¤é¤Ð,¤¢¤Ê¤¿¤Ï
-¥é¥¤¥»¥ó¥¹¤òÆÀ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ Î㤨¤Ð @strong{MySQL} ¤¬¤¿¤À¤¢¤Ê¤¿¤ÎÀ½ÉʤË
-¤¤¤¯¤Ä¤«¤Î¿·¤·¤¤Ç¤°Õ¤ÎÆÃħ¤ò²Ã¤¨¤¿¤Ê¤é¤Ð
-¡Ê¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ø¤Î¥í¥®¥ó¥°¤è¤ê¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¥í¥®¥ó¥°¤Ë @strong{MySQL} ¤¬
-»ÈÍѤµ¤ì¤ë¤è¤¦¤Ê¾ì¹ç¡Ë¡¢¤½¤ì¤ÏÄ̾ï¤Î»ÈÍѲ¼¤Ê¤Î¤Ç¡¢¥é¥¤¥»¥ó¥¹¤ÏɬÍפʤ¤¤Ç¤·¤ç¤¦¡£
-
-¸À¤¤´¹¤¨¤ì¤Ð, @strong{MySQL} ¤È¤È¤â¤Ë»ÈÍѤµ¤ì¤ëÀ½ÉʤòÇä¤ë¾ì¹ç¤ä¡¢
-´°Á´¤Ëµ¡Ç½¤¹¤ë¤¿¤á¤Ë @strong{MySQL} ¤òɬÍפȤ¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
-¥é¥¤¥»¥ó¥¹¤¬É¬ÍפǤ¹¡£¤¢¤Ê¤¿¤¬ @strong{MySQL} ¤òÀ½ÉʤΰìÉô¤È¤·¤Æ
-¸ÜµÒ¤ËÇÛÉÛ¤·¤è¤¦¤¬¤·¤Þ¤¤¤¬¡¢¤³¤Î¾ì¹ç¤Ë¤Ï¥é¥¤¥»¥ó¥¹¤¬É¬ÍפǤ¹¡£
-
-¤Þ¤¿¡¢¤¢¤Ê¤¿¤¬¸ÜµÒ¤Î¤¿¤á¤Ë¤·¤Æ¤¤¤ë»ö¤Ë¤â°Í¤ê¤Þ¤¹¡£
-¤¢¤Ê¤¿¤Ï,¤¢¤Ê¤¿¤Î¥½¥Õ¥È¥¦¥§¥¢¤È¤È¤â¤Ë @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢
-¸ÜµÒ¤ËÄ󶡤¹¤ë¤Î¤ò·×²è¤·¤Æ¤¤¤Þ¤¹¤«? ¤½¤Î¤Ð¤¢¤¤,¤¢¤Ê¤¿¤ÎÀ½ÉʤÏ
- @strong{MySQL} ¤Î»ÈÍѤò¾ò·ï¤È¤·¤Æ¤¤¤Þ¤¹¤« ¡¨ ¤½¤¦¤À¤È¤¹¤ì¤Ð,
-¤¢¤Ê¤¿¤Ï,¥é¥¤¥»¥ó¥¹¤òÇ㤦ɬÍפ¬¤¢¤ê¤Þ¤¹.
-If you are simply tying into a database
-that you expect already to have been installed by the time your software is
-purchased, then you probably don't need a license.
-
-@item
- @strong{MySQL} ¤òÇÛÉÛʪ¤Ë´Þ¤á¡¢¤½¤ÎÇÛÉÛʪ¤ËÎÁ¶â¤ò¤«¤·¤Þ¤¹¤«¡©
-
-¤â¤·¸ÜµÒ¤ËÇä¤ëÇÛÉÛʪ¤Ë @strong{MySQL} ¤ò´Þ¤á¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
- @code{mysqld} ¥µ¡¼¥Ð¡¼¤ÎÁö¤ë¤¤¤«¤Ê¤ë¥Þ¥·¥ó¤Ë¥é¥¤¥»¥ó¥¹¤¬É¬ÍפǤ¹¡£
-¤Ê¤¼¤Ê¤é¡¢ @strong{MySQL} ¤ò´Þ¤à¥·¥¹¥Æ¥à¤òÇä¤Ã¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£
-
-¤³¤ì¤ÏÀ½Éʤ¬ @strong{MySQL} ¤Î»ÈÍѤò
-ɬ¿Ü¤È¤·¤Æ¤¤¤è¤¦¤¬¥ª¥×¥·¥ç¥ó¤È¤·¤Æ¤¤¤è¤¦¤¬¡¢Å¬ÍѤµ¤ì¤Þ¤¹¡£
-
-@item
-¤¢¤Ê¤¿¤ÎÀ½ÉÊ¤Ï @strong{MySQL} ¤ò¤½¤ÎÃæ¤Ë´Þ¤à¤³¤È¤òÍ׵ᤷ¤Þ¤¹¤«¡©
-
-``¤Ê¤ó¤é¤«¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹'' ¤Î»ÈÍѤò¥Ç¥¶¥¤¥ó¤·¤Æ¤¤¤ëÀ½Éʤǡ¢¤³¤ÎÀ½Éʤ¬
-¤¤¤¯¤Ä¤«¤Î¥Ç¡¼¥¿¡¼¥Ù¡¼¥¹¥·¥¹¥Æ¥à
-(@strong{MySQL}, PostgreSQL, or something else) ¤ÎÃ椫¤éÂå¤ï¤ê¤Î¤â¤ò
-»ÈÍѤ¹¤ë¤è¤¦¤ËÄ´À°²Äǽ¤Ç¤­¤ëÀ½ÉÊ¡¢¤³¤¦¤¤¤Ã¤¿Êª¤ò¤¢¤Ê¤¿¤¬
-Çä¤í¤¦¤È¤·¤Æ¤¤¤ë¤È²¾Äꤷ¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢¤¢¤Ê¤¿¤ÎÀ½ÉÊ¤Ï @strong{MySQL} ¤òɬÍפȤ·¤Þ¤»¤ó¤¬¡¢
-¤¤¤«¤Ê¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î´ðËܵ¡Ç½¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤ª¤ê¡¢
- @strong{MySQL} ¤À¤±¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¤¬¡¢¤â¤·¸ÜµÒ¤¬ @strong{MySQL} ¤Î»ÈÍѤòÁª¤ó¤À¾ì¹ç¤Ë¡¢¤¢¤Ê¤¿¤¬²æ¡¹¤Ë»Ùʧ¤¦µÁ̳¤¬
-¤¢¤ë¤Î¤«¡©
-
-¤³¤Î¾ì¹ç¡¢¤â¤·¤½¤Î¸ÜµÒ¤Î¤¿¤á¤Ë¡¢¤¢¤Ê¤¿¤¬ @strong{MySQL} ¤òÄ󶡤·¤¿¤ê¤¢¤ë¤¤¤Ï¡¢
-Æþ¼ê¤·¤¿¤ê¡¢¥»¥Ã¥È¥¢¥Ã¥×¤·¤¿¤ê¤·¤Æ¤¤¤Ê¤¤¤Ê¤é¤Ð¡¢¤¢¤Ê¤¿¤Ë¥é¥¤¥»¥ó¥¹¤ÏÉÔÍפǤ¹¡£
-¤â¤·¤¢¤Ê¤¿¤¬¸ÜµÒ¤Ë¤³¤¦¤¤¤Ã¤¿¥µ¡¼¥Ó¥¹¤òÄ󶡤¹¤ë¤Ê¤é¡¢@ref{MySQL services, ,
-@strong{MySQL} services}.
-@end itemize
-
-
-@node MySQL services, ISP, Products that use MySQL, Licensing examples
-@subsection Selling @strong{MySQL}-related services¡¡@strong{MySQL} ´ØÏ¢¥µ¡¼¥Ó¥¹¤òÇä¤ë
-
-If you perform @strong{MySQL} installation on a client's machine and any
-money changes hands for the service (directly or indirectly), then you must
-buy a @strong{MySQL} license.
-
-¤â¤· @strong{MySQL} ¤ò¥¯¥é¥¤¥¢¥ó¥È¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢¤½¤Î¥µ¡¼¥Ó¥¹¤Ç¤Ê¤ó¤é¤«¤Î
-Âå²Á¤ò¤¨¤ë¤Ê¤é¤Ð¡ÊľÀÜ¡¢´ÖÀÜÌä¤ï¤º¡Ë¡¢¤¢¤Ê¤¿¤Ï @strong{MySQL} ¥é¥¤¥»¥ó¥¹¤ò
-¹ØÆþ¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-If you sell an application for which @strong{MySQL} is not strictly required
-but can be used, a license may be indicated, depending on how @strong{MySQL}
-is set up. Suppose your product neither requires @strong{MySQL} nor includes
-it in your product distribution, but can be configured to use @strong{MySQL}
-for those customers who so desire. (This would be the case, for example, if
-your product can use any of a number of database engines.)
-
-@strong{MySQL} ¤Ï´°Á´¤ËɬÍפȤ¤¤¦¤ï¤±¤Ç¤Ï¤Ê¤¤¤¬,@strong{MySQL} ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÈÎÇ䤹¤ë¤Ê¤é¤Ð, @strong{MySQL} ¤ò¥»¥Ã¥È¥¢¥Ã¥×¤¹¤ëÊýË¡¤Ë¤è¤Ã¤Æ,
-¥é¥¤¥»¥ó¥¹¤ÏɬÍפˤʤë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤¢¤Ê¤¿¤ÎÀ½ÉÊÇÛÉÛʪ¤ÎÃæ¤Ë @strong{MySQL} ¤¬
-´Þ¤Þ¤ì¤Æ¤ª¤é¤º¡¢¤Þ¤¿¡¢ @strong{MySQL} ¤òɬÍפȤ·¤Æ¤¤¤Ê¤¤¤¬¡¢
-¤¢¤Ê¤¿¤ÎÀ½ÉʤϸܵҤδõ˾¤Ë¹ç¤ï¤»¤Æ @strong{MySQL} ¤ò»ÈÍѤ¹¤ë¤è¤¦¤ËÄ´À°¤Ç¤­¤ë¤â¤Î¤À¤È
-²¾Äꤷ¤Þ¤¹¡£
-¡ÊÎ㤨¤Ð,¤¢¤Ê¤¿¤ÎÀ½Éʤ¬Â¿¤¯¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥¨¥ó¥¸¥ó¤Î¤É¤ì¤«¤ò»ÈÍѤ¹¤ë¤³¤È¤¬
-¤Ç¤­¤ë¤Ê¤é¤Ð,¤³¤Î¾ì¹ç¤Ë³ºÅö¤¹¤ë¤Ç¤·¤ç¤¦.¡Ë
-
-If the customer obtains and installs @strong{MySQL}, no license is needed.
-If you perform that service for your customer, then a license is needed
-because then you are selling a service that includes @strong{MySQL}.
-
-¤â¤·¸ÜµÒ¼«¿È¤¬ @strong{MySQL} ¤òÆþ¼ê¤·¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ê¤é¤Ð¡¢
-¤¢¤Ê¤¿¤Ë¥é¥¤¥»¥ó¥¹¤ÏÉÔÍפǤ¹¡£¤â¤·¤¢¤Ê¤¿¤¬¤½¤¦¤¤¤Ã¤¿¥µ¡¼¥Ó¥¹¤ò¸ÜµÒ¤Ë¹Ô¤¦¤Ê¤é¡¢
-¥é¥¤¥»¥ó¥¹¤ÏɬÍפǤ¹¡£¤Ê¤¼¤Ê¤é¡¢ @strong{MySQL} ¤ò´Þ¤ó¤À¥µ¡¼¥Ó¥¹¤ò¤¢¤Ê¤¿¤¬
-Çä¤ë¤³¤È¤Ë¤Ê¤ë¤«¤é¤Ç¤¹¡£
-
-
-@node ISP, Web server, MySQL services, Licensing examples
-@subsection ISP @strong{MySQL} services
-
-Internet Service Providers (ISPs) often host @strong{MySQL} servers for
-their customers.
-
-If you are an ISP that allows customers to install and administer
-@strong{MySQL} for themselves on your machine with no assistance from you,
-neither you nor your customer need a @strong{MySQL} license. Note that this
-doesn't apply if you are are using Win32; In this case you will always
-need a license for each computer that runs the @strong{MySQL} server.
-
-If you charge for @strong{MySQL} installation and administrative support as
-part of your customer service, then you need a license because you are selling
-a service that includes @strong{MySQL}.
-
-¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¡¼(ISP) ¤Ï @strong{MySQL} ¥µ¡¼¥Ð¡¼¤ò¼«Ê¬¤Î¤ªµÒ¤Ë
-Ä󶡤¹¤ë¤³¤È¤â¤·¤Ð¤·¤Ð¤Ç¤¹¡£
-
-¤â¤·¤¢¤Ê¤¿¤¬ ISP ¤Ç¡¢¸ÜµÒ¤¬¤¢¤Ê¤¿¤Î¥Þ¥·¥ó¤Ë @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ´ÉÍý¤¹¤ë»ö¤ò
-µö²Ä¤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð(¤¢¤Ê¤¿¤Î¼ê½õ¤±¤Ï̵¤·¤Ç)¡¢
-¤¢¤Ê¤¿¤È¸ÜµÒ¤Î¤É¤Á¤é¤Ë¤â @strong{MySQL} ¥é¥¤¥»¥ó¥¹¤ÏÉÔÍפǤ¹¡£
-¤â¤· Win32 ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢¤³¤ì¤ÏŬÍѤµ¤ì¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-Win32 ¤Î¾ì¹ç¤Ï¡¢@strong{MySQL} ¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ë¥³¥ó¥Ô¥å¡¼¥¿Ëè¤Ë
-¥é¥¤¥»¥ó¥¹¤¬É¬ÍפǤ¹¡£
-
-¤â¤·¤¢¤Ê¤¿¤¬¸ÜµÒ¥µ¡¼¥Ó¥¹¤È¤·¤Æ @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·´ÉÍý¤¹¤ë¤³¤È¤ËÎÁ¶â¤ò¤«¤¹¤Ê¤é¡¢
-¤¢¤Ê¤¿¤Ï @strong{MySQL} ¤ò´Þ¤ó¤À¥µ¡¼¥Ó¥¹¤òÇä¤Ã¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢
-¤¢¤Ê¤¿¤Ï¥é¥¤¥»¥ó¥¹¤¬É¬ÍפǤ¹¡£
-
-
-@node Web server, , ISP, Licensing examples
-@subsection Running a web server using @strong{MySQL}
-
-If you use @strong{MySQL} in conjunction with a web server on Unix, you
-don't have to pay for a license.
-
-This is true even if you run a commercial web server that uses
-@strong{MySQL}, since you are not selling @strong{MySQL} itself. However, in
-this case we would like you to purchase @strong{MySQL} support, because
-@strong{MySQL} is helping your enterprise.
-
-¤â¤·¤¢¤Ê¤¿¤¬ UNIX ¾å¤Ç Web¥µ¡¼¥Ð¡¼ ¤È¤È¤â¤Ë @strong{MySQL} ¤ò»ÈÍѤ¹¤ë¤Ê¤é¡¢
-¥é¥¤¥»¥ó¥¹¤òÇ㤦ɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-
-¤³¤ì¤Ï¤¿¤È¤¨ @strong{MySQL} ¤ò»ÈÍѤ·¤¿¾¦ÍѤΠWeb¥µ¡¼¥Ð¡¼ ¤òÁö¤é¤»¤Æ¤¤¤Æ¤â¡¢
- @strong{MySQL} ¼«¿È¤òÇä¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¥é¥¤¥»¥ó¥¹¤òÇ㤦ɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-¤·¤«¤·¤³¤Î¾ì¹ç¡¢²æ¡¹¤Ï¤¢¤Ê¤¿¤¬ @strong{MySQL} ¥µ¥Ý¡¼¥È·ÀÌó¤ò¤¹¤ë¤³¤È¤ò˾¤ß¤Þ¤¹¡£
-¤Ê¤¼¤Ê¤é¡¢@strong{MySQL} ¤Ï¤¢¤Ê¤¿¤Î»ö¶È¤ò½õ¤±¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£
-
-
-@cindex Costs, licensing and support
-@cindex Licensing costs
-@cindex Support costs
-@node Cost, Support, Licensing examples, Licensing and Support
-@section @strong{MySQL} licensing and support costs
-
-@menu
-* Payment information:: Payment information
-* Contact information:: Contact information
-@end menu
-
-Our current license prices are shown below. All prices are in US
-Dollars. If you pay by credit card, the currency is EURO (European Union Euro)
-so the prices will differ slightly.
-
-¸½ºß¤Î¥é¥¤¥»¥ó¥¹¤Î²Á³Ê¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£Á´¤Æ¤Î²Á³Ê¤Ï US ¥É¥ë¤Ç¤¹¡£
-¤â¤·¤¢¤Ê¤¿¤¬¥¯¥ì¥¸¥Ã¥È¥«¡¼¥É¤ÇÇ㤤¤¿¤¤¤Ê¤é¤Ð¡¢ÄÌ²ß¤Ï EURO (European Union Euro)
-¤Ç¤¹¡£¡Ê²Á³Ê¤¬¤ï¤º¤«¤Ë°Û¤Ê¤ë¡Ë
-
-@multitable @columnfractions .25 .2 .3
-@item @strong{Number of licenses} @tab @strong{Price per copy} @tab @strong{Total}
-@item 1 @tab US $200 @tab US $200
-@item 10 pack @tab US $150 @tab US $1500
-@item 50 pack @tab US $120 @tab US $6000
-@end multitable
-
-For high volume (OEM) purchases, the following prices apply:
-
-ÂçÎ̹ØÆþ(OEM ÈÎÇä)¤Î¾ì¹ç¤Ï¡§
-
-@multitable @columnfractions .25 .2 .3 .25
-@item @strong{Number of licenses} @tab @strong{Price per copy} @tab @strong{Minimum at one time} @tab @strong{Minimum payment}
-@item 100-999 @tab US $40 @tab 100 @tab US $4000
-@item 1000-2499 @tab US $25 @tab 200 @tab US $5000
-@item 2500-4999 @tab US $20 @tab 400 @tab US $8000
-@end multitable
-
-For OEM purchases, you must act as the middle-man for eventual problems
-or extension requests from your users. We also require that OEM
-customers have at least an extended email support contract. Note that
-OEM licenses only apply for products where the user doesn't have direct
-access to the @strong{MySQL} server (embedded system). In other words:
-The @strong{MySQL} server should only be used with the application
-that was supplied you.
-
-¡¡OEM ÈÎÇä¤ò¤¹¤ë¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤«¤é¤ÎÌäÂê¤äÍ×˾¤ËÂФ·¤Æ¡¢
-¤¢¤Ê¤¿¤ÏÃçÇã¿Í¤È¤·¤Æ¿¶¤ëÉñ¤ï¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-¤ï¤ì¤ï¤ì¤Ï OEM ¤ÎµÒ¤ËÂФ·¡¢¾¯¤Ê¤¯¤È¤â³ÈÄ¥ÅŻҥ᡼¥ë¥µ¥Ý¡¼¥È·ÀÌó¤òÍ׵ᤷ¤Þ¤¹¡£
-OEM ¥é¥¤¥»¥ó¥¹¤Ï¡¢@strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËľÀÜ¥¢¥¯¥»¥¹¤¹¤ëɬÍפΤʤ¤
-À½ÉʤˤΤßŬÍѤµ¤ì¤Þ¤¹ (ÁȤ߹þ¤ß¥·¥¹¥Æ¥à)¡£ ¤¤¤¦¤Ê¤é¤Ð¡¢
-@strong{MySQL} ¤Ï¡¢¤¿¤À¡¢¤¢¤Ê¤¿¤¬Ä󶡤·¤Æ¤¤¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¶¦¤Ë¤Î¤ß
-»ÈÍѤµ¤ì¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-(OEM ¶¡µë¤ò¼õ¤±¤¿ MySQL ¥µ¡¼¥Ð¡¼¥é¥¤¥»¥ó¥¹¤Î¤ß¤òñÂΤÇÇä¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£)
-
-If you have a low-margin high-volume product, you can always talk to us
-about other terms (for example, a percent of the sale price). If you do,
-please be informative about your product, pricing, market and any other
-information that may be relevant.
-
-¡¡¤â¤·¤¢¤Ê¤¿¤¬ÇöÍø¿Çä¤ÎÀ½Éʤò»ý¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢Â¾¤Î¾ò·ï¤Ë¤Ä¤¤¤Æ¤¤¤Ä¤Ç¤â
-²æ¡¹¤ÈÏ䷹礦¤³¤È¤¬¤Ç¤­¤Þ¤¹(Î㤨¤ÐÇäÃͤΥѡ¼¥»¥ó¥Æ¡¼¥¸¤È¤«)¡£
-¤â¤·¤¢¤Ê¤¿¤¬À½ÉʤòÇä¤ê¤¿¤¤¤Ê¤é¡¢
-¤¢¤Ê¤¿¤ÎÀ½ÉÊÀâÌÀ¡¢ÃÍÃÊ¡¢»Ô¾ì¡¢¤½¤Î¾´ØÏ¢¹àÌܤò²æ¡¹¤ËÃΤ餻¤Æ¤¯¤À¤µ¤¤¡£
-
-@cindex @code{myisampack}
-After buying 1 @strong{MySQL} licenses, you will get a personal copy of
-the @code{myisampack} utility. You are not allowed to redistribute this
-utility but you can distribute tables packed with it.
-
-1 @code{MySQL} ¥é¥¤¥»¥ó¥¹¤Î¹ØÆþ¸å¡¢@code{myisampack} ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤¬
-¸Ä¿Í¤à¤±¤Ë¥³¥Ô¡¼¤Ç¤­¤Þ¤¹¡£¤³¤ì¤ÎºÆÇÛÉۤϵö²Ä¤µ¤ì¤Þ¤»¤ó¤¬¡¢
-@code{myisampack} ¤Ç¥Ñ¥Ã¥¯¤·¤¿¥Æ¡¼¥Ö¥ë¤ÏÇÛÉۤǤ­¤Þ¤¹¡£
-
-A full-price license is not a support agreement and includes very minimal
-support. This means that we try to answer any relevant question. If the
-answer is in the documentation, we will direct you to the appropriate
-section. If you have not purchased a license or support, we probably will not
-answer at all.
-
-´°Á´¤Ê²Á³Ê¥é¥¤¥»¥ó¥¹¤Ï¥µ¥Ý¡¼¥È¶¨Äê¤Ç¤Ê¤¯,Èó¾ï¤ËºÇ¾®¸Â¤Î¥µ¥Ý¡¼¥È¤ò´Þ¤ß¤Þ¤¹. ¤³¤ì¤Ï,²æ¡¹¤¬
-¤É¤ó¤Ê´ØÏ¢¼ÁÌä¤Ë¤âÅú¤¨¤è¤¦¤È¤¹¤ë»ö¤ò°ÕÌ£¤·¤Þ¤¹. ÊÖ»ö¤¬¥É¥­¥å¥á¥ó¥È¤Ë¤¢¤ë¤Ê¤é¤Ð,
-²æ¡¹¤ÏŬÀڤʥ»¥¯¥·¥ç¥ó¤ò¤¢¤Ê¤¿¼¨¤¹¤Ä¤â¤ê¤Ç¤¹. ¤¢¤Ê¤¿¤¬¥é¥¤¥»¥ó¥¹¤«¥µ¥Ý¡¼¥È¤ò¹ØÆþ
-¤·¤Ê¤«¤Ã¤¿¤Ê¤é¤Ð, ²æ¡¹¤Ï¤¿¤Ö¤óÁ´¤¯Åú¤¨¤ë¤Ä¤â¤ê¤Ï¤¢¤ê¤Þ¤»¤ó.
-
-If you discover what we consider a real bug, we are likely to fix it in
-any case. But if you pay for support we will notify you about the fix
-status instead of just fixing it in a later release.
-
-¤â¤·¤¢¤Ê¤¿¤¬¡¢²æ¡¹¤¬ËÜÅö¤Ë¥Ð¥°¤À¤È¹Í¤¨¤ëʪ¤ò¸«¤Ä¤±¤¿¾ì¹ç¡¢¤¤¤«¤Ê¤ë¾ì¹ç¤Ç¤â
-¤½¤ì¤ò½¤Àµ¤·¤Þ¤¹¡£
-¤·¤«¤·, ¤¢¤Ê¤¿¤¬¥µ¥Ý¡¼¥È¤ò»Ùʧ¤¦¤Ê¤é¤Ð, ¸å¤Î¥ê¥ê¡¼¥¹¤Ç¤½¤ì¤ò½¤Àµ¤¹¤ë»ö¤ÎÂå¤ï¤ê¤Ë¡¢
-²æ¡¹¤Ï½¤Àµ¾õÂ֤˴ؤ·¤Æ¤¢¤Ê¤¿¤ËÄÌÃΤ¹¤ë¤Ä¤â¤ê¤Ç¤¹.
-
-More comprehensive support is sold separately. Descriptions of what each
-level of support includes are given in @ref{Support}. Costs for the various
-types of commercial support are shown below. Support level prices are in
-EURO (European Union Euro). One EURO is about 1.17 USD.
-
-¤è¤êÊñ³çŪ¤Ê¥µ¥Ý¡¼¥È¤ÏÊÌ¡¹¤ËÈÎÇ䤵¤ì¤Þ¤¹. ¤½¤ì¤¾¤ì¤Î¥ì¥Ù¥ë¤Î¥µ¥Ý¡¼¥È¤¬´Þ¤à»ö¤Ë
-´Ø¤¹¤ëµ­½Ò¤Ï @ref{Support}. ¤Ë¤¢¤ê¤Þ¤¹¡£ÍÍ¡¹¤Ê¥¿¥¤¥×¤Î¾¦ÍÑ¥µ¥Ý¡¼¥È¤Î²Á³Ê¤Ï°Ê²¼¤Ë
-¼¨¤·¤Þ¤¹. ¥µ¥Ý¡¼¥È¥ì¥Ù¥ë²Á³Ê¤Ï EURO (European Union Euro) ¤Ç¤¹¡£
-1 EURO ¤Ï¤ª¤è¤½ 1.17 USD ¤Ç¤¹.
-
-@multitable @columnfractions .3 .3
-@item @strong{Type of support} @tab @strong{Cost per year}
-@item Basic email support @tab EURO 170
-@item Extended email support @tab EURO 1000
-@item Login support @tab EURO 2000
-@item Extended login support @tab EURO 5000
-@end multitable
-
-You may upgrade from any
-lower level of support to a higher level of support for the difference
-between the prices of the two support levels.
-
-²¼°Ì¥ì¥Ù¥ë¤Î¥µ¥Ý¡¼¥È¤«¤é¡¢¤½¤ì¤è¤ê¹â¤¤¥ì¥Ù¥ë¤Î¥µ¥Ý¡¼¥È¤Ë¡¢
-2¤Ä¤Î¥µ¥Ý¡¼¥È¤Î²Á³Êº¹Ê¬¤Î»Ùʧ¤¤¤Ç¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É¤¬²Äǽ¤Ç¤¹¡£
-
-
-@cindex Payment information
-@node Payment information, Contact information, Cost, Cost
-@subsection Payment information
-
-Currently we can take SWIFT payments, cheques or credit cards.
-
-¸½ºß,SWIFT»Ùʧ¤¤,¾®ÀÚ¼ê¤Þ¤¿¤Ï¥¯¥ì¥¸¥Ã¥È¥«¡¼¥É¤Ç¤Î»Ùʧ¤¤¤¬¤Ç¤­¤Þ¤¹.
-
-Payment should be made to:
-¿¶¹þÀè¤Ï¡§
-@example
-Postgirot Bank AB
-105 06 STOCKHOLM, SWEDEN
-
-TCX DataKonsult AB
-BOX 6434
-11382 STOCKHOLM, SWEDEN
-
-SWIFT address: PGSI SESS
-Account number: 96 77 06 - 3
-@end example
-
-Specify: license and/or support and your name and email address.
-
-¤¢¤Ê¤¿¤Î¹ØÆþ¥é¥¤¥»¥ó¥¹ ¤«¤Ä/Ëô¤Ï ¥µ¥Ý¡¼¥È¤È,̾Á°¤È E¥á¡¼¥ë¥¢¥É¥ì¥¹¤òµ­½Ò¤Î¤³¤È¡£
-
-In Europe and Japan you can use EuroGiro (that should be less expensive) to the
-same account.
-
-¥è¡¼¥í¥Ã¥Ñ¤ÈÆüËܤǤÏ,¤¢¤Ê¤¿¤Ï»Ùʧ¤¤¤Ë EuroGiro(¤½¤ì¤¬¹â²Á¤Ç¤Ï¤Ê¤¤) ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.
-
-If you want to pay by cheque, make it payable to ``MySQL Finland AB'' and
-mail it to the address below:
-
-¤¢¤Ê¤¿¤¬¾®ÀÚ¼ê¤Ë¤è¤Ã¤Æ»Ùʧ¤¤¤¿¤¤¤È»×¤Ã¤Æ¤¤¤ë¤Ê¤é¤Ð,¤½¤ì¤ò ``Monty Program KB'' ¤Ë»Ùʧ¤¤Ëþ´ü¤Ë¤·¤Æ,
-°Ê²¼¤Î¥¢¥É¥ì¥¹¤Ë͹Á÷¤·¤Æ¤¯¤À¤µ¤¤.
-
-@example
-TCX DataKonsult AB
-BOX 6434, Torsgatan 21
-11382 STOCKHOLM, SWEDEN
-@end example
-
-If you want to pay by credit card over the Internet, you can use
-@uref{https://www.tcx.se/license.htmy, TcX's secure license form}.
-
-¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤Ç¥¯¥ì¥¸¥Ã¥È¥«¡¼¥É¤Ç»Ùʧ¤¤¤¿¤¤¤È»×¤Ã¤Æ¤¤¤ë¤Ê¤é¤Ð,
-¤¢¤Ê¤¿¤Ï @uref{https://www.tcx.se/license.htmy, TcX¤Î°ÂÁ´¤Ê¥é¥¤¥»¥ó¥¹¥Õ¥©¡¼¥à} ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.
-
-You can also print a copy of the license form, fill it in and send it by fax
-to:
-
-¤Þ¤¿¾å¤Î¥Ú¡¼¥¸¤Î¥³¥Ô¡¼¤ò°õºþ¤·¤Æ½ñ¤­¹þ¤ß,¥Õ¥¡¥Ã¥¯¥¹¤ò»È¤Ã¤Æ°Ê²¼¤Ë¤½¤ì¤òÁ÷¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹.
-
-+46-8-729 69 05
-
-If you want us to bill you, you can use the license form and write ``bill
-us'' in the comment field. You can also mail a message to
-@email{sales@@mysql.com} (@strong{not} @email{mysql@@lists.mysql.com}!)
-with your company information and ask us to bill you.
-
-ÀÁµá½ñ¤òÁ÷¤Ã¤ÆÍߤ·¤¤¾ì¹ç,¤¢¤Ê¤¿¤Ï¥é¥¤¥»¥ó¥¹¥Õ¥©¡¼¥à¤ò»ÈÍѤ·,
-Ãí¼áÍó¤Ë ``ÀÁµá½ñ ´õ˾'' ¤ò½ñ¤¤¤Æ¤¯¤À¤µ¤¤.
-¤¢¤ë¤¤¤Ï,¤¢¤Ê¤¿¤Î²ñ¼Ò¤Î¾ðÊó¤òµ­ºÜ¤·¤¿¥á¥Ã¥»¡¼¥¸¤ò @email{sales@@mysql.com} ¤Ë¤ª¤¯¤ê,
-(@email{mysql@@lists.mysql.com} ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó!)
-ÀÁµá½ñ¤òÁ÷¤ë¤è¤¦¤Ë²æ¡¹¤Ë°ÍÍꤹ¤ë»ö¤â¤Ç¤­¤Þ¤¹¡£
-
-
-@cindex Contact information
-@node Contact information, , Payment information, Cost
-@subsection Contact information
-
-For commercial licensing, or if you have any questions about any of the
-information in this section, please contact the @strong{MySQL} licensing
-team. The much preferred method is by E-Mail to
-@email{mysql-licensing@@mysql.com}. Fax is also possible but handling of
-these may take much longer (Fax +46-8-729 69 05).
-
-¾¦¶Èǧ²Ä¤«ËÜ¥»¥¯¥·¥ç¥ó¤Ë´Ø¤¹¤ë¼ÁÌ䤬¤¢¤ë¤Ê¤é¤Ð,°Ê²¼¤ËÏ¢Íí¤·¤Æ¤¯¤À¤µ¤¤
-
-@example
-David Axmark
-Detron HB
-Kungsgatan 65 B
-753 21 UPPSALA
-SWEDEN
-Voice Phone +46-18-10 22 80 (Timezone GMT+1. Swedish and English spoken)
-@end example
-
-
-@cindex Support, types
-@cindex Types of support
-@node Support, , Cost, Licensing and Support
-@section Types of commercial support
-
-@menu
-* Basic email support:: Basic email support
-* Extended email support:: Extended email support
-* Login support:: Login support
-* Extended login support:: Extended login support
-@end menu
-
-@node Basic email support, Extended email support, Support, Support
-@subsection Basic email support¡¡´ðËÜÅŻҥ᡼¥ë¥µ¥Ý¡¼¥È
-
-Basic email support is a very inexpensive support option and should be
-thought of more as a way to support our development of @strong{MySQL}
-than as a real support option. We at TCX do give a lot of free support
-in all the different @strong{MySQL} lists and the money we get from
-basic eamil support is largely used to make this possible.
-
-´ðËÜÅŻҥ᡼¥ë¥µ¥Ý¡¼¥È¤ÏÈó¾ï¤ËÈñÍѤΤ«¤«¤é¤Ê¤¤¥µ¥Ý¡¼¥È¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ê,
-²æ¡¹¤Î @strong{MySQL} ¤Î³«È¯¤ò¥µ¥Ý¡¼¥È¤¹¤ëËÜÅö¤Î¥µ¥Ý¡¼¥È¥ª¥×¥·¥ç¥ó¤Ç¡¢
-¤è¤ê¤è¤¤ÊýË¡¤È¤·¤Æ¹Í¤¨¤é¤ì¤ë¤Ù¤­¤Ç¤¹.
-
-At this support level, the @strong{MySQL} mailing lists are the preferred
-means of communication. Questions normally should be mailed to the primary
-mailing list (@email{mysql@@lists.mysql.com}) or one of the other regular
-lists (for example, @email{mysql-win32@@lists.mysql.com} for Windows-related
-@strong{MySQL} questions), as someone else already may have experienced and
-solved the problem you have. @xref{Asking questions}.
-
-¤³¤Î¥µ¥Ý¡¼¥È¥ì¥Ù¥ë¤Ç¤Ï, @strong{MySQL} ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ï¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥ó
-¤ò¼è¤ë¤Ë¤Ï¹¥¤Þ¤ì¤ëÊýË¡¤Ç¤¹. Ä̾ï, ¼ÁÌä¤Ï¼çÍפʥ᡼¥ê¥ó¥°¥ê¥¹¥È
-(@email{mysql@@lists.mysql.com}) ¤«Â¾¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Î¤É¤ì¤«¤ËÁ÷¿®¤µ¤ì¤ë¤Ù¤­¤Ç¡¢
-¡ÊÎ㤨¤Ð, Windows ¤Ë´ØÏ¢¤¹¤ë @strong{MySQL} ¤Î¼ÁÌä¤Î¤¿¤á¤Î @email{mysql-win32@@lists.mysql.com} ¡Ë
-¤³¤ì¤Ï¾¤Î狼¤¬Æ±¤¸ÌäÂê¤ò·Ð¸³¤·¤Æ, ´û¤Ë²ò·è¤·¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¤«¤é¤Ç¤¹¡£
- @xref{Asking questions}.
-
-However, by purchasing basic email support, you also have access to the
-support address @email{mysql-support@@mysql.com}, which is not available
-as part of the minimal support that you get by purchasing a
-@strong{MySQL} license. This means that for especially critical
-questions, you can cross-post your message to
-@email{mysql-support@@mysql.com}. (If the message contains sensitive
-data, you should post only to @email{mysql-support@@mysql.com}.)
-
-@emph{REMEMBER!} to ALWAYS include your registration number and
-expiration date when you send a message to
-@email{mysql-support@@mysql.com}.
-
-¤·¤«¤·¡¢´ðËÜÅŻҥ᡼¥ë¥µ¥Ý¡¼¥È¤ò¹ØÆþ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ, ¤¢¤Ê¤¿¤Ï¥µ¥Ý¡¼¥È¥¢¥É¥ì¥¹
-@email{mysql-support@@mysql.com} ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹.
-(¤³¤Î¥á¡¼¥ë¥¢¥É¥ì¥¹¤ÏºÇ¾®¤Î @strong{MySQL} ¥é¥¤¥»¥ó¥¹¤Î¹ØÆþ¤Ç¤ÏÍøÍÑÉÔ²Äǽ¤Ç¤¹¡£)
-¤³¤ì¤ÏÆä˽ÅÍפʼÁÌä¤Î¤¿¤á¤Ë»ÈÍѤµ¤ì¤Æ¤ª¤ê¡¢¤Þ¤¿¡¢@email{mysql-support@@mysql.com}.
-¤È¥¯¥í¥¹¥Ý¥¹¥È¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
-¡Ê¥á¥Ã¥»¡¼¥¸¤Ëµ¡Ì©¤Î¥Ç¡¼¥¿¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¡¢¤¢¤Ê¤¿¤Ï @email{mysql-support@@mysql.com}.
-¤À¤±¤ËÁ÷¿®¤¹¤ë¤Ù¤­¤Ç¤¹.¡Ë
-
-¥á¥Ã¥»¡¼¥¸¤ò @email{mysql-support@@mysql.com} ¤ËÁ÷¤ë¤È¤­¤Ï¡¢
-¿×®¤Ê±þÅú¤ò³Î¼Â¤Ë¤¹¤ë¤¿¤á¤Ë¡¢É¬¤º¤¢¤Ê¤¿¤ÎÅÐÏ¿ÈÖ¹æ¤ÈËþλÆüÉÕ¤ò½ñ¤­Åº¤¨¤Æ¤¯¤À¤µ¤¤¡£
-
-Note that if you have encountered a critical repeatable bug and follow
-the rules outlined in the manual section of how to report bugs and send
-it to @email{bugs@@lists.mysql.com} we promise to try to fix this as
-soon as possible, independent of your support level! @xref{Bug reports}.
-
-Basic email support includes the following types of service:
-
-´ðËÜÅŻҥ᡼¥ë¥µ¥Ý¡¼¥È¤Ï°Ê²¼¤Î¥µ¡¼¥Ó¥¹¤ò´Þ¤ß¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-If your question is already answered in the manual, we will inform you of the
-correct section in which you can find the answer. If the answer is not in
-the manual, we will point you in the right direction to solve your problem.
-
-@item
-We guarantee a timely answer for your email messages. We can't guarantee
-that we can solve any problem, but at least you will receive an answer if we
-can contact you by email.
-
-@item
-We will help with unexpected problems when you install @strong{MySQL} from a
-binary distribution on supported platforms. This level of support does not
-cover installing @strong{MySQL} from a source distribution. ``Supported''
-platforms are those for which @strong{MySQL} is known to work.
-@xref{Which OS}.
-
-@item
-We will help you with bugs and missing features. Any bugs that are found are
-fixed for the next @strong{MySQL} release. If the bug is critical for
-you, we will mail you a patch for it as soon the bug is fixed. Critical
-bugs always have the highest priority for us, to ensure that they are
-fixed as soon as possible.
-
-@item
-Your suggestions for the further development of @strong{MySQL} will be
-taken into consideration. By taking email support you have already
-helped the further development of @strong{MySQL}. If you want to have
-more input, upgrade to a higher level of support.
-
-@item
-If you want us to help optimize your system, you must upgrade to a
-higher level of support.
-@end itemize
-
-@itemize @bullet
-@item
-¤â¤·¤¢¤Ê¤¿¤Î¼ÁÌ䤬´û¤Ë¥Þ¥Ë¥å¥¢¥ë¤ÇÅú¤¨¤é¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
-Åú¤¨¤ò¸«¤Ä¤±¤ì¤ë¤Ç¤¢¤í¤¦Àµ¤·¤¤¥»¥¯¥·¥ç¥ó¤ò¤¢¤Ê¤¿¤Ë¶µ¤¨¤Þ¤¹¡£
-¤â¤·Åú¤¨¤¬¥Þ¥Ë¥å¥¢¥ë¤Ë̵¤±¤ì¤Ð¡¢ÌäÂê²ò·è¤Î¤¿¤á¤ÎÀµ¤·¤¤Êý¸þ¤ò»Ø¤·¼¨¤·¤Þ¤¹¡£
-
-@item
-ÁÇÁᤤÊÖ¿®¤òÊݾÚÃפ·¤Þ¤¹¡£É¬¤º¤·¤â¤É¤ó¤ÊÌäÂê¤â²ò·è¤Ç¤­¤ë¤ÈÊݾڤÏÃפ·¤Þ¤»
-¤ó¤¬¡¢¤¢¤Ê¤¿¤¬ E ¥á¡¼¥ë¤Ç¥³¥ó¥¿¥¯¥È²Äǽ¤Ê¤é¤Ð¾¯¤Ê¤¯¤È¤âÊÖ¿®¤Ï¼õ¤±¼è¤ë¤Ç¤·¤ç
-¤¦¡£
-
-@item
-¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤ª¤¤¤Æ¥Ð¥¤¥Ê¥ê¡¼ÇÛÉÛ·ÁÂÖ¤«¤é
-@strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë»þ¡¢Í½´ü¤·¤Ê¤¤ÌäÂ꤬¸½¤ì¤¿¾ì¹ç¤ª½õ¤±Ãפ·¤Þ¤¹¡£
-¤³¤Î¥ì¥Ù¥ë¤Î¥µ¥Ý¡¼¥È¤Ç¤Ï¥½¡¼¥¹ÇÛÉÛ·ÁÂÖ¤«¤é @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë
-¤¹¤ë¾ì¹ç¤Ï¤Õ¤¯¤Þ¤ì¤Æ¤ª¤ê¤Þ¤»¤ó¡£``¥µ¥Ý¡¼¥ÈÂоÝ'' ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤È¤Ï¡¢
- @strong{MySQL} ¤¬Æ°ºî¤¹¤ë¤ÈÃΤé¤ì¤Æ¤¤¤ë¤â¤Î¤Ç¤¹ @xref{Which OS}.
-
-@item
-¥Ð¥°¤ä­¤ê¤Ê¤¤µ¡Ç½¤¬¤¢¤ë¾ì¹ç ¡£¸«ÉÕ¤«¤Ã¤¿¥Ð¥°¤ËÉÕ¤¤¤Æ¤Ï¼¡´ü @strong{MySQL}
-¥ê¥ê¡¼¥¹¤Ë¤ª¤¤¤Æľ¤µ¤ì¤Þ¤¹¡£¤â¤·¤½¤Î¥Ð¥°¤¬¤¢¤Ê¤¿¤Ë¤È¤Ã¤ÆÃ×̿Ū¤Ç¤¢¤ì¤Ð¡¢½¤Àµ¼¡Â褽
-¤Î¥Ð¥°¤ÎÂФ¹¤ë¥Ñ¥Ã¥Á¤ò¥á¡¼¥ë¤Ç¤ªÁ÷¤ê¤·¤Þ¤¹¡£Ã×̿Ū¥Ð¥°¤Ï¾ï¤Ë¹â¤¤Í¥ÀèÅ٤ˤʤꡢ
-²Äǽ¤Ê¸Â¤ê®¤¯¡¢½¤Àµ¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
-
-@item
-¤µ¤é¤Ê¤ë @strong{MySQL} ³«È¯¤Î¤¿¤á¤Ë¤¢¤Ê¤¿¤Î°Õ¸«¤Ï¹Í褵¤ì¤Þ¤¹¡£
-¤¢¤Ê¤¿¤¬ E ¥á¡¼¥ë¥µ¥Ý¡¼¥È¤ò¤ª»ý¤Á¤Ê¤é¤Ð¡¢¤â¤¦´û¤Ë @strong{MySQL} ¤Î¹¹¤Ê¤ë
-³«È¯¤Ø¤Î¼ê½õ¤±¤ò¤µ¤ì¤Æ¤¤¤ë»ö¤Ë¤Ê¤ê¤Þ¤¹¡£¤â¤Ã¤È°Õ¸«¤ò¼è¤êÆþ¤ì¤¿¤¤¤Ê¤é¤Ð¡¢
-¾å°Ì¤Î¥µ¥Ý¡¼¥È¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-¤â¤·¤¢¤Ê¤¿¤¬»ä¶¡¤Ë¤è¤ë¤Î¥·¥¹¥Æ¥à¤ÎºÇŬ²½¤Î¼ê½õ¤±¤ò¤ªË¾¤ß¤Ç¤¢¤ì¤Ð¡¢¹¹¤Ë
-¾å°Ì¤Î¥µ¥Ý¡¼¥È¤Ø¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-@item
-@cindex @code{myisampack}
-We include a binary version of the @code{myisampack} packing tool for
-creating fast compressed read-only databases. The current server includes
-support for reading such databases but not the packing tool used to
-create them.
-@end itemize
-
-
-@node Extended email support, Login support, Basic email support, Support
-@subsection Extended email support¡¡³ÈÄ¥ÅŻҥ᡼¥ë¥µ¥Ý¡¼¥È
-
-Extended email support includes everything in basic email support with
-these additions:
-
-@itemize @bullet
-@item
-Your email will be dealt with before mail from basic email support users and
-non-registered users.
-
-@item
-Your suggestions for the further development of @strong{MySQL} will
-receive strong consideration. Simple extensions that suit the basic
-goals of @strong{MySQL} are implemented in a matter of days. By taking
-extended email support you have already helped the further development
-of @strong{MySQL}.
-
-@item
-@item
-Typical questions that are covered by extended email support are:
-
-@itemize @minus
-@item
-We will answer and (within reason) solve questions that relate to possible
-bugs in @strong{MySQL}. As soon as the bug is found and corrected, we
-will mail a patch for it.
-
-@item
-We will help with unexpected problems when you install @strong{MySQL} from a
-source or binary distribution on supported platforms.
-
-@item
-We will answer questions about missing features and offer hints how to work
-around them.
-
-@item
-We will provide hints on optimizing @code{mysqld} for your situation.
-@end itemize
-
-@item
-You are allowed to influence the priority of items on the @strong{MySQL}
-TODO. This will ensure that the features you really need will be implemented
-sooner than they might be otherwise.
-@end itemize
-
-@node Login support, Extended login support, Extended email support, Support
-@subsection Login support¡¡¥í¥°¥¤¥ó¥µ¥Ý¡¼¥È
-
-Login support includes everything in extended email support with
-these additions:
-
-@itemize @bullet
-@item
-Your email will be dealt with even before mail from extended email
-support users.
-
-@item
-Your suggestions for the further development of @strong{MySQL} will
-be taken into very high consideration. Realistic extensions that can be
-implemented in a couple of hours and that suit the basic goals of
-@strong{MySQL} will be implemented as soon as possible.
-
-@item
-If you have a very specific problem, we can try to log in on your system
-to solve the problem ``in place.''
-
-@item
-Like any database vendor, we can't guarantee that we can rescue any data from
-crashed tables, but if the worst happens we will help you rescue as much as
-possible. @strong{MySQL} has proven itself very reliable, but anything is
-possible due to circumstances beyond our control (for example, if your system
-crashes or someone kills the server by executing a @code{kill -9} command).
-
-@item
-We will provide hints on optimizing your system and your queries.
-
-@item
-You are allowed to call a @strong{MySQL} developer (in moderation) and
-discuss your @strong{MySQL}-related problems.
-@end itemize
-
-@node Extended login support, , Login support, Support
-@subsection Extended login support¡¡³ÈÄ¥¥í¥°¥¤¥ó¥µ¥Ý¡¼¥È
-
-Extended login support includes everything in login support with these
-additions:
-
-@itemize @bullet
-@item
-Your email has the highest possible priority.
-
-@item
-We will actively examine your system and help you optimize it and your
-queries. We may also optimize and/or extend @strong{MySQL} to better
-suit your needs.
-
-@item
-You may also request special extensions just for you. For example:
-@example
-mysql> select MY_CALCULATION(col_name1,col_name2) from tbl_name;
-@end example
-
-@item
-We will provide a binary distribution of all important @strong{MySQL}
-releases for your system, as long as we can get an account on a
-similar system. In the worst case, we may require access to your system
-to be able to create a binary distribution.
-
-@item
-If you can provide accommodations and pay for traveler fares, you can even
-get a @strong{MySQL} developer to visit you and offer you help with your
-troubles. Extended login support entitles you to one personal
-encounter per year, but we are as always very flexible towards our customers!
-@end itemize
-
-
-@node Installing, Compatibility, Licensing and Support, Top
-@chapter @strong{MySQL} ¤Î¥¤¥ó¥¹¥È¡¼¥ë
-
-@menu
-* Getting MySQL:: @strong{MySQL} ¤òÆÀ¤ëÊýË¡
-* Which OS:: @strong{MySQL} ¤¬¥µ¥Ý¡¼¥È¤¹¤ë OS
-* Which version:: »ÈÍѤ¹¤ë @strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó
-* Many versions:: ¥¢¥Ã¥×¥Ç¡¼¥È¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤ëÊýË¡¤È»þ
-* Installation layouts:: ¥¤¥ó¥¹¥È¡¼¥ë¥ì¥¤¥¢¥¦¥È
-* Installing binary:: @strong{MySQL} ¥Ð¥¤¥Ê¥êÇÛÉۤΥ¤¥ó¥¹¥È¡¼¥ë
-* Installing source:: @strong{MySQL} ¥½¡¼¥¹ÇÛÉۤΥ¤¥ó¥¹¥È¡¼¥ë
-* Compilation problems:: Problems compiling?
-* MIT-pthreads:: MIT-pthreads ¤Ë´Ø¤·¤Æ
-* Perl support:: Perl installation comments
-* Source install system issues:: System-specific notes
-* Win32:: Win32 notes
-* OS/2:: OS/2 notes
-* TcX binaries:: TcX binaries
-* Post-installation:: ¥¤¥ó¥¹¥È¡¼¥ë¸å¤ÎÀßÄê¤È¥Æ¥¹¥È
-* Upgrade:: @strong{MySQL} ¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É/¥À¥¦¥ó¥°¥ì¡¼¥É»þ¤ËÆÃÊ̤˹Ԥʤ¦¤³¤È¤¬²¿¤«¤¢¤ë¤«¡©
-@end menu
-
-¤³¤Î¾Ï¤Ç¤Ï¡¢¤É¤Î¤è¤¦¤Ë¤·¤Æ @strong{MySQL} ¤òÆÀ¡¢¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤«¤ò¤Î¤Ù¤Þ¤¹:
-
-@itemize @bullet
-@item
-@strong{MySQL} ¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤ë¥µ¥¤¥È¤Î¥ê¥¹¥È ¢ª
-@ref{Getting MySQL, , Getting @strong{MySQL}}.
-
-@item
-¤É¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤«¤Ï ¢ª @ref{Which OS}.
-
-@item
-@strong{MySQL} ¤Î¤¤¤¯¤Ä¤«¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢¥Ð¥¤¥Ê¥ê¡¢¥½¡¼¥¹Î¾Êý¤ÎÇÛÉÛʪ¤¬¤¢¤ê¤Þ¤¹¡£
-¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ¹¤ë¤Î¤«¡¢¤É¤Î¥¿¥¤¥×¤ò»ÈÍѤ¹¤ë¤«¤ò·è¤á¤ë¤¿¤á¤Ë¤Ï
- ¢ª @ref{Many versions}.
-
-@item
-¥Ð¥¤¥Ê¥ê¤È¥½¡¼¥¹¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤Ä¤¤¤Æ¤Ï ¢ª
- @ref{Installing binary}, ¤È @ref{Installing source}.
-¤½¤ì¤¾¤ì¤Î¥»¥Ã¥È¤Ë¤Ï¡¢¤¢¤Ê¤¿¤¬½Ð¤¯¤ï¤¹¤«¤â¤·¤ì¤Ê¤¤
-¥·¥¹¥Æ¥à¤ËÆÃÍ­¤ÎÌäÂê¤Î¥»¥¯¥·¥ç¥ó¤¬´Þ¤Þ¤ì¤Þ¤¹¡£
-
-@item
-¥¤¥ó¥¹¥È¡¼¥ë¸å¤Ë¹Ô¤¦¤³¤È¤ÎÀâÌÀ¤Ï ¢ª @ref{Post-installation}.
-@strong{MySQL} ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤ª¤¤¤Æ¡¢¥Ð¥¤¥Ê¥ê¤Þ¤¿¤Ï¥½¡¼¥¹ÇÛÉۤˤ«¤«¤ï¤é¤º¡¢
-¤³¤ì¤é¤Î¥×¥í¥·¡¼¥¸¥ã¤ÏŬÍѤ·¤Þ¤¹¡£
-@end itemize
-
-
-@cindex Downloading
-@cindex @strong{MySQL} version
-@cindex Version, latest
-@cindex Getting @strong{MySQL}
-@node Getting MySQL, Which OS, Installing, Installing
-@section @strong{MySQL} ¤òÆÀ¤ëÊýË¡
-
-¸½ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤È¥À¥¦¥ó¥í¡¼¥É¤Î»Ø¼¨¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Ï
-@uref{http://www.mysql.com/, @strong{MySQL} ¥Û¡¼¥à¥Ú¡¼¥¸} ¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯
-¤À¤µ¤¤¡£
-
-¤·¤«¤·¡¢TcX ¤Î¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÀܳ¤Ï¤½¤ó¤Ê¤Ë®¤¯¤¢¤ê¤Þ¤»¤ó; ²¼µ­¤Ë°ìÍ÷¤µ¤ì
-¤¿¥ß¥é¡¼¥µ¥¤¥È¤Î°ì¤Ä¤«¤é¼ÂºÝ¤Ë¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤ò@emph{¤ª´«¤á¤·¤Þ¤¹}¡£
-
-°­¤¤¤Þ¤¿¤ÏÃÙ¤ì¤Æ¤¤¤ë¥ß¥é¡¼¤Ï @email{webmaster@@mysql.com} ¤ËÊó¹ð¤·¤Æ¤¯¤À¤µ
-¤¤¡£
-
-@c START_OF_MIRROR_LISTING
-
-@strong{¥è¡¼¥í¥Ã¥Ñ:}
-
-@itemize @bullet
-@item
-@c EMAIL: sl@iuinfo.tuwien.ac.at (Tony Sprinzl)
-@image{Flags/austria} Austria [Univ. of Technology/Vienna] @
-@uref{http://gd.tuwien.ac.at/db/mysql/, WWW}
-@uref{ftp://gd.tuwien.ac.at/db/mysql/, FTP}
-@item
-@c EMAIL: delian@naturella.com (Delian Delchev)
-@image{Flags/bulgaria} Bulgaria [Naturella] @
-@uref{http://archive.nat.bg/pub/mirror/mysql/, WWW}
-@uref{ftp://ftp.ntrl.net/pub/mirror/mysql/, FTP}
-@item
-@c Added: 990614
-@c EMAIL: vuksan@veus.hr (Vladimir Vuksan)
-@image{Flags/croatia} Croatia [HULK] @
-@uref{http://ftp.linux.hr/pub/mysql/, WWW}
-@uref{ftp://ftp.linux.hr/pub/mysql/, FTP}
-@item
-@c Added: 990614
-@c EMAIL: kas@informatics.muni.cz (Jan Kasprzak)
-@image{Flags/czech-republic} Czech Republic [Masaryk University in Brno] @
-@uref{http://mysql.linux.cz/index.html, WWW}
-@uref{ftp://ftp.fi.muni.cz/pub/mysql/, FTP}
-@item
-@c Added: 990920
-@c EMAIL: <radek@sopik.cz> (Radek Libovicky)
-@image{Flags/czech-republic} Czech Republic [www.sopik.cz] @
-@uref{http://www.mysql.cz/, WWW}
-@item
-@c Added: 000418
-@c EMAIL: <feela@ipex.cz> (Ondrej Feela Filip)
-@image{Flags/czech-republic} Czech Republic [www.gin.cz] @
-@uref{http://mysql.gin.cz/, WWW}
-@uref{ftp://ftp.gin.cz/pub/MIRRORS/www.mysql.com/, FTP}
-@item
-@c removed 991020 (no DNS entry). New name 991026. Added 991121
-@c Statistics at http://mirror.borsen.dk/
-@c EMAIL: mirrorman@borsen.dk (Michael Kyed)
-@image{Flags/denmark} Denmark [Borsen] @
-@uref{ http://mysql.borsen.dk/, WWW}
-@item
-@c EMAIL: mkp@socsci.auc.dk (Martin Kasper Petersen)
-@image{Flags/denmark} Denmark [SunSITE] @
-@uref{http://SunSITE.auc.dk/mysql/, WWW}
-@uref{ftp://SunSITE.auc.dk/pub/databases/mysql/, FTP}
-@c @item
-@c EMAIL: tonu@tradenet.ee (Samuel)
-@c @image{Flags/estonia} Estonia [Tradenet] @
-@c @uref{http://mysql.tradenet.ee, WWW}
-@item
-@c EMAIL: tonu@spam.ee (Tonu Samuel)
-@image{Flags/estonia} Estonia [OKinteractive] @
-@uref{http://mysql.mirror.ok.ee, WWW}
-@item
-@c Changed 990531
-@c EMAIL: Steeve.Devergne@minet.net (Steeve Devergne)
-@image{Flags/france} France [minet] @
-@uref{http://www.minet.net/devel/mysql/, WWW}
-@item
-@c EMAIL: Jaakko.Hyvatti@eunet.fi
-@image{Flags/finland} Finland [EUnet] @
-@uref{http://mysql.eunet.fi/, WWW}
-@item
-@c Added 990829
-@c EMAIL: tomi.hakala@clinet.fi (Tomi Hakala)
-@image{Flags/finland} Finland [clinet] @
-@uref{ftp://ftp.clinet.fi/mirrors/ftp.mysql.org/pub/mysql/, FTP}
-@item
-@c Added 981208
-@c EMAIL: noel@uni-bonn.de (Noel Koethe)
-@image{Flags/germany} Germany [Bonn University, Bonn] @
-@uref{http://www.wipol.uni-bonn.de/MySQL//, WWW}
-@uref{ftp://ftp.wipol.uni-bonn.de/pub/mirror/MySQL/, FTP}
-@item
-@c EMAIL: th@rz.fh-wolfenbuettel.de (Thorsten Ludewig)
-@image{Flags/germany} Germany [Wolfenbuettel] @
-@uref{http://www.fh-wolfenbuettel.de/ftp/pub/database/mysql/, WWW}
-@uref{ftp://ftp.fh-wolfenbuettel.de/pub/database/mysql/, FTP}
-@item
-@c Ok 980114. Removed 981208 (down > 3 days) ok 981214
-@c EMAIL: straub@gks.de (Hans-Peter Straub)
-@image{Flags/germany} Germany [Staufen] @
-@uref{http://mysql.staufen.de/, WWW}
-@item
-@c Added 990614
-@c EMAIL: thomas.rohde@ecrc.de (Thomas Rohde)
-@image{Flags/germany} Germany [Cable & Wireless] @
-@uref{ftp://ftp.ecrc.net/pub/database/mysql/, FTP}
-@item
-@c Added 981208
-@c EMAIL: christias@noc.ntua.gr (Panagiotis Christias)
-@image{Flags/greece} Greece [NTUA, Athens] @
-@uref{http://www.ntua.gr/mysql/, WWW}
-@uref{ftp://ftp.ntua.gr/pub/databases/mysql/, FTP}
-@c @item
-@c File not found 990730
-@c EMAIL: torlasz@xenia.sote.hu (Laszlo L. Tornoc)
-@c @image{Flags/hungary} Hungary [Xenia] @
-@c @uref{http://xenia.sote.hu/ftp/mirrors/www.mysql.com/, WWW}
-@c @uref{ftp://xenia.sote.hu/pub/mirrors/www.mysql.com/,FTP}
-@item
-@c EMAIL: mirrors@gm.is (Tomas Edwardsson)
-@image{Flags/iceland} Island [GM] @
-@uref{http://mysql.gm.is/, WWW}
-@uref{ftp://ftp.gm.is/pub/mysql, WWW}
-@c @item
-@c Out of date 990906
-@c EMAIL: bourbon@netvision.net.il (Zeev Suraski)
-@c @image{Flags/israel} Israel [Netvision] @
-@c @uref{http://mysql.netvision.net.il/, WWW}
-@c @item
-@c Not working 99.03.06
-@c EMAIL: maruzz@matrice.it (Giovanni Maruzzelli)
-@c @image{Flags/italy} Italy [Matrice] @
-@c @uref{http://www.matrice.it/risorse/mysql/, WWW}
-@item
-@c EMAIL: irena@yacc.it
-@image{Flags/italy} Italy [Teta Srl] @
-@uref{http://www.teta.it/mysql/, WWW}
-@item
-@c Added 991121
-@c EMAIL: nick@iol.ie (Nick Hilliard)
-@image{Flags/ireland} Ireland [Ireland On-Line/Dublin] @
-@uref{http://mysql.iol.ie, WWW}
-@uref{ftp://ftp.iol.ie/pub/mysql, FTP}
-@item
-@c EMAIL: W.Sylwestrzak@icm.edu.pl (Wojtek Sylwestrzak)
-@c mirroring nightly at 05:25
-@image{Flags/poland} Poland [Sunsite] @
-@uref{http://sunsite.icm.edu.pl/mysql/, WWW}
-@uref{ftp://sunsite.icm.edu.pl/pub/unix/mysql/, FTP}
-@c @item
-@c EMAIL: melo@co.telenet.pt (Pedro Melo)
-@c Temp out of service (email from Pedro)
-@c @image{Flags/portugal} Portugal [IP] @
-@c @uref{http://mysql.ip.pt, WWW}
-@item
-@c EMAIL: Equipa de suporte do Leirianet <support@leirianet.pt>
-@image{Flags/portugal} Portugal [lerianet] @
-@uref{http://mysql.leirianet.pt, WWW}
-@uref{ftp://ftp.leirianet.pt/pub/mysql/,FTP}
-@item
-@c EMAIL: kuzmin@dn.ru (Roma Kuzmin)
-@image{Flags/russia} Russia [DirectNet] @
-@uref{http://mysql.directnet.ru, WWW}
-@uref{ftp://ftp.dn.ru/pub/MySQL, FTP}
-@c @item
-@c down 990113
-@c EMAIL: nikkic@cityline.ru (Nikki Chumakov)
-@c @image{Flags/russia} Russia [Cityline] @
-@c @uref{ftp://mysql.cityline.ru/pub/mysql, FTP}
-@c @uref{http://mysql.cityline.ru, WWW}
-@c EMAIL: bar@izhcom.ru (Alexander I Barkov)
-@item
-@image{Flags/russia} Russia [IZHCOM] @
-@uref{http://mysql.udm.net/, WWW}
-@uref{ftp://ftp.izhcom.ru/pub/mysql/,FTP}
-@item
-@c Added 990507
-@c EMAIL: demon@gpad.ac.ru (Dima Sivachenko)
-@image{Flags/russia} Russia [Scientific Center/Chernogolovka] @
-@uref{ftp://ftp.chg.ru/pub/databases/mysql/, FTP}
-@item
-@c EMAIL: sebi@dnttm.ro (Sebastian DEAC)
-@image{Flags/romania} Romania [Timisoara] @
-@uref{http://www.dnttm.ro/mysql, WWW}
-@uref{ftp://ftp.dnttm.ro/pub/mysql, FTP}
-@item
-@c EMAIL: tim@lbi.ro (Bogdan Surdu)
-@image{Flags/romania} Romania [Bucharest] @
-@uref{http://www.lbi.ro/MySQL, WWW}
-@uref{ftp://ftp.lbi.ro/mirrors/ftp.tcx.se, FTP}
-
-@c @item
-@c Removed 20000521 because there is no mirror here.
-@c EMAIL: jips@masterd.es (Juan Ignacio P Sacrist)
-@c @image{Flags/spain} Spain [MasterD]
-@c @uref{http://mysql.masterd.es, WWW}
-
-@item
-@c EMAIL: Patrik.Karen@sdi.slu.se (Patrik Karen)
-@c ftp -> remove old files
-@image{Flags/sweden} Sweden [Sunet] @
-@uref{http://ftp.sunet.se/pub/unix/databases/relational/mysql/, WWW}
-@uref{ftp://ftp.sunet.se/pub/unix/databases/relational/mysql/, FTP}
-
-@item
-@c EMAIL: archive@sunsite.cnlab-switch.ch (Thomas Lenggenhager)
-@image{Flags/switzerland} Switzerland [Sunsite] @
-@uref{http://sunsite.cnlab-switch.ch/ftp/mirror/mysql/, WWW}
-@uref{ftp://sunsite.cnlab-switch.ch/mirror/mysql/, FTP}
-
-@c @item
-@c @c simon@oyster.co.uk (Simon Gornall)
-@c @image{Flags/great-britain} UK [Oyster/UK] @
-@c @uref{ftp://ftp.oyster.co.uk/pub/mysql, FTP}
-
-@item
-@c gareth@omnipotent.net (Gareth Watts)
-@image{Flags/great-britain} UK [Omnipotent/UK] @
-@uref{http://mysql.omnipotent.net/, WWW}
-@uref{ftp://mysql.omnipotent.net/, FTP}
-
-@item
-@c keet@mordor.plig.net (Christiaan Keet)
-@image{Flags/great-britain} UK [PLiG/UK] @
-@uref{http://ftp.plig.org/pub/mysql/, WWW}
-@uref{ftp://ftp.plig.org/pub/mysql/, FTP}
-@c @item
-@c unknown
-@c @image{Flags/great-britain} UK [MicroMuse] @
-@c @uref{ftp://ftp.micromuse.co.uk/pub/packages/unix/databases/mysql/, FTP}
-
-@item
-@c lmjm@icparc.ic.ac.uk (Lee McLoughlin)
-@image{Flags/great-britain} UK [SunSITE] @
-@uref{http://sunsite.org.uk/packages/mysql/, WWW}
-@uref{ftp://sunsite.org.uk/packages/mysql/, FTP}
-
-@item
-@c sander@paco.net (Alexander Ivanov)
-@image{Flags/ukraine} Ukraine [PACO] @
-@uref{http://mysql.paco.net.ua, WWW}
-@uref{ftp://mysql.paco.net.ua/, FTP}
-
-@end itemize
-
-@strong{ËÌ¥¢¥á¥ê¥«:}
-
-@itemize @bullet
-@c @item
-@c Not ok 990101 (only to 981007)
-@c EMAIL: sysop@polarcom.com (Seamus Venasse)
-@c @image{Flags/canada} Canada [Polaris Computing] @
-@c @uref{http://mysql.polaris.ca/, WWW}
-
-@item
-@c Ok 980109
-@c EMAIL: wojtek@tryc.on.ca (Wojtjeck Tryc)
-@image{Flags/canada} Canada [Tryc] @
-@uref{http://web.tryc.on.ca/mysql/, WWW}
-
-@item
-@c not updated 990218. Added again 990918
-@c EMAIL: rhooper@cyberus.ca (Roy Hooper)
-@image{Flags/canada} Canada [Cyberus] @
-@uref{http://mysql.cyberus.ca/, WWW}
-@uref{ftp://mysql.cyberus.ca/, FTP}
-
-@item
-@c EMAIL: mleber@he.net (Mike Leber)
-@c Added 980312
-@image{Flags/usa} USA [Hurricane Electric/San Jose] @
-@uref{http://mysql.he.net, WWW}
-
-@item
-@c EMAIL: meltzer@icsnet.com (Jeffrey Meltzer)
-@c Added 000108
-@image{Flags/usa} USA [Meltzer/New York State] @
-@uref{ftp://ftp.meltzer.org/pub/mysql/, FTP}
-
-@c @item
-@c No such directory 990830
-@c EMAIL: tps@users.buoy.com (Tim Sailer)
-@c @image{Flags/usa} USA [Buoy/New York] @
-@c @uref{http://www.buoy.com/mysql/, WWW}
-
-@c @item
-@c EMAIL: db@hpnc.com (Douglas Bowyer)
-@c Added 980107, removed 981124 because of 'file not found'
-@c @image{Flags/usa} USA [Hypernet Communications/Dallas] @
-@c @uref{http://epsilon.hpnc.com/mysql, WWW}
-
-@c @item @c **********************************
-@c Not updated 980106
-@c EX: twh@iquest.net (Thomas Holt) who no longer works there
-@c @image{Flags/usa} USA [IQuest/Indiana] @
-@c @uref{http://mirrors.iquest.net/mysql/, WWW}
-
-@c @item @c **********************************
-@c Only a partial mirror so we exclude it from the list
-@c EX: lindberg@id.wustl.edu (Fred Lindberg)
-@c @image{Flags/usa} USA [Washington University/St. Louis] @
-@c @uref{ftp://ftp.id.wustl.edu/pub/database/mysql/, FTP}
-
-@c removed 991111 -> no answer
-@c @item
-@c EMAIL: andrew@netcasting.net (Andrew Sawyers)
-@c @image{Flags/usa} USA [Netcasting/West Coast] @
-@c @uref{ftp://ftp.netcasting.net/pub/mysql/, FTP}
-
-@c @item
-@c No mirror! 980809 David
-@c EMAIL: savages@savages.com (Shaun Savage)
-@c @image{Flags/usa} USA [Savages/Oregon] @
-@c @uref{http://mysql.savages.com, WWW}
-
-@item
-@c EMAIL: tcobb@staff.circle.net (Troy Cobb)
-@image{Flags/usa} USA [Circle Net/North Carolina] @
-@uref{http://www.mysql.net, WWW}
-
-@item
-@c EMAIL: paul@gina.net (Paul Vining)
-@c mirrors ftp.sunet.se
-@image{Flags/usa} USA [Gina net/Florida] @
-@uref{http://www.gina.net/mysql/, WWW}
-
-@c Out of date 2000-01-08 (Not updated since 1999-10)
-@c @item
-@c EMAIL: wswanson@pingzero.net (Wylie Swanson)
-@c mirrors mysql.org
-@c @image{Flags/usa} USA [pingzero/Los Angeles] @
-@c @uref{http://mysql.pingzero.net/, WWW}
-
-@item
-@c EMAIL: ftpkeeper@mirror.sit.wisc.edu
-@image{Flags/usa} USA [Wisconsin University/Wisconsin] @
-@uref{http://mirror.sit.wisc.edu/mysql/, WWW}
-@uref{ftp://mirror.sit.wisc.edu/mirrors/mysql/, FTP}
-
-@item
-@c EMAIL: ftp-admin@digex.net
-@image{Flags/usa} USA [DIGEX] @
-@uref{ftp://ftp.digex.net/pub/packages/database/mysql/, FTP}
-
-@item
-@c EMAIL: andrew.sawyers@thelinuxstore.com
-@image{Flags/usa} USA [LinuxWired/Scottsdale, AZ] @
-@uref{http://mysql.linuxwired.net/, WWW}
-@uref{ftp://ftp.linuxwired.net/pub/mirrors/mysql/, FTP}
-
-@end itemize
-
-@strong{Æ¥á¥ê¥«:}
-
-@itemize @bullet
-@item
-@c EMAIL: gaiser@matrix.com.br (Roberto Gaiser)
-@image{Flags/brazil} Brazil [Matrix] @
-@uref{http://mysql.matrix.com.br, WWW}
-@item
-@c jpabuyer@vision.cl
-@image{Flags/chile} Chile [Vision] @
-@uref{http://mysql.vision.cl/, WWW}
-
-@c @item
-@c Removed 990730
-@c @c EMAIL: dan@amerikanclaris.com (Danilo Lotina F.)
-@c @image{Flags/chile} Chile [Amerikanclaris] @
-@c @uref{http://www.labs.amerikanclaris.cl/mysql, WWW}
-@c @uref{ftp://ftp.amerikanclaris.cl/pub/mysql, FTP}
-@end itemize
-
-@strong{¥¢¥¸¥¢:}
-
-@itemize @bullet
-@item
-@c EMAIL: mirnshi@netchina.com.cn (Meng Lingbo)
-@image{Flags/china} China [Freecode] @
-@uref{http://mysql.freecode.com.cn, WWW}
-
-@item
-@c EMAIL: Vincent_Fong@innovator.com.hk (Vincent Fong)
-@image{Flags/china} China [Hong Kong] @
-@uref{http://mysql.islnet.net, WWW}
-
-@item
-@c EMAIL: george@netfirm.net (Hongsheng Zhu)
-@image{Flags/china} China [Netfirm] @
-@uref{http://mysql.netfirm.net, WWW}
-
-@item
-@c EMAIL: ahmlhs@nmsvr.chosun.com (Ho-sun Lee)
-@image{Flags/south-korea} Korea [KREONet] @
-@uref{http://linux.kreonet.re.kr/mysql/, WWW}
-
-@c @item
-@c ftp -> remove old files
-@c EX: ahmlhs@nmsvr.chosun.com (Ho-sun Lee)
-@c @image{Flags/south-korea} Korea [KREONet] @
-@c @uref{ftp://linux.kreonet.re.kr/pub/tools/db/mysql/, FTP}
-
-@item
-@c Ok 980805
-@c EMAIL: takeshi@SoftAgency.co.jp
-@image{Flags/japan} Japan [SoftAgency] @
-@uref{http://www.softagency.co.jp/MySQL, WWW}¡¡¡¡
-@uref{http://www.softagency.co.jp/, ÆüËܸìÈÇMySQL¤Î¥À¥¦¥ó¥í¡¼¥É(WWW) }
-
-@c @item
-@c Ok 980109 Removed 990730
-@c EMAIL: satoshi@HappySize.co.jp (Satoshi TATSUOKA)
-@c @image{Flags/japan} Japan [HappySize] @
-@c @uref{http://www.happysize.co.jp/mysql/, WWW}
-@c @uref{ftp://ftp.happysize.co.jp/pub/mysql/, FTP}
-
-@item
-@c Ok 981204
-@c EMAIL: hiroyuki@nucba.ac.jp (hiroyuki kurimoto)
-@image{Flags/japan} Japan [Nagoya Syouka University] @
-@uref{http://mirror.nucba.ac.jp/mirror/mysql, WWW}
-@uref{ftp://mirror.nucba.ac.jp/mirror/mysql, FTP}
-
-@c @item
-@c Removed 990308
-@c EMAIL: terence@com5.net (Terence Chan)
-@c @image{Flags/singapore} Singapore [Com5 Productions] @
-@c @uref{http://mysql.com5.net, WWW}
-@c @uref{ftp://ftp.com5.net/pub/mysql, FTP}
-
-@item
-@c EMAIL: csy@hjc.edu.sg
-@image{Flags/singapore} Singapore [HJC] @
-@uref{http://mysql.hjc.edu.sg, WWW}
-@uref{ftp://ftp.hjc.edu.sg/mysql, FTP}
-
-@item
-@c 991118: Removed because a user complained about that the page contains
-@c nothing about MySQL. 991119: Added again because it is a mirror again
-@c EMAIL: dean@ht.net.tw (Dean Lin)
-@image{Flags/taiwan} Taiwan [HT] @
-@uref{http://mysql.ht.net.tw, WWW}
-
-@item
-@c EMAIL: linda@ttn.com.tw (Linda Hu)
-@image{Flags/taiwan} Taiwan [TTN] @
-@uref{http://mysql.ttn.net, WWW}
-
-@c @item
-@c Ok 980321 No connect -> removed 990730
-@c EMAIL: tby@ccca.nctu.edu.tw (Bao-Yi Tuang)
-@c @image{Flags/taiwan} Taiwan [NCTU] @
-@c @uref{http://mysql.taconet.com.tw, WWW}
-@c @item
-@c Out of date 990905 (~2 months)
-@c @item @c **********************************
-@c Error 980106
-@c EX: WolfySu@acer.net (Wolfy Su)
-@c @image{Flags/taiwan} Taiwan [Acer] @
-@c @uref{http://mysql.acer.net/, WWW}
-@c @item @c **********************************
-@c files to delete
-@c EX: service@wownet.net
-@c @image{Flags/taiwan} Taiwan [Wownet] @
-@c @uref{ftp://ftp.wownet.net/mysql/, FTP}
-@c @item @c **********************************
-@c No conntact 980106
-@c EX: serge@oneway.net
-@c @image{Flags/taiwan} Taiwan [Oneway] @
-@c @uref{ftp://ftp.oneway.com.tw/pub/mysql/, FTP}
-@end itemize
-
-@strong{¥ª¡¼¥¹¥È¥é¥ê¥¢:}
-
-@itemize @bullet
-@item
-@c Added 980610
-@c EMAIL: jason@dstc.edu.au (Jason Andrade)
-@image{Flags/australia} Australia [AARNet/Queensland] @
-@uref{http://mirror.aarnet.edu.au/mysql, WWW}
-@uref{ftp://mirror.aarnet.edu.au/pub/mysql, FTP}
-
-@c @item
-@c Added 980805. Removed 000102 'no such directory'
-@c EMAIL: sdd@ntccc.tas.gov.au (Scott Donovan)
-@c @image{Flags/australia} Australia [Tas] @
-@c @uref{http://ftp.tas.gov.au/mysql, WWW}
-@c @uref{ftp://ftp.tas.gov.au/pub/mysql, FTP}
-
-@item
-@c Ok 980623
-@c EMAIL: samh@bluep.com (Sam Hadzajlic)
-@image{Flags/australia} Australia [Blue Planet/Melbourne] @
-@uref{http://mysql.bluep.com/, WWW}
-@c removed because ftp was not working 990729 & 30
-@c @uref{ftp://mysql.bluep.com/pub/mirror1/mysql/, FTP}
-
-@item
-@c Added 990531
-@c EMAIL: gavin@itworks.com.au (Gavin Cameron)
-@image{Flags/australia} Australia [ITworks Consulting/Victoria] @
-@uref{http://mysql.itworks.com.au, WWW}
-
-@c @item
-@c 980610 Only the toplevel dir!
-@c EMAIL: lucifer@maths.uq.edu.au (David Conran)
-@c @image{Flags/australia} Australia FTP @
-@c @uref{ftp://ftp.sage-au.org.au/pub/database/mysql, [Sage]}
-@end itemize
-
-@strong{¥¢¥Õ¥ê¥«:}
-
-@itemize @bullet
-
-@item
-@c Ok 981010
-@c EMAIL: nick@mweb.com (Nick Rosenberg)
-@image{Flags/south-africa1} South-Africa [Mweb/] @
-@uref{http://www.mysql.mweb.co.za, WWW}
-
-@item
-@c Ok 981010
-@c EMAIL: oskar@is.co.za (Oskar Pearson)
-@image{Flags/south-africa1} South-Africa [The Internet Solution/Johannesburg] @
-@uref{ftp://ftp.is.co.za/linux/mysql/, FTP}
-
-@end itemize
-
-@c END_OF_MIRROR_LISTING
-
-@node Which OS, Which version, Getting MySQL, Installing
-@section @strong{MySQL} ¤¬¥µ¥Ý¡¼¥È¤¹¤ë OS
-
-²æ¡¹¤Ï GNU Autoconf ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢@strong{MySQL} ¤Ï POSIX ¥¹¥ì¥Ã
-¥É¤È C++ ¥³¥ó¥Ñ¥¤¥é¤¬Æ°ºî¤¹¤ëÁ´¤Æ¤Î¿·¤·¤¤¥·¥¹¥Æ¥à¤Ë°Ü¿¢²Äǽ¤Ç¤¹¡£(¥¯¥é¥¤
-¥¢¥ó¥È¥³¡¼¥É¤Î¥³¥ó¥Ñ¥¤¥ë¤À¤±¤Ï C++ ¤òɬÍפȤ·¤Þ¤¹¤¬¡¢¥¹¥ì¥Ã¥É¤ÏɬÍפǤϤ¢¤ê¤Þ¤»¤ó¡£)
-²æ¡¹¤Ï¼«¿È¤Î¥½¥Õ¥È¥¦¥§¥¢¤ò¡¢ºÇ½é¤Ë Sun Solaris (¸½ºß¤Ï 2.5 & 2.6 & 2.7) ¾å¤Ç¡¢¤è¤ê
-¾®¤µ¤¤ÈÏ°Ï¤Ï RedHat Linux 5.0 ¾å¤Ç¡¢»ÈÍѤ·³«È¯¤·¤Þ¤¹¡£
-
-@strong{MySQL} ¤Ï¼¡¤Î OS/¥¹¥ì¥Ã¥É¥Ñ¥Ã¥±¡¼¥¸¤ÎÁȤ߹ç¤ï¤»¤Ç¡¢¥³¥ó¥Ñ¥¤¥ë¤Î
-À®¸ù¤¬Êó¹ð¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Â¿¤¯¤Î OS ¤Ç¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¥¹¥ì¥Ã¥É¤ÏºÇ¿·¥Ð¡¼¥¸¥ç
-¥ó¤À¤±¤ÇÆ°ºî¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@itemize @bullet
-@item
-AIX 4.x with native threads
-@item
-BSDI 2.x with the included MIT-pthreads package
-@item
-BSDI 3.0, 3.1 and 4.x with native threads
-@item
-DEC UNIX 4.x with native threads
-@item
-FreeBSD 2.x with the included MIT-pthreads package
-@item
-FreeBSD 3.x with native threads
-@item
-HP-UX 10.20 with the included MIT-pthreads package
-@item
-HP-UX 11.x with the native threads.
-@item
-Linux 2.0+ with LinuxThreads 0.7.1 or @code{glibc} 2.0.7
-@item
-MacOS X Server
-@item
-NetBSD 1.3/1.4 Intel and NetBSD 1.3 Alpha (Requires GNU make)
-@item
-OpenBSD > 2.5 with native therads. OpenBSD < 2.5 with the included
-MIT-pthreads package
-@item
-OS/2 Warp 3, FixPack 29 and OS/2 Warp 4, FixPack 4
-@item
-SGI Irix 6.x with native threads
-@item
-Solaris 2.5 and above with native threads on SPARC and x86
-@item
-SunOS 4.x with the included MIT-pthreads package
-@item
-SCO OpenServer with a recent port of the FSU Pthreads package
-@item
-SCO UnixWare 7.0.1
-@item
-Tru64 Unix
-@item
-Win95, Win98, NT and Win2000 (the newest version is currently available
-only for users with a @strong{MySQL} license or @strong{MySQL} email
-support). For those who wish to test before they buy, we have released
-@uref{http://www.mysql.com/mysql_w32.htmy,@strong{MySQL} 3.22.33} (an
-older version) as shareware.
-@end itemize
-
-@cindex @strong{MySQL} binary distribution
-@cindex @strong{MySQL} source distribution
-@cindex Release numbers
-@cindex Version, choosing
-@cindex Choosing version
-@node Which version, Many versions, Which OS, Installing
-@section »ÈÍѤ¹¤ë @strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó
-
-make ¤ò¹Ô¤¦Á°¤Ë·è¤á¤ë»ö¤Ï¡¢¤¢¤Ê¤¿¤¬ºÇ¿·¤Î³«È¯¥ê¥ê¡¼¥¹¤ò»ÈÍѤ¹¤ë¤Î¤«¡¢
-¤Þ¤¿¤ÏºÇ¿·¤Î°ÂÄê¥ê¥ê¡¼¥¹¤ò»ÈÍѤ¹¤ë¤Î¤«¤Ç¤¹¡£
-
-@itemize @bullet
-@item
-Ä̾¤¢¤Ê¤¿¤¬ºÇ½é¤Ë @strong{MySQL} ¤ò»È¤¤»Ï¤á¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï¥Ð¥¤¥Ê¥êÇÛÉÛ
-¤¬¤Ê¤¤Â¾¤Î¥·¥¹¥Æ¥à¤Ë @strong{MySQL} ¤ò°Ü¿¢¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¡¢
-²æ¡¹¤Ï³«È¯¥ê¥ê¡¼¥¹ (¸½ºß¤Ï @value{mysql_version}) ¤ÎÁªÂò¤ò
-´«¤á¤Þ¤¹¡£³«È¯¥ê¥ê¡¼¥¹¤Ë¤ÏÉáÄ̤ÏËÜÅö¤Ë°­¤¤¥Ð¥°¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤½¤ì¤Ï¡¢¤¢¤Ê¤¿¤Î¥Þ¥·¥ó¾å¤Ç¡¢
-@code{crash-me} ¤È¥Ù¥ó¥Á¥Þ¡¼¥¯¥Æ¥¹¥È¤Ç´Êñ¤Ë¥Æ¥¹¥È¤Ç¤­¤Þ¤¹¡£
-@xref{Benchmarks}¡£Ãí°Õ: ¤¹¤Ù¤Æ¤Î @strong{MySQL} ¥ê¥ê¡¼¥¹¤Ï¤½¤ì¤¾¤ì¤Î¥ê¥ê¡¼
-¥¹¤ÎÁ°¤Ë @strong{MySQL} ¥Ù¥ó¥Á¥Þ¡¼¥¯¤È¹­ÈϰϤʥƥ¹¥È¥¹¥¤¡¼¥È¤Ç¥Á¥§¥Ã¥¯¤µ¤ì
-¤Þ¤¹¡£
-
-@item
-¤½¤¦¤Ç¤Ê¤¯¤Æ¡¢¸Å¤¤¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤·¤Æ¤¤¤Æ¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤¿¤¤¤±¤ì¤É¤â¡¢
-³«È¯ÈǤϻ¤¿¤¯¤Ê¤¤¾ì¹ç¤Ï¡¢¤¢¤Ê¤¿¤¬»ÈÍѤ·¤Æ¤¤¤ëʪ¤ÈƱ¤¸¥Ö¥é¥ó¥ÁÃæ¤Î
-ºÇ¿·¤Î¤â¤Î(¤¢¤Ê¤¿¤¬»ÈÍѤ·¤Æ¤¤¤ëʪ¤è¤ê¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Îʪ)¤Ë
-¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤Ù¤­¤Ç¤¹¡£ ¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢Ã×̿Ū¤Ê¥Ð¥°¤À¤±¤ò½¤Àµ¤·¡¢
-Èæ³ÓŪ°ÂÁ´¤Ç¾®¤µ¤ÊÊѹ¹¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
-@end itemize
-
-make Á°¤Î£²ÈÖÌܤηèÄê»ö¹à¤Ï¡¢¥½¡¼¥¹ÇÛÉۤȥХ¤¥Ê¥êÇÛÉۤΤɤÁ¤é¤ò»ÈÍѤ¹¤ë¤«¤Ç¤¹:
-
-@itemize @bullet
-@item
-¤¢¤Ê¤¿¤¬¸½ºß¥Ð¥¤¥Ê¥êÇÛÉÛ¤¬Â¸ºß¤¹¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤Ç @strong{MySQL} ¤ò
-¼Â¹Ô¤·¤¿¤¤¤Î¤Ê¤é¡¢¤½¤ì¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£Ä̾¥½¡¼¥¹ÇÛÉÛ¤è¤ê¤â¥¤¥ó¥¹¥È¡¼
-¥ë¤Ï´Êñ¤Ç¤¹¡£
-
-@item
-@strong{MySQL} ¤òºî¤ë C ¤È C++ ¥³¡¼¥É¤òÆɤߤ¿¤¤(¤½¤·¤Æ/¤Þ¤¿¤ÏÊѹ¹¤·¤¿¤¤)
-¾ì¹ç¤Ï¥½¡¼¥¹ÇÛÉÛ¤òÆþ¼ê¤¹¤ë¤Ù¤­¤Ç¤¹¡£¥½¡¼¥¹¥³¡¼¥É¤Ï¤¤¤Ä¤Ç¤âµæ¶Ë¤Î¥Þ¥Ë¥å¥¢
-¥ë¤Ç¤¹¡£¥½¡¼¥¹ÇÛÉۤϥХ¤¥Ê¥êÇÛÉÛ¤è¤ê¤â¿¤¯¤Î¥Æ¥¹¥È¤ÈÎã¤â´Þ¤ó¤Ç¤¤¤Þ¤¹¡£
-@end itemize
-
-@strong{MySQL} ¤Î̿̾ˡ¤Ç¤Ï¡¢¥ê¥ê¡¼¥¹ÈÖ¹æ¤Ï3¤Ä¤Î¿ôÃͤȥµ¥Õ¥£¥Ã¥¯¥¹¤«¤é¤Ê
-¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢@code{mysql-3.21.17-beta} ¤Î¤è¤¦¤Ê¥ê¥ê¡¼¥¹Ì¾¤Ï¼¡¤Î¤è¤¦¤Ë
-²ò¼á¤µ¤ì¤Þ¤¹:
-
-@itemize @bullet
-@item
-ºÇ½é¤Î¿ôÃÍ(@code{3})¤Ï¥Õ¥¡¥¤¥ë·Á¼°¤òɽ¤·¤Þ¤¹¡£Á´¤Æ¤Î¥Ð¡¼¥¸¥ç¥ó 3 ¥ê¥ê¡¼
-¥¹¤ÏƱ¤¸¥Õ¥¡¥¤¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤ò»ý¤Á¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥ó 4 ¤¬¸½¤ì¤¿»þ¡¢Á´¤Æ¤Î
-¥Æ¡¼¥Ö¥ë¤Ï¿·¤·¤¤·Á¼°¤ËÊÑ´¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹ (¤³¤Î¤¿¤á¤ÎÎɤ¤¥Ä¡¼¥ë¤Ï¤â¤Á
-¤í¤ó´Þ¤Þ¤ì¤Þ¤¹)¡£
-
-@item
-2ÈÖÌܤοôÃÍ(@code{21})¤Ï¥ê¥ê¡¼¥¹¥ì¥Ù¥ë¤Ç¤¹¡£Ä̾ï¤ÏÆó¤Ä¤«¤éÁªÂò¤·¤Þ¤¹¡£°ì
-¤Ä¤Ï¥ê¥ê¡¼¥¹/°ÂÄê¥Ö¥é¥ó¥Á¤Ç(¸½ºß¤Ï @code{22})¡¢¤â¤¦°ì¤Ä¤Ï³«È¯¥Ö¥é¥ó¥Á¤Ç¤¹(¸½ºß¤Ï @code{23})¡£
-Ä̾ï¤ÏξÊý¤È¤â°ÂÄê¤Ç¤¹¤¬¡¢³«È¯¥Ð¡¼¥¸¥ç¥ó¤Ï¤­¤Þ¤°¤ì¤Ç¡¢¥É¥­¥å¥á¥ó¥È¤¬¤Ê¤¯¡¢¤¤¤¯¤Ä¤«¤Î¥·
-¥¹¥Æ¥à¤Ç¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ë¼ºÇÔ¤·¤Þ¤¹¡£
-
-@item
-3ÈÖÌܤοôÃÍ(@code{17})¤Ï¥ê¥ê¡¼¥¹¥ì¥Ù¥ëÆâ¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Ç¤¹¡£¤³¤ì¤Ï¿·¤·
-¤¤ÇÛÉÛ¤ÎÅÙ¤ËÁý²Ã¤·¤Þ¤¹¡£ÉáÄ̤Ϥ¢¤Ê¤¿¤ÎÁªÂò¤·¤¿¥ê¥ê¡¼¥¹¥ì¥Ù¥ë¤ÎºÇ¿·¥Ð¡¼¥¸¥ç
-¥ó¤òµá¤á¤Þ¤¹¡£
-
-@item
-¥µ¥Õ¥£¥Ã¥¯¥¹(@code{beta})¤Ï¥ê¥ê¡¼¥¹¤Î°ÂÄê¥ì¥Ù¥ë¤òɽ¤·¤Þ¤¹:
-
-@itemize @minus
-@item
-@code{alpha} ¤Ï¡¢100% ¥Æ¥¹¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¤¤¯¤Ä¤«¤Î¿·¤·¤¤Â礭¤Ê¥³¡¼¥É¥»¥¯
-¥·¥ç¥ó¤¬Â¸ºß¤¹¤ë¤³¤È¤ò¼¨¤·¡¢ÃΤé¤ì¤Æ¤¤¤ë¥Ð¥°¤Ï News Àá¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹
-(Ä̾ï¤Ï¤¢¤ê¤Þ¤»¤ó)¡£@xref{News}¡£Â¿¤¯¤Î alpha ¥ê¥ê¡¼¥¹¤Ë¤Ï¿·¤·¤¤¥³¥Þ
-¥ó¥É¤È³ÈÄ¥¤â¤¢¤ê¤Þ¤¹¡£
-Â礭¤Ê¥³¡¼¥ÉÊѹ¹¤ò´Þ¤à³«È¯Ãæ¤Î¤â¤Î¤Ï¡¢alpha ¥ê¥ê¡¼¥¹¾å¤Ë¸½¤ì¤Þ¤¹¡£¤·¤«¤·
-Á´¤Æ¥ê¥ê¡¼¥¹Á°¤Ë¥Æ¥¹¥È¤µ¤ì¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î @code{MySQL} ¥ê¥ê¡¼¥¹¤Ë¤Ï´ûÃÎ
-¤Î¥Ð¥°¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-
-@item
-@code{beta} ¤ÏÁ´¤Æ¤Î¿·¤·¤¤¥³¡¼¥É¤¬¥Æ¥¹¥È¤µ¤ì¤¿¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£Â礭¤Ê¿·
-¤·¤¤¤â¤Î¤ÏÄɲ䵤ì¤Þ¤»¤ó¡£ÃΤé¤ì¤Æ¤¤¤ë¥Ð¥°¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-alpha ¥Ð¡¼¥¸¥ç¥ó¤Ç¡¢¾¯¤Ê¤¯¤È¤â°ì¥«·î´Ö¡¢Ã×̿Ū¤Ê¥Ð¥°¤¬Êó¹ð¤µ¤ì¤Ê¤¯¤Æ¡¢¸Å
-¤¤¥³¥Þ¥ó¥É¤ò¤è¤ê¿®Íê¤Ç¤­¤Ê¤¯¤¹¤ë¤è¤¦¤Ê¿·¤·¤¤µ¡Ç½¤òÄɲ乤ë·×²è¤¬¤Ê¤¤»þ¤Ë¡¢
-alpha ¤«¤é beta ¤Ë¥Ð¡¼¥¸¥ç¥ó¤¬Êѹ¹¤µ¤ì¤Þ¤¹¡£
-
-@item
-@code{gamma} ¤Ï beta ¤¬¤·¤Ð¤é¤¯¤·¤Æ¡¢Àµ¤·¤¯Æ°¤¯¤è¤¦¤Ë¸«¤¨¤ë¤â¤Î¤Ç¤¹¡£
-¾®¤µ¤Ê½¤Àµ¤À¤±¤¬Äɲ䵤ì¤Þ¤¹¡£
-¤³¤ì¤Ï¿¤¯¤Î¾¤Î²ñ¼Ò¤¬¥ê¥ê¡¼¥¹¤È¸Æ¤Ö¤â¤Î¤Ç¤¹¡£
-
-@item
-¥µ¥Õ¥£¥Ã¥¯¥¹¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢Â¿¤¯¤Î°Û¤Ê¤ë¾ì½ê¤Ç¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤Î¥Ð¥°
-¤ò½ü¤¤¤Æ¥Ð¥°¥ì¥Ý¡¼¥È¤Ê¤·¤Ç¤½¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¤·¤Ð¤é¤¯¤Î´ÖÆ°ºî¤·¤Æ¤¤¤¿¤³¤È¤ò
-°ÕÌ£¤·¤Þ¤¹¡£ Ã×̿Ū¤Ê¥Ð¥°½¤Àµ¤À¤±¤¬¥ê¥ê¡¼¥¹¤ËŬÍѤµ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï²æ¡¹¤¬ stable ¥ê¥ê¡¼¥¹¤È¸Æ¤Ö¤â¤Î¤Ç¤¹¡£
-@end itemize
-@end itemize
-
-@strong{MySQL} ¤ÎÁ´¤Æ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢Èæ³ÓŪ°ÂÁ´¤Ë»ÈÍѤǤ­¤ë¤³¤È¤ò³Î¤«¤á
-¤ë¤¿¤á¡¢²æ¡¹¤Ïɸ½à¥Æ¥¹¥È¤È¥Ù¥ó¥Á¥Þ¡¼¥¯¤òÄ̤·¤Æ³Îǧ¤·¤Æ¤¤¤Þ¤¹¡£É¸½à¥Æ¥¹
-¥È¤Ï°ÊÁ°¤Ë¸«¤Ä¤«¤Ã¤¿Á´¤Æ¤Î¥Ð¥°¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤è¤¦¤Ë³ÈÄ¥¤µ¤ì¤ë¤¿¤á¡¢¥Æ¥¹¥È
-¥¹¥¤¡¼¥È¤Ï¤è¤êÎɤ¯ÊÝ»ý¤µ¤ì¤Þ¤¹¡£
-
-Á´¤Æ¤Î¥ê¥ê¡¼¥¹¤Ï¾¯¤Ê¤¯¤Æ¤â¼¡¤Î¥Æ¥¹¥È¤¬¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤:
-
-@table @asis
-@item ÆâÉô¥Æ¥¹¥È¥¹¥¤¡¼¥È
-¤³¤ì¤Ï¸ÜµÒ¤Î¤¿¤á¤ÎÀ½ÉÊ¥·¥¹¥Æ¥à¤Î°ìÉô¤Ç¤¹¡£Â¿¤¯¤Î¥Æ¡¼¥Ö¥ë¤È²¿É´¤È¤¤¤¦¥á¥¬
-¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
-
-@item @strong{MySQL} ¥Ù¥ó¥Á¥Þ¡¼¥¯¥¹¥¤¡¼¥È
-¤³¤ì¤Ï°ìÈÌŪ¤ÊÈϰϤΥ¯¥¨¥ê¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢ºÇŬ²½¤ÎºÇ¿·¥Ð¥Ã¥Á¤¬¼ÂºÝ
-¤Ë¥³¡¼¥É¤ò¤è¤ê®¤¯ºî¤ì¤ë¤«¤É¤¦¤«¤ò³Îǧ¤¹¤ë¥Æ¥¹¥È¤Ç¤â¤¢¤ê¤Þ¤¹¡£
-@xref{Benchmarks}¡£
-
-@item @code{crash-me} ¥Æ¥¹¥È
-¤³¤ì¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ëµ¡Ç½¤È¡¢¤½¤ÎµöÍÆÎ̤ÈÀ©¸Â¤ò·èÄꤷ¤è
-¤¦¤È¤·¤Þ¤¹¡£@xref{Benchmarks}¡£
-@end table
-
-¾¤Î¥Æ¥¹¥È¤Ï²æ¡¹¤ÎÆâÉôÀ½ÉʴĶ­¤ÇºÇ¿·¤Î @strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤ò²æ¡¹¤¬
-¾¯¤Ê¤¯¤È¤â1¤Ä¤Î¥Þ¥·¥ó¤Ç»ÈÍѤ¹¤ë¤³¤È¤Ç¤¹¡£²æ¡¹¤ÏÆ°ºî¤Î¤¿¤á 100¥®¥¬¥Ð¥¤¥È
-°Ê¾å¤Î¥Ç¡¼¥¿¤ò»ý¤Á¤Þ¤¹¡£
-
-@node Many versions, Installation layouts, Which version, Installing
-@section ¥¢¥Ã¥×¥Ç¡¼¥È¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤ëÊýË¡¤È»þ
-
-@strong{MySQL} ¤Ï TcX ¤Ç¤«¤Ê¤ê®¤¯¿Ê²½¤·¤Æ¤¤¤Æ¡¢²æ¡¹¤Ï¤³¤ì¤ò¾¤Î
-@strong{MySQL} ¥æ¡¼¥¶¤Ë¶¦Í­¤·¤Æ¤â¤é¤¤¤¿¤¤¤Ç¤¹¡£²æ¡¹¤Ï¡¢Â¾¤Î¿Í¤¬É¬ÍפȤ·
-¤Æ¤¤¤ë¤È»×¤ï¤ì¤ë¤È¤Æ¤âÊØÍø¤Êµ¡Ç½¤ò»ý¤Ã¤¿»þ¤Ë¡¢¥ê¥ê¡¼¥¹¤ÎºîÀ®¤ò»î¤ß¤Þ¤¹¡£
-
-²æ¡¹¤Ï¡¢¼ÂÁõ¤¬´Êñ¤Êµ¡Ç½¤òÍ׵᤹¤ë¥æ¡¼¥¶¤Î¼ê½õ¤±¤â»î¤ß¤Þ¤¹¡£²æ¡¹¤Ï¡¢²æ¡¹
-¤Î¥é¥¤¥»¥ó¥¹¥æ¡¼¥¶¤¬µá¤á¤ë¤â¤Î¤Ë¤âÃíÌܤ·¡¢Æä˲桹¤Î³ÈÄ¥ email ¥µ¥Ý¡¼¥È
-¸ÜµÒ¤¬µá¤á¤ë¤â¤Î¤ËÃíÌܤ·¤Æ¡¢Èà¤é¤Î¼ê½õ¤±¤ò»î¤ß¤Þ¤¹¡£
-
-¿·¤·¤¤¥ê¥ê¡¼¥¹¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£News Àá¤Ï¡¢¿·¤·¤¤¥ê¥ê¡¼
-¥¹¤¬¡¢¤¢¤Ê¤¿¤¬ËÜÅö¤Ëµá¤á¤ë²¿¤«¤ò»ý¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò¤¢¤Ê¤¿¤Ë¶µ¤¨¤Þ¤¹¡£
-@xref{News}¡£
-
-²æ¡¹¤Ï @strong{MySQL} ¤Î¹¹¿·»þ¤Ï¼¡¤Î¥Ý¥ê¥·¡¼¤Ë¤·¤¿¤¬¤Ã¤Æ¹Ô¤¤¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¤½¤ì¤¾¤ì¤Î¥Þ¥¤¥Ê¡¼¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¡¢¥Ð¡¼¥¸¥ç¥óʸ»úÎóÃæ¤ÎºÇ¸å¤Î¿ôÃͤ¬Áý²Ã¤·
-¤Þ¤¹¡£¼çÍפʿ·µ¡Ç½¤äÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤È¤Î¥Þ¥¤¥Ê¡¼¤ÊÈó¸ß´¹¤¬¤¢¤Ã¤¿»þ¤Ë¤Ï¡¢¥Ð¡¼
-¥¸¥ç¥óʸ»úÎóÃæ¤Î2ÈÖÌܤοôÃͤ¬Áý²Ã¤·¤Þ¤¹¡£¥Õ¥¡¥¤¥ë·Á¼°¤¬Êѹ¹¤·¤¿»þ¡¢ºÇ½é
-¤Î¿ôÃͤ¬Áý²Ã¤·¤Þ¤¹¡£
-
-@item
-°ÂÄê¤Ë¥Æ¥¹¥È¤µ¤ì¤¿¥ê¥ê¡¼¥¹¤Ïǯ¤ËÌó 1-2 ²ó¸½¤ì¤Þ¤¹¡£¤·¤«¤·¾®¤µ¤Ê¥Ð¥°¤¬¸«
-¤Ä¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ð¥°¥Õ¥£¥Ã¥¯¥¹¤À¤±¤Î¥ê¥ê¡¼¥¹¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤Þ¤¹¡£
-
-@item
-ºî¶ÈÃæ¤Î¥ê¥ê¡¼¥¹¤ÏÌó 1-8 ½µ´ÖËè¤Ë¸½¤ì¤Þ¤¹¡£
-
-@item
-¤¤¤¯¤Ä¤«¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¤¿¤á¤Î¥Ð¥¤¥Ê¥êÇÛÉۤϲ桹¤Ë¤è¤Ã¤Æ¥á¥¸¥ã¡¼¥ê¥ê¡¼
-¥¹¤«¤éºî¤é¤ì¤Þ¤¹¡£Â¾¤Î¿Í¤¬Â¾¤Î¥·¥¹¥Æ¥à¤Î¤¿¤á¤Ë¥Ð¥¤¥Ê¥êÇÛÉÛ¤òºî¤ê¤Þ¤¹¤¬¡¢
-¤ª¤½¤é¤¯ÉÑÈˤǤϤ¢¤ê¤Þ¤»¤ó¡£
-
-@item
-Ä̾¾®¤µ¤Ê¥Ð¥°¤ò¸«¤Ä¤±¤Æ½¤Àµ¤¹¤ë¤È¤¹¤°¤Ë¡¢Í­¸ú¤Ê¥Ñ¥Ã¥Á¤òºî¤ê¤Þ¤¹¡£
-
-@item
-´í¸±¤Ç¤Ï¤Ê¤¤¤±¤ì¤É¤âº¤¤é¤µ¤ì¤ë¥Ð¥°¤Ë¤Ï¡¢²æ¡¹¤ËÃΤ餻¤Æ失¤ì¤ÐÍ­¸ú¤Ê¥Ñ¥Ã
-¥Á¤òºîÀ®¤·¤Þ¤¹¡£¤½¤Î¾¤Î¾ì¹ç¡¢Â礭¤Ê¥Ñ¥Ã¥Á¤ÎÃæ¤Ë¤½¤ì¤é¤Î¿¤¯¤ò·ë¹ç¤·¤Þ¤¹¡£
-
-@item
-¶öÁ³¡¢Ã×̿Ū¤Ê¥Ð¥°¤¬¥ê¥ê¡¼¥¹Ãæ¤Ë¤¢¤ë¾ì¹ç¡¢²æ¡¹¤Ï¿·¤·¤¤¥ê¥ê¡¼¥¹¤ò²Äǽ¤Ê¸Â
-¤ê¤¹¤°¤Ëºî¤ê¤Þ¤¹¡£Â¾¤Î²ñ¼Ò¤â¤½¤¦¤·¤Æ¤â¤é¤¤¤¿¤¤¤Ç¤¹¡£:)
-@end itemize
-
-¸½ºß¤Î°ÂÄê¥ê¥ê¡¼¥¹¤Ï 3.22 ¤Ç¤¹; ²æ¡¹¤Ï¤¹¤Ç¤Ë 3.23 ¤Î³«È¯¤Ë°Ü¹Ô¤·¤Æ¤¤¤Þ¤¹¡£
-¤·¤«¤·¡¢°ÂÄê¥Ð¡¼¥¸¥ç¥ó¤Ç¤â¥Ð¥°¤Ï¤Þ¤À½¤Àµ¤µ¤ì¤Þ¤¹¡£
-²æ¡¹¤Ï¡¢¥Ð¥°½¤Àµ¤È``¹Ô¤Ê¤ï¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤''¤³¤È¤ò̵»ë¤¹¤ë¤è¤¦¤Ê¡¢´°Á´¤Ê
-Åà·ë¤ò¹Í¤¨¤Æ¤¤¤Þ¤»¤ó¡£``´öʬ¤«¤ÎÅà·ë''¤È¤Ï¡¢``¤Û¤È¤ó¤É³Î¼Â¤Ë´û¤ËÆ°ºî¤·¤Æ
-¤¤¤ë¤â¤Î¤Ë±Æ¶Á¤òÍ¿¤¨¤Ê¤¤''¾®¤µ¤Ê¤³¤È¤òÄɲ乤뤫¤â¤·¤ì¤Ê¤¤¤È¤¤¤¦¤³¤È¤ò°Õ
-Ì£¤·¤Þ¤¹¡£
-
-@node Installation layouts, Installing binary, Many versions, Installing
-@section ¥¤¥ó¥¹¥È¡¼¥ë¥ì¥¤¥¢¥¦¥È
-
-¤³¤ÎÀá¤Ç¤Ï¡¢¥Ð¥¤¥Ê¥ê¤È¥½¡¼¥¹ÇÛÉۤΥ¤¥ó¥¹¥È¡¼¥ë¤ÇÀ¸À®¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î
-¥Ç¥Õ¥©¥ë¥È¤Î¥ì¥¤¥¢¥¦¥È¤òÀâÌÀ¤·¤Þ¤¹¡£
-
-¥Ð¥¤¥Ê¥êÇÛÉۤϥ¢¥ó¥Ñ¥Ã¥¯¤¹¤ë¤³¤È¤Ë¤è¤ê¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¡¢¥¤¥ó¥¹¥È¡¼¥ë¾ì½ê
-¤Ï¤¢¤Ê¤¿¤¬ÁªÂò¤·¤¿¾ì½ê(Ä̾ï @file{/usr/local/mysql})¤ÎÃæ¤Î¼¡¤Î¥Ç¥£¥ì¥¯¥È
-¥ê¤òÁªÂò¤·À¸À®¤·¤Þ¤¹:
-
-@multitable @columnfractions .3 .7
-@item @strong{¥Ç¥£¥ì¥¯¥È¥ê} @tab @strong{¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍÆ}
-@item @file{bin} @tab ¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à, @code{mysqld} ¥µ¡¼¥Ð
-@item @file{data} @tab ¥í¥°¥Õ¥¡¥¤¥ë, ¥Ç¡¼¥¿¥Ù¡¼¥¹
-@item @file{include} @tab ¥¤¥ó¥¯¥ë¡¼¥É(¥Ø¥Ã¥À)¥Õ¥¡¥¤¥ë
-@item @file{lib} @tab ¥é¥¤¥Ö¥é¥ê
-@item @file{scripts} @tab @code{mysql_install_db}
-@item @file{share/mysql} @tab ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¥Õ¥¡¥¤¥ë
-@item @file{sql-bench} @tab ¥Ù¥ó¥Á¥Þ¡¼¥¯
-@end multitable
-
-¥½¡¼¥¹ÇÛÉÛ¤Ï configure ¤·¥³¥ó¥Ñ¥¤¥ë¤·¤¿¸å¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©
-¥ë¥È¤Ç¤Ï¥¤¥ó¥¹¥È¡¼¥ë¥¹¥Æ¥Ã¥×¤Ï @file{/usr/local} ÇÛ²¼¤Î¥Õ¥¡¥¤¥ë¤ò¼¡¤Î¥µ
-¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹:
-
-@multitable @columnfractions .3 .7
-@item @strong{¥Ç¥£¥ì¥¯¥È¥ê} @tab @strong{¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍÆ}
-@item @file{bin} @tab ¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤È¥¹¥¯¥ê¥×¥È
-@item @file{include/mysql} @tab ¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë
-@item @file{info} @tab Info ·Á¼°¤Î¥É¥­¥å¥á¥ó¥È
-@item @file{lib/mysql} @tab ¥é¥¤¥Ö¥é¥ê
-@item @file{libexec} @tab @code{mysqld} ¥µ¡¼¥Ð
-@item @file{share/mysql} @tab ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¥Õ¥¡¥¤¥ë
-@item @file{sql-bench} @tab ¥Ù¥ó¥Á¥Þ¡¼¥¯¤È @code{crash-me} ¥Æ¥¹¥È
-@item @file{var} @tab ¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¥í¥°¥Õ¥¡¥¤¥ë
-@end multitable
-
-¥½¡¼¥¹¥¤¥ó¥¹¥È¡¼¥ë¤Î¥ì¥¤¥¢¥¦¥È¤Ï¥Ð¥¤¥Ê¥ê¥¤¥ó¥¹¥È¡¼¥ë¤È¼¡¤ÎÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹:
-
-@itemize @bullet
-@item
-@code{mysqld} ¥µ¡¼¥Ð¤Ï @file{/bin} ¤Ç¤Ï¤Ê¤¯
-@file{libexec} ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£
-@item
-¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê¤Ï @file{data} ¤Ç¤Ï¤Ê¤¯
-@file{var} ¤Ç¤¹¡£
-@item
-@code{mysql_install_db} ¤Ï @file{/usr/local/mysql/scripts} ¤Ç¤Ï¤Ê¤¯
-@file{/usr/local/bin} ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£
-
-@item
-¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï @file{include/mysql} ¤Ç¡¢
-¥é¥¤¥Ö¥é¥ê¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï @file{lib/mysql} ¤Ç¤¹¡£
-@file{include} ¤ä @file{lib} ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-@end itemize
-
-@node Installing binary, Installing source, Installation layouts, Installing
-@section @strong{MySQL} ¥Ð¥¤¥Ê¥êÇÛÉۤΥ¤¥ó¥¹¥È¡¼¥ë
-
-@menu
-* Linux-RPM:: Linux RPM files
-* Building clients:: Building client programs
-* Binary install system issues:: System-specific issues
-@end menu
-
-¼¡¤Ë¤µ¤é¤Ë¾ÜºÙ¤ÊÀâÌÀ¤ò¹Ô¤Ê¤¤¤Þ¤¹:
-
-@strong{MySQL} ¥Ð¥¤¥Ê¥êÇÛÉÛ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥Ä¡¼¥ë¤¬É¬ÍפǤ¹:
-
-@itemize @bullet
-@item
-GNU @code{gunzip}¡£ÇÛÉۤο­Ä¹¤Î¤¿¤á¡£
-
-@item
-ŬÀµ¤Ê @code{tar}¡£ÇÛÉۤΟ³«¤Î¤¿¤á¡£GNU @code{tar} ¤ÏÆ°¤¯¤³¤È¤¬ÃΤé¤ì¤Æ
-¤¤¤Þ¤¹¡£
-@end itemize
-
-@cindex RPM
-@cindex RedHat Package Manager
-Linux ¤Ç¤Ï¡¢Âå¤ï¤ê¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤È¤·¤Æ RPM (RedHat Package
-Manager) ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ @xref{Linux-RPM}.
-
-@c texi2html fails to split chapters if I use strong for all of this.
-ÌäÂ꤬µ¯¤­¤¿¤È¤­¤Ï¡¢@email{mysql@@lists.mysql.com} ¤Ë¼ÁÌä¤òÅê¹Æ¤¹¤ë»þ¤Ë
-@code{mysqlbug} ¤ò@strong{¾ï¤Ë»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤}¡£ÌäÂ꤬¥Ð¥°¤Ç¤Ê¤¤¤È¤·¤Æ
-¤â¡¢@code{mysqlbug} ¤Ï¤¢¤Ê¤¿¤ÎÌäÂê¤ò²ò·è¤¹¤ë½õ¤±¤Ë¤Ê¤ë¤Ç¤¢¤í¤¦¥·¥¹¥Æ¥à¾ð
-Êó¤ò¼ý½¸¤·¤Þ¤¹¡£@code{mysqlbug} ¤ò»ÈÍѤ·¤Ê¤¤¤È¡¢¤¢¤Ê¤¿¤ÎÌäÂê¤Î²ò·è¤òÆÀ¤ë
-²ÄǽÀ­¤¬¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¡ª @code{mysqlbug} ¤Ï¡¢ÇÛÉۤΥ¢¥ó¥Ñ¥Ã¥¯¸å¤Ë
-@file{bin} ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¸«¤Ä¤±¤é¤ì¤Þ¤¹¡£@xref{Bug reports}.
-
-@strong{MySQL} ¥Ð¥¤¥Ê¥êÇÛÉÛ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢»ÈÍѤ¹¤ë¤¿¤á¤Ë¹Ô¤Ê¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤
-´ðËÜŪ¤Ê¥³¥Þ¥ó¥É:
-
-@example
-shell> gunzip < mysql-VERSION-OS.tar.gz | tar xvf -
-shell> ln -s mysql-VERSION-OS mysql
-shell> cd mysql
-shell> scripts/mysql_install_db
-shell> bin/safe_mysqld &
-@end example
-
-¤³¤³¤Ç¤µ¤é¤Ë¾ÜºÙ¤ÊÀâÌÀ¤ò³¤±¤Þ¤¹:
-
-¥Ð¥¤¥Ê¥êÇÛÉۤΥ¤¥ó¥¹¥È¡¼¥ë¤Ë¤Ï¡¢¼¡¤Î¥¹¥Æ¥Ã¥×¤Ë½¾¤¤¡¢¤½¤ì¤«¤é ¥¤¥ó¥¹¥È¡¼
-¥ë¸å¤Î¥»¥Ã¥È¥¢¥Ã¥×¤È¥Æ¥¹¥È¤Î¤¿¤á¤Ë @ref{Post-installation} ¤Ë¿Ê¤ó¤Ç¤¯¤À
-¤µ¤¤¡£
-
-@enumerate
-@item
-ÇÛ²¼¤ËÇÛÉÛ¤ò¥¢¥ó¥Ñ¥Ã¥¯¤·¤¿¤¤¥Ç¥£¥ì¥¯¥È¥ê¤òÁª¤ó¤Ç¡¢¤½¤³¤Ë°Ü¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-°Ê²¼¤ÎÎã¤Ç¤Ï¡¢@file{/usr/local} ÇÛ²¼¤ËÇÛÉÛ¤ò¥¢¥ó¥Ñ¥Ã¥¯¤·¡¢@strong{MySQL}
-¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê @file{/usr/local/mysql} ¤òÀ¸À®¤·¤Þ¤¹¡£(¤·
-¤¿¤¬¤Ã¤Æ¡¢°Ê²¼¤Î»Ø¼¨¤Ï @file{/usr/local} ¤Ë¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¥Ñ¡¼¥ß¥Ã¥·¥ç
-¥ó¤ò»ý¤Ã¤Æ¤¤¤ë¤È¤ß¤Ê¤·¤Þ¤¹¡£¥Ç¥£¥ì¥¯¥È¥ê¤¬¥×¥í¥Æ¥¯¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
-@code{root} ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤Ê¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£)
-
-@item
-ÇÛÉÛ¥Õ¥¡¥¤¥ë @ref{Getting MySQL, , Getting @strong{MySQL}}. ¤Ë¥ê¥¹¥È¤µ¤ì¤¿¥µ¥¤¥È¤Î°ì¤Ä¤«¤éÆÀ¤Æ¤¯¤À¤µ¤¤¡£
-
-@strong{MySQL} ¥Ð¥¤¥Ê¥êÇÛÉۤϰµ½Ì¤µ¤ì¤¿ @code{tar} ¥¢¡¼¥«¥¤¥Ö¤È¤·¤ÆÄó¶¡
-¤µ¤ì¡¢@file{mysql-VERSION-OS.tar.gz} ¤Î¤è¤¦¤Ê̾Á°¤ò»ý¤Á¤Þ¤¹¡£¤³¤³¤Ç
-@code{VERSION} ¤Ï¿ôÃÍ(Î㤨¤Ð¡¢@code{3.21.15})¤Ç¡¢@code{OS} ¤ÏÇÛÉÛ¤¬°Õ¿Þ
-¤·¤Æ¤¤¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¼ïÎà¤òɽ¤·¤Þ¤¹(Î㤨¤Ð
-@code{pc-linux-gnu-i586})¡£
-
-@item
-ÇÛÉÛ¤ò¥¢¥ó¥Ñ¥Ã¥¯¤·¡¢¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¤òÀ¸À®¤·¤Æ¤¯¤À¤µ¤¤:
-
-@example
-shell> gunzip < mysql-VERSION-OS.tar.gz | tar xvf -
-shell> ln -s mysql-VERSION-OS mysql
-@end example
-
-ºÇ½é¤Î¥³¥Þ¥ó¥É¤Ï @file{mysql-VERSION-OS} ¤È¤¤¤¦Ì¾Á°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÀ¸À®
-¤·¤Þ¤¹¡£ÆóÈÖÌܤΥ³¥Þ¥ó¥É¤Ï¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤òºîÀ®¤·¤Þ
-¤¹¡£¤³¤ì¤Ï¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¤ò @file{/usr/local/mysql} ¤È¤·¤Æ¡¢¤è
-¤ê´Êñ¤Ë»²¾È¤µ¤»¤ë¤¿¤á¤Ç¤¹¡£
-
-@item
-¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤Ã¤Æ¤¯¤À¤µ¤¤:
-
-@example
-shell> cd mysql
-@end example
-
-¤¤¤¯¤Ä¤«¤Î¥Õ¥¡¥¤¥ë¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤¬ @code{mysql} ¥Ç¥£¥ì¥¯¥È¥êÃæ¤Ë¸«¤Ä
-¤±¤é¤ì¤Þ¤¹¡£¥¤¥ó¥¹¥È¡¼¥ëÌÜŪ¤ÎºÇ¤â½ÅÍפʤâ¤Î¤Ï @file{bin} ¤È
-@file{scripts} ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£
-
-@table @file
-@item bin
-@tindex PATH environment variable
-@tindex Environment variable, PATH
-¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤È¥µ¡¼¥Ð¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£¥·¥§¥ë¤¬
-@strong{MySQL} ¥×¥í¥°¥é¥à¤òÀµ¤·¤¯¸«¤Ä¤±¤é¤ì¤ë¤è¤¦¤Ë¡¢¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î
-¥Õ¥ë¥Ñ¥¹Ì¾¤ò¤¢¤Ê¤¿¤Î @code{PATH} ´Ä¶­ÊÑ¿ô¤ËÄɲ乤٤­¤Ç¤¹¡£@xref{Environment variables}.
-
-@item scripts
-¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï @code{mysql_install_db} ¥¹¥¯¥ê¥×¥È¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£¤³
-¤ì¤Ï¥µ¡¼¥Ð¥¢¥¯¥»¥¹¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò½é´ü²½¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-@end table
-
-@item
-@code{mysqlaccess} ¤ò»ÈÍѤ·¡¢¤«¤Ä @strong{MySQL} ÇÛÉÛ¤òÈóɸ½à¤Î¾ì½ê¤Ë»ý
-¤Á¤¿¤¤¾ì¹ç¤Ï¡¢@code{mysqlaccess} ¤¬ @code{mysql} ¥¯¥é¥¤¥¢¥ó¥È¤ò¸«¤Ä¤±¤è
-¤¦¤È¤¹¤ë¾ì½ê¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£@file{bin/mysqlaccess} ¥¹¥¯¥ê¥×¥È
-¤Î 18 ¹ÔÌÜÉÕ¶á¤òÊÔ½¸¤·¤Æ¤¯¤À¤µ¤¤¡£¼¡¤Î¤è¤¦¤Ê¹Ô¤òõ¤·¤Æ¤¯¤À¤µ¤¤:
-
-@example
-$MYSQL = '/usr/local/bin/mysql'; # path to mysql executable
-@end example
-
-¥Ñ¥¹¤ò @code{mysql} ¤¬¼ÂºÝ¤Ë¥·¥¹¥Æ¥à¾å¤Ë¤ª¤«¤ì¤Æ¤¤¤ë¾ì½ê¤ò¼¨¤¹¤è¤¦¤ËÊѹ¹
-¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤ò¹Ô¤Ê¤ï¤Ê¤¤¤È¡¢@code{mysqlaccess} ¼Â¹Ô»þ¤Ë
-@code{broken pipe} ¥¨¥é¡¼¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-
-@item
-@strong{MySQL} µö²Ä¥Æ¡¼¥Ö¥ë¤òºîÀ®¤·¤Þ¤¹
- (¤³¤ì¤Ï½é¤á¤Æ @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¤­¤À¤±¹Ô¤¤¤Þ¤¹):
-@example
-shell> scripts/mysql_install_db
-@end example
-
-3.22.10°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î @strong{MySQL} ¤Ï¡¢@code{mysql_install_db}. ¼Â¹Ô»þ¤Ë
-@strong{MySQL} ¤òµ¯Æ°¤·¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¤â¤Ï¤ä¤³¤ì¤Ïµ¯Æ°¤·¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿
-
-@item
-Perl @code{DBI}/@code{DBD} ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥µ¥Ý¡¼¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤
-¾ì¹ç¡¢@ref{Perl support} ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-@strong{MySQL} ¤ò¥Þ¥·¥óµ¯Æ°»þ¤Ë¼«Æ°Åª¤Ë³«»Ï¤·¤¿¤¤¾ì¹ç¡¢
-@code{support-files/mysql.server} ¤ò¥·¥¹¥Æ¥à¤Î¥¹¥¿¡¼¥È¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¾ì½ê¤Ë¥³
-¥Ô¡¼¤·¤Æ¤¯¤À¤µ¤¤¡£¤µ¤é¤Ê¤ë¾ðÊó¤Ï @code{support-files/mysql.server} ¥¹¥¯¥ê¥×¥È¼«¿È
-¤ÎÃæ¤È¡¢@ref{Automatic start} ¤Ë¸«¤Ä¤±¤é¤ì¤Þ¤¹¡£
-@end enumerate
-
-Á´¤Æ¤¬¥¢¥ó¥Ñ¥Ã¥¯¤µ¤ì¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¸å¡¢ÇÛÉۤνé´ü²½¤È¥Æ¥¹¥È¤ò¹Ô¤Ê¤¦
-¤Ù¤­¤Ç¤¹¡£
-
-@strong{MySQL} ¥µ¡¼¥Ð¡¼¤Ï°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç³«»Ï¤Ç¤­¤Þ¤¹¡§
-
-@example
-shell> bin/safe_mysqld &
-@end example
-
-@xref{Post-installation}.
-
-@cindex RPM
-@cindex RedHat Package Manager
-@c This node name is special
-@node Linux-RPM, Building clients, Installing binary, Installing binary
-@subsection Linux RPM notes
-
-¡ÊÌõÃí¡§¤â¤· RedHat °Ê³°¤Î Linux ¤ò»ÈÍѤ·¤Æ¤ª¤ê¡¢.rpm ¤ò¡¢¼«Ê¬¤¬»ÈÍѤ·¤Æ¤¤¤ë
-¥Ñ¥Ã¥±¡¼¥¸´ÉÍý¥·¥¹¥Æ¥à¤Î´ÉÍý²¼¤Ë¤ª¤­¤¿¤¤¾ì¹ç¡¢@strong{alien : http://kitenet.net/programs/alien/} ¤È¤¤¤¦¥Ä¡¼¥ë¤ò
-»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤Ï RPM(Debian, Slackware) ¤ò¼«Ê¬¤¬»ÈÍѤ·¤Æ¤¤¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î·Á¼°¤ËÊÑ´¹¤·¤Æ¤¯¤ì¤Þ¤¹¡£
-¡Ë
-
-RPM ¤ò»ÈÍѤ·¤Æ @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤ò¿ä¾©¤·¤Þ¤¹¡£
-@strong{MySQL} RPMS ¤Ï RedHat 5.2 ¤ÇºîÀ®¤·¤Æ¤¤¤Þ¤¹¤¬¡¢
-¾¤Î @code{rpm} ¤È @code{glibc} ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë Linux ¤Ç¤âÆ°ºî¤¹¤ë¤Ç¤·¤ç¤¦¡£
-
-RPM file ¤Ç¤ÎÌäÂê, Î㤨¤Ð @code{Sorry, the host
-'xxxx' could not be looked up} ¤Ï¡¢see @ref{Binary notes-Linux}.
-
-°Ê²¼¤¬»ÈÍѤ¹¤ë¤Ç¤¢¤í¤¦ RPM files ¤Ç¤¹:
-
-@itemize @bullet
-@item @code{MySQL-VERSION.i386.rpm}
-
-@strong{MySQL} ¥µ¡¼¥Ð¡¼¡£
-¤¿¤Àñ¤Ë¾¤Î¥Þ¥·¥ó¾å¤ÇÁö¤Ã¤Æ¤¤¤ë @strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËÀܳ¤¹¤ë¤À¤±¤Ê¤é¡¢
-¤³¤ì¤ÏÉÔÍפǤ·¤ç¤¦¡£
-
-@item @code{MySQL-client-VERSION.i386.rpm}
-
-@strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥Èɸ½à¥×¥í¥°¥é¥à¡£
-¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¤Û¤È¤ó¤É¤Î¾ì¹ç¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-
-@item @code{MySQL-bench-VERSION.i386.rpm}
-
-¥Ù¥ó¥Á¥Þ¡¼¥¯¡£perl msql-mysql-modules RPM ¤¬É¬Íס£
-
-@item @code{MySQL-devel-VERSION.i386.rpm}
-
-¾¤Î @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È(perl¥â¥¸¥å¡¼¥ë¤Î¤è¤¦¤Ê)¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Î¤ËɬÍפÊ
-¥é¥¤¥Ö¥é¥ê¡¼¤È¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ò´Þ¤ß¤Þ¤¹¡£
-
-@item @code{MySQL-VERSION.src.rpm}
-
-¾åµ­Á´¤Æ¤Î¥½¡¼¥¹¡£¤³¤ì¤Ï¾¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ãÍÑ¤Ë RPM ¤òºîÀ®¤¹¤ë¾ì¹ç¤Ë¤Î¤ßɬÍפǤ·¤ç¤¦¡£
-(Î㤨¤Ð Alpha or SPARC).
-@end itemize
-
-RPM ¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤ë¥Õ¥¡¥¤¥ë¤ò¤ß¤ë¤Ë¤Ï:
-@example
-shell> rpm -qpl MySQL-VERSION.i386.rpm
-@end example
-
-¥¤¥ó¥¹¥È¡¼¥ë¤ÎºÇ¾®¤ÎÊýË¡¡§
-
-@example
-shell> rpm -i MySQL-VERSION.i386.rpm MySQL-client-VERSION.i386.rpm
-@end example
-
-¥¯¥é¥¤¥¢¥ó¥È¥Ñ¥Ã¥±¡¼¥¸¤À¤±¤ò¥¤¥ó¥¹¥È¡¼¥ë¡§
-
-@example
-shell> rpm -i MySQL-client-VERSION.i386.rpm
-@end example
-
-RPM ¤Ï¥Ç¡¼¥¿¤ò @file{/var/lib/mysql} ¤ËÊݸ¤·¤Þ¤¹¡£
-RPM ¤Ïµ¯Æ°»þ¤Ë¥µ¡¼¥Ð¡¼¤òΩ¤Á¤¢¤²¤ë¤è¤¦¤Ë¡¢@file{/etc/rc.d/} ¤ËÅÐÏ¿¤·¤Þ¤¹¡£
-(This means that if you have performed a previous
-installation, you may want to make a copy of your previously-installed
-@strong{MySQL} startup file if you made any changes to it, so you don't lose
-your changes.)
-
-After installing the RPM file(s), the @file{mysqld} daemon should be running
-and you should now be able to start using @strong{MySQL}.
-@xref{Post-installation}.
-
-If something goes wrong, can find more information in the binary
-installation chapter. @xref{Installing binary}.
-
-@cindex Client programs, building
-@cindex Linking
-@node Building clients, Binary install system issues, Linux-RPM, Installing binary
-@subsection ¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤Î¥Ó¥ë¥É
-
-¼«Ê¬¤Ç½ñ¤¤¤¿¤«¡¢Âè»°¼Ô¤¬ºîÀ®¤·¤¿ @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¡¢
-@code{-lmysqlclient} ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¥ê¥ó¥¯¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤Þ¤¿ @code{-L} ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¡¢¥é¥¤¥Ö¥é¥ê¤¬¤É¤³¤Ë¤¢¤ë¤«»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£
-Î㤨¤Ð¥é¥¤¥Ö¥é¥ê¤¬ @file{/usr/local/mysql/lib} ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤Ê¤é¤Ð¡¢
-¥ê¥ó¥¯¤Î»þ¤Ë @code{-L/usr/local/mysql/lib -lmysqlclient} ¤È»ØÄꤷ¤Þ¤¹¡£
-
-@strong{MySQL} ¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¥¯¥é¥¤¥¢¥ó¥È¤Î¤¿¤á¤Ë¡¢
-¤¢¤Ê¤¿¤¬¤½¤ì¤é¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë»þ¤Ë¤Ï¡¢@code{-I} ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤»ö¤â¤¢¤ê¤Þ¤¹¡£
-(Î㤨¤Ð, @code{-I/usr/local/mysql/include})
-
-
-@node Binary install system issues, , Building clients, Installing binary
-@subsection System ÆÃÍ­¤ÎÌäÂê
-
-@menu
-* Binary notes-Linux:: Linux notes
-* Binary notes-HP-UX:: HP-UX notes
-@end menu
-
-°Ê²¼¤Î¥»¥¯¥·¥ç¥ó¤Ç¤ÏÆÃÄê¤Î¥·¥¹¥Æ¥à¾å¤Ëµ¯¤³¤ë¤Èǧ¤á¤é¤ì¤¿¤¤¤¯¤Ä¤«¤ÎÌäÂê¤Î¤ò¼¨¤·¤Þ¤¹¡£
-
-@node Binary notes-Linux, Binary notes-HP-UX, Binary install system issues, Binary install system issues
-@subsubsection Linux notes
-
-TcX ¤Î¥Ð¥¤¥Ê¥ê¥ê¥ê¡¼¥¹¤Ï @code{-static} ¤Ç¥ê¥ó¥¯¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤ì¤Ï¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à¤¬
-¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¥é¥¤¥Ö¥é¥ê¡¼¤ò»ÈÍѤ·¤Æ¤¤¤ë¤«µ¤¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£
-¤è¤Ã¤Æ¡¢LinuxThreads ¤â¤³¤Î¾ì¹çɬÍפ¢¤ê¤Þ¤»¤ó¡£
-@code{-static} ¤Ç¥ê¥ó¥¯¤µ¤ì¤¿¥×¥í¥°¥é¥à¤Î¥µ¥¤¥º¤Ï
-¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥¯¤µ¤ì¤¿¥×¥í¥°¥é¥à¤è¤êÂ礭¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢¾¯¤·(3-5%)®¤¯¤Ê¤ê¤Þ¤¹¡£
-¤·¤«¤·°ì¤Ä¤ÎÌäÂê¤È¤·¤Æ¡¢¤³¤Î¥¹¥¿¥Æ¥£¥Ã¥¯¥ê¥ó¥¯¤µ¤ì¤¿¥×¥í¥°¥é¥à¤Ç¤Ï¡¢
-¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô(UDF)¤¬»ÈÍѤǤ­¤Ê¤¤¤³¤È¤Ç¤¹¡£
-¤â¤· UDF ¤ò»ÈÍѤ¹¤ë(½ñ¤¯)¾ì¹ç(C, C++¤È¤«¤Ç)¡¢¼«Ê¬¼«¿È¤Ç @strong{MySQL} ¤ò
-¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥¯¤ò»ÈÍѤ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-¤â¤· @code{glibc2} ¤Ç¤Ï¤Ê¤¯ libc5 ¤Î¥·¥¹¥Æ¥à¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢
-¤³¤Î¥Ð¥¤¥Ê¥ê¥ê¥ê¡¼¥¹¤Ç¤Ï¥Û¥¹¥È̾²ò·è¤Ègetpwnam()¤Ë¤¤¤¯¤Ä¤«ÌäÂ꤬½Ð¤Þ¤¹¡£
-(¤³¤ì¤Ï @code{glibc} ¤¬¥Û¥¹¥È̾²ò·è¤Ègetwpent()¤Ë¤¤¤¯¤Ä¤«¤Î³°Éô¥é¥¤¥Ö¥é¥ê¤Ë
-°Í¸¤·¤Æ¤¤¤ë¤¿¤á¤Ç¡¢¤¿¤È¤¨ @code{-static} ¥ê¥ó¥¯¤·¤Æ¤â²ò·è¤·¤Þ¤»¤ó).
-¤³¤Î¾ì¹ç¡¢@code{mysql_install_db} ¼Â¹Ô»þ¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬½Ð¤ë¤Ç¤·¤ç¤¦¡§
-
-@example
-Sorry, the host 'xxxx' could not be looked up
-@end example
-
-¤¢¤ë¤¤¤Ï¡¢@code{--user} ¥ª¥×¥·¥ç¥ó¤Ç mysqld ¤òµ¯Æ°¤·¤è¤¦¤È¤·¤¿¤È¤­¡¢
-°Ê²¼¤Î¥¨¥é¡¼¤¬½Ð¤ë¾ì¹ç¡§
-
-@example
-getpwnam: No such file or directory
-@end example
-
-¤³¤ÎÌäÂê¤Ï¡¢°Ê²¼¤Î¤¦¤Á¤Î¤É¤ì¤«¤ÎÊýË¡¤Ç²ò·è¤Ç¤­¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-@strong{MySQL} ¥½¡¼¥¹ÇÛÉÛ¤òÆþ¼ê¤·( RPM ¤« @code{tar} )¡¢Âå¤ï¤ê¤Ë
-¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
-
-@item
-@code{mysql_install_db --force} ¤ò¼Â¹Ô¤·¤Þ¤¹; ¤³¤ì¤Ï @code{mysql_install_db} ¤Ë
-¤«¤«¤ì¤Æ¤¤¤ë @code{resolveip} ¥Æ¥¹¥È¤ò¼Â¹Ô¤·¤Þ¤»¤ó¡£
-¤Þ¤¿µö²Ä¥Æ¡¼¥Ö¥ëÆâ¤Ç¥Û¥¹¥È̾¤¬»È¤¨¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¨
-¥Û¥¹¥È̾¤Ç¤Ê¤¯ IP ¥¢¥É¥ì¥¹¤ÇÅÐÏ¿¤·¤Þ¤¹ (@code{localhost} ¤Ï½ü).
-¤â¤· @code{--force} ¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤è¤¦¤Ê¸Å¤¤ @strong{MySQL} ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢
-¥¨¥Ç¥£¥¿¡¼¤Ç¡¢@code{resolveip} ¥Æ¥¹¥È¤ò @code{mysql_install} ¤«¤éºï½ü¤·¤Þ¤¹¡£
-@item
-mysqld ¤ò @code{--user} ¤ÎÂå¤ï¤ê¤Ë @code{su} ¤Çµ¯Æ°¡£
-@end itemize
-
-Linux-Intel binary ¤È @strong{MySQL} RPM ¥ê¥ê¡¼¥¹¤Ï¡¢¤â¤Ã¤È¤â®¤¯¤Ê¤ë¤è¤¦¤Ë
-Ä´À°¤µ¤ì¤Æ¤¤¤Þ¤¹¡£²æ¡¹¤Ï¤â¤Ã¤È¤âÁ᤯°ÂÄꤷ¤¿¥³¥ó¥Ñ¥¤¥é¡¼¤ò¾ï¤Ë»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£
-
-
-@node Binary notes-HP-UX, , Binary notes-Linux, Binary install system issues
-@subsubsection HP-UX notes
-
-Some of the binary distributions of @strong{MySQL} for HP-UX is
-distributed as an HP depot file and as a tar file. To use the depot
-file you must be running at least HP-UX 10.x to have access to HP's
-software depot tools.
-
-The HP version of @strong{MySQL} was compiled on an HP 9000/8xx server
-under HP-UX 10.20, and uses MIT-pthreads. It is known to work
-well under this configuration.
-@strong{MySQL} 3.22.26 and newer can also be built with HP's native
-thread package.
-
-Other configurations that may work:
-
-@itemize @bullet
-@item
-HP 9000/7xx running HP-UX 10.20+
-@item
-HP 9000/8xx running HP-UX 10.30
-@end itemize
-
-The following configurations almost definitely won't work:
-
-@itemize @bullet
-@item
-HP 9000/7xx or 8xx running HP-UX 10.x where x < 2
-@item
-HP 9000/7xx or 8xx running HP-UX 9.x
-@end itemize
-
-To install the distribution, use one of the
-commands below, where @code{/path/to/depot} is the full path to the depot file:
-
-@itemize @bullet
-@item
-To install everything, including the server, client and development tools:
-
-@example
-shell> /usr/sbin/swinstall -s /path/to/depot mysql.full
-@end example
-
-@item
-To install only the server:
-
-@example
-shell> /usr/sbin/swinstall -s /path/to/depot mysql.server
-@end example
-
-@item
-To install only the client package:
-
-@example
-shell> /usr/sbin/swinstall -s /path/to/depot mysql.client
-@end example
-
-@item
-To install only the development tools:
-
-@example
-shell> /usr/sbin/swinstall -s /path/to/depot mysql.developer
-@end example
-@end itemize
-
-The depot places binaries and libraries in @file{/opt/mysql} and data in
-@file{/var/opt/mysql}. The depot also creates the appropriate entries in
-@file{/sbin/init.d} and @file{/sbin/rc2.d} to start the server automatically
-at boot time. Obviously, this entails being @code{root} to install.
-
-To install the HP-UX tar distribution, you must have a copy of GNU @code{tar}.
-
-@node Installing source, Compilation problems, Installing binary, Installing
-@section @strong{MySQL} ¥½¡¼¥¹ÇÛÉۤΥ¤¥ó¥¹¥È¡¼¥ë
-
-¥½¡¼¥¹¤«¤é @strong{MySQL} ¤òºîÀ®¤·¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤¿¤á¤Ë¤Ï¼¡¤Î¥Ä¡¼¥ë¤¬É¬
-ÍפǤ¹:
-
-@itemize @bullet
-@item
-GNU @code{gunzip}¡£ÇÛÉۤο­Ä¥¤Î¤¿¤á¡£
-
-@item
-ŬÀµ¤Ê @code{tar}¡£ÇÛÉۤΟ³«¤Î¤¿¤á¡£GNU @code{tar} ¤ÏÆ°¤¯¤³¤È¤¬ÃΤé¤ì¤Æ
-¤¤¤Þ¤¹¡£
-
-@item
-ANSI C++ ¥³¥ó¥Ñ¥¤¥é¡£@code{gcc} >= 2.8.1, @code{egcs} >= 1.0.2, SGI C++,
-SunPro C++ ¤ÏƯ¤¯¤³¤È¤¬ÃΤé¤ì¤Æ¤¤¤ë¥³¥ó¥Ñ¥¤¥é¤Î¤¤¤¯¤Ä¤«¤Ç¤¹¡£
-@code{libg++} ¤Ï @code{gcc} »ÈÍÑ»þ¤Ë¤ÏɬÍפǤϤ¢¤ê¤Þ¤»¤ó¡£@code{gcc}
-2.7.x ¤Ï¡¢@file{sql/sql_base.cc} ¤Î¤è¤¦¤Ê¡¢´°Á´¤ËÀµÅö¤Ê C++ ¥Õ¥¡¥¤¥ë¤Î¤¤
-¤¯¤Ä¤«¤ò¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Ê¤¤¤È¤¤¤¦¥Ð¥°¤¬¤¢¤ê¤Þ¤¹¡£@code{gcc} 2.7.x ¤À¤±¤·
-¤«¤Ê¤±¤ì¤Ð¡¢@strong{MySQL} ¤ò¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤ë¤è¤¦¤Ë @code{gcc} ¤ò¥¢¥Ã¥×
-¥°¥ì¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-@item
-Îɤ¤ @code{make} ¥×¥í¥°¥é¥à¡£GNU @code{make} ¤Ï¾ï¤Ë¿ä¾©¤µ¤ì¡¢»þ¡¹¤ÏɬÍ×
-¤È¤µ¤ì¤Þ¤¹¡£ÌäÂ꤬¤¢¤ì¤Ð GNU @code{make} 3.75 °Ê¾å¤ò»î¤¹¤³¤È¤ò¤ª´«¤á¤·¤Þ
-¤¹¡£
-@end itemize
-
-@c texi2html fails to split chapters if I use strong for all of this.
-ÌäÂ꤬µ¯¤­¤¿¤È¤­¤Ï¡¢@email{mysql@@lists.mysql.com} ¤Ë¼ÁÌä¤òÅê¹Æ¤¹¤ë»þ¤Ë
-@strong{@code{mysqlbug} ¤ò¾ï¤Ë»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤}¡£ÌäÂ꤬¥Ð¥°¤Ç¤Ê¤¤¤È¤·¤Æ
-¤â¡¢@code{mysqlbug} ¤Ï¤¢¤Ê¤¿¤ÎÌäÂê¤ò²ò·è¤¹¤ë½õ¤±¤Ë¤Ê¤ë¤Ç¤¢¤í¤¦¥·¥¹¥Æ¥à¾ð
-Êó¤ò¼ý½¸¤·¤Þ¤¹¡£@code{mysqlbug} ¤ò»ÈÍѤ·¤Ê¤¤¤È¡¢¤¢¤Ê¤¿¤ÎÌäÂê¤Î²ò·è¤òÆÀ¤ë
-²ÄǽÀ­¤¬¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¡ª @code{mysqlbug} ¤Ï¡¢ÇÛÉۤΥ¢¥ó¥Ñ¥Ã¥¯¸å¤Ë
-@file{scripts} ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¸«¤Ä¤±¤é¤ì¤Þ¤¹¡£@xref{Bug reports}¡£
-
-@menu
-* Quick install:: ÁÇÁᤤ¥¤¥ó¥¹¥È¡¼¥ë¤Î³µÍ×
-* Applying patches:: ¥Ñ¥Ã¥Á¤ÎŬÍÑ
-* configure options:: ŵ·¿Åª¤Ê @code{configure} ¥ª¥×¥·¥ç¥ó
-@end menu
-
-@node Quick install, Applying patches, Installing source, Installing source
-@subsection ÁÇÁᤤ¥¤¥ó¥¹¥È¡¼¥ë¤Î³µÍ×
-
-@strong{MySQL} ¤ò¥½¡¼¥¹¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤¿¤á¤Ë¹Ô¤Ê¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤
-´ðËÜŪ¤Ê¥³¥Þ¥ó¥É(from an unpacked @code{tar} file):
-
-@example
-shell> ./configure
-shell> make
-shell> make install
-shell> scripts/mysql_install_db
-shell> /usr/local/mysql/bin/safe_mysqld &
-@end example
-
-RPM ¥½¡¼¥¹¤«¤é³«»Ï¤¹¤ë¾ì¹ç¤Ï¡§
-
-@example
-shell> rpm --rebuild MySQL-VERSION.src.rpm
-@end example
-
-¤³¤ì¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤ëRPM¥Ð¥¤¥Ê¥ê¤òºîÀ®¤·¤Þ¤¹
-
-¤â¤· @code{DBI} ¤È @code{Msql-Mysql-modules} Perl ¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ê¤é¡¢
-@code{bin/mysql_setpermission} ¥¹¥¯¥ê¥×¥È¤¬»ÈÍѤ¹¤ë¿·¤·¤¤¥æ¡¼¥¶¡¼¤ò
-Äɲ乤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-¼¡¤Ë¤µ¤é¤Ë¾ÜºÙ¤ÊÀâÌÀ¤ò¹Ô¤Ê¤¤¤Þ¤¹:
-
-¥½¡¼¥¹ÇÛÉۤΥ¤¥ó¥¹¥È¡¼¥ë¤Ë¤Ï¡¢¼¡¤Î¥¹¥Æ¥Ã¥×¤Ë½¾¤¤¡¢¤½¤ì¤«¤é ¥¤¥ó¥¹¥È¡¼¥ë
-¸å¤Î½é´ü²½¤È¥Æ¥¹¥È¤Î¤¿¤á¤Ë @xref{Post-installation} ¤Ë¿Ê¤ó¤Ç¤¯¤À¤µ¤¤¡£
-
-@enumerate
-@item
-ÇÛÉÛ¤ò¥¢¥ó¥Ñ¥Ã¥¯¤·¤¿¤¤¥Ç¥£¥ì¥¯¥È¥ê¤òÁª¤ó¤Ç¡¢¤½¤³¤Ë°Ü¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-ÇÛÉÛ¥Õ¥¡¥¤¥ë¤ò @ref{Getting MySQL, , Getting @strong{MySQL}}. ¤Ë¥ê¥¹¥È¤µ¤ì¤¿¥µ¥¤¥È¤Î°ì¤Ä¤«¤éÆÀ¤Æ¤¯¤À¤µ¤¤¡£
-
-@strong{MySQL} ¥½¡¼¥¹ÇÛÉۤϰµ½Ì¤µ¤ì¤¿ @code{tar} ¥¢¡¼¥«¥¤¥Ö¤È¤·¤ÆÄ󶡤µ
-¤ì¡¢@file{mysql-VERSION.tar.gz} ¤Î¤è¤¦¤Ê̾Á°¤ò»ý¤Á¤Þ¤¹¡£¤³¤³¤Ç
-@code{VERSION} ¤Ï @value{mysql_version} ¤Î¤è¤¦¤ÊÈÖ¹æ¤Ç¤¹¡£
-
-@item
-¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÉÛ¤ò¥¢¥ó¥Ñ¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤:
-@example
-shell> gunzip < mysql-VERSION.tar.gz | tar xvf -
-@end example
-¤³¤Î¥³¥Þ¥ó¥É¤Ï @file{mysql-VERSION} ¤È¤¤¤¦Ì¾Á°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤¹¡£
-
-@item
-¥¢¥ó¥Ñ¥Ã¥¯¤µ¤ì¤¿ÇÛÉۤΥȥåץì¥Ù¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤Ã¤Æ¤¯¤À¤µ¤¤:
-@example
-shell> cd mysql-VERSION
-@end example
-
-@item
-¥ê¥ê¡¼¥¹¤ò configure ¤·¡¢Á´¤Æ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¯¤À¤µ¤¤:
-@example
-shell> ./configure --prefix=/usr/local/mysql
-shell> make
-@end example
-@code{configure} ¤Î¼Â¹Ô»þ¡¢¤¤¤¯¤Ä¤«¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£¥ª¥×¥·¥ç
-¥ó¤Î°ìÍ÷¤Ï @code{./configure --help} ¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£@ref{configure
-options, , @code{configure} options}, ¤µ¤é¤ËÍ­ÍѤʥª¥×¥·¥ç¥ó¤Î¤¤¤¯¤Ä¤«¤Ë
-¤Ä¤¤¤ÆµÄÏÀ¤·¤Æ¤¤¤Þ¤¹¡£
-
-@code{configure} ¤¬¼ºÇÔ¤·¤Æ¡¢±ç½õ¤òÆÀ¤ë¤¿¤á¤Ë @email{mysql@@lists.mysql.com} ¤Ë¥á¡¼
-¥ë¤òÁ÷¤í¤¦¤È¤¹¤ë¾ì¹ç¡¢@file{config.log} ¤«¤éÌäÂê¤Î²ò·è¤Î¼ê½õ¤±¤Ë¤Ç¤­¤ë¤È
-¹Í¤¨¤é¤ì¤ë¹Ô¤ò´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£@code{configure} ¤¬°Û¾ï½ªÎ»¤¹¤ë¾ì¹ç¡¢
-@code{configure} ¤«¤é¤Î½ÐÎϤκǸå¤Î¿ô¹Ô¤â´Þ¤á¤Æ¤¯¤À¤µ¤¤¡£¥Ð¥°¥ì¥Ý¡¼¥È¤Ï
-@code{mysqlbug} ¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ·¤ÆÅê¹Æ¤·¤Æ¤¯¤À¤µ¤¤¡£@xref{Bug reports}¡£
-
-¥³¥ó¥Ñ¥¤¥ë¤¬¼ºÇÔ¤¹¤ë¾ì¹ç¡¢¤¤¤¯¤é¤«¤Î¤è¤¯¤¢¤ëÌäÂê¤Ç¤Î¼ê½õ¤±¤Î¤¿¤á¡¢
-@ref{Compilation problems} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-Á´¤Æ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤:
-@example
-shell> make install
-@end example
-¤³¤Î¥³¥Þ¥ó¥É¤Ï @code{root} ¤È¤·¤Æ¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-@item
-@strong{MySQL} ¸¢¸Â¥Æ¡¼¥Ö¥ë¤òÀ¸À®¤·¤Æ¤¯¤À¤µ¤¤(°ÊÁ°¤Ë @strong{MySQL} ¤ò¥¤
-¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤Ê¤¤»þ¤Ë¤À¤±É¬ÍפǤ¹):
-@example
-shell> scripts/mysql_install_db
-@end example
-
-Ãí°Õ: 3.22.10 ¤è¤ê¸Å¤¤ @strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢
-@code{mysql_install_db} ¼Â¹Ô»þ¤Ë @strong{MySQL} ¥µ¡¼¥Ð¤¬³«»Ï¤µ¤ì¤Þ¤·¤¿¤¬¡¢
-¤³¤ì¤Ï¤â¤Ï¤ä¿¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡ª
-
-@item
-Perl @code{DBI}/@code{DBD} ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥µ¥Ý¡¼¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤
-¾ì¹ç¡¢@ref{Perl support} ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-@strong{MySQL} ¤ò¥Þ¥·¥óµ¯Æ°»þ¤Ë¼«Æ°Åª¤Ë³«»Ï¤·¤¿¤¤¾ì¹ç¡¢
-@code{support-files/mysql.server} ¤ò¥·¥¹¥Æ¥à¤Î¥¹¥¿¡¼¥È¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤¬¤¢
-¤ë¾ì½ê¤Ë¥³¥Ô¡¼¤·¤Æ¤¯¤À¤µ¤¤¡£¤µ¤é¤Ê¤ë¾ðÊó¤Ï
-@code{support-files/mysql.server} ¥¹¥¯¥ê¥×¥È¼«¿È¤ÎÃæ¤È¡¢@ref{Automatic
-start} ¤Ë¸«¤Ä¤±¤é¤ì¤Þ¤¹¡£
-@end enumerate
-
-Á´¤Æ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¸å¡¢ÇÛÉۤνé´ü²½¤È¥Æ¥¹¥È¤ò¹Ô¤Ê¤¦¤Ù¤­¤Ç¤¹¡£
-
-@strong{MySQL} ¥µ¡¼¥Ð¡¼¤ò°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç³«»Ï¤Ç¤­¤Þ¤¹¡£
-@code{BINDIR} ¤Ï @code{safe_mysqld} ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê
-(@file{/usr/local/bin} by default) ¤Ç¤¹:
-
-@example
-shell> BINDIR/safe_mysqld &
-@end example
-
-¥³¥Þ¥ó¥É¤¬¤¹¤°¤Ë @code{mysqld daemon ended} ¥¨¥é¡¼¤Ç¼ºÇÔ¤¹¤ë¾ì¹ç¡¢
-@file{mysql-data-directory/'hostname'.err} ¥Õ¥¡¥¤¥ë¤Ë¤Ê¤ó¤é¤«¤Î¾ðÊó¤ò
-¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤è¤¯¤¢¤ë¤³¤È¤È¤·¤Æ¡¢¤¹¤Ç¤Ë¾¤Î @code{mysqld} ¤¬
-Áö¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£ @xref{Multiple servers}.
-
-@xref{Post-installation}¡£
-
-@node Applying patches, configure options, Quick install, Installing source
-@subsection ¥Ñ¥Ã¥Á¤ÎŬÍÑ
-
-»þ¡¹¡¢¥Ñ¥Ã¥Á¤Ï¡¢¥á¡¼¥ê¥ó¥°¡¦¥ê¥¹¥È¤Ëή¤µ¤ì¤¿¤ê¡¢¤Þ¤¿¤Ï
-@strong{MySQL} FTP¥µ¥¤¥È¤Î @uref{ftp://www.mysql.com/pub/mysql/Downloads/Patches,¥Ñ¥Ã¥Á¥¨¥ê¥¢} ¤ËÃÖ¤«¤ì¤Þ¤¹¡£
-
-¥á¡¼¥ê¥ó¥°¡¦¥ê¥¹¥È¤«¤é¤Î¥Ñ¥Ã¥Á¤òŬÍѤ¹¤ë¤Ë¤Ï¡¢¥Ñ¥Ã¥Á¤¬ºÜ¤Ã¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤ò
-¥Õ¥¡¥¤¥ë¤ËÊݸ¤·¤Æ¡¢¤¢¤Ê¤¿¤Î @strong{MySQL} ¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤Î
-°ìÈÖ¾å¤Î¥Ç¥£¥ì¥¯¥È¥ê¡¼¤Ë°ÜÆ°¤·¡¢°Ê²¼¤Î¤è¤¦¤Ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡§
-
-@example
-shell> patch -p1 < patch-file-name
-shell> rm config.cache
-shell> make clean
-@end example
-
-FTP¥µ¥¤¥È¤ËÃÖ¤«¤ì¤ë¥Ñ¥Ã¥Á¤Ï¡¢¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤È¤·¤Æ¡¢
-¤¢¤ë¤¤¤Ï @code{gzip} ¤Ç°µ½Ì¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤È¤·¤ÆÈÒÉÛ¤µ¤ì¤Þ¤¹¡£
-¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È¤Î¥Ñ¥Ã¥Á¤Î¾ì¹ç¤Ï¡¢¾å¤Ë¼¨¤·¤¿¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Î
-¥Ñ¥Ã¥Á¤ÈƱÍͤËŬÍѤ·¤Þ¤¹¡£ °µ½Ì¤µ¤ì¤¿¥Ñ¥Ã¥Á¤òŬÍѤ¹¤ë¤Ë¤Ï¡¢
- @strong{MySQL} ¥½¡¼¥¹¡¦¥Ä¥ê¡¼¤Î
-°ìÈÖ¾å¤Î¥Ç¥£¥ì¥¯¥È¥ê¡¼¤Ë°ÜÆ°¤·¡¢°Ê²¼¤Î¤è¤¦¤Ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡§
-
-@example
-shell> gunzip < patch-file-name.gz | patch -p1
-shell> rm config.cache
-shell> make clean
-@end example
-
-¤½¤ì¤«¤éÄ̾ï¤Î¥½¡¼¥¹¥¤¥ó¥¹¥È¡¼¥ë¤Î»Ø¼¨¤ò @code{./configure} ¥¹¥Æ¥Ã¥×¤«¤é
-»Ï¤á¤Þ¤¹¡£@code{make install} ¥¹¥Æ¥Ã¥×¼Â¹Ô¸å¡¢¤¢¤Ê¤¿¤Î @strong{MySQL} ¥µ¡¼
-¥Ð¤òºÆµ¯Æ°¤·¤Þ¤¹¡£
-
-@code{make install} ¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¡¢¸½ºßÁö¤Ã¤Æ¤¤¤ë¥µ¡¼¥Ð¡¼¤ò»ß¤á¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-( @code{mysqladmin shutdown} ¤Ç»ß¤á¤Þ¤¹ )
-¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¸½ºß¼Â¹Ô¤·¤Æ¤¤¤ë¤â¤Î¤ò»ß¤á¤Ê¤¤¸Â¤ê¡¢
-¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
-
-
-@node configure options, , Applying patches, Installing source
-@subsection ŵ·¿Åª¤Ê configure ¥ª¥×¥·¥ç¥ó
-
-@code{configure} ¥¹¥¯¥ê¥×¥È¤Ï @strong{MySQL} ÇÛÉÛ¤ò¤É¤Î¤è¤¦¤Ë¥³¥ó¥Õ¥£¥°
-¤¹¤ë¤«¤òÀ©¸æ¤¹¤ë¤¿¤á¤Î¿¤¯¤Î½èÍý¤òÄ󶡤·¤Þ¤¹¡£Åµ·¿Åª¤Ë¤Ï¡¢
-@code{configure} ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤³¤ì¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£
-¤¤¤¯¤Ä¤«¤Î´Ä¶­ÊÑ¿ô¤ò»ÈÍѤ·¤Æ¤â @code{configure} ¤Ë±Æ¶Á¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­
-¤Þ¤¹¡£ @xref{Environment variables}.
- @code{configure} ¤¬¥µ¥Ý¡¼¥È¤¹¤ë¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò
-¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤:
-
-@example
-shell> ./configure --help
-@end example
-
-Îɤ¯»È¤ï¤ì¤ë @code{configure} ¥ª¥×¥·¥ç¥ó¤Î¤¤¤¯¤Ä¤«°Ê²¼¤ËÀâÌÀ¤·¤Þ¤¹:
-
-@itemize @bullet
-@item
-@strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¥é¥¤¥Ö¥é¥ê¤È¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤À¤±¤ò¥³¥ó
-¥Ñ¥¤¥ë¤¹¤ë¤Ë¤Ï¡¢@code{--without-server} ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤:
-
-@example
-shell> ./configure --without-server
-@end example
-
-C++ ¥³¥ó¥Ñ¥¤¥é¤¬¤Ê¤±¤ì¤Ð¡¢@code{mysql} ¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Þ¤»¤ó(¤³¤ì¤Ï C++
-¤òÍ׵᤹¤ë¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤Î°ì¤Ä¤Ç¤¹)¡£¤³¤Î¾ì¹ç¡¢@code{configure}
-¤«¤é C++ ¥³¥ó¥Ñ¥¤¥é¤ò¥Æ¥¹¥È¤¹¤ë¥³¡¼¥É¤òºï½ü¤Ç¤Þ¤¹¡£¤½¤ì¤«¤é
-@code{./configure} ¤ò @code{--without-server} ¥ª¥×¥·¥ç¥ó¤Ä¤­¤Ç¼Â¹Ô¤·¤Æ¤¯
-¤À¤µ¤¤¡£¥³¥ó¥Ñ¥¤¥ë¥¹¥Æ¥Ã¥×¤Ï @code{mysql} ¤ÎºîÀ®¤ò»î¤ß¤Þ¤¹¤¬¡¢
-@file{mysql.cc} ¤Ë¤Ä¤¤¤Æ¤Î·Ù¹ð¤Ï̵»ë¤Ç¤­¤Þ¤¹¡£(@code{make} ¤¬»ß¤Þ¤ë¾ì¹ç¡¢
-¥¨¥é¡¼¤¬È¯À¸¤·¤Æ¤â»Ä¤ê¤ÎºîÀ®¤ò·Ñ³¤¹¤ë¤è¤¦¤Ë @code{make -k} ¤ò»î¤·¤Æ¤¯¤À
-¤µ¤¤¡£)
-
-@item
-¥í¥°¥Õ¥¡¥¤¥ë¤È¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤ò @file{/usr/local/var} ÇÛ²¼¤Ë¤ª
-¤­¤¿¤¯¤Ê¤¤¾ì¹ç¤Ï¡¢¼¡¤Î°ì¤Ä¤Î¤è¤¦¤Ê @code{configure} ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¤¯
-¤À¤µ¤¤:
-@example
-shell> ./configure --prefix=/usr/local/mysql
-shell> ./configure --prefix=/usr/local \
- --localstatedir=/usr/local/mysql/data
-@end example
-ºÇ½é¤Î¥³¥Þ¥ó¥É¤Ï¥¤¥ó¥¹¥È¡¼¥ë¥×¥ì¥Õ¥£¥Ã¥¯¥¹¤òÊѹ¹¤·¡¢¥Ç¥Õ¥©¥ë¥È¤Î
-@file{/usr/local} ¤Ç¤Ï¤Ê¤¯ @file{/usr/local/mysql} ÇÛ²¼¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·
-¤Þ¤¹¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥¤¥ó¥¹¥È¡¼¥ë¥×¥ì¥Õ¥£¥Ã¥¯¥¹¤òÊݸ¤·¤Þ¤¹¤¬¡¢
-¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ç¥Õ¥©¥ë¥È°ÌÃÖ(Ä̾ï¤Ï @file{/usr/local/var})¤ò
-¾å½ñ¤­¤·¡¢@code{/usr/local/mysql/data} ¤ËÊѹ¹¤·¤Þ¤¹¡£
-
-@item
-UNIX ¤ò»ÈÍѤ·¤Æ¤¤¤Æ¡¢¥½¥±¥Ã¥È¤Î°ÌÃÖ¤ò¥Ç¥Õ¥©¥ë¥È°ÌÃÖ(Ä̾ï¤Ï @file{/tmp} ¤Þ¤¿¤Ï
-@file{/var/run})¤Ç¤Ê¤¯Â¾¤Î¤É¤³¤«¤Ë¤·¤¿¤¤¾ì¹ç¤Ï¡¢@code{configure} ¥³¥Þ¥ó
-¥É¤ò¼¡¤Î¤è¤¦¤Ë»ÈÍѤ·¤Þ¤¹:
-@example
-shell> ./configure --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
-@end example
-¥Õ¥¡¥¤¥ë̾¤ÏÀäÂХѥ¹Ì¾¤Ç¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó¡£
-
-@item
-ÀÅŪ¥ê¥ó¥¯¤µ¤ì¤¿¥×¥í¥°¥é¥à¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤¤¾ì¹ç(Î㤨¤Ð¡¢¥Ð¥¤¥Ê¥êÇÛÉÛ¤ò
-ºîÀ®¤¹¤ë¤¿¤á¡¢¤â¤Ã¤È®¤¯¤¹¤ë¤¿¤á¡¢¤¤¤¯¤Ä¤«¤Î RedHat ÇÛÉۤǤÎÌäÂê¤ò²óÈò¤¹
-¤ë¤¿¤á)¤Ï¡¢¼¡¤Î¤è¤¦¤Ë @code{configure} ¤ò¼Â¹Ô¤·¤Þ¤¹:
-
-@example
-shell> ./configure --with-client-ldflags=-all-static \
- --with-mysqld-ldflags=-all-static
-@end example
-
-@item
-@code{gcc} ¤ò»ÈÍѤ·¤Æ¤¤¤Æ¡¢@code{libg++} ¤ä @code{libstdc++} ¤¬¥¤¥ó¥¹¥È¡¼
-¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢@code{configure} ¤Ë @code{gcc} ¤ò C++ ¥³¥ó¥Ñ¥¤¥é¤È¤·
-¤Æ»ÈÍѤ¹¤ë¤³¤È¤òÅÁ¤¨¤Æ¤¯¤À¤µ¤¤:
-
-@tindex CC environment variable
-@tindex Environment variable, CC
-@tindex CXX environment variable
-@tindex Environment variable, CXX
-@example
-shell> CC=gcc CXX=gcc ./configure
-@end example
-
-@code{gcc} ¤ò C++ ¥³¥ó¥Ñ¥¤¥é¤È¤·¤Æ»ÈÍѤ¹¤ë»þ¡¢@code{libg++} ¤Þ¤¿¤Ï
-@code{libstdc++} ¤Î¥ê¥ó¥¯¤Ï»î¤ß¤Þ¤»¤ó¡£
-
-¥³¥ó¥Ñ¥¤¥é¤ä¥ê¥ó¥«¤¬¶¦Í­¥é¥¤¥Ö¥é¥ê @file{libmysqlclient.so.#} ¤òÀ¸À®¤Ç¤­
-¤Ê¤¤¤È¤¤¤¦¥¨¥é¡¼¤Ë¤Ê¤ë¾ì¹ç¡¢@code{--disable-shared} ¥ª¥×¥·¥ç¥ó¤ò
-@code{configure} ¤ËÍ¿¤¨¤ë¤³¤È¤Ç¡¢¤³¤ÎÌäÂê¤ò²óÈò¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢
-@code{configure} ¤Ï¶¦Í­¥é¥¤¥Ö¥é¥ê @code{libmysqlclient.so.#} ¤òºîÀ®¤·¤Þ
-¤»¤ó¡£
-
-@item
-Èó @code{NULL} ¹àÌÜ(¤¹¤Ê¤ï¤Á¡¢@code{NULL} ¤¬µö¤µ¤ì¤Æ¤¤¤Ê¤¤¹àÌÜ)¤Ë
-@code{DEFAULT} ¹àÌÜÃͤò»ÈÍѤ·¤Ê¤¤¤è¤¦¤Ë @strong{MySQL} ¤ò¥³¥ó¥Õ¥£¥°¤Ç¤­
-¤Þ¤¹¡£¤³¤ì¤Ï¡¢Èó @code{NULL} ÃͤòÍ׵᤹¤ëÁ´¤Æ¤Î¹àÌܤËÃͤòÌÀ¼¨Åª¤Ë»ØÄꤷ
-¤Ê¤±¤ì¤Ð¡¢@code{INSERT} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ï¥¨¥é¡¼¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ
-¤Î»ÈÍѤòÍÞ¤¨¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë @code{configure} ¤ò¼Â¹Ô¤·¤Þ¤¹:
-
-@tindex CXXFLAGS environment variable
-@tindex Environment variable, CXXFLAGS
-@example
-shell> CXXFLAGS=-DDONT_USE_DEFAULT_FIELDS ./configure
-@end example
-
-@item
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢@strong{MySQL} ¤Ï ISO-8859-1 (Latin1) ʸ»ú¥»¥Ã¥È¤ò»ÈÍѤ·
-¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¥»¥Ã¥È¤òÊѹ¹¤¹¤ë¤Ë¤Ï¡¢@code{--with-charset} ¥ª¥×¥·¥ç¥ó¤ò
-»ÈÍѤ·¤Þ¤¹:
-@example
-shell> ./configure --with-charset=CHARSET
-@end example
-
-@code{CHARSET} ¤Ï¼¡¤Î°ì¤Ä¤Ç¤¹: @code{big5}, @code{cp1251}, @code{cp1257},
-@code{czech}, @code{danish},@code{dec8}, @code{dos}, @code{euc_kr},
-@code{gb2312}, @code{gbk}, @code{german1}, @code{hebrew}, @code{hp8},
-@code{hungarian}, @code{koi8_ru}, @code{koi8_ukr}, @code{latin1}, @code{latin2},
-@code{sjis}, @code{swe7}, @code{tis620}, @code{ujis}, @code{usa7},
-@code{win1251} or @code{win1251ukr}.
-@xref{Character sets}.
-
-Ãí°Õ: ʸ»ú¥»¥Ã¥È¤òÊѹ¹¤·¤¿¤¤¾ì¹ç¤Ï¡¢¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó´Ö¤Ç @code{make
-distclean} ¤ò¹Ô¤Ê¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡ª (3.23.14 °ÊÁ°¤Î¾ì¹ç)
-
-¥µ¡¼¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È´Ö¤Çʸ»ú¤òÊÑ´¹¤·¤¿¤¤¾ì¹ç¤Ï¡¢
-@code{SET OPTION CHARACTER SET} ¥³¥Þ¥ó¥É¤òÄ´¤Ù¤ë¤Ù¤­¤Ç¤¹¡£
-@xref{SET OPTION, , @code{SET OPTION}}.
-
-@cindex @code{myisamchk}
-@strong{·Ù¹ð:} ¥Æ¡¼¥Ö¥ë¤òÀ¸À®¤·¤¿¸å¤Ëʸ»ú¥»¥Ã¥È¤òÊѹ¹¤¹¤ë¾ì¹ç¡¢
-@code{myisamchk -r -q} ¤òÁ´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤Ë¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤Ç¤Ê
-¤¤¤È¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÏÀµ¤·¤¯¥½¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£(¤³¤ì¤Ï¡¢@strong{MySQL} ¤Î¥¤
-¥ó¥¹¥È¡¼¥ë»þ¡¢¤¤¤¯¤Ä¤«¤Î¥Æ¡¼¥Ö¥ë¤ÎÀ¸À®»þ¡¢°Û¤Ê¤ëʸ»ú¥»¥Ã¥È¤ò»ÈÍѤ·¤Æ
-@strong{MySQL} ¤ÎºÆ¥³¥ó¥Õ¥£¥°»þ¡¢¤½¤·¤ÆºÆ¥¤¥ó¥¹¥È¡¼¥ë»þ¤ËȯÀ¸¤·¤Þ¤¹¡£)
-
-@item
-¥Ç¥Ð¥Ã¥°¥³¡¼¥É¤Ä¤­¤Ç @strong{MySQL} ¤ò¥³¥ó¥Õ¥£¥°¤¹¤ë¤Ë¤Ï¡¢
-@code{--with-debug} ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹:
-@example
-shell> ./configure --with-debug
-@end example
-¤³¤ì¤Ë¤è¤ê¡¢¤¤¤¯¤Ä¤«¤Î¥¨¥é¡¼¤ò¸«¤Ä¤±¤é¤ì¤ë°ÂÁ´¤Ê¥á¥â¥ê³ä¤êÅö¤Æ¤¬´Þ¤Þ¤ì¡¢
-²¿¤¬È¯À¸¤·¤Æ¤¤¤ë¤«¤Ë¤Ä¤¤¤Æ¤Î½ÐÎϤòÄ󶡤·¤Þ¤¹¡£
-@xref{Debugging server}.
-
-@item
-¤¢¤Ê¤¿¤Î¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤¬¥¹¥ì¥Ã¥É¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢
-@strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¥é¥¤¥Ö¥é¥ê¤ò
-@code{--with-thread-safe-client} ¤Ç¥¹¥ì¥Ã¥É°ÂÁ´ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפ¬
-¤¢¤ê¤Þ¤¹; ¤³¤ì¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤¤¤¯¤Ä¤«¤Î¥¹¥ì¥Ã¥É°ÂÁ´¤Ç¤Ê¤¤´Ø¿ô¤Ç¡¢¥é¥¤
-¥Ö¥é¥ê¤¬¥¹¥ì¥Ã¥É°ÂÁ´´Ø¿ô¥³¡¼¥ë¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤ò¹Ô¤Ê¤¦¤³¤È
-¤Ç¾®¤µ¤Ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¥Ú¥Ê¥ë¥Æ¥£¤¬¤¢¤ê¤Þ¤¹¤¬¡¢Ä̾盧¤Î¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤÏ
-´°Á´¤Ë°ÂÁ´¤Ç¤¹¡£
-
-@item
-¸ÇÍ­¤Î¥·¥¹¥Æ¥à¤Ë´Ø·¸¤¹¤ë¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Î¾Ï¤è¤ê¸å¤Î¥·¥¹¥Æ¥à¸ÇÍ­
-¤ÎÀá¤Ç¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£@xref{Source install system issues}¡£
-@end itemize
-
-@node Compilation problems, MIT-pthreads, Installing source, Installing
-@section ¥³¥ó¥Ñ¥¤¥ë¤ÎÌäÂ꤫¡©
-
-Solaris ¾å¤Ç @code{gcc} ¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢°ìÀÚ·Ù¹ð̵¤¯Á´¤Æ¤Î @strong{MySQL} ¥×¥í¥°¥é¥à¤¬¤­¤ì¤¤¤Ëºî¤ì¤Þ¤¹¡£
-¾¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤Î°ã¤¤¤«¤é·Ù¹ð¤¬½Ð¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
- MIT-pthreads ¤ò»ÈÍѤ·¤¿ºÝ¤Î·Ù¹ð¤Ï @ref{MIT-pthreads} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-¾¤ÎÌäÂê¤Ï¡¢°Ê²¼¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-¿¤¯¤ÎÌäÂê¤Î²ò·è¤Î¤¿¤á¤Ë¡¢ºÆ configure ¤¬É¬ÍפǤ¹¡£
-¤¢¤Ê¤¿¤¬ºÆ¹½À®¤¹¤ëɬÍפ¬¤¢¤ë¤Ê¤é¤Ð¡¢°Ê²¼¤Ëµ¤¤ò¤Ä¤±¤Æ¤¯¤À¤µ¤¤¡§
-
-@cindex Running @code{configure} after prior invocation
-@cindex @code{configure}, running after prior invocation
-@itemize @bullet
-@item
-¤â¤· @code{configure} ¤ò°ìÅټ¹Ԥ·¤¿¸å¤Ë¼Â¹Ô¤¹¤ë¤Ê¤é¤Ð¡¢ @code{configure} ¤Ï
-Á°¤Ëºî¤Ã¤¿¾ðÊó¤òÍøÍѤ·¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ï @file{config.cache} ¤ËÊݸ¤µ¤ì¤Þ¤¹¡£
- @code{configure} ¤Ïµ¯Æ°»þ¤Ë¤³¤Î¥Õ¥¡¥¤¥ë¤òõ¤·¡¢¤â¤·Â¸ºß¤¹¤ë¤Ê¤é¤Ð¡¢
-¤½¤ÎÃæ¤Î¾ðÊó¤¬Àµ¤·¤¤Êª¤È¤·¤ÆÆɤ߹þ¤ß¤Þ¤¹¡£
-¤³¤ì¤Ï¤¢¤Ê¤¿¤¬ºÆ¥³¥ó¥Õ¥£¥°¤¹¤ë¤Ê¤é¤Ð̵¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-@item
-@code{configure} ¤ò¼Â¹Ô¤¹¤ë¤´¤È¤Ë¡¢ @code{make} ¤ò¼Â¹Ô¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤·¤«¤·¡¢ºÇ½é¤Ë¡¢Á°¤Î¥Ó¥ë¥É¤Ç¤Ç¤­¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ò¡¢¾Ã¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
-¤Ê¤¼¤Ê¤é¡¢°ã¤¦¥³¥ó¥Õ¥£¥°¥ª¥×¥·¥ç¥ó¤Ë¤è¤êÀ¸À®¤µ¤ì¤¿¤«¤é¤Ç¤¹¡£
-@end itemize
-
-¸Å¤¤¥³¥ó¥Õ¥£¥°¤ä¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î»ÈÍѤòËɤ°¤¿¤á¡¢
- @code{configure} Á°¤Ë°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡§
-
-@example
-shell> rm config.cache
-shell> make clean
-@end example
-
-¤³¤¦¤¹¤ë¤«¤ï¤ê¤Ë¡¢@code{make distclean} ¤È¤·¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£
-
-°Ê²¼¤Ë¡¢ @strong{MySQL} ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëºÝ¤Ëµ¯¤³¤ê¤ä¤¹¤¤ÌäÂê¤ò¤¢¤²¤Æ¤ª¤­¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-@cindex @code{cc1plus} problems
-@cindex @code{fatal signal 11}
-@cindex @code{sql_yacc.cc} problems
-@cindex Internal compiler errors
-@cindex Virtual memory problems while compiling
-@file{sql_yacc.cc} ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¡¢°Ê²¼¤Î¤è¤¦¤Ê¥¨¥é¡¼¤¬½Ð¤¿¾ì¹ç¡¢
-¥á¥â¥ê¡¼¡¢¥¹¥ï¥Ã¥×¤¬Â­¤ê¤Þ¤»¤ó¡§
-
-@example
-Internal compiler error: program cc1plus got fatal signal 11
- or
-Out of virtual memory
- or
-Virtual memory exhausted
-@end example
-
-¤³¤ÎÌäÂê¤Ï¡¢@code{gcc} ¤¬¥¤¥ó¥é¥¤¥óŸ³«¤Ç @file{sql_yacc.cc} ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Î¤Ë¡¢
-¤È¤Æ¤â¿¤¯¤Î¥á¥â¥ê¡¼¤òɬÍפȤ¹¤ë¤«¤é¤Ç¤¹¡£
-¤³¤Î¾ì¹ç¡¢ @code{configure} ¤ò @code{--with-low-memory} ¥ª¥×¥·¥ç¥ó»ØÄê¤Ç¼Â¹Ô¤·¤Þ¤¹¡§
-
-@example
-shell> ./configure --with-low-memory
-@end example
-
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ @code{gcc} ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é @code{-fno-inline} ¥ª¥×¥·¥ç¥ó¤ò
-¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë²Ã¤¨¡¢@code{gcc} °Ê³°¤Ê¤é¤Ð @code{-O0} ¤ò²Ã¤¨¤Þ¤¹¡£
-¿¤¯¤Î¥á¥â¥ê¡¼¤È¥¹¥ï¥Ã¥×¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¸Â¤ê¤Ï¡¢@code{--with-low-memory} ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-¤³¤ÎÌäÂê¤Ï¤±¤Ã¤³¤¦¤Ê¥Ï¡¼¥É¥¦¥§¥¢¹½À®¤Ç¤âµ¯¤³¤ë¤³¤È¤¬ÃΤé¤ì¤Æ¤¤¤Þ¤¹¡£
-Ä̾ @code{--with-low-memory} ¥ª¥×¥·¥ç¥ó¤Ç¤³¤ÎÌäÂê¤Ï²ò·è¤Ç¤­¤Þ¤¹¡£
-
-@item
-ɸ½à¤Ç¤Ï¡¢@code{configure} ¤Ï @code{c++} ¤È¤¤¤¦Ì¾Á°¤Ç¥³¥ó¥Ñ¥¤¥é¡¼¤ò»ÈÍѤ·¡¢
-GNU @code{c++} ¤Ï @code{-lg++} ¤ò»È¤Ã¤Æ¥ê¥ó¥¯¤·¤Þ¤¹¡£
-¤â¤· @code{gcc} ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢¥³¥ó¥Õ¥£¥°»þ¤Ë°Ê²¼¤Î¤è¤¦¤ÊÌäÂ꤬½Ð¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡§
-
-@cindex C++ compiler cannot create executables
-@example
-configure: error: installation or configuration problem:
-C++ compiler cannot create executables.
-@end example
-
-@tindex CXX environment variable
-@tindex Environment variable, CXX
-¤³¤ÎÌäÂê¤Ï¡¢@code{g++}, @code{libg++} ¤¢¤ë¤¤¤Ï @code{libstdc++} ¤Ë´ØÏ¢¤·¤¿¤â¤Î¤Ç¤¹¡£
-
-¸¶°ø¤Î°ì¤Ä¤È¤·¤Æ¹Í¤¨¤é¤ì¤ë¤³¤È¤Ï¡¢ @code{g++} ¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤«¡¢¤¢¤ë¤¤¤Ï¡¢
-@code{g++} ¤Ï¤¢¤Ã¤Æ¤â @code{libg++} ¤« @code{libstdc++} ¤¬¤Ê¤¤¤È¤¤¤¦»ö¤Ç¤¹¡£
-@file{config.log} ¥Õ¥¡¥¤¥ë¤Ï c++ ¥³¥ó¥Ñ¥¤¥é¤¬Æ°ºî¤·¤Ê¤«¤Ã¤¿Íýͳ¤òµ­Ï¿¤·¤Æ¤¤¤Þ¤¹¡ª
-¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤ËÅö¤¿¤ê¡¢¤¢¤Ê¤¿¤¬»ý¤Ã¤Æ¤¤¤ë C++ ¥³¥ó¥Ñ¥¤¥é¡¼¤ÎÂå¤ï¤ê¤Ë
- @code{gcc} ¤ò»ÈÍѤ·¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£@code{CXX} ´Ä¶­ÊÑ¿ô¤Ë @code{"gcc -O3"} ¤È¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
-Î㤨¤Ð¡§
-
-@tindex CXX environment variable
-@tindex Environment variables, CXX
-@example
-shell> CXX="gcc -O3" ./configure
-@end example
-
-¤³¤ì¤Ï @code{gcc} ¤¬ @code{g++} ¤ÈƱÍÍ¤Ë C++ ¥½¡¼¥¹¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Î¤ÇÆ°¤­¤Þ¤¹¤¬¡¢
-@code{libg++} ¤« @code{libstdc++} ¤¬É¸½à¤Ç¤Ï¥ê¥ó¥¯¤µ¤ì¤Þ¤»¤ó¡£
-
-¾¤Î²ò·èÊýË¡¤Ï¡¢¤â¤Á¤í¤ó¡¢@code{g++}, @code{libg++}, @code{libstdc++} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ç¤¹¡£
-
-@item
-¤â¤·°Ê²¼¤Î¥¨¥é¡¼¤Î¤É¤ì¤«¤¬µ¯¤­¤¿¾ì¹ç¡¢ GNU @code{make} ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò¾å¤²¤Æ¤¯¤À¤µ¤¤¡§
-
-@example
-making all in mit-pthreads
-make: Fatal error in reader: Makefile, line 18:
-Badly formed macro assignment
- or
-make: file `Makefile' line 18: Must be a separator (:
- or
-pthread.h: No such file or directory
-@end example
-
-@cindex Solaris troubleshooting
-@cindex FreeBSD troubleshooting
-@cindex Troubleshooting, Solaris
-@cindex Troubleshooting, FreeBSD
-Solaris ¤È FreeBSD ¤Î @code{make} ¥×¥í¥°¥é¥à¤Ë¤ÏÌäÂ꤬¤¢¤ë¤³¤È¤¬ÃΤé¤ì¤Æ¤¤¤Þ¤¹¡£
-
-GNU @code{make} version 3.75 ¤ÏÆ°ºî³Îǧ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-
-@tindex CC environment variable
-@tindex Environment variable, CC
-@tindex CXX environment variable
-@tindex Environment variable, CXX
-@tindex CFLAGS environment variable
-@tindex Environment variable, CFLAGS
-@tindex CXXFLAGS environment variable
-@tindex Environment variable, CXXFLAGS
-@item
-¤â¤· C,C++ ¤Î¤¿¤á¤Ë¥Õ¥é¥°¤òÍ¿¤¨¤¿¤¤¾ì¹ç¡¢@code{CFLAGS} ¤È @code{CXXFLAGS} ´Ä¶­ÊÑ¿ô¤Ë
-¥Õ¥é¥°¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£Æ±Íͤˡ¢ @code{CC} ¤È @code{CXX} ¤Ë¥³¥ó¥Ñ¥¤¥é¡¼Ì¾¤ò
-Í¿¤¨¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-Î㤨¤Ð¡§
-
-@example
-shell> CC=gcc
-shell> CFLAGS=-O6
-shell> CXX=gcc
-shell> CXXFLAGS=-O6
-shell> export CC CFLAGS CXX CXXFLAGS
-@end example
-
-@ref{TcX binaries} ¤Ë¤Ï¥Õ¥é¥°¤ÎÄêµÁ¤¬¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¿§¡¹¤Ê¥·¥¹¥Æ¥à¾å¤ÇÌò¤ËΩ¤Ä¤È»×¤¤¤Þ¤¹¡£
-
-@item
-°Ê²¼¤Î¤è¤¦¤Ê¥¨¥é¡¼¤Î¾ì¹ç¡¢@code{gcc} ¥³¥ó¥Ñ¥¤¥é¡¼¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡§
-
-@example
-client/libmysql.c:273: parse error before `__attribute__'
-@end example
-
-@code{gcc} 2.8.1 ¤ÏÆ°ºî¤¹¤ë¤³¤È¤¬³Îǧ¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢
-@code{gcc} 2.95.2 °Ê¾å¤ò¤ª´«¤á¤·¤Þ¤¹¡£
-
-@item
-@code{mysqld} ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë°Ê²¼¤Î¤è¤¦¤Ê¥¨¥é¡¼¤¬½Ð¤¿¾ì¹ç¡¢
-@code{configure} ¤¬@code{accept()}, @code{getsockname()}, @code{getpeername()}
-¤ÎºÇ¸å¤Î°ú¿ô¤òÀµ¤·¤¯¸¡½Ð¤·¤Æ¤¤¤Þ¤»¤ó¡§
-
-@example
-cxx: Error: mysqld.cc, line 645: In this statement, the referenced
- type of the pointer value "&length" is "unsigned long", which
- is not compatible with "int".
-new_sock = accept(sock, (struct sockaddr *)&cAddr, &length);
-@end example
-
-¤³¤ì¤ò½¤Àµ¤¹¤ë¤Ë¤Ï¡¢@file{config.h} ¥Õ¥¡¥¤¥ë(@code{configure} ¤Ë¤è¤êºî¤é¤ì¤ë) ¤ò½¤Àµ¤·¤Þ¤¹¡£
-¤¤¤«¤Î¤è¤¦¤Ë¡§
-
-@example
-/* Define as the base type of the last arg to accept */
-#define SOCKET_SIZE_TYPE XXX
-@end example
-
-@code{XXX} ¤ò @code{size_t} ¤« @code{int} (¤¢¤Ê¤¿¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬°Í¸¤·¤Æ¤¤¤ë·¿)¤ËÊѤ¨¤Þ¤¹¡£
-(@code{configure} ¤¹¤ë¤ÈËè²ó @file{config.h} ¤Ïºî¤êľ¤µ¤ì¤ë¤Î¤Ç¡¢
-¤³¤Î½¤Àµ¤Ï @code{configure} ¤¹¤ëÅ٤˹Ԥï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤ËÃí°Õ)
-
-@item
-@file{sql_yacc.cc} ¥Õ¥¡¥¤¥ë¤Ï @file{sql_yacc.yy} ¤«¤éÀ¸À®¤µ¤ì¤Þ¤¹¡£
-Ä̾
-@strong{MySQL} ¤¬´û¤ËÀ¸À®¤µ¤ì¤¿¥³¥Ô¡¼¤È¤È¤â¤Ë¤¢¤ë¤Î¤Ç¡¢
-@file{sql_yacc.cc} ¥Õ¥¡¥¤¥ë¤ò¼«Ê¬¼«¿È¤ÇºîÀ®¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¤·¤«¤·¡¢°Ê²¼¤Î¥¨¥é¡¼¤Î¾ì¹ç¡¢ºÆºîÀ®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡§
-
-@example
-"sql_yacc.yy", line xxx fatal: default action causes potential...
-@end example
-
-¤³¤ì¤Ï¤¢¤Ê¤¿¤Î @code{yacc} ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ÉÔ½½Ê¬¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
-@code{bison} (the GNU version of @code{yacc}) ¤òÂå¤ï¤ê¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-@item
-¤â¤· @code{mysqld} ¤« @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¤ò¥Ç¥Ð¥Ã¥°¤·¤¿¤¤¤Ê¤é¡¢
-@code{configure} ¤ò @code{--with-debug} ¥ª¥×¥·¥ç¥óÉÕ¤­¤Ç¼Â¹Ô¤·¤Þ¤¹¡£
-¤½¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¡¢¿·¤·¤¤¥¯¥é¥¤¥¢¥ó¥È¥é¥¤¥Ö¥é¥ê¡¼¤Ç¥¯¥é¥¤¥¢¥ó¥È¤ò¥ê¥ó¥¯¤·¤Þ¤¹¡£
-@xref{Debugging client}.
-@end itemize
-
-@node MIT-pthreads, Perl support, Compilation problems, Installing
-@section MIT-pthreads ¤Ë´Ø¤·¤Æ
-
-¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤ÏMIT-pthreads¤ò»È¤Ã¤Æ¤¤¤ë¤µ¤¤¤Ëµ¯¤³¤ëÌäÂê¤Ë¤Ä¤¤¤Æ¤¤¤¯¤Ä¤«½Ò¤Ù¤Æ
-¤¤¤Þ¤¹¡£
-
-Linux ¤Ç¤Ï¡¢MIT-pthreads ¤ò»ÈÍѤ·¤Æ¤Ï¤Ê¤é¤º¡¢
-LinuxThreads ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ù¤­¤Ç¤¹¡ª
-@xref{Linux}.
-
-¤â¤·¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à¤¬ËÜÍè¤Î¥¹¥ì¥Ã¥É¤Î¥µ¥Ý¡¼¥È¤òÄ󶡤·¤Ê¤±¤ì¤Ð¡¢¤¢¤Ê¤¿¤Ï¡¢
-MIT-pthreads¥Ñ¥Ã¥±¡¼¥¸¤ò»È¤Ã¤Æ¡¢@strong{MySQL} ¤ò¹½ÃÛ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤³¤ì¤Ë¤Ï¤Û¤È¤ó¤É¤ÎFreeBSD¥·¥¹¥Æ¥à¡¢SunOS4.x,Solaris 2.4¤È¤½¤ì°ÊÁ°¡¢¤Û¤«¤¤¤¯¤Ä¤«
-¤¬´Þ¤Þ¤ì¤Þ¤¹¡£
-@xref{Which OS}.
-
-@itemize @bullet
-@item
-¤Û¤È¤ó¤É¤Î¥·¥¹¥Æ¥à¾å¤Ç¤Ï @code{--with-mit-threads} ¥ª¥×¥·¥ç¥ó¤Ç
-@code{configure} ¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
-MIT-pthreads¤¬»È¤ï¤ì¤ë¤³¤È¤ò¶¯À©¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@example
-shell> ./configure --with-mit-threads
-@end example
-
-MIT-pthreads¤ò»È¤¦»þ¡¢È󥽡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ç¹½ÃÛ¤¹¤ë¤³¤È¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»
-¤ó¡£¤Ê¤¼¤Ê¤é¡¢»ä¤¿¤Á¤Ï¤³¤Î¥³¡¼¥É¤Ø»ä¤¿¤Á¤ÎÊѹ¹¤òºÇ¾®¤Ë¤·¤¿¤¤¤«¤é¤Ç¤¹¡£
-
-@item
-MIT-pthreads¤Ï¡¢Unix¥½¥±¥Ã¥È¼ÂÁõ¤Ë»È¤ï¤ì¤Æ¤¤¤ë @code{AF_UNIX} ¥×¥í¥È¥³¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£
-¤³¤ì¤Ï¡¢¤â¤·¤¢¤Ê¤¿¤¬»È¤Ã¤Æ¤¤¤ë MIT-pthreads ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ì¤Ð¡¢Á´¤Æ¤ÎÀܳ¤Ï¡¢
-TCP/IP ¤ò»È¤¦(¤Ä¤Þ¤ê¾¯¤·ÃÙ¤¯¤Ê¤ë)¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-¤â¤·¡¢¤¢¤Ê¤¿¤¬ @strong{MySQL} ¤ò¹½ÃÛ¤·¤¿¤¢¤È¤Ç¡¢¥í¡¼¥«¥ë¤Î¥µ¡¼¥Ð¡¼¤ËÀܳ¤Ç¤­¤Ê¤¤¤Ê¤é¤Ð¡¢
-¤½¤ì¤Ï¤¢¤Ê¤¿¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬¥Ç¥Õ¥©¥ë¥È¤Ç Unix ¥½¥±¥Ã¥È¤ò»È¤Ã¤Æ
- @code{localhost} ¤ØÀܳ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤Î¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-ÌÀ¼¨Åª¤Ë¥í¡¼¥«¥ë¥Û¥¹¥È̾¤ò»ØÄꤹ¤ë¤¿¤á¤Ë¡¢¥Û¥¹¥È̾»ØÄê¤Î¥ª¥×¥·¥ç¥ó
- (@code{-h} ¤« @code{--host}) ¤Ç @code{mysql} ¤ò»ÈÍѤ·¤Æ¡¢TCP/IP Àܳ¤ò»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-MIT-pthreads ¤¬»È¤ï¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¥Á¥§¥Ã¥¯¤Ï¥µ¡¼¥Ð¥³¡¼¥É¤ò configure ¤¹¤ë¤È¤­¤Ë
-¤À¤±¹Ô¤ï¤ì¤Þ¤¹¡£¤â¤·¡¢¤¢¤Ê¤¿¤¬ @code{--without-server} ¤ò»È¤Ã¤Æ¥¯¥é¥¤¥¢¥ó¥È¥³¡¼¥É¤Î¤ß¤ò
-¥Ó¥ë¥É¤¹¤ë¤³¤È¤òÀßÄꤷ¤¿¤Ê¤é¤Ð¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï MIT-othreads ¤¬»È¤ï¤ì¤Æ¤¤¤ë¤«¤¤¤Ê¤¤¤«¡¢
-Unix¥½¥±¥Ã¥ÈÀܳ¤¬¥Ç¥Õ¥©¥ë¥È¤Ç»È¤ï¤ì¤Æ¤¤¤ë¤Î¤«¤ï¤«¤ê¤Þ¤»¤ó¡£¤Ê¤¼¤Ê¤é Unix ¥½¥±¥Ã¥È¤Ï
-MIT-pthreads ²¼¤Ç¤ÏÆ°ºî¤·¤Ê¤¤¤«¤é¤Ç¤¹¡£¤Þ¤¿¡¢¤¢¤Ê¤¿¤Ï¤½¤Î¤è¤¦¤Ê¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤Ï
- @code{-h} ¤Þ¤¿¤Ï @code{--host} ¤ò»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-
-@item
- @strong{MySQL} ¤¬ MIT-pthreads ¤ò»È¤Ã¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤È¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¾å¤ÎÌäÂê¤Î¤¿
-¤á¥·¥¹¥Æ¥à¥í¥Ã¥¯¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¥Ç¥£¥¹¥¨¡¼¥Ö¥ë¤È¤µ¤ì¤Þ¤¹¡£ @code{--use-locking} ¥ª¥×¥·¥ç¥ó
-¤ò»ØÄꤷ¤Æ¥µ¡¼¥Ð¡¼¤ËÅÁ¤¨¤ë¤³¤È¤Ç¡¢¥·¥¹¥Æ¥à¥í¥Ã¥¯¤Ï»È¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@item
-¤È¤­¤É¤­(¾¯¤Ê¤¯¤È¤âSolaris¤Ç¤Ï) pthread ¤Î @code{bind()} ¥³¥Þ¥ó¥É¤Ï²¿¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸
-¤Ê¤·¤Ë¥½¥±¥Ã¥È¤Ø¤Î bind ¤Ë¼ºÇÔ¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï·ë²Ì¤È¤·¤Æ¥µ¡¼¥Ð¡¼¤Ø¤ÎÀܳ
-¼ºÇԤȤʤê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
-
-@example
-shell> mysqladmin version
-mysqladmin: connect to server at '' failed;
-error: 'Can't connect to mysql server on localhost (146)'
-@end example
-
-¤³¤ì¤ò²ò·è¤¹¤ë¤¿¤á¤Ë @code{mysqld} ¥µ¡¼¥Ð¡¼¤ò½ªÎ»¤·¤Æ¡¢ºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£¤³
-¤ì¤Ï»ä¤¿¤Á¤¬¥µ¡¼¥Ð¡¼¥À¥¦¥ó¤ò¶¯À©¤·¤Æ¡¢¤¹¤°¤Ë¥ê¥¹¥¿¡¼¥È¤µ¤»¤è¤¦¤È¤·¤¿¤È¤­¤À¤±µ¯¤³
-¤ê¤Þ¤·¤¿¡£
-
-@item
-MIT-pthreads ¤ò»È¤Ã¤Æ¤¤¤ë¤È¡¢@code{sleep()} ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï @code{SIGINT} (break)
-¤Ç¤Ï³ä¤ê¹þ¤ß¤Ç¤­¤Þ¤»¤ó¡£ ¤³¤ì¤Ï¡¡@code{mysqladmin --sleep} ¤òÁö¤é¤»¤Æ¤¤¤ë¤È¤­¤Ë¤À¤±
-µ¯¤³¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤Þ¤¹¡£
-³ä¤ê¹þ¤ß¤¬È¯À¸¤·¤Æ¥×¥í¥»¥¹¤¬Ää»ß¤¹¤ëÁ°¤Ë¡¢¤¢¤Ê¤¿¤Ï½ªÎ»¤µ¤»¤ë¤¿¤á¤Î @code{sleep()} ¥³¡¼¥ë¤òÂÔ¤¿¤Ê¤¯
-¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-@item
-¥ê¥ó¥¯¤·¤Æ¤¤¤ë¤È¤­(¾¯¤Ê¤¯¤È¤âSolaris¤Ç¤Ï)¡¢¤¢¤Ê¤¿¤Ï¤³¤Î¤è¤¦¤Ê warning ¥á¥Ã¥»¡¼¥¸
-¤ò¼õ¤±¼è¤ë¤Ç¤·¤ç¤¦¡£¤³¤ì¤é¤Ï̵»ë¤·¤Æ¤«¤Þ¤¤¤Þ¤»¤ó¡£
-
-@example
-ld: warning: symbol `_iob' has differing sizes:
- (file /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4;
-file /usr/lib/libc.so value=0x140);
- /my/local/pthreads/lib/libpthread.a(findfp.o) definition taken
-ld: warning: symbol `__iob' has differing sizes:
- (file /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4;
-file /usr/lib/libc.so value=0x140);
- /my/local/pthreads/lib/libpthread.a(findfp.o) definition taken
-@end example
-
-@item
-¾¤Î¤¤¤¯¤Ä¤«¤Î warnings ¤â¤Þ¤¿Ìµ»ë¤·¤Æ¤«¤Þ¤¤¤Þ¤»¤ó¡£
-
-@example
-implicit declaration of function `int strtoll(...)'
-implicit declaration of function `int strtoul(...)'
-@end example
-
-@item
-»ä¤¿¤Á¤Ï¤Þ¤À MIT-pthread ¤È¤È¤â¤ËÆ°¤¯ @code{readline} ¤ò¼ê¤ËÆþ¤ì¤Æ¤¤¤Þ¤»¤ó(¤³¤ì¤ÏɬÍפǤÏ
-¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¤ª¤½¤é¤¯Ã¯¤«¤Ë¤Ï¶½Ì£¤¬¤¢¤ë¤Ç¤·¤ç¤¦)¡£
-@end itemize
-
-@node Perl support, Source install system issues, MIT-pthreads, Installing
-@section Perl ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤Ä¤¤¤Æ
-
-@menu
-* Perl installation:: Installing Perl on Unix
-* ActiveState Perl:: Installing ActiveState Perl on Win32
-* Win32 Perl:: Installing the @strong{MySQL} Perl distribution on Win32
-* Perl support problems:: Problems using the Perl @code{DBI}/@code{DBD} interface
-@end menu
-
-@node Perl installation, ActiveState Perl, Perl support, Perl support
-@subsection Unix ¤Ø¤Î Perl ¤Î¥¤¥ó¥¹¥È¡¼¥ë
-
-@strong{MySQL} ¤Ï Perl @code{DBI}/@code{DBD} ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£@xref{Perl}.
-@code{DBI}/@code{DBD} ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î Perl ¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Perl 5.004 °Ê¾å¤¬É¬ÍפǤ¹¡£
-¤³¤ì¤è¤ê¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î Perl ¤Ç¤¹¤È@emph{Æ°¤­¤Þ¤»¤ó}¡£
-
-@strong{MySQL} Perl ¤Ï¡¢ @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¡¦¥×¥í¥°¥é¥ß¥ó¥°¡¦¥µ¥Ý¡¼¥È¤¬
-´û¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤³¤È¤¬¾ò·ï¤Ç¤¹¡£
-¤â¤·¤¢¤Ê¤¿¤¬ RPM ¥Õ¥¡¥¤¥ë¤«¤é @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤Î¤Ê¤é¡¢
-¥¯¥é¥¤¥¢¥ó¥È¡¦¥×¥í¥°¥é¥à¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È RPM ¤Ë¤¢¤ê¤Þ¤¹¡£ ¤¬¡¢
-¥¯¥é¥¤¥¢¥ó¥È¡¦¥×¥í¥°¥é¥ß¥ó¥°¡¦¥µ¥Ý¡¼¥È¤Ï¡¢³«È¯¼Ô¸þ¤± RPM ¤Ë¤¢¤ê¤Þ¤¹¡£
-³«È¯¼Ô¸þ¤± RPM ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤³¤È¤ò³Î¤«¤á¤Æ²¼¤µ¤¤¡£
-
-¤³¤ì¤é¤Ï 3.22.8 ¤«¤é @strong{MySQL} ÇÛÉۤȤÏʬ¤±¤é¤ì¤ÆÇÛÉÛ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤â¤· Perl ¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤¤Ê¤é¡¢@uref{http://www.mysql.com/Contrib} ¤ò
-³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤³¤Ë¤ª¤«¤ì¤Æ¤¤¤Þ¤¹¡£
-
-Perl ¤ÎÇÛÉÛʪ¤Ï @code{tar} ¤Ç¥¢¡¼¥«¥¤¥Ö¤µ¤ì¡¢°µ½Ì¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-@file{MODULE-VERSION.tar.gz} ¤È¤¤¤¦Ì¿Ì¾µ¬Â§¤ÇÇÛÉÛ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-(@code{MODULE} ¤Ï¥â¥¸¥å¡¼¥ë̾¡¢@code{VERSION} ¤Ï¥Ð¡¼¥¸¥ç¥óÈÖ¹æ)
-
-@code{Data-Dumper}, @code{DBI}, @code{Msql-Mysql-modules} ¤¬É¬ÍפǤ¹¡£
-¤³¤ì¤ò¼è¤Ã¤Æ¤­¤¿¤é¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
-@code{Data-Dumper} ¥â¥¸¥å¡¼¥ë¤òÎã¤Ë¤·¤Þ¤¹¤¬¡¢Â¾¤âƱÍͤˤǤ­¤Þ¤¹¡£
-
-@enumerate
-@item
-ÇÛÉÛʪ¤ò¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤ËŸ³«¡§
-@example
-shell> gunzip < Data-Dumper-VERSION.tar.gz | tar xvf -
-@end example
-¤³¤ì¤Ï @file{Data-Dumper-VERSION} ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤ê¤Þ¤¹¡£
-
-@item
-Ÿ³«¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ËÆþ¤ê¤Þ¤¹¡§
-@example
-shell> cd Data-Dumper-VERSION
-@end example
-
-@item
-¥³¥ó¥Ñ¥¤¥ë¡¢¥¤¥ó¥¹¥È¡¼¥ë¡§
-@example
-shell> perl Makefile.PL
-shell> make
-shell> make test
-shell> make install
-@end example
-@end enumerate
-
-¥â¥¸¥å¡¼¥ë¤¬Æ°ºî¤¹¤ë¤«¤ò³Î¤«¤á¤ë¤Î¤Ç @code{make test} ¥³¥Þ¥ó¥É¤Ï½ÅÍפǤ¹¡£
-¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¥³¡¼¥É¤Î¥Æ¥¹¥È¤Î¤¿¤á¤Ë @code{Msql-Mysql-modules} ¤Î
-¥¤¥ó¥¹¥È¡¼¥ëÃæ¤Ë¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë¤Ï¡¢
-@strong{MySQL} ¥µ¡¼¥Ð¡¼¤¬²ÔƯ¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤Ç¤Ê¤±¤ì¤Ð¡¢¥Æ¥¹¥È¤Ï¼ºÇÔ¤·¤Þ¤¹¡£
-
-¿·¤·¤¤¥ê¥ê¡¼¥¹¤Î @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¤Ë¾ï¤Ë
- @code{Msql-Mysql-modules} ¤òºÆ¹½ÃÛ¡¢ºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ï
-¤¤¤¤¹Í¤¨¤Ç¤¹¡£¤¹¤Ù¤Æ¤Î @code{DBI} ¥¹¥¯¥ê¥×¥È¤¬ @strong{MySQL} ¤Î
-¥¢¥Ã¥×¥°¥ì¡¼¥É¸å¤Ë¥³¥¢¥À¥ó¥×¤¹¤ëÃû¸õ¤Ëµ¤¤Å¤¤¤¿¾ì¹ç¤Ï¡¢ÆäË
-¤½¤¦¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-¤â¤· Perl module ¤òÀµ¤·¤¯¥·¥¹¥Æ¥à¥Ç¥£¥ì¥¯¥È¥ê¡¼¤ä¥í¡¼¥«¥ë¤ÎPerl¥Ç¥£¥ì¥¯¥È¥ê
-¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Ê¤¤¾ì¹ç¡¢°Ê²¼¤Îʸ¸¥¤¬ÌòΩ¤Á¤Þ¤¹¡§
-
-@example
-@uref{http://www.iserver.com/support/contrib/perl5/modules.html}
-@end example
-
-¤³¤Î¥Ú¡¼¥¸¤Î°Ê²¼¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡§
-@code{Installing New Modules that Require Locally Installed Modules}.
-
-
-@node ActiveState Perl, Win32 Perl, Perl installation, Perl support
-@subsection Win32 ¤Ø¤Î ActiveState Perl ¤Î¥¤¥ó¥¹¥È¡¼¥ë
-
-Win32 ¾å¤Ë¡¢ ActiveState Perl ¤Ë @strong{MySQL} @code{DBD} ¥â¥¸¥å¡¼¥ë¤ò
-¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡§
-
-@itemize @bullet
-@item Open a DOS shell.
-@item ¤â¤·É¬Íפʤ顢HTTP_proxy ÊÑ¿ô¤ò¥»¥Ã¥È¡£ Î㤨¤Ð
-@code{set HTTP_proxy=my.proxy.com:3128}
-@item PPM ¥×¥í¥°¥é¥à¤Îµ¯Æ°¡§ @code{C:\perl\bin\ppm.pl}
-@item @code{DBI} ¤Î¥¤¥ó¥¹¥È¡¼¥ë(¤â¤·Æþ¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð)¡§ @code{install DBI}
-@item ¤³¤ÎÀ®¸ù¸å¤Ë¡¢ @code{ftp://ftp.de.uu.net/pub/CPAN/authors/id/JWIED/DBD-mysql-1.2212.x86.ppd } ¤ò¥¤¥ó¥¹¥È¡¼¥ë
-@end itemize
-
-The above should work at least with ActiveState Perl 5.6.
-
-¤â¤·¾åµ­¤Î¤è¤¦¤Ë½ÐÍè¤Ê¤±¤ì¤Ð¡¢Âå¤ï¤ê¤Ë @strong{MyODBC} ¥É¥é¥¤¥Ð¡¼¤òÆþ¤ì¡¢
- @strong{MySQL} ¥µ¡¼¥Ð¡¼¤Ë ODBC ·Ðͳ¤ÇÀܳ¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-@example
-use DBI;
-$dbh= DBI->connect("DBI:ODBC:$dsn","$user","$password") ||
- die "Got error $DBI::errstr when connecting to $dsn\n";
-@end example
-
-@node Win32 Perl, Perl support problems, ActiveState Perl, Perl support
-@subsection Win32 ¤Ø¤Î @strong{MySQL} Perl ÇÛÉÛʪ¤Î¥¤¥ó¥¹¥È¡¼¥ë
-
-@strong{MySQL} Perl ÇÛÉÛ¤Ï @code{DBI},
-@code{DBD:MySQL} , @code{DBD:ODBC} ¤ò´Þ¤ß¤Þ¤¹¡£
-
-@itemize @bullet
-@item
-@uref{http://www.mysql.com/download.html} ¤«¤é Perl distribution for Win32 ¤ò¼èÆÀ¡£
-@item @code{C:} ¤Ç unzip ¤·¤Þ¤¹¡£ @file{C:\PERL} ¤¬¤Ç¤­¤Þ¤¹¡£
-@item ¤¢¤Ê¤¿¤Î¥Ñ¥¹¤Ë @file{C:\PERL\BIN} ¤ò²Ã¤¨¤Þ¤¹¡£
-@item ¤¢¤Ê¤¿¤Î¥Ñ¥¹¤Ë @file{C:\PERL\BIN\MSWin32-x86-thread} ¤«
-@file{C:\PERL\BIN\MSWin32-x86} ¤ò²Ã¤¨¤Þ¤¹¡£
-@item DOS shell ¤Ç¡¢ @code{perl -v} ¤ò¼Â¹Ô¤·¤Æ @code{perl} ¤ò¥Æ¥¹¥È¤·¤Þ¤¹¡£
-@end itemize
-
-@node Perl support problems, , Win32 Perl, Perl support
-@subsection Perl @code{DBI}/@code{DBD} »ÈÍÑ»þ¤ÎÌäÂê
-
-¤â¤· Perl ¤¬ @code{../mysql/mysql.so} ¥â¥¸¥å¡¼¥ë¤¬¸«¤Ä¤«¤é¤Ê¤¤¤È¥á¥Ã¥»¡¼¥¸¤ò½Ð¤·¤¿¾ì¹ç¡¢
-¥·¥§¥¢¡¼¥É¥é¥¤¥Ö¥é¥ê @file{libmysqlclient.so} ¤ò¼è¤ê¤³¤á¤Ê¤«¤Ã¤¿¤È¹Í¤¨¤é¤ì¤Þ¤¹¡£
-
-°Ê²¼¤Î¤è¤¦¤ÊÊýË¡¤Ç²ò·èÊýË¡¤¬¤¢¤ê¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-@code{Msql-Mysql-modules} ¤Î¥³¥ó¥Ñ¥¤¥ë¤Ç¤Ï¡¢
-@code{perl Makefile.PL} ¤Î¤«¤ï¤ê¤Ë
-@code{perl Makefile.PL -static -config} ¤È¤·¤Þ¤¹¡£
-
-@item
-@code{libmysqlclient.so} ¤ò¾¤Î¥·¥§¥¢¡¼¥É¥é¥¤¥Ö¥é¥ê¤¬¤¢¤ë¤È¤³¤í(@file{/usr/lib} ¤È¤« @file{/lib})¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£
-
-@item
-@code{Linux} ¤Î¾ì¹ç¡¢@file{/etc/ld.so.conf} ¥Õ¥¡¥¤¥ë¤Ë¡¢@code{libmysqlclient.so}
- ¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò½ñ¤­²Ã¤¨¡¢@code{ldconfig -v} ¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-
-@item
-@tindex LD_RUN_PATH environment variable
-@tindex Environment variable, LD_RUN_PATH
-@code{LD_RUN_PATH} (@code{LD_LIBRARY_PATH}) ´Ä¶­ÊÑ¿ô¤Ë @code{libmysqlclient.so}
- ¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò½ñ¤­²Ã¤¨¤Þ¤¹¡£
-@end itemize
-
-¤â¤· @code{DBD-mysql} ¤Ç°Ê²¼¤Î¥¨¥é¡¼¤¬½Ð¤¿¾ì¹ç¡¢
-@code{gcc} (¤¢¤ë¤¤¤Ï¡¢@code{gcc} ¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¸Å¤¤¥Ð¥¤¥Ê¥ê) ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È
-»×¤ï¤ì¤Þ¤¹¡§
-
-@example
-/usr/bin/perl: can't resolve symbol '__moddi3'
-/usr/bin/perl: can't resolve symbol '__divdi3'
-@end example
-
-@file{mysql.so} ¤òºîÀ®¤¹¤ë»þ¤Î¥ê¥ó¥¯¥³¥Þ¥ó¥É¤Ë
- @code{-L/usr/lib/gcc-lib/... -lgcc} ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£
-(Perl¥¯¥é¥¤¥¢¥ó¥È¤òºî¤ëºÝ¤Î @code{make} ¤Î½ÐÎϤò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤)
-@code{-L} ¥ª¥×¥·¥ç¥ó¤Ë»ØÄꤹ¤ë¤Î¤Ï¡¢¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥àÆâ¤Î @file{libgcc.a} ¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£
-
-Perl ¤È @strong{MySQL} ¤¬ @code{gcc} ¤ò»ÈÍѤ·¤Æºî¤é¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤â¸¶°ø¤È¤·¤Æ¤¢¤ê¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢Î¾Êý¤ò @code{gcc} ¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¥ß¥¹¥Þ¥Ã¥Á¤òÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥¯¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¥·¥¹¥Æ¥à(like SCO)¤ÇPerl¥â¥¸¥å¡¼¥ë¤ò»ÈÍѤ·¤¿¤¤¾ì¹ç¡¢
-@code{DBI} ¤È @code{DBD-mysql} ¤ò´Þ¤à¥¹¥¿¥Æ¥£¥Ã¥¯¤ÎPerl¤òºî¤ë»ö¤â¤Ç¤­¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢¤Þ¤º¡¢ @code{DBI} ¥³¡¼¥É¤¬¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤ëPerl¤òºî¤Ã¤Æ¸½ºß¤ÎPerl¤Î¾å¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
-¤½¤·¤Æ¡¢ @code{DBD} ¥³¡¼¥É¤ò¤µ¤é¤Ë¥ê¥ó¥¯¤µ¤»¤ëPerl¤òºî¤ê¡¢¤½¤ì¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
-
-SCO¤Ç¤Ï¡¢´Ä¶­ÊÑ¿ô¤ò°Ê²¼¤Î¤è¤¦¤Ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡§
-
-@example
-shell> LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/usr/progressive/lib
-or
-shell> LD_LIBRARY_PATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:/usr/progressive/lib:/usr/skunk/lib
-shell> LIBPATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:/usr/progressive/lib:/usr/skunk/lib
-shell> MANPATH=scohelp:/usr/man:/usr/local1/man:/usr/local/man:/usr/skunk/man:
-@end example
-
-ºÇ½é¡¢@code{DBI} ¤ò¥¹¥¿¥Æ¥£¥Ã¥¯¥ê¥ó¥¯¤·¤¿Perl¤òºî¤ë¤¿¤á¤Ë¡¢
- @file{perl/DBI} ¥Ç¥£¥ì¥¯¥È¥ê¤Ç°Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹¡§
-
-@example
-shell> perl Makefile.PL -static -config
-shell> make
-shell> make install
-shell> make perl
-@end example
-
-¤³¤Î¸å¡¢¤¢¤Ê¤¿¤Ï¿·¤·¤¤Perl¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-@code{make perl} ¤ò¤¹¤ë¤È¡¢¥¤¥ó¥¹¥È¡¼¥ëÁàºî¤Ë¼Â¹Ô¤¹¤ë¤ËɬÍ×¤Ê @code{make} ¥³¥Þ¥ó¥É¤ò
-ɽ¼¨¤·¤Þ¤¹¡£
-SCO¤Ç¤Ï¡¢@code{make -f Makefile.aperl inst_perl MAP_TARGET=perl} ¤È¤·¤Þ¤¹¡£
-
-¼¡¤Ë¡¢@code{DBD::mysql} ¤ò¥¹¥¿¥Æ¥£¥Ã¥¯¥ê¥ó¥¯¤·¤¿Perl¤òºî¤ë¤¿¤á¤Ë¡¢
- @file{perl/Mysql-modules} ¥Ç¥£¥ì¥¯¥È¥ê¤Ç°Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹¡§
-
-@example
-shell> perl Makefile.PL -static -config
-shell> make
-shell> make install
-shell> make perl
-@end example
-
-¤³¤ì¤â¿·¤·¤¤Perl¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-@code{make perl} ¤Î½ÐÎϤϻÈÍѤ¹¤ë¥³¥Þ¥ó¥É¤ò¼¨¤·¤Þ¤¹¡£
-
-@node Source install system issues, Win32, Perl support, Installing
-@section System-specific issue
-
-°Ê²¼¤Î¥»¥¯¥·¥ç¥ó¤Ï¡¢¥½¡¼¥¹ÇÛÉÛ¤«¤é @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëºÝ¤Ë
-ÆÃÄê¤Î¥·¥¹¥Æ¥à¾å¤Ëµ¯¤³¤ë¤Èǧ¤á¤é¤ì¤¿ÌäÂê¤Î¤¤¤¯¤Ä¤«¤ò¼¨¤·¤Þ¤¹.
-
-@menu
-* Solaris:: Solaris notes
-* Solaris 2.7:: Solaris 2.7 notes
-* Solaris x86:: Solaris x86 notes
-* SunOS:: SunOS 4 notes
-* Linux:: Linux notes (all Linux versions)
-* Alpha-DEC-Unix:: Alpha-DEC-Unix notes
-* Alpha-DEC-OSF1:: Alpha-DEC-OSF1 notes
-* SGI-Irix:: SGI-Irix notes
-* FreeBSD:: FreeBSD notes
-* NetBSD:: NetBSD notes
-* OpenBSD:: OpenBSD 2.5 notes
-* BSDI:: BSD/OS notes
-* SCO:: SCO notes
-* SCO Unixware:: SCO Unixware 7.0 notes
-* IBM-AIX:: IBM-AIX notes
-* HP-UX 10.20:: HP-UX 10.20 notes
-* HP-UX 11.x::
-* MaxOSX:: MaxOSX notes
-@end menu
-
-@node Solaris, Solaris 2.7, Source install system issues, Source install system issues
-@subsection Solaris notes
-
-Solaris ¤Ç¤Ï @strong{MySQL} ¥½¡¼¥¹¤òŸ³«¤¹¤ë¤È¤­¥È¥é¥Ö¥ë¤¬½Ð¤ë¤Ç¤·¤ç¤¦¡ª
-Solaris ¤Î @code{tar} ¤ÏŤ¤Ì¾Á°¤ò°·¤¨¤º¡¢ @strong{MySQL} ¤òŸ³«¤¹¤ë¾ì¹ç¡¢
-°Ê²¼¤Î¤è¤¦¤Ê¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡§
-
-@example
-x mysql-3.22.12-beta/bench/Results/ATIS-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase, 0 bytes, 0 tape blocks
-tar: directory checksum error
-@end example
-
-¤³¤Î¾ì¹ç¡¢GNU @code{tar} (@code{gtar}) ¤òŸ³«¤Ë»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-¥³¥ó¥Ñ¥¤¥ë¤º¤ß¤Î¤â¤Î¤¬°Ê²¼¤Ë¤¢¤ê¤Þ¤¹¡§
-@uref{http://www.mysql.com/Downloads/}.
-
-Sun ¥Í¥¤¥Æ¥£¥Ö¥¹¥ì¥Ã¥É¤Ï Solaris 2.5 °Ê¾å¤ÇÆ°¤­¤Þ¤¹¡£
-2.4 °Ê²¼¤Î¾ì¹ç¡¢@strong{MySQL} ¤Ï»þưŪ¤Ë MIT-pthreads ¤ò»ÈÍѤ·¤Þ¤¹ @xref{MIT-pthreads}.
-
-¤â¤·¡¢configure »þ¤Ë¡¢°Ê²¼¤Î¥¨¥é¡¼¤¬½Ð¤¿¤Ê¤é¡§
-
-@example
-checking for restartable system calls... configure: error can not run test
-programs while cross compiling
-@end example
-
-¤³¤ì¤Ï¥³¥ó¥Ñ¥¤¥é¡¼¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤Ê¤Ë¤«¤ò´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹!
-¤³¤Î¾ì¹ç¡¢¤¢¤Ê¤¿¤Ï¡¢¤è¤ê¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Ø¥³¥ó¥Ñ¥¤¥é¡¼¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤Ù¤­¤Ç¤¹¡£
-°Ê²¼¤Î¹Ô¤ò @code{config.cache} ¥Õ¥¡¥¤¥ë¤ËÄɲ乤뤳¤È¤Ë¤è¤Ã¤Æ¡¢
-¤³¤ÎÌäÂê¤ò²ò·è¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡§
-
-@example
-ac_cv_sys_restartable_syscalls=$@{ac_cv_sys_restartable_syscalls='no'@}
-@end example
-
-
-¤â¤·¤¢¤Ê¤¿¤¬ SPARC ¤Î Solaris ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢
-@code{gcc} 2.95.2 ¤ò¿ä¾©¤·¤Þ¤¹¡£
-¤³¤ì¤Ï @uref{ttp://gcc.gnu.org/}. ¤Ç¸«¤Ä¤±¤ì¤Þ¤¹¡£
-@code{egs} 1.1.1 ¤È @code{gcc} 2.8.1 ¤Ï SPARC ¾å¤Ç¤Ï´°Á´¤ËÆ°ºî¤·¤Ê¤¤¤³¤È¤ËÃí°Õ¡ª
-
-@code{gcc} 2.95.2 ¤ò»ÈÍѤ·¤¿¡¢¿ä¾©¤¹¤ë @code{configure} ¤Ï:
-
-@example
-shell> CC=gcc CFLAGS="-O6" \
- CXX=gcc CXXFLAGS="-O6 -felide-constructors -fno-exceptions -fno-rtti" \
- ./configure --prefix=/usr/local/mysql --with-low-memory
-@end example
-
-¤â¤· Sun Workshop 4.2 compiler ¤ò»ÈÍѤ¹¤ë¤Ê¤é¡¢@code{configure} ¤ò°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-CC=cc CFLAGS="-xstrconst -Xa -xO4 -native -mt" CXX=CC CXXFLAGS="-xO4 -native -noex -mt" ./configure --prefix=/usr/local/mysql
-
-@example
-shell> CC=cc CFLAGS="-Xa -fast -xO4 -native -xstrconst -mt" \
- CXX=CC CXXFLAGS="-noex -XO4 -mt" \
- ./configure
-@end example
-
-@code{configure} ¥¹¥¯¥ê¥×¥È¤Î¼¡¤Î¹Ô¤ò¡§
-
-@example
-#if !defined(__STDC__) || __STDC__ != 1
-@end example
-
-°Ê²¼¤ËÊѤ¨¤Þ¤¹:
-
-@example
-#if !defined(__STDC__)
-@end example
-
-¤â¤· @code{-Xc} ¥ª¥×¥·¥ç¥ó¤Ç @code{__STDC__} ¤òÍ­¸ú¤Ë¤·¤¿¾ì¹ç¡¢
-Sun compiler ¤Ï Solaris ¤Î @file{pthread.h} ¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ
-¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£
-¤³¤ì¤Ï¥µ¥ó¤Î¥Ð¥°¤Ç¤¹(¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤«¥³¥ó¥Ñ¥¤¥é¡¼¤Î¥Ð¥°)
-
-¤â¤· @code{mysqld} ¤òµ¯Æ°»þ¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬½Ð¤¿¾ì¹ç¡¢
-¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¤ò³°¤·¤Æ(¥ª¥×¥·¥ç¥ó @code{-mt} ¤ò»ØÄê) Sun compiler ¤ò»È¤Ã¤Æ
- @strong{MySQL} ¤ò¥³¥ó¥Ñ¥¤¥ë¤·Ä¾¤·¤Æ¤¯¤À¤µ¤¤¡§
-
-@example
-libc internal error: _rmutex_unlock: rmutex not held
-@end example
-
-@code{-mt} ¤ò @code{CFLAGS} ¤È @code{CXXFLAGS} ¤Ë²Ã¤¨¤Þ¤¹¡£
-
-@code{gcc} ¤Ç @strong{MySQL} ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬½Ð¤¿¾ì¹ç¡¢
-¤³¤ì¤Ï @code{gcc} ¤¬¤¢¤Ê¤¿¤Î Solaris ¤Î¥Ð¡¼¥¸¥ç¥óÍѤËÄ´À°¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡ª
-
-@example
-shell> gcc -O3 -g -O2 -DDBUG_OFF -o thr_alarm ...
-./thr_alarm.c: In function `signal_hand':
-./thr_alarm.c:556: too many arguments to function `sigwait'
-@end example
-
-¤³¤Î¾ì¹ç¡¢¿·¤·¤¤ @code{gcc} ¤Ç¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡ª
-¾¯¤Ê¤¯¤È¤â Solaris 2.5 ¤Ç¤Ï¡¢¤Û¤È¤ó¤É¤Î @code{gcc} ¤Î¥Ð¥¤¥Ê¥ê¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¸Å¤¯¡¢
-¥¹¥ì¥Ã¥É¤ò»ÈÍѤ¹¤ë¥×¥í¥°¥é¥à¤Ë¤Ï¤³¤Î¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤Ï»È¤¨¤Þ¤»¤ó¡ª
-
-Solaris ¤Ï ¥¹¥¿¥Æ¥Ã¥¯¥ê¥ó¥¯¤Î¥·¥¹¥Æ¥à¥é¥¤¥Ö¥é¥ê¡¼¤òÍÑ°Õ¤·¤Æ¤¤¤Þ¤»¤ó
-(@code{libpthreads} and @code{libdl})¡£
-¤½¤Î¤¿¤á¡¢@code{--static} ¥ª¥×¥·¥ç¥ó¤Ç @strong{MySQL} ¤ò¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Þ¤»¤ó¡£
-¤â¤·¤³¤ì¤ò»î¤ß¤¿¾ì¹ç¡¢°Ê²¼¤Î¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡§
-
-@example
-ld: fatal: library -ldl: not found
-@end example
-
-¤â¤·Â¿¤¯¤Î¥×¥í¥»¥¹¤¬Â®¤¯ @code{mysqld} ¤ËÀܳ¤ò»î¤ß¤¿¾ì¹ç¡¢
- @strong{MySQL} ¥í¥°¤Ë°Ê²¼¤Î¤è¤¦¤Ë¥¨¥é¡¼¤¬½Ð¤Þ¤¹:
-
-@example
-Error in accept: Protocol error
-@end example
-
-¥µ¡¼¥Ð¡¼¤ò @code{--set-variable back_log=50} ¥ª¥×¥·¥ç¥ó¤Çµ¯Æ°¤¹¤ì¤Ð¡¢¤³¤ÎÌäÂê¤ËÂнè¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£
-
-¤â¤·¼«Ê¬¤Î @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤ò¥ê¥ó¥¯¤·¤Æ
-¼Â¹Ô»þ¤Ë°Ê²¼¤Î¤è¤¦¤Ë¥¨¥é¡¼¤¬½Ð¤¿¾ì¹ç¡§
-
-@example
-ld.so.1: ./my: fatal: libmysqlclient.so.#: open failed: No such file or directory
-@end example
-
-¤³¤ì¤Ï°Ê²¼¤Î¤É¤ì¤«¤Ç²óÈò¤Ç¤­¤Þ¤¹¡§
-
-@table @bullet
-@item
-°Ê²¼¤Î¥Õ¥é¥°¤Ç¥¯¥é¥¤¥¢¥ó¥È¤ò¥ê¥ó¥¯¤·¤Þ¤¹(@code{-Lpath} ¤ÎÂå¤ï¤ê¤Ë):
-@code{-Wl,r/full-path-to-libmysqlclient.so}
-@item
-@code{libmysqclient.so} ¤ò @file{/usr/lib} ¤Ë¥³¥Ô¡¼¤·¤Þ¤¹
-@item
-@tindex LD_RUN_PATH environment variable
-@tindex Environment variable, LD_RUN_PATH
-@code{LD_RUN_PATH} ´Ä¶­ÊÑ¿ô¤ò @file{libmysqlclient.so} ¤¬Â¸ºß¤¹¤ë¤È¤³¤í¤Ë
-¥»¥Ã¥È¤·¤¿¸å¡¢¥¯¥é¥¤¥¢¥ó¥È¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-@end table
-
-@code{--with-libwrap} configure ¥ª¥×¥·¥ç¥ó»ÈÍÑ»þ¡¢@code{libwrap.a} ¤¬É¬
-ÍפȤ¹¤ë¥é¥¤¥Ö¥é¥ê¤â´Þ¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹:
-
-@example
---with-libwrap="/opt/NUtcpwrapper-7.6/lib/libwrap.a -lnsl -lsocket
-@end example
-
-configure ¤ä @strong{MySQL} ¤¬ @code{-lz} ¤Î¥ê¥ó¥¯¤ò»î¤ß¡¢¤¢¤Ê¤¿¤¬¤½¤ì¤ò
-¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤Ê¤¤¤È¤¤¤¦ÌäÂ꤬¤¢¤ë¾ì¹ç¤Ï¡¢£²¤Ä¤ÎÁªÂò»è¤¬¤¢¤ê¤Þ¤¹:
-
-@itemize @bullet
-@item
-°µ½ÌÄÌ¿®¥×¥í¥È¥³¥ë¤ò»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤·¤¿¤¤¾ì¹ç¡¢ftp.gnu.org ¤«¤é zlib ¤ò
-Æþ¼ê¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-@item
-@code{--with-named-z-libs=no} ¤ò¤Ä¤±¤Æ configure ¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£
-@end itemize
-
-@node Solaris 2.7, Solaris x86, Solaris, Source install system issues
-@subsection Solaris 2.7 notes
-
-Ä̾Solaris 2.6 ¤Î¥Ð¥¤¥Ê¥ê¤Ï Solaris 2.7 ¤Ç»ÈÍѤǤ­¤Þ¤¹¡£
-¤Û¤È¤ó¤É¤Î Solaris 2.6 ¤ÎÌäÂê¤â Solaris 2.7 ¤ËŬÍѤǤ­¤Þ¤¹¡£
-
-Solaris 2.7 ¤Ï¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤Ë¤¤¤¯¤Ä¤«¥Ð¥°¤¬¤¢¤ê¤Þ¤¹¡£
-@code{gcc} ¤Ç°Ê²¼¤Î¤è¤¦¤Ê¥¨¥é¡¼¤¬½Ð¤¿¾ì¹ç¡§
-
-@example
-/usr/include/widec.h:42: warning: `getwc' redefined
-/usr/include/wchar.h:326: warning: this is the location of the previous
-definition
-@end example
-
-°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ²óÈò¤·¤Þ¤¹¡§
-
-@code{/usr/include/widec.h} ¤ò @code{.../lib/gcc-lib/os/gcc-version/include} ¤Ë¥³¥Ô¡¼
-41 ¹ÔÌܤòÊѹ¹:
-
-@example
-Êѹ¹Á°¡§
-
-#if !defined(lint) && !defined(__lint)
-
-Êѹ¹¸å¡§
-
-#if !defined(lint) && !defined(__lint) && !defined(getwc)
-@end example
-
-Âå¤ï¤ê¤Ë¡¢@file{/usr/include/widec.h} ¤òľÀÜÊѹ¹¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
-¤É¤Á¤é¤ÎÊýË¡¤Ë¤·¤Æ¤â¡¢¥Õ¥¡¥¤¥ë¤ò½¤Àµ¸å¤Ï¡¢@file{config.cache} ¤ò
-¾Ã¤·¤Æ @code{configure} ¤òºÆ¼Â¹Ô¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡ª
-
-@code{make} ¼Â¹Ô»þ¤Ë°Ê²¼¤Î¤è¤¦¤Ê¥¨¥é¡¼¤Ë¤Ê¤Ã¤¿¾ì¹ç¡¢@code{configure} ¤¬
- @file{curses.h} ¥Õ¥¡¥¤¥ë¤ò¸¡½Ð¤Ç¤­¤Æ¤¤¤Þ¤»¤ó (¤³¤ì¤Ï @code{/usr/include/widec.h} ¤Î
-¥¨¥é¡¼¤Î¤¿¤á¤Ë¤ª¤­¤Þ¤¹):
-
-@example
-In file included from mysql.cc:50:
-/usr/include/term.h:1060: syntax error before `,'
-/usr/include/term.h:1081: syntax error before `;'
-@end example
-
-¤³¤ì¤ò²ò·è¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤¦¤Á°ì¤Ä¤ò¹Ô¤¤¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-Á°½Ò¤·¤¿¤È¤ª¤ê¡¢@file{/usr/include/widec.h} ¤ò½¤Àµ¤·¡¢configure ¤òºÆ¼Â¹Ô¤·¤Þ¤¹¡£
-@item
-@code{#define HAVE_TERM} ¹Ô¤ò @file{config.h} ¥Õ¥¡¥¤¥ë¤«¤é¾Ã¤·¡¢
-@code{make} ¤òºÆ¼Â¹Ô¤·¤Þ¤¹¡£
-@item
-@code{CFLAGS=-DHAVE_CURSES CXXFLAGS=-DHAVE_CURSES ./configure} ¤È¥³¥ó¥Õ¥£¥®¥ã¡¼¤·¤Þ¤¹¡£
-@end itemize
-
-@node Solaris x86, SunOS, Solaris 2.7, Source install system issues
-@subsection Solarix x86 notes
-
-@code{gcc} ¤« @code{egcs} ¤ò Solaris x86 ¤Ç»ÈÍѤ·¤¿¾ì¹ç¡¢load »þ¤Ë¥³¥¢¥À¥ó¥×¤¹¤ë¾ì¹ç¡¢
-°Ê²¼¤Î¤è¤¦¤Ë @code{configure} ¤·¤Þ¤¹:
-
-@example
-shell> CC=gcc CFLAGS="-O6 -fomit-frame-pointer" \
- CXX=gcc \
- CXXFLAGS="-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" \
- ./configure --prefix=/usr/local/mysql
-@end example
-
-¤³¤ì¤Ï @code{libstdc++} ¥é¥¤¥Ö¥é¥ê¡¼¤È C++ ¤ÎÌäÂê¤ò²óÈò¤·¤Þ¤¹¡£
-
-¤â¤·¤³¤ì¤¬³ºÅö¤·¤Ê¤¤¾ì¹ç¡¢¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Ç¥³¥ó¥Ñ¥¤¥ë¤·¤Æ
-¥Ç¥Ð¥Ã¥°¤Î¥È¥ì¡¼¥¹¥Õ¥¡¥¤¥ë¤ò½ñ¤­½Ð¤¹¤è¤¦¤Ë¤·¤Æµ¯Æ°¤¹¤ë¤«¡¢
-@code{gdb} ¤ò»ÈÍѤ·¤Æµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£
-@xref{Debugging server}.
-
-@node SunOS, Linux, Solaris x86, Source install system issues
-@subsection SunOS 4 notes
-
-SunOS 4 ¤Ç¤Ï MIT-pthreads ¤¬É¬ÍפǤ¹¡£
-¤³¤Î¤¿¤á¤Ë¡¢ GNU @code{make} ¤¬ @strong{MySQL} ¤Î¥³¥ó¥Ñ¥¤¥ë¤ËɬÍפˤʤê¤Þ¤¹¡£
-
-¤¤¤¯¤Ä¤«¤Î SunOS 4 ¤Ç¤Ï dynamic libraries ¤È @code{libtool} ¤ËÌäÂ꤬¤¢¤ê¤Þ¤¹¡£
-¤³¤ì¤òÈò¤±¤ë¤¿¤á¤Ë¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ @code{configure} ¤·¤Þ¤¹¡§
-
-@example
-shell> ./configure --disable-shared --with-mysqld-ldflags=-all-static
-@end example
-
-@code{readline} ¤Î¥³¥ó¥Ñ¥¤¥ë»þ¡¢Æó½ÅÄêµÁ¤Î¥ï¡¼¥Ë¥ó¥°¤¬½Ð¤Þ¤¹¤¬¡¢
-¤³¤ì¤Ï̵»ë¤·¤Æ¹½¤¤¤Þ¤»¤ó¡£
-
-@code{mysqld} ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë»þ¡¢
-¤¤¤¯¤Ä¤« @code{implicit declaration of function} ¥ï¡¼¥Ë¥ó¥°¤¬¤Ç¤Þ¤¹¤¬¡¢
-̵»ë¤·¤Æ¹½¤¤¤Þ¤»¤ó¡£
-
-@node Linux, Alpha-DEC-Unix, SunOS, Source install system issues
-@subsection Linux notes (all Linux versions)
-
-Linux ¤Ç¤Ï @strong{MySQL} ¤Ï LinuxThreads ¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤â¤· @code{glibc2} ¤ò»ý¤¿¤Ê¤¤¸Å¤¤ Linux ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢
-@strong{MySQL} ¤Î¥³¥ó¥Ñ¥¤¥ë¤ÎÁ°¤Ë¡¢
-LinuxThreads ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-@uref{http://www.mysql.com/Downloads/Linux}
-
-Ãí°Õ: 2.1.1 ¤È¤½¤ì°ÊÁ°¤Î @code{glibc} ¥Ð¡¼¥¸¥ç¥ó¤Ï
-@code{pthread_mutex_timedwait} ÁàºîÃæ¤ËÃ×̿Ū¤Ê¥Ð¥°¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï
-@code{INSERT DELAYED} ¤ò¹Ô¤Ê¤¦»þ¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£@code{INSERT DELAYED} ¤ò
-»ÈÍѤ¹¤ë¾ì¹ç¡¢¼¡¤Î¥Ñ¥Ã¥Á¤ò glibc ¥é¥¤¥Ö¥é¥ê¤ËÄɲÃ@strong{¤·¤Ê¤±¤ì¤Ð¤Ê¤ê
-¤Þ¤»¤ó}:
-@uref{http://www.mysql.com/Downloads/Patches/glibc-pthread_cond_timedwait.patch}¡£
-@strong{MySQL} 3.23.7 ¤È @strong{MySQL} 3.22.32 ¤Ï¤³¤Î¥Ð¥°¤Î°ì»þŪ¤Ê²óÈò
-¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£
-
-1000°Ê¾å¤ÎƱ»þÀܳ¤ò»ÈÍѤ¹¤ëͽÄê¤Ç¤¢¤ì¤Ð¡¢LinuxThreads ¤Ë¤¤¤¯¤Ä¤«¤ÎÊѹ¹
-¤ò¤·¤Æ¡¢ºÆ¥³¥ó¥Ñ¥¤¥ë¤·¡¢MySQL ¤ò¿·¤·¤¤ libthread.a ¤ò»ÈÍѤ¹¤ë¤è¤¦¤ËºÆ¥ê
-¥ó¥¯¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£sysdeps/unix/sysv/linux/bits/local_lim.h Æâ¤Î
-PTHREAD_THREADS_MAX ¤ò 4096 ¤ËÁý²Ã¤·¡¢internals.h Ãæ¤Î STACK_SIZE ¤ò
-256 KB ¤Ë¸º¾¯¤µ¤»¤Æ¤¯¤À¤µ¤¤¡£Ãí°Õ: STACK_SIZE ¤¬¥Ç¥Õ¥©¥ë¥È¤Î 2MB ¤Ç¤¢¤ë
-¾ì¹ç¡¢MySQL ¤Ï 1000 ÄøÅÙ¤ÎÀܳ¤Ç°ÂÄê¤Ç¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
-
-glibc 2.1.3-65 ¤«¤½¤ì°Ê¹ß¤Î¾ì¹ç¡¢STACK_SIZE ¤òÁý¤ä¤¹É¬ÍפϤ¢¤ê¤Þ¤»¤ó;
-@code{mysqld} ¤Î @code{thread_stack} ÃͤòÂå¤ï¤ê¤ËÊѹ¹¤Ç¤­¤Þ¤¹¡£
-
-If you use a lot of concurrent connections, you may suffer from a 2.2
-kernel "feature" that penalizes a process for forking or cloning a child
-in an attempt to prevent a fork bomb attack. This will cause MySQL not
-to scale well as you increase the number of concurrent clients. On
-single CPU systems, we have seen this manifested in a very slow thread
-creation - which means it may take a long time to connect to MySQL ( as
-long as 1 minute), and it may take just as long to shut it down. On
-multiple CPU systems, we have observed a gradual drop in query speed as
-the number of clients increases. In the process of trying to find a
-solution, we have received a kernel patch from one of our users, who
-claimed it made a lot of difference for his site. We have done some
-limited testing in which the patch greatly improved the scalabitility of
-MySQL. The patch is available
-@uref{http://www.mysql.com/Downloads/Patches/linux-fork.patch,here} - be
-warned, though, that we assume no reponsibility for any damage that this
-patch could do - use at your own risk. We have also been told by the
-Linux kernel developers that this problem is fixed in 2.4, although we
-have not yet done any testing.
-
-¤â¤· @code{mysqld} ¤¬Æ°¤«¤Ê¤«¤Ã¤¿¤ê¡¢ @code{mysql_install_db} ¤¬Æ°¤«¤Ê¤¤¾ì¹ç¡¢
-°Ê²¼¤òÆɤߤ¹¤¹¤á¤Æ¤¯¤À¤µ¤¤¡ª
-LinuxThreads ¤« @code{libc}/@code{glibc} ¥é¥¤¥Ö¥é¥ê¡¼¤ËÌäÂê¤Î¤¢¤ë Linux ¥·¥¹¥Æ¥à¤À¤±¤Ëµ¯¤³¤ê¤Þ¤¹¡£
-¤·¤«¤· @strong{MySQL} ¤òÆ°¤«¤»¤ë¤¿¤á¤Ë´Êñ¤ÊÊýË¡¤¬Â¿¤¯¤¢¤ê¤Þ¤¹¡£
-°ìÈÖ´Êñ¤ÊÊýË¡¤Ï¡¢¥Ð¥¤¥Ê¥ê¤Ë¤Ê¤Ã¤¿ @strong{MySQL} (not the RPM) ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¤¹¡¨
-¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¥Ð¥¤¥Ê¥ê¤Ï¡¢¤¢¤Ê¤¿¼«¿È¤¬¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤â¤Î¤è¤ê 10% ¤Û¤É®¤¤¤Ç¤·¤ç¤¦¡ª
-@xref{Compile and link options}.
-
-°ì¤ÄÃΤé¤ì¤Æ¤¤¤ëÌäÂê¤È¤·¤Æ¡¢¥Ð¥¤¥Ê¥êÇÛÉÛ¤ò @code{libc5} ¤Î¸Å¤¤ Linux ¥·¥¹¥Æ¥à
-(RedHat 4.x , Slackware 3.6°Ê²¼, Debian 1.3 bo °Ê²¼¤Ê¤É)
-¤Ç»ÈÍѤ¹¤ë¤È¡¢¥Û¥¹¥È̾²ò·è¤ÎÃ×̿Ū¤Ê¥¨¥é¡¼¤¬½Ð¤Þ¤¹
-@xref{Binary notes-Linux}.
-
-@code{myisamchk} ¤Ï @code{libc.so.5.3.12} ¤Ç»ÈÍѤ¹¤ë¤È¥Ï¥ó¥°¤ê¤Þ¤¹.
-ºÇ¿·¤Î @code{libc} ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-LinuxThreads ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢ºÇÄ㣳¤Ä¤Î¥×¥í¥»¥¹¤¬Áö¤ê¤Þ¤¹¡£
-¤³¤ì¤é¤Ï¼Â¥¹¥ì¥Ã¥É¤Ç¡¢°ì¤Ä¤Ï LinuxThreads ¥Þ¥Í¡¼¥¸¥ã¡¼¤Î¤¿¤á¤Ë¡¢
-°ì¤Ä¤ÏÀܳ¤Î¥Ï¥ó¥É¥ë¤Ë¡¢¤â¤¦¤Ò¤È¤Ä¤Ï¥¢¥é¡¼¥à¤È¥·¥°¥Ê¥ë¤Î¥Ï¥ó¥É¥ë¤Ç¤¹¡£
-
-Ãí°Õ: linux ¥«¡¼¥Í¥ë¤È linuxthread ¥é¥¤¥Ö¥é¥ê¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï 1024 ¥¹¥ì¥Ã
-¥É¤À¤±»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¥Ñ¥Ã¥Á¤òŬÍѤ·¤Æ¤¤¤Ê¤¤¥·¥¹¥Æ¥à¾å¤Ç¤Ï
-MySQL ¤Ø¤ÎÀܳ¤ÏºÇÂç 1021 ¤À¤±¤Ç¤¢¤ë¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¥Ú¡¼¥¸
-@uref{http://www.volano.com/linuxnotes.html} ¤Ï¤³¤ÎÀ©¸Â¤ò¤É¤Î¤è¤¦¤Ë²óÈò
-¤¹¤ë¤«¤Î¾ðÊ󤬴ޤޤì¤Æ¤¤¤Þ¤¹¡£
-
-¤â¤· @code{mysqld} ¥Ç¡¼¥â¥ó¥×¥í¥»¥¹¤¬ @code{ps} ¤Ê¤É¤Ç¤ß¤ë¤È»à¤ó¤Ç¤¤¤ë¤è¤¦¤Ç¤¢¤ì¤Ð,
-Ä̾盧¤ì¤Ï @strong{MySQL} ¥Ð¥°¤«¡¢²õ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
-@xref{Crashing}.
-
-LinuxThreads ¤ò»ÈÍѤ·¤Æ¤¤¤Æ @code{mysqladmin shutdown} ¤¬Æ°¤«¤Ê¤¤¾ì¹ç¡¢
-LinuxThreads 0.7.1 °Ê¾å¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-RedHat ¤ò»ÈÍѤ·¤Æ¤¤¤Æ, °Ê²¼¤Î¤è¤¦¤Ê¥¨¥é¡¼¤¬½Ð¤¿¾ì¹ç¡§
-
-@example
-/usr/bin/perl is needed...
-/usr/sh is needed...
-/usr/sh is needed...
-@end example
-
-¤³¤Î¾ì¹ç¡¢ @code{rpm} ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò
- @file{rpm-2.4.11-1.i386.rpm} ¤È @file{rpm-devel-2.4.11-1.i386.rpm} (°Ê¾å)
- ¤Ë¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
-
-RedHat 4.2 ¤Ï°Ê²¼¤«¤é¥¢¥Ã¥×¥°¥ì¡¼¥É¤¬Æþ¼ê¤Ç¤­¤Þ¤¹¡£
-@uref{ftp://ftp.redhat.com/updates/4.2/i386}.
-¤¢¤ë¤¤¤Ï¾¤Î¾ì¹ç¤Ï
-@uref{http://www.sunsite.unc.edu/pub/Linux/distributions/redhat/code/rpm/}
-
-¤â¤· @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¤ò¼Â¹Ô¤·¤Æ°Ê²¼¤Î¥¨¥é¡¼¤Ë¤Ê¤Ã¤¿¾ì¹ç¡§
-
-@example
-ld.so.1: ./my: fatal: libmysqlclient.so.4: open failed: No such file or directory
-@end example
-
-°Ê²¼¤ÎÊýË¡¤Ç²ò·è¤Ç¤­¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¥¯¥é¥¤¥¢¥ó¥È¤ò°Ê²¼¤Î¥Õ¥é¥°¤Ç(@code{-Lpath}¤Î¤«¤ï¤ê¤Ë)¥ê¥ó¥¯¤·¤Þ¤¹¡§
-@code{-Wl,r/path-libmysqlclient.so}
-@item
-@code{libmysqclient.so} ¤ò @file{/usr/lib} ¤Ë¥³¥Ô¡¼¤·¤Þ¤¹
-@item
-@tindex LD_RUN_PATH environment variable
-@tindex Environment variable, LD_RUN_PATH
-@code{LD_RUN_PATH} ´Ä¶­ÊÑ¿ô¤ò @file{libmysqlclient.so} ¤¬Â¸ºß¤¹¤ë¾ì½ê¤ËÀßÄꤷ¤Þ¤¹¡£
-(¥¯¥é¥¤¥¢¥ó¥È¤ò¼Â¹Ô¤¹¤ëÁ°¤ËÀßÄꤷ¤Þ¤¹)
-@end itemize
-
-ÉÙ»ÎÄÌ¥³¥ó¥Ñ¥¤¥é @code{(fcc / FCC)} ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢@strong{MySQL}
-¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë¤¤¤¯¤Ä¤«¤ÎÌäÂ꤬¤¢¤ê¤Þ¤¹¡£Linux ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ï¤È¤Æ¤â
-@code{gcc} »Ø¸þ¤Ç¤¢¤ë¤¿¤á¤Ç¤¹¡£
-
-¼¡¤Î @code{configure} ¹Ô¤Ï @code{fcc/FCC} ¤ÇÆ°ºî¤·¤Þ¤¹:
-
-@example
-CC=fcc CFLAGS="-O -K fast -K lib -K omitfp -Kpreex -D_GNU_SOURCE -DCONST=const -DNO_STRTOLL_PROTO" CXX=FCC CXXFLAGS="-O -K fast -K lib -K omitfp -K preex --no_exceptions --no_rtti -D_GNU_SOURCE -DCONST=const -Dalloca=__builtin_alloca -DNO_STRTOLL_PROTO '-D_EXTERN_INLINE=static __inline'" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared --with-low-memory
-@end example
-
-@menu
-* Linux-x86:: Linux-x86 notes
-* Linux-RedHat50:: RedHat 5.0 notes
-* Linux-RedHat51:: RedHat 5.1 notes
-* Linux-SPARC:: Linux-Sparc notes
-* Linux-Alpha:: Linux-Alpha notes
-* MKLinux:: MkLinux notes
-* Qube2:: Qube2 Linux notes
-@end menu
-
-@node Linux-x86, Linux-RedHat50, Linux, Linux
-@subsubsection Linux-x86 notes
-
-@strong{MySQL} ¤Ï @code{libc} 5.4.12 °Ê¾å¤¬É¬ÍפǤ¹¡£@code{libc} 5.4.46 ¤ÇÆ°ºî¤·¤Þ¤¹¡£
-@code{glibc} 2.0.6 °Ê¾å¤Ç¤âÆ°ºî¤·¤Þ¤¹¡£
-@code{glibc} ¤Î RPM ¤Ë¤Ï¤¤¤¯¤Ä¤«ÌäÂ꤬¤¢¤ê¡¢¥¢¥Ã¥×¥Ç¡¼¥È¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
-@code{glibc} 2.0.7-19 ¤È 2.0.7-29 RPM ¤ÇÆ°ºî¤·¤Þ¤¹¡£
-
-¸Å¤¤ Linux ÇÛÉÛʪ¤Ç¤Ï¡¢@code{configure} »þ¤Ë°Ê²¼¤Î¤è¤¦¤Ê¥¨¥é¡¼¤¬½Ð¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡§
-
-@example
-Syntax error in sched.h. Change _P to __P in the /usr/include/sched.h file.
-See the Installation chapter in the Reference Manual.
-@end example
-
-¤³¤ì¤Ï @code{_P} ¥Þ¥¯¥í¤¬°ì¤Ä¤Î¥¢¥ó¥À¡¼¥¹¥³¥¢¤·¤«¤â¤Æ¤Ê¤¤¤¿¤á¤Ç¡¢
-¤³¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Î¤è¤¦¤ËÂн褷¤Æ¤¯¤À¤µ¤¤¡£
-
-°Ê²¼¤Î¤è¤¦¤Ê¥ï¡¼¥Ë¥ó¥°¤Ï̵»ë¤·¤Æ¹½¤¤¤Þ¤»¤ó¡§
-
-@example
-mysqld.cc -o objs-thread/mysqld.o
-mysqld.cc: In function `void init_signals()':
-mysqld.cc:315: warning: assignment of negative value `-1' to `long unsigned int'
-mysqld.cc: In function `void * signal_hand(void *)':
-mysqld.cc:346: warning: assignment of negative value `-1' to `long unsigned int'
-@end example
-
-Debian GNU/Linux ¤Ç¤Ï¡¢@strong{MySQL} ¤ò¥Þ¥·¥ó¤Îµ¯Æ°»þ¤ËΩ¤Á¤¢¤²¤ë¤¿¤á¤Ë¤Ï¡¢
-°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-shell> cp support-files/mysql.server /etc/init.d/mysql.server
-shell> /usr/sbin/update-rc.d mysql.server defaults 99
-@end example
-
-@code{mysql.server} ¥¹¥¯¥ê¥×¥È¤Ï @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿Àè¤Î
- @file{share/mysql} directory ¤Ë¤¢¤ê¤Þ¤¹¡£
-¤¢¤ë¤¤¤Ï¡¢ @strong{MySQL} ¤Î¥½¡¼¥¹¤ÎÃæ¤Î @file{support-files} ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£
-
-
-@code{mysqld} ¤¬¤Ä¤Í¤Ë¥¹¥¿¡¼¥È»þ¤Ë¥³¥¢¤ò¤Ï¤¯¾ì¹ç¡¢
-¸Å¤¤ @file{/lib/libc.a} ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-@file{sql/mysqld} ¤ò¾Ãµî¤·¤Æ¡¢¿·¤·¤¯ @code{make install} ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤ì¤Ï¤¤¤¯¤Ä¤«¤Î Slackware ¤ÇÊó¹ð¤µ¤ì¤¿¸½¾Ý¤Ç¤¹¡£
-RedHat 5.0 ¤Ï @code{glibc} ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤ÆÌäÂ꤬ȯÀ¸¤·¤Þ¤¹¡£
-@xref{Linux-RedHat50}.
-
-¤â¤· @code{mysqld} ¤ò¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Ë°Ê²¼¤Î¤è¤¦¤Ê¥¨¥é¡¼¤¬½Ð¤¿¾ì¹ç¡¢
- @file{libg++.a} ¤¬Àµ¤·¤¯¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡§
-
-@example
-/usr/lib/libc.a(putc.o): In function `_IO_putc':
-putc.o(.text+0x0): multiple definition of `_IO_putc'
-@end example
-
-@file{libg++.a} ¤Î»ÈÍѤòÈò¤±¤ë¤Ë¤Ï¡¢ @code{configure} ¤ò°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-shell> CXX=gcc ./configure
-@end example
-
-@node Linux-RedHat50, Linux-RedHat51, Linux-x86, Linux
-@subsubsection RedHat 5.0 notes
-
-¤â¤· RedHat ¤Ç @strong{MySQL} ¤ËÌäÂ꤬¤¢¤ë¾ì¹ç¡¢¤Þ¤º @code{glibc} ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò¿·¤·¤¤¤â¤Î¤Ë¤¢¤²¤Æ¤¯¤À¤µ¤¤¡ª
-
-RedHat ¤Î¥ª¥Õ¥£¥·¥ã¥ë¥Ñ¥Ã¥Á(including @code{glibc-2.0.7-19} and @code{glibc-devel-2.0.7-19})
-¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤ë¤Ê¤é¡¢ @strong{MySQL} ¤ÏÌäÂê¤Ê¤¯Æ°¤¯¤Ï¤º¤Ç¤¹¡ª
-
-@code{glibc} 2.0.5 ¤Ë¤Ï @code{pthread_key_create} ÊÑ¿ô¤ò²òÊü¤¹¤ëÉôʬ¤Ë¥Ð¥°¤¬¤¢¤ê¡¢
-¥¢¥Ã¥×¥Ç¡¼¥È¤¬É¬ÍפǤ¹¡£@code{glibc} 2.0.5 ¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢
-¥¹¥¿¥Æ¥£¥Ã¥¯¥ê¥ó¥¯¤µ¤ì¤ÆºîÀ®¤µ¤ì¤¿ @strong{MySQL} ¥Ð¥¤¥Ê¥êÇÛÉÛʪ¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-¥½¡¼¥¹¤«¤é¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤¤¾ì¹ç¡¢ @uref{http://www.mysql.com/Downloads/Linux} ¤Ë¤¢¤ë
-LinuxThreads ¤Î½¤ÀµÈǤò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤«¡¢
-¤¢¤ë¤¤¤Ï @code{glibc} ¤ò¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-¤â¤· @code{glibc} or LinuxThreads ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ÌäÂê¤Î¤¢¤ë¤â¤Î¤À¤È¡¢
- @code{mysqld} ¤Ï¥³¥Í¥¯¥·¥ç¥ó¤ÎÅ٤˥¯¥é¥Ã¥·¥å¤·¤Þ¤¹¡£
-Î㤨¤Ð¡¢@code{mysqladmin version} ¤Ï @code{mysqld} ¤ò´°Á´¤Ë¥¯¥é¥Ã¥·¥å¤·¤Þ¤¹¡ª
-
-¤Þ¤¿¡¢ÌäÂê¤Î¤¢¤ë¥é¥¤¥Ö¥é¥ê¡¼¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È¡¢ @code{mysqld} ¤Ïµ¯Æ°»þ¤Ë¥¯¥é¥Ã¥·¥å¤·¤Þ¤¹¡£
-¤¤¤¯¤Ä¤«¤Î Linux systems ¤Ç¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ configure ¤Ç¤³¤ì¤òÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡§
-
-@example
-shell> ./configure --with-mysqld-ldflags=-all-static
-@end example
-
-RedHat 5.0 ¤Ç¤Ï¡¢@code{glibc} 2.0.7-19 RPM ¤ò´Êñ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¤Î¤Ç¡¢
-¥¤¥ó¥¹¥È¡¼¥ë¸å¡¢@code{--with-mysqld-ldflags=-all-static} ¤Ê¤·¤Ç @code{configure} ¤Ç¤­¤Þ¤¹¡£
-
-@code{glibc} 2.0.7 ¤Î¥½¡¼¥¹¤ËÂФ¹¤ë¥Ñ¥Ã¥Á¤Ï
-@example
-@uref{http://www.mysql.com/Download/Linux/glibc-2.0.7-total-patch.tar.gz}
-@end example
- ¤Ë¤¢¤ê¤Þ¤¹¡£
-¤³¤Î¥Ñ¥Ã¥Á¤Ï @strong{MySQL} ¤¬¥Æ¥¹¥È¤µ¤ì¤¿¥Ñ¥Ã¥Á¤Ç¡¢´Êñ¤ËŬÍѤǤ­¤Þ¤¹¡£
-
-¤â¤· @strong{MySQL} ¹½ÃÛ»þ¤Ë¥¯¥é¥Ã¥·¥å¤¹¤ë¾ì¹ç¡¢¿·¤·¤¤ @strong{MySQL} ¤Î
-¥Ð¥¤¥Ê¥ê¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¥¹¥¿¥Æ¥£¥Ã¥¯¥ê¥ó¥¯¤ÇºîÀ®¤µ¤ì¤Æ¤ª¤ê¡¢
-¥é¥¤¥Ö¥é¥ê¡¼¤Î¾×ÆͤòÈò¤±¤ë¤³¤È¤¬¤Ç¤­¡¢Á´¤Æ¤Î Linux ¤ÇÆ°¤¯¤Ï¤º¤Ç¤¹¡ª
-
-@strong{MySQL} ¤Ï¥Ç¥Ð¥Ã¥°¤Î¤¿¤á¥È¥ì¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë¾ðÊó¤ò½ñ¤­½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤³¤ì¤ÏÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¥Ò¥ó¥È¤Ë¤Ê¤ë¾ðÊó¤ò¿¤¯½ÐÎϤ·¤Þ¤¹¡£
-@xref{Debugging server}.
-
-@node Linux-RedHat51, Linux-SPARC, Linux-RedHat50, Linux
-@subsubsection RedHat 5.1 notes
-
-RedHat 5.1 ¤Î @code{glibc} (@code{glibc} 2.0.7-13) ¤Ï¥á¥â¥ê¡¼¥ê¡¼¥¯¤·¤Þ¤¹¡£
-@code{glibc} ¤ò 2.0.7-19 ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-¤¢¤ë¤¤¤Ï¡¢¥Ð¥¤¥Ê¥êÇÛÉۤΠ@code{mysqld} ¤ò»ÈÍѤ¹¤ë¤«¤Ç¤¹¡£
-¤â¤·¤³¤ì¤ò¹Ô¤ï¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥á¥â¥ê¡¼´ØÏ¢¤ÎÌäÂ꤬ȯÀ¸¤·¤Þ¤¹(out of memory, etc.,etc.)¡£
-¿¤¯¤Î¾ì¹ç°Ê²¼¤Î¤è¤¦¤Ë¡§
-
-@example
-Can't create a new thread (errno 11). If you are not out of available
-memory, you can consult the manual for any possible OS dependent bug
-@end example
-
-@code{glibc} 2.0.7-19 ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¸å¤Ï¡¢@strong{MySQL} ¤ò
-¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥¯»ØÄê(¥Ç¥Õ¥©¥ë¥È)¤Ç configure ¤Ç¤­¤Þ¤¹¡£
-¤¬¡¢@code{glibc} 2.0.7-19 ¤ò¥½¡¼¥¹¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¸Â¤ê¡¢
-@code{--with-mysqld-ldflags=-all-static} ¥ª¥×¥·¥ç¥ó¤Ï @code{configure} ¤Ç@strong{»ÈÍѤǤ­¤Þ¤»¤ó}¡ª
-
-@code{glibc} ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï @code{rpm -q glibc} ¤Ç³Îǧ¤Ç¤­¤Þ¤¹¡£
-
-@node Linux-SPARC, Linux-Alpha, Linux-RedHat51, Linux
-@subsubsection Linux-SPARC notes
-
-¤¤¤¯¤Ä¤«¤ÎËä¤á¹þ¤ß´Ø¿ô, @code{readdir_r()} ¤¬²õ¤ì¤Þ¤¹¡£
-¤³¤Î¸²¤ì¤È¤·¤Æ¡¢@code{SHOW DATABASES} ¤¬¾ï¤Ë¶õ¤òÊÖ¤·¤Þ¤¹¡£
-¤³¤ì¤Ï configure ¸å¡¢¥³¥ó¥Ñ¥¤¥ë¤¹¤ëÁ°¤Ë¡¢
-@file{config.h} ¤«¤é @code{HAVE_READDIR_R} ¤ò¼è¤ê½ü¤¯¤³¤È¤Ç²ò·è¤·¤Þ¤¹¡£
-
-¤½¤Î¾¤¤¤¯¤Ä¤«¤ÎÌäÂê¤Ï¡¢¤¢¤Ê¤¿¤Î Linux ¤Ë¥Ñ¥Ã¥Á¤òÅö¤Æ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¥Ñ¥Ã¥Á¤Ï @uref{http://www.mysql.com/patches/Linux-sparc-2.0.30.diff} ¤Ë¤¢¤ê¤Þ¤¹¡£
-¤³¤Î¥Ñ¥Ã¥Á¤Ï¡¢@code{vger.rutgers.edu} ¤Ë¤¢¤ë @file{sparclinux-2.0.30.tar.gz} ÍѤǤ¹¡£
-(¤³¤ì¤ÏÀµ¼°¤Î 2.0.30 ¤È¤Ï°ã¤¤¤Þ¤¹¡£¥Ñ¥Ã¥Á¤òÀµ¼°2.0.30¤ËÅö¤Æ¤Ê¤¤¤è¤¦¤Ë)
-¤½¤·¤Æ LinuxThreads 0.6 ¤«¤½¤ì°Ê¾å¤Ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-¤³¤ì¤Ï @email{jacques@@solucorp.qc.ca} ¤«¤é´ó¤»¤é¤ì¤Þ¤·¤¿¡£
-
-@node Linux-Alpha, MKLinux, Linux-SPARC, Linux
-@subsubsection Linux-Alpha notes
-
-@strong{MySQL} 3.23.12 ¤¬¡¢Linux-Alpha ¾å¤ÇºÇ½é¤Ë¥Æ¥¹¥È¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤Ç¤¹¡£
-¤â¤· @strong{MySQL} ¤ò Linux-Alpha ¾å¤Ç»ÈÍѤ·¤¿¤¤¤È¹Í¤¨¤¿¤Ê¤é¡¢
-¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤è¤ê¿·¤·¤¤¤â¤Î¤ò»ÈÍѤ·¤Þ¤¹¡£
-
-Linux-Alpha ¤Ç¤Î°ìÈÖÂ礭¤ÊÌäÂê¤Ï¡¢¤³¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î @code{glibc} ¤Ë
-¤Þ¤À¤¤¤¯¤Ä¤«ÌäÂ꤬¤¢¤ë¤³¤È¤Ç¤¹¡£ ºÇ¿·¤Î @code{glibc} ¤òÆÀ¤ë¤³¤È¤«¤é
-¤Ï¤¸¤á¤Æ¤¯¤À¤µ¤¤¡£
-
-We have tested @strong{MySQL} on Alpha with our benchmarks + test suite and
-it appears to work nicely. The main thing we haven't yet had time to test
-is how things works with many concurrent users.
-
-When we compiled @strong{MySQL} we where using SuSE 6.3, kernel 2.2.13-SMP,
-egcs 1.1.2 and libc-2.1.2-28.
-
-We used the following configure line:
-
-@example
-CFLAGS="-O6 -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --disable-shared
-@end example
-
-If you have access to Compaq's C compiler, the following configure line
-will give you about 9 % more performance:
-@example
-CC=ccc CFLAGS="-fast -O3 -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti -mcpu=ev6 -Wa,-mev6" CXXLDFLAGS='/usr/lib/compaq/libots-2.2.7/libots.so /usr/lib/compaq/cpml-5.0.0/libcpml_ev6.a' ./configure --prefix=/usr/local/mysql --disable-shared
-@end example
-
-Note that the last example assumes your are using an Alpha EV6 processor.
-
-Some known problems when running @strong{MySQL} on Linux-Alpha:
-
-@itemize @bullet
-@item
-If you create many files ( > 10000) in one directory (as done by the
-@code{test-create} in the @strong{MySQL} benchmarks, mysqld may report
-the error @code{Can't create/write to file '...' (Errcode: 12)}. This
-is probably a bug in the Linux-Alpha kernel.
-@item
-Debugging threaded applications like @strong{MySQL} will not work with
-@code{gdb 4.18}. You should download and use gdb 5.0 instead!
-@item
-If you try linking mysqld staticly, the resulting image will core dump
-at start. In other words, @strong{DON'T} use
-@code{--with-mysqld-ldflags=-all-static}
-@end itemize
-
-We don't yet know if the following old information is still relevant, so we
-leave this here until we have had time to test Linux-Alpha properly.
-
-¤â¤·¥·¥°¥Ê¥ë¤ÇÌäÂ꤬¤¢¤ë¾ì¹ç (@strong{MySQL} dies unexpectedly
-under high load)¡¢¤³¤ì¤Ï OS ¤È¥¹¥ì¥Ã¥É¤Î¥Ð¥°¤Ç¤·¤ç¤¦¡£
-¤³¤Î¾ì¹ç¡¢@strong{MySQL} ¤ò¥·¥°¥Ê¥ë¤ò»ÈÍѤ·¤Ê¤¤¤è¤¦¤Ë¡¢configure »þ¤Ë»ØÄê¤Ç¤­¤Þ¤¹¡§
-
-@example
-shell> CFLAGS=-DDONT_USE_THR_ALARM \
- CXXFLAGS=-DDONT_USE_THR_ALARM \
- ./configure ...
-@end example
-
-¤³¤ì¤Ï @strong{MySQL} ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Ë±Æ¶Á¤·¤Þ¤»¤ó¤¬¡¢
-@code{mysqladmin kill} or @code{mysqladmin shutdown} ¤ò»ÈÍѤ·¤Æ¡¢
-Àܳ¤¬ ``sleeping'' ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤ò kill ¤Ç¤­¤Þ¤»¤ó¡£
-¼¡¤Î¥³¥Þ¥ó¥É¤òȯ¹Ô¤·¤¿¤È¤­¡¢¤½¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ï»à¤Ë¤Þ¤¹¡£
-
-
-@node MKLinux, Qube2, Linux-Alpha, Linux
-@subsubsection MkLinux notes
-
-@strong{MySQL} ¤ÏºÇ¿·¤Î @code{glibc} ¤ò»ÈÍѤ·¤¿ MkLinux ¤ÇÆ°ºî¤·¤Þ¤¹¡£
-(@code{glibc} 2.0.7 ¤Ç¥Æ¥¹¥È¤·¤Þ¤·¤¿).
-
-@node Qube2, , MKLinux, Linux
-@subsubsection Qube2 Linux notes
-
-Qube2 (Linux Mips) ¾å¤Ç @strong{MySQL} ¤òÆ°ºî¤µ¤»¤ë¤Ë¤Ï¡¢
-ºÇ¿·¤Î @code{glibc} ¥é¥¤¥Ö¥é¥ê¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó(@code{glibc-2.0.7-29C2} ¤ÏÆ°ºî¤¹¤ë¤³¤È¤¬Ê¬¤«¤Ã¤Æ¤¤¤Þ¤¹)¡£ ¤½¤·¤Æ¡¢ @code{egcs} C++ compiler (@code{egcs-1.0.2-9}, @code{gcc 2.95.2} °Ê¾å) ¤ò»ÈÍѤ·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-
-@node Alpha-DEC-Unix, Alpha-DEC-OSF1, Linux, Source install system issues
-@subsection Alpha-DEC-Unix notes
-
-When compiling threaded programs under Digital UNIX, the documentation
-recommends the @code{-pthread} option for @code{cc} and @code{cxx} and the
-libraries @code{-lmach -lexc} (in addition to @code{-lpthread}).
-You should run @code{configure} something like this:
-
-@example
-shell> CC="cc -pthread" CXX="cxx -pthread -O" \
- ./configure --with-named-thread-libs="-lpthread -lmach -lexc -lc"
-@end example
-
-When compiling @code{mysqld}, you may see a couple of warnings like this:
-
-@example
-mysqld.cc: In function void handle_connections()':
-mysqld.cc:626: passing long unsigned int *' as argument 3 of
-accept(int,sockadddr *, int *)'
-@end example
-
-You can safely ignore these warnings. They occur because @code{configure}
-can't detect warnings, only errors.
-
-If you start the server directly from the command line, you may have problems
-with it dying when you log out. (When you log out, your outstanding processes
-receive a @code{SIGHUP} signal.) If so, try starting the server like this:
-
-@example
-shell> nohup mysqld [options] &
-@end example
-
-@code{nohup} causes the command following it to ignore any @code{SIGHUP}
-signal sent from the terminal. Alternatively, start the server by running
-@code{safe_mysqld}, which invokes @code{mysqld} using @code{nohup} for you.
-
-@node Alpha-DEC-OSF1, SGI-Irix, Alpha-DEC-Unix, Source install system issues
-@subsection Alpha-DEC-OSF1 notes
-
-If you have problems compiling and have DEC @code{CC} and @code{gcc}
-installed, try running @code{configure} like this:
-
-@example
-shell> CC=cc CFLAGS=-O CXX=gcc CXXFLAGS=-O3 \
- ./configure --prefix=/usr/local/mysql
-@end example
-
-If you get problems with the @file{c_asm.h} file, you can create and use
-a 'dummy' @file{c_asm.h} file with:
-
-@example
-shell> touch include/c_asm.h
-shell> CC=gcc CFLAGS=-I./include \
- CXX=gcc CXXFLAGS=-O3 \
- ./configure --prefix=/usr/local/mysql
-@end example
-
-On OSF1 V4.0D and compiler "DEC C V5.6-071 on Digital UNIX V4.0 (Rev. 878)"
-the compiler had some strange behavior (undefined @code{asm} symbols).
-@code{/bin/ld} also appears to be broken (problems with @code{_exit
-undefined} errors occuring while linking @code{mysqld}). On this system, we
-have managed to compile @strong{MySQL} with the following @code{configure}
-line, after replacing @code{/bin/ld} with the version from OSF 4.0C:
-
-@example
-shell> CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql
-@end example
-
-With the Digital compiler "C++ V6.1-029", the following should work:
-
-@example
-CC=cc -pthread
-CFLAGS=-O4 -ansi_alias -ansi_args -fast -inline speed -speculate all -arch host
-CXX=cxx -pthread
-CXXFLAGS=-O4 -ansi_alias -ansi_args -fast -inline speed -speculate all -arch host
-export CC CFLAGS CXX CXXFLAGS
-./configure --prefix=/usr/mysql/mysql --with-low-memory --enable-large-files --with-mysqld-ldflags=-all-static --disable-shared --with-named-thread-libs="-lmach -lexc -lc"
-@end example
-
-In some versions of OSF1, the @code{alloca()} function is broken. Fix
-this by removing the line in @file{config.h} that defines @code{'HAVE_ALLOCA'}.
-
-The @code{alloca()} function also may have an incorrect prototype in
-@code{/usr/include/alloca.h}. This warning resulting from this can be ignored.
-
-@code{configure} will use the following thread libraries automatically:
-@code{--with-named-thread-libs="-lpthread -lmach -lexc -lc"}.
-
-When using @code{gcc}, you can also try running @code{configure} like this:
-
-@example
-shell> CFLAGS=-D_PTHREAD_USE_D4 CXX=gcc CXXFLAGS=-O3 ./configure ....
-@end example
-
-If you have problems with signals (@strong{MySQL} dies unexpectedly
-under high load) you may have found an OS bug with threads and
-signals. In this case you can tell @strong{MySQL} not to use signals by
-configuring with:
-
-@example
-shell> CFLAGS=-DDONT_USE_THR_ALARM \
- CXXFLAGS=-DDONT_USE_THR_ALARM \
- ./configure ...
-@end example
-
-This doesn't affect the performance of @strong{MySQL}, but has the side
-effect that you can't kill clients that are ``sleeping'' on a connection with
-@code{mysqladmin kill} or @code{mysqladmin shutdown}. Instead, the client
-will die when it issues its next command.
-
-With @code{gcc} 2.95.2, you will probably run into the following compile error:
-
-@example
-sql_acl.cc:1456: Internal compiler error in `scan_region', at except.c:2566
-Please submit a full bug report.
-@end example
-
-To fix this you should change to the @code{sql} directory and do a 'cut
-and paste' of the last @code{gcc} line, but change @code{-O3} to @code{-O0} (or
-@code{-O0} immediately after @code{gcc} if you don't have any @code{-O}
-option on your compile line. After this is done you can just change back to
-the top level directly and run @code{make} again.
-
-@node SGI-Irix, FreeBSD, Alpha-DEC-OSF1, Source install system issues
-@subsection SGI-IRIX notes
-
-If you are using Irix 6.5.3 or newer @code{mysqld} will only be able to
-create threads if you run it as a user with @code{CAP_SCHED_MGT}
-privileges (like @code{root}) or give the @code{mysqld} server this privilege
-with the following shell command:
-
-@example
-shell> chcap "CAP_SCHED_MGT+epi" /opt/mysql/libexec/mysqld
-@end example
-
-You may have to undefine some things in @file{config.h} after running
-@code{configure} and before compiling.
-
-In some Irix implementations, the @code{alloca()} function is broken. If the
-@code{mysqld} server dies on some @code{SELECT} statements, remove the lines
-from @file{config.h} that define @code{HAVE_ALLOC} and @code{HAVE_ALLOCA_H}.
-If @code{mysqladmin create} doesn't work, remove the line from
-@file{config.h} that defines @code{HAVE_READDIR_R}. You may have to remove
-the @code{HAVE_TERM_H} line as well.
-
-SGI recommends that you install all of the patches on this page as a set:
-http://support.sgi.com/surfzone/patches/patchset/6.2_indigo.rps.html
-
-At the very minimum, you should install the latest kernel rollup, the
-latest @code{rld} rollup, and the latest @code{libc} rollup.
-
-You definately need all the POSIX patches on this page, for pthreads support:
-
-http://support.sgi.com/surfzone/patches/patchset/6.2_posix.rps.html
-
-If you get the something like the following error when compiling
-@file{mysql.cc}:
-
-@example
-"/usr/include/curses.h", line 82: error(1084): invalid combination of type
-@end example
-
-Then type the following in the top-level directory of your @strong{MySQL}
-source tree:
-
-@example
-shell> extra/replace bool curses_bool < /usr/include/curses.h > include/curses.h
-shell> make
-@end example
-
-There have also been reports of scheduling problems. If only one thread is
-running, things go slow. Avoid this by starting another client. This may lead
-to a 2-to-10-fold increase in execution speed thereafter for the other
-thread. This is a poorly-understood problem with Irix threads; you may have
-to improvise to find solutions until this can be fixed.
-
-If you are compiling with @code{gcc}, you can use the following
-@code{configure} command:
-
-@example
-shell> CC=gcc CXX=gcc CXXFLAGS=-O3 \
- ./configure --prefix=/usr/local/mysql --with-thread-safe-client --with-named-thread-libs=-lpthread
-@end example
-
-@node FreeBSD, NetBSD, SGI-Irix, Source install system issues
-@subsection FreeBSD notes
-
-FreeBSD 3.x is recommended for running @strong{MySQL} since it the thread package
-is much more integrated.
-
-ºÇ¤â´Êñ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÊýË¡¤Ï¡¢@uref{http://www.freebsd.org} ¤Î
-mysql-server ¤È mysql-client ¤Î ports ¤òÍøÍѤ¹¤ë¤³¤È¤Ç¤¹¡£
-@uref{http://www.freebsd.org}
-
-¤³¤ì¤Ï°Ê²¼¤Î¤è¤¦¤ÊÍøÅÀ¤ò¤â¤¿¤é¤·¤Þ¤¹¡§
-@itemize @bullet
-@item
-¥ª¥×¥Æ¥£¥Þ¥¤¥º¤µ¤ì¤¿ @strong{MySQL} ¤¬Æ°¤¯
-@item
-¼«Æ° configuration ¤È build
-@item
-¥¹¥¿¡¼¥È¥¢¥Ã¥×ÍѤΥ¹¥¯¥ê¥×¥È¤¬ /usr/local/etc/rc.d ¤Ë¥¤¥ó¥¹¥È¡¼¥ë
-@item
-Ability to see which files that are installed with pkg_info -L. And to
-remove them all with pkg_delete if you no longer want @strong{MySQL} on that
-machine.
-@end itemize
-
-FreeBSD 2.x ¾å¤Ç¤Ï MIT-pthreads ¤ò¡¢¤½¤·¤Æ versions 3 °Ê¾å¤Ç¤Ï¡¢
-¥Í¥¤¥Æ¥£¥Ö¤Î¥¹¥ì¥Ã¥É¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-ºÇ¶á¤Î¤¤¤¯¤Ä¤«¤Î 2.2.x ¤Ç¤Ï¥Í¥¤¥Æ¥£¥Ö¤Î¥¹¥ì¥Ã¥É ¤ÇÆ°ºî¤¬²Äǽ¤Ç¤¹¤¬¡¢
-mysqld ¤ò Íî¤È¤¹¤È¤­¤ËÌäÂ꤬µ¯¤³¤ê¤Þ¤¹¡£
-
-̾Á°²ò·è¤ÎÀßÄê¤ò³Î¼Â¤Ë¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ ¤Ç¤Ê¤¤¤È¡¢mysqld ¤ËÀܳ¤¹¤ëºÝ¡¢
-̾Á°²ò·è¤Ë¤È¤Æ¤â»þ´Ö¤¬¤«¤«¤ê¡¢Àܳ¤Ë¼ºÇÔ¤¹¤ë¤Ç¤·¤ç¤¦¡£
-
-³Î¼Â¤Ë @file{/etc/hosts} ¥Õ¥¡¥¤¥ë¤Ë @code{localhost} ¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë
-¤·¤Æ¤¯¤À¤µ¤¤¡£ (¤Ç¤Ê¤¤¤È¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤ÎÀܳ¤ÇÌäÂ꤬½Ð¤Þ¤¹)¡£
- @file{/etc/hosts} ¥Õ¥¡¥¤¥ë¤Ï¡¢°Ê²¼¤Î¹Ô¤«¤é»Ï¤Þ¤ë¤Ù¤­¤Ç¤¹¡§
-
-@example
-127.0.0.1 localhost localhost.your.domain
-@end example
-
-¤â¤· @code{configure} ¤¬ MIT-pthread ¤ò»ÈÍѤ¹¤ë¤Èʬ¤«¤Ã¤¿¾ì¹ç¡¢
-MIT-pthreads notes ¤òÆɤà¤Ù¤­¤Ç¤¹¡£ @xref{MIT-pthreads}.
-
-If you get an error from @code{make install} that it can't find
-@file{/usr/include/pthreads}, @code{configure} didn't detect that you need
-MIT-pthreads. This is fixed by executing these commands:
-
-@example
-shell> rm config.cache
-shell> ./configure --with-mit-threads
-@end example
-
-FreeBSD ¤Î @code{make} ¤Î¿¶¤ëÉñ¤¤¤Ï GNU ¤Î @code{make} ¤È¾¯¤·°ã¤¤¤Þ¤¹¡£
-¤â¤· @code{make} ¤Ë¤«¤«¤ï¤ëÌäÂ꤬½Ð¤¿¤Ê¤é¡¢ GNU @code{make} ¤ò
-¥¤¥ó¥¹¥È¡¼¥ë¤¹¤Ù¤­¤Ç¤¹¡£
-
-FreeBSD ¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥¡¥¤¥ë¥Ï¥ó¥É¥ë¤Î¾å¸ÂÃͤ¬¤È¤Æ¤â¾¯¤Ê¤¤
-ÃͤǤ¢¤ë¤³¤È¤âÃΤé¤ì¤Æ¤¤¤Þ¤¹¡£@xref{Not enough file handles}.
-safe_mysqld Ãæ¤Î ulimit -n ¤Î¥³¥á¥ó¥È¤ò³°¤¹¤«¡¢/etc/login.conf ¥Õ¥¡¥¤¥ë¤Ç
-mysqld ¥æ¡¼¥¶¡¼¤ÎÀ©¸ÂÃͤòÁý²Ã¤µ¤»¤Þ¤¹¡£
-(/etc/login.conf ¤ÎÊѹ¹¤ÎºÝ¤Ï cap_mkdb /etc/login.conf ¤ÇºÆ¹½ÃÛ¤¬É¬ÍפǤ¹)¡£
-¤â¤·¥Ç¥Õ¥©¥ë¥È¤ò»ÈÍѤ·¤¿¤¯¤Ê¤±¤ì¤Ð¡¢¤³¤Î¥æ¡¼¥¶¡¼¤Ë password ¥Õ¥¡¥¤¥ëÃæ¤Ç
-ŬÀÚ¤Ê Class ¤òÍ¿¤¨¤ë¤³¤È¤Ç¤â¡¢Êѹ¹²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£(use: chpass mysqld-user-name)
-
-¤â¤· @strong{MySQL} ¤¬¸½ºß»þ¤ÇÌäÂ꤬¤¢¤ë¤Ê¤é¡¢
- @code{TZ} ´Ä¶­ÊÑ¿ô¤òÀßÄꤷ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ @xref{Environment variables}.
-
-
-°ÂÁ´¤Ç°ÂÄꤷ¤¿¥·¥¹¥Æ¥à¤òÆþ¤ì¤ë¤Ê¤é¡¢ @code{-STABLE} ¤Î¥«¡¼¥Í¥ë¤À¤±¤ò
-»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-
-
-@node NetBSD, OpenBSD, FreeBSD, Source install system issues
-@subsection NetBSD notes
-
-To compile on NetBSD you need GNU @code{make}. Otherwise the compile will crash
-when @code{make} tries to run @code{lint} on C++ files.
-
-@node OpenBSD, BSDI, NetBSD, Source install system issues
-@subsection OpenBSD 2.5 notes
-
-On OpenBSD 2.5, you can compile @strong{MySQL} with native threads with the
-following options:
-
-@example
-CFLAGS=-pthread CXXFLAGS=-pthread ./configure --with-mit-threads=no
-@end example
-
-@node BSDI, SCO, OpenBSD, Source install system issues
-@subsection BSD/OS notes
-
-@menu
-* BSDI2:: BSD/OS 2.x notes
-* BSDI3:: BSD/OS 3.x notes
-* BSDI4:: BSD/OS 4.x notes
-@end menu
-
-@node BSDI2, BSDI3, BSDI, BSDI
-@subsubsection BSD/OS 2.x notes
-
-If you get the following error when compiling @strong{MySQL}, your
-@code{ulimit} value for virtual memory is too low:
-
-@example
-item_func.h: In method `Item_func_ge::Item_func_ge(const Item_func_ge &)':
-item_func.h:28: virtual memory exhausted
-make[2]: *** [item_func.o] Error 1
-@end example
-
-Try using @code{ulimit -v 80000} and run @code{make} again. If this
-doesn't work and you are using @code{bash}, try switching to @code{csh}
-or @code{sh}; some BSDI users have reported problems with @code{bash}
-and @code{ulimit}.
-
-If you are using @code{gcc}, you may also use have to use the
-@code{--with-low-memory} flag for @code{configure} to be able to compile
-@file{sql_yacc.cc}.
-
-¤â¤· @strong{MySQL} ¤¬¸½ºß»þ¤ÇÌäÂ꤬¤¢¤ë¤Ê¤é¡¢
- @code{TZ} ´Ä¶­ÊÑ¿ô¤òÀßÄꤷ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ @xref{Environment variables}.
-
-@node BSDI3, BSDI4, BSDI2, BSDI
-@subsubsection BSD/OS 3.x notes
-
-Upgrade to BSD/OS 3.1. If that is not possible, install BSDIpatch M300-038.
-
-Use the following command when configuring @strong{MySQL}:
-
-@example
-shell> env CXX=shlicc++ CC=shlicc2 \
- ./configure \
- --prefix=/usr/local/mysql \
- --localstatedir=/var/mysql \
- --without-perl \
- --with-unix-socket-path=/var/mysql/mysql.sock
-@end example
-
-The following is also known to work:
-
-@example
-shell> env CC=gcc CXX=gcc CXXFLAGS=-O3 \
- ./configure \
- --prefix=/usr/local/mysql \
- --with-unix-socket-path=/var/mysql/mysql.sock
-@end example
-
-You can change the directory locations if you wish, or just use the
-defaults by not specifying any locations.
-
-If you have problems with performance under heavy load, try using the
-@code{--skip-thread-priority} option to @code{safe_mysqld}! This will run
-all threads with the same priority; on BSDI 3.1, this gives better
-performance (at least until BSDI fixes their thread scheduler).
-
-If you get the error @code{virtual memory exhausted} while compiling,
-you should try using @code{ulimit -v 80000} and run @code{make} again.
-If this doesn't work and you are using @code{bash}, try switching to
-@code{csh} or @code{sh}; some BSDI users have reported problems with
-@code{bash} and @code{ulimit}.
-
-@node BSDI4, , BSDI3, BSDI
-@subsubsection BSD/OS 4.x notes
-
-BSDI 4.x has some thread related bugs. If you want to use @strong{MySQL}
-on this, you should install all thread related patches. At least
-M400-023 should be installed.
-
-On some BSDI 4.x systems, you may get problems with shared libraries. The
-symptom is that you can't execute any client programs, like for example
-@code{mysqladmin}. In this case you need to reconfigure not to use
-shared libraries with the @code{--disable-shared} option to configure.
-
-@node SCO, SCO Unixware, BSDI, Source install system issues
-@subsection SCO notes
-
-The current port is tested only on a ``sco3.2v5.0.4'' and
-``sco3.2v5.0.5'' system. There has also been a lot of progress on a
-port to ``sco 3.2v4.2''.
-
-For the moment the recommended compiler on OpenServer is gcc 2.95.2. With this
-you should be able to compile @code{MySQL} with just:
-
-@example
-CC=gcc CXX=gcc ./configure ... (options)
-@end example
-
-@enumerate
-@item
-For OpenServer 5.0.X you need to use GDS in Skunkware 95 (95q4c). This
-is necessary because GNU @code{gcc} 2.7.2 in Skunkware 97 does not have
-GNU @code{as}. You can also use @code{egcs} 1.1.2 or newer
-@uref{http://www.egcs.com/}. If you are using @code{egcs} 1.1.2 you have
-to execute the following command:
-
-@example
-shell> cp -p /usr/include/pthread/stdtypes.h /usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/egcs-2.91.66/include/pthread/
-@end example
-@item
-You need the port of GCC 2.5.? for this product and the Development
-system. They are required on this version of SCO UNIX. You cannot
-just use the GCC Dev system.
-@item
-You should get the FSU Pthreads package and install it first. This can be
-found at
-@uref{http://www.cs.wustl.edu/~schmidt/ACE_wrappers/FSU-threads.tar.gz}.
-You can also get a precompiled package from
-@uref{ftp://www.mysql.com/pub/mysql/Downloads/SCO/FSU-threads-3.5c.tar.gz}.
-@item
-FSU Pthreads can be compiled with SCO UNIX 4.2 with tcpip. Or
-OpenServer 3.0 or Open Desktop 3.0 (OS 3.0 ODT 3.0), with the SCO
-Development System installed using a good port of GCC 2.5.X ODT or OS
-3.0 you will need a good port of GCC 2.5.? There are a lot of problems
-without a good port. The port for this product requires the SCO UNIX
-Development system. Without it, you are missing the libraries and the
-linker that is needed.
-@item
-To build FSU Pthreads on your system, do the following:
-@enumerate
-@item
-Run @code{./configure} in the @file{threads/src} directory and select
-the SCO OpenServer option. This command copies @file{Makefile.SCO5} to
-@file{Makefile}.
-@item
-Run @code{make}.
-@item
-To install in the default @file{/usr/include} directory, login as root,
-then @code{cd} to the @file{thread/src} directory, and run @code{make
-install}.
-@end enumerate
-@item
-Remember to use GNU @code{make} when making @strong{MySQL}.
-@item
-On OSR 5.0.5, you should use the following configure line:
-@example
-shell> CC="gcc -DSCO" CXX="gcc -DSCO" ./configure
-@end example
-The @code{-DSCO} is needed to help configure detect some thread
-functions properly. If you forget @code{-DSCO}, you will get the following
-error message while compiling:
-@example
-my_pthread.c: In function `my_pthread_mutex_init':
-my_pthread.c:374: `pthread_mutexattr_default' undeclared (first use this function)
-@end example
-@item
-If you don't start @code{safe_mysqld} as root, you probably will get only the
-default 110 open files per process. @code{mysqld} will write a note about this
-in the log file.
-@item
-With SCO 3.2V5.0.5, you should use FSU Pthreads version 3.5c or newer.
-The following @code{configure} command should work:
-@example
-shell> CC="gcc -belf" ./configure --prefix=/usr/local/mysql --disable-shared
-@end example
-@item
-With SCO 3.2V4.2, you should use FSU Pthreads version 3.5c or newer.
-The following @code{configure} command should work:
-@example
-shell> CFLAGS="-D_XOPEN_XPG4" CXX=gcc CXXFLAGS="-D_XOPEN_XPG4" \
- ./configure \
- --with-debug --prefix=/usr/local/mysql \
- --with-named-thread-libs="-lgthreads -lsocket -lgen -lgthreads" \
- --with-named-curses-libs="-lcurses"
-@end example
-You may get some problems with some include files. In this case, you can
-find new SCO-specific include files at
-@uref{ftp://www.mysql.com/pub/mysql/Downloads/SCO/SCO-3.2v4.2-includes.tar.gz}.
-You should unpack this file in the @file{include}
-directory of your @strong{MySQL} source tree.
-@end enumerate
-
-SCO development notes:
-
-@itemize @bullet
-@item
-@strong{MySQL} should automatically detect FSU Pthreads and link @code{mysqld}
-with @code{-lgthreads -lsocket -lgthreads}.
-@item
-The SCO development libraries are reentrant in FSU Pthreads. SCO claims
-that its libraries' functions are reentrant, so they must be reentrant with
-FSU Pthreads. FSU Pthreads on OpenServer tries to use the SCO scheme to
-make reentrant library.
-@item
-FSU Pthreads (at least the version at @code{www.mysql.com}) comes linked with
-GNU @code{malloc}. If you encounter problems with memory usage, make sure that
-@file{gmalloc.o}
-is included in @file{libgthreads.a} and @file{libgthreads.so}.
-@item
-In FSU Pthreads, the following system calls are pthreads-aware: @code{read()},
-@code{write()}, @code{getmsg()}, @code{connect()}, @code{accept()},
-@code{select()} and @code{wait()}.
-@end itemize
-
-If you want to install DBI on SCO, you have to edit the @file{Makefiles} in
-DBI-xxx and each subdirectory:
-
-@example
-OLD: NEW:
-CC = cc CC = gcc -belf
-CCCDLFLAGS = -KPIC -W1,-Bexport CCCDLFLAGS = -fpic
-CCDLFLAGS = -wl,-Bexport CCDLFLAGS =
-
-LD = ld LD = gcc -belf -G -fpic
-LDDLFLAGS = -G -L/usr/local/lib LDDLFLAGS = -L/usr/local/lib
-LDFLAGS = -belf -L/usr/local/lib LDFLAGS = -L/usr/local/lib
-
-LD = ld LD = gcc -belf -G -fpic
-OPTIMISE = -Od OPTIMISE = -O1
-
-OLD:
-CCCFLAGS = -belf -dy -w0 -U M_XENIX -DPERL_SCO5 -I/usr/local/include
-
-NEW:
-CCFLAGS = -U M_XENIX -DPERL_SCO5 -I/usr/local/include
-@end example
-
-This is because the Perl dynaloader will not load the @code{DBI} modules
-if they were compiled with @code{icc} or @code{cc}.
-
-Perl works best when compiled with @code{cc}.
-
-@node SCO Unixware, IBM-AIX, SCO, Source install system issues
-@subsection SCO Unixware 7.0 notes
-
-You must use a version of @strong{MySQL} at least as recent as 3.22.13, because
-that version fixes some portability problems under Unixware.
-
-We have been able to compile @strong{MySQL} with the following @code{configure}
-command on UnixWare 7.0.1:
-
-@example
-shell> CC=cc CXX=CC ./configure --prefix=/usr/local/mysql
-@end example
-
-If you want to use @code{gcc}, you must use @code{gcc} 2.95.2 or newer.
-
-@node IBM-AIX, HP-UX 10.20, SCO Unixware, Source install system issues
-@subsection IBM-AIX notes
-
-Automatic detection of @code{xlC} is missing from Autoconf, so a
-@code{configure} command something like this is needed when using the IBM
-compiler:
-
-@example
-shell> CC="xlc_r -ma -O3 -qstrict -DHAVE_INT_8_16_32" \
- CXX="xlC_r -ma -O3 -qstrict -DHAVE_INT_8_16_32" \
- ./configure
-@end example
-
-If you change the @code{-O3} to @code{-O2} in the above configure line,
-you must also remove the @code{-qstrict} option (this is a limitation in
-the IBM C compiler).
-
-If you are using @code{gcc} or @code{egcs} to compile @strong{MySQL}, you
-@strong{MUST} use the @code{-fno-exceptions} flag, as the exception
-handling in @code{gcc}/@code{egcs} is not thread-safe! (This is tested with
-@code{egcs} 1.1.) We recommend the following @code{configure} line with
-@code{egcs} and @code{gcc} on AIX:
-
-@example
-shell> CXX=gcc \
- CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti" \
- ./configure --prefix=/home/monty --with-debug --with-low-memory
-@end example
-
-If you have problems with signals (@strong{MySQL} dies unexpectedly
-under high load) you may have found an OS bug with threads and
-signals. In this case you can tell @strong{MySQL} not to use signals by
-configuring with:
-
-@example
-shell> CFLAGS=-DDONT_USE_THR_ALARM CXX=gcc \
- CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti -DDONT_USE_THR_ALARM" \
- ./configure --prefix=/home/monty --with-debug --with-low-memory
-@end example
-
-This doesn't affect the performance of @strong{MySQL}, but has the side
-effect that you can't kill clients that are ``sleeping'' on a connection with
-@code{mysqladmin kill} or @code{mysqladmin shutdown}. Instead, the client
-will die when it issues its next command.
-
-On some versions of AIX, linking with @code{libbind.a} makes @code{getservbyname} core
-dump. This is an AIX bug and should be reported to IBM.
-
-
-@node HP-UX 10.20, HP-UX 11.x, IBM-AIX, Source install system issues
-@subsection HP-UX 10.20 notes
-
-There are a couple of ``small'' problems when compiling @strong{MySQL} on
-HP-UX. We recommend that you use @code{gcc} instead of the HP-UX native
-compiler, because @code{gcc} produces better code!
-
-We recommend one to use gcc 2.95 on HP-UX. Don't use high optimization
-flags (like -O6) as this may not be safe on HP-UX.
-
-Note that MIT-pthreads can't be compiled with the HP-UX compiler,
-because it can't compile @code{.S} (assembler) files.
-
-The following configure line should work:
-
-@example
-CFLAGS="-DHPUX -I/opt/dce/include" CXXFLAGS="-DHPUX -I/opt/dce/include -felide-constructors -fno-exceptions -fno-rtti" CXX=gcc ./configure --with-pthread --with-named-thread-libs='-ldce' --prefix=/usr/local/mysql --disable-shared
-@end example
-
-If you are compiling @code{gcc} 2.95 yourself, you should NOT link it with
-the DCE libraries (@code{libdce.a} or @code{libcma.a}) if you want to compile
-@strong{MySQL} with MIT-pthreads. If you mix the DCE and MIT-pthreads
-packages you will get a @code{mysqld} to which you cannot connect. Remove
-the DCE libraries while you compile @code{gcc} 2.95!
-
-@node HP-UX 11.x, MaxOSX, HP-UX 10.20, Source install system issues
-@subsection HP-UX 11.x notes
-
-For HPUX 11.x we recommend @strong{MySQL} 3.23.15 or later.
-
-If you are using @code{gcc} 2.95.1 on a unpatched HPUX 11.x system you will
-get the error:
-
-@example
-In file included from /usr/include/unistd.h:11,
- from ../include/global.h:125,
- from mysql_priv.h:15,
- from item.cc:19:
-/usr/include/sys/unistd.h:184: declaration of C function `int pthread_atfork(void (*)(...), void (*)
-(...), void (*)(...))' conflicts with
-/usr/include/sys/pthread.h:440: previous declaration `int pthread_atfork(void (*)(), void (*)(), void (*)())' here
-In file included from item.h:306,
- from mysql_priv.h:158,
- from item.cc:19:
-@end example
-
-The problem is that HP-UX doesn't define @code{pthreads_atfork()} consistently.
-It has conflicting prototypes in
-@file{/usr/include/sys/unistd.h}:184 and
-@file{/usr/include/sys/pthread.h}:440 (I post the details below).
-
-One solution is to copy @file{/usr/include/sys/unistd.h} into
-@file{mysql/include} and edit @file{unistd.h} and change it to match
-the definition in @file{pthread.h}. Here's the diff:
-
-@example
-183,184c183,184
-< extern int pthread_atfork(void (*prepare)(), void (*parent)(),
-< void (*child)());
----
-> extern int pthread_atfork(void (*prepare)(void), void (*parent)(void),
-> void (*child)(void));
-@end example
-
-After this, the following configure line should work:
-
-@example
-CFLAGS="-fomit-frame-pointer -O6 -fpic" CXX=gcc CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti -O6" ./configure --prefix=/usr/local/mysql --disable-shared
-@end example
-
-Here is some information that a HPUX 11.x user sent us about compile
-@strong{MySQL} with HPUX:x compiler
-
-@itemize @bullet
-@item
-@example
- Environment:
- proper compilers.
- setenv CC cc
- setenv CXX aCC
- flags
- setenv CFLAGS -D_REENTRANT
- setenv CXXFLAGS -D_REENTRANT
- setenv CPPFLAGS -D_REENTRANT
- % aCC -V
- aCC: HP ANSI C++ B3910B X.03.14.06
- % cc -V /tmp/empty.c
- cpp.ansi: HP92453-01 A.11.02.00 HP C Preprocessor (ANSI)
- ccom: HP92453-01 A.11.01.00 HP C Compiler
- cc: "/tmp/empty.c", line 1: warning 501: Empty source file.
-@end example
-@item
-@example
- configuration:
- ./configure --with-pthread \
- --prefix=/source-control/mysql \
- --with-named-thread-libs=-lpthread \
- --with-low-memory
-@end example
-@item
- added '#define _CTYPE_INCLUDED' to include/m_ctype.h. This
- symbol is the one defined in HP's /usr/include/ctype.h:
-
-@example
- /* Don't include std ctype.h when this is included */
- #define _CTYPE_H
- #define __CTYPE_INCLUDED
- #define _CTYPE_INCLUDED
- #define _CTYPE_USING /* Don't put names in global namespace. */
-@end example
-@item
-I had to use the compile-time flag @code{-D_REENTRANT} to get the
-compiler to recognize the prototype for
-@code{localtime_r}. Alternatively I could have supplied the prototype
-for @code{localtime_r}. But I wanted to catch other bugs without needing
-to run into them. I wasn't sure where I needed it so I added it to all
-flags.
-@item
-The optimization flags used by @strong{MySQL} (-O3) are not recognized
-by HP's compilers. I did not change the flags.
-@end itemize
-
-@node MaxOSX, , HP-UX 11.x, Source install system issues
-@subsection MacOS X notes
-
-You can get @strong{MySQL} to work on MacOS X by following the links to
-the MacOS X ports. @xref{Useful Links}.
-
-@strong{MySQL} 3.23.7 should include all patches necessary to configure
-it on MacOSX. You must however first install the pthread package from
-@uref{http://www.prnet.de/RegEx/mysql.html,MySql for MacOSX Server}
-before configuring MySQL.
-
-You might want to also add aliases to your shell's resource file to
-access @code{mysql} and @code{mysqladmin} from the command line.
-
-@example
-alias mysql '/usr/local/mysql/bin/mysql'
-alias mysqladmin '/usr/local/mysql/libexec/mysqladmin'
-@end example
-
-@node Win32, OS/2, Source install system issues, Installing
-@section Win32 notes
-
-¤³¤ÎÀá¤Ç¤Ï Win32 ¾å¤Ç¤Î @strong{MySQL} ¤Î»ÈÍѤȥ¤¥ó¥¹¥È¡¼¥ë¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤Þ¤¹¡£
-¤³¤ì¤Ï @strong{MySQL} Win32 ÇÛÉÛʪ¤Î @file{README} ¥Õ¥¡¥¤¥ë¤Ë¤â½Ò¤Ù¤é¤ì¤Æ¤¤¤Þ¤¹¡£
-
-@menu
-* Win32 installation:: Installing @strong{MySQL} on Win32
-* Win95 start:: Starting @strong{MySQL} on Win95 / Win98
-* NT start:: Starting @strong{MySQL} on NT
-* Win32 running:: Running @strong{MySQL} on Win32
-* Win32 and SSH:: Connecting to a remote @strong{MySQL} from Win32 with SSH
-* Win32 symbolic links:: Splitting data across different disks under Win32
-* Win32 vs. Unix:: @strong{MySQL}-Win32 compared to Unix @strong{MySQL}
-@end menu
-
-@node Win32 installation, Win95 start, Win32, Win32
-@subsection Win32 ¤Ø¤Î @strong{MySQL} ¤Î¥¤¥ó¥¹¥È¡¼¥ë
-
-¤â¤·Àµ¼°ÈÇ @strong{MySQL} ¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤Ê¤é¡¢ºÇ½é¤Ë°Ê²¼¤«¤é
-¥·¥§¥¢¥¦¥¨¥¢¥Ð¡¼¥¸¥ç¥ó¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤Ù¤­¤Ç¤¹¡§
-
-@uref{http://www.mysql.com/mysql_w32.htmy,@strong{MySQL} 3.22.x}
-
-ÆüËܸìÈǤÎɾ²ÁÈÇ¡¢¤ª¤è¤ÓÀµ¼°ÈÇ(3.22)¤Î¼èÆÀ¤Ï°Ê²¼¤Ë¤Ê¤ê¤Þ¤¹¡§
-@uref{http://www.softagency.co.jp/, @strong{MySQL} ÆüËܸìÈÇ}
-
-¤â¤·Â¾¤Î¥×¥í¥°¥é¥à¤«¤é @strong{MySQL} ¤ËÀܳ¤·¤è¤¦¤È¹Í¤¨¤Æ¤¤¤ë¤Ê¤é¡¢
-¿ʬ @strong{MyODBC} ¥É¥é¥¤¥Ð¡¼¤âɬÍפǤ·¤ç¤¦¡£ ¤³¤ì¤Ï
-@uref{http://www.mysql.com/ownload_myodbc.html,@strong{MySQL} download page}.
-¤Ë¤¢¤ê¤Þ¤¹¡£
-
-ÆüËܸìÈǤΠ@strong{MyODBC} ¥É¥é¥¤¥Ð¡¼ ¤Ï¡§
-@uref{http://www.softagency.co.jp/,@strong{MyODBC} ÆüËܸìÈÇ}
-
-¤½¤ì¤¾¤ì¤ÎÇÛÉÛʪ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò¤¹¤ë¤Ë¤Ï¡¢¥À¥¦¥ó¥í¡¼¥É¤·¤¿Êª¤ò
-¤É¤³¤« ¤«¤é¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç unzip ¤·¡¢@code{Setup.exe} ¥×¥í¥°¥é¥à¤ò
-¼Â¹Ô¤·¤Þ¤¹¡£
-
-ɸ½à¤Ç¤Ï¡¢@strong{MySQL}-Win32 ¤Ï @file{C:\mysql} ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤è¤¦¤Ë
-¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤â¤·°ã¤¦¾ì½ê¤Ë @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤¤Ê¤é¡¢
-°ìÅÙ @file{C:\mysql} ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¸å¤Ë¡¢¤½¤Î¥Õ¥©¥ë¥À¤ò°ÜÆ°¤·¤Þ¤¹¡£
- @strong{MySQL} ¤ò @file{C:\mysql} ¤«¤é°ÜÆ°¤·¤¿¤Ê¤é¤Ð¡¢
- @code{mysqld} ¤ËÂФ·¤Æ¡¢°ÜÆ°Àè¤òɬ¤º¶µ¤¨¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤â¤· @strong{MySQL} ¤ò @file{D:\programs\mysql} ¤Ë°ÜÆ°¤·¤¿¤Ê¤é,
-@code{mysqld} ¤ò°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æµ¯Æ°¤·¤Þ¤¹¡§
-@code{D:\programs\mysql\bin\mysqld --basedir D:\programs\mysql}
-¤Ê¤ª¡¢ @code{C:\mysql\bin\mysqld --help} ¤È¤¹¤ë¤È¡¢Á´¤Æ¤Î¥ª¥×¥·¥ç¥ó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡ª
-
-Àµ¼°ÈǤΠ@strong{MySQL} ¤Ç¤Ï¡¢@file{C:\my.cnf} ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢
-¤½¤³¤Ë @strong{MySQL} ¥µ¡¼¥Ð¡¼¤Î¥ª¥×¥·¥ç¥ó¤òµ­½Ò¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-@file{\mysql\my-xxxxx.cnf} ¤ò @file{C:\my.cnf} ¤Ë¥³¥Ô¡¼¤·¡¢
-¤´¼«Ê¬¤Î´Ä¶­¤Ë¹ç¤ï¤»¤ÆÊÔ½¸¤·¤Æ»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-Á´¤Æ¤Î¥Ñ¥¹¤Ë¤Ï @code{\} ¤Ç¤Ï¤Ê¤¯¤Æ @code{/} ¤ò»ÈÍѤ·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-¤â¤· @code{\} ¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤ì¤ò£²Çܤ·¤Þ¤¹¡£ @strong{MySQL} ¤Ç¤Ï
- @code{\} ¤Ï¥¨¥¹¥±¡¼¥×ʸ»ú¤À¤«¤é¤Ç¤¹¡£
-@xref{Option files}.
-
-
-@node Win95 start, NT start, Win32 installation, Win32
-@subsection Win95 / Win98 ¾å¤Ç¤Î @strong{MySQL} µ¯Æ°
-
-@strong{MySQL} ¤Ï TCP/IP ¤ò¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¡¼¤Ø¤ÎÀܳ¤Ë»ÈÍѤ·¤Þ¤¹¡£
-¡Ê¤³¤ì¤Ï¡¢¤¢¤Ê¤¿¤Î¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¤¤¤«¤Ê¤ë¥Þ¥·¥ó¤«¤é¤â @strong{MySQL} ¥µ¡¼¥Ð¡¼¤Ë
-Àܳ¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡Ë¡£ ¤³¤Î¤¿¤á¡¢@strong{MySQL} ¤òµ¯Æ°¤¹¤ëÁ°¤Ë¡¢
-¤¢¤Ê¤¿¤Ï TCP/IP ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-¤³¤ì¤Ï Windows CD-ROM ¤Ë¤¢¤ê¤Þ¤¹¡£
-
-¤â¤·¸Å¤¤ Win95 (for example OSR2) ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢
-¤³¤ì¤Ï¸Å¤¤ Winsock ¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ·¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡ª
-@strong{MySQL} ¤Ï Winsock 2 ¤òÍ׵ᤷ¤Þ¤¹¡ª ºÇ¿·¤Î Winsock ¤Ï
-@uref{http://www.microsoft.com,Microsoft} ¤Ë¤¢¤ê¤Þ¤¹¡£
- Win98 ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¿·¤·¤¤ Winsock 2 ¥é¥¤¥Ö¥é¥ê¤Ç¤¹¤Î¤Ç¡¢
-¤³¤ì¤Ï Win98 ¤Ë¤ÏÅö¤Æ¤Ï¤Þ¤ê¤Þ¤»¤ó¡£
-
-2¤Ä¤Î°ã¤¦ @strong{MySQL} ¥µ¡¼¥Ð¡¼¤¬¤¢¤ê¤Þ¤¹¡§
-
-@multitable @columnfractions .15 .85
-@item @code{mysqld} @tab ¥Õ¥ë¥Ç¥Ð¥Ã¥°¤òÍ­¸ú¤Ë¤·¤Æ¡¢¼«Æ° memory allocation ¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥ë
-@item @code{mysqld-opt} @tab Pentium ¥×¥í¥»¥Ã¥µ¡¼ÍѤ˺ÇŬ²½¤·¤¿Êª
-@end multitable
-
-ξÊý¤È¤â Intel ¥×¥í¥»¥Ã¥µ¡¼ >= i386 ¤ÇÆ°ºî¤·¤Þ¤¹¡£
-
-@code{mysqld} ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë¤Ë¤Ï, MS-DOS ¤«¤é°Ê²¼¤Î¤è¤¦¤Ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡§
-
-@example
-C:\mysql\bin\mysqld
-@end example
-
-¤³¤ì¤Ï @code{mysqld} ¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤ÇÆ°¤«¤·¤Þ¤¹¡£
-
-@strong{MySQL} ¥µ¡¼¥Ð¡¼¤Î kill ¤Ë¤Ï¡§
-
-@example
-C:\mysql\bin\mysqladmin -u root shutdown
-@end example
-
-Note that Win95/Win98 don't support creation of named pipes. On
-Win95/Win98, you can only use named pipes to connect to a remote
-@strong{MySQL} running on an NT server.
-
-If @code{mysqld} doesn't start please check whether or not the
-@file{\mysql\mysql.err} file contains any reason for this. You can also
-try to start it with @code{mysqld --standalone}; In this case you may
-get some useful information on the screen that may help solve this.
-
-The last option is to start @code{mysqld} with @code{--debug}. In this
-case @code{mysqld} will write a log file in @file{\mysqld.trace}
-that should contain the reason why @code{mysqld} doesn't start. If you
-make a bug report about this, please only send the lines where something
-seams to go wrong to the mailing list!
-
-@node NT start, Win32 running, Win95 start, Win32
-@subsection NT ¾å¤Ç¤Î @strong{MySQL} µ¯Æ°
-
-The Win95/Win98 section also applies to @strong{MySQL} on NT, with the
-following differences:
-
-TCP/IP ¤Ç @strong{MySQL} ¤òÆ°¤«¤¹¤Ë¤Ï¡¢service pack 3(°Ê¾å) ¤¬É¬¿Ü¤Ç¤¹¡ª
-
-NT ¤Ç¤Ï, ¥µ¡¼¥Ð¡¼¤Î̾Á°¤Ï @code{mysqld-nt} ¤Ç¤¹. Ä̾°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ
- NT ¤Î¥µ¡¼¥Ó¥¹¤È¤·¤Æ @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡§
-
-@example
-C:\mysql\bin\mysqld-nt --install
-@end example
-
-(@code{mysqld} ¤ä @code{mysqld-opt} ¤ò NT ¾å¤ÇÆ°ºî¤µ¤»¤ë¤³¤È¤â½ÐÍè¤Þ¤¹¡£
-¤·¤«¤·¤³¤ì¤é¤Ï¡¢¥µ¡¼¥Ó¥¹¤È¤·¤Æ¥¹¥¿¡¼¥È¤µ¤»¤ë¤³¤È¤¬½ÐÍ褺¡¢¤Þ¤¿¡¢
-named pipes ¤Î»ÈÍѤâ½ÐÍè¤Þ¤»¤ó¡£)
-
-@strong{MySQL} ¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¤ÈÄä»ß¤Ï¡§
-
-@example
-NET START mysql
-NET STOP mysql
-@end example
-
-¤³¤Î¾ì¹ç¡¢@code{mysqld} ¤Ë¡¢¤¤¤«¤Ê¤ë¥ª¥×¥·¥ç¥ó¤â»ÈÍѤǤ­¤Ê¤¤¤³¤È¤ËÃí°Õ¡ª
-
-¤â¤· @code{mysqld-nt} ¤ò¥ª¥×¥·¥ç¥ó̵¤·¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ë¤Ê¤é¤Ð¡¢
- @code{mysqld-nt} ¤ò¥¹¥¿¥ó¥É¥¢¥í¡¼¥ó¤Î¥×¥í¥°¥é¥à¤È¤·¤Æ NT ¾å¤ÇÁö¤é¤»¤ë¤³¤È¤â
-½ÐÍè¤Þ¤¹¡ª ¤â¤· @code{mysqld-nt} ¤ò¥ª¥×¥·¥ç¥ó̵¤·¤Ç NT ¾å¤Çµ¯Æ°¤¹¤ë¤È¡¢
- @code{mysqld-nt} ¤Ï¼«Ê¬¼«¿È¤ò¥µ¡¼¥Ó¥¹¤È¤·¤ÆΩ¤Á¾å¤²¤è¤¦¤È¤·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Î¥µ¡¼¥Ó¥¹¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡£
- ¤â¤·´û¤Ë @code{mysqld-nt} ¤ò»ß¤á¤Æ¤¤¤¿¤Ê¤é¡¢ @code{NET START mysql} ¤Ç
-µ¯Æ°¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-¥µ¡¼¥Ó¥¹¤Ï @code{MySql} ¤È¤¤¤¦Ì¾Á°¤ÇÅÐÏ¿¤µ¤ì¤Þ¤¹¡£ °ìÅÙ¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤é¡¢
-¤³¤ì¤Ï Services Control Manager (SCM) Utility (¥³¥ó¥È¥í¡¼¥ë¥Ñ¥Í¥ë¤Ë¤¢¤ë)
-¤ò»ÈÍѤ¹¤ë¤«¡¢@code{NET START MySQL} ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤«¤·¤Æ¡¢
-µ¯Æ°¤µ¤ì¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-¤â¤·¡¢¥ª¥×¥·¥ç¥ó¤¬¤Ê¤Ë¤â»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤Ê¤é¡¢@code{MySQL} ¥µ¡¼¥Ó¥¹³«»ÏÁ°¤Ë¡¢
-SCM Utility ¤Î "Startup parameters" ¤Ëµ­½Ò¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-°ìÅÙÁö¤ì¤Ð¡¢ @code{mysqld-nt} ¤Ï @code{mysqladmin} ¤ä SCM utility ¡¢
-@code{NET STOP MySQL} ¥³¥Þ¥ó¥É¤ÇÄä»ß¤Ç¤­¤Þ¤¹¡£
-¤â¤· SCM ¤ò»ÈÍѤ·¤Æ @code{mysqld-nt} Ää»ß¤¹¤ë¤Ê¤é¡¢
- @code{mysqld shutdown normally} ¤Ë¤Ä¤¤¤Æ¤ÎÊѤʥá¥Ã¥»¡¼¥¸¤¬¤Ç¤Þ¤¹¡£
-When run as a service, @code{mysqld-nt} has no access to a console and so no
-messages can be seen.
-
-NT ¤Ç¤Ï°Ê²¼¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬½Ð¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡§
-
-@multitable @columnfractions .3 .7
-@item Permission Denied @tab Means that it cannot find @code{mysqld-nt.exe}
-@item Cannot Register @tab Means that the path is incorrect
-@end multitable
-
-¤â¤· @code{mysqld-nt} ¤ò¥µ¡¼¥Ó¥¹¤È¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¤Ë
-ÌäÂ꤬ȯÀ¸¤·¤¿¾ì¹ç¡¢¥Õ¥ë¥Ñ¥¹¤Ç¼Â¹Ô¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡§
-
-@example
-C:\mysql\bin\mysqld-nt --install
-@end example
-
-¤â¤·¤³¤ì¤ÇÆ°ºî¤·¤Ê¤¤¤è¤¦¤Ê¤é¡¢¥ì¥¸¥¹¥È¥êÆâ¤Î¥Ñ¥¹¤ò½¤Àµ¤¹¤ì¤Ð @code{mysqld-nt} ¤ò
-µ¯Æ°¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£
-
-¥µ¡¼¥Ó¥¹¤È¤·¤Æ @code{mysqld-nt} ¤òµ¯Æ°¤·¤¿¤¯¤Ê¤¤¤Ê¤é°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-C:\mysql\bin\mysqld-nt --standalone
-@end example
-
-or
-
-@example
-C:\mysql\bin\mysqld --standalone --debug
-@end example
-
-ºÇ¿·¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢¥Ç¥Ð¥Ã¥°¤Î¥È¥ì¡¼¥¹¤ò @file{C:\mysqld.trace} ¤Ë½Ð¤·¤Þ¤¹¡£
-
-@node Win32 running, Win32 and SSH, NT start, Win32
-@subsection Win32 ¾å¤Ç @strong{MySQL} ¤ò¼Â¹Ô
-
-@strong{MySQL}¤ÏÁ´¤Æ¤Î Win32 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤Ç TCP/IP ¤ò¥µ¥Ý¡¼¥È¤·¡¢
-NT ¾å¤Ç named pipe ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ï¡¢NT ¾å¤Ç¥í¡¼¥«¥ë¤ËÀܳ¤¹¤ë¤È¤­¤Ë¥Í¡¼¥à¥É¡¦¥Ñ¥¤¥×¤¬»ÈÍѤµ¤ì¡¢
-¤½¤Î¤Û¤«¤ÎÁ´¤Æ¤Î¾ì¹ç¤Ç TCP/IP ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
- ¥Û¥¹¥È̾¤Ï¤É¤Î¥×¥í¥È¥³¥ë¤ò»ÈÍѤ¹¤ë¤«¤ò·è¤á¤Þ¤¹¡§
-
-@multitable @columnfractions .3 .7
-@strong{Host name} @tab @strong{protocol}
-@item NULL (none) @tab NT ¤Ç¤ÏºÇ½é¤Ë¥Í¡¼¥à¥É¡¦¥Ñ¥¤¥×¤ò»î¤ß¡¢Æ°¤«¤Ê¤±¤ì¤Ð TCP/IP ¤ò»ÈÍѤ·¤Þ¤¹¡£ Win95/Win98 ¤Ç¤Ï TCP/IP ¤ò»ÈÍѤ·¤Þ¤¹¡£
-@item . @tab ¥Í¡¼¥à¥É¡¦¥Ñ¥¤¥×
-@item localhost @tab TCP/IP to current host
-@item hostname @tab TCP/IP
-@end multitable
-
-@strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¤Ë named pipes ¤ò¶¯À©Åª¤Ë»ÈÍѤµ¤»¤ë¤Ë¤Ï¡¢
-@code{--pipe} ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ ¤½¤·¤Æ¡¢@code{--socket} ¥ª¥×¥·¥ç¥ó¤Ç
-¥Ñ¥¤¥×¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
-
-@strong{MySQL} ¤¬Æ°¤¤¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ³Îǧ¤Ç¤­¤Þ¤¹¡§
-
-@example
-C:\mysql\bin\mysqlshow
-C:\mysql\bin\mysqlshow -u root mysql
-C:\mysql\bin\mysqladmin version status proc
-C:\mysql\bin\mysql test
-@end example
-
-¤â¤· Win95/Win98 ¾å¤Ç @code{mysqld} ¤Ø¤ÎÀܳ¤¬ÃÙ¤¤¤è¤¦¤Ê¤é¡¢DNS ¤ÎÌäÂ꤫¤â¤·¤ì¤Þ¤»¤ó¡£
-¤³¤Î¾ì¹ç¡¢ @code{mysqld} ¤ò @code{--skip-name-resolve} ¥ª¥×¥·¥ç¥ó¤Ç
-µ¯Æ°¤·¡¢@strong{MySQL} µö²Ä¥Æ¡¼¥Ö¥ë¤Ë¤Ï¡¢@code{localhost} ¤È IP ¥¢¥É¥ì¥¹¤À¤±
-»ÈÍѤ·¤Þ¤¹¡£
-NT¾å¤ÇÁö¤ë @code{mysqld-nt} @strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËÂФ·¤Æ¤ÎÀܳ»þ¤Ë
- DNS ¤òÈò¤±¤ë¤¿¤á¤Ë¡¢ @code{--pipe} °ú¿ô¤ò»ØÄꤷ¤Æ¥Í¡¼¥à¥É¡¦¥Ñ¥¤¥×¤ò
-»ÈÍѤǤ­¤Þ¤¹¡£ ¤³¤ì¤Ï¤Û¤È¤ó¤É¤Î @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¤ÇÆ°¤­¤Þ¤¹¡£
-
-2¤Ä¤Î @strong{MySQL} ¥³¥Þ¥ó¥É¥é¥¤¥ó¥Ä¡¼¥ë¤¬¤¢¤ê¤Þ¤¹¡§
-@multitable @columnfractions .15 .85
-@item @code{mysql} @tab Compiled on native Win32, which offers very limited text
-editing capabilities.
-@item @code{mysqlc} @tab Compiled with the Cygnus GNU compiler and libraries, which offers @code{readline} editing.
-@end multitable
-
-¤â¤· @code{mysqlc.exe} ¤ò»ÈÍѤ·¤¿¤¤¤Ê¤é,
-@file{C:\mysql\lib\cygwinb19.dll} ¤ò @file{\windows\system} (¤«¡¢»÷¤¿¥Ñ¥¹)
-¤Ë¥³¥Ô¡¼¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-Win32 ¤Î @strong{MySQL} ¤Î½é´ü¤Î¸¢¸Â¤Ï¡¢¥í¡¼¥«¥ë¤ÎÁ´¤Æ¤Î¥æ¡¼¥¶¡¼¤Ë
-ÂФ·¤Æ¡¢Á´¤Æ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÇÁ´¤Æ¤Î¸¢¸Â¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Þ¤¹¡£
-@strong{MySQL} ¤ò°ÂÁ´¤Ë¤¹¤ë¤¿¤á¤Ë¡¢Á´¤Æ¤Î¥æ¡¼¥¶¡¼¤Ë¥Ñ¥¹¥ï¡¼¥É¤ò
-ÀßÄꤹ¤Ù¤­¤Ç¤¹¡£¤Þ¤¿¡¢@code{mysql.user} ¥Æ¡¼¥Ö¥ë¤«¤é
-@code{Host='localhost'} ¤Ç @code{User=''} ¤È¤Ê¤Ã¤Æ¤¤¤ë¥ì¥³¡¼¥É¤ò
-ºï½ü¤¹¤Ù¤­¤Ç¤¹¡£
-
-@code{root} ¥æ¡¼¥¶¡¼¤Ë¤â¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤹ¤Ù¤­¤Ç¤¹¡§
-(The following example starts by removing the anonymous user, that allows
-anyone to access the 'test' database)
-
-@example
-C:\mysql\bin\mysql mysql
-mysql> DELETE FROM user WHERE Host='localhost' AND User='';
-mysql> QUIT
-C:\mysql\bin\mysqladmin reload
-C:\mysql\bin\mysqladmin -u root password your_password
-@end example
-
-¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤¿¸å¡¢¤â¤· @code{mysqld} ¥µ¡¼¥Ð¡¼¤òÄä»ß¤µ¤»¤ë¤Ê¤é¡¢
-°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-mysqladmin --user=root --password=your_password shutdown
-@end example
-
-If you are using the old shareware version of @strong{MySQL} 3.21 under
-Windows, the above command will fail with an error: @code{parse error
-near 'SET OPTION password'}. This is because the old shareware version,
-which is based on @strong{MySQL} 3.21, doesn't have the @code{SET PASSWORD}
-command. The fix is in this case is to upgrade to the 3.22 shareware
-version.
-
-With the newer @strong{MySQL} versions you can easily add new users
-and change privileges with @code{GRANT} and @code{REVOKE} commands.
-@xref{GRANT}.
-
-
-@node Win32 and SSH, Win32 symbolic links, Win32 running, Win32
-@subsection SSH ¤òÍøÍѤ·¤Æ¥ê¥â¡¼¥È¤Î @strong{MySQL} ¤Ë Win32 ¤«¤éÀܳ
-
-SSH ¤òÍøÍѤ·¤Æ¡¢Win32 ¤«¤é¡¢¤É¤¦¤ä¤Ã¤Æ¥ê¥â¡¼¥È¤Î MySQL ¤ËÀܳ¤¹¤ë¤«¤ÎÀâÌÀ¤Ç¤¹¡£
-(by David Carlson).
-
-@itemize @bullet
-@item
-¤¢¤Ê¤¿¤Î windows ¥Þ¥·¥ó¤Ë SSH ¥¯¥é¥¤¥¢¥ó¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹ - »ä¤Ï¥Õ¥ê¡¼ÈǤÎ
-SSH ¥¯¥é¥¤¥¢¥ó¥È¤ò»ÈÍѤ·¤Þ¤·¤¿¡£ @uref{http://www.doc.ic.ac.uk/~ci2/ssh/}.
-¾¤ÎÍ­±×¤Ê¾ðÊó¤Ï¡§
-@uref{http://www.npaci.edu/Security/npaci_security_software.html} and
-@uref{http://www.npaci.edu/Security/samples/ssh32_windows/index.html}.
-@item
-SSH ¤òµ¯Æ°¡£ Host Name ¤ò ¤¢¤Ê¤¿¤Î MySQL ¥µ¡¼¥Ð¡¼¤Î̾Á°¤« IP ¥¢¥É¥ì¥¹¤Ë¥»¥Ã¥È¤·¤Þ¤¹¡£
-userid ¤ò¡¢¤¢¤Ê¤¿¤Î¥µ¡¼¥Ð¡¼¤Ø¤Î¥í¥°¥¤¥ó̾¤Ë¥»¥Ã¥È¤·¤Þ¤¹¡£
-@item
-"local forwards" ¤ò¥¯¥ê¥Ã¥¯¡£ @code{local port: 3306},
-@code{host: localhost}, @code{remote port: 3306} ¤Ë¤½¤ì¤¾¤ì¥»¥Ã¥È¡£
-@item
-Á´¤ÆÊݸ(Save)¡£ Êݸ¤·¤Æ¤â¼¡²ó¤ä¤êľ¤·¤¬¤Ç¤­¤Þ¤¹¡£
-@item
-SSH ¤Ç¤¢¤Ê¤¿¤Î¥µ¡¼¥Ð¡¼¤Ë¥í¥°¥¤¥ó¡£
-@item
-¤Ê¤Ë¤« ODBC ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó(Î㤨¤Ð Access) ¤òµ¯Æ°¡£
-@item
-ODBC ¥É¥é¥¤¥Ð¡¼¤òÍøÍѤ·¤Æ MySQL ¤Ø¤Î¿·¤·¤¤¥Õ¥¡¥¤¥ë¤È¥ê¥ó¥¯¤òºîÀ®¡£
-¤³¤ì¤ÏÄ̾ï¤Î»þ¤ÈºîÀ®ÊýË¡¤ÏÊѤï¤ê¤Ê¤¤¤Ç¤¹¤¬¡¢¥µ¡¼¥Ð¡¼¤¬ "localhost" ¤Ç
-¤¢¤ë¤³¤È¤¬°ã¤¤¤Þ¤¹
-@end itemize
-
-That's it. It works very well with a direct Internet connection. I'm
-having problems with SSH conflicting with my Win95 network and Wingate -
-but that'll be the topic of a posting on another software company's
-usegroup!
-
-@findex Symbolic links
-@findex Using multiple disks to start data
-@node Win32 symbolic links, Win32 vs. Unix, Win32 and SSH, Win32
-@subsection Splitting data across different disks under Win32
-
-On windows @strong{MySQL} 3.23.16 and above is compiled with the
-@code{-DUSE_SYMDIR} option. This allows you to put a database on
-different disk by adding a symbolic link to it (in a similar manner that
-symbolic links works on Unix).
-
-On windows you make a symbolic link to a database by creating a file
-that contains the path to the destination directory and saving this in
-the @code{mysql_data} directory under the filename @code{database.sym}.
-Note that the symbolic link will only be used if the directory
-@code{mysql_data_dir\database} doesn't exist.
-
-For example if you want to have database @code{foo} on @file{D:\data\foo} you
-should create the file @file{C:\mysql\data\foo.sym} that should contains the
-text @code{D:\data\foo}. After this, all tables created in the database
-@code{foo} will be created in @file{D:\data\foo}.
-
-@node Win32 vs. Unix, , Win32 symbolic links, Win32
-@subsection @strong{MySQL}-Win32 compared to Unix @strong{MySQL}
-
-@strong{MySQL}-Win32 ¥Ð¡¼¥¸¥ç¥ó¤Ï¸½ºß¤½¤ì¼«ÂΤȤƤâ°ÂÄꤷ¤¿(stable¤Ê)¾õÂ֤Ƕ¡µë¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-MySQL-win32 ¥Ð¡¼¥¸¥ç¥ó¤Ï ¤¹¤Ù¤Æ¤Îµ¡Ç½¤¬UNIX¥Ð¡¼¥¸¥ç¥ó¤ÎMySQL¤ÈÂбþ¤·¤Æ¤¤¤Þ¤¹¡£
-¤¿¤À¤·¡¢²¼µ­¤Î¤è¤¦¤ÊÎã³°¤¬¤¢¤ê¤Þ¤¹¡£
-
-@table @strong
-@item Win95 ¤È¥¹¥ì¥Ã¥É
-Win95¤Ï¡¢³Æ¡¹¤Î¥¹¥ì¥Ã¥É¤ÎºîÀ®¤Î¤¿¤á¤Ë¥á¥¤¥ó¥á¥â¥ê¤Î¤ª¤è¤½200¥Ð¥¤¥È¤ò¥á¥â¥ê¥ê¡¼¥¯
-¤·¤Þ¤¹¡£¤³¤ì¤Î¤¿¤á¤Ë¡¢¤â¤·¤¢¤Ê¤¿¤¬Â¿¤¯¤ÎÀܳ¤ò¤¹¤ì¤Ð¡¢@strong{MySQL} ¤Î³Æ¡¹¤ÎÀܳ¤¬¿·¤·¤¤
-¥¹¥ì¥Ã¥É¤òºîÀ®¤¹¤ë¤Î¤Ç¡¢¤¢¤Ê¤¿¤ÏWin95¤Ç¤ÏĹ»þ´Ö¡¢@code{mysqld} ¤ò¼Â¹Ô¤µ¤»¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê
-¤Þ¤»¤ó¡ª
-WinNT and Win98 don't suffer from this bug.
-
-@item Concurrent reads
-@strong{MySQL} depends on the @code{pread()} and @code{pwrite()} calls to be
-able to mix @code{INSERT} and @code{SELECT}. As windows doesn't support these
-calls, @strong{MySQL} can't currently handle concurrent reads on windows.
-We plan to fix this by adding an extra mutex to each open file and simulate
-@code{pread()}/@code{pwrite()}.
-
-@item ¥Ö¥í¥Ã¥¯Æɤ߹þ¤ß
-@strong{MySQL} ¤Ï¤½¤ì¤¾¤ì¤ÎÀܳ¤Î¤¿¤á¤Ë¥Ö¥í¥Ã¥¯Æɤ߹þ¤ß¤ò»È¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï°Ê²¼¤Î»öÊÁ¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡§
-@itemize @bullet
-
-@item
-Àܳ¤Ï¡¢@strong{MySQL} ¤ÎUnix¥Ð¡¼¥¸¥ç¥ó¤Çµ¯¤³¤ë¤è¤¦¤Ë¡¢8»þ´Ö¤Î¸å¤Ë¼«Æ°Åª¤ËÀܳ¤¬ÃÇ
-¤ÁÀÚ¤é¤ì¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
-
-@item
-¤â¤·Àܳ¤¬¡Ö¥Ï¥ó¥°¤¹¤ì¤Ð¡×¡¢@strong{MySQL}¤ò½ªÎ»¤·¤Ê¤¤¤Ç¤½¤ì¤òÃæÃǤ¹¤ë¤³¤È¤Ï¡¢ÉÔ²Äǽ¤Ç¤¹¡£
-
-@item
-@code{mysqladmin kill} ¤Ï¡¢¥¹¥ê¡¼¥×¤·¤Æ¤¤¤ëÀܳ¾å¤Ç¤ÏƯ¤«¤Ê¤¤¤Ï¤º¤Ç¤¹¡£
-
-@item
-¥¹¥ê¡¼¥×¤·¤Æ¤¤¤ëÀܳ¤¬¤¢¤ë¤«¤®¤ê¡¢@code{mysqladmin shutdown} ¤Ï¡¢ÃæÀ䤹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£
-@end itemize
-
-»ä¤¿¤Á¤Ï¡¢¶á¤¤¾­Íè¤Ë¤³¤ì¤ò½¤Àµ¤¹¤ë¤³¤È¤ò·×²è¤·¤Æ¤¤¤Þ¤¹¡£
-
-@item UDF ´Ø¿ô
-º¹¤·Åö¤ê¡¢@strong{MySQL}-Win32 ¤Ï¥æ¡¼¥¶¤ÎÄêµÁ¤Ç¤­¤ë´Ø¿ô¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£
-
-@item @code{DROP DATABASE}
-Ê£¿ô¤Î¥¹¥ì¥Ã¥É¤Ç»È¤ï¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÏDROP¤ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£
-
-@item ¥¿¥¹¥¯¥Þ¥Í¡¼¥¸¥ã¡¼¤«¤é¤Î @strong{MySQL} ¤Î½ªÎ»
-Windows95¤Ç¤Ï¡ÖWindows¤Î½ªÎ»¡×¤ä¥¿¥¹¥¯¥Þ¥Í¡¼¥¸¥ã¤«¤é @strong{MySQL} ¤ò½ªÎ»¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
-@code{mysqladmin shutdown} ¤Ç½ªÎ»¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-@item Âçʸ»ú¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤Ì¾Á°
-Win32¤Ç¤Ï¥Õ¥¡¥¤¥ë¥Í¡¼¥à¤ÏÂçʸ»ú¾®Ê¸»ú¤¬¶èÊ̤µ¤ì¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢Win32ÍѤΠ@strong{MySQL} ¤Ç
-¤Ï¥Æ¡¼¥Ö¥ë̾¤ÏÂçʸ»ú¾®Ê¸»ú¤¬¶èÊ̤µ¤ì¤Þ¤¹¡£Í£°ì¤ÎÀ©¸Â¤Ï¡¢Ì¾Á°¤¬½êÄê¤Î¥¹¥Æ¡¼¥È¥á¥ó
-¥È¤Î»ê¤ë½ê¤ÎƱ¤¸¥±¡¼¥¹¤ÇÍ¿¤¨¤é¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤½¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Èɽ¤Ç¤¹¡£
-²¼¤Î¤è¤¦¤Ê¥¯¥¨¥ê¡¼¤ÏƯ¤­¤Þ¤»¤ó¡£¤½¤ì¤¬É½¤Î @code{MY_TABLE}, @code{my_table} ξÊý¤ò»²¾È¤¹¤ë¤«¤é¤Ç
-¤¹¡£
-
-@example
-SELECT * FROM my_table WHERE MY_TABLE.col=1;
-@end example
-
-@item The @samp{\} (¥Ç¥£¥ì¥¯¥È¥ê̾)
-Win95¤Î¥Ñ¥¹Ì¾¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ï¡¢ @samp{\} ¤Ë¤è¤Ã¤ÆÎ¥¤µ¤ì¤Þ¤¹¤¬¡¢¤½¤Îʸ»ú¤ÏƱ¤¸¤¯ @strong{MySQL} ¤Î¥¨
-¥¹¥±¡¼¥×ʸ»ú¤Ç¤â¤¢¤ê¤Þ¤¹¡£¤â¤·¤¢¤Ê¤¿¤Ï @code{LOAD DATA INFILE} ¤Þ¤¿¤Ï @code{SELECT ... INTO OUTFILE} ¤ò»È¤Ã¤Æ¡¢UNIX¤Ç¤Î¥Õ¥¡¥¤¥ë¥Í¡¼¥à¤Ç @samp{/} ¤ò½ñ¤¯¤è¤¦¤Ë¤·¤¿¤¤¤Ê¤é¡¢¤½¤ÎÂå¤ï¤ê¤Ë
-¡Ö\\¡×¤È @samp{\} ¤ò¥À¥Ö¥ë¤Ç»È¤ï¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-@example
-LOAD DATA INFILE "C:\\tmp\\skr.txt" INTO TABLE skr;
-SELECT * FROM skr INTO OUTFILE 'C:/tmp/skr.txt';
-@end example
-
-@item @code{Can't open named pipe} ¥¨¥é¡¼
-¤â¤·¤¢¤Ê¤¿¤¬ºÇ¿·¤Î mysql-clients ¤ò»ý¤ÄNT¤Î¾å¤Ç @strong{MySQL}-Win32 ¤Î¥·¥§¥¢¥¦¥§¥¢¥Ð¡¼¥¸¥ç¥ó
-¤ò»È¤¨¤Ð¡¢¤¢¤Ê¤¿¤Ï¡¢¼¡¤Î¥¨¥é¡¼¤òÆÀ¤ë¤³¤È¤Ë¤Ê¤ë¤Ï¤º¤Ç¤¹:
-
-@example
-error 2017: can't open named pipe to host: . pipe...
-@end example
-
-@tindex .my.cnf file
-¤³¤ì¤Ï¡¢ @strong{MySQL} ¤Î¥ê¥ê¡¼¥¹¥Ð¡¼¥¸¥ç¥ó¤¬¥Ç¥Õ¥©¥ë¥È¤ÇNT¤Î¾å¤Ë¥Í¡¼¥à¥É¥Ñ¥¤¥×¤ò»È¤Ã¤Æ¤¤
-¤ë¤¿¤á¤Ëµ¯¤³¤Ã¤Æ¤¤¤Þ¤¹¡£
-¤¢¤Ê¤¿¤Ï¿·¤·¤¤ @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Þ¤¿¤Ï @file{C:\my.cnf} ¥Õ¥¡¥¤¥ë¤òºî¤ë¤µ¤¤(¤³¤Î¥Õ¥¡¥¤
-¥ë¤Ï°Ê²¼¤Î¾ðÊó¤ò´Þ¤ß¤Þ¤¹)¤Ë @code{--host=localhost} ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤³¤È¤Ë¤è¤Ã¤Æ¤³¤Î¥¨
-¥é¡¼¤òÈò¤±¤é¤ì¤Þ¤¹¡£
-
-@example
-[client]
-host = localhost
-@end example
-
-@item @code{Access denied for user} error
-¤â¤·¤¢¤Ê¤¿¤¬Æ±¤¸¥Þ¥·¥ó¾å¤Î @strong{MySQL} ¥µ¡¼¥Ð¡¼¤Ë¥¢¥¯¥»¥¹¤·¤¿»þ
-@code{Access denied for user: 'some-user@@unknown' to database 'mysql'}
- ¥¨¥é¡¼¤òÆÀ¤ë¤Ê¤é¡¢¤³¤ì¤Ï¤¢¤Ê¤¿¤Î @strong{MySQL} ¤¬¤¢¤Ê¤¿
-¤Î¥Þ¥·¥ó¤Î¥Û¥¹¥È̾¤òÀµ¤·¤¯²ò·è¤Ç¤­¤Æ¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-
-¤³¤ì¤ò½¤Àµ¤¹¤ë¤Ë¤Ï¤¢¤Ê
-¤¿¤Ï¥Õ¥¡¥¤¥ë @file{\windows\hosts} ¤òºî¤ê¡¢°Ê²¼¤Î¾ðÊó¤ò½ñ¤¯¤³¤È¤Ë¤è¤Ã¤Æ¤¹¤Ù¤­¤Ç¤¹¡£
-(Ãí:Windows95,98¤Ë¤Ï\Windows¥Õ¥©¥ë¥À¾å¤Ë¥µ¥ó¥×¥ë¤È¤·¤Æ¡Ölmhosts.sam¡×¥Õ¥¡¥¤¥ë¤¬
-´û¤Ë¤¢¤ë¤Ï¤º¤Ç¤¹)
-
-@example
-127.0.0.1 localhost
-@end example
-@end table
-
-¤³¤³¤Ë¤ÏWin32¥ê¥ê¡¼¥¹¤ò½õ¤±¤Æ¤¯¤ì¤ë狼¤Î¤¿¤á¤Ë¤¤¤¯¤Ä¤«¥ª¡¼¥×¥ó¤Ë¤Ê¤Ã¤Æ¤¤¤ëÌäÂê
-¤¬¤¢¤ê¤Þ¤¹:
-
-@itemize @bullet
-@item
-Make a single user @code{MYSQL.DLL} server. This should include everything in
-a standard @strong{MySQL} server, except thread creation. This will make
-@strong{MySQL} much easier to use in applications that don't need a true
-client/server and don't need to access the server from other hosts.
-
-@item
-Add some nice ``start'' and ``shutdown'' icons to the @strong{MySQL} installation.
-@file{MySQL.DLL}.
-
-@item
-Create a tool to manage registry entries for the @strong{MySQL} startup
-options. The registry entry reading is already coded into @code{mysqld.cc},
-but it should be recoded to be more ``parameter'' oriented.
-The tool should also be able to update the @file{\my.cnf} file if the user
-would prefer to use this instead of the registry.
-
-@item
-NT¾å¤Ç @code{mysqld} ¤ò¥µ¡¼¥Ó¥¹¤È¤·¤Æ @code{--install} ¥Õ¥é¥°¤ÇÅÐÏ¿¤¹¤ë¤È¤­¡¢¤â¤·¤¢¤Ê¤¿¤¬¥³¥Þ¥ó¥É¥é
-¥¤¥ó¤Î¾å¤Ç¥Ç¥Õ¥©¥ë¥È¤Î¥ª¥×¥·¥ç¥ó¤òƱ¤¸¤¯²Ã¤¨¤ë¤³¤È¤¬¤Ç¤­¤ì¤Ð¡¢¤½¤ì¤Ï¡¢Îɤ¤¤À¤í
-¤¦¡£¤³¤ÎÌäÂê¤Ïº¹¤·Åö¤¿¤Ã¤Æ¡¢ @file{C:\my.cnf} ¥Õ¥¡¥¤¥ë¤òÂå¤ï¤ê¤Ë¤¹¤ë¤³¤È¤ÇÂåÍѤ·¤Æ¤¤¤Þ
-¤¹¡£
-
-@item
-¤¢¤Ê¤¿¤¬¥é¥Ã¥×¥È¥Ã¥×¤ÎÁö¤ëWin95¤òÃæÃǤ¹¤ë¤È¡¢¥é¥Ã¥×¥È¥Ã¥×¤Î¥ì¥¸¥å¡¼¥à¤µ¤ì¤ë»þ¡¢
- @code{mysqld} ¥Ç¡¼¥â¥ó¤Ï¿·¤·¤¤Àܳ¤ò¼õ¤±Æþ¤ì¤Þ¤»¤ó¡£»ä¤¿¤Á¤Ï¡¢¤³¤ì¤¬Win95¡¢TCP/IP¡¢¤Þ¤¿
-¤Ï¡¢ @strong{MySQL} ¤¬»ý¤ÄÌäÂê¤Ç¤¢¤ë¤«¤É¤¦¤«¤ï¤«¤ê¤Þ¤»¤ó¡£
-
-@item
-¤Þ¤¿¡¢¥¿¥¹¥¯¥Þ¥Í¡¼¥¸¥ã¤«¤é @code{mysqld} ¤ò½ªÎ»¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ì¤Ð¤Û¤ó¤È¤¦¤Ë¿ÆÀڤǤ·¤ç¤¦¡£
-º£¤Î¤È¤³¤í¡¢¤¢¤Ê¤¿¤Ï @code{mysqladmin shutdown} ¤ò»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-@item
-@code{mysql} ¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¥Ä¡¼¥ë¤È¤·¤Æ @code{readline} ¤òWin32¤Ë°Ü¿¢¤·¤Þ¤»¤ó¤«¡©
-
-@item
-ɸ½à¤Î @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È(@code{mysql}¡¢@code{mysqlshow}¡¢@code{mysqladmin}¡¢¤ª¤è¤Ó¡¢@code{mysqldump})¤ÎGUI
-¥Ð¡¼¥¸¥ç¥ó¤¬¤¢¤ì¤Ð¤¤¤¤¤Ç¤·¤ç¤¦¤Í¤§¡£
-
-@item
-¤â¤· @file{net.c} ¤Î¥½¥±¥Ã¥È¤Ø¡ÖÆɤ߹þ¤ß¡×¤È¡Ö½ñ¤­¹þ¤ß¡×¤¬interruptible¤Ê¤é¤Ð¡¢¤½¤ì¤Ï¤¤
-¤¤¤Î¤Ç¤¹¤¬¡£¤³¤ì¤¬¤Ç¤­¤ì¤ÐWin32¾å¤Ç @code{mysqladmin kill} ¤ò»ÈÍѤ·¤Æ³«¤«¤ì¤¿¥¹¥ì¥Ã¥É¤ò½ª
-λ¤Ç¤­¤ë¤Î¤Ç¤¹¤¬¡£
-
-@item
-@strong{MySQL}-Win32/@strong{MyODBC} ¤Ë¤Ä¤¤¤Æ½ñ¤«¤ì¤¿Windows¥×¥í¥°¥é¥ß¥ó¥°¤Î¥É¥­¥å¥á¥ó¥È¡Ä¤½¤ì¤é¤¬
-Æ°¤¤¤Æ¤¤¤ë¤³¤È¤ò³ÎǧºÑ¤ß¤Ç¤¢¤ë¤³¤È¡£
-
-@item
-@code{mysqld} ¤Ï¥Ç¥Õ¥©¥ë¥È¥í¥±¡¼¥ë¤Ç¤Ï¤Ê¤¯¡¢¾ï¤Ë¡ÖC¡×¥í¥±¡¼¥ë¤Çµ¯Æ°¤·¤Þ¤¹¡£»ä¤¿¤Á¤Ï¡¢
-¥½¡¼¥È½ç½ø¤Î¤¿¤á¤Ë¡¢ @code{mysqld} ¤Ë¡¢¸½ºß¤Î¥í¥±¡¼¥ë¤ò»È¤ï¤»¤¿¤¤¡£
-
-@item
-MysqlManager¤Ë¤â¤Ã¤È¿¤¯¤Î¥ª¥×¥·¥ç¥ó¤ò¡£
-
-@item
-¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤Î¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥ó¥×¥í¥È¥³¥ë¤ÎÊѹ¹¡Äsockets¤ÈTCP/IP¤ÎÂå
-¤ï¤ê¤ËWindowsÆâÉô¤Î¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥ó¤ò»È¤¦
-
-@item
-UDF ´Ø¿ô¤Î @code{.DLL} ¤Ç¤Î¼ÂÁõ
-
-@item
-Add macros to use the faster thread-safe increment/decrement methods
-provided by Win32.
-
-@end itemize
-
-¾¤Îwin32¤Ë¸ÂÄꤵ¤ì¤¿¾É¾õ¤Ï @strong{MySQL}-Win32 ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤ËƱº­¤µ¤ì¤Æ¤¤¤ë
- @file{README} ¥Õ¥¡¥¤¥ë¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-
-
-@node OS/2, TcX binaries, Win32, Installing
-@section OS/2 notes
-
-@strong{MySQL} uses quite a few open files. Because of this, you
-should add something like the following to your @file{CONFIG.SYS} file:
-
-@example
-SET EMXOPT=-c -n -h1024
-@end example
-
-If you don't do this, you will probably run into the following error:
-
-@example
-File 'xxxx' not found (Errcode: 24)
-@end example
-
-When using @strong{MySQL} with OS/2 Warp 3, FixPack 29 or above is
-required. With OS/2 Warp 4, FixPack 4 or above is required. This is a
-requirement of the Pthreads library. @strong{MySQL} must be installed
-in a partition that supports long file names such as HPFS, FAT32, etc.
-
-The @file{INSTALL.CMD} script must be run from OS/2's own @file{CMD.EXE}
-and may not work with replacement shells such as @file{4OS2.EXE}.
-
-The @file{scripts/mysql-install-db} script has been renamed: it is now called
-@file{install.cmd} and is a REXX script which will set up the default
-@strong{MySQL} security settings and create the WorkPlace Shell icons
-for @strong{MySQL}.
-
-Dynamic module support is compiled in but not fully tested. Dynamic
-modules should be compiled using the Pthreads runtime library.
-
-@example
-gcc -Zdll -Zmt -Zcrtdll=pthrdrtl -I../include -I../regex -I.. \
- -o example udf_example.cc -L../lib -lmysqlclient udf_example.def
-mv example.dll example.udf
-@end example
-
-@strong{Note:} Due to limitations in OS/2, UDF module name stems must not
-exceed 8 characters. Modules are stored in the @file{/mysql2/udf}
-directory; the @code{safe-mysqld.cmd} script will put this directory in
-the @code{BEGINLIBPATH} environment variable. When using UDF modules,
-specified extensions are ignored --- it is assumed to be @file{.udf}.
-For example, in Unix, the shared module might be named @file{example.so}
-and you would load a function from it like this:
-
-@example
-CREATE FUNCTION metaphon RETURNS STRING SONAME "example.so";
-@end example
-
-Is OS/2, the module would be named @file{example.udf}, but you would not
-specify the module extension:
-
-@example
-CREATE FUNCTION metaphon RETURNS STRING SONAME "example";
-@end example
-
-
-@node TcX binaries, Post-installation, OS/2, Installing
-@section TcX binaries
-
-¥µ¡¼¥Ó¥¹¤È¤·¤Æ¡¢TcX ¤Ï @strong{MySQL} ¤Î¥Ð¥¤¥Ê¥êÇÛÉÛ¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï TcX ÆâÉô¤Ç¤ª¤³¤Ê¤Ã¤¿¤ê¡¢²æ¡¹¤Ë¥Þ¥·¥ó¤Î
-¥¢¥¯¥»¥¹¤òÄ󶡤·¤Æ¤â¤é¤Ã¤Æ¤¤¤ë¸ÜµÒ¤Î¥Þ¥·¥ó¾å¤Ç¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
-
-¤³¤ì¤é¤ÎÇÛÉÛʪ¤Ï @code{scripts/make_binary_distribution} ¤ÇºîÀ®¤µ¤ì¡¢
-°Ê²¼¤Î¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó¤ÇÄ´À°¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-
-@table @asis
-@item SunOS 4.1.4 2 sun4c with @code{gcc} 2.7.2.1
-@code{CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --disable-shared}
-
-@item SunOS 5.5.1 sun4u with @code{egcs} 1.0.3a
-@code{CC=gcc CFLAGS="-O6 -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-low-memory}
-
-@item SunOS 5.6 sun4u with @code{egcs} 2.90.27
-@code{CC=gcc CFLAGS="-O6 -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-low-memory}
-
-@item SunOS 5.6 i86pc with @code{gcc} 2.8.1
-@code{CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --with-low-memory}
-
-@item Linux 2.0.33 i386 with @code{pgcc} 2.90.29 (@code{egcs} 1.0.3a)
-@code{CFLAGS="-O6 -mpentium -mstack-align-double -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -mpentium -mstack-align-double -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static}
-
-@item SCO 3.2v5.0.4 i386 with @code{gcc} 2.7-95q4
-@code{CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql}
-
-@item AIX 2 4 with @code{gcc} 2.7.2.2
-@code{CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql}
-
-@item OSF1 V4.0 564 alpha with @code{gcc} 2.8.1
-@code{CC=gcc CFLAGS=-O CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --with-low-memory}
-
-@item Irix 6.3 IP32 with @code{gcc} 2.8.0
-@code{CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql}
-
-@item BSDI BSD/OS 3.1 i386 with @code{gcc} 2.7.2.1
-@code{CC=gcc CXX=gcc CXXFLAGS=-O ./configure --prefix=/usr/local/mysql}
-
-@item BSDI BSD/OS 2.1 i386 with @code{gcc} 2.7.2
-@code{CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql}
-@end table
-
-¾å¤Ç¼¨¤·¤¿¥ª¥×¥·¥ç¥ó°Ê³°¤ÇºÇŬ²½¤ò»Ü¤·¤¿Êý¤Ï¤À¤ì¤Ç¤â¡¢³«È¯¼Ô¸þ¤±¤Î
-¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë¥Ý¥¹¥È¤Ç¤­¤Þ¤¹¡£
-@email{developer@@lists.mysql.com}.
-
-RPM ÇÛÉÛ¤Ç¤Ï @strong{MySQL} 3.22 ¤ò user-contributed ¤È¤·¤Æ¤¤¤Þ¤¹¡£
-3.22 ¤ò¤Ï¤¸¤á¡¢¤¤¤¯¤Ä¤«¤Î RPM ¥Ñ¥Ã¥±¡¼¥¸¤Ï TcX À½¤Ç¤¹¡£
-
-
-@node Post-installation, Upgrade, TcX binaries, Installing
-@section ¥¤¥ó¥¹¥È¡¼¥ë¸å¤ÎÀßÄê¤È¥Æ¥¹¥È
-
-@menu
-* mysql_install_db:: Problems running @code{mysql_install_db}
-* Starting server:: Problems starting the @strong{MySQL} server
-* Automatic start:: Starting and stopping @strong{MySQL} automatically
-* Option files:: Option files
-@end menu
-
-½é¤á¤Æ @strong{MySQL}¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤é(¥Ð¥¤¥Ê¥ê¤«¤é¤Ç¤â¥½¡¼¥¹¤«¤é¤Ç¤â¤Ç¤¹¤¬)¡¢
-¥µ¡¼¥Ð¡¼¤òÆ°ºî¤µ¤»¤ë¤¿¤á¤Ë¡¢µö²Ä¥Æ¡¼¥Ö¥ë¤ò½é´ü²½¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-¤Þ¤¿¥Þ¥·¥ó¤Îµ¯Æ°»þ¡¢Ää»ß»þ¤Ë¡¢¥µ¡¼¥Ð¡¼¤ò¼«Æ°¤Ç³«»Ï¡¢Ää»ß¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-
-Ä̾µö²Ä¥Æ¡¼¥Ö¥ë¤Î¥¤¥ó¥¹¥È¡¼¥ë¤È¥µ¡¼¥Ð¡¼¤Î³«»Ï¤Ï¡¢
-¥½¡¼¥¹¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ê¤é°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-shell> ./scripts/mysql_install_db
-shell> cd mysql_installation_directory
-shell> ./bin/safe_mysqld &
-@end example
-
-¥Ð¥¤¥Ê¥ê¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ç¤Ï¼¡¤ò¹Ô¤Ê¤¤¤Þ¤¹:
-
-@example
-shell> cd mysql_installation_directory
-shell> ./bin/mysql_install_db
-shell> ./bin/safe_mysqld &
-@end example
-
-¥Æ¥¹¥È¤Ï¡¢@strong{MySQL} ¤Î¥È¥Ã¥×¥Ç¥£¥ì¥¯¥È¥ê¡¼¤«¤é´Êñ¤Ë¼Â¹Ô¤Ç¤­¤Þ¤¹¡£
-¥Ð¥¤¥Ê¥êÇÛÉÛ¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¤³¤ì(¥È¥Ã¥×¥Ç¥£¥ì¥¯¥È¥ê)¤Ï
-¥¤¥ó¥¹¥È¡¼¥ëÀè¤Î¥Ç¥£¥ì¥¯¥È¥ê¡¼¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦(@file{/usr/local/mysql})¡£
-¥½¡¼¥¹ÇÛÉۤξì¹ç¡¢¤³¤ì¤Ï @strong{MySQL} ¤Î¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£
-
-¥³¥Þ¥ó¥É¤ÏËÜÀá¤È¤¤¤«¤Ë³¤¯Àá¤ÇÀâÌÀ¤·¤Þ¤¹¤¬¡¢@code{BINDIR} ¤Ï
-@code{mysqladmin} ¤ä @code{safe_mysqld} ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ò¼¨¤·¤Þ¤¹¡£
-¥Ð¥¤¥Ê¥êÇÛÉÛ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢@code{BINDIR} ¤Ï¥Ð¥¤¥Ê¥êÇÛÉۤΠ@file{bin} ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ê¤ê¤Þ¤¹¡£
-¥½¡¼¥¹¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¡¢@code{BINDIR} ¤Ï¡¢@code{configure} ¤ÇÆÃÊÌ»ØÄꤷ¤Ê¤¤¸Â¤ê¡¢
-@file{/usr/local/bin} ¤Ç¤¹¡£
-@code{EXECDIR} ¤Ï @code{mysqld} ¥µ¡¼¥Ð¡¼¤Î¥¤¥ó¥¹¥È¡¼¥ëÀè¤Ç¤¹¡£
-¥Ð¥¤¥Ê¥êÇÛÉÛ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤ì¤Ï @code{BINDIR} ¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ°ì¤Ë¤Ê¤ê¤Þ¤¹¡£
-¥½¡¼¥¹¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¡¢@file{/usr/local/libexec} ¤Ç¤¹¡£
-
-¥Æ¥¹¥È¤Ë¤Ä¤¤¤Æ°Ê²¼¤Ë¾ÜºÙ¤ËÀâÌÀ¤·¤Þ¤¹:
-
-@enumerate
-@item
-ɬÍפʤé¤Ð¡¢@code{mysqld} ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤· @strong{MySQL} ¤Îµö²Ä¥Æ¡¼¥Ö¥ë¤ò½é´ü²½¤·¤Þ¤¹¡£
-(µö²Ä¥Æ¡¼¥Ö¥ë¤Ï¥æ¡¼¥¶¡¼¤¬¤É¤Î¤è¤¦¤Ê¸¢¸Â¤ò¤â¤Ã¤Æ¥µ¡¼¥Ð¡¼¤ËÀܳ¤òµö¤¹¤«¤ò·èÄꤹ¤ë¤â¤Î¤Ç¤¹¡£)
-¤³¤ì¤ÏÄ̾@code{mysql_install_db} ¥¹¥¯¥ê¥×¥È¤Ç½é´ü²½¤µ¤ì¤Þ¤¹¡£
-
-@example
-shell> scripts/mysql_install_db
-@end example
-
-Ä̾@code{mysql_install_db} ¤Î¼Â¹Ô¤Ï½é¤á¤Æ @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë
-¤·¤¿¤¢¤È°ìÅÙ¤À¤±É¬ÍפǤ¹¡£ ¤¹¤Ç¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤ò
-¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ëºÝ¤Ë¤Ï¤³¤Î¼ê½ç¤ÏÈô¤Ð¤»¤Þ¤¹¡£
-¡Ê¤·¤«¤·¡¢@code{mysql_install_db} ¤Ï¼Â¤Ë°ÂÁ´¤Ç¡¢¤¹¤Ç¤Ë¥Æ¡¼¥Ö¥ë¤¬
-¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¤¤¤«¤Ê¤ë¥Æ¡¼¥Ö¥ë¤â¹¹¿·¤·¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã¤Æ¡¢
-¼Â¹Ô¤¹¤Ù¤­¤«¤É¤¦¤«¤ï¤«¤é¤Ê¤¤¾ì¹ç¤Ï¡¢@code{mysql_install_db} ¤ò¾ï¤Ë
-Áö¤é¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡Ë
-
-@code{mysql_install_db} ¤Ï 6¸Ä¤Î¥Æ¡¼¥Ö¥ë¤òºî¤ê¤Þ¤¹ (@code{user}, @code{db},
-@code{host}, @code{tables_priv}, @code{columns_priv} and @code{func})
-@code{mysql} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¡£ ½é´ü¤Î¸¢¸Â¾õÂ֤ˤĤ¤¤Æ¤ÎÀâÌÀ¤Ï
-@ref{Default privileges}. ¤³¤ì¤é¤Î¸¢¸Â¤Ï @strong{MySQL} @code{root} ¥æ¡¼¥¶¡¼¤Ë
-¤Ê¤ó¤Ç¤â¤Ç¤­¤ë¤è¤¦¤Ëµö²Ä¤·¡¢¤½¤·¤Æ¡¢¤À¤ì¤â¤¬
-@code{'test'} ¤È¤¤¤¦Ì¾Á°¤« @code{'test_'} ¤Ç¤Ï¤¸¤Þ¤ë̾Á°¤ò¤â¤Ä
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¡¢»ÈÍѤǤ­¤ë¤è¤¦¤Ëµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-
-¤â¤·µö²Ä¥Æ¡¼¥Ö¥ë¤òÀßÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥µ¡¼¥Ð¡¼¤òµ¯Æ°»þ¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡§
-
-@tindex host.frm, problems finding
-@example
-mysqld: Can't find file: 'host.frm'
-@end example
-
-¥Ð¥¤¥Ê¥êÇÛÉۤΠ@strong{MySQL} ¤Ç¤Ï¡¢¤â¤· @strong{MySQL} ¤ò
- @code{./bin/safe_mysqld} ¤ò¼Â¹Ô¤·¤Ê¤¤¤Çµ¯Æ°¤·¤¿¾ì¹ç¤Ë¡¢¤³¤Î¥¨¥é¡¼¤¬¤ª¤­¤Þ¤¹¡£!
-
-@code{root} ¤Ç @code{mysql_install_db} ¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ë¤È¤¢¤Ê¤¿¤Ï»×¤¦¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-¤·¤«¤·¡¢ @strong{MySQL} ¤Ï @code{root} °Ê³°¤Î¥æ¡¼¥¶¡¼¤Çµ¯Æ°¤Ç¤­¤Þ¤¹¡£
-¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤¬¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤¿¥æ¡¼¥¶¤ËÂФ·¤ÆÆɤ߽ñ¤­¤¬µö²Ä¤µ¤ì¤Æ¤¤¤ì¤ÐÎɤ¤¤Î¤Ç¤¹¡£
-@strong{MySQL} ¤ò°ìÈ̥桼¥¶¡¼¤ÇÁö¤é¤»¤ëÊýË¡¤Ï @ref{Changing MySQL user, , Changing
-@strong{MySQL} user}.
-
-¤â¤· @code{mysql_install_db} ¤ÇÌäÂ꤬½Ð¤¿¤é¡¢
-@ref{mysql_install_db, , @code{mysql_install_db}}. ¤ò»²¾È¤Î¤³¤È¡£
-
-@code{mysql_install_db} ¥¹¥¯¥ê¥×¥È¤òÁö¤é¤»¤ë¤Ë¤Ï¤¤¤¯¤Ä¤«ÁªÂò¤¬¤¢¤ê¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-@code{mysql_install_db} ¤òÁö¤é¤»¤ëÁ°¤ËÊÔ½¸¤·¤Æ¡¢µö²Ä¤Î½é´ü¾õÂÖ¤òÊѹ¹¤·¤Æ¤â¤¤¤¤¤Ç¤·¤ç¤¦¡£
-¤³¤ì¤Ï¿¤¯¤Î¥Þ¥·¥ó¤ËƱ¤¸¸¢¸ÂÀßÄê¤ò¤·¤Æ @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëºÝ¤Ë
-ÌòΩ¤Á¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¡¢¤¤¤¯¤Ä¤«¤Î @code{INSERT} ¹½Ê¸¤ò @code{mysql.user} ¤È
-@code{mysql.db} ¥Æ¡¼¥Ö¥ë¤Ë¤¿¤¤¤·¤ÆÄɲ乤ë¤è¤¦¤Ë¤¹¤ë¤À¤±¤Ç¤¹¤ß¤Þ¤¹!
-
-@item
-¤â¤·¥¤¥ó¥¹¥È¡¼¥ë¸å¤Ëµö²Ä¤òÊѹ¹¤·¤¿¤¤¾ì¹ç¡¢ @code{mysql -u root mysql} ¤Ç @strong{MySQL} @code{root} ¥æ¡¼¥¶¡¼¤ÇÀܳ¤·¤ÆľÀܵö²Ä¥Æ¡¼¥Ö¥ë¤òÊѹ¹¤¹¤ë SQL ʸ¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-
-@item
-¤¹¤Ç¤Ëµö²Ä¥Æ¡¼¥Ö¥ë¤¬ºîÀ®¤µ¤ì¤¿¾õÂ֤ǡ¢´°Á´¤Ëµö²Ä¥Æ¡¼¥Ö¥ë¤òºîÀ®¤·Ä¾¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤³¤ì¤Ï¤¹¤Ç¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤¬¤¢¤ë¾ì¹ç¤ä¡¢@code{mysql_install_db} ¤òÊÔ½¸¤·¤¿¸å¤Ë¤½¤¦»×¤¦¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-@end itemize
-
-¤³¤ì¤é¤ÎÁªÂò¤Ë¤Ä¤¤¤Æ¤Ï @ref{Default privileges} ¤«¤é¤µ¤é¤Ë¾ðÊó¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
-
-@item
-@strong{MySQL} ¥µ¡¼¥Ð¡¼¤ò°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æµ¯Æ°¤·¤Þ¤¹¡§
-@example
-shell> cd mysql_installation_directory
-shell> bin/safe_mysqld &
-@end example
-¥µ¡¼¥Ð¤Îµ¯Æ°¤ËÌäÂ꤬¤¢¤ì¤Ð¡¢@ref{Starting server} ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-@code{mysqladmin} ¤Ç¥µ¡¼¥Ð¡¼¤¬Áö¤Ã¤Æ¤¤¤ë¤«³Îǧ¤·¤Þ¤¹¡£
-¥µ¡¼¥Ð¡¼¤¬Î©¤Á¾å¤¬¤êÀܳ¤ò¼õ¤±ÉÕ¤±¤ë¤«³Îǧ¤¹¤ë´Êñ¤ÊÊýË¡¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡§
-
-@example
-shell> BINDIR/mysqladmin version
-shell> BINDIR/mysqladmin variables
-@end example
-
-Î㤨¤Ð¡¢@code{mysqladmin version} ¤Î½ÐÎϤϤ¢¤Ê¤¿¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤È
- @strong{MySQL} ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò½ÐÎϤ·¤Þ¤¹¡£
-½ÐÎϤϰʲ¼¤ÎÍͤˤǤޤ¹¡§
-
-@example
-shell> BINDIR/mysqladmin version
-mysqladmin Ver 6.3 Distrib 3.22.9-beta, for pc-linux-gnu on i686
-TCX Datakonsult AB, by Monty
-
-Server version 3.22.9-beta
-Protocol version 10
-Connection Localhost via UNIX socket
-TCP port 3306
-UNIX socket /tmp/mysql.sock
-Uptime: 16 sec
-
-Running threads: 1 Questions: 20 Reloads: 2 Open tables: 3
-@end example
-
-@code{BINDIR/mysqladmin} ¤Î»ÈÍÑÊýË¡¤Ï¡¢@code{--help} ¥ª¥×¥·¥ç¥ó¤Çµ¯Æ°¤¹¤ë¤³¤È¤Ë¤è¤êÆÀ¤é¤ì¤Þ¤¹¡£
-
-@item
-¥µ¡¼¥Ð¡¼¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Ë¤Ï¡§
-
-@example
-shell> BINDIR/mysqladmin -u root shutdown
-@end example
-
-@item
-¥µ¡¼¥Ð¡¼¤ò¥ê¥¹¥¿¡¼¥È¤¹¤ë¤Ë¤Ï¡¢@code{safe_mysqld} ¤« @code{mysqld} ¤òľÀܼ¹Ԥ·¤Þ¤¹¡£
-Î㤨¤Ð¡§
-
-@example
-shell> BINDIR/safe_mysqld --log &
-@end example
-
-@code{safe_mysqld} ¤¬¼ºÇÔ¤¹¤ë¤Ê¤é¡¢ @strong{MySQL} ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¡¼¤«¤é¼Â¹Ô¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
-¤â¤·¤½¤ì¤Ç¤âµ¯Æ°¤·¤Ê¤¤¤Ê¤é¡¢@ref{Starting server} ¤ò»²¾È¤Î¤³¤È¡£
-
-@item
-¤¤¤¯¤Ä¤«¤Î´Êñ¤Ê¥Æ¥¹¥È¤Ç¥µ¡¼¥Ð¡¼¤¬Æ°¤¤¤Æ¤¤¤ë¤«³Îǧ¤Ç¤­¤Þ¤¹¡£
-°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡§
-
-@example
-shell> BINDIR/mysqlshow
-+-----------+
-| Databases |
-+-----------+
-| mysql |
-+-----------+
-
-shell> BINDIR/mysqlshow mysql
-Database: mysql
-+--------------+
-| Tables |
-+--------------+
-| columns_priv |
-| db |
-| func |
-| host |
-| tables_priv |
-| user |
-+--------------+
-
-shell> BINDIR/mysql -e "select host,db,user from db" mysql
-+------+--------+------+
-| host | db | user |
-+------+--------+------+
-| % | test | |
-| % | test_% | |
-+------+--------+------+
-@end example
-
-¾¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç @strong{MySQL} ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤òÈæ³Ó¤¹¤ë¤¿¤á¤Ë
- @file{sql-bench} ¤Ë¥Ù¥ó¥Á¥Þ¡¼¥¯¤¬¤¢¤ê¤Þ¤¹¡£
-@file{sql-bench/Results} ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï¡¢Â¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ä¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç
-¥Ù¥ó¥Á¤ò¼Â¹Ô¤·¤¿·ë²Ì¤¬¤¢¤ê¤Þ¤¹¡£
-Á´¤Æ¤Î¥Æ¥¹¥È¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-shell> cd sql-bench
-shell> run-all-tests
-@end example
-
-RPM ¥Ð¥¤¥Ê¥êÇÛÉÛ¤Ë¤Ï @file{sql-bench} ¥Ç¥£¥ì¥¯¥È¥ê¤¬¤¢¤ê¤Þ¤»¤ó¡£
-(RPM ¤Î¥½¡¼¥¹ÇÛÉۤˤϴޤޤì¤Þ¤¹)
-¤³¤Î¾ì¹ç¡¢¥Ù¥ó¥Á¥Þ¡¼¥¯¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-@strong{MySQL} 3.22 ¤Î¥Ð¥¤¥Ê¥êÇÛÉÛ¤«¤é¡¢
-@file{mysql-bench-VERSION-i386.rpm} ¤È¤¤¤¦Ì¾Á°¤Ç RPM ¥Ñ¥Ã¥±¡¼¥¸¤òºî¤Ã¤Æ¤ª¤ê¡¢
-¤³¤ì¤Ë¤Ï¥Ù¥ó¥Á¥Þ¡¼¥¯¤Î¥Ç¡¼¥¿¤È¥³¡¼¥É¤¬´Þ¤Þ¤ì¤Þ¤¹¡£
-
-@file{tests} ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ç¥Æ¥¹¥È¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
-Î㤨¤Ð¡¢@file{auto_increment.tst} ¤Î¼Â¹Ô¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-shell> BINDIR/mysql -vvf test < ./tests/auto_increment.tst
-@end example
-
-¤³¤ì¤Î·ë²Ì¤Ï @file{./tests/auto_increment.res} ¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤µ¤ì¤Þ¤¹¡£
-@end enumerate
-
-
-@node mysql_install_db, Starting server, Post-installation, Post-installation
-@subsection @code{mysql_install_db} ¼Â¹Ô»þ¤ÎÌäÂê
-
-¤³¤ÎÀá¤Ç¤Ï @code{mysql_install_db} ¤ò¼Â¹Ô¤·¤¿ºÝ¤Ë¤Ç¤¯¤ï¤¹¤«¤â¤·¤ì¤Ê¤¤ÌäÂê¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤Þ¤¹¡§
-
-@table @strong
-@item @code{mysql_install_db} doesn't install the privilege tables
-
-¤³¤ì¤Ï @code{mysql_install_db} ¤¬¸¢¸Â¥Æ¡¼¥Ö¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Ê¤«¤Ã¤¿»ö¤Î¥á¥Ã¥»¡¼¥¸¤Ç¤¹¤¬¡¢
-³¤¤¤Æ°Ê²¼¤Î¤è¤¦¤Ë¥á¥Ã¥»¡¼¥¸¤¬½Ð¤¿¾ì¹ç¡§
-
-@example
-starting mysqld daemon with databases from XXXXXX
-mysql daemon ended
-@end example
-
-¤³¤Î¾ì¹ç¡¢Ãí°Õ¿¼¤¯ log ¥Õ¥¡¥¤¥ë¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡ª
-¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Ë½Ð¤Æ¤¤¤ë @file{XXXXXX} ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥í¥°¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¡¢
-¤³¤ì¤Ë @code{mysqld} ¤¬¤Ê¤¼¥¹¥¿¡¼¥È¤·¤Ê¤«¤Ã¤¿¤«µ­¤µ¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£
-¤â¤·²¿¤¬µ¯¤³¤Ã¤¿¤«¤ï¤«¤é¤Ê¤¤¾ì¹ç¡¢¤³¤Î¥í¥°¥Õ¥¡¥¤¥ë¤ò´Þ¤ó¤Ç @code{mysqlbug} ¤ò»ÈÍѤ·¤Æ
-¥Ð¥°¥ì¥Ý¡¼¥È¤òÅê¹Æ¤·¤Æ¤¯¤À¤µ¤¤¡ª
-@xref{Bug reports}.
-
-@item There is already a @code{mysqld} daemon running
-
-¤³¤Î¾ì¹ç¡¢ @code{mysql_install_db} ¤ò¼Â¹Ô¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-@code{mysql_install_db} ¤ò¼Â¹Ô¤¹¤ë¤Î¤Ï @strong{MySQL} ¤ò½é¤á¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¸å¡¢
-¤¿¤Ã¤¿°ì²ó¤À¤±¤Ç¤¹¡£
-
-@item Installing a second @code{mysqld} daemon doesn't work when one daemon is running
-
-¤³¤ì¤Ï¤¹¤Ç¤Ë @strong{MySQL} ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤ª¤ê¡¢
-¤·¤«¤·¿·¤·¤¤¥¤¥ó¥¹¥È¡¼¥ë¤ò°ã¤¦¤È¤³¤í¤Ë¹Ô¤ª¤¦¤È¤·¤¿¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£
-(Î㤨¤Ð¡¢°ìÅÙ¤ËÆó¤Ä¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò¼Â¹Ô¤·¤¿¾ì¹ç¤Ê¤É)
-°ìÈ̤ˤ³¤ÎÌäÂê¤ÏÆó¤ÄÌܤΥµ¡¼¥Ð¡¼¤òÆ°¤¤¤Æ¤¤¤ë¥µ¡¼¥Ð¡¼¤ÈƱ¤¸¥Ý¡¼¥È¡¢¥½¥±¥Ã¥È¤ò»ÈÍѤ·¤Æµ¯Æ°¤·¤è¤¦¤È¤·¤¿¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢@code{Can't start server: Bind on TCP/IP port: Address already in use} ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤«
-@code{Can't start server : Bind on unix socket...} ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬½Ð¤Þ¤¹¡£
-¿·¤·¤¤¥µ¡¼¥Ð¡¼¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ°ã¤¦¥Ý¡¼¥È¡¢¥½¥±¥Ã¥È¤Çµ¯Æ°¤Ç¤­¤Þ¤¹¡§
-
-@tindex MYSQL_UNIX_PORT environment variable
-@tindex MYSQL_TCP_PORT environment variable
-@tindex Environment variable, MYSQL_UNIX_PORT
-@tindex Environment variable, MYSQL_TCP_PORT
-@example
-shell> MYSQL_UNIX_PORT=/tmp/mysqld-new.sock
-shell> MYSQL_TCP_PORT=3307
-shell> export MYSQL_UNIX_PORT MYSQL_TCP_PORT
-shell> scripts/mysql_install_db
-shell> bin/safe_mysqld &
-@end example
-
-The environment variables ÉÕÏ¿¤Ï @code{mysqld} ¤Ë±Æ¶Á¤¹¤ë¾¤Î´Ä¶­ÊÑ¿ô¤Î
-°ìÍ÷¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£@xref{Environment variables}¡£
-
-¤³¤Î¸å¡¢Æó¤Ä¤Î¥Ç¡¼¥â¥ó¤ò°ã¤¦¥Ý¡¼¥È¡¢¥½¥±¥Ã¥È¤Ç¼Â¹Ô¤¹¤ë¤è¤¦¤Ë¡¢µ¯Æ°¥¹¥¯¥ê¥×¥È¤òÊѹ¹¤·¤Þ¤¹¡£
-Î㤨¤Ð¡¢@code{safe_mysqld} ¤òÆó¤Ä½ñ¤­¤Þ¤¹¤¬¡¢@code{--socket}, @code{--port} ¤È @code{--basedir}
- ¥ª¥×¥·¥ç¥ó¤ò¤½¤ì¤¾¤ì¤Î @code{safe_mysqld} ¤Ë»ØÄꤷ¤Þ¤¹¡£
-
-@item @file{/tmp} ¤Ë½ñ¤­¹þ¤ßµö²Ä¤ò¤¢¤Ê¤¿¤¬»ý¤Ã¤Æ¤¤¤Ê¤¤¤Ê¤é
-
-¤â¤·¥½¥±¥Ã¥È¥Õ¥¡¥¤¥ë¤òɸ½à¤Î¾ì½ê(@file{/tmp})¤ËºîÀ®¤¹¤ë¤¿¤á¤Î½ñ¤­¹þ¤ßµö²Ä¤¬¤Ê¤¤¤Ê¤é¡¢
-¤¢¤ë¤¤¤Ï¡¢°ì»þ¥Õ¥¡¥¤¥ë¤ò @file{/tmp} ¤ËºîÀ®¤Ç¤­¤Ê¤¤¤Ê¤é¡¢
-@code{mysql_install_db} ¤Î¼Â¹Ô»þ¡¢¤¢¤ë¤¤¤Ï @code{mysqld} ¤Îµ¯Æ°¡¿»ÈÍÑ»þ¤Ë
-¥¨¥é¡¼¤È¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-
-°ã¤¦¥Ç¥£¥ì¥¯¥È¥ê¡¼¤Ë¥½¥±¥Ã¥È¥Õ¥¡¥¤¥ë¤ä°ì»þ¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤Ë¤Ï¡§
-
-@tindex TMPDIR environment variable
-@tindex MYSQL_UNIX_PORT environment variable
-@tindex Environment variable, TMPDIR
-@tindex Environment variable, MYSQL_UNIX_PORT
-@example
-shell> TMPDIR=/some_tmp_dir/
-shell> MYSQL_UNIX_PORT=/some_tmp_dir/mysqld.sock
-shell> export TMPDIR MYSQL_UNIX_PORT
-@end example
-
-@file{some_tmp_dir} ¤Ï½ñ¤­¹þ¤ß¤¬²Äǽ¤Ê¥Ç¥£¥ì¥¯¥È¥ê¡¼¤ò»ØÄꤷ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-@xref{Environment variables}.
-
-¤³¤Î¸å¡¢@code{mysql_install_db} ¤òÁö¤é¤»¡¢¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ë»ö¤¬¤Ç¤­¤Þ¤¹¡§
-
-@example
-shell> scripts/mysql_install_db
-shell> BINDIR/safe_mysqld &
-@end example
-
-@item @code{mysqld} crashes at once
-
-¤â¤· RedHat 5.0 ¾å¤Ç 2.0.7-5 ¤è¤ê¸Å¤¤ @code{glibc} ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢
-Á´¤Æ¤Î @code{glibc} ¥Ñ¥Ã¥Á¤òÅö¤Æ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡ª
-¤³¤ì¤Ë´Ø¤·¤Æ¤Ï @strong{MySQL} ¥á¡¼¥ë¤Î¥¢¡¼¥«¥¤¥Ö¤Ë¾ðÊó¤¬Â¿¤¯¤¢¤ê¤Þ¤¹¡£
-¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Î¥¢¡¼¥«¥¤¥Ö¤Î¥ê¥ó¥¯¤Ï
-@uref{http://www.mysql.com/doc.html, @strong{MySQL} documentation page}.
-see @ref{Linux}.
-
-@code{mysqld} ¤ò @code{--skip-grant-tables} »ØÄê¤Çµ¯Æ°¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-¤½¤·¤Æ°Ê²¼¤Î¤è¤¦¤Ë @code{mysql} ¤ò»ÈÍѤ·¤Æ¼«Ê¬¼«¿È¤Î¼ê¤Ë¤è¤êµö²Ä¤ò²Ã¤¨¤Þ¤¹¡§
-
-@example
-shell> BINDIR/safe_mysqld --skip-grant-tables &
-shell> BINDIR/mysql -u root mysql
-@end example
-
-@code{mysql} ¤«¤é¼êÆ°¤Ç @code{mysql_install_db} ¤Ë½ñ¤«¤ì¤Æ¤¤¤ë SQL ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-µö²Ä¥Æ¡¼¥Ö¥ë¤ò¥µ¡¼¥Ð¡¼¤ËÆɤ߹þ¤Þ¤¹¤¿¤á¤Ë¤Ï¡¢
- @code{mysqladmin flush-privileges} ¤« @code{mysqladmin reload} ¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-@end table
-
-
-@node Starting server, Automatic start, mysql_install_db, Post-installation
-@subsection @strong{MySQL} ¥µ¡¼¥Ð¡¼µ¯Æ°»þ¤ÎÌäÂê
-
-Ä̾ï @code{mysqld} ¥µ¡¼¥Ð¡¼¤Îµ¯Æ°¤Ï¡¢°Ê²¼¤Î»°¤Ä¤ÎÊýË¡¤Î¤¦¤Á°ì¤Ä¤Ç¹Ô¤¤¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-@code{mysql.server} ¤Ë¤è¤ëµ¯Æ°¡£¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¥·¥¹¥Æ¥à¤Îµ¯Æ°»þ¡¢Ää»ß»þ¤Ë»È¤ï¤ì¤Þ¤¹¡£
-¾ÜºÙ¤Ï @ref{Automatic start}
-@item
-@code{safe_mysqld} ¤Ë¤è¤ëµ¯Æ°¡£¤³¤ì¤Ï @code{mysqld} ¤Ø¤ÎŬÀڤʥª¥×¥·¥ç¥ó¤ò·èÄꤷ¡¢
-¤½¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ç¥µ¡¼¥Ð¡¼¤Îµ¯Æ°¤ò»î¤ß¤Þ¤¹¡£
-@item
-NT ¾å¤Ç¤Ï @code{mysqld} ¤ò¼¡¤Î¤è¤¦¤Ë¥µ¡¼¥Ó¥¹¤È¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤Ù¤­¤Ç¤¹:
-@example
-bin\mysqld-nt --install # Install MySQL as a service
-@end example
-
-¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë @code{mysqld} ¤òµ¯Æ°/Ää»ß¤Ç¤­¤Þ¤¹:
-@example
-NET START mysql
-NET STOP mysql
-@end example
-
-Ãí°Õ: ¤³¤Î¾ì¹ç mysqld ¤ËÂФ·¤Æ¾¤Î¥ª¥×¥·¥ç¥ó¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡ª
-
-¼¡¤Î¤è¤¦¤Ë¤·¤Æ¥µ¡¼¥Ó¥¹¤òºï½ü¤Ç¤­¤Þ¤¹:
-@example
-bin\mysqld-nt --remove # remove MySQL as a service
-@end example
-@item
-@code{mysqld} ¤òľÀܵ¯Æ°¡£
-@end itemize
-
-¤É¤ÎÊýË¡¤Ç¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Æ¤â¡¢¤â¤·µ¯Æ°¤Ë¼ºÇÔ¤¹¤ì¤Ð¡¢¥í¥°¥Õ¥¡¥¤¥ë¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤Ê¤¼¼ºÇÔ¤·¤¿¤«µ­Ï¿¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥í¥°¥Õ¥¡¥¤¥ë¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£
-(¥Ð¥¤¥Ê¥êÇÛÉۤξì¹ç @file{/usr/local/mysql/data} ¡¢¥½¡¼¥¹ÇÛÉۤξì¹ç @file{/usr/local/var}¡¢
- Windows ¤Ç¤Ï @file{\mysql\mysql.err} )
-¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ë @file{host_name.err} ¤È @file{host_name.log} ¤È¤¤¤¦
-¥Õ¥¡¥¤¥ë (@code{host_name} ¤Ï¤¢¤Ê¤¿¤Î¥µ¡¼¥Ð¡¼Ì¾) ¤òõ¤·¤Æ¤¯¤À¤µ¤¤¡£
-°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¤½¤Î¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤Î¿ô¹Ô¤ò³Îǧ¤·¤Þ¤¹¡§
-
-@example
-shell> tail host_name.err
-shell> tail host_name.log
-@end example
-
-@code{mysqld} ¥Ç¡¼¥â¥ó¤Îµ¯Æ°»þ¤Ë¡¢¥Ç¡¼¥â¥ó¤Ï¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òÊѤ¨¤Þ¤¹¡£
-¥í¥°¥Õ¥¡¥¤¥ë¤È pid (process ID) ¥Õ¥¡¥¤¥ë¤¬¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë½ñ¤±¤ë»ö¡¢
-¤½¤·¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë»ö¤ò¡¢¥Ç¡¼¥â¥ó¤ÏÍ׵ᤷ¤Þ¤¹¡£
-
-¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê¤Î¾ì½ê¤ÏÇÛÉÛʪ¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
-@code{mysqld} ¤¬¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à¾å¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤ò¸«¤Ä¤±¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-¥µ¡¼¥Ð¡¼¤ÏÆ°¤­¤Þ¤»¤ó¡£
- @code{mysqld} ¤ò @code{--help} ¥ª¥×¥·¥ç¥ó¤Çµ¯Æ°¤¹¤ì¤Ð @code{mysqld} ¤Î
-¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¥¹¤òÃΤ뤳¤È¤¬¤Ç¤­¤Þ¤¹¤Î¤Ç¡¢
-¥µ¡¼¥Ð¡¼¤¬µ¯Æ°¤·¤Ê¤¤Íýͳ¤¬°ã¤¦¥Ñ¥¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¤¿¤á¤Ëµ¯¤³¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤¬¤ï¤«¤ê¤Þ¤¹¡£
-¥Ñ¥¹¤¬°ã¤¦¾ì¹ç¡¢@code{mysqld} ¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î°ú¿ô¤ËÀµ¤·¤¤¥Ñ¥¹¤ò»ØÄꤷ¤Æ¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤò
-¾å½ñ¤­¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£(¤³¤ì¤é¥ª¥×¥·¥ç¥ó¤Ï @code{safe_mysqld} ¤Ë¤âƱÍͤ˻ÈÍѤǤ­¤Þ¤¹)
-
-Ä̾@strong{MySQL} ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤À¤±¤ò
- @code{mysqld} ¤Ë¶µ¤¨¤ì¤Ð¤¤¤¤¤Ï¤º¤Ç¤¹¡£
-¤³¤ì¤Ï @code{--basedir} ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£
- @code{--help} ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ì¤Ð¥Ñ¥¹¤ÎÊѹ¹¤¬³Îǧ¤Ç¤­¤Þ¤¹¡£
-(@code{--help} ¤Ï@emph{ɬ¤º} ºÇ¸å¤Ë»ØÄê¤Î¤³¤È)
-¡¡Î㤨¤Ð¡§
-
-@example
-shell> EXECDIR/mysqld --basedir=/usr/local --help
-@end example
-
-¥Ñ¥¹¤ÎÀßÄ꤬»×¤¤Ä̤ê¤Ë¸À¤Ã¤¿¤³¤È¤ò³Îǧ¤·¤¿¤é¡¢ @code{--help} ¥ª¥×¥·¥ç¥ó¤ò³°¤·¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£
-
-°Ê²¼¤Î¥¨¥é¡¼¤Î¾ì¹ç¡¢Â¾¤Î¥×¥í¥°¥é¥à¡Ê¤«Â¾¤Î @code{mysqld} ¥µ¡¼¥Ð¡¼¡Ë¤¬
-@code{mysqld} ¤¬»ÈÍѤ·¤è¤¦¤È¤·¤Æ¤¤¤ë TCP/IP ¥½¥±¥Ã¥È¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡§
-
-@example
-Can't start server: Bind on TCP/IP port: Address already in use
- or
-Can't start server : Bind on unix socket...
-@end example
-
-¾¤Î @code{mysqld} ¥µ¡¼¥Ð¡¼¤¬Áö¤Ã¤Æ¤¤¤Ê¤¤¤«¤ò @code{ps} ¤Ç³Îǧ¤·¤Þ¤¹¡£
-¤â¤·Â¾¤Î¥µ¡¼¥Ð¡¼¤¬µ¯Æ°¤·¤Æ¤¤¤Ê¤¤¤Ê¤é¡¢ @code{telnet your-host-name tcp-ip-port-number}
-¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢²¿²ó¤« @code{RETURN} ¥­¡¼¤ò¤¿¤¿¤¤¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
-¤â¤·¡¢ @code{telnet: Unable to connect to remote host: Connection refused} ¤Î¤è¤¦¤Ê
-¥¨¥é¡¼¤¬½Ð¤¿¾ì¹ç¡¢¤Ê¤Ë¤«¤¬ @code{mysqld} ¤¬»ÈÍѤ·¤è¤¦¤È¤·¤Æ¤¤¤ë¥Ý¡¼¥È¤ò´û¤Ë»È¤Ã¤Æ¤¤¤Þ¤¹¡£
-@xref{mysql_install_db, , @code{mysql_install_db}}, and @ref{Multiple
-servers}.
-
-@code{safe_mysqld} ¥¹¥¯¥ê¥×¥È¤Ï¡¢¥½¡¼¥¹ÇÛÉÛ¤«¤é¤Ç¤â¥Ð¥¤¥Ê¥êÇÛÉۤΠ@strong{MySQL} ¤«¤é¤Ç¤â¡¢
-¤¿¤È¤¨°ã¤¦¾ì½ê¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Æ¤â¡¢¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤Ç¤­¤ë¤è¤¦¤Ëºî¤é¤ì¤Æ¤¤¤Þ¤¹¡£
- @code{safe_mysqld} ¤Ï°Ê²¼¤Î¤É¤ì¤«°ì¤Ä¤¬¿¿¤Ç¤¢¤ë¤³¤È¤ò´üÂÔ¤·¤Þ¤¹¡§
-
-@itemize @bullet
-@item
- @code{safe_mysqld} ¤¬µ¯Æ°¤µ¤ì¤¿¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤Ë¡¢
-¥µ¡¼¥Ð¡¼¤È¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¤¢¤ë¾ì¹ç¡£
- @code{safe_mysqld} ¤Ï @file{./bin}, @file{./data} ¥Ç¥£¥ì¥¯¥È¥ê(¥Ð¥¤¥Ê¥êÇÛÉÛʪ¤Î¾ì¹ç)¡¢
-¤¢¤ë¤¤¤Ï @file{./libexec}, @file{./var} ¥Ç¥£¥ì¥¯¥È¥ê(¥½¡¼¥¹ÇÛÉÛʪ¤Î¾ì¹ç)¤òõ¤·¤Þ¤¹¡£
-¤¢¤Ê¤¿¤¬ @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê(Î㤨¤Ð @file{/usr/local/mysql} ¥Ç¥£¥ì¥¯¥È¥ê)
-¤«¤é @code{safe_mysqld} ¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢¤³¤Î¾ò·ï¤ËŬ¹ç¤·¤Þ¤¹¡£
-
-@item
-¥µ¡¼¥Ð¡¼¤È¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬ÁêÂХѥ¹°Ê²¼¤Ë¤Ê¤¤¾ì¹ç¡¢@code{safe_mysqld} ¤ÏÀäÂХѥ¹¤Ç¤½¤ì¤é¤òõ¤·¤Þ¤¹¡£
-ŵ·¿Åª¤Ê¥Ç¥£¥ì¥¯¥È¥ê¤Ï @file{/usr/local/libexec} ¤È @file{/usr/local/var} ¤Ç¤¹¡£
-¼ÂºÝ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï @code{safe_mysqld} ¤¬¤¢¤ëÇÛÉÛʪ¤¬ºîÀ®¤µ¤ì¤ë¤È¤­¤Ë·è¤á¤é¤ì¤Þ¤¹¡£
-¤³¤ì¤é¤Ï @strong{MySQL} ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿É¸½à¤Î¥Ñ¥¹¤ËÀµ¤·¤¯ÇÛÃÖ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-@end itemize
-
-@code{safe_mysqld} ¤Ï¥µ¡¼¥Ð¡¼¤È¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¼«Ê¬¤¬µ¯Æ°¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤Çõ¤·¤Þ¤¹¡£
-¤è¤Ã¤Æ¡¢ @code{safe_mysqld} ¤ò @strong{MySQL} ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¤«¤éµ¯Æ°¤¹¤ë¸Â¤ê¤Ï¡¢
- @strong{MySQL} ¥Ð¥¤¥Ê¥êÇÛÉÛʪ¤ò¼«Ê¬¤Î¹¥¤­¤Ê¤È¤³¤í¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£
-¤½¤Î¾ì¹ç¤Îµ¯Æ°¤Ï¡§
-
-@example
-shell> cd mysql_installation_directory
-shell> bin/safe_mysqld &
-@end example
-
-¤â¤· @code{safe_mysqld} ¤¬ @strong{MySQL} ¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¤«¤éµ¯Æ°¤·¤Æ¤â¼ºÇÔ¤¹¤ë¤Ê¤é¡¢
-@code{safe_mysqld} ¤ò¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥àÍÑ¤Ë @code{mysqld} ¤Î¥Ñ¥¹¤ä¥Ñ¥¹Ì¾¤Î¥ª¥×¥·¥ç¥ó¤ò
-½ñ¤­´¹¤¨¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
-¤³¤Î¾ì¹ç¡¢ @strong{MySQL} ¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤¿¾ì¹ç¡¢¤¢¤Ê¤¿¤¬Êѹ¹¤·¤¿
- @code{safe_mysqld} ¤Ï¾å½ñ¤­¤µ¤ì¤ë¤Î¤Ç¡¢Êѹ¹¤·¤¿¤â¤Î¤Ï¥¤¥ó¥¹¥È¡¼¥ëÁ°¤Ë¥³¥Ô¡¼¤·¤Æ¤ª¤­¡¢
-ºÆ¤ÓÌᤵ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-¤â¤· @code{mysqld} ¤¬¤¹¤Ç¤ËÁö¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ë¤Æ¥Ñ¥¹¤ÎÀßÄê¤òÃΤ뤳¤È¤¬¤Ç¤­¤Þ¤¹¡§
-
-@example
-shell> mysqladmin variables
-
-or
-
-shell> mysqladmin -h 'your-host-name' variables
-@end example
-
-¤â¤· @code{safe_mysqld} ¤¬¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Æ¤âÀܳ¤Ç¤­¤Ê¤¤¤è¤¦¤Ê¤é¡¢
- @file{/etc/hosts} ¥Õ¥¡¥¤¥ë¤Ë°Ê²¼¤Î¤è¤¦¤Êµ­½Ò¤ò»ý¤¿¤»¤Æ¤¯¤À¤µ¤¤¡§
-
-@example
-127.0.0.1 localhost
-@end example
-
-¤³¤ÎÌäÂê¤Ï¥¹¥ì¥Ã¥É¥é¥¤¥Ö¥é¥ê¡¼¤¬¤Ê¤¯¤Æ @strong{MySQL} ¤ò MIT-pthreads ¤ò
-»ÈÍѤ¹¤ë¤è¤¦¤Ë¤·¤Æºî¤Ã¤¿¥·¥¹¥Æ¥à¤Ë¤À¤±µ¯¤³¤ê¤Þ¤¹¡£
-
-Windows ¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ @code{mysqld} ¤Îµ¯Æ°¤ò»î¤ß¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-
-@example
-C:\mysql\bin\mysqld --standalone --debug
-@end example
-
-¤³¤ì¤Ï¡¢¥Ð¥Ã¥¯¥°¥é¥ó¥É¤ÇÆ°ºî¤»¤º¡¢@file{\mysqld.traec} ¤Ë¥È¥ì¡¼¥¹¤ò½ñ¤­
-½Ð¤·¤Þ¤¹¡£¤³¤ì¤ÏÌäÂê¤Î¸¶°ø¤ò²ò·è¤¹¤ë¼ê½õ¤±¤Ë¤Ê¤ê¤Þ¤¹¡£@xref{Win32}¡£
-
-@node Automatic start, Option files, Starting server, Post-installation
-@subsection @strong{MySQL} ¤Î¼«Æ°µ¯Æ°¤È¼«Æ°Ää»ß
-
-@code{mysql.server} ¥¹¥¯¥ê¥×¥È¤Ï @code{start}, @code{stop} °ú¿ô¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê
-¥µ¡¼¥Ð¡¼¤òµ¯Æ°¡¢Ää»ß¤Ç¤­¤Þ¤¹¡§
-
-@example
-shell> mysql.server start
-shell> mysql.server stop
-@end example
-
-@code{mysql.server} ¤Ï @strong{MySQL} ¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Î @file{share/mysql} ¥Ç¥£¥ì¥¯¥È¥ê¡¢
-¤Þ¤¿¤Ï @strong{MySQL} ¥½¡¼¥¹¥Ä¥ê¡¼¤Î @file{support-files} ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£
-
-@code{mysql.server} ¤Ï¥µ¡¼¥Ð¡¼¤òµ¯Æ°»þ¤¹¤ëÁ°¤Ë @strong{MySQL} ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿
-¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òÊѤ¨¡¢@code{safe_mysqld} ¤òµ¯Æ°¤·¤Þ¤¹¡£
-¤â¤·É¸½à°Ê³°¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤ë¥Ð¥¤¥Ê¥êÇÛÉÛ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢
-@code{mysql.server} ¤òÊÔ½¸¤¹¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-@code{safe_mysqld} ¤òµ¯Æ°¤¹¤ëÁ°¤ËÀµ¤·¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Ë @code{cd} ¤¹¤ë¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£
-@code{safe_mysqld} ¤Ë¾¤Î¥ª¥×¥·¥ç¥ó¤òÍ¿¤¨¤ë¤è¤¦¤Ë @code{mysql.server} ¤òÊѤ¨¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£
-¾¤Î¥æ¡¼¥¶¡¼¤Ç¼Â¹Ô¤·¤¿¤¤¾ì¹ç¡¢@code{mysql_daemon_user=root} ¤òÊѹ¹¤·¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£
-@code{safe_mysqld} ¤Ë¾¤Î¥ª¥×¥·¥ç¥ó¤òÍ¿¤¨¤ë¤¿¤á¤Ë¡¢
-@code{mysql.server} ¤òÊѹ¹¤·¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£
-
-@code{mysql.server stop} ¤Ï¥µ¡¼¥Ð¡¼¤Ë¥·¥°¥Ê¥ë¤òÁ÷¤Ã¤Æ¥µ¡¼¥Ð¡¼¤òÄä»ß¤·¤Þ¤¹¡£
-@code{mysqladmin shutdown} ¤Ç¼êÆ°¤Ç¥µ¡¼¥Ð¡¼¤òÍî¤È¤¹¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-
-@strong{MySQL} ¤ò»ÈÍѤ·¤Æ¤¤¤ëÀ½ÉʤΤ¿¤á¤Ë¡¢¤³¤ì¤é¥¹¥¿¡¼¥È¡¢¥¹¥È¥Ã¥×¤ò
- @file{/etc/rc*} ¤Ë½ñ¤­¤¿¤¤¤È»×¤ï¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-¤³¤³¤Ç¤ÎÃí°ÕÅÀ¤Ï¡¢Êѹ¹¤·¤¿ @code{mysql.server} ¤Ï¡¢
- @strong{MySQL} ¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤¿¤È¤­¤Ë¾å½ñ¤­¤µ¤ì¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
-¤è¤Ã¤Æ¡¢Êѹ¹¤·¤¿¤â¤Î¤Ï¥¤¥ó¥¹¥È¡¼¥ëÁ°¤Ë¥³¥Ô¡¼¤ò¼è¤Ã¤Æ¤ª¤¯¤Ù¤­¤Ç¤¹¡£
-
-¤â¤·¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à¤¬ @file{/etc/rc.local} ¤òµ¯Æ°¥¹¥¯¥ê¥×¥È¤È¤·¤Æ»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢
-°Ê²¼¤Î¤è¤¦¤Ë¤½¤ÎÃæ¤Ëµ­½Ò¤·¤Þ¤¹¡§
-
-@example
-/bin/sh -c 'cd /usr/local/mysql ; ./bin/safe_mysqld &'
-@end example
-
-¥°¥í¡¼¥Ð¥ëÀßÄê¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë @file{/etc/my.cnf} ¤Ë¡¢ @code{mysql.server} ¤Î
-¥ª¥×¥·¥ç¥ó¤òµ­½Ò¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£@file{/etc/my.cnf} ¥Õ¥¡¥¤¥ë¤Ï°Ê²¼¤Î¤è¤¦¤Ê
-µ­½Ò¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡§
-
-@example
-[mysqld]
-datadir=/usr/local/mysql/var
-socket=/tmp/mysqld.sock
-port=3306
-
-[mysql.server]
-user=mysql
-basedir=/usr/local/mysql
-@end example
-
-@code{mysql.server} ¥¹¥¯¥ê¥×¥È¤Ï°Ê²¼¤ÎÊÑ¿ô¤ò»ÈÍѤ·¤Þ¤¹¡§
-@code{user}, @code{datadir}, @code{basedir}, @code{bindir} ¤½¤·¤Æ @code{pid-file}.
-
-@xref{Option files}.
-
-@cindex Default options
-@cindex Option files
-@node Option files, , Automatic start, Post-installation
-@subsection ¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë ( @code{my.cnf} )
-
-@strong{MySQL} 3.22 ¤Î¥µ¡¼¥Ð¡¼¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¤â¤Ë¡¢¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤«¤é¥Ç¥Õ¥©¥ë¥È¤Îµ¯Æ°¥ª¥×¥·¥ç¥ó¤òÆɤ߹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-UNIX ¤Ç¤Ï @strong{MySQL} ¤Ï°Ê²¼¤Î¥Õ¥¡¥¤¥ë¤«¤é¥Ç¥Õ¥©¥ë¥È¥ª¥×¥·¥ç¥ó¤òÆɤߤޤ¹¡§
-
-@tindex .my.cnf file
-@multitable @columnfractions .3 .7
-@item @strong{¥Õ¥¡¥¤¥ë̾} @tab @strong{°ÕÌ£}
-@item @code{/etc/my.cnf} @tab Á´ÂΤΥª¥×¥·¥ç¥ó
-@item @code{DATADIR/my.cnf} @tab ¥µ¡¼¥Ð¸ÇÍ­¥ª¥×¥·¥ç¥ó
-@item @code{~/.my.cnf} @tab ¥æ¡¼¥¶¸ÇÍ­¥ª¥×¥·¥ç¥ó
-@end multitable
-
-@code{DATADIR} ¤Ï @strong{MySQL} ¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹ (ÉáÄÌ
-@file{/usr/local/mysql/data} or @file{/usr/local/var}).
-¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ïconfigure»þ¤Ë·èÄꤵ¤ì¤Æ¤ª¤ê¡¢ @code{--datadir} ¤ò @code{mysqld} µ¯Æ°»þ¤Ë»ØÄꤷ¤Æ¤âÊѹ¹¤µ¤ì¤Þ¤»¤ó¡£
-(¥µ¡¼¥Ð¡¼¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î°ú¿ô¤ò½èÍý¤¹¤ëÁ°¤Ë¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤òõ¤·¤Þ¤¹¡£
-¤è¤Ã¤Æ¡¢@code{--datadir} °ú¿ô¤ò»ØÄꤷ¤Æ¤â¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤òõ¤¹¾ì½ê¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£)
-
-Win32 ¤Ç¤Ï @strong{MySQL} ¤Ï°Ê²¼¤Î¥Õ¥¡¥¤¥ë¤«¤é¥Ç¥Õ¥©¥ë¥È¥ª¥×¥·¥ç¥ó¤òÆɤߤޤ¹¡§
-
-@multitable @columnfractions .3 .7
-@item @strong{¥Õ¥¡¥¤¥ë̾} @tab @strong{°ÕÌ£}
-@item @code{windows-system-directory\my.ini}
-@item @code{C:\my.cnf} @tab Á´ÂΤΥª¥×¥·¥ç¥ó
-@item @code{C:\mysql\data\my.cnf} @tab ¥µ¡¼¥Ð¸ÇÍ­¥ª¥×¥·¥ç¥ó
-@end multitable
-
-Ãí°Õ: Win32 ¤Ç¤Ï @code{\} ¤ÎÂå¤ï¤ê¤Ë @code{/} ¤ÇÁ´¤Æ¤Î¥Ñ¥¹¤òµ­½Ò¤¹¤Ù¤­¤Ç
-¤¹¡£@code{\} ¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢@code{\} ¤Ï @strong{MySQL} ¤Î¥¨¥¹¥±¡¼¥×ʸ»ú
-¤Ê¤Î¤Ç¡¢¤³¤ì¤òÆó½Å¤Ëµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-@cindex Environment variables
-@strong{MySQL} ¤Ï¾åµ­¤Îɽ¤Ë¤«¤«¤ì¤Æ¤¤¤ë½ç¤Ë¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤òÆɤߤޤ¹¡£
-¤â¤·Ê£¿ô¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤¬¤¢¤Ã¤¿¾ì¹ç¡¢¸å¤«¤éÆɤޤ줿ÀßÄ꤬ͭ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-Á´¤Æ¤Î¥ª¥×¥·¥ç¥ó¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î°ú¿ô¤Ë¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£
-¤¤¤¯¤Ä¤«¤Î¥ª¥×¥·¥ç¥ó¤Ï´Ä¶­ÊÑ¿ô¤ËÄêµÁ¤Ç¤­¤Þ¤¹¡£
-¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤È¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î°ú¿ô¤Ï´Ä¶­ÊÑ¿ô¤ò¾å½ñ¤­¤·¤Þ¤¹¡£
-
-°Ê²¼¤Î¥×¥í¥°¥é¥à¤Ï¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡§@code{mysql},
-@code{mysqladmin}, @code{mysqld}, @code{mysqldump}, @code{mysqlimport},
-@code{myisamchk} and @code{myisampack}.
-
-¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥×¥í¥°¥é¥à¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î long ¥ª¥×¥·¥ç¥ó(Î㤨¤Ð¡¢@code{-u} ¤Ç¤Ï¤Ê¤¯¤Æ @code{--user} ¤ÎÊý)¤ò½ñ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¥×¥í¥°¥é¥à¤ò @code{--help} ¤Çµ¯Æ°¤¹¤ì¤Ð¡¢ÀßÄê²Äǽ¤ÊÊÑ¿ô̾¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
-
-¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤Ï°Ê²¼¤Ç¤¹¡§
-
-@table @code
-@item #comment
-¥³¥á¥ó¥È¤Ï @samp{#} ¤« @samp{;} ʸ»ú¤Ç»Ï¤á¤Þ¤¹¡£¶õ¤Î¹Ô¤Ï̵»ë¤·¤Þ¤¹¡£
-
-@item [group]
-¥°¥ë¡¼¥×Àë¸À¡£
-@code{group} ¤Ï¥ª¥×¥·¥ç¥ó¤òÄêµÁ¤¹¤ë¥×¥í¥°¥é¥à¤«¥°¥ë¡¼¥×¤Î̾Á°¤Ç¤¹¡£
-¤³¤ÎÀë¸À¤Î¸å¡¢@code{¥ª¥×¥·¥ç¥ó} ¤« @code{set-variable} ¹Ô¤Ç¡¢¤³¤Î¥°¥ë¡¼¥×¤Ë¥ª¥×¥·¥ç¥ó¤òÍ¿¤¨¤Þ¤¹¡£
-¤³¤Î¥»¥¯¥·¥ç¥ó¤ÎÈϰϤϡ¢Â¾¤Î¥°¥ë¡¼¥×Àë¸À¤Î¹Ô¤¬Íè¤ë¤«¡¢¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤ËÍè¤ë¤Þ¤Ç¤Ç¤¹¡£
-
-@item option
-¤³¤ì¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î @code{--option} ¤ÈÅù²Á¤Ç¤¹¡£
-
-@item option=value
-¤³¤ì¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î @code{--option=value} ¤ÈÅù²Á¤Ç¤¹¡£
-
-@item set-variable = variable=value
-¤³¤ì¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î @code{--set-variable variable=value} ¤ÈÅù²Á¤Ç¤¹¡£
-¤³¤ì¤Ï @code{mysqld} ÊÑ¿ô¤Ç»ÈÍѤµ¤ì¤ë·Á¼°¤Ç¤¹¡£
-@end table
-
-@code{client} ¥°¥ë¡¼¥×¤Ï¡¢Á´¤Æ¤Î @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È(@code{mysqld}¤Ï½ü)¤ËÂФ·¤Æ¥ª¥×¥·¥ç¥ó¤òÄêµÁ¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¥µ¡¼¥Ð¡¼¤ËÀܳ¤¹¤ëºÝ¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄê¤Ç¤­¤ë¥°¥ë¡¼¥×¤Ç¤¹¡£
-(¤³¤Î¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ï¼«Ê¬¤À¤±¤¬Æɤ߽ñ¤­¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤)
-
-¥ª¥×¥·¥ç¥ó¤äÃͤÎÁ±¸å¤Ë¤¢¤ëÁ´¤Æ¤Î¥Ö¥é¥ó¥¯Ê¸»ú¤Ï¼«Æ°¤Ç¼è¤ê½ü¤«¤ì¤Þ¤¹¡£
-ÃͤȤ·¤Æ¡¢@samp{\b},@samp{\t}, @samp{\n}, @samp{\r}, @samp{\\} and @samp{\s}
- ¤Î¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤¬»ÈÍѤǤ­¤Þ¤¹¡£
-(@samp{\s} == blank).
-
-¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ëÎ㡧
-
-@example
-[client]
-port=3306
-socket=/tmp/mysql.sock
-
-[mysqld]
-port=3306
-socket=/tmp/mysql.sock
-set-variable = key_buffer_size=16M
-set-variable = max_allowed_packet=1M
-
-[mysqldump]
-quick
-@end example
-
-¥æ¡¼¥¶¡¼¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ëÎ㡧
-
-@example
-[client]
-# The following password will be sent to all standard MySQL clients
-password=my_password
-
-[mysql]
-no-auto-rehash
-@end example
-
-@tindex .my.cnf file
-¤â¤·¥½¡¼¥¹ÇÛÉÛ¤ò»ý¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢ @file{my-xxxx.cnf} ¤È¤¤¤¦Ì¾Á°¤Î¥µ¥ó¥×¥ë¥Õ¥¡¥¤¥ë¤ò @file{support-files} ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤â¤·¥Ð¥¤¥Ê¥êÇÛÉÛ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢ @file{DIR/share/mysql} ¥Ç¥£¥ì¥¯¥È¥ê¤òõ¤·¤Æ¤¯¤À¤µ¤¤
-(¤³¤³¤Ç @code{DIR} ¤Ï @strong{MySQL} ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ñ¥¹Ì¾¤Ç¡¢ÉáÄÌ¤Ï @file{/usr/local/mysql})¡£
-¤³¤Î @file{my-xxxx.cnf} ¥Õ¥¡¥¤¥ë¤ò¼«Ê¬¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë @file{.my.cnf} ¤È¤¤¤¦Ì¾Á°¤Ç¥³¥Ô¡¼¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£
-
-@strong{MySQL} ¥×¥í¥°¥é¥à¤Ë¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤òÆɤޤ»¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢
-¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î°ìÈֺǽé¤Ë @code{--no-defaults} ¤ò½ñ¤­¤Þ¤¹¡£
-¤³¤ì¤Ï¥ª¥×¥·¥ç¥ó¤ÎºÇ½é¤Ç¤Ê¤¤¤ÈÍ­¸ú¤Ë¤Ê¤ê¤Þ¤»¤ó¡ª
-¤É¤Î¥ª¥×¥·¥ç¥ó¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤«³Î¤«¤á¤ë¤Ë¤Ï¡¢@code{--print-defaults} ¤òºÇ½é¤Î¥ª¥×¥·¥ç¥ó¤Ë»ØÄꤷ¤Þ¤¹¡£
-
-ÆÃÄê¤Î¥³¥ó¥Õ¥£¥°¥Õ¥¡¥¤¥ë¤ò¶¯À©Åª¤Ë»ÈÍѤ·¤¿¤¤¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó
-@code{--defaults-file=¥Ç¥Õ¥©¥ë¥È¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹} ¤ò»ÈÍѤǤ­¤Þ¤¹¡£¤³¤ì
-¤ò¹Ô¤Ê¤¦¾ì¹ç¡¢»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤À¤±¤¬Æɤޤì¤Þ¤¹¡£
-
-³«È¯¼Ô¸þ¤±¾ðÊ󡧡¡¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ÎÁàºî¤ÏÁ´¤Æ¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î°ú¿ô¤è¤êÀè¤Ë½èÍý¤¹¤ë¤è¤¦¤Ë´Êñ¤ËËä¤á¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï¥ª¥×¥·¥ç¥ó¤òºÇ¸å¤Ë½èÍý¤¹¤ë¥×¥í¥°¥é¥à¤òÊ£¿ôΩ¤Á¤¢¤²¤ë¾ì¹ç¤ËÅÔ¹ç¤è¤¯Æ°¤­¤Þ¤¹¡£
-¤â¤·¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤àµ¡Ç½¤Î¤Ê¤¤¸Å¤¤¥×¥í¥°¥é¥à¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢
-¤¿¤Ã¤¿Æó¹Ô¤À¤±Ãí°Õ¤·¤Æ½ñ¤±¤Ð¤¤¤¤¤À¤±¤Ç¤¹¡£
-¤³¤ÎÆ°ºî¤Ë¤Ä¤¤¤Æ¤Ï @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤Î¥³¡¼¥É¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-
-@node Upgrade, , Post-installation, Installing
-@section @strong{MySQL} ¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É/¥À¥¦¥ó¥°¥ì¡¼¥É»þ¤ËÆÃÊ̤˹Ԥʤ¦¤³¤È¤¬²¿¤«¤¢¤ë¤«¡©
-
-@strong{MySQL} ·Á¼°¤È¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤Ï¡¢@strong{MySQL} ¤¬Æ±¤¸¥Ù¡¼¥¹¥Ð¡¼¥¸¥ç
-¥ó¤Ç¤¢¤ë¸Â¤ê¡¢Æ±¤¸¥¢¡¼¥­¥Æ¥¯¥Á¥ã¾å¤Î°Û¤Ê¤ë¥Ð¡¼¥¸¥ç¥ó´Ö¤Ç¤¤¤Ä¤Ç¤â°ÜÆ°¤Ç¤­
-¤Þ¤¹¡£¸½ºß¤Î¥Ù¡¼¥¹¥Ð¡¼¥¸¥ç¥ó¤Ï 3 ¤Ç¤¹¡£@strong{MySQL} ¤Î¼Â¹Ô»þ¤Ë
-ʸ»ú¥»¥Ã¥È¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç(¤³¤ì¤Ï¥½¡¼¥È½ç¤âÊѹ¹¤·¤Þ¤¹)¡¢Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë
-¤Ë @code{myisamchk -r -q} ¤ò¹Ô¤Ê¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤±¤ì¤Ð¡¢¥¤¥ó¥Ç¥Ã
-¥¯¥¹¤¬Àµ¤·¤¤½ç¤Ë¤Ê¤ê¤Þ¤»¤ó¡£
-
-¤â¤·¤¢¤Ê¤¿¤¬¿À·Ð¼Á¤À¤Ã¤¿¤ê¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤ò¶²¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤¤¤Ä¤Ç¤â¤¢¤Ê
-¤¿¤Î¸Å¤¤ @code{mysqld} ¤ò @code{mysqld}-'old-version-number' ¤Î¤è¤¦¤Ê²¿
-¤«¤Ë¥ê¥Í¡¼¥à¤Ç¤­¤Þ¤¹¡£¤â¤·¿·¤·¤¤ @code{mysqld} ¤¬Í½´ü¤»¤Ì²¿¤«¤ò¹Ô¤Ã¤¿¾ì
-¹ç¡¢Ã±½ã¤Ë¤½¤ì¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤·¡¢¸Å¤¤ @code{mysqld} ¤òºÆµ¯Æ°¤¹¤ë¤³¤È¤¬
-¤Ç¤­¤Þ¤¹¡ª
-
-¥¢¥Ã¥×¥°¥ì¡¼¥É»þ¤Ë¤Ï¡¢¤â¤Á¤í¤ó¡¢¸Å¤¤¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤â¤·¤Æ¤ª¤¯
-¤Ù¤­¤Ç¤¹¡£»þ¡¹¤Ï¾¯¤·¿À·Ð¼Á¤Ë¤Ê¤ë¤Î¤ÏÎɤ¤¤³¤È¤Ç¤¹¡ª
-
-¥¢¥Ã¥×¥°¥ì¡¼¥É¸å¡¢ºÆ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤Ç¡¢
-@code{Commands out sync} ¤äͽ´ü¤»¤Ì¥³¥¢¥À¥ó¥×¤Î¤è¤¦¤ÊÌäÂ꤬µ¯¤­¤ë¾ì¹ç¡¢
-¤ª¤½¤é¤¯¡¢¥×¥í¥°¥é¥à¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¸Å¤¤¥Ø¥Ã¥À¤ä¥é¥¤¥Ö¥é¥ê¥Õ¥¡¥¤¥ë¤ò»ÈÍÑ
-¤·¤¿¤Î¤Ç¤·¤ç¤¦¡£¤³¤Î¾ì¹ç¡¢@file{mysql.h} ¥Õ¥¡¥¤¥ë¤È @file{libmysql.a} ¥é
-¥¤¥Ö¥é¥ê¤¬¡¢¿·¤·¤¤ @strong{MySQL} ÇÛÉÛ¤«¤é¤Î¤â¤Î¤Ç¤¢¤ë¤«¤É¤¦¤«¤ò³Î¤«¤á¤ë
-¤¿¤á¤Ë¡¢ÆüÉÕ¤ò¥Á¥§¥Ã¥¯¤¹¤Ù¤­¤Ç¤¹¡£¤â¤·°ã¤Ã¤Æ¤¤¤ì¤Ð¡¢¥×¥í¥°¥é¥à¤òºÆ¥³¥ó¥Ñ
-¥¤¥ë¤·¤Æ¤¯¤À¤µ¤¤¡ª
-
-¤â¤·¿·¤·¤¤ @code{mysqld} ¥µ¡¼¥Ð¡¼¤¬µ¯Æ°¤Ç¤­¤Ê¤¤¤È¤«¡¢¥Ñ¥¹¥ï¡¼¥É̵¤·¤Ç
-Àܳ¤Ç¤­¤Ê¤¤¤È¤«¡¢¤¤¤¯¤Ä¤«¤ÎÌäÂ꤬ȯÀ¸¤·¤¿¾ì¹ç¡¢°ÊÁ°¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤Ç¤­¤¿
-¸Å¤¤ @file{my.cnf} ¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡ª
-@code{program-name --print-defaults} ¤Ç³Îǧ¤Ç¤­¤Þ¤¹. ¤â¤·¤³¤Î½ÐÎϤ¬
-¥×¥í¥°¥é¥à¤Î̾¾Î°Ê³°¤Îʪ¤òÊÖ¤·¤¿¾ì¹ç¡¢Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë @code{my.cnf} ¥Õ¥¡¥¤¥ë¤¬
-¤¢¤ê¤Þ¤¹¡ª
-
-¿·¤·¤¤¥ê¥ê¡¼¥¹¤Î @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¤Ë¾ï¤Ë
- @code{Msql-Mysql-modules} ¤òºÆ¹½ÃÛ¡¢ºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ï
-¤¤¤¤¹Í¤¨¤Ç¤¹¡£¤¹¤Ù¤Æ¤Î @code{DBI} ¥¹¥¯¥ê¥×¥È¤¬ @strong{MySQL} ¤Î
-¥¢¥Ã¥×¥°¥ì¡¼¥É¸å¤Ë¥³¥¢¥À¥ó¥×¤¹¤ëÃû¸õ¤Ëµ¤¤Å¤¤¤¿¾ì¹ç¤Ï¡¢ÆäË
-¤½¤¦¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@menu
-* Upgrading-from-3.22:: 3.22 ¤«¤é 3.23 ¥Ð¡¼¥¸¥ç¥ó¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É
-* Upgrading-from-3.21:: 3.21 ¤«¤é 3.22 ¥Ð¡¼¥¸¥ç¥ó¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É
-* Upgrading-from-3.20:: 3.20 ¤«¤é 3.21 ¥Ð¡¼¥¸¥ç¥ó¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É
-* Upgrading-to-arch:: ¾¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É
-@end menu
-
-@cindex Compatibility, between MySQL versions
-@node Upgrading-from-3.22, Upgrading-from-3.21, Upgrade, Upgrade
-@subsection 3.22 ¤«¤é 3.23 ¥Ð¡¼¥¸¥ç¥ó¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É
-
-@strong{MySQL} 3.23 ¤Ï¿·¤·¤¤ @code{MyISAM} ·¿¤Î¥Æ¡¼¥Ö¥ë¤È¡¢¸Å¤¤ @code{ISAM} ·¿¤Î
-¥Æ¡¼¥Ö¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-3.23 ¤ò»ÈÍѤ¹¤ëºÝ¡¢¸Å¤¤¥Æ¡¼¥Ö¥ë(ISAM) ¤òÊÑ´¹¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¿·¤·¤¯ºî¤é¤ì¤ë¥Æ¡¼¥Ö¥ë¤¬ @code{MyISAM} ·¿¤Ë¤Ê¤ê¤Þ¤¹¡£
-(¤³¤ì¤Ï @code{mysqld} ¤ò @code{--default-table-type=isam} ¥ª¥×¥·¥ç¥ó¤Ç
-µ¯Æ°¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢Êѹ¹¤Ç¤­¤Þ¤¹)¡£
- @code{ISAM} ¥Æ¡¼¥Ö¥ë¤ò @code{MyISAM} ¤ËÊѹ¹¤¹¤ë¤Ë¤Ï¡¢
- @code{ALTER TABLE} ¤ò»ÈÍѤ¹¤ë¤«¡¢@code{mysql_convert_table_format}
-perl ¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ·¤Þ¤¹¡£
-
-3.22 ¤È 3.21 ¤Î¥¯¥é¥¤¥¢¥ó¥È¤ÏÌäÂê¤Ê¤¯ 3.23 ¥µ¡¼¥Ð¡¼¤ÇÆ°ºî¤·¤Þ¤¹¡£
-
-°Ê²¼¤Ë¡¢3.23 ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¤È¤­¤Ë¡¢ÃíÌܤ¹¤ëɬÍפ¬¤¢¤ë¤â¤Î¤òÎóµó¤·¤Þ¤¹¡§
-
-@itemize @bullet
-@item @code{IF} ¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÌá¤êÃÍ·¿¤Ï¸½ºßξÊý¤Î°ú¿ô¤Ë°Í¸¤·¤Þ¤¹¡£ºÇ½é¤Î°ú¿ô¤À¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-@item @code{AUTO_INCREMENT} Éé¿ô¤Ç¤ÏƯ¤­¤Þ¤»¤ó¡£
-@item @code{INNER} ¤È @code{DELAYED} ¤Ï¡¢Í½Ìó¸ì¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-@item @code{FLOAT(X)} ¤ÏËÜÅö¤ÎÉâÆ°¾®¿ôÅÀ·¿¤Ë¤Ê¤ê¤Þ¤·¤¿¡£·å¿ô¸ÇÄê¤ÎÃͤǤϤ¢¤ê¤Þ¤»¤ó¡£
-@item @code{DECIMAL(length,dec)} Àë¸À»þ¡¢length °ú¿ô¤Ï¤â¤Ï¤äÉä¹æ¤ä¾®¿ôÅÀ¤Î¾ì½ê¤ò´Þ¤ß¤Þ¤»¤ó¡£
-@item @code{TIME} ʸ»úÎó¤Ï°Ê²¼¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¤¤¤º¤ì¤«¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡§
-@code{[[[DAYS] [H]H:]MM:]SS[.fraction]} ¤«
-@code{[[[[[H]H]H]H]MM]SS[.fraction]}
-@item @code{LIKE} ¤Ï¡¢Æ±°ìʸ»ú¤ÎÈæ³Ó @code{'='} ¥ë¡¼¥ë¤ò»ÈÍѤ·¤Æ¡¢
-Èæ³Ó¤ò¹Ô¤¦¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-¤â¤·¸Å¤¤Èæ³ÓÊýË¡¤Ë¤¹¤ë¤Ê¤é¤Ð¡¢ @strong{MySQL} ¤ò @code{CXXFLAGS=-DLIKE_CMP_TOUPPER}
- ¥Õ¥é¥°¤Ç¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
-@item @code{REGEXP} ¤Ï¡¢Ä̾ï¤Îʸ»úÎó(Èó binary) ¤Ç¤Ï¡¢¥±¡¼¥¹Èó°Í¸¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-@item @code{MyISAM} ¥Æ¡¼¥Ö¥ë(@code{.MYI}) ¤Î¸¡ºº¡¦½¤Éü¤Ë¤Ï¡¢@code{CHECK TABLE}
-¤ò»ÈÍѤ¹¤ë¤«¡¢@code{myisamchk} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-@code{isamchk} ¤Ï ISAM(@code{.ISM}) ¥Æ¡¼¥Ö¥ëÍѤ˻ÈÍѤ·¤Þ¤¹¡£.
-@item ¤â¤·¡¢3.22 ¤È 3.23 ¤Î´Ö¤Ç¸ß´¹À­¤ò»ý¤¿¤»¤Æ @code{mysqldump} ¤ò¹Ô¤¤¤¿¤¤¤Ê¤é¤Ð¡¢
- @code{--opt} ¤ä @code{--full} ¥ª¥×¥·¥ç¥ó¤ò @code{mysqldump} ¤Ë»ØÄꤷ¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
-@item Á´¤Æ¤Î @code{DATE_FORMAT()} ¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
-³Æ¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»ú¤ÎÁ°¤Ë¤Ï @samp{%} ʸ»ú¤¬É¬Íפˤʤê¤Þ¤·¤¿¡£
-(@strong{MySQL} 3.22 ¥Ð¡¼¥¸¥ç¥ó°Ê¹ß¤Ç¤Ï¤³¤Îʸˡ¤¬µö¤µ¤ì¤Þ¤¹¡£)
-@item
-@code{mysql_fetch_fields_direct} ¤¬´Ø¿ô¤Ë¤Ê¤ê (º£¤Þ¤Ç¤Ï¥Þ¥¯¥í¤À¤Ã¤¿¤Î¤¬)¡¢
-@code{MYSQL_FIELD} ·¿¤Ç¤Ï¤Ê¤¯ @code{MYSQL_FIELD} ¥Ý¥¤¥ó¥¿¡¼·¿¤òÊÖ¤·¤Þ¤¹¡£
-@item
-@code{mysql_num_fields()} ¤Ï¡¢ @code{MYSQL*} object ¤ò¤â¤Ï¤ä»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£
-(¤³¤ì¤Ïº£¡¢ @code{MYSQL_RES*} ¤ò°ú¿ô¤Ë¼è¤ë´Ø¿ô¤Ë¤Ê¤ê¤Þ¤·¤¿)¡£
-Âå¤ï¤ê¤Ë¡¢ @code{mysql_field_count()} ¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-@item
-@code{MySQL} 3.22 ¤Ç¤Ï, @code{SELECT DISTINCT ...} ¤Î½ÐÎϤÏ
-¤Û¤È¤ó¤É¤¤¤Ä¤â¥½¡¼¥È¤µ¤ì¤Þ¤·¤¿¡£ 3.23 ¤Ç¤Ï, ¥½¡¼¥È¤ò¹Ô¤Ã¤¿·ë²Ì¤òÆÀ¤ë¤Ë¤Ï
-@code{GROUP BY} ¤« @code{ORDER BY} ¤ò»ÈÍѤ·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-@item
-¤â¤·¡¢°ìÃפ¹¤ë¥ì¥³¡¼¥É¤¬Ìµ¤«¤Ã¤¿¾ì¹ç¡¢@code{SUM()} ¤Ï 0 ¤ÎÂå¤ï¤ê¤Ë @code{NULL} ¤òÊÖ¤¹¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-¤³¤ì¤Ï ANSI SQL ½àµò¤Ç¤¹¡£
-@item
-¿·¤·¤¤Í½Ìó¸ì: @code{CASE, THEN, WHEN, ELSE and END}
-@item @code{NULL} ÃͤǤΠ@code{AND} ¤ä @code{OR} ¤Ï¸½ºß 0 ¤Ç¤Ï¤Ê¤¯
-@code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£
-This mostly affects queries that uses @code{NOT}
-on an @code{AND/OR} expression as @code{NOT NULL} = @code{NULL}.
-@end itemize
-
-@cindex Compatibility, between MySQL versions
-@node Upgrading-from-3.21, Upgrading-from-3.20, Upgrading-from-3.22, Upgrade
-@subsection 3.21 ¤«¤é 3.22 ¥Ð¡¼¥¸¥ç¥ó¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É
-
-3.21 ¤È 3.22 ¤Î´Ö¤Ë¤Ï¸ß´¹À­¤Ë±Æ¶Á¤¹¤ëÊѹ¹¤Ï¤¢¤ê¤Þ¤»¤ó¡£@code{DATE} ·¿¤ò
-ȼ¤Ã¤ÆÀ¸À®¤µ¤ì¤¿¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤Ï¡¢ÆüÉդγÊǼ¤Ë¿·¤·¤¤ÊýË¡¤ò»ÈÍѤ¹¤ë¤³¤È¤À
-¤±¤¬ pitfall ¤Ç¤¹¡£¤³¤ì¤é¤Î¿·¤·¤¤¥Õ¥£¡¼¥ë¥É¤Ë¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î
-@code{mysqld} ¤«¤é¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
-
-@code{MySQL 3.22} ¥¤¥ó¥¹¥È¡¼¥ë¸å¡¢¿·¤·¤¤¥µ¡¼¥Ð¤ò³«»Ï¤·¤Æ¡¢
-@code{mysql_fix_privilege_tables} ¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤¹¤Ù¤­¤Ç¤¹¡£¤³¤ì¤Ï
-@code{GRANT} ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤¿¤á¤ËɬÍפʸ¢¸Â¤òÄɲä·¤Þ¤¹¡£¤³¤ì¤ò˺¤ì
-¤ë¤È¡¢@code{ALTER TABLE} ¤ä @code{CREATE/DROP INDEX} ¤ò»ÈÍѤ·¤è¤¦¤È¤·¤¿
-»þ¤Ë @code{Access denied} ¤Ë¤Ê¤ê¤Þ¤¹¡£@strong{MySQL} root ¥æ¡¼¥¶¤¬¥Ñ¥¹¥ï¡¼
-¥É¤òÍ׵᤹¤ë¾ì¹ç¡¢@code{mysql_fix_privilege_tables} ¤Ø¤Î°ú¿ô¤È¤·¤Æ¤½¤ì¤ò
-Í¿¤¨¤Æ¤¯¤À¤µ¤¤¡£
-
-C API ¥¤¥ó¥¿¥Õ¥§¡¼¥¹ @code{mysql_real_connect()} ¤ÏÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£¤³¤Î
-´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¸Å¤¤¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¿·¤·¤¤
-@code{db} °ú¿ô¤Ë @code{0} ¤òÃÖ¤¯(¤Þ¤¿¤Ï¤è¤ê®¤¤Àܳ¤Î¤¿¤á¤Ë @code{db} Í×
-ÁǤòÁ÷¤ë¤è¤¦¤Ë¥¯¥é¥¤¥¢¥ó¥È¤ò¥³¡¼¥Ç¥£¥ó¥°¤·¤Ê¤ª¤¹)ɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-@code{mysql_real_connect()} ¤ò¸Æ¤Ó½Ð¤¹Á°¤Ë
-@code{mysql_init()} ¤ò¸Æ¤Ð¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡ª
-¤³¤ÎÊѹ¹¤Ï¡¢@code{MYSQL} ¤Î¹½Â¤ÂΤ˥ª¥×¥·¥ç¥ó¤òÊݸ¤¹¤ë¤¿¤á¤Î
-¿·¤·¤¤ @code{mysql_options()} ´Ø¿ô¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£
-
-@code{mysqld} ÊÑ¿ô @code{key_buffer} ¤Ï @code{key_buffer_size} ¤Ë̾Á°¤¬
-ÊѤï¤ê¤Þ¤·¤¿¡£¤·¤«¤·¡¢¤Þ¤ÀÁ°¤Î̾Á°¤â¥¹¥¿¡¼¤È¥¢¥Ã¥×¥Õ¥¡¥¤¥ëÃæ¤Ç»ÈÍѤǤ­¤Þ
-¤¹¡£
-
-
-@node Upgrading-from-3.20, Upgrading-to-arch, Upgrading-from-3.21, Upgrade
-@subsection 3.20 ¤«¤é 3.21 ¥Ð¡¼¥¸¥ç¥ó¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É
-
-´û¤Ë 3.20.28 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤¬²ÔƯ¤·¤Æ¤¤¤Æ¡¢3.21.x ¤ËÊѹ¹¤·¤¿¤¤¾ì¹ç¤Ï¡¢
-¼¡¤ò¹Ô¤Ê¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹:
-
-@code{safe_mysqld --old-protocol} ¤Ç @code{mysqld} 3.21 ¥µ¡¼¥Ð¤òµ¯Æ°¤¹¤ì
-¤Ð¡¢3.20 ÇÛÉÛ¤«¤é¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ç¤½¤ì¤ò»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¿·¤·¤¤¥¯
-¥é¥¤¥¢¥ó¥È´Ø¿ô @code{mysql_errno()} ¤Ï¥µ¡¼¥Ð¤Î¥¨¥é¡¼¤Ï²¿¤âÊÖ¤µ¤º¡¢
-@code{CR_UNKNOWN_ERROR} ¤À¤±¤òÊÖ¤·¤Þ¤¹ (¤¿¤À¤·¥¯¥é¥¤¥¢¥ó¥È¤Î¥¨¥é¡¼¤Ë¤Ä¤¤
-¤Æ¤ÏƯ¤­¤Þ¤¹)¡£¤½¤·¤Æ ¥µ¡¼¥Ð¤Ï¸Å¤¤ password() ¥Á¥§¥Ã¥¯¤ò¿·¤·¤¤¤â¤Î¤ÎÂå¤ï
-¤ê¤Ë»ÈÍѤ·¤Þ¤¹¡£
-
-@code{mysqld} ¤Ë @code{--old-protocol} ¥ª¥×¥·¥ç¥ó¤ò@emph{»È¤ï¤Ê¤¤}¾ì¹ç¡¢
-¼¡¤ÎÊѹ¹¤ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹:
-
-@itemize @bullet
-@item
-Á´¤Æ¤Î¥¯¥é¥¤¥¢¥ó¥È¥³¡¼¥É¤ÏºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ODBC ¤ò»ÈÍѤ·
-¤Æ¤¤¤ë¾ì¹ç¤Ï¿·¤·¤¤ @strong{MyODBC} 2.x ¥É¥é¥¤¥Ð¤òÆþ¼ê¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-@item
-@code{mysql.user} ¥Æ¡¼¥Ö¥ëÆâ¤Î @code{password} ¥Õ¥£¡¼¥ë¥É¤ò
-@code{CHAR(16)} ¤ËÊÑ´¹¤¹¤ë¤¿¤á¤Ë¡¢¥¹¥¯¥ê¥×¥È
-@code{scripts/add_long_password} ¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-@item
-Á´¤Æ¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï @code{mysql.user} ¥Æ¡¼¥Ö¥ëÆâ¤ËºÆÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ
-¤¹(31¥Ó¥Ã¥È¥Ñ¥¹¥ï¡¼¥É¤ÎÂå¤ï¤ê¤Ë¡¢62¥Ó¥Ã¥È¤òÆÀ¤ë¤¿¤á¤Ë)¡£
-@item
-¥Æ¡¼¥Ö¥ë·Á¼°¤ÏÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¤É¤Î¥Æ¡¼¥Ö¥ë¤âÊÑ´¹¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»
-¤ó¡£
-@end itemize
-
-@strong{MySQL} 3.20.28 ¤È¤½¤ì°Ê¹ß¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ë±Æ¶Á¤òµÚ¤Ü¤µ¤º¤Ë¡¢¿·
-¤·¤¤ @code{user} ¥Æ¡¼¥Ö¥ë·Á¼°¤ò½èÍý¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£3.20.28 ¤è¤êÁ°¤Î
-@strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢@code{user} ¥Æ¡¼¥Ö¥ë¤òÊÑ´¹
-¤¹¤ë¤È¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¤½¤Î¾å¤Ç¤Ï¤â¤¦Æ¯¤­¤Þ¤»¤ó¡£°ÂÁ´¤Î¤¿¤á¡¢ºÇ½é¤Ë¾¯¤Ê¤¯¤È
-¤â 3.20.28 ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¡¢¤½¤ì¤«¤é 3.21.x ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤Ù¤­¤Ç
-¤¹¡£
-
-@cindex Protocol mismatch
-¿·¤·¤¤¥¯¥é¥¤¥¢¥ó¥È¥³¡¼¥É¤Ï 3.20.x @code{mysqld} ¥µ¡¼¥Ð¤ÇÆ°ºî¤¹¤ë¤Î¤Ç¡¢¤â
-¤· 3.21.x ¤ÇÌäÂ꤬¤¢¤Ã¤¿¾ì¹ç¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤ò¤â¤¦°ìÅٺƥ³¥ó¥Ñ¥¤¥ë¤¹¤ëɬ
-ÍפϤʤ¯¡¢¸Å¤¤ 3.20.x ¥µ¡¼¥Ð¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@code{mysqld} ¤Ë @code{--old-protocol} ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¡¢¸Å¤¤
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òȯ¤·¤Þ¤¹:
-
-@example
-ERROR: Protocol mismatch. Server Version = 10 Client Version = 9
-@end example
-
-¿·¤·¤¤ Perl ¥¤¥ó¥¿¥Õ¥§¡¼¥¹ @code{DBI}/@code{DBD} ¤Ï¸Å¤¤ @code{mysqlperl}
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤â¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£@code{mysqlperl} ¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ë¹Ô¤¦É¬
-ÍפΤ¢¤ëÊѹ¹¤Ï¡¢@code{connect()} ´Ø¿ô¤Î°ú¿ô¤ÎÊѹ¹¤À¤±¤Ç¤¹¡£¿·¤·¤¤°ú¿ô¤Ï:
-@code{host}, @code{database}, @code{user}, @code{password} (@code{user}
-¤È @code{password} °ú¿ô¤Î½çÈÖ¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿)¡£
-@xref{Perl DBI Class, , Perl @code{DBI} Class}.
-
-¼¡¤ÎÊѹ¹¤Ï¸Å¤¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Î¥¯¥¨¥ê¤Ë±Æ¶Á¤·¤Þ¤¹:
-
-@itemize @bullet
-@item
-@code{HAVING} ¤Ï¸½ºß @code{ORDER BY} Àá¤è¤êÁ°¤Ë¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
-@item
-@code{LOCATE()} ¤Ø¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¸ò´¹¤µ¤ì¤Þ¤·¤¿¡£
-@item
-¿·¤·¤¤Í½Ìó¸ì¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£ºÇ¤âÃí°Õ¤¹¤Ù¤­¤Ï @code{DATE},
-@code{TIME} ¤½¤·¤Æ @code{TIMESTAMP} ¤Ç¤¹¡£
-@end itemize
-
-@node Upgrading-to-arch, , Upgrading-from-3.20, Upgrade
-@subsection ¾¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É
-
-¤â¤·¡¢@strong{MySQL} 3.23 ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢
-°ã¤¦¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î¥Þ¥·¥ó¤Ë¡¢@code{.frm}, @code{.MYI},@code{.MYD} ¥Õ¥¡¥¤¥ë¤ò
-¥³¥Ô¡¼¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
-¤¿¤À¤·¡¢Î¾¼Ô´Ö¤Ç¡¢Æ±¤¸ÉâÆ°¾®¿ôÅÀ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¸Â¤ê¤Þ¤¹¡£
-(@strong{MySQL} takes care of any byte swapping issues).
-
-¸½ºß @strong{MySQL} ¥Ç¡¼¥¿¤È¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë (@code{ISAM} @file{*.ISD} ¤È
-@file{*.ISM} ¥Õ¥¡¥¤¥ë) ¤Ï¥¢¡¼¥­¥Æ¥¯¥Á¥ã°Í¸¤Ç¡¢¤¤¤¯¤Ä¤«¤Î¥±¡¼¥¹¤Ç¤Ï OS
-°Í¸¤Ç¤¹¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¡¢¸½ºß¤Î¥Þ¥·¥ó¤È¤Ï°Û¤Ê¤ë¥¢¡¼¥­¥Æ¥¯¥Á¥ã/OS ¤ò
-»ý¤Ä¾¤Î¥Þ¥·¥ó¤Ë°Ü¤·¤¿¤¤¾ì¹ç¤Ï¡¢Ã±½ã¤Ë¥Õ¥¡¥¤¥ë¤ò¾¤Î¥Þ¥·¥ó¤Ë¥³¥Ô¡¼¤¹¤ë¤³
-¤È¤Ç¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò°Ü¹Ô¤·¤è¤¦¤È¤¹¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£@code{mysqldump} ¤ò
-»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï @code{mysqldump} ¤Ï¡¢´°Á´¤Ê SQL ¥¹¥Æ¡¼¥È¥á¥ó¥È¥Õ¥¡¥¤¥ë¤ò
-À¸À®¤·¤Þ¤¹¡£¤½¤ì¤«¤é¤½¤Î¥Õ¥¡¥¤¥ë¤ò¾¤Î¥Þ¥·¥ó¤ØžÁ÷¤·¡¢@code{mysql} ¥¯¥é
-¥¤¥¢¥ó¥È¤Ø¤ÎÆþÎϤȤ·¤ÆÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-Í­¸ú¤Ê¥ª¥×¥·¥ç¥ó¤¬²¿¤«¤ò¸«¤ë¤¿¤á¤Ë¤Ï¡¢@code{mysqldump --help} ¤ò»î¤·¤Æ¤¯
-¤À¤µ¤¤¡£¥Ç¡¼¥¿¤ò @strong{MySQL} ¤Î¤è¤ê¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Ë°Ü¤¹¾ì¹ç¡¢Â®¤¯¥³
-¥ó¥Ñ¥¯¥È¤Ê¥À¥ó¥×¤òÆÀ¤ë¤¿¤á¤Ë¡¢¤è¤ê¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Ç @code{mysqldump --opt}
-¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-
-£²¤Ä¤Î¥Þ¥·¥ó´Ö¤Ç¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò°ÜÆ°¤¹¤ëºÇ¤â´Êñ¤Ê (¤·¤«¤·ºÇ¤â®¤¯¤Ï¤Ê¤¤)
-ÊýË¡¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬ÃÖ¤«¤ì¤Æ¤¤¤ë¥Þ¥·¥ó¾å¤Ç¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç
-¤¹:
-
-@example
-shell> mysqladmin -h 'other hostname' create db_name
-shell> mysqldump --opt db_name \
- | mysql -h 'other hostname' db_name
-@end example
-
-ÃÙ¤¤¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Ç¥ê¥â¡¼¥È¥Þ¥·¥ó¤«¤é¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥³¥Ô¡¼¤·¤¿¤¤¾ì¹ç¤Ï¡¢
-¼¡¤ò»ÈÍѤǤ­¤Þ¤¹:
-
-@example
-shell> mysqladmin create db_name
-shell> mysqldump -h 'other hostname' --opt --compress db_name \
- | mysql db_name
-@end example
-
-¥Õ¥¡¥¤¥ëÆâ¤Î·ë²Ì¤ò³ÊǼ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹ (¤³¤ÎÎã¤Ç¤Ï°µ½Ì¤µ¤ì¤Æ¤¤¤Þ¤¹):
-
-@example
-shell> mysqldump --quick db_name | gzip > db_name.contents.gz
-@end example
-
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÃæ¿È¤ò´Þ¤ó¤Ç¤¤¤ë¥Õ¥¡¥¤¥ë¤ò¡¢ÌÜŪ¤Î¥Þ¥·¥ó¤ËžÁ÷¤·¤Æ¡¢¼¡¤Î¥³
-¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤:
-
-@example
-shell> mysqladmin create db_name
-shell> gunzip < db_name.contents.gz | mysql db_name
-@end example
-
-@cindex @code{mysqldump}
-@cindex @code{mysqlimport}
-¥Ç¡¼¥¿¥Ù¡¼¥¹Å¾Á÷¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë¡¢@code{mysqldump} ¤È @code{mysqlimport}
-¤â»ÈÍѤǤ­¤Þ¤¹¡£Â礭¤Ê¥Æ¡¼¥Ö¥ë¤Ç¤Ï¡¢¤³¤ì¤Ïñ½ã¤Ê @code{mysqldump} ¤Î»ÈÍÑ
-¤è¤ê¤â¤È¤Æ¤â®¤¤¤Ç¤¹¡£¼¡¤Ë¼¨¤¹¥³¥Þ¥ó¥É¤Ç¤Ï¡¢@code{DUMPDIR} ¤Ï
-@code{mysqldump} ¤«¤é¤Î½ÐÎϤò³ÊǼ¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î´°Á´¤Ê
-¥Ñ¥¹Ì¾¤òɽ¤ï¤·¤Æ¤¤¤Þ¤¹¡£
-
-¤Þ¤º¡¢½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¤¿¤á¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Æ¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥À¥ó¥×¤·
-¤Þ¤¹:
-
-@example
-shell> mkdir DUMPDIR
-shell> mysqldump --tab=DUMPDIR db_name
-@end example
-
-¤½¤ì¤«¤é¡¢@code{DUMPDIR} ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë¤òÌÜŪ¤Î¥Þ¥·¥ó¾å¤ÎÂбþ
-¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ËžÁ÷¤·¡¢@strong{MySQL} ¤Ë¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤·¤Þ¤¹:
-
-@example
-shell> mysqladmin create db_name # create database
-shell> cat DUMPDIR/*.sql | mysql db_name # create tables in database
-shell> mysqlimport db_name DUMPDIR/*.txt # load data into tables
-@end example
-
-@code{mysql} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥³¥Ô¡¼¤â˺¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤½¤ì¤Ï¾µÇ§¥Æ¡¼¥Ö
-¥ë (@code{user}, @code{db}, @code{host}) ¤¬³ÊǼ¤µ¤ì¤ë¤¿¤á¤Ç¤¹¡£
-@code{mysql} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¤½¤Î¾ì½ê¤ËÃÖ¤¯¤Þ¤Ç¡¢¿·¤·¤¤¥Þ¥·¥ó¾å¤Ç¤Ï
-@strong{MySQL} @code{root} ¥æ¡¼¥¶¤È¤·¤Æ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-¿·¤·¤¤¥Þ¥·¥ó¾å¤Ø @code{mysql} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤òƳÆþ¤·¤¿¸å¡¢¥µ¡¼¥Ð¤¬¾µÇ§¥Æ¡¼
-¥Ö¥ë¾ðÊó¤òºÆ¥í¡¼¥É¤¹¤ë¤¿¤á¤Ë¡¢@code{mysqladmin flush-privileges} ¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@cindex Compatibility, with ANSI SQL
-@node Compatibility, Privilege system, Installing, Top
-@chapter @strong{MySQL} ¤Ï¤É¤Î¤è¤¦¤Ëɸ½à¸ß´¹¤«¡©
-
-@menu
-* Extensions to ANSI:: @strong{MySQL} ¤Î ANSI SQL92 ¤ËÂФ¹¤ë³ÈÄ¥
-* Ansi mode:: Runnning @strong{MySQL} in ANSI mode
-* Differences from ANSI:: @strong{MySQL} differences compared to ANSI SQL92
-* Missing functions:: @strong{MySQL} ¤Ë̵¤¤µ¡Ç½
-* Standards:: @strong{MySQL} ¤¬½àµò¤¹¤ëɸ½à
-* Commit-rollback:: @code{COMMIT}/@code{ROLLBACK} ¤Ê¤·¤Ç¤¦¤Þ¤¯¤ä¤ëÊýË¡
-@end menu
-
-
-@node Extensions to ANSI, Ansi mode, Compatibility, Compatibility
-@section @strong{MySQL} ¤Î ANSI SQL92 ¤ËÂФ¹¤ë³ÈÄ¥
-
-@strong{MySQL} ¤Ï¡¢Â¾¤Î SQL ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Ë¸«¤é¤ì¤Ê¤¤¤Ç¤¢¤í¤¦¡¢¤¤¤¯¤Ä¤«
-¤Î³ÈÄ¥¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£¤¢¤Ê¤¿¤¬¤½¤ì¤é¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥³¡¼¥É¤Ï¾¤Î SQL ¥µ¡¼
-¥Ð¤Ë°Ü¹Ô¤Ç¤­¤Ê¤¯¤Ê¤ë¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤¤¤¯¤Ä¤«¤Î¥±¡¼¥¹¤Ç¤Ï¡¢·Á¼°
-@code{/*! ... */} ¤Î¥³¥á¥ó¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢@strong{MySQL} ³ÈÄ¥¤ò´Þ¤à
-°Ü¹Ô²Äǽ¥³¡¼¥É¤ò½ñ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢@strong{MySQL} ¤Ï¥³¥á¥ó¥È
-Æâ¤Î¥³¡¼¥É¤ò¼Â¹Ô¤·¤Þ¤¹¤¬¡¢¤Û¤«¤ÎSQL¥µ¡¼¥Ð¡¼¤Ï¤³¤ì¤ò̵»ë¤·¤Þ¤¹¡£Î㤨¤Ð:
-
-@example
-SELECT /*! STRAIGHT_JOIN */ col_name FROM table1,table2 WHERE ...
-@end example
-
-@code{'!'} ¤Î¸å¤í¤Ë¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÄɲ乤ë¤È¡¢Ê¸Ë¡¤Ï @strong{MySQL} ¥Ð¡¼
-¥¸¥ç¥ó¤¬»ÈÍѤµ¤ì¤ë¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ÈÅù¤·¤¤¤«Â礭¤¤¾ì¹ç¤Ë¤Î¤ß¼Â¹Ô¤µ¤ì¤Þ¤¹:
-
-@example
-CREATE /*!32302 TEMPORARY */ TABLE (a int);
-@end example
-
-¾åµ­¤Ï 3.23.02 ¤«¤½¤ì°Ê¾å¤Î¾ì¹ç¤È¤¤¤¦°ÕÌ£¤Ç¡¢¤½¤Î¤È¤­ @strong{MySQL} ¤Ï
-@code{TEMPORARY} ¥­¡¼¥ï¡¼¥É¤ò»ÈÍѤ·¤Þ¤¹¡£
-
-@strong{MySQL} ³ÈÄ¥¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹:
-
-@itemize @bullet
-@item
-¥Õ¥£¡¼¥ë¥É·¿ @code{MEDIUMINT}, @code{SET}, @code{ENUM} ¤½¤·¤ÆÍÍ¡¹¤Ê
-@code{BLOB} ¤È @code{TEXT} ·¿¡£
-
-@item
-¥Õ¥£¡¼¥ë¥É°À­ @code{AUTO_INCREMENT}, @code{BINARY}, @code{NULL}, @code{UNSIGNED} ¤½¤·¤Æ
-@code{ZEROFILL}¡£
-
-@item
-Á´¤Æ¤Îʸ»úÎóÈæ³Ó¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥±¡¼¥¹Èó°Í¸¤Ç¡¢¸½ºß¤Îʸ»ú¥»¥Ã¥È(¥Ç¥Õ¥©
-¥ë¥È¤Ç¤Ï ISO-8859-1 Latin1)¤Ë½¾¤Ã¤¿¥½¡¼¥È½ç¤Ç¤¹¡£¤³¤ì¤ò¹¥¤Þ¤Ê¤¤¾ì¹ç¤Ï¡¢
-@code{BINARY} °À­¤Ç¤¢¤Ê¤¿¤Î¥Õ¥£¡¼¥ë¥É¤òÀë¸À¤¹¤Ù¤­¤Ç¤¹¡£¤³¤ì¤Ï¡¢@strong{MySQL}
-¥µ¡¼¥Ð¥Û¥¹¥È¤Î¾å¤Ç»ÈÍѤµ¤ì¤ë ASCII ½ç¤Ë½¾¤Ã¤ÆÈæ³Ó¤¬¼Â¹Ô¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê
-¤Þ¤¹¡£
-
-@item
-@strong{MySQL} ¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò@strong{MySQL} ¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê
-°Ê²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¡¢
-¥Æ¡¼¥Ö¥ë¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î¥Õ¥¡¥¤¥ë̾¤Ë
-¥Þ¥Ã¥×¤·¤Þ¤¹¡£¤³¤ì¤Ï£²¤Ä¤Î´Ø·¸¤ò»ý¤Á¤Þ¤¹:
-
-@itemize @minus
-@item
-@cindex Database names, case sensitivity
-@cindex Table names, case sensitivity
-@cindex Case sensitivity, of database names
-@cindex Case sensitivity, of table names
-¥±¡¼¥¹°Í¸¤Î¥Õ¥¡¥¤¥ë̾¤ò»ý¤Ä OS (UNIX¤Î¤è¤¦¤Ê)¾å¤Î @strong{MySQL} ¤Ç¤Ï¡¢
-¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¤È¥Æ¡¼¥Ö¥ë̾¤Ï¥±¡¼¥¹°Í¸¤Ç¤¹¡£
-¥Æ¡¼¥Ö¥ë̾¤Îµ­²±¤ËÌäÂ꤬¤¢¤ë¾ì¹ç¡¢¾ï¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¥Æ¡¼¥Ö¥ë¤ò
-¾®Ê¸»ú¤ÇÀ¸À®¤¹¤ë¤È¤¤¤¦¶ñ¹ç¤Ë¡¢°ì´Ó¤·¤ÆƱ¤¸¤è¤¦¤Ë̿̾¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
-
-@item
-¥Æ¡¼¥Ö¥ë¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×, ¥ê¥Í¡¼¥à, °ÜÆ°, ºï½ü, ¥³¥Ô¡¼¤Ëɸ½à¥·¥¹¥Æ¥à¥³¥Þ¥ó
-¥É¤ò»ÈÍѤǤ­¤Þ¤¹¡£Î㤨¤Ð¡¢¥Æ¡¼¥Ö¥ë¤ò¥ê¥Í¡¼¥à¤¹¤ë¤Ë¤Ï¡¢¥Æ¡¼¥Ö¥ë¤ËÂбþ¤¹¤ë
-@file{.MYD}, @file{.MYI}, @file{.frm} ¥Õ¥¡¥¤¥ë¤ò¥ê¥Í¡¼¥à¤·¤Æ¤¯¤À¤µ¤¤¡£
-@end itemize
-
-@item
-SQL ʸ¤Ç¤Ï¡¢ @code{db_name.tbl_name} ¹½Ê¸¤ò»ÈÍѤ·¤Æ°ã¤¦¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Æ¡¼¥Ö¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£
-¤¤¤¯¤Ä¤«¤ÎSQL¥µ¡¼¥Ð¡¼¤ÏƱÍͤε¡Ç½¤òÄ󶡤·¤Þ¤¹¤¬¡¢¤³¤ì¤ò @code{User space} ¤Ç¥³¡¼¥ë¤·¤Þ¤¹¡£
-@strong{MySQL} ¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥Æ¡¼¥Ö¥ë¥¹¥Ú¡¼¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó:
-@code{create table ralph.my_table...IN my_tablespace}.
-
-@item
-¿ôÃÍ¥Õ¥£¡¼¥ë¥É¾å¤Ç¤Î @code{LIKE} ¤¬µö¤µ¤ì¤Þ¤¹¡£
-
-@item
-@code{SELECT} ¥¹¥Æ¡¼¥È¥á¥ó¥ÈÆâ¤Î @code{INTO OUTFILE} ¤È
-@code{STRAIGHT_JOIN} ¤Î»ÈÍÑ¡£@xref{SELECT, , @code{SELECT}}.
-
-@item
-¤É¤Î¤è¤¦¤Ë¥Æ¡¼¥Ö¥ë¤¬·ë¹ç¤µ¤ì¤ë¤«¤Î¾ÜºÙ¤òÆÀ¤ë¤¿¤á¤Î @code{EXPLAIN SELECT}¡£
-
-@item
-¥¤¥ó¥Ç¥Ã¥¯¥¹Ì¾¡¢¥Õ¥£¡¼¥ë¥É¤Î°ìÉô¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¡¢¤½¤·¤Æ @code{CREATE TABLE} ¥¹
-¥Æ¡¼¥È¥á¥ó¥ÈÆâ¤Î @code{INDEX} ¤Þ¤¿¤Ï @code{KEY} ¤Î»ÈÍÑ¡£
-@xref{CREATE TABLE, , @code{CREATE TABLE}}.
-
-@item
-@code{CREATE TABLE} ¤Ç¤Î @code{TEMPORARY} ¤« @code{IF NOT EXISTS} ¤Î»ÈÍÑ¡£
-
-@item
-'list' Í×ÁǤ¬°ì¤Ä°Ê¾å¤Î @code{COUNT(DISTINCT list)} ¤Î»ÈÍÑ¡£
-
-@item
-@code{ALTER TABLE} ¥¹¥Æ¡¼¥È¥á¥ó¥ÈÆâ¤Î @code{CHANGE col_name}, @code{DROP col_name},
-@code{DROP INDEX} ¤Î»ÈÍÑ¡£
-@xref{ALTER TABLE, ,@code{ALTER TABLE}}.
-
-@item
-@code{ALTER TABLE} ¥¹¥Æ¡¼¥È¥á¥ó¥ÈÆâ¤Î @code{IGNORE} ¤Î»ÈÍÑ¡£
-
-@item
-@code{ALTER TABLE} ¥¹¥Æ¡¼¥È¥á¥ó¥ÈÆâ¤ÎÊ£¿ô¤Î @code{ADD}, @code{ALTER},
-@code{DROP}, @code{CHANGE} Àá¤Î»ÈÍÑ¡£
-
-@item
-¥­¡¼¥ï¡¼¥É @code{IF EXISTS} ÉÕ¤­¤Î @code{DROP TABLE} ¤Î»ÈÍÑ¡£
-
-@item
-Ê£¿ô¤Î¥Æ¡¼¥Ö¥ë¤ò°ì²ó¤Î @code{DROP TABLE} ¤ÇÇË´þ¤Ç¤­¤ë
-
-@item
-@code{DELETE} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Î @code{LIMIT} Àá¡£
-
-@item
-@code{INSERT} ¤È @code{REPLACE} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Î @code{DELAYED} Àá¡£
-
-@item
-@code{INSERT}, @code{REPLACE}, @code{DELETE}, @code{UPDATE} ¥¹¥Æ¡¼¥È¥á¥ó¥È
-¤Î @code{LOW_PRIORITY} Àá¡£
-
-@cindex Oracle compatibility
-@cindex Compatibility, with Oracle
-@item
-@code{LOAD DATA INFILE} ¤Î»ÈÍÑ¡£Â¿¤¯¤Î¾ì¹ç¡¢¤³¤Î¹½Ê¸¤Ï ORACLE ¤Î
-@code{LOAD DATA INFILE} ¤È¸ß´¹¤¬¤¢¤ê¤Þ¤¹¡£@xref{LOAD DATA, , @code{LOAD DATA}}.
-
-@item
-@code{OPTIMIZE TABLE} ¥¹¥Æ¡¼¥È¥á¥ó¥È¡£
-@xref{OPTIMIZE TABLE, , @code{OPTIMIZE TABLE}}.
-
-@item
-@code{SHOW} ¥¹¥Æ¡¼¥È¥á¥ó¥È¡£
-@xref{SHOW, , @code{SHOW}}.
-
-@item
-@samp{'} ¤À¤±¤Ç¤Ê¤¯ @samp{"} ¤Þ¤¿¤Ï @samp{'} ¤Ë¤è¤Ã¤Æʸ»úÎó¤ò³ç¤ë¤³¤È¤¬
-²Äǽ¡£
-
-@item
-¥¨¥¹¥±¡¼¥× @samp{\} ʸ»ú¤Î»ÈÍÑ¡£
-
-@item
-@code{SET OPTION} ¥¹¥Æ¡¼¥È¥á¥ó¥È¡£@xref{SET OPTION, , @code{SET OPTION}}.
-
-@item
-@code{GROUP BY} Éô¤ËÁ´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤ò»ý¤ÄɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-This gives better performance for some very specific, but quite normal
-queries.
-@xref{Group by functions}.
-
-@item
-°Û¤Ê¤ë SQL ´Ä¶­¤«¤éÍ褿¥æ¡¼¥¶¤ËÂФ·¡¢¤è¤ê´Êñ¤Ë¤¹¤ë¤¿¤á¡¢@strong{MySQL}
-¤Ï¿¤¯¤Î´Ø¿ô¤ËÊÌ̾¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£Î㤨¤Ð¡¢Á´¤Æ¤Îʸ»úÎó´Ø¿ô¤Ï ANSI
-SQL ¤È ODBC ¹½Ê¸¤ÎξÊý¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-
-@item
-@strong{MySQL} ¤Ï @code{||} ¤È @code{&&} ±é»»»Ò¤ò¡¢C ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì
-¤Î¤è¤¦¤Ë¡¢ÏÀÍýϤÈÏÀÍýÀѤò°ÕÌ£¤¹¤ë¤ÈÍý²ò¤·¤Þ¤¹¡£@strong{MySQL} ¤Ç¤Ï
-@code{||} ¤È @code{OR}¡¢@code{&&} ¤È @code{AND} ¤ÏƱµÁ¸ì¤Ç¤¹¡£¤³¤ÎÎɤ¤¹½
-ʸ¤Î¤¿¤á¡¢@strong{MySQL} ¤Ï ANSI SQL ¤Îʸ»úÎó·ë¹ç±é»»»Ò @code{||} ¤ò¥µ¥Ý¡¼
-¥È¤·¤Þ¤»¤ó¡£@code{CONCAT()} ¤òÂå¤ï¤ê¤Ë»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£@code{CONCAT()}
-¤ÏǤ°Õ¤Î¿ô¤Î°ú¿ô¤ò»ÈÍѤǤ­¤ë¤Î¤Ç¡¢@code{||} ±é»»»Ò¤Î»ÈÍѤò
-@strong{MySQL} ¤ËÊÑ´¹¤¹¤ë¤Î¤Ï´Êñ¤Ç¤¹¡£
-
-@item
-@code{CREATE DATABASE} ¤Þ¤¿¤Ï @code{DROP DATABASE}.
-@xref{CREATE DATABASE, , @code{CREATE DATABASE}}.
-
-@cindex PostgreSQL compatibility
-@cindex Compatibility, with PostgreSQL
-@item
-@code{MOD()} ¤ÈƱµÁ¤Î @code{%}¡£ @code{N % M} ¤Ï @code{MOD(N,M)} ¤ÈÅù²Á¤Ç¤¹¡£
-@code{%} ¤Ï C ¥×¥í¥°¥é¥Þ¡¼¤È PostgreSQL ¤È¤Î¸ß´¹¤Î¤¿¤á¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£
-
-@item
-¥Õ¥£¡¼¥ë¥É¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç¤Î @code{=}, @code{<>}, @code{<=} ,@code{<},
-@code{>=}, @code{>}, @code{<<}, @code{>>}, @code{<=>},
-@code{AND}, @code{OR}, @code{LIKE}¡£
-Î㤨¤Ð¡§
-
-@example
-mysql> SELECT col1=1 AND col2=2 FROM tbl_name;
-@end example
-
-@item
-@code{LAST_INSERT_ID()} ´Ø¿ô¡£
-@xref{mysql_insert_id, , @code{mysql_insert_id()}}.
-
-@item
-@code{REGEXP} ¤Þ¤¿¤Ï @code{NOT REGEXP}¡£
-
-@item
-1¤Ä¤Þ¤¿¤Ï2°Ê¾å¤Î°ú¿ô¤Ç¤Î @code{CONCAT()} ¤Þ¤¿¤Ï @code{CHAR()}¡£
-@strong{MySQL} ¤Ç¤Ï¡¢¤³¤ì¤é¤Î´Ø¿ô¤ÏǤ°Õ¤Î¿ô¤Î°ú¿ô¤ò¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@item @code{BIT_COUNT()}, @code{CASE}, @code{ELT()},
-@code{FROM_DAYS()}, @code{FORMAT()}, @code{IF()}, @code{PASSWORD()},
-@code{ENCRYPT()}, @code{md5()}, @code{ENCODE()}, @code{DECODE()},
-@code{PERIOD_ADD()}, @code{PERIOD_DIFF()}, @code{TO_DAYS()},
-@code{WEEKDAY()} ´Ø¿ô¡£
-
-@item
-¥µ¥Öʸ»úÎó¤ÎÀ°·Á¤Î¤¿¤á¤Ë @code{TRIM()} ¤ò»ÈÍѤǤ­¤Þ¤¹¡£ANSI SQL ¤Ï°ìʸ»ú
-¤Îºï½ü¤À¤±¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-
-@item
-@code{GROUP BY} ´Ø¿ô @code{STD()}, @code{BIT_OR()} ¤½¤·¤Æ @code{BIT_AND()}¡£
-
-@item
-@code{DELETE} + @code{INSERT} ¤ÎÂå¤ï¤ê¤Î @code{REPLACE} ¤Î»ÈÍÑ¡£
-@xref{REPLACE, , @code{REPLACE}}.
-
-@item
-@code{FLUSH flush_option} ¹½Ê¸¡£
-
-@item
-@code{:=} ¤Ç¥¹¥Æ¡¼¥È¥á¥ó¥ÈÆâ¤Ç¤ÎÊÑ¿ô¤ÎÀßÄ꤬²Äǽ:
-@example
-SELECT @@a:=SUM(total),@@b=COUNT(*),@@a/@@b AS avg FROM test_table;
-SELECT @@t1:=(@@t2:=1)+@@t3:=4,@@t1,@@t2,@@t3;
-@end example
-
-@end itemize
-
-@node Ansi mode, Differences from ANSI, Extensions to ANSI, Compatibility
-@section ANSI ¥â¡¼¥É¤Ç¤Î MySQL ¤Î¼Â¹Ô
-
-@code{--ansi} ¥ª¥×¥·¥ç¥ó¤Ä¤­¤Ç mysqld ¤ò³«»Ï¤¹¤ë¤È¡¢¤½¤Î @strong{MySQL} ¤Î
-¿¶Éñ¤¤¤¬ÊѤï¤ê¤Þ¤¹¡£
-
-@itemize @bullet
-@item
-@code{||} ¤Ï @code{OR} ¤Ç¤Ï¤Ê¤¯Ê¸»úÎó·ë¹ç¤Ç¤¹¡£
-@item
-´Ø¿ô̾¤È '(' ¤Î´Ö¤ËǤ°Õ¤Î¿ô¤Î¥¹¥Ú¡¼¥¹¤òÃÖ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¤¹¤Ù¤Æ¤Î
-´Ø¿ô¤òͽÌó¸ì¤Ë¤·¤Þ¤¹¡£
-@item
-@code{"} ¤Ï(@strong{MySQL} @code{`} °úÍÑʸ»ú¤Ë»÷¤¿)¼±Ê̻ҰúÍÑʸ»ú¤Ë¤Ê¤ê¡¢
-ʸ»úÎó°úÍÑʸ»ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-@item
-@code{REAL} ¤Ï @code{DOUBLE} ¤ÎƱµÁ¸ì¤Ç¤Ï¤Ê¤¯ @code{FLOAT} ¤ÎƱµÁ¸ì¤Ë¤Ê¤ê
-¤Þ¤¹¡£
-@end itemize
-
-@node Differences from ANSI, Missing functions, Ansi mode, Compatibility
-@section @strong{MySQL} ¤È ANSI SQL92 ¤È¤Î°ã¤¤
-
-²æ¡¹¤Ï @strong{MySQL} ¤ò ANSI SQL ɸ½à¤È ODBC SQL ɸ½à¤Ë½¾¤¦¤è¤¦¤Ë»î¤ß¤Æ¤¤
-¤Þ¤¹¤¬¡¢¤¤¤¯¤Ä¤«¤Î¥±¡¼¥¹¤Ç @strong{MySQL} ¤Ï²¿¤«°ã¤¤¤¬¤¢¤ê¤Þ¤¹:
-
-@itemize @bullet
-@item
-@code{--} ¤Ï¶õÇò¤¬Â³¤¯¾ì¹ç¤À¤±¥³¥á¥ó¥È¤Ë¤Ê¤ê¤Þ¤¹¡£@xref{Missing comments}¡£
-@item
-@code{VARCHAR} ¥Õ¥£¡¼¥ë¥É¤Ç¤Ï¡¢Ãͤ¬³ÊǼ¤µ¤ì¤ë»þ¤ËËöÈø¤Î¶õÇò¤¬ºï½ü¤µ¤ì¤Þ¤¹¡£
-@xref{Bugs}¡£
-@item
-¤¤¤¯¤Ä¤«¤Î¥±¡¼¥¹¤Ç¡¢@code{CHAR} ¥Õ¥£¡¼¥ë¥É¤ÏÌÛ¤Ã¤Æ @code{VARCHAR} ¥Õ¥£¡¼¥ë
-¥É¤ËÊѹ¹¤µ¤ì¤Þ¤¹¡£@xref{Silent column changes}¡£
-@item
-¥Æ¡¼¥Ö¥ë¤òºï½ü¤¹¤ë»þ¤Ë¡¢¥Æ¡¼¥Ö¥ë¤Ë¤Ä¤¤¤Æ¤Î¸¢¸Â¤Ï¼«Æ°Åª¤Ë¤ÏÇË´þ¤µ¤ì¤Þ¤»¤ó¡£
-¥Æ¡¼¥Ö¥ë¤Ë¤Ä¤¤¤Æ¤Î¸¢¸Â¤òÇË´þ¤¹¤ë¤Ë¤Ï¡¢ÌÀ¼¨Åª¤Ë @code{REVOKE} ¤òȯ¹Ô¤¹¤ëɬ
-Íפ¬¤¢¤ê¤Þ¤¹¡£@xref{GRANT, , @code{GRANT}}.
-@item
-@code{NULL AND FALSE} ¤Ï @code{FALSE} ¤Ç¤Ï¤Ê¤¯ @code{NULL} ¤Èɾ²Á¤µ¤ì¤Þ¤¹¡£
-¤³¤Î¥±¡¼¥¹¤Ç¡¢Â¿¤¯¤Î;·×¤Ê¾ò·ï¤òɾ²Á¤¹¤ëɬÍפ¬¤¢¤ë¤³¤È¤ÏÎɤ¤¤³¤È¤Ç¤Ï¤Ê¤¤¤È¡¢
-²æ¡¹¤Ï¹Í¤¨¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£
-@end itemize
-
-@node Missing functions, Standards, Differences from ANSI, Compatibility
-@section @strong{MySQL} ¤Ë̵¤¤µ¡Ç½
-
-¼¡¤Îµ¡Ç½¤¬ @strong{MySQL} ¤Î¸½ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó¡£¿·¤·¤¤³ÈÄ¥¤Î
-Í¥ÀèÅ٤ˤĤ¤¤Æ¤Ï¡¢¼¡¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤
-@uref{http://www.mysql.com/Manual_chapter/manual_Todo.html, the
-@strong{MySQL} TODO list}¡£¤³¤ì¤Ï¤³¤Î¥Þ¥Ë¥å¥¢¥ëÃæ¤Î TODO ¥ê¥¹¥È¤ÎºÇ¿·¥Ð¡¼
-¥¸¥ç¥ó¤Ç¤¹¡£@xref{TODO}¡£
-
-@menu
-* Missing Sub-selects:: Sub-selects
-* Missing SELECT INTO TABLE:: @code{SELECT INTO TABLE}
-* Missing Transactions:: ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó
-* Missing Triggers:: ¥È¥ê¥¬
-* Missing Foreign Keys:: Foreign Keys
-* Missing Views:: ¥Ó¥å¡¼
-* Missing comments:: ¥³¥á¥ó¥È³«»Ï¤È¤·¤Æ¤Î @samp{--}
-@end menu
-
-@node Missing Sub-selects, Missing SELECT INTO TABLE, Missing functions, Missing functions
-@subsection Sub-selects
-
-¼¡¤Ï @strong{MySQL} ¤Ç¤Ï¤Þ¤ÀƯ¤­¤Þ¤»¤ó:
-
-@example
-SELECT * FROM table1 WHERE id NOT IN (SELECT id FROM table2);
-@end example
-
-¤·¤«¤·Â¿¤¯¤Î¾ì¹ç¡¢sub select ¤ò»È¤ï¤Ê¤¤¥¯¥¨¥ê¤Ë½ñ¤­Ä¾¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-
-@example
-SELECT table1.* FROM table1,table2 WHERE table1.id=table2.id;
-SELECT table1.* FROM table1 LEFT JOIN table2 ON table1.id=table2.id where table2.id IS NULL
-@end example
-
-¤µ¤é¤ËÊ£»¨¤Ê¥µ¥Ö¥¯¥¨¥ê¤Ç¤Ï¡¢¥µ¥Ö¥¯¥¨¥ê¤òÊÝ»ý¤¹¤ë¤¿¤á¤Ë°ì»þ¥Æ¡¼¥Ö¥ë¤òºîÀ®¤Ç
-¤­¤Þ¤¹¡£¤·¤«¤·¡¢¤³¤ÎÊýË¡¤Ç¤âÆ°¤«¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥±¡¼¥¹¤Ë¤Ï¡¢
-@code{DELETE} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç¤â¤Ã¤È¤âÉÑÈˤËÁø¶ø¤·¤Þ¤¹¡£@code{DELETE} ¥¹¥Æ¡¼
-¥È¥á¥ó¥È¤Ç¤Ï¡¢É¸½à SQL ¤Ç¤Ï¡Êsub select ¤ÎÃæ¤ò½ü¤¤¤Æ¡Ëjoin ¤ò¥µ¥Ý¡¼¥È¤·¤Æ
-¤¤¤Þ¤»¤ó¡£¥µ¥Ö¥¯¥¨¥ê¤¬ @strong{MySQL} ¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤Þ¤Ç¡¢¤³¤Î¾õ¶·¤Ë¤Ï£²
-¤Ä¤ÎÁªÂò»è¤¬¤¢¤ê¤Þ¤¹¡£
-
-ºÇ½é¤ÎÁªÂò»è¤Ï¡¢¼ê³¤­¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¡ÊPerl ¤ä PHP ¤Î¤è¤¦¤Ê¡Ë¤ò»ÈÍѤ·¤Æ¡¢
-@code{SELECT} ¥¯¥¨¥ê¤òȯ¹Ô¤·¤Æºï½ü¤µ¤ì¤ë¥ì¥³¡¼¥É¤Î¥×¥é¥¤¥Þ¥ê¥­¡¼¤ò³ÍÆÀ¤·¡¢
-¤½¤ì¤«¤é @code{DELETE} ¥¹¥Æ¡¼¥È¥á¥ó¥È¡Ê@code{DELETE FROM ... WHERE
-... IN (key1, key2, ...)}¡Ë¤ò¹½ÃÛ¤¹¤ë¤¿¤á¤Ë¤½¤ÎÃͤò»ÈÍѤ¹¤ë¤³¤È¤Ç¤¹¡£
-
-ÆóÈÖÌܤÎÁªÂò»è¤Ï¡¢ÂÐÏ÷¿ SQL ¤ò»ÈÍѤ·¡¢@code{DELETE} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Î¥»¥Ã
-¥È¤ò¡Êɸ½à @code{||} ¥ª¥Ú¥ì¡¼¥¿¤ÎÂå¤ï¤ê¤Ë¡Ë@strong{MySQL} ³ÈÄ¥
-@code{CONCAT()} ¤ò»ÈÍѤ·¤Æ¡¢¼«Æ°Åª¤ËÁȤßΩ¤Æ¤ë¤³¤È¤Ç¤¹¡£Î㤨¤Ð:
-
-@example
-SELECT CONCAT('DELETE FROM tab1 WHERE pkid = ', tab1.pkid, ';')
- FROM tab1, tab2
- WHERE tab1.col1 = tab2.col2;
-@end example
-
-¤³¤Î¥¯¥¨¥ê¤ò¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ëÃæ¤ËÃÖ¤­¡¢ÆþÎϤò @code{mysql} ¥³¥Þ¥ó¥É¥é¥¤¥ó
-¥¤¥ó¥¿¥×¥ê¥¿¤ËÀÚÂؤ¨¡¢¤½¤Î½ÐÎϤòÆóÈÖÌܤΥ¤¥ó¥¿¥×¥ê¥¿¥¤¥ó¥¹¥¿¥ó¥¹¤Ë¥Ñ¥¤¥×¤·
-¤Þ¤¹:
-
-@example
-prompt> mysql --skip-column-names mydb < myscript.sql | mysql mydb
-@end example
-
-@strong{MySQL} ¤Ï @code{INSERT ... SELECT ...} ¤È @code{REPLACE ...
-SELECT ...} ¤À¤±¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ÆÈΩ¤·¤¿ sub-selects ¤Ï¤ª¤½¤é¤¯ 3.24.0
-¤ÇÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤·¤«¤·º£¤Ï¾¤Îʸ̮Æâ¤Ç´Ø¿ô @code{IN()} ¤ò»ÈÍѤǤ­¤Þ¤¹¡£
-
-@node Missing SELECT INTO TABLE, Missing Transactions, Missing Sub-selects, Missing functions
-@subsection @code{SELECT INTO TABLE}
-
-@strong{MySQL} ¤Ï¤Þ¤À Oracle SQL extension:
-@code{SELECT ... INTO TABLE ...} ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£
-@strong{MySQL} ¤Ï @code{INSERT INTO ... SELECT ...} ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-¤³¤ì¤Ï´ðËÜŪ¤ËƱ¤¸¤³¤È¤Ç¤¹¡£
-
-Âå¤ï¤ê¤Ë¡¢@code{INSERT INTO ... SELECT ...} ¤ä @code{CREATE
-TABLE ... SELECT} ¤¬»ÈÍѤǤ­¤Þ¤¹¡£
-@xref{INSERT, , @code{INSERT}}.
-
-@node Missing Transactions, Missing Triggers, Missing SELECT INTO TABLE, Missing functions
-@subsection ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó
-
-@strong{MySQL} ¤Ï¸½ºß¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¡¢¼¡¤ÎµÄÏÀ¤ÏÈó¥È¥é
-¥ó¥¶¥¯¥·¥ç¥ó°ÂÁ´¥Æ¡¼¥Ö¥ë·¿¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ë¤À¤±Í­¸ú¤Ç¤¹¡£@xref{COMMIT}¡£
-
-``¤Ê¤¼ @strong{MySQL} ¤Ï¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤Ê¤¤¤Î¤«¡©'' ¤È¤«
-``¤Ê¤¼ @strong{MySQL} ¤Ï¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Ê¤¤¤Î¤«¡©''
-¤È¤¤¤Ã¤¿¼ÁÌ䤬¤·¤Ð¤·¤Ð¤Ê¤µ¤ì¤Þ¤¹¡£
-
-@strong{MySQL} ¤Ï¡¢¥Ç¡¼¥¿¤Î¼è¤ê°·¤¤¤ËÂФ·¡¢Â¾¤Î¥Ñ¥é¥À¥¤¥à¡¢
-``¥¢¥È¥ß¥Ã¥¯¡¦¥ª¥Ú¥ì¡¼¥·¥ç¥ó''¤ò¥µ¥Ý¡¼¥È¤¹¤ë»ö¤ò°Õ¿Þ¤·¤Æ·èÄꤷ¤Þ¤·¤¿¡£
-¥¢¥È¥ß¥Ã¥¯¡¦¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤¬Æ±Åù¤«¤¢¤ë¤¤¤Ï¤è¤êÎɤ¤¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò
-Ä󶡤¹¤ë¤È¤¤¤¦¤Î¤¬¡¢²æ¡¹¤Î·Ð¸³¡¢¤ª¤è¤Ó¹Í¤¨¤Ç¤¹¡£
-¤½¤ì¤Ç¤â¡¢²æ¡¹¤Ï¥È¥é¥ó¥¶¥¯¥·¥ç¥óŪ¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ñ¥é¥À¥¤¥à¤È¥×¥é¥ó¤òɾ²Á¤·¡¢
-Íý²ò¤·¤Æ¤¤¤Þ¤¹¡£¼¡¤Î¿ô¥ê¥ê¡¼¥¹¤Î¤¦¤Á¤Ë¡¢¥Æ¡¼¥Ö¥ëñ°Ì¤ò´ðËܤˡ¢¥È¥é¥ó¥¶¥¯¥·¥ç
-¥ó°ÂÁ´¥Æ¡¼¥Ö¥ë¤òƳÆþ¤·¤Þ¤¹¡£
-¤½¤Î»þ²æ¡¹¤Ï¡¢¥æ¡¼¥¶¡¼¤¬¡¢
-¥¹¥Ô¡¼¥É½Å»ë¤Ç¥¢¥È¥ß¥Ã¥¯¡¦¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤Î¤«¡¢¤¢¤ë¤¤¤Ï
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Îµ¡Ç½¤ò»È¤¦¤Î¤«¡¢
-¤ò¡¢ÁªÂò¤Ç¤­¤ë¤è¤¦¤Ë¤·¤è¤¦¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£
-
-¸·Ì©¤Ë integrity °Ý»ý¤¹¤ë¤Ë¤Ï @strong{MySQL} ¤Îµ¡Ç½¤ò¤É¤Î¤è¤¦¤Ë»ÈÍѤ¹¤ë¤Î
-¤Ç¤·¤ç¤¦¡© ¤½¤·¤Æ¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥óŪ¥Ñ¥é¥À¥¤¥à¤Ç¤³¤ì¤é¤Îµ¡Ç½¤ò¤É¤Î¤è¤¦¤Ë
-Èæ³Ó¤¹¤ë¤Î¤Ç¤·¤ç¤¦¡©
-
-ºÇ½é¤Ë¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Î¥Ñ¥é¥À¥¤¥à¤Ç¤Ï¡¢
-¤â¤·¡¢¤¢¤Ê¤¿¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ ´ðËܤȤʤëÉôʬ¤Ç
-``commit'' ¤ÎÂå¤ï¤ê¤Ë ``rollback'' ¤Î¸Æ¤Ó½Ð¤·¤Ë°Í¸¤·¤Æ¤¤¤ë¤Ê¤é¡¢
-¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Ï¤è¤êÊØÍø¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-¤ª¤Þ¤±¤Ë¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Ï´°Î»¤Ç¤­¤Ê¤«¤Ã¤¿¹¹¿·¤äÉÔÀ°¹ç¤òµ¯¤³¤·¤¿
-¥Ç¡¼¥¿¤¬¡¢³Î¼Â¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÅÐÏ¿¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤Ç¤­¤Þ¤¹¡£
-¤½¤Î¥µ¡¼¥Ð¡¼¤Ë¤Ï¡¢¼«Æ°Åª¤Ê rollback ¤ò¤¹¤ëµ¡²ñ¤¬Í¿¤¨¤é¤ì¡¢
-¤¢¤Ê¤¿¤Î¥Ç¡¼¥¿¤Ï¼é¤é¤ì¤ë¤Ç¤·¤ç¤¦¡£
-
-@strong{MySQL} ¤Ï¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢¹¹¿·Á°¤Î´Êñ¤Ê¥Á¥§¥Ã¥¯¤ò´Þ¤Þ¤»¤ë¤³¤È¤¬¤Ç¤­¤¿¤ê¡¢
-¤¢¤ë¤¤¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÌ·½â¤ò¸¡ºº¤·¤Æ¼«Æ°½¤Éü¤ä·Ù¹ð¤Îɽ¼¨¤ò¹Ô¤Ã¤¿¤ê¤¹¤ë
-´Êñ¤Ê¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ê¡¢
-¥Ý¥Æ¥ó¥·¥ã¥ë¤ò¤¢¤Ê¤¿¤ËÄ󶡤·¤Þ¤¹¡£
-@strong{MySQL} ¥í¥°¤Î»ÈÍѤ䳰Éô¤Ø¤Î¥í¥°¤ÎÄɲäò¹Ô¤Ã¤¿¤ê¤¹¤ë»ö¤Ç¡¢
-Ä̾¥Ç¡¼¥¿¤ËÉÔÀ°¹ç¤Î¤ª¤­¤¿¥Æ¡¼¥Ö¥ë¤ò´°Á´¤Ë½¤Éü¤Ç¤­¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-¤µ¤é¤Ë¡¢``fatal'' transactional updates ¤Ï¥¢¥È¥ß¥Ã¥¯¤Ç½ñ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¼ÂºÝ¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤¬²ò·è¤¹¤ëÁ´¤Æ¤Î integrity problems ¤Ï
- @code{LOCK TABLES} ¤ä atomic updates ¤ÇÃÖ¤­´¹¤¨¤ë¤³¤È¤¬½ÐÍè¡¢
-¤µ¤é¤Ë¤³¤ì¤Ï¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤¢¤ë°ìÈÌŪ¤ÊÌäÂê¤Ç¤¢¤ë¡¢
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¤Î¼«Æ°Åª¤ÊÃæÃǤòÆÀ¤ë¤³¤È̵¤·¤Ë¡¢²Äǽ¤Ê¤Ï¤º¤Ç¤¹¡£
-In fact,we will go so far as to say that all integrity problems
-that transactions solve can be done with @code{LOCK TABLES} or atomic updates,
-ensuring that you never will get an automatic abort from the database,
-which is a common problem with transactional databases.
-
-¤â¤·¥µ¡¼¥Ð¡¼¤¬¥À¥¦¥ó¤¹¤ì¤Ð¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Ç¤âÁ´¤Æ¤ò¼º¤¦¤³¤È¤òÁ˻ߤǤ­¤Þ¤»¤ó¡£
-¤³¤Î¾ì¹ç¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Î¥·¥¹¥Æ¥à¤Ç¤â¥Ç¡¼¥¿¤òÁ´¤Æ¼º¤¦¤Ç¤·¤ç¤¦¡£
-The difference
-between different systems lies in just how small the time-lap is where
-they could lose data. No system is 100% secure, only ``secure
-enough''. Even Oracle, reputed to be the safest of transactional
-databases, is reported to sometimes lose data in such situations.
-
-@strong{MySQL} ¤ò°ÂÁ´¤Ë¤¹¤ë¤Ë¤Ï¡¢¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë¤³¤È¤È¡¢
-¹¹¿·¥í¥°¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤À¤±¤Ç¤¹¡£
-¤³¤ì¤Ç¡¢¤¢¤Ê¤¿¤¬Â¾¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ò»ý¤Ä¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¹Ô¤Ã¤Æ¤¤¤ë¤è¤¦¤Ê
-¤¤¤«¤Ê¤ë¾ìÌ̤Ǥν¤Éü¤¬²Äǽ¤Ç¤¹¡£
-¤â¤Á¤í¤ó¡¢¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¤È¤ë¤³¤È¤Ï¡¢¤É¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¤«¤Ë
-´Ø¤ï¤é¤º¡¢¾ï¤ËÎɤ¤¤³¤È¤Ç¤¹¡£
-
-The transactional paradigm has its benefits and its drawbacks. Many
-users and application developers depend on the ease with which they can
-code around problems where an ``abort'' appears or is necessary, and they
-may have to do a little more work with @strong{MySQL} to either think
-differently or write more. If you are new to the atomic operations
-paradigm, or more familiar or more comfortable with transactions, do not
-jump to the conclusion that @strong{MySQL} has not addressed these
-issues. Reliability and integrity are foremost in our minds. Recent
-estimates are that there are more than 1,000,000 mysqld servers
-currently running, many of which are in production environments. We
-hear very, very seldom from our users that they have lost any data, and
-in almost all of those cases user error is involved. This is in our
-opinion the best proof of @strong{MySQL}'s stability and reliability.
-
-Lastly, in situations where integrity is of highest importance,
-@strong{MySQL}'s current features allow for transaction-level or better
-reliability and integrity. If you lock tables with @code{LOCK TABLES}, all
-updates will stall until any integrity checks are made. If you only obtain
-a read lock (as opposed to a write lock), then reads and inserts are
-still allowed to happen. The new inserted records will not be seen by
-any of the clients that have a READ lock until they relaease their read
-locks. With INSERT DELAYED you can queue insert into a local queue,
-until the locks are released, without having to have the client to wait
-for the insert to complete.
-
-``Atomic'', in the sense that we mean it is nothing magical, it only means
-that you can be sure that while each specific update is running no other
-user can interfere with it and that there will never be an automatic
-rollback (which can happen on transaction based systems if you are not
-very careful). @strong{MySQL} also guarantees that there will not be
-any dirty reads.
-
-We have thought quite a bit about integrity and performance and we
-believe that our atomic operations paradigm allows for both high
-reliability and extremely high performance, on the order of three to
-five times the speed of the fastest and most optimally tuned of
-transactional databases. We didn't leave out transactions because they
-are hard to do; The main reason we went with atomic operations as
-opposed to transactions is that by doing this we could apply many speed
-optimizations that would not otherwise have been possible.
-
-Many of our users who have speed foremost in their minds are not at all
-concerned about transactions. For them transactions are not an
-issue. For those of our users who are concerned with or have wondered
-about transactions vis a vis @strong{MySQL}, there is a ``@strong{MySQL}
-way'' as we have outlined above. For those where safety is more important
-than speed, we recommend them to use the @code{BDB} tables for all their
-critical data. @xref{BDB}.
-
-One final note: we are currently working on a safe replication schema
-that we believe to be better than any commercial replication system we
-know of. This system will work most reliably under the atomic
-operations, non-transactional, paradigm. Stay tuned.
-
-@node Missing Triggers, Missing Foreign Keys, Missing Transactions, Missing functions
-@subsection ¥¹¥È¥¢¥É¥×¥í¥·¥¸¥ã¤È¥È¥ê¥¬
-
-¥¹¥È¥¢¥É¥×¥í¥·¥¸¥ã¤Ï¡¢¥µ¡¼¥ÐÆâ¤Ç¥³¥ó¥Ñ¥¤¥ë¤Ç¤­³ÊǼ¤Ç¤­¤ë SQL ¥³¥Þ¥ó¥É¤Î
-¥»¥Ã¥È¤Ç¤¹¡£°ìÅÙ¤³¤ì¤¬¹Ô¤Ê¤ï¤ì¤ë¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥¯¥¨¥êÁ´ÂΤκÆȯ¹Ô¤òÊÝ
-»ý¤¹¤ëɬÍפ¬¤Ê¤¯¡¢¥¹¥È¥¢¥É¥×¥í¥·¥¸¥ã¤ò»²¾È¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¤µ¤é¤Ë¤è¤ê®¤¤Â®ÅÙ¤òÄó
-¶¡¤·¤Þ¤¹¡£¥¯¥¨¥ê¤Ï°ìÅÙ¤À¤±²ò¼á¤µ¤ì¡¢¤è¤ê¾¯¤Ê¤¤¥Ç¡¼¥¿¤¬¥µ¡¼¥Ð¤È¥¯¥é¥¤¥¢¥ó
-¥È´Ö¤ÇÁ÷¿®¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£¥µ¡¼¥ÐÆâ¤Ë´Ø¿ô¥é¥¤¥Ö¥é¥ê¤ò»ý¤Ä¤³¤È¤Ë¤è¤ê³µÇ°¥ì
-¥Ù¥ë¤ò¾å¤²¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-
-¥È¥ê¥¬¤ÏÆÃÊ̤ʥ¤¥Ù¥ó¥È¤¬È¯À¸¤·¤¿»þ¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¥¹¥È¥¢¥É¥×¥í¥·¥¸¥ã¤Ç¤¹¡£
-Î㤨¤Ð¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¥Æ¡¼¥Ö¥ë¤«¤é¥ì¥³¡¼¥É¤¬ºï½ü¤µ¤ì¤ëÅ٤˥ȥꥬ¤µ¤ì¡¢
-¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤¬ºï½ü¤µ¤ì¤¿»þ¤Ë¼«Æ°Åª¤ËÂбþ¤¹¤ë¸ÜµÒ¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤«¤éºï
-½ü¤¹¤ë¤È¤¤¤¦¥¹¥È¥¢¥É¥×¥í¥·¥¸¥ã¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-·×²è¤µ¤ì¤Æ¤¤¤ë¸À¸ì¤Î¹¹¿·¤Ï¥¹¥È¥¢¥É¥×¥í¥·¥¸¥ã¤ò½èÍý¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢
-¥È¥ê¥¬¤Ï½ü¤­¤Þ¤¹¡£¥È¥ê¥¬¤ÏÄ̾ïÁ´¤Æ¤ò¡¢¤½¤ì¤é¤òɬÍפȤ·¤Ê¤¤¥¯¥¨¥ê¤Ç¤µ¤¨¤â
-ÃÙ¤¯¤·¤Þ¤¹¡£
-
-@strong{MySQL} ¤¬¥¹¥È¥¢¥É¥×¥í¥·¥¸¥ã¤òÆÀ¤ë»þ¤òÃΤë¤Ë¤Ï¡¢@ref{TODO} ¤ò»²¾È
-¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@node Missing Foreign Keys, Missing Views, Missing Triggers, Missing functions
-@subsection ³°Éô¥­¡¼
-
-Ãí°Õ: SQL ¤Î³°Éô¥­¡¼¤Ï¥Æ¡¼¥Ö¥ë¤ò·ë¹ç¤¹¤ë¤¿¤á¤Ë¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¤¬¡¢»Ø¼¨¤Î
-´°Á´À­¤Î¸¡ºº¤Î¤¿¤á¤ËÎɤ¯»ÈÍѤµ¤ì¤Þ¤¹¡£@code{SELECT} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤ÇÊ£¿ô
-¥Æ¡¼¥Ö¥ë¤«¤é·ë²Ì¤òÆÀ¤¿¤¤¾ì¹ç¡¢¥Æ¡¼¥Ö¥ë¤Î·ë¹ç¤Ë¤è¤Ã¤Æ¤³¤ì¤ò¹Ô¤Ê¤¤¤Þ¤¹¡ª
-
-@example
-SELECT * from table1,table2 where table1.id = table2.id;
-@end example
-@xref{JOIN, , @code{JOIN}}. @xref{example-Foreign keys}.
-
-@strong{MySQL} Æâ¤Ç¤Î @code{FOREIGN KEY} ¹½Ê¸¤Ï¡¢Â¾¤Î SQL ¥Ù¥ó¥À¤Î
-@code{CREATE TABLE} ¥³¥Þ¥ó¥É¤È¤Î¸ß´¹¤Î¤¿¤á¤À¤±¤Ë¸ºß¤·¤Þ¤¹; ¤³¤ì¤Ï²¿¤â¹Ô
-¤Ê¤¤¤Þ¤»¤ó¡£@code{ON DELETE ...} ¤¬¤Ê¤¤ @code{FOREIGN KEY} ¹½Ê¸¤Ï¡¢ÌÜŪ
-¤ÎºîÀ®¤Î¤¿¤á¤Ë¼ç¤Ë»È¤ï¤ì¤Þ¤¹¡£¤¤¤¯¤Ä¤«¤Î ODBC ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¼«Æ°Åª
-¤Ë @code{WHERE} Àá¤òÄ󶡤¹¤ë¤¿¤á¤Ë¡¢¤³¤ì¤ò»ÈÍѤ·¤Þ¤¹¤¬¡¢¤·¤«¤·¤³¤ì¤ÏÄ̾ï
-´Êñ¤Ë̵¸ú¤Ë¤Ç¤­¤Þ¤¹¡£@code{FOREIGN KEY} ¤Ï»þ¡¹¶¯À©¥Á¥§¥Ã¥¯¤È¤·¤Æ»ÈÍѤµ
-¤ì¤Þ¤¹¡£¤·¤«¤·¡¢¥Æ¡¼¥Ö¥ë¤ËÀµ¤·¤¤½ç¤Ç¹Ô¤¬ÁÞÆþ¤µ¤ì¤ë¾ì¹ç¡¢¤³¤Î¥Á¥§¥Ã¥¯¤Ï¼Â
-ºÝ¤Ë¤ÏÉÔÍפǤ¹¡£¤¤¤¯¤Ä¤«¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¤½¤ì¤¬Â¸ºß¤¹¤ë¤³¤È¤òÍ׵᤹¤ë
-¤¿¤á @strong{MySQL} ¤Ï¤³¤ì¤é¤ÎÀá¤À¤±¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡Ê¤½¤ì¤¬Æ°ºî¤¹¤ë¤«¤É
-¤¦¤«¤Ë´Ø¤ï¤é¤º¡ª¡Ë¡£
-
-@strong{MySQL} ¤Ç¤Ï¡¢³°Éô¥­¡¼¤ò»ý¤Ä¥Æ¡¼¥Ö¥ë¤«¤é¥ì¥³¡¼¥É¤òºï½ü¤¹¤ë»þ¤ËŬ
-ÀÚ¤Ê @code{DELETE} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÄɲ乤뤳¤È¤Ç¡¢
-@code{ON DELETE ...} ¤¬¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¤¤¤¦ÌäÂê¤ò²óÈò¤Ç¤­¤Þ¤¹¡£¼ÂºÝ¤Ë
-¤Ï¡¢¤³¤ì¤Ï®¤¯(¤¤¤¯¤Ä¤«¤Î¾ì¹ç¤Ï¤è¤ê®¤¯)¤½¤·¤Æ³°Éô¥­¡¼¤Î»ÈÍѤè¤ê¤â¤µ¤é¤Ë
-²ÄÈÂÀ­¤¬¤¢¤ê¤Þ¤¹¡£
-
-¶á¤¤¾­Íè¡¢¾¯¤Ê¤¯¤È¤â¾ðÊó¤¬Êݸ¤µ¤ì¡¢¤½¤·¤Æ @code{mysqldump} ¤È ODBC ¤Ë¤è¤Ã
-¤Æ¼è¤ê½Ð¤µ¤ì¤ë¤è¤¦¤Ë¡¢²æ¡¹¤Ï @code{FOREIGN KEY} ¼ÂÁõ¤ò³ÈÄ¥¤·¤Þ¤¹¡£
-
-@menu
-* Broken Foreign KEY:: ³°Éô¥­¡¼¤ò»ÈÍѤ·¤Ê¤¤Íýͳ
-@end menu
-
-@node Broken Foreign KEY, , Missing Foreign Keys, Missing Foreign Keys
-@subsubsection ³°Éô¥­¡¼¤ò»ÈÍѤ·¤Ê¤¤Íýͳ
-
-²æ¡¹¤¬¤É¤³¤«¤é»Ï¤á¤ë¤Î¤«¤ï¤«¤é¤Ê¤¤ @code{FOREIGN KEY} ¤Ë¤Ï¿¤¯¤ÎÌäÂ꤬¤¢
-¤ê¤Þ¤¹:
-
-@itemize @bullet
-@item
-³°Éô¥­¡¼¤Ï¿ÍÀ¸¤ò¤È¤Æ¤âÊ£»¨¤Ë¤·¤Þ¤¹¡£³°Éô¥­¡¼ÄêµÁ¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ¤·¤Ê
-¤±¤ì¤Ð¤Ê¤é¤º¡¢¤½¤ì¤Î¼ÂÁõ¤Ï°ÜÆ°¡¢¥³¥Ô¡¼¡¢ºï½ü¤Ç¤­¤ë¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¤È¤¤
-¤¦ ``Îɤ¤¥¢¥×¥í¡¼¥Á'' Á´¤Æ¤òÇË´þ¤¹¤ë¤«¤é¤Ç¤¹¡£
-
-@item
-@code{INSERT} ¤È @code{UPDATE} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ø¤Î®Å٤αƶÁ¤Ï¤â¤Î¤¹¤´¤¯¡¢
-¤½¤·¤Æ¤³¤Î¾ì¹ç¡¢¤Û¤È¤ó¤ÉÁ´¤Æ¤Î @code{FOREIGN KEY} ¥Á¥§¥Ã¥¯¤ÏÌò¤ËΩ¤Á¤Þ¤»
-¤ó¡£Ä̾ï¤Ï¡¢Àµ¤·¤¤¥Æ¡¼¥Ö¥ë¤ËÀµ¤·¤¤½ç¤Ç¥ì¥³¡¼¥É¤òÁÞÆþ¤¹¤ë¤¿¤á¤Ç¤¹¡£
-
-@item
-°ì¤Ä¤Î¥Æ¡¼¥Ö¥ë¤Î¹¹¿·»þ¤Ë¤â¤Ã¤È¿¤¯¤Î¥Æ¡¼¥Ö¥ë¾å¤Ç¥í¥Ã¥¯¤òÊÝ»ý¤¹¤ëɬÍפ⤢
-¤ê¤Þ¤¹¡£ÉûºîÍѤ¬¥Ç¡¼¥¿¥Ù¡¼¥¹Á´ÂΤòÄ̤·¤ÆȯÀ¸¤¹¤ë¤«¤é¤Ç¤¹¡£¤Þ¤º°ì¤Ä¤Î¥Æ¡¼
-¥Ö¥ë¤«¤é¥ì¥³¡¼¥É¤òºï½ü¤·¤Æ¡¢¤½¤ì¤«¤é¾¤Î¥Æ¡¼¥Ö¥ë¤«¤é¤½¤ì¤é¤òºï½ü¤¹¤ë¤Û¤¦
-¤¬¤È¤Æ¤â®¤¤¤Ç¤¹¡£
-
-@item
-¥Æ¡¼¥Ö¥ë¤«¤é´°Á´¤Êºï½ü¤ò¹Ô¤Ê¤Ã¤Æ¤«¤éÁ´¤Æ¤Î¥ì¥³¡¼¥É¤ò¡Ê¿·¤·¤¤¥½¡¼¥¹¤ä¥Ð¥Ã
-¥¯¥¢¥Ã¥×¤«¤é¡Ë¥ê¥¹¥È¥¢¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥Æ¡¼¥Ö¥ë¤òÉü¸µ¤¹¤ë¤³¤È¤Ï¤â¤¦¤Ç¤­
-¤Þ¤»¤ó¡£
-
-@item
-³°Éô¥­¡¼¤ò»ý¤Ä¾ì¹ç¡¢¥Æ¡¼¥Ö¥ë¤Î¥À¥ó¥×¤È¥ê¥¹¥È¥¢¤ÏÆÃÄê¤Î½ç¤Ë¹Ô¤Ê¤ï¤Ê¤¤¤È¤Ç
-¤­¤Þ¤»¤ó¡£
-
-@item
-°ì²ó¤Î create ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç³Æ¥Æ¡¼¥Ö¥ë¤òºÆÀ¸À®¤¹¤ë¤³¤È¤ò¥Æ¡¼¥Ö¥ë¤Ë¤Ç¤­
-¤Ê¤¯¤¹¤ë¤è¤¦¤Ê ``µö¤µ¤ì¤¿'' ½ä²óÄêµÁ¤ò¹Ô¤Ê¤¦¤³¤È¤Ï¤È¤Æ¤â´Êñ¤Ç¤¹¡£¤½¤ÎÄê
-µÁ¤¬Æ°ºî¤·¤Æ»ÈÍѤǤ­¤¿¤È¤·¤Æ¤â¤Ç¤¹¡£
-@end itemize
-
-³°Éô¥­¡¼¤ÎÎɤ¤Ì̤ϡ¢ODBC ¤È¾¤Î¤¤¤¯¤Ä¤«¤Î¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤Ë¡¢¤É¤Î
-¤è¤¦¤Ë¥Æ¡¼¥Ö¥ë¤¬Àܳ¤µ¤ì¤ë¤«¤ò¸«¤ëµ¡Ç½¤òÍ¿¤¨¡¢¤³¤ì¤ò»ÈÍѤ·¤ÆÀܳ¿Þ¤ò¼¨¤·¡¢
-À¸À®¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼ê½õ¤±¤ò¤¹¤ë¤³¤È¤À¤±¤Ç¤¹¡£
-
-@strong{MySQL} ¤Ï´Ö¤â¤Ê¤¯¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¤É¤Î¤è¤¦¤Ë¥ª¥ê¥¸¥Ê¥ëÀܳ¤¬ºîÀ®
-¤µ¤ì¤¿¤«¤òÌ䤤¹ç¤ï¤»¡¢²óÅú¤ò¼õ¤±¤é¤ì¤ë¤è¤¦¤Ë @code{FOREIGN KEY} ÄêµÁ¤ò³Ê
-Ǽ¤·¤Þ¤¹¡£¸½ºß¤Î @file{.frm} ¥Õ¥¡¥¤¥ë·Á¼°¤Ë¤Ï¤½¤ì¤òÃÖ¤¯¾ì½ê¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-
-@node Missing Views, Missing comments, Missing Foreign Keys, Missing functions
-@subsection ¥Ó¥å¡¼
-
-@strong{MySQL} ¤Ï¥Ó¥å¡¼¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£¤·¤«¤·¤³¤ì¤Ï TODO ¤Ë¤¢¤ê¤Þ¤¹¡£
-
-@node Missing comments, , Missing Views, Missing functions
-@subsection ¥³¥á¥ó¥È³«»Ï¤È¤·¤Æ¤Î @samp{--}
-
-¾¤Î¤¤¤¯¤Ä¤«¤Î SQL ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢@samp{--} ¤ò¥³¥á¥ó¥È¤Î³«»Ï¤Î¤¿¤á¤Ë»È
-ÍѤ·¤Þ¤¹¡£@strong{MySQL} ¤Ï @samp{#} ¤ò¥³¥á¥ó¥È³«»Ïʸ»ú¤È¤·¤Þ¤¹¡£
-@code{mysql} ¥³¥Þ¥ó¥É¥é¥¤¥ó¥Ä¡¼¥ë¤¬ @samp{--} ¤Ç»Ï¤Þ¤ëÁ´¤Æ¤Î¹Ô¤òºï½ü¤·¤¿
-¤È¤·¤Æ¤â¤Ç¤¹¡£@strong{MySQL} ¤Ç¤Ï C ¥³¥á¥ó¥È¥¹¥¿¥¤¥ë @code{/* ¤³¤ì¤Ï¥³¥á
-¥ó¥È */} ¤â»ÈÍѤǤ­¤Þ¤¹¡£@xref{Comments}¡£
-
-@strong{MySQL} 3.23.3 °Ê¾å¤Ï @samp{--} ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó; ¤³¤ÎÂಽ¤·¤¿¥³¥á¥ó¥È¥¹¥¿
-¥¤¥ë¤Ï¡¢¼¡¤Î¥³¡¼¥É¤Î¤è¤¦¤Ë @code{!payment!} ¤Î payment ¤ÎÃͤò¼«Æ°Åª¤ËÁÞ
-Æþ¤¹¤ë¤è¤¦¤Ê²¿¤«¤ò»ÈÍѤ·¤Æ¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤ë SQL ¥¯¥¨¥ê¤Ç¿¤¯¤ÎÌäÂê¤ò°ú
-¤­µ¯¤³¤¹¤¿¤á¤Ç¤¹:
-
-@example
-UPDATE tbl_name SET credit=credit-!payment!
-@end example
-
-@code{payment} ¤ÎÃͤ¬Éé¤Î¾ì¹ç¤Ë²¿¤¬µ¯¤­¤ë¤È»×¤¤¤Þ¤¹¤«¡©
-
-@code{1--1} ¤ÏÀµ¤·¤¤ SQL ¤Ê¤Î¤Ç¡¢²æ¡¹¤Ï @samp{--} ¤ò¥³¥á¥ó¥È³«»Ï¤È¸«¤Ê¤¹
-¤³¤È¤Ï¤Ò¤É¤¤¤³¤È¤À¤È»×¤¤¤Þ¤¹¡£
-
-¤·¤«¤· @strong{MySQL} 3.23 ¤Ç¤Ï¼¡¤ò»ÈÍѤǤ­¤Þ¤¹: @code{1-- ¤³¤ì¤Ï¥³¥á¥ó¥È}
-
-°Ê¹ß¤ÎÀâÌÀ¤Ç¤Ï¡¢3.23 ¤è¤ê¤âÁ°¤Î @strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¾ì
-¹ç¤À¤±¤¬ÂоݤǤ¹:
-
-¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Î SQL ¥×¥í¥°¥é¥à¤¬ @samp{--} ¥³¥á¥ó¥È¤ò´Þ¤ó¤Ç¤¤¤ë¾ì¹ç¡¢
-¼¡¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹:
-
-@example
-shell> replace " --" " #" < text-file-with-funny-comments.sql \
- | mysql database
-@end example
-
-Ä̾ï¤Î¼¡¤ÎÂå¤ï¤ê¤Ë:
-
-@example
-shell> mysql database < text-file-with-funny-comments.sql
-@end example
-
-¼¡¤ÎÊýË¡¤Ç¤â¡¢¥³¥Þ¥ó¥É¥Õ¥¡¥¤¥ëÃæ¤Î @samp{--} ¥³¥á¥ó¥È¤ò @samp{#} ¥³¥á¥ó
-¥È¤ËÊѹ¹¤Ç¤­¤Þ¤¹:
-
-@example
-shell> replace " --" " #" -- text-file-with-funny-comments.sql
-@end example
-
-¤½¤ì¤é¤Ï¼¡¤Î¥³¥Þ¥ó¥É¤ÇÌᤷ¤Æ¤¯¤À¤µ¤¤:
-
-@example
-shell> replace " #" " --" -- text-file-with-funny-comments.sql
-@end example
-
-@node Standards, Commit-rollback, Missing functions, Compatibility
-@section @strong{MySQL} ¤¬½àµò¤·¤Æ¤¤¤ëɸ½à
-
-Entry level SQL92. ODBC level 0-2.
-
-@node Commit-rollback, , Standards, Compatibility
-@section @code{COMMIT}/@code{ROLLBACK} ¤Ê¤·¤Ç¤¦¤Þ¤¯¤ä¤ëÊýË¡
-
-The following mostly apply only for @code{ISAM}, @code{MyISAM} and
-@code{HEAP} tables; If you only use transaction safe tables (@code{BDB}
-tables) in an a update you can do @code{COMMIT} and @code{ROLLBACK} also
-with @code{MySQL}. @xref{COMMIT}.
-
-The problem with handling @code{COMMIT}-@code{ROLLBACK} efficiently with
-the above table types would require a completely different table layout
-than @strong{MySQL} uses today.
-¤³¤Î·¿¤Î¥Æ¡¼¥Ö¥ë¤Ï¡¢¼«Æ°Åª¤Ë¥Æ¡¼¥Ö¥ë¤ò¥¯¥ê¡¼¥ó¥¢¥Ã¥×¤¹¤ë³ÈÄ¥¥¹¥ì¥Ã¥É¤âɬÍ×
-¤È¤·¡¢¥Ç¥£¥¹¥¯»ÈÍÑÎ̤Ϥµ¤é¤ËÂ礭¤¯¤Ê¤ê¤Þ¤¹¡£ ¤³¤ì¤Ï @strong{MySQL} ¤ò¸½ºß
-¤è¤ê¤â 2¡Á4 ÇÜÃÙ¤¯¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
-
-º£¡¢²æ¡¹¤Ï SQL ¥µ¡¼¥Ð¸À¸ì(¥¹¥È¥¢¥É¥×¥í¥·¥¸¥ã¤Î¤è¤¦¤Ê¤â¤Î)¤Î¼ÂÁõ¤Ë¤µ¤é¤Ë
-»¿À®¤Ç¤¹¡£¤³¤ì¤Ç¡¢ËÜÅö¤Ë @code{COMMIT}-@code{ROLLBACK} ¤òɬÍפȤ¹¤ë¤Î¤Ï
-¤á¤Ã¤¿¤Ë¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï¤µ¤é¤ËÎɤ¤À­Ç½¤âÍ¿¤¨¤ë¤Ç¤·¤ç¤¦¡£
-
-¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤òɬÍפȤ¹¤ë¥ë¡¼¥×¤Ï¡¢Ä̾ï¤Ï @code{LOCK TABLES} ¤Î½õ¤±¤Ç
-¥³¡¼¥É²½¤Ç¤­¡¢¤½¤·¤Æ fly ¾å¤Ç¥ì¥³¡¼¥É¤Î¹¹¿·»þ¤Ë¤Ï¥«¡¼¥½¥ë¤ÏɬÍפȤ·¤Þ¤»
-¤ó¡£
-
-²æ¡¹ TcX ¤ÇËÜÅö¤ËɬÍפȤ·¤Æ¤¤¤ë¤Î¤Ï¡¢100% ɸ½à¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤Ï¤Ê¤¯¤Æ¡¢
-ËÜÅö¤Ë®¤¤¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤¹¡£Â®ÅÙÄã²¼¤Ê¤·¤Ç¤½¤ì¤é¤Îµ¡Ç½¤ò¼ÂÁõ¤¹¤ëÊýË¡¤ò¸«¤Ä¤±¤¿
-¤È¤­¤Ë¤Ï¡¢²æ¡¹¤Ï¤½¤ì¤ò¹Ô¤Ê¤¦¤Ç¤·¤ç¤¦¡£¤·¤Ð¤é¤¯¤Ï¹Ô¤Ê¤¦¤Ù¤­¤µ¤é¤Ë½ÅÍפʤ³
-¤È¤¬Â¿¤¯¤¢¤ê¤Þ¤¹¡£º£¤Î²æ¡¹¤ÎÍ¥ÀèÅ٤ˤĤ¤¤Æ¤Ï TODO ¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
-¹â¥ì¥Ù¥ë¤Î¥µ¥Ý¡¼¥È¤ò»ý¤Ä¸ÜµÒ¤Ï¤³¤ì¤òÊѤ¨¤ë¤³¤È¤¬¤Ç¤­¡¢ºÆ¤ÓÍ¥Àè½ç°Ì¤Å¤±¤¬
-¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£
-
-¸½ºß¤ÎÌäÂê¤Ï¼ÂºÝ¤Ë¤Ï @code{ROLLBACK} ¤Ç¤¹¡£@code{ROLLBACK} ¤Ê¤·¤Ç¤â
-@code{LOCK TABLES} ¤Ç @code{COMMIT} ¥¢¥¯¥·¥ç¥ó¤Î¤¤¤¯¤Ä¤«¤Î¼ïÎà¤ò¹Ô¤Ê¤¦¤³
-¤È¤¬¤Ç¤­¤Þ¤¹¡£@code{ROLLBACK} ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¹¹¿·¤µ¤ì¤ëÁ´¤Æ¤Î¸Å
-¤¤¥ì¥³¡¼¥É¤ò³ÊǼ¤·¡¢@code{ROLLBACK} ¤¬È¯¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë³«»Ï°ÌÃÖ¤ËÁ´¤Æ¤òÌá
-¤¹¤è¤¦¤Ë¡¢@strong{MySQL} ¤òÊѹ¹¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Ã±½ã¤Ê¾ì¹ç¤Ë¤Ï¡¢¤³
-¤ì¤ò¹Ô¤Ê¤¦¤Ë¤ÏÆñ¤·¤¯¤¢¤ê¤Þ¤»¤ó(¸½ºß¤Î @code{isamlog} ¤ò¤³¤ÎÌÜŪ¤Ë»ÈÍѤ·
-¤Þ¤¹)¡£¤·¤«¤·¡¢@code{ALTER/DROP/CREATE TABLE} ¤Ç¤Î @code{ROLLBACK} ¤Î¼Â
-Áõ¤ò¹Ô¤¦¤³¤È¤Ï¤È¤Æ¤âº¤Æñ¤Ç¤¹¡£
-
-@code{ROLLBACK} ¤Î»ÈÍѤβóÈò¤Î¤¿¤á¤Ë¡¢¼¡¤ÎÊýË¡¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-
-@enumerate
-@item
-@code{LOCK TABLES ...} ¤ò¥¢¥¯¥»¥¹¤·¤¿¤¤¥Æ¡¼¥Ö¥ë¤ÎÁ´¤Æ¤ò¥í¥Ã¥¯¤¹¤ë¤¿¤á¤Ë
-»ÈÍѤ·¤Þ¤¹
-@item
-¾ò·ï¤Î¥Æ¥¹¥È¡£
-@item
-Á´¤Æ OK ¤Ê¤é¹¹¿·¡£
-@item
-@code{UNLOCK TABLES} ¤ò¥í¥Ã¥¯¤Î²ò½ü¤Ë»ÈÍѤ·¤Þ¤¹
-@end enumerate
-
-¤³¤ì¤ÏÉáÄÌ¤Ï @code{ROLLBACK} ²Äǽ¤Ê¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Î»ÈÍѤè¤ê¤â®¤¤¤Ç¤¹
-¤¬¡¢¾ï¤Ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î²ò¤¬½èÍý¤Ç¤­¤Ê¤¤¾õ¶·¤Ï¡¢¹¹¿·Ãæ¤Ë狼¤¬¥¹¥ì¥Ã
-¥É¤ò kill ¤¹¤ë»þ¤À¤±¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢Á´¤Æ¤Î¥í¥Ã¥¯¤Ï¥ê¥ê¡¼¥¹¤µ¤ì¤Þ¤¹¤¬¡¢¤¤
-¤¯¤Ä¤«¤Î¹¹¿·¤Ï¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£
-
-1²ó¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥óÃæ¤Ç¥ì¥³¡¼¥É¤ò¹¹¿·¤¹¤ë´Ø¿ô¤â»ÈÍѤǤ­¤Þ¤¹¡£¼¡¤Î¥Æ¥¯¥Ë¥Ã¥¯
-¤Ë¤è¤Ã¤Æ¤È¤Æ¤â¸úΨŪ¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@itemize @bullet
-@item
-¥Õ¥£¡¼¥ë¥É¤ò¸½ºß¤ÎÃͤÈÈæ³Ó¤·¤ÆÊѹ¹¤¹¤ë
-
-@item
-¼ÂºÝ¤ËÊѹ¹¤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¤À¤±¤ò¹¹¿·¤¹¤ë
-@end itemize
-
-Î㤨¤Ð¡¢¤¤¤¯¤Ä¤«¤Î¸ÜµÒ¾ðÊó¤Ç¹¹¿·¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤ë»þ¡¢²æ¡¹¤ÏÊѹ¹¤µ¤ì¤¿¸ÜµÒ¥Ç¡¼
-¥¿¤À¤±¤ò¹¹¿·¤·¡¢Êѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ç¡¼¥¿¤Ï¥Æ¥¹¥È¤»¤º¡¢Êѹ¹¤µ¤ì¤¿¥Ç¡¼¥¿¤Ë°Í
-¸¤·¤ÆÊѹ¹¤µ¤ì¤¿¥Ç¡¼¥¿¤¬¥ª¥ê¥¸¥Ê¥ë¤Î¹Ô¤ÈÈæ³Ó¤µ¤ì¤Þ¤¹¡£Êѹ¹¤Î¥Æ¥¹¥È¤Ï
-@code{UPDATE} ¥¹¥Æ¡¼¥È¥á¥ó¥ÈÆâ¤Î @code{WHERE} Àá¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£¥ì¥³¡¼¥É¤¬
-¹¹¿·¤µ¤ì¤Ê¤«¤Ã¤¿»þ¤Ï¡¢²æ¡¹¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Ë¥á¥Ã¥»¡¼¥¸: "Some of the data
-you have changed has been changed by another user" ¤òÍ¿¤¨¡¢¤½¤·¤Æ¤½¤ì¤«
-¤é¸Å¤¤¹Ô¤È¿·¤·¤¤¹Ô¤ò¥¦¥£¥ó¥É¥¦Æâ¤Çɽ¼¨¤·¤Þ¤¹¡£¥æ¡¼¥¶¤Ï¸ÜµÒ¥ì¥³¡¼¥É¤Î¤É¤Á
-¤é¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ¹¤Ù¤­¤«¤ò·èÄê¤Ç¤­¤Þ¤¹¡£
-
-¤³¤ì¤Ï ``column locking'' ¤Ë»÷¤¿¤â¤Î¤ò²æ¡¹¤ËÍ¿¤¨¤Þ¤¹¤¬¡¢¼ÂºÝ¤Ë¤Ï½½Ê¬¤Ç¤¹¡£
-¤Ê¤¼¤Ê¤é¡¢²æ¡¹¤Ï¤½¤ì¤é¤Î¸½ºß¤ÎÃͤ˴ØÏ¢¤·¤¿Ãͤò»ý¤Ä¥Õ¥£¡¼¥ë¥É¤À¤±¤ò¹¹¿·¤¹¤ë¤«¤é
-¤Ç¤¹¡£¤³¤ì¤Ï¡¢Åµ·¿Åª¤Ê @code{UPDATE} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤¬¼¡¤Î¤è¤¦¤Ë¸«¤¨¤ë¤È
-¤¤¤¦¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹:
-
-@example
-UPDATE tablename SET pay_back=pay_back+'relative change';
-
-UPDATE customer
- SET
- customer_date='current_date',
- address='new address',
- phone='new phone',
- money_he_owes_us=money_he_owes_us+'new_money'
- WHERE
- customer_id=id AND address='old address' AND phone='old phone';
-@end example
-
-¸«¤Æ¤ÎÄ̤ꡢ¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬ @code{pay_back} ¤Þ¤¿¤Ï
-@code{money_he_owes_us} ¥Õ¥£¡¼¥ë¥É¤ÎÃͤòÊѹ¹¤·¤¿¤È¤·¤Æ¤â¡¢¤³¤ì¤Ï¤È¤Æ¤â¸úΨŪ¤Ç
-Ư¤­¤Þ¤¹¡£
-
-@findex mysql_insert_id()
-@findex LAST_INSERT_ID()
-¿¤¯¤Î¾ì¹ç¡¢¥æ¡¼¥¶¤Ï @code{ROLLBACK} ¤½¤·¤Æ/¤Þ¤¿¤Ï @code{LOCK TABLES} ¤¬
-¤¤¤¯¤Ä¤«¤Î¥Æ¡¼¥Ö¥ë¤Ç¥æ¥Ë¡¼¥¯¤Ê¼±Ê̻Ҥò´ÉÍý¤¹¤ë¤³¤È¤ò˾¤ß¤Þ¤¹¡£¤³¤ì¤Ï¡¢
-@code{AUTO_INCREMENT} ¥Õ¥£¡¼¥ë¥É¤È SQL @code{LAST_INSERT_ID()} ´Ø¿ô¤ä C API ´Ø
-¿ô @code{mysql_insert_id} ¤Î»ÈÍѤˤè¤Ã¤Æ¡¢¤µ¤é¤Ë¸úΨŪ¤Ë½èÍý¤Ç¤­¤Þ¤¹¡£
-@xref{mysql_insert_id, , @code{mysql_insert_id()}}.
-
-@cindex row-level locking
-TcX ¤Ç¤Ï¡¢²æ¡¹¤Ï¤¤¤Ä¤Ç¤â¤½¤ì¤ò²óÈò¤·¤Æ¥³¡¼¥É²Äǽ¤Ê¤Î¤Ç¡¢²æ¡¹¤Ï¹Ô¥ì¥Ù¥ë¥í¥Ã
-¥¯¤òɬÍפȤ·¤Æ¤¤¤Þ¤»¤ó¡£ËÜÅö¤Ë¹Ô¥í¥Ã¥¯¤òɬÍפȤ¹¤ë¥±¡¼¥¹¤â¤¢¤ê¤Þ¤¹¤¬¡¢¤·
-¤«¤·¤³¤ì¤ÏÈó¾ï¤Ë¤Þ¤ì¤Ç¤¹¡£¹Ô¥ì¥Ù¥ë¥í¥Ã¥¯¤ò˾¤à¤Î¤Ê¤é¡¢¥Æ¡¼¥Ö¥ëÆâ¤Ç¥Õ¥é¥°
-¹àÌܤò»ÈÍѤ·¤Æ¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¹Ô¤Ê¤¨¤Þ¤¹:
-
-@example
-UPDATE tbl_name SET row_flag=1 WHERE id=ID;
-@end example
-
-¹Ô¤¬¸«¤Ä¤«¤ê¡¢¥ª¥ê¥¸¥Ê¥ë¹ÔÆâ¤Ç @code{row_flag} ¤¬´û¤Ë 1 ¤Ç¤Ê¤¤¾ì¹ç¡¢
-@strong{MySQL} ¤Ï±Æ¶Á¤µ¤ì¤¿¹Ô¿ô¤È¤·¤Æ 1 ¤òÊÖ¤·¤Þ¤¹¡£
-
-@strong{MySQL} ¤¬¾å½Ò¤Î¥¯¥¨¥ê¤ò¼¡¤ËÊѹ¹¤·¤¿¤È¹Í¤¨¤ë¤³¤È¤¬²Äǽ¤Ç¤¹:
-
-@example
-UPDATE tbl_name SET row_flag=1 WHERE id=ID and row_flag <> 1;
-@end example
-
-@node Privilege system, Reference, Compatibility, Top
-@chapter @strong{MySQL} ¤Î¥æ¡¼¥¶¡¼¸¢¸Â¤Ï¤É¤Î¤è¤¦¤ËÆ°¤¯¤«¡©
-
-@strong{MySQL} ¤ÏÀè¿ÊŪ¤ÊÈóɸ½à¤Î¥»¥­¥å¥ê¥Æ¥£/Æø¢¥·¥¹¥Æ¥à¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
-ËܾϤǤϤɤΤ褦¤Ë¤½¤ì¤¬Æ°¤¯¤«¤ò½Ò¤Ù¤Þ¤¹¡£
-
-@menu
-* General security:: General security
-* Security:: @strong{MySQL} ¤ò¥¯¥é¥Ã¥«¡¼¤ËÂФ·¤Æ°ÂÁ´¤Ë¤¹¤ëÊýË¡
-* What Privileges:: Æø¢¥·¥¹¥Æ¥à¤Î¹Ô¤¦¤³¤È
-* User names:: @strong{MySQL} user names and passwords
-* Connecting:: @strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËÀܳ
-* Password security:: Keeping your password secure
-* Privileges provided:: @strong{MySQL} ¤¬Ä󶡤¹¤ë¸¢¸Â
-* Privileges:: Æø¢¥·¥¹¥Æ¥à¤Ï¤É¤Î¤è¤¦¤ËÆ°¤¯¤«¡©
-* Connection access:: Access control, stage 1: Àܳ¤Î¾µÇ§
-* Request access:: Access control, stage 2: Í×µá¤Î¾µÇ§
-* Privilege changes:: When privilege changes take effect
-* Default privileges:: @strong{MySQL} ¸¢¸Âµö²Ä¤Î½é´üÀßÄê
-* Adding users:: ¿·¤·¤¤¥æ¡¼¥¶¸¢¸Â¤ò @strong{MySQL} ¤ØÄɲÃ
-* Passwords:: ¥Ñ¥¹¥ï¡¼¥É¤ÎÀßÄêË¡
-* Access denied:: ²¿¸Î @code{Access denied} ¥¨¥é¡¼¤Ë¤Ê¤ë¤Î¤«
-@end menu
-
-@node General security, Security, Privilege system, Privilege system
-@section ¥»¥­¥å¥ê¥Æ¥£³µÍ×
-
-¤è¤¯¤¢¤ë¥»¥­¥å¥ê¥Æ¥£¤Î´Ö°ã¤¤¤òÈò¤±¤ë¤¿¤á¤Ë¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ËÀܳ¤µ¤ì¤¿¥³¥ó
-¥Ô¥å¡¼¥¿¾å¤Ç @strong{MySQL} ¤ò»ÈÍѤ¹¤ëï¤â¤¬¡¢¤³¤Î¥»¥¯¥·¥ç¥ó¤òÆɤà¤Ù¤­¤Ç¤¹¡£
-
-``¥»¥­¥å¥ê¥Æ¥£'' ¤ÎµÄÏÀ¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î³ºÅö¤¹¤ë¥¢¥¿¥Ã¥¯¥¿¥¤¥×
-(eavesdropping, altering, playback, Denial of Service)¤ËÂФ·¤Æ¡¢¤¹¤Ù¤Æ¤Î¥µ¡¼
-¥Ð¥Û¥¹¥È(ñ¤Ê¤ë @strong{MySQL} ¥µ¡¼¥Ð¤Ç¤Ï¤Ê¤¯)¤Î´°Á´¤ÊÊݸî¤ÎɬÍפò¶¯Ä´¤·¤Þ
-¤¹¡£We do not cover all aspects of availability and fault tolerance
-here.
-
-@strong{MySQL} ¤Ï¡¢¥æ¡¼¥¶¤¬¼Â¹Ô¤·¤è¤¦¤È¤¹¤ë¤¹¤Ù¤Æ¤ÎÀܳ¡¢¥¯¥¨¥ê¡¢¤½¤Î¾¤Î
-¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤ËÂФ·¤Æ¡¢¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È(ACLs: Access Control Lists)¥»¥­¥å
-¥ê¥Æ¥£¤ò»ÈÍѤ·¤Þ¤¹¡£@strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤Î´Ö¤Ç SSL °Å¹æ²½ÀÜ
-³¤Î¥µ¥Ý¡¼¥È¤â¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£¤³¤³¤ÇµÄÏÀ¤µ¤ì¤ë¥³¥ó¥»¥×¥È¤Î¿¤¯¤Ï¡¢
-@strong{MySQL} ¤ËÆÃÍ­¤Î¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó; Ʊ¤¸°ìÈÌŪ¤Ê¥¢¥¤¥Ç¥¢¤Ï¤Û¤È¤ó¤É
-¤¹¤Ù¤Æ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËŬÍѤ·¤Þ¤¹¡£
-
-@strong{MySQL} ¼Â¹Ô»þ¡¢²Äǽ¤Ê¸Â¤ê¤¤¤Ä¤Ç¤â¤³¤ì¤é¤Î¥¬¥¤¥É¥é¥¤¥ó¤Ë½¾¤Ã¤Æ¤¯¤À
-¤µ¤¤:
-
-@itemize @bullet
-@item
-@strong{MySQL} ACL ¥·¥¹¥Æ¥à¤ÎÍý²ò¤ËÅؤá¤ë¤Ù¤­¤Ç¤¹¡£
-@code{GRANT} ¤È @code{REVOKE} ¥³¥Þ¥ó¥É¤Ï @strong{MySQL} ¤Ø¤Î¥¢¥¯¥»¥¹¤òÀ©¸Â¤¹¤ë¤¿¤á¤Îʪ¤Ç¤¹¡£
-ɬÍװʾå¤Î¸¢¸Â¤òï¤Ë¤âÍ¿¤¨¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
-Á´¤Æ¤Î¥Û¥¹¥È¤ËÂФ·¤Æ¡¢²¿¤«½ÐÍè¤ë¤è¤¦¤Êµö²Ä¤òÍ¿¤¨¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
-
-Checklist:
-@itemize @bullet
-@item
-@code{mysql -u root} ¤ò¹Ô¤Ã¤Æ¤ß¤Þ¤¹¡£
-
-¥Ñ¥¹¥ï¡¼¥É¤ò¿Ò¤Í¤é¤ì¤ë¤³¤È̵¤·¤Ë¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¤Ç¤­¤ë¾ì¹ç¡¢ÌäÂ꤬¤¢¤ê¤Þ¤¹¡£
-¤É¤Î¥æ¡¼¥¶¤Ç¤â(root ¤Ç¤Ê¤¯¤Æ¤â)¡¢@strong{MySQL} ¥µ¡¼¥Ð¤Ë´°Á´¤Ê¸¢¸Â¤ÇÀܳ¤Ç
-¤­¤Þ¤¹¡ª @code{root} ¥Ñ¥¹¥ï¡¼¥É¤ÎÀßÄê¤Ë¤Ä¤¤¤Æ¤Î¹àÌܤËÆÃÊ̤ÊÃí°Õ¤òʧ¤Ã¤Æ
-@strong{MySQL} ¥¤¥ó¥¹¥È¡¼¥ëÀâÌÀ¤ò¸«Ä¾¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-@code{SHOW GRANTS} ¤ò»ÈÍѤ·¡¢¤À¤ì¤¬¤Ê¤ó¤Î¥¢¥¯¥»¥¹¤ò»ý¤Ä¤«¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
-ɬÍפʤ¤¸¢¸Â¤ò¡¢@code{REVOKE} ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£
-@end itemize
-
-@item
-¤¤¤«¤Ê¤ëʿʸ¥Ñ¥¹¥ï¡¼¥É¤â¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÊݸ¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£
-¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¤¬ÂŶ¨¤µ¤ì¤ë»þ¡¢¿·Æþ¼Ô¤Ï¥Ñ¥¹¥ï¡¼¥É¤Î´°Á´¤Ê¥ê¥¹¥È¤òÆÀ¤Æ¡¢
-¤½¤ì¤é¤ò»ÈÍѤǤ­¤Þ¤¹¡£Âå¤ï¤ê¤Ë @code{MD5()} ¤ä¾¤Î one-way hashing ´Ø¿ô¤ò
-»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-@item
-¼­½ñ¤Ë¤Î¤Ã¤Æ¤¤¤ëñ¸ì¤ò¥Ñ¥¹¥ï¡¼¥É¤Ë»ÈÍѤ·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ ¤½¤ì¤é¤òÇˤë
-¥×¥í¥°¥é¥à¤¬¤¢¤ë¤Î¤Ç¤¹¡£ ``xfish98'' ¤Î¤è¤¦¤Ê¥Ñ¥¹¥ï¡¼¥É¤Ï°­¤¤Îã¤Ç¤¹¡£
-¤³¤ì¤è¤ê¤Ï ``duag98'' ¤ÎÊý¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£ ¤³¤ì¤Ï "fish" ¤òÂǤĺݤˡ¢
-¥­¡¼¤ò°ì¤Ä¤º¤Ä¤º¤é¤·¤¿¤â¤Î¤Ç¤¹¡£ ¾¤ÎÊýË¡¤È¤·¤Æ¤Ï¡¢ "Mhall" ¡¢¤³¤ì¤Ï
-"Mary had a little lamb" ¤È¤¤¤¦Ê¸¤ÎƬʸ»ú¤òÍåÎó¤·¤¿¤â¤Î¤Ç¤¹¡£
-¤³¤ì¤òÃΤäƤ¤¤ëʪ¤Ë¤ÏÂǤÁ¤ä¤¹¤¤¥Ñ¥¹¥ï¡¼¥É¤Ç¤¹¤¬¡¢ÃΤé¤Ê¤¤¼Ô¤Ë¤È¤Ã¤Æ¤Ï¡¢
-Îà¿ä¤¹¤ë¤³¤È¤¬Æñ¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤Ç¤¹¡£
-@item
-¥Õ¥¡¥¤¥¢¡¼¥¦¥©¡¼¥ë¤òƳÆþ¤·¤Þ¤¹¡£This protects from at least 50% of all types of
- exploits in any software.
-@strong{MySQL} ¤ò¥Õ¥¡¥¤¥¢¡¼¥¦¥©¡¼¥ë¤Ç¼é¤é¤ì¤¿Êý¤ËÃÖ¤¯¤«¡¢
-DMZ (´Ë¾×ÃÏÂÓ, ÈóÉðÁõÃÏÂÓ) ¤ËÃÖ¤­¤Þ¤¹¡£
-
-Checklist:
-@itemize @bullet
-@item
-¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤«¤é @code{nmap} ¤Î¤è¤¦¤Ê¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ¡¢
-¤¢¤Ê¤¿¤Î¥Þ¥·¥ó¤Î¥Ý¡¼¥È¤ò¥¹¥­¥ã¥ó¤·¤Æ¤ß¤Þ¤¹¡£
-@strong{MySQL} ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç 3306 ÈÖ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î¥Ý¡¼¥È¤Ë¤Ï¡¢¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤è¤¦¤Ë¤¹¤Ù¤­¤Ç¤¹¡£
-
-@strong{MySQL} ¥Ý¡¼¥È¤¬¥ª¡¼¥×¥ó¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ë¾¤Î´Êñ¤ÊÊý
-Ë¡¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥ê¥â¡¼¥È¥Þ¥·¥ó¤«¤é @code{telnet server_host 3306} ¤ò¼Â¹Ô¤¹
-¤ë¤³¤È¤Ç¤¹¡£¤³¤³¤Ç @code{server_host} ¤Ï¤¢¤Ê¤¿¤Î @strong{MySQL} ¥µ¡¼¥Ð¤Î¥Û
-¥¹¥È̾¤Ç¤¹¡£Àܳ¤·¡¢¤¤¤¯¤Ä¤«¤Î¥´¥ßʸ»ú¤¬ÆÀ¤é¤ì¤¿¾ì¹ç¡¢¥Ý¡¼¥È¤Ï¥ª¡¼¥×¥ó¤·¤Æ
-¤¤¤Þ¤¹¡£¤½¤ì¤ò¥ª¡¼¥×¥ó¤·¤Æ¤ª¤¯ÀµÅö¤ÊÍýͳ¤¬ËÜÅö¤Ë¤Ê¤¤¸Â¤ê¡¢¥Õ¥¡¥¤¥¢¡¼¥¦¥©¡¼
-¥ë¤ä¥ë¡¼¥¿¤Ç¥¯¥í¡¼¥º¤¹¤Ù¤­¤Ç¤¹¡£@code{telnet} ¤¬¥Ï¥ó¥°¤¹¤ë¾ì¹ç¡¢¤¹¤Ù¤Æ
-OK ¤Ç¤¹¡£¥Ý¡¼¥È¤Ï¥Ö¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-@end itemize
-
-@item
-¥æ¡¼¥¶¡¼¤«¤éÆþÎϤµ¤ì¤¿¥Ç¡¼¥¿¤Ï¿®Íꤷ¤Ê¤¤¤Ç²¼¤µ¤¤¡£
-¥æ¡¼¥¶¡¼¤Ï¡¢Web¤Î¥Õ¥©¡¼¥à¡¢URL¡¢¤¢¤ë¤¤¤Ï¤¢¤Ê¤¿¤Î¥«¥¹¥¿¥à¥×¥í¥°¥é¥à¤«¤é
-ÆÃÄê¤Îʸ»ú¤òÆþ¤ì¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ ¤â¤·¥æ¡¼¥¶¡¼¤¬¥Õ¥©¡¼¥à¤Ë
-@code{; DROP ALL DATABASES ;} ¤Î¤è¤¦¤Êʸ»ú¤òÆþÎϤ·¤Æ¤â¡¢
-¤¢¤Ê¤¿¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï°ÂÁ´¤Ç¤¹¤«¡©
-¤³¤ì¤Ï¶Ëü¤ÊÎã¤Ç¤¹¤¬¡¢¤½¤ì¤é¤ËÂФ·¤Æ½àÈ÷¤·¤Ê¤¤¾ì¹ç¡¢»÷¤¿¤è¤¦¤Ê¥Æ¥¯¥Ë¥Ã¥¯¤ò
-»ÈÍѤ¹¤ë¥Ï¥Ã¥«¡¼¤Î·ë²Ì¤È¤·¤Æ¡¢Â礭¤Ê¥»¥­¥å¥ê¥Æ¥£¥ê¡¼¥¯¤È¥Ç¡¼¥¿ÁÓ¼º¤¬È¯À¸¤·
-ÆÀ¤Þ¤¹¡£
-
-¿ôÃͥǡ¼¥¿¤Î¥Á¥§¥Ã¥¯¤â˺¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤è¤¯¤¢¤ë´Ö°ã¤¤¤Ïʸ»úÎó¤·¤«Êݸ
-¤Ê¤¤¤³¤È¤Ç¤¹¡£»þ¡¹¡¢¿Í¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬Êݸ¤ì¤ëɬÍפΤʤ¤¸ø¤ËÍ­¸ú¤Ê¥Ç¡¼¥¿
-¤À¤±¤ò´Þ¤ó¤Ç¤¤¤ë¤«¤É¤¦¤«¤ò¹Í¤¨¤Þ¤¹¡£¤³¤ì¤Ï´Ö°ã¤¤¤Ç¤¹¡£¾¯¤Ê¤¯¤È¤â¡¢
-Denial-of-Service ¥¿¥¤¥×¤Î¥¢¥¿¥Ã¥¯¤Ï¤½¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤â¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-¤³¤Î¥¿¥¤¥×¤Î¥¢¥¿¥Ã¥¯¤«¤éÊݸ¤ë¤â¤Ã¤È¤â´Êñ¤ÊÊýË¡¤Ï¡¢¿ôÃÍÄê¿ô¤Î²ó¤ê¤Ë¥¢¥Ý
-¥¹¥È¥í¥Õ¥£¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¤¹: @code{SELECT * FROM table WHERE ID=234} ¤ÎÂå
-¤ï¤ê¤Ë @code{SELECT * FROM table WHERE ID='234'}¡£@strong{MySQL} ¤Ï¼«Æ°Åª
-¤Ë¤³¤Îʸ»úÎó¤ò¿ôÃͤËÊÑ´¹¤·¡¢¤½¤³¤«¤é¤¹¤Ù¤Æ¤ÎÈó¿ôÃÍ¥·¥ó¥Ü¥ë¤ò¼è¤ê½ü¤­¤Þ¤¹¡£
-
-¥Á¥§¥Ã¥¯¥ê¥¹¥È:
-@itemize @bullet
-@item
-¤¹¤Ù¤Æ¤Î WWW ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó:
-@itemize @bullet
-@item
-¤¢¤Ê¤¿¤Î WWW ¤ÎÁ´¤Æ¤Î¥Õ¥©¡¼¥à¤Ë¡¢@samp{'} ¤È @samp{"} ¤òÆþÎϤ¹¤ë¤³¤È¤ò»î¤ß¤Æ¤¯¤À¤µ¤¤¡£
-¤â¤·¤Ê¤ó¤é¤«¤Î @strong{MySQL} ¥¨¥é¡¼¤¬¤Ç¤¿¤é¡¢¤¢¤Ê¤¿¤Î¥µ¥¤¥È¤òÄä»ß¤·¤¿¤Û¤¦¤¬
-¤è¤¤¤Ç¤·¤ç¤¦¡£
-@item
-¤¢¤Ê¤¿¤Î URL ¤Ë @code{%22} (@samp{"}), @code{%23} (@samp{#}) , @code{%27} (@samp{'}) ¤ò¤Ä¤±¤Æ¤ß¤Æ¡¢Æ°ÅªURL¤ò
-¤¤¤í¤¤¤íÊѹ¹¤·¤Æ»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
-@item
-ưŪ URL ¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤ò¿ôÃͤ«¤é¾å½Ò¤ÎÎã¤Îʸ»ú¤ò´Þ¤àʸ»úÎó¤Ë½¤Àµ¤·¤Æ¤ß¤Æ
-¤¯¤À¤µ¤¤¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¤³¤ì¤È»÷¤¿¤è¤¦¤Ê¥¢¥¿¥Ã¥¯¤ËÂФ·¤Æ°ÂÁ´¤Ç¤¢¤ë¤Ù¤­
-¤Ç¤¹¡£
-@item
-¿ôÃÍ¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤Æ¡¢Ê¸»ú¡¢¥¹¥Ú¡¼¥¹¡¢Æüìʸ»ú¤ÎÆþÎϤò»î¤ß¤Æ¤¯¤À¤µ¤¤¡£
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¤½¤ì¤é¤ò @strong{MySQL} ¤ËÁ÷¤ëÁ°¤Ë¼è¤ê½ü¤¯¤«¡¢
-¤¢¤ë¤¤¤Ï¥¨¥é¡¼¤ò½Ð¤¹¤Ù¤­¤Ç¤¹¡£ ¸¡ºº¤·¤Ê¤¤Ãͤò @strong{MySQL} ¤ËÁ÷¤ë¤³¤È¤Ï´í¸±¤Ç¤¹¡£
-@item
-@strong{MySQL} ¤Ë¥Ç¡¼¥¿¤òÁ÷¤ëÁ°¤Ë¡¢¤½¤Î¥µ¥¤¥º¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
-@item
-¤¢¤Ê¤¿¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¡¢´ÉÍýÌÜŪ¤Ç¤¢¤Ê¤¿¤¬»ÈÍѤ¹¤ë¤Î¤È°Û¤Ê¤ë¥æ¡¼¥¶Ì¾¤ò
-»ÈÍѤ·¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÀܳ¤¹¤ë¤³¤È¤ò¹Íθ¤·¤Æ¤¯¤À¤µ¤¤¡£É¬Íװʾå¤Î¥¢¥¯¥»¥¹¸¢
-¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÍ¿¤¨¤Ê¤¤¤Ç²¼¤µ¤¤¡£
-@end itemize
-@item
-PHP ¥æ¡¼¥¶:
-@itemize @bullet
-@item
-@code{addslashes()} ´Ø¿ô¤òÄ´¤Ù¤Þ¤¹¡£
-@end itemize
-@item
-@strong{MySQL} C API ¥æ¡¼¥¶:
-@itemize @bullet
-@item
-@code{mysql_escape()} API ¥³¡¼¥ë¤¬¤¢¤ë¤«Ä´¤Ù¤Þ¤¹.
-@end itemize
-@item
-@strong{MySQL}++ ¥æ¡¼¥¶:
-@itemize @bullet
-@item
-Check out the @code{escape} and @code{quote} modifiers for query streams.
-@end itemize
-@item
-Perl DBI ¥æ¡¼¥¶:
-@itemize @bullet
-@item
-Check out the @code{escape} and @code{quote} modifiers (?) for query streams.
-@item
-Check out the @code{quote()} method.
-@end itemize
-@end itemize
-
-@item
-À¸¤Î¥Ç¡¼¥¿(°Å¹æ²½¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ç¡¼¥¿)¤ò¥¤¥ó¥¿¡¼¥Í¥Ã¥È±Û¤·¤ËÁ÷¤Ã¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
-This data is accessible to
-everyone who have interest to trap this information and reuse it
-somewhere. ¤â¤·Á÷¤ëɬÍפ¬¤¢¤ë¤Ê¤é¡¢SSL ¤Î¤è¤¦¤Ê°Å¹æ²½¤µ¤ì¤¿ÄÌ¿®¤ò
-»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-@strong{MySQL} supports internal SSL connections beginning from
-version 3.23.9.
-SSH port-forwarding can be used to create an encrypted (and compressed)
-tunnel for the communication.
-@item
-"tcpdump", "strings" ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»È¤¦¤³¤È¤ò³Ø¤ó¤Ç²¼¤µ¤¤.
-°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç¡¢¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢°Å¹æ²½¤µ¤ì¤Æ¤¤¤Ê¤¤
-@strong{MySQL} ¤Î¥Ç¡¼¥¿¤¬¸«¤¨¤ë¤Ç¤·¤ç¤¦¡§
-@example
-shell> tcpdump -l -i eth0 -w - src or dst port 3306 | strings
-@end example
-(¤³¤ÎÎã¤Ï Linux ¤Î¤â¤Î¤Ç¤¹¡£Â¾¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¾¯¤·°ã¤¦¤Ç¤·¤ç¤¦).
- Warning: If you do not see data this doesn't actually
-always mean that it is encrypted. If you need high security you should
-consult with security expert.
-@end itemize
-
-
-@node Security, What Privileges, General security, Privilege system
-@section @strong{MySQL} ¤ò¥¯¥é¥Ã¥«¡¼¤ËÂФ·¤Æ°ÂÁ´¤Ë¤¹¤ëÊýË¡
-
-@strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËÀܳ¤¹¤ë¤È¤­¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-¥Ñ¥¹¥ï¡¼¥É¤Ï¥³¥Í¥¯¥·¥ç¥ó´Ö¤Ç¡¢¤Ù¤¿¥Æ¥­¥¹¥È¤Ç¤Ïή¤ì¤Þ¤»¤ó¡£
-
-¤½¤Î¾¤ÎÁ´¤Æ¤Î¾ðÊó¤Ï¥Æ¥­¥¹¥È¤ÇžÁ÷¤µ¤ì¡¢
-¤³¤ì¤ÏÀܳ¤òÇÁ¤¯¤³¤È¤¬½ÐÍè¤ë¿Í¤ËÆɤޤì¤Þ¤¹¡£
-¤â¤·¤³¤ì¤ò¿´ÇÛ¤¹¤ë¤Ê¤é¡¢°µ½Ì¥×¥í¥È¥³¥ë(@strong{MySQL} 3.22 °Ê¾å)¤ò
-»ÈÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£¤è¤ê°ÂÁ´¤Ë¤·¤¿¤¤¾ì¹ç¡¢
-@code{ssh} (@uref{http://www.cs.hut.fi/ssh}) ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤Ù¤­¤Ç¤¹¡£
-¤³¤ì¤ò»ÈÍѤ¹¤ì¤Ð¡¢@strong{MySQL} ¥µ¡¼¥Ð¡¼¤È @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È
-´Ö¤Î TCP/IP ¥³¥Í¥¯¥·¥ç¥ó¤ÏÁ´¤Æ°Å¹æ²½¤µ¤ì¤Þ¤¹¡£
-
-@strong{MySQL} ¥·¥¹¥Æ¥à¤ò°ÂÁ´¤Ë¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¼¡¤Î¤³¤È¤ò¹Í¤¨¤ë¤Ù¤­¤Ç¤¹:
-
-@itemize @bullet
-@item
-Á´¤Æ¤Î @strong{MySQL} ¥æ¡¼¥¶¤Ë¥Ñ¥¹¥ï¡¼¥É¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-@code{other_user} ¤Ë¥Ñ¥¹¥ï¡¼¥É¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-ï¤Ç¤â @code{mysql -u other_user db_name} ¤È¤·¤Æ´Êñ¤Ë¾¤Î¿Í¤È¤·¤Æ¥í¥°¥¤¥ó¤Ç¤­
-¤ë¤³¤È¤ò³Ð¤¨¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤ÏÁ´¤Æ¤Î¥¯¥é¥¤¥¢¥ó¥È¡¿¥µ¡¼¥Ð¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-¤Ç°ìÈÌŪ¤Ê¿¶¤ëÉñ¤¤¤Ç¤¹¡£Á´¤Æ¤Î¥æ¡¼¥¶¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢
-@code{mysql_install_db} ¥¹¥¯¥ê¥×¥È¤ò¼Â¹ÔÁ°¤ËÊÔ½¸¤¹¤ë¤³¤È¤Ç¡¢¤Þ¤¿¤Ï
-@strong{MySQL} @code{root} ¥æ¡¼¥¶¤À¤±¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤ÆÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@example
-shell> mysql -u root mysql
-mysql> UPDATE user SET Password=PASSWORD('new_password')
- WHERE user='root';
-@end example
-
-@item
-@strong{MySQL} ¥Ç¡¼¥â¥ó¤ò Unix ¤Î @code{root} ¥æ¡¼¥¶¡¼¤Ç¼Â¹Ô¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
-It is very dangerous as any user with @code{FILE} privileges will be able to
-create files
-as @code{root} (e.g. @code{~root/.bashrc}). To prevent this
-@code{mysqld} will refuse to run as @code{root} unless it is specified
-directly via @code{--user=root} option.
-
-@code{mysqld} ¤ÏǤ°Õ¤Î¥æ¡¼¥¶¤Ç¼Â¹Ô¤Ç¤­¤Þ¤¹¡£
-¤è¤ê°ÂÁ´¤Ë¤¹¤ë¤¿¤á¡¢¿·¤·¤¯ Unix ¥æ¡¼¥¶ @code{mysql} ¤òÄɲ乤뤳¤È¤â¤Ç¤­¤Þ¤¹¡£
-@code{mysqld} ¤ò ¾¤Î Unix ¥æ¡¼¥¶¡¼¤Çµ¯Æ°¤·¤¿¤È¤·¤Æ¤â¡¢
-@strong{MySQL} ¤Î @code{user} ¥Æ¡¼¥Ö¥ë¤Î @code{root} ¥æ¡¼¥¶¡¼¤Î̾Á°¤òÊѹ¹¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-¤Ê¤¼¤Ê¤é¡¢ @strong{MySQL} ¥æ¡¼¥¶¡¼¤Î̾Á°¤Ï Unix ¤Î¥æ¡¼¥¶¡¼Ì¾¤È¤Ï¤Ê¤ó¤Î´Ø·¸¤â¤Ê¤¤¤«¤é¤Ç¤¹¡£
-root ¥æ¡¼¥¶Ì¾¤òÊѹ¹¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-@code{mysqld} ¤ò¾¤Î Unix ¥æ¡¼¥¶¤Çµ¯Æ°¤¹¤ë¤¿¤á¤Ë¡¢@code{mysql.server} ÊÔ½¸¤·¤Æ¤â¤è¤¤¤Ç¤·¤ç¤¦¡£
-Ä̾¤³¤ì¤Ï @code{su} ¥³¥Þ¥ó¥É¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£
-¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï ¢ª @ref{Changing MySQL user, , Changing @strong{MySQL} user}.
-
-@item
-@code{mysql.server} ¥¹¥¯¥ê¥×¥ÈÆâ¤Ë Unix @code{root} ¥æ¡¼¥¶¡¼¤Î¤¿¤á¤Ë¥Ñ¥¹¥ï¡¼¥É¤ò
-½ñ¤¤¤¿¾ì¹ç¡¢¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï @code{root} ¤À¤±¤¬Æɤá¤ë¤è¤¦¤Ë¤·¤Ê¤¯¤Æ¤Ï
-¤Ê¤ê¤Þ¤»¤ó¡£
-
-@item
-¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ï @code{mysqld} ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë Unix ¥æ¡¼¥¶¤À¤±¤¬
-Æɤ߹þ¤ß¡¿½ñ¤­¹þ¤ß²Äǽ¤Ê¤³¤È¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-On Unix platforms, do not run @code{mysqld} as root unless you really
-need to. Consider creating a user named @code{mysql} for that purpose.
-
-@item
-@strong{process} ¸¢¸Â¤òÁ´¤Æ¤Î¥æ¡¼¥¶¤ËÍ¿¤¨¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¤³¤Îµö²Ä¤¬¤¢¤ë¿Í¤Ïï¤Ç¤â
-@code{mysqladmin processlist} ¥³¥Þ¥ó¥É¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥¯¥¨¥ê¡¼¤ÎÃæ¿È¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤â¤·Ã¯¤«¤¬¡¢@code{UPDATE user SET password=PASSWORD('not_secure')} ¥¯¥¨¥ê¡¼¤ò
-¼Â¹Ô¤·¤Æ¤¤¤¿¤È¤·¤Æ¡¢¤½¤ì¤¬¸«¤¨¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
-
-@code{mysqld} ¤Ï @strong{process} ¸¢¸Â¤ò»ý¤Ä¥æ¡¼¥¶¤ËÂФ¹¤ëÆÃÊ̤ÊÀܳ¤ò¥ê¥¶¡¼¥Ö¤·¤Þ¤¹¡£
-¤½¤Î¤¿¤á¡¢¤¿¤È¤¨Á´¤Æ¤ÎÄ̾ïÀܳ¤¬»È¤ï¤ì¤¿¤È¤·¤Æ¤â¡¢@strong{MySQL} @code{root} ¥æ¡¼¥¶¤À¤±¤Ï¡¢
-¥í¥°¥¤¥ó¤Ç¤­¡¢¤¤¤í¤¤¤í¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£
-
-@item
-@strong{file} ¤òÁ´¤Æ¤Î¥æ¡¼¥¶¤ËÍ¿¤¨¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£¥æ¡¼¥¶¤¬¤³¤Î¸¢¸Â¤ò»ý¤Ä¾ì
-¹ç¡¢@code{mysqld} ¥Ç¡¼¥â¥ó¤ò¼Â¹Ô¤·¤Æ¤¤¤ë Unix ¥æ¡¼¥¶¡¼¤Î¸¢¸Â¤Ç
-¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÆâ¤Î¤É¤³¤Ë¤Ç¤â¥Õ¥¡¥¤¥ë¤ò½ñ¤­¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡ª
-¤³¤ì¤ò¾¯¤·°ÂÁ´¤Ë¤¹¤ë¤¿¤á¤Ë¡¢@code{SELECT ... INTO OUTFILE} ¤ÇºîÀ®¤µ¤ì¤ëÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ï
-Á´°÷¤ËÆɤ߹þ¤ß²Äǽ¤ÇÀ¸À®¤µ¤ì¡¢´û¸¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¾å½ñ¤­¤Ç¤­¤Þ¤»¤ó¡£
-
-@tindex /etc/passwd
-@strong{file} ¸¢¸Â¤Ï¥µ¡¼¥Ð¡¼¤òÁö¤é¤»¤Æ¤¤¤ë UNIX ¥æ¡¼¥¶¡¼¤¬¥¢¥¯¥»¥¹¤Ç¤­¤ë
-Á´¤Æ¤Î¥Õ¥¡¥¤¥ë¤òÆɤि¤á¤Ë»ÈÍѤµ¤ì¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-Î㤨¤Ð¡¢ @file{/etc/passwd} ¤ò¥Æ¡¼¥Ö¥ë¤Ë¼è¤ê¹þ¤à¤¿¤á¤Ë @code{LOAD DATA} ¤¬
-»ÈÍѤµ¤ì¤ë¤È¡¢ @code{SELECT} ¤Ç¤½¤ÎÆâÍƤ¬Æɤá¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@item
-¤¢¤Ê¤¿¤Î DNS ¤ò¿®ÍѤ·¤Ê¤¤¾ì¹ç¡¢¸¢¸Â¥Æ¡¼¥Ö¥ëÆâ¤Ë¤Ï¥Û¥¹¥È̾¤ÎÂå¤ï¤ê¤Ë IP
-¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£@code{mysqld} ¤Ø¤Î @code{--secure} ¥ª¥×¥·¥ç¥ó¤Ï¸¶Íý¾å¤Ï¥Û¥¹¥È̾¤ò°Â
-Á´¤Ë¤·¤Þ¤¹¡£¤É¤ó¤Ê¾ì¹ç¤Ç¤â¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¤ò´Þ¤ó¤À¥Û¥¹¥È̾¤ò¡¢µö²Ä¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤¹¤ë
-»ö¤ÏËÜÅö¤ËÃí°Õ¿¼¤¯¤¹¤Ù¤­¤Ç¤¹¡ª
-
-@end itemize
-
-@code{mysqld} ¤Ø¤Î¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¥»¥­¥å¥ê¥Æ¥£¤Ë±Æ¶Á¤·¤Þ¤¹:
-
-@table @code
-@item --secure
-@code{gethostbyname()} ¤«¤éÊÖ¤µ¤ì¤ë ip ¤¬¥ª¥ê¥¸¥Ê¥ë¤Î¥Û¥¹¥È̾¤ËÌ᤻¤ë¤«¤É
-¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢³°¤Î狼¤¬Â¾¤Î¥Û¥¹¥È¤ò¿¿»÷¤Æ¥¢¥¯¥»¥¹¤òÆÀ¤ë
-¤³¤È¤òÆñ¤·¤¯¤·¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¤¤¤¯¤Ä¤«¤ÎÀµ¤·¤¤¥Û¥¹¥È̾¥Á¥§¥Ã¥¯¤âÄÉ
-²Ã¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢»þ¤Ë¥Á¥§¥Ã¥¯¤ËŤ¤»þ´Ö¤¬¤«¤«¤ë¤¿¤á¡¢@strong{MySQL} 3.21
-¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥ª¥Õ¤Ë¤µ¤ì¤Æ¤¤¤Þ¤¹¡£@strong{MySQL} 3.22 ¤Ç¤Ï¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï
-¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢¥Û¥¹¥È̾¤ò¥­¥ã¥Ã¥·¥å¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
-
-@item --skip-grant-tables
-Æø¢¥·¥¹¥Æ¥à¤òÁ´¤¯»ÈÍѤ·¤Þ¤»¤ó¡£¤³¤ì¤ÏÁ´°÷¤ËÁ´¤Æ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î
-@emph{´°Á´¤Ê¥¢¥¯¥»¥¹} ¤òÍ¿¤¨¤Þ¤¹¡ª
-(@code{mysqladmin flush-privileges} ¤« @code{mysqladmin reload} ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢
-µ¯Æ°¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¡¼¤ÏÆø¢¥·¥¹¥Æ¥à¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£)
-
-@item --skip-name-resolve
-¥Û¥¹¥È̾¤ò²òÀϤ·¤Þ¤»¤ó¡£¸¢¸Â¥Æ¡¼¥Ö¥ëÃæ¤ÎÁ´¤Æ¤Î @code{Host}¥Õ¥£¡¼¥ë¥É¤Ï IP ¥¢¥É¥ì¥¹¤«
-@code{localhost} ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-@item --skip-networking
-¥Í¥Ã¥È¥ï¡¼¥¯ (TCP/IP) ·Ðͳ¤ÎÀܳ¤òµö²Ä¤·¤Þ¤»¤ó¡£@code{mysqld} ¤Ø¤ÎÁ´¤Æ¤ÎÀܳ¤Ï¡¢
-Unix ¥½¥±¥Ã¥È¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£MIT-pthreads ¤Ï Unix ¥½¥±¥Ã¥È¤ò¥µ¥Ý¡¼¥È¤·¤Ê¤¤
-¤¿¤á¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï MIT-pthreads ¤ò»ÈÍѤ¹¤ë¥·¥¹¥Æ¥à¾å¤Ç¤Ï¡¢¤¦¤Þ¤¯Æ°¤­¤Þ¤»¤ó¡£
-@end table
-
-
-@node What Privileges, User names, Security, Privilege system
-@section Æø¢¥·¥¹¥Æ¥à¤Î¹Ô¤¦¤³¤È
-
-@strong{MySQL} Æø¢¥·¥¹¥Æ¥à¤Î´ðËܵ¡Ç½¤Ï¡¢Í¿¤¨¤é¤ì¤¿¥Û¥¹¥È¤«¤éÀܳ¤¹¤ë
-¥æ¡¼¥¶¤òǧ¾Ú¤¹¤ë¤³¤È¡¢¤½¤·¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ¹¤ë
- @strong{select}, @strong{insert}, @strong{update}, @strong{delete} Åù¤Î¸¢¸Â¤òÍ¿¤¨¤ë¤³¤È¤Ç¤¹¡£
-
-³ÈÄ¥µ¡Ç½¤Ïƿ̾¥æ¡¼¥¶¤ò¤â¤ÄǽÎϤò´Þ¤ß¡¢@code{LOAD DATA INFILE} ¤Î¤è¤¦¤Ê
-@strong{MySQL} ¸ÇÍ­¤Îµ¡Ç½¤ò»ÈÍѤ¹¤ëµö²Ä¤òÍ¿¤¨¤Þ¤¹¡£
-
-
-@node User names, Connecting, What Privileges, Privilege system
-@section @strong{MySQL} ¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É
-
-@strong{MySQL} ¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ë¥æ¡¼¥¶¡¼Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤Î»ÈÍѤΤµ¤ìÊý¤È¡¢
-UNIX, Windows ¤Ç»ÈÍѤµ¤ì¤ëÊýË¡¤È¤Ï¡¢¤¤¤¯¤Ä¤«°Û¤Ê¤ëÅÀ¤¬¤¢¤ê¤Þ¤¹¡£
-
-@itemize @bullet
-@item
-@strong{MySQL} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥¢¥¯¥»¥¹Ç§¾Ú¤Ë»ÈÍѤ¹¤ë¥æ¡¼¥¶¡¼Ì¾¤Ï¡¢
-UNIX ¤Î¥í¥°¥¤¥ó¥æ¡¼¥¶¤äWindows¤Î¥æ¡¼¥¶¡¼Ì¾¤Ç¹Ô¤¦¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó(°ìÃפ·¤Æ¤¤¤Þ¤»¤ó)¡£
-ÍøÊØÀ­¤ò¤Ï¤«¤ë¤¿¤á¡¢Â¿¤¯¤Î @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¤Ï¸½ºß¤Î¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë¥æ¡¼¥¶Ì¾¤ò
-@strong{MySQL}¤Î¥æ¡¼¥¶¡¼Ì¾¤È¤·¤Æ¥í¥°¥¤¥ó¤ò»î¤ß¤Þ¤¹¡£
-¤·¤«¤·¤³¤ì¤Ï @code{-u} ¤« @code{--user} ¥¹¥¤¥Ã¥Á¤ÇÊѹ¹¤Ç¤­¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢Á´¤Æ¤Î¥æ¡¼¥¶¤ËÂФ·¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤Æ¤ª¤«¤Ê¤¤¤È¡¢
-Á´¤¯¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò°ÂÁ´¤Ë¤Ç¤­¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-¤â¤·¥Ñ¥¹¥ï¡¼¥É¤òÁ´¥æ¡¼¥¶¡¼¤ËÀßÄꤷ¤Æ¤ª¤«¤Ê¤¤¤È¡¢¤½¤Î¥æ¡¼¥¶¡¼Ì¾¤Çǧ¾Ú¤Ê¤·¤Ë¥µ¡¼¥Ð¡¼¤ËÀܳ¤Ç¤­¤Þ¤¹¡£
-
-@item
-@strong{MySQL} ¤Î¥æ¡¼¥¶¡¼Ì¾¤Ï 16ʸ»ú¤Þ¤Ç(±Ñ¿ôȾ³Ñ)»ÈÍѤǤ­¤Þ¤¹¡£
-UNIX¤Ï¤À¤¤¤¿¤¤8ʸ»ú¤Ç¤¹¤¬¡£(8ʸ»ú¤ò¤³¤¨¤ë¥·¥¹¥Æ¥à¤â¤¢¤ë)
-
-@item
-@strong{MySQL} ¥æ¡¼¥¶¡¼¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢Unix ¤Î¥Ñ¥¹¥ï¡¼¥É¤È°ã¤¤¤Þ¤¹¡£
-¤è¤Ã¤Æ¡¢¤½¤ì¤é¤Î¥Þ¥·¥ó¾å¤Ç Unix ¤Î¥í¥°¥¤¥ó¥Ñ¥¹¥ï¡¼¥É¤È
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ñ¥¹¥ï¡¼¥É¤ÏƱ¤¸¤Ë¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-
-@item
-@strong{MySQL} ¤Ï Unix ¤Î¥í¥°¥¤¥ó¥Ñ¥¹¥ï¡¼¥É¤È¤ÏÁ´¤¯°ã¤¦¡¢
-Æȼ«¤Î°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤À¤±¤ò»ÈÍѤ·¤Þ¤¹¡£
-@code{PASSWORD()} ¤È @code{ENCRYPT()} ´Ø¿ô¤ÎÀâÌÀ¤ò»²¾È ¢ª @ref{Miscellaneous
-functions}.
-@end itemize
-
-@node Connecting, Password security, User names, Privilege system
-@section @strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËÀܳ
-
-@strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤Ï¡¢¶¦Ä̤ηè¤Þ¤Ã¤¿°ú¿ô¤ò»ý¤Á¤Þ¤¹¡§
-Àܳ¤·¤¿¤¤¥Û¥¹¥È̾¡¢Àܳ¥æ¡¼¥¶¡¼Ì¾¡¢¤½¤·¤Æ¥Ñ¥¹¥ï¡¼¥É¤Ç¤¹¡£
-Î㤨¤Ð¡¢@code{mysql} ¥³¥Þ¥ó¥É¤Ï°Ê²¼¤Î¤è¤¦¤Ê°ú¿ô¤ò»ý¤Á¤Þ¤¹
-(¥ª¥×¥·¥ç¥ó¤Î°ú¿ô¤Ï @samp{[} ¤È @samp{]} ¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ëÉôʬ¤Ç¤¹)
-
-@example
-shell> mysql [-h host_name] [-u user_name] [-pyour_pass]
-@end example
-
-@code{-h}, @code{-u}, @code{-p} ¥ª¥×¥·¥ç¥ó¤Ï°Ê²¼¤ÈÅù²Á¤Ç¤¹¡£
-@code{--host=host_name}, @code{--user=user_name}, @code{--password=your_pass}
-@code{-p} ¤È¥Ñ¥¹¥ï¡¼¥É¤Î´Ö¤Ë¤Ï¥¹¥Ú¡¼¥¹¤¬¤Ê¤¤¤³¤È¤ËÃí°Õ
-
-@strong{Ãí°Õ:} ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÍ¿¤¨¤ë¤Î¤Ï°ÂÁ´¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡ª
-¥·¥¹¥Æ¥à¤ËÆþ¤Ã¤Æ¤¤¤ëÇ¡²¿¤Ê¤ë¥æ¡¼¥¶¡¼¤â @code{ps auxww} ¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò
-»ÈÍѤ¹¤ë»ö¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò¸«ÉÕ¤±¤ë»ö¤¬¤Ç¤­¤Þ¤¹
-@xref{Option files}.
-
-@code{mysql} ¥³¥Þ¥ó¥É¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë°ú¿ô¤¬¤Ê¤±¤ì¤ÐÀܳ¤Ë¥Ç¥Õ¥©¥ë¥ÈÃͤòÍѤ¤¤Þ¤¹¡£
-
-@itemize @bullet
-@item
-¥Ç¥Õ¥©¥ë¥È¤Î¥Û¥¹¥È̾¤Ï @code{localhost}, ¥æ¡¼¥¶¡¼Ì¾¤Ï Unix ¤Î¥í¥°¥¤¥ó̾¤Ç¤¹¡£
-
-@item
-(@code{-p} ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¥Ñ¥¹¥ï¡¼¥É¤ÏÍ¿¤¨¤é¤ì¤Þ¤»¤ó)
-@end itemize
-
-Unix ¤Î¥í¥°¥¤¥ó¥æ¡¼¥¶¡¼¤¬ @code{joe} ¤Î¾ì¹ç¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ÏÅù²Á¤Ç¤¹¡§
-
-@example
-shell> mysql -h localhost -u joe
-shell> mysql -h localhost
-shell> mysql -u joe
-shell> mysql
-@end example
-
-¾¤Î @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¤âƱ¤¸¤è¤¦¤ËÆ°ºî¤·¤Þ¤¹¡£
-
-Unix ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¤¢¤ëÃͤò¥Ç¥Õ¥©¥ë¥ÈÃͤˤ·¤ÆÀܳ¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤½¤¦¤¹¤ë¤³¤È¤Ë¤½¤ê¡¢Ëè²óËè²ó¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë°ú¿ô¤òÍ¿¤¨¤Ê¤¯¤Æ¤¹¤à¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-@tindex .my.cnf file
-¼«Ê¬¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë @file{.my.cnf} ¤òºî¤ê¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¤Î
-@code{[client]} ¥»¥¯¥·¥ç¥ó¤ËÀܳÍѤΥѥé¥á¥¿¡¼¤òµ­½Ò¤Ç¤­¤Þ¤¹¡£
-¤½¤Îµ­½Ò¤Ï°Ê²¼¤Î¤è¤¦¤Ç¤¹¡§
-
-@example
-[client]
-host=host_name
-user=user_name
-password=your_pass
-@end example
-
-@xref{Option files}.
-
-@item
-@tindex MYSQL_HOST environment variable
-@tindex Environment variable, MYSQL_HOST
-@tindex MYSQL_PWD environment variable
-@tindex Environment variable, MYSQL_PWD
-@tindex USER environment variable
-@tindex Environment variable, USER
-Àܳ¤Î¥Ñ¥é¥á¥¿¡¼¤Ë´Ä¶­ÊÑ¿ô¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-¥Û¥¹¥È̾¤Ï @code{MYSQL_HOST} ´Ä¶­ÊÑ¿ô¤ò»ÈÍѤ·¤Þ¤¹¡£
-@strong{MySQL} ¤Î¥æ¡¼¥¶¡¼Ì¾¤Ï @code{USER} (¤³¤ì¤Ï Windows ¤Î¤ß) ¤ËÀßÄꤵ¤ì¤¿Ãͤò»ÈÍѤ·¤Þ¤¹¡£
-¥Ñ¥¹¥ï¡¼¥É¤Ï @code{MYSQL_PWD} ´Ä¶­ÊÑ¿ô¤ò¸«¤Þ¤¹¤¬¡¢¤³¤ì¤Ï´í¸±¤Ç¤¹¡£(¼¡¤ÎÀỲ¾È)
-@xref{Environment variables}.
-@end itemize
-
-
-@node Password security, Privileges provided, Connecting, Privilege system
-@subsection ¥Ñ¥¹¥ï¡¼¥É¤ò°ÂÁ´¤Ë¤¹¤ë
-
-¼«Ê¬¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¾¿Í¤Ë¤µ¤é¤±½Ð¤¹¤Î¤Ï´«¤á¤é¤ì¤ë¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¤½¤ì¤¾¤ì¤ÎÊýË¡¤Ë±÷¤±¤ë´í¸±Å٤˱þ¤¸¡¢°Ê²¼¤Ë¼¨¤¹ÊýË¡¤Ç¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤Ë
-¤¢¤Ê¤¿¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¤¢¤¿¤¨¤ÆÁö¤é¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-@code{-pyour_pass} ¤« @code{--password=your_pass} ¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ÈÍѤ·¤Þ¤¹¡£
-¤³¤ì¤ÏÊØÍø¤Ç¤¹¤¬°ÂÁ´¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤¢¤Ê¤¿¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï (@code{ps} ¥³¥Þ¥ó¥É¤Î¤è¤¦¤Ê)
-¥·¥¹¥Æ¥à¤Î¾õÂÖ¤ò¸«¤ë¥³¥Þ¥ó¥É¤Ë¤Æ¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-(@strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¤Ï½é´ü²½²áÄø¤Ë¤ª¤¤¤Æ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î°ú¿ô¤ò¥¼¥í¤Ç¾å½ñ¤­¤·¤Æ
-¸«¤»¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢½Ö´Ö¤Ç¤¹¤¬Ãͤ¬¸«¤¨¤Æ¤·¤Þ¤¦¤Î¤Ç¤¹)
-
-@item
-@code{-p} ¤¢¤ë¤¤¤Ï @code{--password} ¥ª¥×¥·¥ç¥ó¤ò @code{your_pass} ¤òÍ¿¤¨¤Ê¤¤¤Ç»ÈÍѤ·¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤Ï¥¿¡¼¥ß¥Ê¥ë¤òÄ̤¸¤Æ¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòÂ¥¤·¤Æ¤­¤Þ¤¹:
-
-@example
-shell> mysql -u user_name -p
-Enter password: ********
-@end example
-
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¤¢¤Ê¤¿¤ÎÆþÎϤ·¤¿¥Ñ¥¹¥ï¡¼¥É¤ò @samp{*} ʸ»ú¤ÇüËö¤ËÊÖ¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
-²èÌ̤ò¤Î¤¾¤­¹þ¤Þ¤ì¤¿¤È¤·¤Æ¤â¥Ñ¥¹¥ï¡¼¥É¤Ï¤ï¤«¤ê¤Þ¤»¤ó¡£
-
-¤³¤ì¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ë¤è¤ê°ÂÁ´¤Ç¤¹¡£Â¾¤Î¥æ¡¼¥¶¡¼¤Ë¤Ï¸«¤¨¤Þ¤»¤ó¤«¤é¡£
-¤·¤«¤·¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤òËè²óÆþ¤ì¤ëÊýË¡¤ÏÂÐÏü°¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤À¤±¤Ë»ÈÍѤǤ­¤ë¼ê¤Ç¤¹¡£
-¤â¤·ÈóÂÐÏü°¤Î¥¹¥¯¥ê¥×¥È¤«¤é¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤òµ¯Æ°¤·¤¿¤¤¾ì¹ç¡¢
-¥Ñ¥¹¥ï¡¼¥É¤òüËö¤«¤éÆþ¤ì¤ëµ¡²ñ¤¬¤¢¤ê¤Þ¤»¤ó¡£
-On some systems, you may even find that the first line of your
-script is read and interpreted (incorrectly) as your password!
-
-@item
-@tindex .my.cnf file
-ÀßÄê¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥¹¥ï¡¼¥É¤ò½ñ¤¤¤Æ¤ª¤¯¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-Î㤨¤Ð¡¢¼«Ê¬¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¡¼¤Ë¤¢¤ë @file{.my.cnf} ¥Õ¥¡¥¤¥ë¤Î @code{[client]}
-¥»¥¯¥·¥ç¥ó¤Ë¡¢°Ê²¼¤Î¤è¤¦¤Ê·Á¤Ç½ñ¤­¤Þ¤¹¡§
-
-@example
-[client]
-password=your_pass
-@end example
-
-¤â¤· @file{.my.cnf} ¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥¹¥ï¡¼¥É¤ò½ñ¤¤¤Æ¤¤¤ë¤Ê¤é¡¢¥Õ¥¡¥¤¥ë¤Ï¥°¥ë¡¼¥×¤ä
-¤½¤Î¾¤Î¥æ¡¼¥¶¡¼¤¬Æɤ߽ñ¤­¤Ç¤­¤Ê¤¤¤è¤¦¤Ë¤¹¤Ù¤­¤Ç¤¹¡£¥Õ¥¡¥¤¥ë¤Î¥â¡¼¥É¤Ï @code{400}
-¤« @code{600} ¤Ë¤·¤Þ¤¹¡£
-
-@xref{Option files}.
-@item
-@code{MYSQL_PWD} ´Ä¶­ÊÑ¿ô¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤·¤«¤·¤³¤ÎÊýË¡¤Ï
-¤­¤ï¤á¤Æ´í¸±¤Ç¤¢¤ë¤Î¤Ç¡¢»ÈÍѤ¹¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-@code{ps} ¤Î¤¢¤ë¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢¼Â¹ÔÃæ¤Î¥×¥í¥»¥¹¤Î´Ä¶­ÊÑ¿ô¤òɽ¼¨¤¹¤ë¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡¨
-¤â¤· @code{MYSQL_PWD} ´Ä¶­ÊÑ¿ô¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤Æ¤¤¤ë¤ÈÁ´¤Æ¤Ù¤¿¤Ç¸«¤ì¤Þ¤¹¡£
-¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Î @code{ps} ¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¥·¥¹¥Æ¥à¤À¤È¤·¤Æ¤â¡¢¥×¥í¥»¥¹¤Î´Ä¶­ÊÑ¿ô¤òÄ´¤Ù¤ë
-ÊýË¡¤¬¤Ê¤¤¤È¤Ï¤¤¤¨¤Ê¤¤¤Î¤Ç¡¢¤³¤ÎÊýË¡¤Ï¤¢¤Þ¤ê¤¤¤¤ÊýË¡¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-@xref{Environment variables}.
-@end itemize
-
-¤Þ¤È¤á¤ë¤È¡¢¤è¤ê°ÂÁ´¤ÊÊýË¡¤Ï¡¢
-¥Ñ¥¹¥ï¡¼¥É¥×¥í¥ó¥×¥È¤òÊÖ¤¹¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤«¡¢
-ŬÀڤʥѡ¼¥ß¥Ã¥·¥ç¥ó¤ò¤«¤±¤¿ @file{.my.cnf} ¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥¹¥ï¡¼¥É¤ò½ñ¤¯¤«
-¤Ç¤¹¡£
-
-
-@node Privileges provided, Privileges, Password security, Privilege system
-@section @strong{MySQL} ¤¬Ä󶡤¹¤ë¸¢¸Â
-
-¸¢¸Â¤ÎÀßÄê¤Ï @code{mysql} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î @code{user}, @code{db}, @code{host},
- @code{tables_priv}, @code{columns_priv} ¤Ç¹Ô¤¤¤Þ¤¹¡£
-(@code{mysql} ¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î̾Á°¤Ç¤¹)
-@strong{MySQL} ¥µ¡¼¥Ð¡¼¤Ï¡¢¥µ¡¼¥Ð¡¼¤Îµ¯Æ°»þ¤«
- @ref{Privilege changes} ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ëÊýË¡¤Ë¤è¤ê¡¢
-¤³¤ì¤é¤Î¥Æ¡¼¥Ö¥ë¤«¤é¸¢¸Â¤ÎÀßÄê¤òÆɤ߹þ¤ß¤Þ¤¹¡£
-
-@strong{MySQL} ¤¬Ä󶡤¹¤ë¸¢¸Â¤Î̾¾Î¤Ï,
-Ëܥޥ˥奢¥ë¤Ç¤Ï°Ê²¼¤Îɽ¤Î̾¾Î¤òÍѤ¤¤Þ¤¹¡£
-¤³¤Îɽ¤Î¹àÌÜ̾¤¬¤½¤ì¤¾¤ì¤Îµö²Ä¤µ¤ì¤ë¸¢¸Â¤È¤½¤ÎÀâÌÀ¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡§
-
-@multitable @columnfractions .15 .25 .6
-@item @strong{Privilege} @tab @strong{Column} @tab @strong{Context}
-@item @strong{select} @tab @code{Select_priv} @tab tables
-@item @strong{insert} @tab @code{Insert_priv} @tab tables
-@item @strong{update} @tab @code{Update_priv} @tab tables
-@item @strong{delete} @tab @code{Delete_priv} @tab tables
-@item @strong{index} @tab @code{Index_priv} @tab tables
-@item @strong{alter} @tab @code{Alter_priv} @tab tables
-@item @strong{create} @tab @code{Create_priv} @tab databases, tables or indexes
-@item @strong{drop} @tab @code{Drop_priv} @tab databases or tables
-@item @strong{grant} @tab @code{Grant_priv} @tab databases or tables
-@item @strong{references} @tab @code{References_priv} @tab databases or tables
-@item @strong{reload} @tab @code{Reload_priv} @tab server administration
-@item @strong{shutdown} @tab @code{Shutdown_priv} @tab server administration
-@item @strong{process} @tab @code{Process_priv} @tab server administration
-@item @strong{file} @tab @code{File_priv} @tab file access on server
-@end multitable
-
-@strong{select}, @strong{insert}, @strong{update}, @strong{delete} ¤Î¸¢¸Â¤Ï¡¢
-¸ºß¤·¤Æ¤¤¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æµö²Ä¤µ¤ì¤Þ¤¹¡£
-
-¤â¤·¥Æ¡¼¥Ö¥ë¤«¤é¹Ô¤ò¼è¤ê½Ð¤¹¤À¤±¤Ê¤é¡¢@code{SELECT} ¹½Ê¸¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë¤Ï
- @strong{select} ¸¢¸Â¤À¤±¤¢¤ì¤Ð¤«¤Þ¤¤¤Þ¤»¤ó¡£
-¤À¤±¤Ç¤Ê¤¯¡¢¥µ¡¼¥Ð¡¼¤Î¤É¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¯¥»¥¹¤òµö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤â¡¢
-¤¢¤ë¼ï¤Î @code{SELECT} ¤Ï¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-Î㤨¤Ð¡¢´Êñ¤Ê·×»»¤ò @code{mysql} ¥¯¥é¥¤¥¢¥ó¥È¤Ç¹Ô¤¦¾ì¹ç¤Ç¤¹¡§
-
-@example
-mysql> SELECT 1+1;
-mysql> SELECT PI()*2;
-@end example
-
-@strong{index} ¸¢¸Â¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎºîÀ®¤ÈÇË´þ(ºï½ü)¤òµö²Ä¤·¤Þ¤¹¡£
-
-@strong{alter} ¸¢¸Â¤Ï @code{ALTER TABLE} ¤Î¼Â¹Ô¤òµö²Ä¤·¤Þ¤¹¡£
-
-@strong{create} ¤È @strong{drop} ¸¢¸Â¤Ï¡¢¿·¤·¤¤¥Ç¡¼¥¿¥Ù¡¼¥¹¤ä¥Æ¡¼¥Ö¥ë¤ÎºîÀ®¡¢
-¤¢¤ë¤¤¤Ï´û¤Ë¸ºß¤¹¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¡¢¥Æ¡¼¥Ö¥ë¤ÎÇË´þ(ºï½ü)¤òµö²Ä¤·¤Þ¤¹¡£
-
-Ãí°Õ¡§ @code{mysql} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥æ¡¼¥¶¡¼¤Ë @strong{drop} ¸¢¸Â¤òÍ¿¤¨¤ë¤È¡¢
-¤½¤Î¥æ¡¼¥¶¡¼¤Ï @strong{MySQL} ¤Î¥¢¥¯¥»¥¹¸¢¸Â¤¬³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÇË´þ¤Ç¤­¤Þ¤¹¡ª
-
-@strong{grant} ¸¢¸Â¤Ï¡¢¤¢¤Ê¤¿¤¬Â¾¤Î¥æ¡¼¥¶¡¼¤ËÂФ·¤Æ¼«Ê¬¤Î¸¢¸Â¤ò»ý¤¿¤»¤ë»ö¤òµö²Ä¤·¤Þ¤¹¡£
-
- @strong{file} ¤Î¸¢¸Â¤òÍ¿¤¨¤ë¤È¡¢@code{LOAD DATA INFILE} ¤È @code{SELECT ... INTO OUTFILE} ¹½Ê¸¤ò»ÈÍѤ·¤Æ¡¢¥µ¡¼¥Ð¡¼¤Î¥Õ¥¡¥¤¥ë¤òÆɤ߽ñ¤­¤¹¤ë»ö¤¬¤Ç¤­¤Þ¤¹¡£
- @strong{MySQL} ¥µ¡¼¥Ð¡¼¤¬¤¬Æɤ߽ñ¤­¤Ç¤­¤ë¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¡¢¤³¤Î¸¢¸Â¤¬Í¿¤¨¤é¤ì¤¿¥æ¡¼¥¶¡¼¤Ï¥Õ¥¡¥¤¥ë¤òÆɤ߽ñ¤­¤Ç¤­¤Þ¤¹¡£
-
-»Ä¤ê¤Î¸¢¸Â¤Ï¥¢¥É¥ß¥óÁàºî¤Ë´Ø¤¹¤ëµö²Ä¤Ç¡¢@code{mysqladmin} ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¼Â¹Ô¤·¤Þ¤¹¡£
-¼¡¤Îɽ¤Ë @code{mysqladmin} ¥³¥Þ¥ó¥É¤Î¤É¤ì¤¬¡¢¤É¤Î¸¢¸Â¤ËÂбþ¤·¤Æ¤¤¤ë¤«¤ò¼¨¤·¤Þ¤¹¡§
-
-@multitable @columnfractions .15 .85
-@item @strong{Privilege} @tab @strong{Commands permitted to privilege holders}
-@item @strong{reload} @tab @code{reload}, @code{refresh},
-@code{flush-privileges},
-@code{flush-hosts}, @code{flush-logs}, @code{flush-tables}
-@item @strong{shutdown} @tab @code{shutdown}
-@item @strong{process} @tab @code{processlist}, @code{kill}
-@end multitable
-
-@code{reload} ¥³¥Þ¥ó¥É¤Ï¥µ¡¼¥Ð¡¼¤Ë¸¢¸Â¤ÎÀßÄê¤òºÆÆɹþ¤µ¤»¤ë¤è¤¦¤ËÅÁ¤¨¤Þ¤¹¡£
-@code{refresh} ¥³¥Þ¥ó¥É¤ÏÁ´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ò¥Õ¥é¥Ã¥·¥å¤·¡¢¥í¥°¥Õ¥¡¥¤¥ë¤ò³«¤­Ä¾¤·¤Þ¤¹¡£
-@code{flush-privileges} ¤Ï @code{reload} ¤ÈƱµÁ¤Ç¤¹¡£
-¤½¤Î¾¤Î @code{flush-*} ¥³¥Þ¥ó¥É¤Ï @code{refresh} ¤ÎÆ°ºî¤È¤è¤¯»÷¤Æ¤¤¤Þ¤¹¤¬¡¢
-ŬÍÑÈϰϤò¹Ê¤Ã¤Æ¤ª¤ê¡¢¤Á¤ç¤Ã¤È¤·¤¿¾ì¹ç¤ËÍ­¸ú¤Ç¤¹¡£
-Î㤨¤Ð¡¢¥í¥°¥Õ¥¡¥¤¥ë¤À¤±¤ò¥Õ¥é¥Ã¥·¥å¤·¤¿¤¤¾ì¹ç¡¢
-@code{refresh} ¤ò¹Ô¤¦¤è¤ê¤â @code{flush-logs} ¤¬¤¤¤¤¤Ç¤¹¡£
-
-@code{shutdown} ¥³¥Þ¥ó¥É¤Ï¡¢¥µ¡¼¥Ð¡¼¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤·¤Þ¤¹¡£
-
-@code{processlist} ¥³¥Þ¥ó¥É¤Ï¥µ¡¼¥Ð¡¼¤¬¼Â¹Ô¤·¤Æ¤¤¤ë¥¹¥ì¥Ã¥É¤Î¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£
- @code{kill} ¥³¥Þ¥ó¥É¤Ï¥µ¡¼¥Ð¡¼¤Î¥¹¥ì¥Ã¥É¤òkill¤·¤Þ¤¹¡£
-¼«Ê¬¤Î¥¹¥ì¥Ã¥É¤Ï¾ï¤Ëɽ¼¨¡¢kill¤Ç¤­¤Þ¤¹¤¬¡¢Â¾¿Í¤Î¥¹¥ì¥Ã¥É¤ò¤½¤¦¤¹¤ë¤Ë¤Ï @strong{process} ¸¢¸Â¤¬É¬ÍפǤ¹¡£
-
-¤¢¤ë¸¢¸Â¤òÍߤ·¤¬¤ë¥æ¡¼¥¶¡¼¤À¤±¤Ë¤½¤Î¸¢¸Â¤òµö²Ä¤¹¤ë¤Î¤Ï¤è¤¤¹Í¤¨¤Ç¤¹¤¬¡¢
-¸¢¸Â¤òÍ¿¤¨¤ë¤È¤­¤Ë¤Ï¡¢ÆÃÄê¤Î»ö¹à¤ò½ÏÃΤ·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡§
-
-@itemize @bullet
-@item
-@strong{grant} ¸¢¸Â¤òµö²Ä¤µ¤ì¤¿¥æ¡¼¥¶¡¼¤Ï¡¢Â¾¤Î¥æ¡¼¥¶¡¼¤Î¸¢¸Â¤òÊѤ¨¤ë»ö¤¬¤Ç¤­¤Þ¤¹¡£
-Æó¿Í¤Î¥æ¡¼¥¶¡¼´Ö¤Ç°ã¤Ã¤Æ¤¤¤ë¸¢¸Â¤È @code{grant} ¸¢¸Â¤òÆþ¤ì´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@item
-@strong{alter} ¸¢¸Â¤Ï¡¢¥Æ¡¼¥Ö¥ë̾¤ÎÊѹ¹¤ò¹Ô¤¦¤³¤È¤Ë¤è¤êÆø¢¥·¥¹¥Æ¥à¤òÇˤ뤿¤á¤Ë
-»ÈÍѤµ¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-
-@item
-@strong{file} ¸¢¸Â¤Ï¡¢¥µ¡¼¥Ð¡¼¾å¤Ë¤¢¤ëÁ´¤Æ¤ÎÆɤ߹þ¤ß²Äǽ¤Ê¥Õ¥¡¥¤¥ë¤ò
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¼è¤ê¹þ¤à¤³¤È¤¬¤Ç¤­¡¢¤³¤ì¤Ï @code{SELECT} ʸ¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£
-This includes the contents of all databases
-hosted by the server!
-
-@item
-@strong{shutdown} ¸¢¸Â¤Ï¡¢Â¾¤Î¥æ¡¼¥¶¡¼¤ËÂФ¹¤ë¥µ¡¼¥Ó¥¹¤ò¡¢¥µ¡¼¥Ð¡¼¤ò
-Ää»ß¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢µñÈݤ¹¤ë¤è¤¦¤Ë¤Ç¤­¤Þ¤¹¡£
-
-@item
-@strong{process} ¸¢¸Â¤Ï¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥¯¥¨¥ê¡¼¤ò¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È¤Ç¸«¤ë¤³¤È¤Ë»È¤¨¤Þ¤¹¡£
-¥Ñ¥¹¥ï¡¼¥É¤ÎÀßÄê¡¢Êѹ¹¤Î¥¯¥¨¥ê¡¼¤â´Þ¤ß¤Þ¤¹¡£
-
-@item
- @code{mysql} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ·¤Æ¤Î¸¢¸Â¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹¤È¾¤Î¸¢¸Â¤ÎÀßÄê¤òÊѹ¹¤¬¤Ç¤­¤Þ¤¹¡£
-¥Ñ¥¹¥ï¡¼¥É¤Ï°Å¹æ²½¤µ¤ì¤ÆÅÐÏ¿¤µ¤ì¤Æ¤ª¤ê¡¢°­°Õ¤Î¤¢¤ë¥æ¡¼¥¶¡¼¤Ç¤â
-ñ½ã¤ËÆɤळ¤È¤Ï¤Ç¤­¤Þ¤»¤ó¤¬¡¢¤³¤Î¸¢¸Â¤òµö²Ä¤µ¤ì¤¿¤½¤Î¥æ¡¼¥¶¡¼¤Ï¡¢
-¥Ñ¥¹¥ï¡¼¥É¤ò°ã¤¦¤â¤Î¤ËÊѤ¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@end itemize
-
-°Ê²¼¤Ï @strong{MySQL} ¤ÎÆø¢¥·¥¹¥Æ¥à¤Ç¹Ô¤¦¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡§
-
-@itemize @bullet
-@item
-¥¢¥¯¥»¥¹¤òµñÈݤ¹¤ë¥æ¡¼¥¶¡¼¤òÆÃÄꤷ¤ÆÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
-´°Á´¤Ë°ìÃפ·¤¿¥æ¡¼¥¶¡¼¤«¤é¤ÎÀܳ¤òµñÈݤǤ­¤Þ¤»¤ó¡£
-
-@item
-¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î¥Æ¡¼¥Ö¥ë¤ÎºîÀ®¡¢ÇË´þ¤Î¸¢¸Â¤ò»ý¤Ä¤¬¡¢
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤½¤Î¤â¤Î¤òºîÀ®¡¢ÇË´þ¤Ç¤­¤ë¡¢¤½¤Î¤è¤¦¤Ê¥æ¡¼¥¶¡¼¤òÀßÄê¤Ç¤­¤Þ¤»¤ó¡£
-@end itemize
-
-
-@node Privileges, Connection access, Privileges provided, Privilege system
-@section Æø¢¥·¥¹¥Æ¥à¤Ï¤É¤Î¤è¤¦¤ËÆ°¤¯¤«¡©
-
-@strong{MySQL} ¤ÎÆø¢¥·¥¹¥Æ¥à¤Ï¡¢Á´¤Æ¤Î¥æ¡¼¥¶¡¼¤¬Í¿¤¨¤é¤ì¤¿µö²Ä¤ÎÈÏ°ÏÆâ¤ÇÆ°¤¯»ö¤òÊݾڤ·¤Þ¤¹¡£
-@strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËÀܳ¤¹¤ë¤È¤­¡¢Ëܿͤοȸµ¤Ï¡¢@strong{Àܳ¸µ¤Î¥Û¥¹¥È} ¤È
- @strong{Àܳ¤Ë»ÈÍѤ¹¤ë¥æ¡¼¥¶¡¼Ì¾} ¤Ë¤è¤Ã¤Æ³Îǧ¤µ¤ì¤Þ¤¹¡£
-¤³¤Î¥·¥¹¥Æ¥à¤Ï¡¢¤¢¤Ê¤¿¤Î¿È¸µ¤È@strong{¤¢¤Ê¤¿¤¬Í׵᤹¤ë¤³¤È¤¬²¿¤«} ¤Ë¤è¤Ã¤Æ¡¢¸¢¸Â¤òÍ¿¤¨¤Þ¤¹¡£
-
-@strong{MySQL} ¤Ï¤¢¤Ê¤¿¤Î¥Û¥¹¥È̾¤È¥æ¡¼¥¶¡¼Ì¾¤ÎξÊý¤ò¤¢¤ï¤»¤Æ¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤ËƱ¤¸Ì¾Á°¤Î¥æ¡¼¥¶¡¼¤¬¤É¤³¤«¤Ë¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¤È¤¤¤¦¤³¤È¤«¤é¤½¤¦¤·¤Æ¤¤¤Þ¤¹¡£
-Î㤨¤Ð¡¢@code{whitehouse.gov} ¤«¤éÀܳ¤·¤Æ¤­¤¿ @code{bill} ¤È¡¢
- @code{microsoft.com} ¤«¤éÀܳ¤·¤Æ¤­¤¿ @code{bill} ¤ÏƱ°ì¿Íʪ¤Ç¤¢¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-@strong{MySQL} ¤Ï¤³¤Î°ã¤¦¥Û¥¹¥È¤«¤éÀܳ¤·¤Æ¤­¤¿Æ±Ì¾¤Î¥æ¡¼¥¶¡¼¤ò°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ°·¤¤¤Þ¤¹¡§
- @code{whitehouse.gov} ¤«¤éÀܳ¤·¤¿ @code{bill} ¤Ë¤¢¤ëµö²Ä¤ò¤¢¤¿¤¨¡¢
-¤½¤ì¤È¤Ï°ã¤¦µö²Ä¤ò @code{microsoft.com} ¤«¤éÀܳ¤·¤Æ¤­¤¿ @code{bill} ¤ËÍ¿¤¨¤Þ¤¹¡£
-
-@strong{MySQL} ¤Î¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë¤Ï°Ê²¼¤ÎÆó¤Ä¤«¤é¤Ê¤ê¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-Stage 1: ¥µ¡¼¥Ð¡¼¤ÏÀܳµö²Ä¤¬¤¢¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
-
-@item
-Stage 2: Àܳµö²Ä¸å¡¢¥µ¡¼¥Ð¡¼¤Ï¤½¤ì¤¾¤ì¤Î¥ê¥¯¥¨¥¹¥È¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
-¤¢¤Ê¤¿¤¬Í׵ᤷ¤Æ¤­¤¿»öÊÁ¤ò¡¢¤¢¤Ê¤¿¤¬¼Â¹Ô¤Ç¤­¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
-Î㤨¤Ð¡¢¤¢¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Æ¡¼¥Ö¥ë¤Î¹Ô¤Î¼è¤ê½Ð¤·¤ä¥Æ¡¼¥Ö¥ë¤ÎÇË´þ¤ò¤¢¤Ê¤¿¤¬Ì¿Îᤷ¤¿¾ì¹ç¡¢
-¥µ¡¼¥Ð¡¼¤Ï¡¢¤¢¤Ê¤¿¤Ë¤½¤Î¥Æ¡¼¥Ö¥ë¤ËÂФ¹¤ë @strong{select} µö²Ä¤¬¤¢¤ë¤Î¤«¡¢
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ·¤Æ @strong{drop} ¤¹¤ëµö²Ä¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤ë¤Î¤«¡¢¤ò³Îǧ¤·¤Þ¤¹¡£
-@end itemize
-
-¥µ¡¼¥Ð¡¼¤Ï @code{mysql} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î @code{user}, @code{db}, @code{host} £³¤Ä¤Î¥Æ¡¼¥Ö¥ë¤«¤é¡¢
-¤³¤Î£²¤Ä¤Î¥¢¥¯¥»¥¹À©¸Â¤ò·èÄꤷ¤Þ¤¹¡£
-¤³¤Î¥Æ¡¼¥Ö¥ë¤Î¥Õ¥£¡¼¥ë¥É¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡§
-
-@multitable @columnfractions .2 .25 .25 .25
-@item @strong{Table name} @tab @code{user} @tab @code{db} @tab @code{host}
-
-@item @strong{Scope fields} @tab @code{Host} @tab @code{Host} @tab @code{Host}
-@item @tab @code{User} @tab @code{Db} @tab @code{Db}
-@item @tab @code{Password} @tab @code{User} @tab
-
-@item @strong{Privilege fields} @tab @code{Select_priv} @tab @code{Select_priv} @tab @code{Select_priv}
-@item @tab @code{Insert_priv} @tab @code{Insert_priv} @tab @code{Insert_priv}
-@item @tab @code{Update_priv} @tab @code{Update_priv} @tab @code{Update_priv}
-@item @tab @code{Delete_priv} @tab @code{Delete_priv} @tab @code{Delete_priv}
-@item @tab @code{Index_priv} @tab @code{Index_priv} @tab @code{Index_priv}
-@item @tab @code{Alter_priv} @tab @code{Alter_priv} @tab @code{Alter_priv}
-@item @tab @code{Create_priv} @tab @code{Create_priv} @tab @code{Create_priv}
-@item @tab @code{Drop_priv} @tab @code{Drop_priv} @tab @code{Drop_priv}
-@item @tab @code{Grant_priv} @tab @code{Grant_priv} @tab @code{Grant_priv}
-@item @tab @code{References_priv} @tab @tab
-@item @tab @code{Reload_priv} @tab @tab
-@item @tab @code{Shutdown_priv} @tab @tab
-@item @tab @code{Process_priv} @tab @tab
-@item @tab @code{File_priv} @tab @tab
-@end multitable
-
-¡¡¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë¤ÎÂè2Ãʳ¬(Í׵᾵ǧ)¤Î¤¿¤á¤Ë¡¢¥µ¡¼¥Ð¡¼¤Ï¤³¤ì¤é 3 ¤Ä¤Î
-¥Æ¡¼¥Ö¥ë¤Ë¤è¤Ã¤Æ·è¤á¤é¤ì¤¿µö²Ä¤ò´ðËܤȤ·¤Þ¤¹¤¬¡¢¤â¤·¥Æ¡¼¥Ö¥ë¤ËÂФ¹¤ëÍ×µá¤Ç
-¤¢¤ë¤Ê¤é¤Ð¡¢@code{tables_priv} ¤È @code{columns_priv} ¥Æ¡¼¥Ö¥ë¤ò
-¤µ¤é¤ËÄ´¤Ù¤Þ¤¹¡£¤³¤ì¤é¤Î¥Æ¡¼¥Ö¥ë¤Î¥Õ¥£¡¼¥ë¥É¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡§
-
-@multitable @columnfractions .2 .25 .25
-@item @strong{Table name} @tab @code{tables_priv} @tab @code{columns_priv}
-
-@item @strong{Scope fields} @tab @code{Host} @tab @code{Host}
-@item @tab @code{Db} @tab @code{Db}
-@item @tab @code{User} @tab @code{User}
-@item @tab @code{Table_name} @tab @code{Table_name}
-@item @tab @tab @code{Column_name}
-
-@item @strong{Privilege fields} @tab @code{Table_priv} @tab @code{Type}
-@item @tab @code{Column_priv} @tab
-
-@item @strong{Other fields} @tab @code{Timestamp} @tab @code{Timestamp}
-@item @tab @code{Grantor} @tab
-@end multitable
-
-¡¡¥Æ¡¼¥Ö¥ë¤Î³Æ¥Õ¥£¡¼¥ë¥É¤òʬÎह¤ë¤È¡¢£²¼ïÎà¤Ë¤ï¤«¤ì¤Þ¤¹¡§
-ŬÍÑÈϰϤò»ØÄꤹ¤ë¥Õ¥£¡¼¥ë¥É(°Ê²¼¡¡¥¹¥³¡¼¥×¥Õ¥£¡¼¥ë¥É)¤Èµö²Ä¤òÄêµÁ¤¹¤ë¥Õ¥£¡¼¥ë¥É(°Ê²¼¡¡¸¢¸Â¥Õ¥£¡¼¥ë¥É)¤Ç¤¹¡£
-
-¡¡¥¹¥³¡¼¥×¥Õ¥£¡¼¥ë¥É¤Ï¡¢¸¢¸Â¥Æ¡¼¥Ö¥ë¤ÎÅÐÏ¿¤´¤È¤Ë¡¢¤½¤ÎŬÍÑÈϰϤò·è¤á¤Þ¤¹¡£
-Î㤨¤Ð¡¢ @code{user} ¥Æ¡¼¥Ö¥ë¤Î @code{Host} ¤È @code{User} ¤Ë
- @code{'thomas.loc.gov'} ¤È @code{'bob'} ¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-¥µ¡¼¥Ð¡¼¤Ø¤ÎÀܳ¤Ï ¥Û¥¹¥È @code{thomas.loc.gov} ¤«¤éÍ褿 @code{'bob'} ¤Ëµö²Ä¤µ¤ì¤Þ¤¹¡£
-ƱÍͤˡ¢@code{db} ¥Æ¡¼¥Ö¥ë¤Î @code{Host}, @code{User}, @code{Db} ¤Ë
- @code{'thomas.loc.gov'}, @code{'bob'}, @code{'reports'} ¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤È¡¢
-¥Û¥¹¥È @code{thomas.loc.gov} ¤«¤éÍ褿 @code{bob} ¤ËÂФ· @code{reports} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤ÎÀܳ¤¬µö¤µ¤ì¤Þ¤¹¡£
-@code{tables_priv} ¤È @code{columns_priv} ¥Æ¡¼¥Ö¥ë¤Ï¡¢
-¥Æ¡¼¥Ö¥ë¤«¡¢¥Æ¡¼¥Ö¥ë¤È¥Õ¥£¡¼¥ë¥É¤òÂФˤ·¤¿¥¹¥³¡¼¥×¥Õ¥£¡¼¥ë¥É¤ò´Þ¤ß¤Þ¤¹¡£
-
-@cindex Case sensitivity, in access checking
-¡¡¥¢¥¯¥»¥¹¤Î¥Á¥§¥Ã¥¯¤Ï¡¢@code{Host} ¤ÎÃͤϥ±¡¼¥¹Èó°Í¸¤ÇÈæ³Ó¤µ¤ì¤Þ¤¹¡£
-@code{User}, @code{Password}, @code{Db}, @code{Table_name} ¤ÎÃͤϥ±¡¼¥¹°Í¸¤ÇÈæ³Ó¤µ¤ì¤Þ¤¹¡£
-@code{Column_name} ¤ÎÃÍ¤Ï @strong{MySQL} 3.22.12 °Ê¾å¤Ç¤Ï¥±¡¼¥¹Èó°Í¸¤ÇÈæ³Ó¤µ¤ì¤Þ¤¹¡£
-(3.22.11 ¤Þ¤Ç¤Ï ¥±¡¼¥¹°Í¸¤Ç¤¹)
-
-¸¢¸Â¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤µ¤ì¤ë¤³¤È¤Ë¤è¤êÍ­¸ú¤Ë¤Ê¤Ã¤¿µö²Ä¤ò¤·¤á¤·¡¢
-¤³¤ì¤Ï¤É¤ÎÁàºî¤¬¼Â¹Ô¤Ç¤­¤ë¤«¤ò¼¨¤·¤Þ¤¹¡£
-¥µ¡¼¥Ð¡¼¤Ïµö²Ä¥Æ¡¼¥Ö¥ë¤Î¾ðÊó¤ò¥æ¡¼¥¶¡¼¤Î¸¢¸Â¤òÆÀ¤ë¤¿¤á¤Ë¤Þ¤È¤á¤Þ¤¹¡£
-¤³¤Î¥æ¡¼¥¶¡¼¤Î¸¢¸Âµö²Ä¤ò³ä¤ê½Ð¤¹ÊýË¡¤Ï @ref{Request access} ¤Ë½Ò¤Ù¤Æ¤ª¤­¤Þ¤¹¡£
-
-¥¹¥³¡¼¥×¥Õ¥£¡¼¥ë¥É¤Ïʸ»ú¤ÇÄêµÁ¤µ¤ì¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤ϶õʸ»ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡§
-
-@multitable @columnfractions .15 .15 .7
-@item @strong{Field name} @tab @strong{Type}
-@item @code{Host} @tab @code{CHAR(60)}
-@item @code{User} @tab @code{CHAR(16)}
-@item @code{Password} @tab @code{CHAR(16)}
-@item @code{Db} @tab @code{CHAR(64)} @tab (@code{CHAR(60)} for the
-@code{tables_priv} and @code{columns_priv} tables)
-@item @code{Table_name} @tab @code{CHAR(60)}
-@item @code{Column_name} @tab @code{CHAR(60)}
-@end multitable
-
-@code{user}, @code{db}, @code{host} ¥Æ¡¼¥Ö¥ë¤Ç¤Ï¡¢
-Á´¤Æ¤Î¸¢¸Â¥Õ¥£¡¼¥ë¥É¤Ï @code{ENUM('N','Y')} ¤ÇÄêµÁ¤µ¤ì¤Þ¤¹¡£
-¤³¤ÎÃÍ¤Ï @code{'N'} ¤« @code{'Y'} ¤Î¤É¤Á¤é¤«¤Ç¡¢¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï @code{'N'} ¤Ç¤¹¡£
-
-@code{tables_priv} ¤È @code{columns_priv} ¥Æ¡¼¥Ö¥ë¤Ç¤Ï¡¢
-¸¢¸Â¥Õ¥£¡¼¥ë¥É¤Ï @code{SET} ¥Õ¥£¡¼¥ë¥É¤È¤·¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡§
-
-@multitable @columnfractions .2 .2 .6
-@item @strong{Table name} @tab @strong{Field name} @tab @strong{Possible set elements}
-@item @code{tables_priv} @tab @code{Table_priv} @tab @code{'Select', 'Insert',
-'Update', 'Delete', 'Create', 'Drop', 'Grant', 'References', 'Index', 'Alter'}
-@item @code{tables_priv} @tab @code{Column_priv} @tab @code{'Select', 'Insert',
-'Update', 'References'}
-@item @code{columns_priv} @tab @code{column_priv} @tab @code{'Select', 'Insert',
-'Update', 'References'}
-@end multitable
-
-¥µ¡¼¥Ð¡¼¤Ï°Ê²¼¤Î¤è¤¦¤Ëµö²Ä¥Æ¡¼¥Ö¥ë¤ò»ÈÍѤ·¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-@code{user} ¥Æ¡¼¥Ö¥ë¤Î¥¹¥³¡¼¥×¥Õ¥£¡¼¥ë¥É¤Ï¡¢ÀܳÍ×µá¤ò¼õ¤±Æþ¤ì¤ë¤«µñÈݤ¹¤ë¤«¤ò·èÄꤷ¤Þ¤¹¡£
-For allowed connections, any privileges granted in
-the @code{user} table indicate the user's global (superuser) privileges.
-These privileges apply to @strong{all} databases on the server.
-(ÌõÃí¡§
-Î㤨¤Ð¡¢@code{user} ¥Æ¡¼¥Ö¥ë ¤Î¸¢¸Â¤ò @code{'Y'} ¤Ë¤·¤¿¾ì¹ç¡¢
-¤É¤ó¤Ê¤Ë @code{Db} ¤ä @code{Host} ¤Ç @code{'N'} ¤Ë¤·¤¿¤È¤·¤Æ¤â @code{'Y'} ¤Î¤Þ¤Þ¤Ç¤¢¤ë¡£
-¤è¤¦¤Ï @code{user} ¥Æ¡¼¥Ö¥ë¤Î¸¢¸Âµö²Ä @code{'Y'} ¤¬Á´¤Æ¤ËÈ¿±Ç¤µ¤ì¤Æ¤·¤Þ¤¦¤È¤¤¤¦»ö¡£
-@code{user} ¥Æ¡¼¥Ö¥ë¤Ë¤ÏºÇÄã¸Â¤Îµö²Ä¤òÍ¿¤¨¤ë¤è¤¦¤Ë¤·¡¢
-@code{Db} ¤ä @code{Host} ¤´¤È¤Ë¡¢¤½¤ì¤¾¤ì¤Î¸¢¸Âµö²Ä¤òÄêµÁ¤¹¤ëÊý¤¬ÌµÆñ¡£
-)
-
-@item
-@code{db} ¤È @code{host} ¥Æ¡¼¥Ö¥ë¤Ï°ì½ï¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡§
-
-@itemize @minus
-@item
-@code{db} ¥Æ¡¼¥Ö¥ë¤Î¥¹¥³¡¼¥×¥Õ¥£¡¼¥ë¥É¤Ï¤É¤Î¥Û¥¹¥È¤«¤é¤É¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥¢¥¯¥»¥¹¤Ç¤­¤ë¤«¤ò·èÄꤷ¤Þ¤¹¡£
-¸¢¸Â¥Õ¥£¡¼¥ë¥É¤Ï¡¢¤É¤¦¤¤¤Ã¤¿Áàºî¤¬¤Ç¤­¤ë¤«ÄêµÁ¤·¤Þ¤¹¡£
-
-@item
-@code{host} ¥Æ¡¼¥Ö¥ë¤Ï¡¢@code{db} ¥Æ¡¼¥Ö¥ë¤ÎÅÐÏ¿¤Ë¤Ë¥Û¥¹¥È¤òÍ¿¤¨¤¿¾ì¹ç¤Ë¡¢
-@code{db} ¥Æ¡¼¥Ö¥ë¤Î³ÈÄ¥¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£
-Î㤨¤Ð¡¢¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¸ÂÄꤷ¤¿¥Þ¥·¥ó¤«¤é¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»ÈÍѤ·¤¿¤¤¾ì¹ç¡¢
-@code{db} ¥Æ¡¼¥Ö¥ë¤Î @code{Host} ¤ÎÃͤ϶õ¤Ë¤·¤Æ¤ª¤­¤Þ¤¹¡£
-¤½¤·¤Æ @code{host} ¥Æ¡¼¥Ö¥ë¤Ë¤½¤ì¤¾¤ì¤Î¥Û¥¹¥È¤Ë¤Ä¤¤¤Æ¤ÎÅÐÏ¿¤ò¹Ô¤¤¤Þ¤¹¡£
-¤³¤Îµ¡¹½¤Ï¡¢ @ref{Request access} ¤Ç¾ÜºÙ¤Ë½Ò¤Ù¤é¤ì¤Æ¤¤¤Þ¤¹¡£
-@end itemize
-
-@item
-@code{tables_priv} ¤È @code{columns_priv} ¥Æ¡¼¥Ö¥ë¤Ï @code{db} ¥Æ¡¼¥Ö¥ë¤Ë»÷¤Æ¤¤¤Þ¤¹¤¬¡¢
-¤½¤ì¤é¤Ï¤è¤êºÙ¤«¤¯ÄêµÁ¤Ç¤­¤Þ¤¹¡¨
-¥Ç¡¼¥¿¥Ù¡¼¥¹¥ì¥Ù¥ë¤Ç¤Ï¤Ê¤¯¡¢¥Æ¡¼¥Ö¥ë¤È¥Õ¥£¡¼¥ë¥É¤Î¥ì¥Ù¥ë¤ÇÍ¿¤¨¤Þ¤¹¡£
-@end itemize
-
-´ÉÍý¼Ô¸¢¸Â (@strong{reload}, @strong{shutdown},¤Ê¤É) ¤Ï @code{user} ¥Æ¡¼¥Ö¥ë¤Ë¤À¤±ÄêµÁ¤¹¤ë¤è¤¦¤Ë¡£
-¤³¤ì¤Ï¡¢´ÉÍý¼ÔÁàºî¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤Ï¤Ê¤¯¥µ¡¼¥Ð¡¼¤Ø¤ÎÁàºî¤Ç¤¢¤ê¡¢
-¾¤Îµö²Ä¥Æ¡¼¥Ö¥ë¤Ë¤¢¤ëɬÍפ¬¤Ê¤¤¤«¤é¤Ç¤¹¡£
-¤Þ¤¿¤³¤¦¤·¤Æ¤ª¤¯¤È¡¢´ÉÍý¼ÔÁàºî¤Îµö²Ä¤Ï¡¢@code{user} ¥Æ¡¼¥Ö¥ë¤ÎÄêµÁ¤À¤±¤ò
-¸«¤ì¤Ð¤ï¤«¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@strong{file} Áàºî¤Î¸¢¸Â¤Ï @code{user} ¥Æ¡¼¥Ö¥ë¤Ë¤À¤±ÄêµÁ¤¹¤ë¤è¤¦¤Ë¡£
-¤³¤ì¤Ï´ÉÍý¼ÔÁàºî¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤«¤«¤ï¤é¤º¡¢
-¥µ¡¼¥Ð¡¼Æâ¤Î¥Õ¥¡¥¤¥ë¤òÆɤ߽ñ¤­¤Ç¤­¤ë¤Î¤Ç¤¹¡£
-
-@code{mysqld} ¥µ¡¼¥Ð¡¼¤Ïµ¯Æ°»þ¤Ë¤³¤ì¤é¤Î¥Æ¡¼¥Ö¥ë¤òÆɤ߹þ¤ß¤Þ¤¹¡£
-µö²Ä¥Æ¡¼¥Ö¥ë¤ÎÊѹ¹¤òÈ¿±Ç¤µ¤»¤ëÊýË¡¤Ï¤³¤Á¤é¤ò»²¾È¤Î¤³¤È ¢ª @ref{Privilege changes}
-
-¤³¤ì¤é¤Î¥Æ¡¼¥Ö¥ë¤ÎÅÐÏ¿¤òÊѹ¹¤·¤¿¾ì¹ç¡¢»×¤Ã¤¿¤È¤ª¤ê¤Î¸¢¸Â¾õÂ֤ˤʤäƤ¤¤ë»ö¤ò³Îǧ¤¹¤ë¤³¤È¤Ï¤¤¤¤¤³¤È¤Ç¤¹¡£
-ÌäÂê¤Î²ò·è¤Ë¤Ï, @ref{Access denied}. ¥»¥­¥å¥ê¥Æ¥£¤Ë´Ø¤¹¤ë¥¢¥É¥Ð¥¤¥¹¤Ï
-@ref{Security}.
-
-ÊØÍø¤Ê¥Ä¡¼¥ë¤È¤·¤Æ @code{mysqlaccess} ¥¹¥¯¥ê¥×¥È( Yves Carlier ºî)¤¬ @strong{MySQL} ¤ÎÇÛÉۤ˴ޤޤì¤Æ¤¤¤Þ¤¹¡£
-@code{mysqlaccess} ¤ò @code{--help} ¥ª¥×¥·¥ç¥ó¤Çµ¯Æ°¤¹¤ë¤È¥Ø¥ë¥×¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-@code{mysqlaccess} ¤Ï @code{user},@code{db} and @code{host} ¥Æ¡¼¥Ö¥ë¤À¤±¤·¤«
-¸¡ºº¤·¤Þ¤»¤ó¡£¥Æ¡¼¥Ö¥ë¥ì¥Ù¥ë¤Î¸¢¸Â¡¢¥Õ¥£¡¼¥ë¥É¥ì¥Ù¥ë¤Î¸¢¸Â¤ÏÄ´¤Ù¤Þ¤»¤ó¡£
-
-
-@node Connection access, Request access, Privileges, Privilege system
-@section Access control, stage 1: Àܳ¤Î¾µÇ§
-
-@strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËÀܳ¤¹¤ë¤È¡¢¤¢¤Ê¤¿¤¬¥Ñ¥¹¥ï¡¼¥Éǧ¾Ú¤·¤ÆÀܳ¤·¤Æ¤¤¤è¤¦¤¬¤¤¤Þ¤¤¤¬¡¢
-¥µ¡¼¥Ð¡¼¤Ï¤¢¤Ê¤¿¤Î¿È¸µ¤Ë¤è¤êÀܳ¤Îµö²ÄµñÈݤò¹Ô¤¤¤Þ¤¹¡£
-¤â¤·¿È¸µ¤¬°ìÃפ·¤Ê¤¤¾ì¹çÀܳ¤òµñÈݤ·¡¢Àܳµö²Ä¤·¤¿¾ì¹ç¡¢¥µ¡¼¥Ð¡¼¤Ï stage 2 ¤Ø¤È¿Ê¤ß¡¢Í×µá¤òÂÔ¤Á¤Þ¤¹¡£
-
-¿È¸µ¤ÏÆó¤Ä¤Î¤â¤Î¤Ë´ð¤Å¤¤¤Æ³Îǧ¤µ¤ì¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¤¢¤Ê¤¿¤¬Àܳ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¥Û¥¹¥È
-
-@item
-¤¢¤Ê¤¿¤Î @strong{MySQL} ¥æ¡¼¥¶¡¼Ì¾
-@end itemize
-
-¿È¸µ¤Î³Îǧ¤Ï @code{user} ¥Æ¡¼¥Ö¥ë¤Î¥¹¥³¡¼¥×¥Õ¥£¡¼¥ë¥É(@code{Host}, @code{User}, @code{Password}) ¤ò»ÈÍѤ·¤Æ¹Ô¤¤¤Þ¤¹¡£
-¥µ¡¼¥Ð¡¼¤Ï @code{user} ¥Æ¡¼¥Ö¥ë¤ÎÅÐÏ¿¤Ë°ìÃפ·¤Æ¤¤¤ë¥Û¥¹¥È̾¤È¥æ¡¼¥¶¡¼Ì¾¤Ë¸Â¤êÀܳ¤òµö²Ä¤·¡¢¤½¤Î¸å¡¢¥Ñ¥¹¥ï¡¼¥É¤òÍ׵ᤷ¤Þ¤¹¡£
-
-@code{user} ¥Æ¡¼¥Ö¥ë¤Î¥¹¥³¡¼¥×¥Õ¥£¡¼¥ë¥É¤ÎÅÐÏ¿¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-@code{Host} ¤ÎÃͤϥۥ¹¥È̾¤« IP ¥¢¥É¥ì¥¹¤« @code{'localhost'}(¥í¡¼¥«¥ë¥Û¥¹¥È) ¤Ç¤¹¡£
-
-@item
-@cindex Wildcards, in @code{mysql.user} table
-@code{Host} ¤Ë¤Ï¥ï¥¤¥ë¥É¥«¡¼¥Éʸ»ú @samp{%} ¤È @samp{_} ¤ò»ÈÍѤǤ­¤Þ¤¹¡£
-
-@item
-@code{Host} ¤Ë @code{'%'} ¤òÀßÄꤹ¤ë¤È¡¢Á´¤Æ¤Î¥Û¥¹¥È¤Ë¥Þ¥Ã¥Á¤·¤Þ¤¹¡£
-@code{Host} ¤ò¶õ¤Ë¤¹¤ë¤È¡¢@code{'%'} ¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤³¤ì¤é¤ÎÃͤϡ¢@emph{¤É¤ó¤Ê¥Û¥¹¥È¤â¥µ¡¼¥Ð¡¼¤ËÀܳ¤Ç¤­¤ë}¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡ª
-
-@cindex Netmask notation, in @code{mysql.user} table
-@item
-As of MySQL 3.23, for @code{Host} values specified as IP numbers, you
-can specify a netmask indicating how many address bits to use for the
-network number. For example:
-
-@example
-GRANT ALL PRIVILEGES on db.* to david@'192.58.197.0/255.255.255.0';
-@end example
-
-This will allow everyone to connect from an IP where the following is true:
-
-@example
-user_ip & netmask = host_ip.
-@end example
-
-In the above example all IP:s in the interval 192.58.197.0 -
-192.58.197.255 can connect to the @strong{MySQL} server.
-
-@item
-@cindex Anonymous user
-¥ï¥¤¥ë¥É¥«¡¼¥Éʸ»ú¤Ï @code{User} ¥Õ¥£¡¼¥ë¥É¤Ë¤ÏÀßÄê¤Ç¤­¤Þ¤»¤ó¤¬¡¢
-@code{User} ¥Õ¥£¡¼¥ë¥É¤ò¥Ö¥é¥ó¥¯(¶õ)¤Ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¡£¥Ö¥é¥ó¥¯¤ÏÁ´¤Æ¤Î̾Á°¤Ë¥Þ¥Ã¥Á¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¥æ¡¼¥¶¡¼Ì¾¤¬¤Ê¤¤¾õÂÖ¤ÇÀܳ¤·¤Æ¤­¤¿¤â¤Î¤ËŬÍѤµ¤ì¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬¥æ¡¼¥¶¡¼Ì¾¤òÌÀµ­¤·¤Ê¤¤¸Â¤ê¡¢Æ¿Ì¾¥æ¡¼¥¶¡¼(̾Á°¤¬¥Ö¥é¥ó¥¯)¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
-Á´¤Æ¤Î¥¢¥¯¥»¥¹¤Î¥Á¥§¥Ã¥¯¤Ë¥Ö¥é¥ó¥¯¤Î¥æ¡¼¥¶¡¼Ì¾¤¬»ÈÍѤµ¤ì¤ë»ö¤ò°ÕÌ£¤·¤Þ¤¹¡£(that is, during stage 2)
-
-@item
-@code{Password} ¥Õ¥£¡¼¥ë¥É¤Ï¶õ¤Ë¤Ç¤­¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ê¤·¤ÆÀܳ¤Ç¤­¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-@end itemize
-
-@findex PASSWORD()
-Èó¥Ö¥é¥ó¥¯¤Î @code{Password} Ãͤϥѥ¹¥ï¡¼¥É¤ò°Å¹æ²½¤·¤¿¤â¤Î¤Ç¤¹¡£
-@strong{MySQL} ¤Ï¤À¤ì¤â¤¬¸«¤ì¤ë¤è¤¦¤Ë¥Ñ¥¹¥ï¡¼¥É¤òʿʸ¤Ç¤ÏÊݸ¤·¤Þ¤»¤ó¡£
-Àܳ¤ò»î¤ß¤è¤¦¤È¤·¤Æ¤¤¤ë¥æ¡¼¥¶¡¼¤Î¥Ñ¥¹¥ï¡¼¥É¤â¡¢(@code{PASSWORD()} ´Ø¿ô¤Ç)
-°Å¹æ²½¤µ¤ì¡¢@code{user} ¥Æ¡¼¥Ö¥ë¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë°Å¹æ²½¥Ñ¥¹¥ï¡¼¥É¤È
-Èæ³Ó¤·¤Þ¤¹¡£¤â¤·°ìÃפ·¤¿¤Ê¤é¡¢¥Ñ¥¹¥ï¡¼¥É¤ÏÀµ¤·¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
-
-°Ê²¼¤Îɽ¤Ï¡¢ÀܳÍ×µá¤ËÂФ·¤ÆÍ¿¤¨¤ë¡¢
-@code{user} ¥Æ¡¼¥Ö¥ë¤Î @code{Host} ¤È @code{User} ¤ÎÀßÄêÎã¤Ç¤¹¡§
-
-@multitable @columnfractions .25 .15 .60
-@item @code{Host} @strong{value} @tab @code{User} @strong{value} @tab @strong{Connections matched by entry}
-@item @code{'thomas.loc.gov'} @tab @code{'fred'} @tab @code{fred}, @code{thomas.loc.gov} ¤«¤éÀܳ
-@item @code{'thomas.loc.gov'} @tab @code{''} @tab @code{thomas.loc.gov} ¤«¤éÀܳ¤·¤Æ¤¯¤ëÁ´¤Æ¤Î¥æ¡¼¥¶¡¼
-@item @code{'%'} @tab @code{'fred'} @tab @code{fred}, Á´¤Æ¤Î¥Û¥¹¥È¤«¤éÀܳ
-@item @code{'%'} @tab @code{''} @tab Á´¤Æ¤Î¥Û¥¹¥È¤«¤éÀܳ¤·¤Æ¤¯¤ëÁ´¥æ¡¼¥¶¡¼
-@item @code{'%.loc.gov'} @tab @code{'fred'} @tab @code{fred}, @code{loc.gov} ¥É¥á¥¤¥óÆâ¤ÎÁ´¤Æ¤Î¥Û¥¹¥È¤«¤é¤ÎÀܳ
-@item @code{'x.y.%'} @tab @code{'fred'} @tab @code{fred}, @code{x.y.net}, @code{x.y.com},@code{x.y.edu}, ¤Ê¤É¤«¤é¤ÎÀܳ. (¤¢¤Þ¤êÍ­¸ú¤Ê»È¤¤Êý¤Ç¤Ï¤Ê¤¤¤Ç¤¹)
-@item @code{'144.155.166.177'} @tab @code{'fred'} @tab @code{fred}, IP address ¤¬ @code{144.155.166.177} ¤Î¥Û¥¹¥È¤«¤é¤ÎÀܳ
-@item @code{'144.155.166.%'} @tab @code{'fred'} @tab @code{fred}, @code{144.155.166} class C subnet Æâ¤ÎÁ´¤Æ¤Î¥Û¥¹¥È¤«¤é¤ÎÀܳ
-@item @code{'144.155.166.0/24'} @tab @code{'fred'} @tab Same as previous example
-@end multitable
-
-@code{Host} ¤Ë IP ¤Î¥ï¥¤¥ë¥É¥«¡¼¥É(Î㤨¤Ð @code{'144.155.166.%'} ¤Ï
-¥µ¥Ö¥Í¥Ã¥È¤ÎÁ´¤Æ¤Î¥Û¥¹¥È¤Ë¥Þ¥Ã¥Á) ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤¬¡¢¤³¤Î¾ì¹ç¡¢ @code{144.155.166.somewhere.com} ¤È¤¤¤¦¥Û¥¹¥È̾¤Ç
-¤À¤ì¤«¤¬Àܳ¤·¤è¤¦¤È¤·¤Æ¤¯¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-¤³¤Î¤è¤¦¤Ê¹¶·â¤ËÂФ·¡¢@strong{MySQL} ¤Ï¿ô»ú¤ä¥É¥Ã¥È¤Ç»Ï¤Þ¤ë¥Û¥¹¥È̾¤òµñÈݤ·¤Æ¤¤¤Þ¤¹¡£
-¤â¤· @code{1.2.foo.com} ¤Î¤è¤¦¤Ê̾Á°¤Î¥Û¥¹¥È¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢
-µö²Ä¥Æ¡¼¥Ö¥ë¤Î @code{Host} ¤Ë¤ÏÀäÂФ˥ޥåÁ¤·¤Þ¤»¤ó¡£
-IP¥¢¥É¥ì¥¹¤Î¤ß¡¢IP ¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¥Þ¥Ã¥Á¤¹¤ë»ö¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-¥µ¡¼¥Ð¡¼¤ËÍè¤ëÀܳ¤Ï¡¢@code{user} ¥Æ¡¼¥Ö¥ëÆâ¤ÎÅÐÏ¿¤Ë£±¤Ä°Ê¾å
-¥Þ¥Ã¥Á¤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-Î㤨¤Ð, @code{thomas.loc.gov} ¤Î @code{fred} ¤«¤é¤ÎÀܳ¤Ï¡¢¾å¤Ë¼¨¤µ¤ì¤¿
-ÅÐÏ¿¤Î¤¦¤Á¤Î¤¤¤¯¤Ä¤«¤Ë¥Þ¥Ã¥Á¤¹¤ë¤Ç¤·¤ç¤¦¡£
-¥µ¡¼¥Ð¡¼¤Ï¡¢Ê£¿ô¤ÎÅÐÏ¿¤Ë¥Þ¥Ã¥Á¤·¤¿¾ì¹ç¡¢¤É¤Î¤è¤¦¤Ë¤·¤Æ¤½¤ÎÃ椫¤é
-»ÈÍѤ¹¤ëÅÐÏ¿¤òÁª¤Ö¤Î¤Ç¤·¤ç¤¦¡©
-¥µ¡¼¥Ð¡¼¤Ïµ¯Æ°¸å¤Ë @code{user} ¥Æ¡¼¥Ö¥ë¤ò¥½¡¼¥È¤·¡¢Ê¤Ӵ¹¤¨¤é¤ì¤¿½ç¤Ë
-ÅÐÏ¿¤ò¸¡º÷¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¤³¤ÎÌäÂê¤ò²ò·è¤·¤Þ¤¹¡£
-ºÇ½é¤Ë¥Þ¥Ã¥Á¤·¤¿ÅÐÏ¿¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-
-@code{user} ¥Æ¡¼¥Ö¥ë¤¬°Ê²¼¤Î¤è¤¦¤Ë¥½¡¼¥È¤µ¤ì¤Æ¤¤¤¿¾ì¹ç¡§
-
-@example
-+-----------+----------+-
-| Host | User | ...
-+-----------+----------+-
-| % | root | ...
-| % | jeffrey | ...
-| localhost | root | ...
-| localhost | | ...
-+-----------+----------+-
-@end example
-
-¥µ¡¼¥Ð¡¼¤¬¤³¤Î¥Æ¡¼¥Ö¥ë¤òÆɤà¤È¡¢@code{Host} ¤ËÃͤ¬ºÇ¤â³Î¼Â¤ËÆÃÄê¤Ç¤­¤ë¥Û¥¹¥È¤ò»ØÄꤷ¤Æ¤¤¤ë¥¨¥ó¥È¥ê¤ò¡¢ºÇ½é¤Ë»²¾È¤·¤Þ¤¹¡£
-(@code{Host} ¹à¤Î @code{'%'} ¤Ï ``¤¹¤Ù¤Æ¤Î¥Û¥¹¥È'' ¤ò°ÕÌ£¤·¡¢¥Û¥¹¥È̾¤ò¤Ï¤Ã¤­¤ê¤ÈÆÃÄꤷ¤Æ¤¤¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó)
-
-@code{Host} ¤ÎÃͤ¬Æ±¤¸¥¨¥ó¥È¥ê¤¬¤¢¤Ã¤¿¾ì¹ç¡¢¤â¤Ã¤È¤âÌÀ³Î¤Ë @code{User} ¤ÎÃͤ¬¥æ¡¼¥¶¡¼¤ò»ØÄꤷ¤Æ¤¤¤ë¥¨¥ó¥È¥ê¤òºÇ½é¤Ë»²¾È¤·¤Þ¤¹¡£(@code{User} ¤ÎÃͤ¬¶õ¤Î¾ì¹ç¡¢``¤À¤ì¤Ç¤â'' ¤ò°ÕÌ£¤·¤Þ¤¹)
-¤³¤Î·ë²Ì¡¢@code{user} ¥Æ¡¼¥Ö¥ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¥½¡¼¥È¤µ¤ì¤Þ¤¹¡§
-
-@example
-+-----------+----------+-
-| Host | User | ...
-+-----------+----------+-
-| localhost | root | ...
-| localhost | | ...
-| % | jeffrey | ...
-| % | root | ...
-+-----------+----------+-
-@end example
-
-@cindex Grant tables, sorting
-@cindex Sorting, grant tables
-@cindex @code{user} table, sorting
-Àܳ¤¬»î¤ß¤é¤ì¤¿¾ì¹ç¡¢¥µ¡¼¥Ð¡¼¤ÏʤӴ¹¤¨¤é¤ì¤¿ÅÐÏ¿¤òõ¤·¡¢ºÇ½é¤Ë¸«¤Ä¤±¤¿¤â¤Î¤ò
-»ÈÍѤ·¤Þ¤¹¡£
-@code{'localhost'} ¤Î @code{jeffrey} ¤«¤é¤ÎÀܳ¤Ï¡¢¤Þ¤ººÇ½é¤Ë @code{Host} ¤Ë @code{localhost} ¤òÀßÄꤷ¤Æ¤¤¤ë¥¨¥ó¥È¥ê¤Ë¥Þ¥Ã¥Á¤·¤Þ¤¹¡£
-¥æ¡¼¥¶¡¼Ì¾¤¬¶õ¤Î¥¨¥ó¥È¥ê¤Ï¡¢¥Û¥¹¥È̾¤È¥æ¡¼¥¶¡¼Ì¾¤ÎξÊý¤ò»ØÄꤷ¤¿Àܳ¤Ë¤â¥Þ¥Ã¥Á¤·¤Þ¤¹¡£
-( @code{'%'/'jeffrey'} ¥¨¥ó¥È¥ê¤â¥Þ¥Ã¥Á¤·¤Þ¤¹¡£¤¬¡¢¤³¤ì¤ÏºÇ½é¤Ë¤Ï¥Þ¥Ã¥Á¤·¤Þ¤»¤ó¡£)
-
-¤â¤¦°ìÎã¡£@code{user} ¤¬°Ê²¼¤ÎÀßÄê¤È²¾Äꤷ¤Þ¤¹¡§
-
-@example
-+----------------+----------+-
-| Host | User | ...
-+----------------+----------+-
-| % | jeffrey | ...
-| thomas.loc.gov | | ...
-+----------------+----------+-
-@end example
-
-¤³¤ì¤Ï¼¡¤Î¤è¤¦¤Ë¥½¡¼¥È¤µ¤ì¤Þ¤¹¡§
-
-@example
-+----------------+----------+-
-| Host | User | ...
-+----------------+----------+-
-| thomas.loc.gov | | ...
-| % | jeffrey | ...
-+----------------+----------+-
-@end example
-
-@code{thomas.loc.gov} ¤Î @code{jeffrey} ¤«¤é¤ÎÀܳ¤Ï¡¢ºÇ½é¤Î¥¨¥ó¥È¥ê¤Ë¥Þ¥Ã¥Á¤·¡¢
-@code{whitehouse.gov} ¤Î @code{jeffrey} ¤«¤é¤ÎÀܳ¤Ï¡¢Æó¤ÄÌܤΥ¨¥ó¥È¥ê¤Ë¥Þ¥Ã¥Á¤·¤Þ¤¹¡£
-
-ºÇ½é¤Ë¥µ¡¼¥Ð¤¬,Àܳ¤Î¤¿¤á¤Î¥Þ¥Ã¥Á¤ò¸«¤Ä¤±¤ë¤Î¤ò»î¤ß¤ë¤È¤­,¶¦Ä̤θí²ò¤ÏÍ¿¤¨¤é¤ì¤¿
-¥æ¡¼¥¶Ì¾¤ËÌÀ¤é¤«¤Ë¤½¤Î¥æ¡¼¥¶¤ò̿̾¤¹¤ë¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤¬»ÈÍѤµ¤ì¤ë¤È»×¤¦¤³¤È¤Ç¤¹.
-¤³¤ì¤Ïñ¤ËËÜÅö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó. jeffrey¤Ë¤è¤ëthomas.loc.gov¤«¤é¤ÎÀܳ¤¬ºÇ½é¤Ë
-¥¨¥ó¥È¥ê¤Ë¤è¤Ã¤Æ¥æ¡¼¥¶Ê¬ÌîÃͤȤ·¤Æ¡Æjeffrey'¤ò´Þ¤Þ¤Ê¤¤¤¤¤º¤ì¤Î¥¨¥ó¥È¥ê¤Ë¤è¤Ã¤Æ¤ë¹ç¤ï
-¤»¤é¤ì¤ë¾ì¹ç,Á°¤ÎÎã¤Ï¤³¤ì¤ò¥æ¡¼¥¶Ì¾¤Ê¤·¤ÇÎ㼨¤·¤Þ¤¹!
-
-¤è¤¯¤¢¤ë¹Í¤¨°ã¤¤¤Ï¡¢¥æ¡¼¥¶¡¼Ì¾¤òÍ¿¤¨¤¿¾ì¹ç¡¢
-¥µ¡¼¥Ð¡¼¤¬Àܳ¤Ë¥Þ¥Ã¥Á¤¹¤ë¤â¤Î¤òõ¤¹ºÝ¤Ë¡¢
-¤½¤Î¥æ¡¼¥¶¡¼¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ëÁ´¤Æ¤Î¥ë¡¼¥ë¤¬¡¢
-ºÇ½é¤Ë»ÈÍѤµ¤ì¤ë¤À¤í¤¦¤È¹Í¤¨¤ë¤³¤È¤Ç¤¹¡£¤³¤ì¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£
-Á°¤ÎÎã¤Ç¤³¤ì¤ò¼¨¤·¤Þ¤·¤¿¤¬¡¢@code{thomas.loc.gov} ¤Î @code{jeffrey} ¤«¤é¤ÎÀܳ¤¬
-ºÇ½é¤Ë¥Þ¥Ã¥Á¤¹¤ë¤Î¤Ï¡¢ @code{User} ¥Õ¥£¡¼¥ë¥É¤ÎÃͤ¬ @code{'jeffrey'} ¤Ë
-¤Ê¤Ã¤Æ¤¤¤ë¥¨¥ó¥È¥ê¤Ç¤Ï¤Ê¤¯¡¢¥æ¡¼¥¶¡¼Ì¾¤Ê¤·(¡á¤À¤ì¤Ç¤â) ¤Î¥¨¥ó¥È¥ê¤ÎÊý¤¬
-Àè¤Ë¥Þ¥Ã¥Á¤·¤Þ¤¹¡ª
-
-¤â¤·¥µ¡¼¥Ð¡¼¤Ø¤ÎÀܳ¤¬¤¦¤Þ¤¯¹Ô¤«¤Ê¤¤¾ì¹ç¡¢ @code{user} ¥Æ¡¼¥Ö¥ë¤òɽ¼¨¤·¡¢
-¥Þ¥Ë¥å¥¢¥ë¤Ç¥½¡¼¥È¤·¤Æ¤ß¤Æ¡¢¤É¤Î¥¨¥ó¥È¥ê¤ËºÇ½é¤Ë¥Þ¥Ã¥Á¤¹¤ë¤«Ãµ¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-
-@node Request access, Privilege changes, Connection access, Privilege system
-@section Access control, stage 2: Í×µá¤Î¾µÇ§
-
-°ìÅÙÀܳ¤«³ÎΩ¤µ¤ì¤ë¤È¡¢¥µ¡¼¥Ð¡¼¤Ï¥¹¥Æ¡¼¥¸£²¤Ë°Ü¤ê¤Þ¤¹¡£
-¤³¤Î¥¹¥Æ¡¼¥¸¤Ç¤Ï¡¢¥µ¡¼¥Ð¡¼¤Ï¤³¤ÎÀܳ¤«¤éÍè¤ë¤½¤ì¤¾¤ì¤ÎÍ׵᤬µö²Ä¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
-¥Á¥§¥Ã¥¯¤Ï¼Â¹Ô¤·¤è¤¦¤È¤·¤Æ¤¤¤ëÁàºî¤Î¥¿¥¤¥×¤Ë¤è¤ê¹Ô¤¤¤Þ¤¹¡£
-¤½¤ÎÁàºî¤¬µö²Ä¥Æ¡¼¥Ö¥ë¤Î¤É¤Î¸¢¸Â¥Õ¥£¡¼¥ë¥É¤ËÅö¤Æ¤Ï¤Þ¤ë¤«¤ò¸«¤Þ¤¹¡£
-¤³¤ì¤é¸¢¸Â¤Ï @code{user}, @code{db},@code{host}, @code{tables_priv} ¤« @code{columns_priv} ¥Æ¡¼¥Ö¥ë¤è¤êƳ½Ð¤µ¤ì¤Þ¤¹¡£
-µö²Ä¥Æ¡¼¥Ö¥ë¤Ï @code{GRANT} ¥³¥Þ¥ó¥É¤ÇÁàºî¤·¤Þ¤¹¡£
-@xref{GRANT, , @code{GRANT}}.
-(You may find it helpful to refer to the table shown earlier that lists
-the fields present in each of the grant tables; see @ref{Privileges}.)
-
-@code{user} ¥Æ¡¼¥Ö¥ë¤ÏÁ´¤Æ¤ËÂФ·¤Æ´ðËܤȤʤ븢¸Â¤ò¥æ¡¼¥¶¡¼¤Ë³ä¤êÅö¤Æ¤Þ¤¹¡£
-¤¿¤È¤¨¥«¥ì¥ó¥È¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬µö²Ä¤òÍ¿¤¨¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢@code{user} ¥Æ¡¼¥Ö¥ë¤ÎÀßÄ꤬ͭ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-Î㤨¤Ð¡¢@code{user} ¥Æ¡¼¥Ö¥ë¤Ç @strong{delete} ¤òµö²Ä¤·¤¿¾ì¹ç¡¢
-¥µ¡¼¥Ð¡¼¤Ë¤¢¤ë¤É¤ó¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¹Ô¤âºï½ü¤Ç¤­¤ë¤Î¤Ç¤¹¡ª
-¤¤¤¦¤Ê¤é¤Ð¡¢@code{user} ¥Æ¡¼¥Ö¥ë¤Î¸¢¸Â¤Ï¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¤Î¸¢¸Â¤È¸À¤Ã¤Æ¤â¤¤¤¤¤Ç¤·¤ç¤¦¡£
-¤³¤Î¸¢¸Â¤Ï¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼(¥µ¡¼¥Ð¡¼¤ä¥Ç¡¼¥¿¡¼¥Ù¡¼¥¹´ÉÍý¼Ô)¤Î¤ß¤ËÍ¿¤¨¤Æ¤ª¤¯»ö¤¬¸­ÌÀ¤Ç¤¹¡£
-¾¤Î¥æ¡¼¥¶¡¼¤Ï¡¢@code{user} ¥Æ¡¼¥Ö¥ë¤Î¸¢¸Â¤ÎÀßÄê¤ò @code{'N'} ¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¯¤Ù¤­¤Ç¤¹¤·¡¢
-¤Þ¤¿¡¢@code{db} ¥Æ¡¼¥Ö¥ë¤È @code{host} ¥Æ¡¼¥Ö¥ë¤òÍøÍѤ·¤Æ¡¢
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»ØÄꤷ¤¿¾å¤Ç¥æ¡¼¥¶¡¼¤Ë¸¢¸Â¤òµö²Ä¤¹¤Ù¤­¤Ç¤¹¡£
-
-@cindex Anonymous user
-@cindex Wildcards, in @code{mysql.db} table
-@cindex Wildcards, in @code{mysql.host} table
-@code{db} ¥Æ¡¼¥Ö¥ë¤È @code{host} ¥Æ¡¼¥Ö¥ë¤ÏÆÃÄê¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ¹¤ë¸¢¸Âµö²Ä¤ò¹Ô¤¤¤Þ¤¹¡£
-Values in the scope fields may be specified as follows:
-
-@itemize @bullet
-@item
-¥ï¥¤¥ë¥É¥«¡¼¥Éʸ»ú @samp{%} ¤È @samp{_} ¤Ï @code{Db} ¥Æ¡¼¥Ö¥ë¤È @code{Host} ¥Õ¥£¡¼¥ë¥É¤À¤±¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-
-@item
-@code{'%'} @code{Host} ÃÍ¤Ï ``¤¢¤é¤æ¤ë¥Û¥¹¥È'' ¤ò°ÕÌ£¤·¤Þ¤¹¡£
-@code{db} ¥Æ¡¼¥Ö¥ë¤Î @code{Host} ¤Ë¶õ¤òÀßÄꤹ¤ë¤È¡¢``¤µ¤é¤Ë @code{host} ¥Æ¡¼¥Ö¥ë¤Ëµö²Ä¾ðÊó¤òõ¤·¤Ë¤¤¤¯''
-¤È¤Ê¤ê¤Þ¤¹¡£
-
-@item
-@code{'%'} ¤« ¶õÃͤò @code{Host} ¥Æ¡¼¥Ö¥ë¤ËÀßÄꤹ¤ë¤È¡¢¤½¤ì¤Ï ``¤¢¤é¤æ¤ë¥Û¥¹¥È'' ¤È¤Ê¤ê¤Þ¤¹¡£
-
-@item
-@code{'%'} ¤« ¶õÃͤò @code{host} ¥Æ¡¼¥Ö¥ë¤Î @code{Db} ¥Õ¥£¡¼¥ë¥É¤ËÀßÄꤹ¤ë¤È¡¢
-¤½¤ì¤Ï ``¤¢¤é¤æ¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹'' ¤È¤Ê¤ê¤Þ¤¹¡£
-
-@item
-@code{User} ¤ò¶õÃͤˤ¹¤ë¤È¡¢Æ¿Ì¾¥æ¡¼¥¶¡¼¤Ë¥Þ¥Ã¥Á¤·¤Þ¤¹¡£
-@end itemize
-
-@cindex Grant tables, sorting
-@cindex Sorting, grant tables
-@cindex @code{db} table, sorting
-@cindex @code{host} table, sorting
-¥µ¡¼¥Ð¡¼µ¯Æ°»þ¤Ë¡¢@code{db} ¥Æ¡¼¥Ö¥ë¤È @code{host} ¥Æ¡¼¥Ö¥ë¤Ï¥µ¡¼¥Ð¡¼¤ËÆɤ߹þ¤Þ¤ì¤Þ¤¹¡£
-(@code{user} ¥Æ¡¼¥Ö¥ë¤â¤³¤Î»þ¤ËƱ»þ¤ËÆɤޤì¤Þ¤¹)
-@code{db} ¥Æ¡¼¥Ö¥ë¤Ï @code{Host}, @code{Db}, @code{User} ¤Î¥Õ¥£¡¼¥ë¥É¤Ç¥½¡¼¥È¤µ¤ì¡¢
-@code{host} ¥Æ¡¼¥Ö¥ë¤Ï @code{Host}, @code{Db} ¥Õ¥£¡¼¥ë¥É¤Ç¥½¡¼¥È¤µ¤ì¤Þ¤¹¡£
-@code{user} ¥Æ¡¼¥Ö¥ë¤Ï¡¢°ìÈÖÆÃÄê¤Ç¤­¤ë¥¨¥ó¥È¥ê¤òºÇ½é¤Ë¡¢°ìÈÖÆÃÄê¤Ç¤­¤Ê¤¤¤â¤Î¤òºÇ¸å¤Ë¥½¡¼¥È¤·¤Þ¤¹¡£
-¥µ¡¼¥Ð¡¼¤Ï¥½¡¼¥È¤µ¤ì¤¿¤â¤Î¤ÎÃ椫¤é¡¢ºÇ½é¤Ë¥Þ¥Ã¥Á¤·¤¿¤â¤Î¤ò»ÈÍѤ·¤Þ¤¹¡£
-
-@cindex Wildcards, in mysql.tables_priv table
-@cindex Wildcards, in mysql.columns_priv table
-@code{tables_priv} ¤È @code{columns_priv} ¥Æ¡¼¥Ö¥ë¤Ï¡¢
-ÆÃÄê¤Î¥Æ¡¼¥Ö¥ë¤È¥Õ¥£¡¼¥ë¥É¤ËÂФ¹¤ë¸¢¸Â¤òµö²Ä¤·¤Þ¤¹¡£
-¥¹¥³¡¼¥×¥Õ¥£¡¼¥ë¥É¤ÎÃͤϡ¢¤¤¤«¤Ë¤½¤Ã¤Æµ­½Ò¤µ¤ì¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¥ï¥¤¥ë¥É¥«¡¼¥Éʸ»ú @samp{%} ¤È @samp{_} ¤Ï¤É¤Á¤é¤«¤Î¥Æ¡¼¥Ö¥ë¤Î
-@code{Host} ¥Õ¥£¡¼¥ë¥É¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-
-@item
-¤É¤Á¤é¤«¤Î¥Æ¡¼¥Ö¥ë¤Î @code{Host} Ãͤò @code{'%'} ¤«¥Ö¥é¥ó¥¯¤Ë¤¹¤ë¤È¡¢
-``any host.'' ¤ò°ÕÌ£¤·¤Þ¤¹¡£
-
-@item
-@code{Db}, @code{Table_name}, @code{Column_name} ¥Õ¥£¡¼¥ë¥É¤Ï¤É¤Î¥Æ¡¼¥Ö¥ë¤Ë¤â
-¥ï¥¤¥ë¥É¥«¡¼¥É¤ä¥Ö¥é¥ó¥¯¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£
-@end itemize
-
-@code{tables_priv} ¤È @code{columns_priv} ¥Æ¡¼¥Ö¥ë¤Ï
-@code{Host}, @code{Db}, @code{User} ¥Õ¥£¡¼¥ë¥É¤ÇʤӴ¹¤¨¤é¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï @code{db} ¥Æ¡¼¥Ö¥ë¤Î¥½¡¼¥È¤Ë»÷¤Æ¤¤¤Þ¤¹¤¬¡¢ @code{Host} ¥Õ¥£¡¼¥ë¥É¤À¤±¤¬
-¥ï¥¤¥ë¥É¥«¡¼¥É¤ò´Þ¤à¤Î¤Ç¡¢¥½¡¼¥È¤Ï¤è¤êñ½ã¤Ê¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-¤³¤ÎÍ×µá¤Î¾µÇ§¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ¹Ô¤¤¤Þ¤¹¡£
-¤â¤·¥¢¥¯¥»¥¹¾µÇ§¤ò·èÄꤹ¤ëÉôʬ¤Î¥½¡¼¥¹¥³¡¼¥É¤òÍý²ò¤Ç¤­¤ë¤Ê¤é¡¢
-¤Á¤ç¤Ã¤ÈÊѤï¤Ã¤¿¥¢¥ë¥´¥ê¥º¥à¤Ç¾µÇ§¤Î·èÄê¤ò¹Ô¤Ã¤Æ¤¤¤ë»ö¤Ëµ¤¤Å¤¯¤Ç¤·¤ç¤¦¡£
-
-´ÉÍý¼Ô¤ÎÍ×µá(@strong{shutdown}, @strong{reload}, etc.)¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥µ¡¼¥Ð¡¼¤Ï
- @code{user} ¥Æ¡¼¥Ö¥ë¤À¤±¤ò»²¾È¤·¤Þ¤¹¡£(@code{user} ¥Æ¡¼¥Ö¥ë¤À¤±¤¬´ÉÍý¼Ô¸¢¸Â¤Î¥Õ¥£¡¼¥ë¥É¤ò»ý¤Ä)¡£
-¥¨¥ó¥È¥ê¤Ëµö²ÄÅÐÏ¿¤µ¤ì¤Æ¤¤¤ëÁàºî¤Ï¼õ¤±Æþ¤ì¤é¤ì¡¢¤½¤ì°Ê³°¤ÏµñÈݤµ¤ì¤Þ¤¹¡£
-Î㤨¤Ð¡¢@code{mysqladmin shutdown} ¤ò¼Â¹Ô¤·¤è¤¦¤È¤·¤Æ¤â¡¢@code{user} ¥Æ¡¼¥Ö¥ë¤Î @strong{shutdown} ¸¢¸Â¤¬µö¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¡£¤³¤Î»þ¡¢@code{db} ¤È @code{host} ¥Æ¡¼¥Ö¥ë¤Ï¥Á¥§¥Ã¥¯¤µ¤ì¤Þ¤»¤ó¡£(¤³¤ì¤é¤Î¥Æ¡¼¥Ö¥ë¤Ë¤Ï @code{Shutdown_priv} ¥Õ¥£¡¼¥ë¥É¤¬Ìµ¤¤¤«¤é¤Ç¤¹)
-
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤ÎÍ×µá (@strong{insert}, @strong{update}, etc.) ¤Ë¤ª¤¤¤Æ¡¢¥µ¡¼¥Ð¡¼¤Ï¤Þ¤ººÇ½é¤Ë¡¢¥æ¡¼¥¶¡¼¤Î¥°¥í¡¼¥Ð¥ë¤Ê¸¢¸Â(¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼)¤ò @code{user} ¤ÎÃ椫¤éõ¤·¤À¤·¤Þ¤¹¡£
-¤â¤·µö²Ä¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤ì¤Ð¡¢¥¢¥¯¥»¥¹¤ÏÀ®¸ù¤·¤Þ¤¹¡£
-
-@code{user} ¥Æ¡¼¥Ö¥ë¤Î¥°¥í¡¼¥Ð¥ë¤Ê¸¢¸Â¤ÎÀßÄ꤬ÉÔ½½Ê¬¤Ç¤¢¤ë¤Ê¤é¡¢¥µ¡¼¥Ð¡¼¤Ï¥æ¡¼¥¶¡¼¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ¹¤ë¸¢¸Â¤ò @code{db} ¥Æ¡¼¥Ö¥ë¤È @code{host} ¥Æ¡¼¥Ö¥ë¤«¤é·èÄꤷ¤Þ¤¹¡§
-
-@enumerate
-@item
-¥µ¡¼¥Ð¡¼¤Ï @code{db} ¥Æ¡¼¥Ö¥ë¤Î @code{Host},@code{Db},@code{User}¥Õ¥£¡¼¥ë¥É¤ò»²¾È¤·¤Þ¤¹¡£
-@code{Host} ¤È @code{User} ¥Õ¥£¡¼¥ë¥É¤Ï¥æ¡¼¥¶¡¼¤ÎÀܳ»þ¤Î¥Û¥¹¥È̾¤È @strong{MySQL} ¥æ¡¼¥¶¡¼Ì¾¤Ë¥Þ¥Ã¥Á¤·¤Þ¤¹¡£
-@code{Db} ¥Õ¥£¡¼¥ë¥É¤Ï¥æ¡¼¥¶¡¼¤¬¥¢¥¯¥»¥¹¤·¤¿¤¤¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¤Ë¥Þ¥Ã¥Á¤·¤Þ¤¹¡£
-@code{Host} ¤È @code{User} ¤Ë¥Þ¥Ã¥Á¤¹¤ë¤â¤Î¤¬Ìµ¤«¤Ã¤¿¾ì¹ç¡¢¥¢¥¯¥»¥¹¤ÏµñÈݤµ¤ì¤Þ¤¹¡£
-
-@item
-@code{db} ¥Æ¡¼¥Ö¥ëÆâ¤Î @code{Host} ¥Õ¥£¡¼¥ë¥É¤¬¶õ¤Ç¤Ê¤¤¥¨¥ó¥È¥ê¤Ë¥Þ¥Ã¥Á¤·¤¿¾ì¹ç¡¢
-¥æ¡¼¥¶¡¼¤Î»ØÄꤵ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ¹¤ë¸¢¸Â¤¬ÄêµÁ¤µ¤ì¤Þ¤¹¡£
-
-@item
-@code{Host} ¥Õ¥£¡¼¥ë¥É¤¬¶õÃͤΠ@code{db} ¥Æ¡¼¥Ö¥ë¤Î¥¨¥ó¥È¥ê¤Ë¥Þ¥Ã¥Á¤·¤¿¾ì¹ç¡¢
-¤É¤Î¥Û¥¹¥È¤¬¤½¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¥¢¥¯¥»¥¹¤Ç¤­¤ë¤«¤ò @code{host} ¥Æ¡¼¥Ö¥ë¤«¤éõ¤·½Ð¤·¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢@code{host} ¥Æ¡¼¥Ö¥ë ¤Î @code{Host}, @code{Db} ¥Õ¥£¡¼¥ë¥É¤È¥Þ¥Ã¥Á¤¹¤ë¤â¤Î¤òõ¤·½Ð¤·¤Þ¤¹¡£
-@code{host} ¥Æ¡¼¥Ö¥ë¤Ë¥¨¥ó¥È¥ê¤¬¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥¢¥¯¥»¥¹¤ÏµñÈݤµ¤ì¤Þ¤¹¡£
-¤â¤·¥Þ¥Ã¥Á¤¹¤ë¤È¡¢¥æ¡¼¥¶¡¼¤ÎÆÃÄê¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ¹¤ë¸¢¸Â¤Ï¡¢
-@code{host} ¥Æ¡¼¥Ö¥ë¤È @code{db} ¥Æ¡¼¥Ö¥ëξÊý¤Ë¤Þ¤¿¤¬¤Ã¤¿¸¢¸Â¤«¤é³ä¤ê½Ð¤µ¤ì¤Þ¤¹¡£
-¤¤¤¦¤Ê¤é¤ÐξÊý¤È¤â @code{'Y'} ¤Ç¤¢¤ë¸¢¸Â¡£
-(¤³¤ÎÊýË¡¤ò»ÈÍѤ¹¤ë¤È¡¢¤Þ¤º @code{db} ¥Æ¡¼¥Ö¥ë¤Î¥¨¥ó¥È¥ê¤ËÂç¤Þ¤«¤Ê¸¢¸Â¤òÀßÄꤷ¤Æ¤ª¤­¡¢
-¤½¤ì¤«¤é @code{host} ¥Æ¡¼¥Ö¥ë¤Î¥¨¥ó¥È¥ê¤ò»ÈÍѤ·¤Æ¡¢¥Û¥¹¥È¾ðÊó¤â¤È¤Ë¸¢¸Â¤ò¸ÂÄꤷ¤Æ¤¤¤¯¤È¤¤¤¦»ö¤¬¤Ç¤­¤Þ¤¹)
-@end enumerate
-
-ÆÃÄê¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ¹¤ë¸¢¸Â¤¬ @code{db} ¥Æ¡¼¥Ö¥ë¤È @code{host} ¥Æ¡¼¥Ö¥ë¤Î¥¨¥ó¥È¥ê¤«¤é·èÄꤵ¤ì¤¿¸å¡¢
-¥µ¡¼¥Ð¡¼¤Ï¤½¤Î³ä¤ê½Ð¤µ¤ì¤¿¸¢¸Â¤ËÂФ·¡¢@code{user} ¥Æ¡¼¥Ö¥ë¤ÆÀßÄꤵ¤ì¤Æ¤¤¤ë¸¢¸Â¤ò²Ã¤¨¤Þ¤¹¡£
-¤³¤Î·ë²Ì¤«¤éÆÀ¤é¤ì¤¿¸¢¸Â¤Ë¥Þ¥Ã¥Á¤·¤¿Í×µá¤Ï¼õ¤±Æþ¤ì¤é¤ì¤Þ¤¹¡£
-¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢¥µ¡¼¥Ð¡¼¤Ï¥æ¡¼¥¶¡¼¤Î¥Æ¡¼¥Ö¥ë¡¢¥Õ¥£¡¼¥ë¥É¤ËÂФ¹¤ëµö²Ä¤ò¡¢
- @code{tables_priv} ¤È @code{columns_priv} Æâ¤Ëõ¤·¤Þ¤¹¡£
-¥¢¥¯¥»¥¹¤Ï¤³¤Î·ë²Ì¤Ë¤è¤ê¡¢µö²Ä¡¢µñÈݤµ¤ì¤Þ¤¹¡£
-
-Àè¤Î¥æ¡¼¥¶¡¼¤Î¸¢¸Â¤¬·×»»¤µ¤ì¤ëÊýË¡¤Îµ­½Ò¤Ï¡¢boolean ɽµ­¤Ç¼¨¤¹¤Ê¤é¤Ð¡¢
-°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡§
-
-@example
-global privileges
-OR (database privileges AND host privileges)
-OR table privileges
-OR column privileges
-@end example
-
-¤³¤ì¤Ï¾¯¤·Ê¬¤«¤ê¤Ë¤¯¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤â¤·¥°¥í¡¼¥Ð¥ë¤Î @code{user} ¥¨¥ó¥È¥ê
-¸¢¸Âµö²Ä¤¬¡¢¥ê¥¯¥¨¥¹¥È¤µ¤ì¤¿¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ë¤ÏÉÔ½½Ê¬¤À¤ÈºÇ½é¤Ëʬ¤«¤Ã¤¿ºÝ¡¢
-¥µ¡¼¥Ð¡¼¤¬¤³¤ì¤é¤Î¸¢¸Â¤ò database-, table-, column-¸ÇÍ­¤Î¸¢¸Â¤Î
-¸å¤Ë¡¢¤Ê¤¼¡¢Äɲ䷤Ƥ·¤Þ¤¦¤Î¤«¡£
- ¤½¤ÎÍýͳ¤Ï¡¢¥ê¥¯¥¨¥¹¥È¤¬1¸Ä°Ê¾å¤Î¸¢¸Â¤òÍ׵᤹¤ë¤À¤í¤¦¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
-Î㤨¤Ð¡¢¤â¤·¤¢¤Ê¤¿¤¬ @code{INSERT ... SELECT} ¹½Ê¸¤ò¼Â¹Ô¤¹¤ë¤Ê¤é¡¢
-¤¢¤Ê¤¿¤Ë¤Ï @strong{insert} ¤È @strong{select} µö²Ä¤¬É¬ÍפǤ¹¡£
-¤¢¤Ê¤¿¤Î¸¢¸Â¤¬¡¢ @code{user} ¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê¤Ç°ì¤Ä¤Î¸¢¸Â¤¬µö²Ä¤µ¤ì¡¢
- @code{db} ¥Æ¡¼¥Ö¥ë¤Ç¡¢¤½¤Î¤Û¤«¤Î¸¢¸Â¤¬µö²Ä¤µ¤ì¤Æ¤¤¤¿¤È¤·¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢¤¢¤Ê¤¿¤Ï¡¢¤½¤Î¥ê¥¯¥¨¥¹¥È¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë¡¢É¬Íפʸ¢¸Â¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
-¤·¤«¤·¡¢¥µ¡¼¥Ð¡¼¤Ï¤É¤Á¤é¤Î¥Æ¡¼¥Ö¥ë¡¢¤½¤ìñÂΤ«¤é¤Ç¤Ï¡¢¸¢¸Â¤òÆÀ¤ë¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£
-¸¢¸Â¤Ï¡¢Î¾Êý¤Î¥¨¥ó¥È¥ê¡¼¤ò¹ç¤ï¤»¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤Î¤Ç¤¹¡£
-
-@code{host} ¥Æ¡¼¥Ö¥ë¤Ï ``°ÂÁ´¤Ê'' ¥Û¥¹¥È¤Î¥ê¥¹¥È¤ò°Ý»ý¤¹¤ë¤¿¤á¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-TcX ¤Ç¤Ï¡¢@code{host} ¥Æ¡¼¥Ö¥ë¤Ë¤Ï¥í¡¼¥«¥ë¥Í¥Ã¥È¾å¤ÎÁ´¤Æ¤Î¥Û¥¹¥È¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥Û¥¹¥È¤ÏÁ´¤Æ¤Î¸¢¸Â¤¬µö²Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-
-µÕ¤Ë @code{host} table ¤Ç°ÂÁ´@emph{¤Ç¤Ï¤Ê¤¤}¥Û¥¹¥È¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
- @code{public.your.domain} ¤È¤¤¤¦¥Þ¥·¥ó¤¬°ÂÁ´¤Ç¤Ï¤Ê¤¤¡¢¸ø³«¤µ¤ì¤Æ¤¤¤ë¾ì½ê¤Ë¤¢¤ë¤È¤·¤Þ¤¹¡£
-¤½¤Î¾ì¹ç°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¡¢¤½¤Î¸ø³«¥Þ¥·¥ó°Ê³°¤Î¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¥Û¥¹¥È¤ËÂФ·¤Æ¡¢¥¢¥¯¥»¥¹¤òµö²Ä¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡§
-
-@example
-+--------------------+----+-
-| Host | Db | ...
-+--------------------+----+-
-| public.your.domain | % | ... (all privileges set to 'N')
-| %.your.domain | % | ... (all privileges set to 'Y')
-+--------------------+----+-
-@end example
-
-¸¢¸Â¤Î¥Æ¡¼¥Ö¥ëÀßÄê¤Ï¡¢¤¢¤Ê¤¿¤Î»×¤¤Ä̤ê¤Ëµö²Ä¤¬ÆÀ¤é¤ì¤ë¤Î¤«¡¢¾ï¤Ë(@code{mysqlaccess}Åù¤ò»ÈÍѤ·¤Æ)¥Á¥§¥Ã¥¯¤¹¤Ù¤­¤Ç¤¹¡£
-
-
-@node Privilege changes, Default privileges, Request access, Privilege system
-@section ¤¤¤Ä¸¢¸Â¤ÎÊѹ¹¤¬È¿±Ç¤µ¤ì¤ë¤«
-
-@code{mysqld} ¤Îµ¯Æ°»þ¡¢Á´¤Æ¤Îµö²Ä¥Æ¡¼¥Ö¥ë¤Ï¥á¥â¥ê¡¼¤ËÆɤ߹þ¤Þ¤ì¡¢
-¤³¤Î»þÅÀ¤ÇÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@code{GRANT}, @code{REVOKE}, @code{SET PASSWORD} ¤ò»ÈÍѤ·¤Æµö²Ä¥Æ¡¼¥Ö¥ë¤ò
-Êѹ¹¤·¤¿¾ì¹ç¡¢Ä¾¤Ë¥µ¡¼¥Ð¤ËÄÌÃΤµ¤ì¤Þ¤¹¡£
-
-¤â¤·¼êÆ°¤Çµö²Ä¥Æ¡¼¥Ö¥ë¤òÊѹ¹¤·¤¿¾ì¹ç(@code{INSERT}, @code{UPDATE} ¤Ê¤É¤Ç)¡¢
-@code{FLUSH PRIVILEGES} ¹½Ê¸¤« @code{mysqladmin flush-privileges} ¥³¥Þ¥ó¥É
-¤« @code{mysqladmin reload} ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¡¢
-¥µ¡¼¥Ð¡¼¤Ëµö²Ä¥Æ¡¼¥Ö¥ë¤ÎÆɤ߹þ¤ß¤ò»Ø¼¨¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤½¤¦¤·¤Ê¤±¤ì¤Ð¡¢¥µ¡¼¥Ð¡¼¤òºÆµ¯Æ°¤µ¤»¤ë¤Þ¤Ç¡¢Êѹ¹¤Ï@emph{È¿±Ç¤µ¤ì¤Þ¤»¤ó}¡£
-If you change the grant tables manually
-but forget to reload the privileges, you will be wondering why your changes
-don't seem to make any difference!
-
-¥µ¡¼¥Ð¡¼¤¬µö²Ä¥Æ¡¼¥Ö¥ë¤ÎÊѹ¹¤òÄÌÃΤ·¤¿¾ì¹ç¡¢´û¤ËÀܳ¤·¤Æ¤¤¤ë
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ê±Æ¶Á¤ò¼õ¤±¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¥Æ¡¼¥Ö¥ë¤È¥Õ¥£¡¼¥ë¥É¤Îµö²Ä¤ÎÊѹ¹¤Ï¡¢¼¡¤Î¥¯¥é¥¤¥¢¥ó¥È¤ÎÍ׵ᤫ¤éÈ¿±Ç¤µ¤ì¤Þ¤¹¡£
-
-@item
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ¹¤ëµö²Ä¤ÎÊѹ¹¤Ï¼¡¤Î @code{USE db_name} ¥³¥Þ¥ó¥É°Ê¹ß¤«¤é
-Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@end itemize
-
-¥°¥í¡¼¥Ð¥ë¸¢¸Â¤È¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹¤Ï¡¢¼¡¤Î¥¯¥é¥¤¥¢¥ó¥È¤ÎÀܳ»þ¤«¤éÈ¿±Ç¤µ¤ì¤Þ¤¹¡£
-
-
-@node Default privileges, Adding users, Privilege changes, Privilege system
-@section @strong{MySQL} ¸¢¸Âµö²Ä¤Î½é´üÀßÄê
-
-@strong{MySQL} ¥¤¥ó¥¹¥È¡¼¥ë¸å¡¢@code{scripts/mysql_install_db} ¤ò¼Â¹Ô¤·¤Æ¸¢¸Â¤Î¥¢¥¯¥»¥¹µö²Ä¤ò½é´ü²½¤·¤Þ¤¹¡£
-@xref{Quick install}.
-@code{mysql_install_db} ¥¹¥¯¥ê¥×¥È¤Ï @code{mysqld} ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¡¢
-°Ê²¼¤Î¤è¤¦¤Ë¸¢¸Â¤ò½é´ü²½¤·¤Æ¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤·¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-@strong{MySQL} @code{root} ¥æ¡¼¥¶¡¼¤Ï¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¤È¤·¤ÆÅÐÏ¿¤µ¤ì¡¢
-Á´¤Æ¤ÎÁàºî¤¬¤Ç¤­¤Þ¤¹¡£
-localhost¤«¤é¤·¤«Àܳ¤Ç¤­¤Þ¤»¤ó¡£
-
-@strong{Ãí°Õ:}
-@code{root} ¤Î¥Ñ¥¹¥ï¡¼¥É¤Î½é´üÃͤ϶õ¤Ç¤¹¡£
-Á´¤Æ¤Î¿Í¤¬ @emph{¥Ñ¥¹¥ï¡¼¥É¤Ê¤·¤Ç} @code{root} ¤Ë¤Ê¤ì¡¢Á´¤Æ¤Î¸¢¸Âµö²Ä¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@item
-@cindex Anonymous user
-@code{'test'} ¤¢¤ë¤¤¤Ï @code{'test_'} ¤Ç̾Á°¤¬¤Ï¤¸¤Þ¤Ã¤Æ¤¤¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ·¤Æ¡¢
-ƿ̾¥æ¡¼¥¶¡¼¤Ç¤â¤Ê¤ó¤Ç¤â¤Ç¤­¤ë¤è¤¦¤Ëµö²Ä¤¬Í¿¤¨¤é¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï ¥í¡¼¥«¥ë¥Û¥¹¥È¤«¤é¤ÎÁ´¤Æ¤Î¥æ¡¼¥¶¡¼¤Ï ¥Ñ¥¹¥ï¡¼¥É̵¤·¤ÇÀܳ¤¬¤Ç¤­¡¢
-ƿ̾¥æ¡¼¥¶¡¼¤È¤·¤Æ°·¤ï¤ì¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
-
-@item
-¤½¤Î¾¤ÎÍ×µá¤ÏµñÈݤµ¤ì¤Þ¤¹¡£Î㤨¤Ð¡¢°ìÈ̥桼¥¶¡¼¤Ï @code{mysqladmin shutdown} ¤ä @code{mysqladmin processlist} ¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¡£
-@end itemize
-
-@strong{Ãí°Õ:} ¥Ç¥Õ¥©¥ë¥È¤Î¸¢¸Â¤Ï Win32 ¤Ç¤Ï°ã¤¤¤Þ¤¹¡£
-@xref{Win32 running}.
-
-½é´ü¥¤¥ó¥¹¥È¡¼¥ë¤Î¾õÂ֤ǤϤ«¤Ê¤ê¥¢¥¯¥»¥¹¤¬²òÊü¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢
-¥¤¥ó¥¹¥È¡¼¥ë¸åºÇ½é¤Ë¤¹¤ë¤³¤È¤Ï¡¢@strong{MySQL} @code{root} ¥æ¡¼¥¶¡¼¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤹ¤ë¤³¤È¤Ç¤¹¡£
-°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹(¥Ñ¥¹¥ï¡¼¥É¤Ï @code{PASSWORD()} ´Ø¿ô¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ªËº¤ì¤Ê¤¯)¡§
-
-@example
-shell> mysql -u root mysql
-mysql> UPDATE user SET Password=PASSWORD('new_password')
- WHERE user='root';
-mysql> FLUSH PRIVILEGES;
-@end example
-
-@strong{MySQL} 3.22 °Ê¾å¤Ç¤Ï¡¢@code{SET PASSWORD} ¹½Ê¸¤â»ÈÍѤǤ­¤Þ¤¹:
-
-@example
-shell> mysql -u root mysql
-mysql> SET PASSWORD FOR root=PASSWORD('new_password');
-@end example
-
-password ¤ò¥»¥Ã¥È¤¹¤ë¾¤ÎÊýË¡¤È¤·¤Æ¡¢@code{mysqladmin} ¥³¥Þ¥ó¥É¤â»ÈÍѤǤ­¤Þ¤¹¡§
-
-@example
-shell> mysqladmin -u root password new_password
-@end example
-
-¤â¤·ºÇ½é¤ÎÊýË¡¤Ç @code{user} ¥Æ¡¼¥Ö¥ë¤Î¥Ñ¥¹¥ï¡¼¥É¤òľÀܹ¹¿·¤·¤¿¤Ê¤é¡¢
-¥µ¡¼¥Ð¡¼¤Ëµö²Ä¥Æ¡¼¥Ö¥ë¤ÎºÆÆɤ߹þ¤ß¤ò¹Ô¤ï¤»¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó(@code{FLUSH PRIVILEGES} ¤ò»ÈÍѤ·¤Æ)¡£
-
-°ìÅÙ @code{root} ¤Î¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤¿¤Ê¤é¡¢@code{root} ¤Ç¥µ¡¼¥Ð¡¼¤ËÀܳ¤¹¤ë¾ì¹ç¤Ï
-¾ï¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÍ¿¤¨¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-ÄɲÃÀßÄê¤ä¥Æ¥¹¥È¤ò¤·¤Æ¤¤¤ë¤¿¤á¥Ñ¥¹¥ï¡¼¥É¤òÆþ¤ì¤¿¤¯¤Ê¤¤¾ì¹ç¡¢
-@code{root} ¥Ñ¥¹¥ï¡¼¥É¤ò¥Ö¥é¥ó¥¯¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤³¤¦¤È¹Í¤¨¤ë¤«¤âÃΤì¤Þ¤»¤ó¤¬¡¢
-¼Â²ÔƯ¤µ¤»¤ëÁ°¤Ë¤Ïɬ¤ºÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
-
-¤É¤Î¤è¤¦¤Ë¥Ç¥Õ¥©¥ë¥È¤Î¸¢¸Â¤òÀßÄꤷ¤Æ¤¤¤ë¤«¡¢@code{scripts/mysql_install_db} ¸«¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤ì¤Ï¾¤Î¥æ¡¼¥¶¡¼¤òÀßÄꤹ¤ë¤È¤­¤Ë»È¤¨¤ë¤Ç¤·¤ç¤¦¡£
-
-¤â¤·¸¢¸Â¤Î½é´ü¾õÂÖ¤ò°ã¤¦¤â¤Î¤Ë¤·¤Æ½é´ü²½¤·¤¿¤¤¤Ê¤é¡¢
-@code{mysql_install_db} ¤ò¼Â¹Ô¤¹¤ëÁ°¤ËÊÔ½¸¤·¤Æ¤â¤è¤¤¤Ç¤·¤ç¤¦¡£
-
-¤â¤·¥Æ¡¼¥Ö¥ë¤ò´°Á´¤Ëºî¤êľ¤·¤¿¤¤¤Ê¤é¡¢@code{mysql} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸ºß¤¹¤ë
-Á´¤Æ¤Î @file{*.frm}, @file{*.MYI}, @file{*.MYD} ¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹¡£
-(¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¡¼¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¡¼¤Î²¼¤Ë @code{mysql} ¤È¤¤¤¦Ì¾Á°¤Ç¸ºß¤·¤Þ¤¹¡£
-@code{mysqld --help} ¤È¤¹¤ì¤Ð¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¥£¥ì¥¯¥È¥ê¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£)
-¤½¤·¤Æ¹¥¤ß¤Îµö²Ä¾õÂÖ¤Ë @code{mysql_install_db} ¤òÊÔ½¸¤·¤Æ¤«¤é¼Â¹Ô¤·¤Þ¤¹¡£
-
-@strong{Ãí°Õ:} @strong{MySQL} 3.22.10 °ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï,
-@file{*.frm} ¥Õ¥¡¥¤¥ë¤ò¾Ã¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó. ¤â¤·¤¦¤Ã¤«¤ê¾Ã¤·¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¡¢
-@code{mysql_install_db} ¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¡¢ @strong{MySQL} ÇÛÉÛ¤«¤é¥³¥Ô¡¼¤·¤Ê¤ª¤µ
-¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-
-@node Adding users, Passwords, Default privileges, Privilege system
-@section ¿·¤·¤¤¥æ¡¼¥¶¸¢¸Â¤ò @strong{MySQL} ¤ØÄɲÃ
-
-¥æ¡¼¥¶¡¼¤Ï£²¤Ä¤Î°ã¤Ã¤¿ÊýË¡¤ÇÄɲäǤ­¤Þ¤¹¡§
-@code{GRANT} ¹½Ê¸¤ò»ÈÍѤ·¤Æ¹Ô¤¦ÊýË¡¤È¡¢
-@strong{MySQL} ¤Îµö²Ä¥Æ¡¼¥Ö¥ë¤òľÀÜÁàºî¤¹¤ëÊýË¡¤È¤Ç¤¹¡£
-@code{GRANT} ¹½Ê¸¤Î»ÈÍѤò¤ª´«¤á¤·¤Þ¤¹¡£
-
-°Ê²¼¤ÎÎã¤Ç¤Ï¡¢¤¤¤«¤Ë¤·¤Æ @code{mysql} ¥¯¥é¥¤¥¢¥ó¥È¤ò»ÈÍѤ·¤Æ¿·µ¬¤Ë¥æ¡¼¥¶¡¼¤òÅÐÏ¿¤¹¤ë¤«¤ò¼¨¤·¤Þ¤¹¡£
-°Ê²¼¤ÎÎã¤Ç¤Ï¡¢¸¢¸Â¤ÏÁ°Àá¤Ç½Ò¤Ù¤¿¥Ç¥Õ¥©¥ë¥ÈÃͤˤʤäƤ¤¤ë¤È¤·¤Þ¤¹¡£
-¤è¤Ã¤ÆÊѹ¹¤ò¹Ô¤¦¤¿¤á¤Ë¤Ï¡¢¤¢¤Ê¤¿¤Ï @code{mysqld} ¤¬Áö¤Ã¤Æ¤¤¤ë¥Þ¥·¥ó¾å¤Ë¥í¥°¥¤¥ó¤·¤Æ¤¤¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¤·¡¢
-¤«¤Ä¡¢@strong{MySQL} @code{root} ¥æ¡¼¥¶¡¼¤ÇÀܳ¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤µ¤é¤Ë @strong{MySQL} @code{root} ¥æ¡¼¥¶¡¼¤Ë¤Ï
- @code{mysql} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ·¤Æ @strong{insert} ¸¢¸Â¤ò»ý¤Á¡¢
-@strong{reload} ¤Î¥¢¥É¥ß¥Ë¥¹¥È¥ì¡¼¥¿¡¼¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤â¤· @code{root} ¥æ¡¼¥¶¡¼¤Î¥Ñ¥¹¥ï¡¼¥É¤òÊѤ¨¤Æ¤¤¤¿¤Ê¤é¤Ð¡¢
- @code{mysql} ¥³¥Þ¥ó¥É¤Ë¥Ñ¥¹¥ï¡¼¥É»ØÄê¤òÍ¿¤¨¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-@example
-shell> mysql --user=root mysql
-mysql> GRANT ALL PRIVILEGES ON *.* TO monty@@localhost
- IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
-mysql> GRANT ALL PRIVILEGES ON *.* TO monty@@"%"
- IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
-mysql> GRANT RELOAD,PROCESS ON *.* TO admin@@localhost;
-mysql> GRANT USAGE ON *.* TO dummy@@localhost;
-@end example
-
-¤³¤ì¤é @code{GRANT} ¹½Ê¸¤Ç¤Ï3¤Ä¤Î¿·¤·¤¤¥æ¡¼¥¶¤òºî¤ê¤Þ¤¹:
-
-@table @code
-@item monty
-¤É¤³¤«¤é¤Ç¤â¥µ¡¼¥Ð¡¼¤ËÀܳ¤Ç¤­¤ë´°Á´¤Ê¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡£
-¤·¤«¤·¡¢@strong{MySQL} ¤ò»ÈÍѤ¹¤ë»þ¤Ë¤Ï¥Ñ¥¹¥ï¡¼¥É @code{'some_pass'} ¤ò
-»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-@code{monty@@localhost} ¤È @code{monty@@"%"} ¤ÎξÊý¤Ë @code{GRANT} ¹½Ê¸¤ò
-ȯ¹Ô¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤»ö¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤â¤· @code{localhost} ¤«¤é¤Îµö²Ä¤ò¤·¤¿ÅÐÏ¿¤¬¤Ê¤¤¤È¡¢@code{localhost} ¤«¤éÀܳ¤·¤¿»þ¡¢
-@code{mysql_install_db} ¤¬¼«Æ°¤ÇºîÀ®¤·¤¿ @code{localhost} ¤Ø¤Îƿ̾¥æ¡¼¥¶¡¼¤¬Í¥À褵¤ì¤Þ¤¹¡£
-¤Ê¤¼¤Ê¤é¡¢ @code{Host} ¥Õ¥£¡¼¥ë¥É¤ÎÃͤ¬(¥Ö¥é¥ó¥¯¤ä¥ï¡¼¥ë¥É¥«¡¼¥É°Ê³°¤Ë)ÌÀµ­¤µ¤ì¤Æ¤ª¤ê¡¢
-µö²ÄÅÐÏ¿¤¬ MySQL ÆâÉô¤Ç¥½¡¼¥È¤µ¤ì¤ë»þ¤Ë½çÈÖ¤¬¾å¤Ë¥½¡¼¥È¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£
-
-@item admin
-@code{localhost} ¤«¤é¥Ñ¥¹¥ï¡¼¥É¤Ê¤·¤ÇÀܳ¤Ç¤­¤Þ¤¹¤¬¡¢@code{reload}, @code{process} ¤Î»ÈÍѤÀ¤±¤¬µö¤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢@code{mysqladmin reload}, @code{mysqladmin refresh}, @code{mysqladmin flush-*} ¤½¤·¤Æ
- @code{mysqladmin processlist} ¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤¬¤³¤Î¥æ¡¼¥¶¡¼¤Ëµö²Ä¤µ¤ì¤Þ¤¹¡£
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-¤·¤«¤·¤³¤ì¤Ï¸å¤Ç¥Æ¡¼¥Ö¥ë @code{GRANT} ¹½Ê¸¤òȯ¹Ô¤¹¤ì¤Ð¡¢
-¸Ä¡¹¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¥¢¥¯¥»¥¹¸¢¸Â¤¬ÀßÄê¤Ç¤­¤Þ¤¹¡£
-
-@item dummy
-¥Ñ¥¹¥ï¡¼¥É¤Ê¤·¤Ç localhost ¤«¤é¤Î¤ß¡¢Àܳ¤Ç¤­¤ë¥æ¡¼¥¶¡¼¡£
-¥°¥í¡¼¥Ð¥ë¤Ê¸¢¸Â¤ÏÁ´¤Æ @code{'N'} ¤ËÀßÄꤵ¤ì¤Þ¤¹¡£
-@code{USAGE} ¸¢¸Â¤Ï¸¢¸Â̵¤·¥æ¡¼¥¶¡¼¤ÎÀßÄê¤òµö²Ä¤¹¤ë»ö¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢ÆÃÄê¥Ç¡¼¥¿¡¼¥Ù¡¼¥¹¤ËÂФ·¤Æ¤Îµö²Ä¤ò¸å¤«¤éÍ¿¤¨¤ë»ö¤òÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£
-@end table
-
-Ʊ¤¸¥¢¥¯¥»¥¹µö²Ä¤ò @code{INSERT} ¹½Ê¸¤ò»ÈÍѤ·¤ÆľÀÜÀßÄê¤Ç¤­¤Þ¤¹¡£
-¥µ¡¼¥Ð¡¼¤Ëµö²Ä¥Æ¡¼¥Ö¥ë¤ÎºÆÆɤ߹þ¤ß¤ò»Ø¼¨¤·¤Þ¤¹¡§
-
-@example
-shell> mysql --user=root mysql
-mysql> INSERT INTO user VALUES('localhost','monty',PASSWORD('some_pass'),
- 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
-mysql> INSERT INTO user VALUES('%','monty',PASSWORD('some_pass'),
- 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
-mysql> INSERT INTO user SET Host='localhost',User='admin',
- Reload_priv='Y', Process_priv='Y';
-mysql> INSERT INTO user (Host,User,Password)
- VALUES('localhost','dummy','');
-mysql> FLUSH PRIVILEGES;
-@end example
-
-@strong{MySQL} ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤ê¡¢¾å¤Î @code{'Y'} ¤Î¿ô¤¬°ã¤¦»ö¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-(3.22.11 °ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¹àÌÜ¿ô¤¬¾¯¤Ê¤¯¤Ê¤ê¤Þ¤¹).
-@code{admin} ¥æ¡¼¥¶¡¼¤òÅÐÏ¿¤Ç»ÈÍѤ·¤Æ¤¤¤ë @code{INSERT} ¤Î³ÈÄ¥¤Ï 3.22.11 °Ê¾å¤Ç²Äǽ¤Ç¤¹¡£
-
-¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¤òÄêµÁ¤¹¤ë¤¿¤á¤Ë¤Ï¡¢@code{user} ¥Æ¡¼¥Ö¥ë¤Îµö²Ä¥Õ¥£¡¼¥ë¥É¤ò
-@code{'Y'} ¤Ë¤¹¤ë¤À¤±¤Ç¤«¤Þ¤¤¤Þ¤»¤ó¡£
-@code{db} ¤ä @code{host} ¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤ÏɬÍ×̵¤¤¤Î¤Ç¤¹¡£
-
-@code{user} ¥Æ¡¼¥Ö¥ë¤Îµö²Ä¥Õ¥£¡¼¥ë¥É¤ÏºÇ¸å¤Î @code{INSERT} ʸ¤Ç(@code{dummy} ¥æ¡¼¥¶¡¼¤Î¤¿¤á¤Ë)
-¤ÏÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤Ï¥Ç¥Õ¥©¥ë¥ÈÃͤΠ@code{'N'} ¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤³¤ì¤Ï @code{GRANT USAGE} ¤¬¹Ô¤¦¤Î¤ÈƱ¤¸¤â¤Î¤Ç¤¹¡£
-
-°Ê²¼¤Ï¡¢@code{localhost}, @code{server.domain}, @code{whitehouse.gov} ¤«¤éÀܳ¤¬²Äǽ¤Ê
- @code{custom} ¥æ¡¼¥¶¡¼¤ÎÄɲÃÎã¤Ç¤¹¡£
- @code{custom} ¥æ¡¼¥¶¡¼¤Ï @code{bankaccount} ¥Ç¡¼¥¿¡¼¥Ù¡¼¥¹¤Ë¤Ï @code{localhost} ¤«¤é¤ÎÀܳ¤Î¤ß¤òµö²Ä¤µ¤ì¡¢
-@code{expenses} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤Ï @code{whitehouse.gov} ¤«¤é¤Î¤ßÀܳ¤¬µö²Ä¤µ¤ì¡¢
-@code{customer} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤ÏÁ´¤Æ¤Î¥Û¥¹¥È¤«¤éÀܳ¤Ç¤­¤Þ¤¹¡£
-@code{custom} ¥æ¡¼¥¶¡¼¤Ï¡¢ @code{stupid} ¤È¤¤¤¦¥Ñ¥¹¥ï¡¼¥É¤òÁ´¤Æ¤Î¥Û¥¹¥È¤Ç»ÈÍѤ·¤¿¤¤¤È¤·¤Þ¤¹¡£
-
-¤³¤Î¥æ¡¼¥¶¡¼¤Îµö²Ä¤ò @code{GRANT} ¹½Ê¸¤ÇÄêµÁ¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-shell> mysql --user=root mysql
-mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
- ON bankaccount.*
- TO custom@@localhost
- IDENTIFIED BY 'stupid';
-mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
- ON expenses.*
- TO custom@@whitehouse.gov
- IDENTIFIED BY 'stupid';
-mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
- ON customer.*
- TO custom@@'%'
- IDENTIFIED BY 'stupid';
-@end example
-
-µö²Ä¥Æ¡¼¥Ö¥ë¤òľÀÜÊѹ¹¤·¤Æ¤³¤Î¥æ¡¼¥¶¡¼¤Î¸¢¸Â¤òÀßÄꤹ¤ë¤Ë¤Ï¤¤¤«¤Î¤è¤¦¤Ë¤·¤Þ¤¹
-(@code{FLUSH PRIVILEGES} ¤òºÇ¸å¤Ë¼Â¹Ô¤·¤Æ¤¤¤ë»ö¤ËÃí°Õ)¡§
-
-@example
-shell> mysql --user=root mysql
-mysql> INSERT INTO user (Host,User,Password)
- VALUES('localhost','custom',PASSWORD('stupid'));
-mysql> INSERT INTO user (Host,User,Password)
- VALUES('server.domain','custom',PASSWORD('stupid'));
-mysql> INSERT INTO user (Host,User,Password)
- VALUES('whitehouse.gov','custom',PASSWORD('stupid'));
-mysql> INSERT INTO db
- (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
- Create_priv,Drop_priv)
- VALUES
- ('localhost','bankaccount','custom','Y','Y','Y','Y','Y','Y');
-mysql> INSERT INTO db
- (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
- Create_priv,Drop_priv)
- VALUES
- ('whitehouse.gov','expenses','custom','Y','Y','Y','Y','Y','Y');
-mysql> INSERT INTO db
- (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
- Create_priv,Drop_priv)
- VALUES('%','customer','custom','Y','Y','Y','Y','Y','Y');
-mysql> FLUSH PRIVILEGES;
-@end example
-
-ºÇ½é¤Î£³¤Ä¤Î @code{INSERT} ʸ¤Ï¡¢ @code{custom} ¥æ¡¼¥¶¡¼¤¬¤½¤ì¤¾¤ì¤Î¥Û¥¹¥È¤«¤é
-¥Ñ¥¹¥ï¡¼¥É¤Ä¤­¤ÇÀܳ¤Ç¤­¤ë¤è¤¦¤Ë @code{user} ¥Æ¡¼¥Ö¥ë¤ËÄɲ䷤Ƥ¤¤Þ¤¹¡£
-¤·¤«¤·¤³¤³¤Ç¤Ï¸¢¸Â¤Ï£±¤Ä¤âÍ¿¤¨¤é¤ì¤Æ¤¤¤Þ¤»¤ó(¸¢¸Â¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï @code{'N'} ¤Ç¤¹)¡£
-¼¡¤Î»°¤Ä¤Î @code{INSERT} ʸ¤Ï¡¢@code{bankaccount}, @code{expenses}, @code{customer}
- ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ¹¤ë³ºÅö¥Û¥¹¥È¤«¤é¤Î¥¢¥¯¥»¥¹µö²Ä¤ò @code{custom} ¥æ¡¼¥¶¡¼¤ËÍ¿¤¨¤ë¤è¤¦¤Ë¡¢
-@code{db} ¥Æ¡¼¥Ö¥ë¤ËÄɲ䷤Ƥ¤¤Þ¤¹¡£
-µö²Ä¥Æ¡¼¥Ö¥ë¤¬Ä¾ÀÜÊѹ¹¤µ¤ì¤¿¾ì¹ç¡¢¤³¤ì¤é¤ò¥µ¡¼¥Ð¡¼¤ËÈ¿±Ç¤µ¤»¤ë¤¿¤á¤Ë¡¢µö²Ä¥Æ¡¼¥Ö¥ë¤Î
-ºÆÆɤ߹þ¤ß¤ò(@code{FLUSH PRIVILEGES}¤Ç) ¥µ¡¼¥Ð¡¼¤Ë¤Ä¤²¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-¤â¤·¡¢¤¢¤ë¥É¥á¥¤¥ó¤ÎÁ´¤Æ¤Î¥Þ¥·¥ó¤ËÀܳ¤òµö²Ä¤·¤¿¤¤¾ì¹ç¡¢
-°Ê²¼¤Î¤è¤¦¤Ë @code{GRANT} ¹½Ê¸¤òȯ¹Ô¤·¤Þ¤¹¡§
-
-@example
-mysql> GRANT ...
- ON *.*
- TO myusername@@"%.mydomainname.com"
- IDENTIFIED BY 'mypassword';
-@end example
-
-µö²Ä¥Æ¡¼¥Ö¥ë¤òľÀÜÊѹ¹¤¹¤ë¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-mysql> INSERT INTO user VALUES ('%.mydomainname.com', 'myusername',
- PASSWORD('mypassword'),...);
-mysql> FLUSH PRIVILEGES;
-@end example
-¤â¤Á¤í¤ó¡¢@code{xmysqladmin}, @code{mysql_webadmin}, ¤½¤·¤Æ @code{xmysql} ¤ò»È¤Ã¤Æ
-¤â¡¢¸¢¸Â¥Æ¡¼¥Ö¥ë¤Ø¤ÎÃͤÎÁÞÆþ/Êѹ¹/¹¹¿·¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï
-@uref{http://www.mysql.com/Contrib/,Contrib directory of the @strong{MySQL}
-Website}.
-¤Ë¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-
-@node Passwords, Access denied, Adding users, Privilege system
-@section ¥Ñ¥¹¥ï¡¼¥É¤ÎÀßÄêË¡
-@cindex Passwords, setting
-@findex PASSWORD()
-
-Á°Àá¤ÎÎã¤Ç½Ò¤Ù¤¿¡¢¤È¤Æ¤â½ÅÍפʴðËܸ¶Â§¡§
-
-@code{INSERT} ¤« @code{UPDATE} ¤Ç¶õ¤Ç¤Ï¤Ê¤¤¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤹ¤ë¾ì¹ç¡¢
-°Å¹æ²½¤¹¤ë¤¿¤á¤Ë @code{PASSWORD()} ´Ø¿ô¤ò»ÈÍѤ·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-¤³¤ì¤Ï @code{user} ¥Æ¡¼¥Ö¥ë¤Ï¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È¤Ç¤Ê¤¯¡¢°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤Ç¤¢¤ë¤³¤È¤òÍ׵ᤷ¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£
-¤³¤Î¸¶Â§¤ò˺¤ì¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¥Ñ¥¹¥ï¡¼¥É¤ò¥»¥Ã¥È¤·¤Æ¤·¤Þ¤¦¤«¤â¤·¤ì¤Þ¤»¤ó¡§
-
-@example
-shell> mysql -u root mysql
-mysql> INSERT INTO user (Host,User,Password)
- VALUES('%','jeffrey','biscuit');
-mysql> FLUSH PRIVILEGES;
-@end example
-
-¤³¤ì¤Ï @code{user} ¥Æ¡¼¥Ö¥ë¤Ë¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È¤Î @code{'biscuit'} ¤ò¥Ñ¥¹¥ï¡¼¥É¤È¤·¤ÆÅÐÏ¿¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
-@code{jeffrey} ¥æ¡¼¥¶¡¼¤Ç¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ÈÍѤ·¤Æ¥µ¡¼¥Ð¡¼¤ËÀܳ¤·¤è¤¦¤È¤¹¤ë¤È¡¢
- @code{mysql} ¥¯¥é¥¤¥¢¥ó¥È¤Ï°Å¹æ²½¤·¤¿¥Ñ¥¹¥ï¡¼¥É¤ò¥µ¡¼¥Ð¡¼¤ËÁ÷¤ê¤Þ¤¹¡£
-¥µ¡¼¥Ð¡¼¤Ï°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É(@code{'biscuit'} ¤Ç¤Ï@emph{¤¢¤ê¤Þ¤»¤ó}) ¤È
- @code{user} ¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤µ¤ì¤¿ÃÍ(@code{'biscuit'}) ¤òÈæ³Ó¤·¤Þ¤¹¡£
-¤½¤Î·ë²Ì¡¢Èæ³Ó¤Ï¼ºÇÔ¤·¡¢¥µ¡¼¥Ð¡¼¤ÏÀܳ¤òµñÈݤ·¤Þ¤¹¡§
-
-@example
-shell> mysql -u jeffrey -pbiscuit test
-Access denied
-@end example
-
- @code{user} ¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤µ¤ì¤ë¥Ñ¥¹¥ï¡¼¥É¤Ï°Å¹æ²½¤µ¤ì¤¿¤â¤Î¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-@code{INSERT} ¹½Ê¸¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ»ÈÍѤ·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡§
-
-@example
-mysql> INSERT INTO user (Host,User,Password)
- VALUES('%','jeffrey',PASSWORD('biscuit'));
-@end example
-
-@code{SET PASSWORD} ¹½Ê¸¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡§
-
-@example
-mysql> SET PASSWORD FOR jeffrey@@"%" = PASSWORD('biscuit');
-@end example
-
-¤â¤· @code{GRANT ... IDENTIFIED BY} ¹½Ê¸¤ä @code{mysqladmin password} ¥³¥Þ¥ó¥É
-¤Ç¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤¿¾ì¹ç¡¢@code{PASSWORD()} ´Ø¿ô¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£
-ξÊý¤È¤â¡¢¥Ñ¥¹¥ï¡¼¥É¤ò°Å¹æ²½¤·¤Æ¤¯¤ì¤Þ¤¹¤Î¤Ç¡¢
-°Ê²¼¤Î¤è¤¦¤Ë@code{'biscuit'}¤ÈÍ¿¤¨¤Þ¤¹¡§
-
-@example
-mysql> GRANT USAGE ON *.* TO jeffrey@@"%" IDENTIFIED BY 'biscuit';
-
-shell> mysqladmin -u jeffrey password biscuit
-@end example
-
-@strong{Ãí°Õ}¡§ @code{PASSWORD()} ¤¬¥Ñ¥¹¥ï¡¼¥É¤ò°Å¹æ²½¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤Î°Å¹æ²½¤Ï UNIX ¤Î¥Ñ¥¹¥ï¡¼¥É¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë°Å¹æ²½¤È°ã¤¦¤³¤È¤Ë¤âα°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-UNIX ¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤Ëµ­Ï¿¤µ¤ì¤Æ¤¤¤ë°Å¹æ¤È @code{PASSWORD()} ¤¬°Å¹æ²½¤·¤¿Êª¤¬Æ±¤¸¤Ç¤â¡¢
-Ʊ¤¸¥Ñ¥¹¥ï¡¼¥É¤Ç¤¢¤ë¤È¤Ï»×¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
-@xref{User names}.
-
-@node Access denied, , Passwords, Privilege system
-@section ²¿¸Î @code{Access denied} ¥¨¥é¡¼¤Ë¤Ê¤ë¤Î¤«
-
-¤â¤·¡¢@strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËÀܳ¤·¤è¤¦¤È¤·¤Æ @code{Access denied} ¥¨¥é¡¼¤Ë
-Áø¶ø¤·¤Æ¤·¤Þ¤Ã¤¿¤é¡¢°Ê²¼¤Ëµ­¤¹¤³¤È¤¬ÌäÂê¤Î²ò·è¤Î¤¿¤á¤Î»Øɸ¤È¤Ê¤ë¤Ç¤·¤ç¤¦:
-
-@itemize @bullet
-@item
-@strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¸å¤Ë¡¢¥¹¥¯¥ê¥×¥È @code{mysql_install_db} ¤ò¼Â¹Ô¤·¤Æ
-µö²Ä¥Æ¡¼¥Ö¥ë¤ò½é´ü²½¤·¤Þ¤·¤¿¤«¡©
-¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£@xref{Default privileges}
-¸¢¸Âµö²Ä¤Î¥Æ¡¼¥Ö¥ë¤¬½é´ü²½¤µ¤ì¤Æ¤¤¤ë¤«¤ò»î¤¹¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-shell> mysql -u root test
-@end example
-
-¤³¤ì¤ÏÉáÄ̤ϥ¨¥é¡¼¤Ê¤·¤ÇÀܳ¤Ç¤­¤Þ¤¹¡£
-@strong{MySQL} ¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë @file{user.MYD} ¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤«¤É¤¦¤«¤Ç¤â¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
-(ÉáÄÌ¤Ï @file{PATH/var/mysql/user.MYD} ¤Ç¤¹¡£¤³¤³¤Ç @code{PATH} ¤Ï @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¡¼¥Ñ¥¹¤ò¼¨¤·¤Þ¤¹¡£)
-
-@item
-½é¤á¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¸å¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¥µ¡¼¥Ð¡¼¤ËÀܳ¤·¤Æ¥æ¡¼¥¶¡¼¤È¥¢¥¯¥»¥¹¸¢¤òÀßÄꤷ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡§
-
-@example
-shell> mysql -u root mysql
-@end example
-
-½é´ü¾õÂ֤Ǥϡ¢@strong{MySQL} ¤Ë @code{root} ¥æ¡¼¥¶¡¼¤ò¥Ñ¥¹¥ï¡¼¥É¤Ê¤·¤ÇÅÐÏ¿¤·¤Æ¤¤¤ë¤Î¤Ç¡¢
-ÌäÂê¤Ê¤¯Àܳ¤Ç¤­¤ë¤Ï¤º¤Ç¤¹¡£
-¤·¤«¤·¤³¤ì¤Ï¥»¥­¥å¥ê¥Æ¥£¾å´í¸±¤Ê¾õÂ֤ʤΤǡ¢
-¾¤Î @strong{MySQL} ¥æ¡¼¥¶¡¼¤òÅÐÏ¿¤·¤Æ¤¤¤ë»þ¤Ë¡¢
-@code{root} ¤Î¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
-
-¤â¤· @code{root} ¤ÇÀܳ¤·¤è¤¦¤È¤·¤Æ°Ê²¼¤Î¥¨¥é¡¼¤¬½Ð¤¿¾ì¹ç¡§
-
-@example
-Access denied for user: '@@unknown' to database mysql
-@end example
-
-¤³¤ì¤Ï @code{user} ¥Æ¡¼¥Ö¥ë¤Ë¡¢ @code{User} ¥Õ¥£¡¼¥ë¥É = @code{root} ¤«¤Ä
-@code{mysqld} ¤¬¥ê¥¾¥ë¥Ö¤Ç¤­¤Ê¤«¤Ã¤¿¥Û¥¹¥È̾¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£
-¤³¤Î¾ì¹ç¡¢ @file{/etc/hosts} ¥Õ¥¡¥¤¥ë¤¢¤ë¤¤¤Ï @file{\windows\hosts} ¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Æ
-¥Û¥¹¥È̾¤òÄɲä·¡¢@code{--skip-grant-tables} ¥ª¥×¥·¥ç¥ó¤Ç¥µ¡¼¥Ð¡¼¤ò¥ê¥¹¥¿¡¼¥È¤·¤Þ¤¹¡£
-
-@cindex @code{mysql_fix_privilege_tables}
-¤â¤· 3.22.11 ¤è¤êÁ°¤Î @strong{MySQL} ¤«¤é 3.22.11 °Ê¾å¤Ë¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¤·¤¿¤Ê¤é¡¢
-@code{mysql_fix_privilege_tables} ¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤·¤Þ¤·¤¿¤«¡©
-¼Â¹Ô¤·¤Æ¤¤¤Ê¤¤¤Ê¤é¡¢¤³¤Î¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£
-µö²Ä¥Æ¡¼¥Ö¥ë¤Î¹½Â¤¤¬ @strong{MySQL} 3.22.11 ¤«¤éÊѹ¹¤µ¤ì¡¢
-@code{GRANT} ¹½Ê¸¤¬µ¡Ç½¤·¤Æ¤¤¤Þ¤¹¡£
-
-@item
-¤â¤·µö²Ä¥Æ¡¼¥Ö¥ë¤òľÀÜÊѤ¨¤Æ(@code{INSERT} ¤« @code{UPDATE} ¹½Ê¸¤Ç)¡¢
-Êѹ¹¤¬Ìµ»ë¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ê¤é¤Ð¡¢¥µ¡¼¥Ð¡¼¤Ë¥Æ¡¼¥Ö¥ë¤òºÆÆɤ߹þ¤ß¤µ¤»¤ë¤¿¤á¤Ë¡¢
-@code{FLUSH PRIVILEGES} ¹½Ê¸¤« @code{mysqladmin flush-privileges} ¥³¥Þ¥ó¥É¤ò
-¼Â¹Ô¤¹¤ë»ö¤ò»×¤¤½Ð¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤ì¤ò¼Â¹Ô¤·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢Êѹ¹¤Ï¼¡¤Î¥µ¡¼¥Ð¡¼¤Î¥ê¥¹¥¿¡¼¥È¤Þ¤ÇÈ¿±Ç¤µ¤ì¤Þ¤»¤ó¡£
-@code{root} ¥æ¡¼¥¶¡¼¤Î¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤¿¤¢¤È¤Ç¤â¡¢
-¸¢¸Â¾ðÊó¤òºÆÆɤ߹þ¤ß¤¹¤ë¤Þ¤Ç¤Ï¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ÏÉÔÍפǤ¹¡£
-¤Ê¤¼¤Ê¤é¡¢¥µ¡¼¥Ð¡¼¤Ï¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ò¤Þ¤ÀÃΤé¤Ê¤¤¤«¤é¤Ç¤¹¡ª
-
-@code{mysqladmin reload} ¤ò¹Ô¤Ã¤Æ¤â¡¢¸¢¸Â¤¬Í­¸ú¤Ê¤Î¤Ï¡¢
-¤³¤Î¥³¥Þ¥ó¥Éȯ¹Ô¸å¤Ë¿·¤·¤¯Àܳ¤·¤¿¥¯¥é¥¤¥¢¥ó¥È¤ËÂФ·¤Æ¤À¤±¤Ç¤¹¡£
-(¿¤¯¤Î¸¢¸Â¾ðÊ󤬥µ¡¼¥Ð¡¼¤Ë¥­¥ã¥Ã¥·¥å¤µ¤ì¤Æ¤¤¤ë¤¿¤á¤Ç¤¹)
-
-@item
-¤â¤·¤¢¤Ê¤¿¤Î¸¢¸Â¤¬¥»¥Ã¥·¥ç¥ó¤ÎÅÓÃæ¤ÇÊѹ¹¤µ¤ì¤¿¤è¤¦¤Ë»×¤Ã¤¿¤Ê¤é¡¢¤½¤ì¤Ï
-¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¤¬¸¢¸Â¤òÊѤ¨¤¿¤Î¤«¤âÃΤì¤Þ¤»¤ó¡£µö²Ä¥Æ¡¼¥Ö¥ë¤ÎºÆÆɤ߹þ¤ß¤Ï
-¿·¤·¤¤¥¯¥é¥¤¥¢¥ó¥È¤ÎÀܳ¤«¤éÈ¿±Ç¤µ¤ì¤Þ¤¹¤¬¡¢¤¹¤Ç¤ËÀܳ¤·¤Æ¤¤¤ë¾ì¹ç¤Ç¤â
-@ref{Privilege changes}. ¤Ë¼¨¤¹¾ò·ï²¼¤Ç¤Ï±Æ¶Á¤ò¼õ¤±¤Þ¤¹¡£
-
-@item
-¥Æ¥¹¥È¤Î¤¿¤á¤Ë¤Ï¡¢@code{mysqld} ¥Ç¡¼¥â¥ó¤ò @code{--skip-grant-tables} ¥ª¥×¥·¥ç
-¥ó¤Ç³«»Ï¤¹¤Ù¤­¤Ç¤¹¡£¤½¤¦¤¹¤ì¤Ð @strong{MySQL} ¾µÇ§¥Æ¡¼¥Ö¥ë¤òÊѹ¹¤Ç¤­¡¢¥¹¥¯¥ê¥×
-¥È @code{mysqlaccess} ¤ò¡¢¤¢¤Ê¤¿¤Î¾µÇ§¤¬Æ¯¤¯¤«¤É¤¦¤«¤Î¥Á¥§¥Ã¥¯¤Î¤¿¤á¤Ë»È
-ÍѤǤ­¤Þ¤¹¡£
-@code{mysqladmin flush-privileges} ¤Ï @code{mysqld} ¥Ç¡¼¥â¥ó¤Ë¿·¤·¤¤¾µÇ§¥Æ¡¼¥Ö¥ë¤Î
-»ÈÍѤò³«»Ï¤¹¤ë¤è¤¦¤ËÃΤ餻¤Þ¤¹¡£¤³¤ì¤Ï @code{--skip-grant-tables} ¥ª¥×¥·¥ç¥ó¤ò¾å½ñ¤­¤·¤Þ¤¹¡£
-¥æ¡¼¥¶¡¼¤Îµö²Ä¥Æ¡¼¥Ö¥ë¤òÆɤ߹þ¤Þ¤»¤ë¤Î¤Ë¡¢¥µ¡¼¥Ð¡¼¤òÍ¤ÆΩ¤Á¾å¤²Ä¾¤¹É¬ÍפϤ¢¤ê¤Þ¤»¤ó¡£
-
-@item
-Perl, PHP, Python ¤Þ¤¿¤Ï ODBC ¤Ç¥¢¥¯¥»¥¹¤ÎÌäÂ꤬¤¢¤Ã¤¿¾ì¹ç¤â¡¢¾ï¤Ë
-@code{mysql -u user_name db_name} ¤Þ¤¿¤Ï @code{mysql -u user_name -pyour_pass db_name} ¤Ç¡¢
-¸¢¸Â¤ÎÌäÂê¤ò¥Æ¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£(@code{-p} ¤È password ¤Î´Ö¤Ë¤Ï¶õ
-Çò¤¬¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£@code{--password=your_password} ¹½Ê¸¤Ç¤â
-¥Ñ¥¹¥ï¡¼¥É¤òÍ¿¤¨¤é¤ì¤Þ¤¹)
-@code{mysql} ¥¯¥é¥¤¥¢¥ó¥È¤ÇÀܳ¤Ç¤­¤ë¤Ê¤é¡¢¥¢¥¯¥»¥¹¤Î¸¢¸Â¤ÎÀßÄê¤ÎÌäÂê¤Ç¤Ï¤Ê¤¯¡¢
-¥×¥í¥°¥é¥à¤ÎÌäÂê¤Ç¤¹¡£
-
-@item
-¤â¤·¤¢¤Ê¤¿¤Î¥Ñ¥¹¥ï¡¼¥É¤¬Æ¯¤«¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
-@code{INSERT}, @code{UPDATE}, @code{SET PASSWORD} ¹½Ê¸¤Ç¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤹ¤ë¤È¤­
- @code{PASSWORD()} ´Ø¿ô¤ò»ÈÍѤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤ò»×¤¤½Ð¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤·¤«¤· @code{PASSWORD()} ´Ø¿ô¤Ï¡¢@code{GRANT ... INDENTIFIED BY} ¹½Ê¸¤ä
-@code{mysqladmin password} ¥³¥Þ¥ó¥É¤Ç¤ÏÉÔÍפǤ¹¡£
-@xref{Passwords}.
-
-@item
-@code{localhost} ¤Ï¥í¡¼¥«¥ë¤Î¥Û¥¹¥È̾¤Ç¤¹¡£
-¤â¤·¥¯¥é¥¤¥¢¥ó¥È¤¬¥Û¥¹¥È¤ò»ØÄꤻ¤º¤ËÀܳ¤·¤Æ¤­¤¿¾ì¹ç¡¢@code{localhost} ¤¬¥Ç¥Õ¥©¥ë¥È¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤·¤«¤·¡¢ MIT-pthreads ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢@code{localhost} ¤Ø¤ÎÀܳ¤Ï¼ºÇÔ¤·¤Þ¤¹¡£
-(@code{localhost} ¤Ø¤ÎÀܳ¤Ï¡¢Unix¥½¥±¥Ã¥È¤ò»ÈÍѤ·¤Þ¤¹¤¬¡¢ MIT-pthreads ¤¬ ¥½¥±¥Ã¥ÈÀܳ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤¿¤á¤Ç¤¹¡£)
-¤³¤ÎÌäÂ꤬µ¯¤­¤ë¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¥µ¡¼¥Ð¡¼Ì¾¤ò»ØÄꤹ¤ë¤¿¤á¤Ë @code{--host} ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-¤³¤ì¤Ï TCP/IP Àܳ¤ò»ÈÍѤ·¤Æ @code{mysqld} ¥µ¡¼¥Ð¡¼¤ËÀܳ¤·¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢@code{user} ¥Æ¡¼¥Ö¥ë¤Ë¡¢¥µ¡¼¥Ð¡¼¤Î¼Â¥Û¥¹¥È̾¤òÅÐÏ¿¤·¤Æ¤ª¤«¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-(¤³¤ì¤Ï¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤ò¥µ¡¼¥Ð¡¼¤ÈƱ¤¸¥Û¥¹¥È¾å¤ÇÆ°¤«¤·¤Æ¤¤¤ë¾ì¹ç¿¿¤È¤Ê¤ê¤Þ¤¹)
-
-@item
-@code{mysql -u user_name db_name} ¤ò»ÈÍѤ·¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÀܳ¤·¤Æ¤¤¤ë¤È¤­¤Ë
- @code{Access denied} ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢@code{user} ¥Æ¡¼¥Ö¥ë¤ÎÀßÄê°ã¤¤¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£
-@code{mysql -u root mysql} ¤ò¼Â¹Ô¤·¡¢°Ê²¼¤Î SQL ʸ¤ò»î¤·¤Æ¤¯¤À¤µ¤¤¡§
-
-@example
-mysql> SELECT * FROM user;
-@end example
-
-@code{Host} ¤È @code{User} ¤Ë¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿Ì¾¤È @strong{MySQL} ¥æ¡¼¥¶¡¼Ì¾¤Ë¥Þ¥Ã¥Á¤¹¤ëÅÐÏ¿¤¬¤Ê¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-@item
-@code{Access denied} ¥¨¥é¡¼¤Ï¡¢¤É¤Î¥æ¡¼¥¶¡¼¤ÇÀܳ¤·¤Æ¤­¤¿¤«¡¢¤É¤Î¥Û¥¹¥È¤«¤éÀܳ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤«¡¢¥Ñ¥¹¥ï¡¼¥É¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Î¤«¤ò¥á¥Ã¥»¡¼¥¸¤Ë½ÐÎϤ·¤Þ¤¹¡£
-Ä̾¥¨¥é¡¼¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥Û¥¹¥È̾¤È¥æ¡¼¥¶¡¼Ì¾¤¬¥Þ¥Ã¥Á¤¹¤ë¥¨¥ó¥È¥ê¤¬ @code{user} ¥Æ¡¼¥Ö¥ë¤Ë°ì¤Ä¤Ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-@item
-¾¤Î¥Û¥¹¥È¤«¤é @strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËÀܳ¤ò»î¤ß¤¿»þ¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬½Ð¤¿¾ì¹ç¡¢
-@code{user} ¥Æ¡¼¥Ö¥ë¤Ë¤¢¤Ê¤¿¤¬¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ë¥Û¥¹¥È¤Ë¥Þ¥Ã¥Á¤¹¤ë¹Ô¤¬¤¢¤ê¤Þ¤»¤ó¡§
-
-@example
-Host ... is not allowed to connect to this MySQL server
-@end example
-
-@code{mysql} ¥³¥Þ¥ó¥É¤ò¥µ¡¼¥Ð¡¼¤Î¥Û¥¹¥È¾å¤Ç»ÈÍѤ·¤Æ¡¢
-@code{user}, @code{db}, @code{host} ¥Æ¡¼¥Ö¥ë¤Ë¡¢Àܳ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë ¥æ¡¼¥¶¡¼Ì¾¡¿¥Û¥¹¥È̾ ¤ò
-²Ã¤¨¤ì¤Ð²ò·è¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£
-¤â¤·¥µ¡¼¥Ð¡¼¤¬ @strong{MySQL} 3.22 ¤Ç¤Ï¤Ê¤¯¡¢Àܳ¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¥Û¥¹¥È¤Î IP ¤â¥Û¥¹¥È̾¤â¤ï¤«¤é¤Ê¤¤¾ì¹ç¡¢
-@code{user} ¥Æ¡¼¥Ö¥ë¤Î @code{Host} ¥Õ¥£¡¼¥ë¥É¤Ë @code{'%'} ¤òÀßÄꤷ¡¢
-@code{mysqld} ¤ò @code{--log} ¥ª¥×¥·¥ç¥ó¤ÇºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤½¤·¤Æ¥¯¥é¥¤¥¢¥ó¥È¥Û¥¹¥È¤«¤éÀܳ¤¹¤ì¤Ð¡¢@strong{MySQL} ¤Î¥í¥°¥Õ¥¡¥¤¥ë¤Ë
-¤½¤Î¥Û¥¹¥È¤Î¾ðÊ󤬵­Ï¿¤µ¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£
-¤½¤ì¤¬¤ï¤«¤ì¤Ð¡¢Àè¤ËÀßÄꤷ¤¿ @code{user} ¥Æ¡¼¥Ö¥ë¤Î @code{Host} ¥Õ¥£¡¼¥ë¥É¤Î @code{'%'} ¤ò
-¥í¥°¤Ëµ­Ï¿¤µ¤ì¤¿¥Û¥¹¥È̾¤ËÃÖ¤­´¹¤¨¤Þ¤¹¡£(¤·¤«¤·¤³¤ì¤Ï¥·¥¹¥Æ¥à¤ò´í¸±¤Ë¤µ¤é¤·¤Þ¤¹)
-
-@item
-@code{mysql -u root test} ¤ÏÆ°¤¤¤¿¤â¤Î¤Î @code{mysql -h your_hostname -u root test} ¤¬
- @code{Access denied} ¤òÊÖ¤·¤¿¾ì¹ç¡¢
-@code{user} ¥Æ¡¼¥Ö¥ë¤ËÀµ¤·¤¤¥Û¥¹¥È̾¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¤È»×¤ï¤ì¤Þ¤¹¡£
-@code{user} ¥Æ¡¼¥Ö¥ë¤Î @code{Host} ¥Õ¥£¡¼¥ë¥É¤Ë¥Û¥¹¥È̾¤ò³ÎÄê¤Ç¤­¤ë·Á¤Ç»ØÄꤷ¤Æ¤¤¤Ê¤¤¤«¡¢
-»ÈÍѤ·¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Î¥ê¥¾¥ë¥Ö¤¬ FQDN (or vice-versa) ¤òÊÖ¤·¤Æ¤¤¤ë¤«¤À¤È»×¤ï¤ì¤Þ¤¹¡£
-Î㤨¤Ð¡¢@code{user} ¥Æ¡¼¥Ö¥ë¤Ë @code{'tcx'} ¥Û¥¹¥È¤ÎÄêµÁ¤¬¤¢¤Ã¤¿¤È¤·¤Æ¡¢
-DNS ¤¬ @strong{MySQL} ¤Ë @code{'tcx.subnet.se'} ¤ò¥Û¥¹¥È̾¤È¤·¤ÆÊÖ¤·¤¿¾ì¹ç¡¢
-¤³¤ì¤ÏÆ°¤­¤Þ¤»¤ó¡£
-@code{user} ¥Æ¡¼¥Ö¥ë¤Î @code{Host} ¥Õ¥£¡¼¥ë¥É¤ÎÃͤˡ¢¤¢¤Ê¤¿¤Î¥Û¥¹¥È¤Î IP ÈÖ¹æ¤ò²Ã¤¨¤Æ¤¯¤À¤µ¤¤¡£
-(@code{user} ¥Æ¡¼¥Ö¥ë¤Î @code{Host} ¤ÎÃͤ˥磻¥ë¥É¥«¡¼¥É¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£@code{'tcx.%'} ¤Î¤è¤¦¤Ë¡£
-¤·¤«¤·¥Û¥¹¥È̾¤ÎÃͤò @samp{%} ʸ»ú¤Ç½ª¤ï¤é¤»¤ëÀßÄê¤Ï¡¢@emph{°ÂÁ´¤Ç¤Ï¤Ê¤¯}¡¢@emph{¿ä¾©¤µ¤ì¤Þ¤»¤ó})
-
-@item
-¤â¤· @code{mysql -u user_name test} ¤¬Æ°ºî¤· @code{mysql -u user_name other_db_name} ¤¬
-Æ°ºî¤·¤Ê¤¤¾ì¹ç¤Ï¡¢@code{db} ¥Æ¡¼¥Ö¥ë¤Ë @code{other_db_name} ¤Î¥¨¥ó¥È¥ê¤¬
-ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-
-@item
-@code{mysql -u user_name db_name} ¤Ï¥¶¡¼¥Ð¡¼¾å¤Ç¤ÏÆ°ºî¤¹¤ë¤¬¡¢
-@code{mysql -u host_name -u user_name db_name} ¤¬¥¯¥é¥¤¥¢¥ó¥È¥Û¥¹¥È¾å¤ÇÆ°ºî¤·¤Ê¤¤¾ì¹ç¡¢
-@code{user} ¥Æ¡¼¥Ö¥ë¤« @code{db} ¥Æ¡¼¥Ö¥ë¤Ë¥¯¥é¥¤¥¢¥ó¥È¥Û¥¹¥È¤Î̾Á°¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-
-@item
-@code{Access denied} ¤Î¸¶°ø¤¬¤â¤·¾åµ­¤ËÅö¤Æ¤Ï¤Þ¤é¤Ê¤¤¾ì¹ç¤Ï¡¢
-@code{user} ¥Æ¡¼¥Ö¥ë¤«¤é @code{Host} ¤Ë¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍѤ·¤Æ¤¤¤ë¥¨¥ó¥È¥ê¤òÁ´¤Æ¾Ãµî¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£(@samp{%} ¤ä @samp{_} ¤ò´Þ¤àÃͤǤ¹)
-¤è¤¯¤¢¤ë´Ö°ã¤¤¤Ï¡¢@code{localhost} ¤ËÂФ·¤Æ @code{localhost} ¤ÈƱ¤¸¥Þ¥·¥ó¾å¤«¤é
-¤ÎÀܳ¤òµö²Ä¤¹¤ë¤È¹Í¤¨¤Æ
-@code{Host}=@code{'%'} ¤È @code{User}=@code{'some user'} ¤òÅÐÏ¿¤¹¤ë¤³¤È¤Ç¤¹¡£
-¤³¤ì¤ÏÆ°¤­¤Þ¤»¤ó¡£¤Ê¤¼¤Ê¤é¡¢¥Ç¥Õ¥©¥ë¥È¤Î¸¢¸Â¤Ë
-@code{Host}=@code{'localhost'} ¤È @code{User}=@code{''} ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£
-@code{Host} ¤ÎÃͤ¬ @code{'localhost'} ¤Î¾ì¹ç¡¢¤³¤ì¤Ï @code{'%'} ¤è¤ê¤â
-¶ñÂÎŪ¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢@code{localhost} ¤«¤é¤ÎÀܳ¤Ë¤Ï¤³¤Á¤é¤ÎÊý¤¬
-»ÈÍѤµ¤ì¤ë¤Î¤Ç¤¹¡ª Àµ¤·¤¤»ØÄê¤Î»ÅÊý¤Ï¡¢ÆóÈÖÌܤÎÅÐÏ¿¤È¤·¤Æ
-@code{Host}=@code{'localhost'} ¤È @code{User}=@code{'some_user'} ¤òÄɲ乤뤫¡¢
-¤¢¤ë¤¤¤Ï¡¢@code{Host}=@code{'localhost'} ¤È @code{User}=@code{''} ¤òºï½ü¤¹¤ë¤³¤È¤Ç¤¹¡£
-
-@item
-¤â¤·°Ê²¼¤Î¥¨¥é¡¼¤¬½Ð¤¿¾ì¹ç
-@code{db} ¤« @code{host} ¥Æ¡¼¥Ö¥ë¤ËÌäÂ꤬¤¢¤ë¤Î¤«¤â¤·¤ì¤Þ¤»¤ó¡£¡§
-
-@example
-Access to database denied
-@end example
-
-¤â¤· @code{db} ¥Æ¡¼¥Ö¥ë¤Ë @code{Host} ¥Õ¥£¡¼¥ë¥É¤¬¶õ¤ÎÅÐÏ¿¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢
-@code{host} ¥Æ¡¼¥Ö¥ëÃæ¤Ë¡¢@code{db} ¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë
-¥Û¥¹¥È¤òÌÀµ­¤·¤¿Êª¤¬°ì¤Ä°Ê¾å¤¢¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-¤â¤· @code{SELECT ... INTO OUTFILE} ¤ä @code{LOAD DATA INFILE} SQL ʸ¤ò
-»ÈÍѤ·¤Æ¤¤¤ë»þ¤Ë¤³¤Î¥¨¥é¡¼¤¬½Ð¤ë¾ì¹ç¡¢
-@code{user} ¥Æ¡¼¥Ö¥ë¤Î¤¢¤Ê¤¿¤ÎÅÐÏ¿¤Ë @strong{file} ¸¢¸Â¤¬
-µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¤È»×¤ï¤ì¤Þ¤¹¡£
-
-@item
-@cindex Configuration files
-@cindex Environment variables
-@tindex .my.cnf file
-¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤ÏÀܳ¤ËºÝ¤·¤Æ¡¢
-ÀßÄê¥Õ¥¡¥¤¥ë¤ÇÀßÄꤵ¤ì¤¿Ãͤ«´Ä¶­ÊÑ¿ô¤ÎÃͤò»ÈÍѤ¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤â¤·¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤¬¸í¤Ã¤¿ÃͤòÀܳ¤Ë»ÈÍѤ·¤Æ¤¤¤ë¤è¤¦¤Ê¤é¡¢
-´Ä¶­ÊÑ¿ô¤È¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë @file{.my.cnf} ¥Õ¥¡¥¤¥ë¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤â¤Á¤í¤ó¥·¥¹¥Æ¥à¥ï¥¤¥É¤Î @strong{MySQL} ÀßÄê¥Õ¥¡¥¤¥ë¤â¡¢¥Ñ¥é¥á¥¿¡¼¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢
-¥Á¥§¥Ã¥¯¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£@xref{Option files}.
-¤â¤·¥¯¥é¥¤¥¢¥ó¥È¤ò¥ª¥×¥·¥ç¥ó¤Ê¤·¤Çµ¯Æ°¤·¤Æ¤¤¤Æ @code{Access denied} ¤¬¤Ç¤ë¤Ê¤é¡¢
-¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë¸Å¤¤¥Ñ¥¹¥ï¡¼¥É¤¬½ñ¤«¤ì¤Æ¤¤¤ë¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
-@xref{Option files}.
-
-@item
-¤â¤·Á´¤Æ¼ºÇÔ¤¹¤ë¤Ê¤é¡¢@code{mysqld} ¥Ç¡¼¥â¥ó¤ò¥Ç¥Ð¥Ã¥°¥ª¥×¥·¥ç¥ó¤Çµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£
-Î㤨¤Ð¡¢@code{--debug=d,general,query}¡£¤³¤ì¤Ï¥³¥Í¥¯¥·¥ç¥ó¤Ë»î¤ß¤¿¥Û¥¹¥È¤ä¥æ¡¼¥¶¡¼¤Î¾ðÊó¡¢
-¤Þ¤¿¼Â¹Ô¤·¤¿¥³¥Þ¥ó¥É¤òɽ¼¨¤·¤Þ¤¹¡£ @xref{Debugging server}.
-
-@item
-¤â¤· @strong{MySQL} ¤Î¸¢¸Âµö²Ä¤Ë¤Ä¤¤¤Æ¤½¤Î¾¤ÎÌäÂ꤬µ¯¤³¤ê¡¢
-¥á¡¼¥ê¥ó¥°¡¦¥ê¥¹¥È¤ËÌäÂê¤ò¥Ý¥¹¥È¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¤È´¶¤¸¤ì¤Ð¡¢
-¤¤¤Ä¤â @strong{MySQL} µö²Ä¥Æ¡¼¥Ö¥ë¤Î¥À¥ó¥×¤òÄ󶡤·¤Æ²¼¤µ¤¤¡£
-@code{mysqldump mysql} ¥³¥Þ¥ó¥É¤Ç¥À¥ó¥×¤Ç¤­¤Þ¤¹¡£
-¤¤¤Ä¤â¤Î¤è¤¦¤Ë¡¢ @code{mysqlbug} ¥¹¥¯¥ê¥×¥È¤Ç¥Ý¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£@xref{Bug reports}.
-¤È¤­¤Ë¤Ï¤Ï¡¢ @code{mysqldump} ¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë¡¢
-@code{mysqld} ¤ò @code{--skip-grant-tables} ¥ª¥×¥·¥ç¥ó¤Ç¼Â¹Ô¤·¤Ê¤¤¤È
-¤¤¤±¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-@end itemize
-
-
-@node Reference, Table types, Privilege system, Top
-@chapter @strong{MySQL} ¸À¸ì¥ê¥Õ¥¡¥ì¥ó¥¹
-
-@menu
-* Literals:: ¥ê¥Æ¥é¥ë:ʸ»úÎó¤È¿ôÃͤò¤É¤Î¤è¤¦¤Ë½ñ¤¯¤«¡©
-* Variables:: ¥æ¡¼¥¶ÊÑ¿ô
-* Column types:: ¥Õ¥£¡¼¥ë¥É·¿
-* Functions:: ´Ø¿ô
-* CREATE DATABASE:: @code{CREATE DATABASE} ¹½Ê¸
-* DROP DATABASE:: @code{DROP DATABASE} ¹½Ê¸
-* CREATE TABLE:: @code{CREATE TABLE} ¹½Ê¸
-* ALTER TABLE:: @code{ALTER TABLE} ¹½Ê¸
-* DROP TABLE:: @code{DROP TABLE} ¹½Ê¸
-* OPTIMIZE TABLE:: @code{OPTIMIZE TABLE} ¹½Ê¸
-* CHECK TABLE:: @code{CHECK TABLE} syntax
-* REPAIR TABLE:: @code{REPAIR TABLE} syntax
-* DELETE:: @code{DELETE} ¹½Ê¸
-* SELECT:: @code{SELECT} ¹½Ê¸
-* JOIN:: @code{JOIN} ¹½Ê¸
-* INSERT:: @code{INSERT} ¹½Ê¸
-* REPLACE:: @code{REPLACE} ¹½Ê¸
-* LOAD DATA:: @code{LOAD DATA INFILE} ¹½Ê¸
-* UPDATE:: @code{UPDATE} ¹½Ê¸
-* USE:: @code{USE} ¹½Ê¸
-* FLUSH:: @code{Flush} ¹½Ê¸ (¥­¥ã¥Ã¥·¥å¤Î¥¯¥ê¥¢)
-* KILL:: @code{KILL} ¹½Ê¸
-* SHOW:: @code{SHOW} ¹½Ê¸ (¥Æ¡¼¥Ö¥ë¤ä¥Õ¥£¡¼¥ë¥É¤Ê¤É¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÆÀ¤ë)
-* EXPLAIN:: @code{EXPLAIN} ¹½Ê¸ (@code{SELECT}¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÆÀ¤ë )
-* DESCRIBE:: @code{DESCRIBE} ¹½Ê¸ (¥Õ¥£¡¼¥ë¥É̾¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÆÀ¤ë)
-* COMMIT::
-* LOCK TABLES:: @code{LOCK TABLES/UNLOCK TABLES} ¹½Ê¸
-* SET OPTION:: @code{SET OPTION} ¹½Ê¸
-* GRANT:: @code{GRANT} ¤È @code{REVOKE} ¹½Ê¸
-* CREATE INDEX:: @code{CREATE INDEX} ¹½Ê¸
-* DROP INDEX:: @code{DROP INDEX} ¹½Ê¸
-* Comments:: Comment ¹½Ê¸
-* CREATE FUNCTION:: @code{CREATE FUNCTION} ¹½Ê¸
-* Reserved words:: Is @strong{MySQL} picky about reserved words?
-@end menu
-
-
-@cindex Strings
-@cindex Strings, escaping characters
-@node Literals, Variables, Reference, Reference
-@section ¥ê¥Æ¥é¥ë:ʸ»úÎó¤È¿ôÃͤò¤É¤Î¤è¤¦¤Ë½ñ¤¯¤«¡©
-
-@menu
-* String syntax:: Strings
-* Number syntax:: Numbers
-* Hexadecimal values::
-* NULL values:: @code{NULL} values
-* Legal names:: Database, table, index, column and alias names
-@end menu
-
-@node String syntax, Number syntax, Literals, Literals
-@subsection ʸ»úÎó
-
-ʸ»úÎó¤Ïʸ»ú¤ÎʤӤǤ¹¡£°úÍÑÉä(@samp{'})¤Þ¤¿¤ÏÆó½Å°úÍÑÉä(@samp{"})¤Ç³ç¤é
-¤ì¤Þ¤¹(¸å¼Ô¤Ï ANSI ¥â¡¼¥É¤Ç¼Â¹Ô¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Î¤ß)¡£ Î㡧
-
-@example
-'a string'
-"another string"
-@end example
-
-ʸ»úÎóÃæ¤Ç¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥·¡¼¥±¥ó¥¹¤ÏÆÃÊ̤ʰÕÌ£¤ò»ý¤Á¤Þ¤¹¡£¤³¤ì¤é¤Î¥·¡¼¥±
-¥ó¥¹¤Î¤½¤ì¤¾¤ì¤Ï@emph{¥¨¥¹¥±¡¼¥×ʸ»ú}¤È¤·¤ÆÃΤé¤ì¤ë¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å
-(@samp{\})¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£@strong{MySQL} ¤Ï¼¡¤Î¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤òǧ¼±
-¤·¤Þ¤¹¡£
-
-@c these aren't really functions, but that's probably the most reasonable index
-@table @code
-@findex \0 (ASCII 0)
-@findex NUL
-@item \0
-ASCII 0 (@code{NUL}) ʸ»ú¡£
-
-@findex \n (newline)
-@findex newline (\n)
-@item \n
-²þ¹Ôʸ»ú¡£
-
-@findex \t (tab)
-@findex tab (\t)
-@item \t
-¥¿¥Öʸ»ú¡£
-
-@findex \r (carriage return)
-@findex return (\r)
-@findex carriage return (\r)
-@item \r
-¥ê¥¿¡¼¥óʸ»ú¡£
-
-@findex \b (backspace)
-@findex backspace (\b)
-@item \b
-¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹Ê¸»ú¡£
-
-@findex \' (single quote)
-@findex single quote (\')
-@item \'
-°úÍÑÉä(@samp{'})¡£
-
-@findex \" (double quote)
-@findex double quote (\")
-@item \"
-Æó½Å°úÍÑÉä(@samp{"})¡£
-
-@findex \\ (escape)
-@findex escape (\\)
-@item \\
-¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å(@samp{\})ʸ»ú¡£
-
-@findex % (wildcard character)
-@findex Wildcard character (%)
-@item \%
-@samp{%} ʸ»ú¡£¤³¤ì¤Ï @samp{%} ¤¬¥ï¥¤¥ë¥É¥«¡¼¥Éʸ»ú¤È¤·¤Æ²ò¼á¤µ¤ì¤ëʸ̮
-¤Ç¡¢@samp{%} ¤½¤Î¤â¤Î¤ò¸¡º÷¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-@xref{String comparison functions}.
-
-@findex _ (wildcard character)
-@findex Wildcard character (_)
-@item \_
-@code{_} ʸ»ú¡£¤³¤ì¤Ï @samp{_} ¤¬¥ï¥¤¥ë¥É¥«¡¼¥Éʸ»ú¤È¤·¤Æ²ò¼á¤µ¤ì¤ëʸ̮
-¤Ç¡¢@code{_} ¤½¤Î¤â¤Î¤ò¸¡º÷¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-@xref{String comparison functions}.
-@end table
-
-¤¤¤¯¤Ä¤«¤Îʸ»úÎóʸ̮¤Ç @samp{\%} ¤Þ¤¿¤Ï @samp{\_} ¤ò»ÈÍѤ¹¤ë¤È¡¢¤³¤ì¤é¤Ïʸ
-»úÎó @samp{%} ¤È @samp{_} ¤Ç¤Ï¤Ê¤¯¡¢@samp{\%} ¤È @samp{\_} ¤òÊÖ¤·¤Þ¤¹¡£
-
-@noindent
-ʸ»úÎóÃæ¤Ë°úÍÑÉä¤ò´Þ¤á¤ëÊýË¡¤Ï¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹:
-
-@itemize @bullet
-@item
-@samp{'} ¤Ç³ç¤é¤ì¤ëʸ»úÎóÃæ¤Î @samp{'} ¤Ï @samp{''} ¤È¤·¤Æ½ñ¤¯¤³¤È¤¬¤Ç¤­
-¤Þ¤¹¡£
-
-@item
-@samp{"} ¤Ç³ç¤é¤ì¤ëʸ»úÎóÃæ¤Î @samp{"} ¤Ï @samp{""} ¤È¤·¤Æ½ñ¤¯¤³¤È¤¬¤Ç¤­
-¤Þ¤¹¡£
-
-@item
-°úÍÑÉä¤ÎÁ°¤Ë¥¨¥¹¥±¡¼¥×ʸ»ú (@samp{\}) ¤òÃÖ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@item
-@samp{"} ¤Ç³ç¤é¤ì¤¿Ê¸»úÎóÃæ¤Î @samp{'} ¤ÏÆÃÊÌ°·¤¤¤ÎɬÍפϤʤ¯¡¢Æó½Å¤Ë¤·
-¤¿¤ê¡¢¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£Æ±¤¸¤è¤¦¤Ë¡¢@samp{'} ¤Ç³ç¤é¤ì¤¿Ê¸
-»úÎóÃæ¤Î @samp{"} ¤ÏÆÃÊÌ°·¤¤¤ÎɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-@end itemize
-
-¼¡¤Î @code{SELECT} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ï¡¢¥¯¥©¡¼¥È¤È¥¨¥¹¥±¡¼¥×¤¬¤É¤Î¤è¤¦¤ËƯ
-¤¯¤«¤ò¼¨¤·¤Þ¤¹:
-
-@example
-mysql> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '\'hello';
-+-------+---------+-----------+--------+--------+
-| hello | "hello" | ""hello"" | hel'lo | 'hello |
-+-------+---------+-----------+--------+--------+
-
-mysql> SELECT "hello", "'hello'", "''hello''", "hel""lo", "\"hello";
-+-------+---------+-----------+--------+--------+
-| hello | 'hello' | ''hello'' | hel"lo | "hello |
-+-------+---------+-----------+--------+--------+
-
-mysql> SELECT "This\nIs\nFour\nlines";
-+--------------------+
-| This
-Is
-Four
-lines |
-+--------------------+
-@end example
-
-@cindex Quoting binary data
-
-¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤ò @code{BLOB} ¥Õ¥£¡¼¥ë¥É¤ËÁÞÆþ¤·¤¿¤¤¾ì¹ç¡¢¼¡¤Îʸ»ú¤ò¥¨¥¹¥±¡¼¥×
-¥·¡¼¥±¥ó¥¹¤Çɽ¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹:
-@table @code
-@item NUL
-ASCII 0¡£@samp{\0} (¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤È ASCII @samp{0} ʸ»ú) ¤ËÃÖ¤­´¹¤¨¤ë
-¤Ù¤­¤Ç¤¹¡£
-@item \
-ASCII 92, ¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¡£@samp{\\} ¤Èɽµ­¤·¤Æ¤¯¤À¤µ¤¤¡£
-@item '
-ASCII 39, °úÍÑÉä¡£@samp{\'} ¤Èɽµ­¤·¤Æ¤¯¤À¤µ¤¤¡£
-@item "
-ASCII 34, Æó½Å°úÍÑÉä¡£@samp{\"} ¤Èɽµ­¤·¤Æ¤¯¤À¤µ¤¤¡£
-@end table
-
-@cindex Quoting
-@cindex @code{BLOB}, inserting binary data
-@findex mysql_escape_string()
-@findex DBI->quote
-C ¥³¡¼¥É¤ò½ñ¤¯¾ì¹ç¡¢@code{INSERT} Àá¤Çʸ»ú¤ò¥¨¥¹¥±¡¼¥×¤¹¤ë¤¿¤á¤Ë¡¢C API
-´Ø¿ô @code{mysql_escape_string()} ¤ò»ÈÍѤǤ­¤Þ¤¹¡£@xref{C API function
-overview}. Perl ¤Ç¤Ï¡¢@code{DBI} ¥Ñ¥Ã¥±¡¼¥¸¤Î @code{quote} ¥á¥½¥Ã¥É¤ò»È
-ÍѤ·¤Æ¡¢Æüìʸ»ú¤òŬÅö¤Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤ËÊÑ´¹¤Ç¤­¤Þ¤¹¡£@xref{Perl
-DBI Class, , Perl @code{DBI} Class}.
-
-¾åµ­¤ÎÆüìʸ»ú¤Î¤É¤ì¤«¤ò´Þ¤à²ÄǽÀ­¤Î¤¢¤ëÁ´¤Æ¤Îʸ»úÎó¤Ë¤Ä¤¤¤Æ¡¢¥¨¥¹¥±¡¼¥×
-´Ø¿ô¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡ª
-
-@node Number syntax, Hexadecimal values, String syntax, Literals
-@subsection ¿ôÃÍ
-
-À°¿ô¤Ï¿ô»ú¤ÎʤӤÇɽ¸½¤µ¤ì¤Þ¤¹¡£
-ÉâÆ°¾®¿ôÅÀ¤Ï @samp{.} ¤Ç¾®¿ô¤òʬ³ä¤·¤Þ¤¹¡£
-¤É¤Á¤é¤Î·¿¤âÉé¿ô¤òɽ¤¹¤¿¤á¤Ë @samp{-} ¤òÁ°¤Ë¤Ä¤±¤Þ¤¹¡£
-
-ÀµÅö¤Ê¿ôÃͤÎÎã:
-
-@example
-1221
-0
--32
-@end example
-
-Í­¸ú¤ÊÉâÆ°¾®¿ôÅÀ¤ÎÎ㡧
-
-@example
-294.42
--32032.6809e+10
-148.00
-@end example
-
-À°¿ô¤¬ÉâÆ°¾®¿ôÅÀ¤Îʸ̮¤Ç»ÈÍѤµ¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡¨ ¤³¤Î¾ì¹ç¡¢ÉâÆ°¾®¿ôÅÀ¤Ë
-ÊÑ´¹¤µ¤ì¤Þ¤¹¡£
-
-@tindex Hexadecimal values
-@node Hexadecimal values, NULL values, Number syntax, Literals
-@subsection 16¿ÊË¡¤ÎÃÍ
-
-@strong{MySQL} ¤Ï16¿ÊË¡¤ÎÃͤò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-¿ôÃͤÎʸ̮¤Ç¤Ï¡¢¤³¤ì¤é¤ÏÀ°¿ô(64¥Ó¥Ã¥ÈÀºÅÙ)¤Î¤è¤¦¤Ë¿¶¤ëÉñ¤¤¤Þ¤¹¡£
-ʸ»úÎó¤Îʸ̮¤Ç¤Ï¡¢hex¤Î·å¤Î¤½¤ì¤¾¤ì¤Î¥Ú¥¢¤¬Ê¸»ú¤ËÊÑ´¹¤µ¤ì¤¿
-¥Ð¥¤¥Ê¥ê¡¼Ê¸»ú¤Î¤è¤¦¤Ë¿¶¤ëÉñ¤¤¤Þ¤¹¡£
-
-@example
-mysql> SELECT 0xa+0
- -> 10
-mysql> select 0x5061756c;
- -> Paul
-@end example
-
-16¿Ê¿ôɽµ­¤Ï¡¢ODBC ¤Ë¤ª¤¤¤Æ BLOB ¤ÎÃͤòÍ¿¤¨¤ë¤¿¤á¤Ë¤·¤Ð¤·¤Ð»ÈÍѤµ¤ì¤Þ¤¹¡£
-
-@tindex NULL value
-@node NULL values, Legal names, Hexadecimal values, Literals
-@subsection @code{NULL} ÃÍ
-
-@code{NULL} ¤Ï ``no data'' ¤ò°ÕÌ£¤·¡¢¿ôÃÍ·¿¤Î @code{0} ¤äʸ»úÎ󷿤ζõʸ
-»úÎó¤È¤Ï°Û¤Ê¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-@xref{Problems with NULL, , Problems with @code{NULL}}.
-
-¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ß¤ä½ñ¤­½Ð¤·»þ¤Ë¡¢@code{NULL} ¤Ï @code{\N} ¤Ç
-ɽ¸½¤µ¤ì¤Þ¤¹¡£ (@code{LOAD DATA INFILE}, @code{SELECT ... INTO OUTFILE}).
-@xref{LOAD DATA, , @code{LOAD DATA}}.
-@node Legal names, , NULL values, Literals
-@subsection ¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¡¢¥Æ¡¼¥Ö¥ë̾¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹Ì¾¡¢¥Õ¥£¡¼¥ë¥É̾¡¢¥¨¥¤¥ê¥¢¥¹Ì¾
-
-@menu
-* Name case sensitivity:: Case sensitivity in names
-@end menu
-
-¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¡¢¥Æ¡¼¥Ö¥ë̾¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹Ì¾¡¢¥Õ¥£¡¼¥ë¥É̾¡¢¥¨¥¤¥ê¥¢¥¹Ì¾¤Ï
-@strong{MySQL} ¤Ç¤ÏÁ´¤ÆƱ¤¸µ¬Â§¤Ë´ð¤Å¤­¤Þ¤¹:
-
-@tindex Quoting of identifiers
-@tindex `
-@tindex "
-Ãí°Õ: µ¬Â§¤Ï @strong{MySQL} 3.23.6 ¤ÇÊѹ¹¤µ¤ì¤Þ¤·¤¿¡£¤½¤ì¤Ï¼±ÊÌ»Ò(¥Ç¡¼¥¿¥Ù¡¼
-¥¹Ì¾¡¢¥Æ¡¼¥Ö¥ë̾¡¢¥Õ¥£¡¼¥ë¥É̾)¤Î @code{`} ¤Ç¤Î¥¯¥©¡¼¥È¤òƳÆþ¤·¤¿»þ¤Ç¤¹
-(ANSI ¥â¡¼¥É¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢@code{"} ¤â¼±Ê̻Ҥò¥¯¥©¡¼¥È¤¹¤ë¤¿¤á¤ËƯ¤­¤Þ
-¤¹)¡£
-
-@multitable @columnfractions .15 .7 .78
-@item @strong{¼±ÊÌ»Ò} @tab @strong{ºÇÂçĹ} @tab @strong{µö¤µ¤ì¤ëʸ»ú}
-@item ¥Ç¡¼¥¿¥Ù¡¼¥¹ @tab 64 @tab ¥Ç¥£¥ì¥¯¥È¥ê̾¤È¤·¤Æµö¤µ¤ì¤ë¤¹¤Ù¤Æ¤Îʸ»ú¡£@code{/} ¤ò½ü¤¯¡£
-@item ¥Æ¡¼¥Ö¥ë @tab 64 @tab ¥Õ¥¡¥¤¥ë̾¤È¤·¤Æµö¤µ¤ì¤ë¤¹¤Ù¤Æ¤Îʸ»ú¡£@code{/} ¤È @code{.} ¤ò½ü¤¯¡£
-@item ¥Õ¥£¡¼¥ë¥É @tab 64 @tab ¤¹¤Ù¤Æ¤Îʸ»ú
-@item ¥¨¥¤¥ê¥¢¥¹ @tab 255 @tab ¤¹¤Ù¤Æ¤Îʸ»ú
-@end multitable
-
-Ãí°Õ: ¾åµ­¤Ë²Ã¤¨¡¢¼±ÊÌ»ÒÆâ¤Ë¤Ï ASCII(0) ¤È ASCII(255) ¤ò»ý¤Æ¤Þ¤»¤ó¡£
-
-Ãí°Õ: ¼±Ê̻Ҥ¬À©¸Â¤µ¤ì¤¿Ã±¸ì¤Ç¤¢¤Ã¤¿¤êÆüìʸ»ú¤ò´Þ¤à¾ì¹ç¤Ï¡¢¤½¤ì¤ò»ÈÍѤ¹¤ë
-»þ¤Ë¤Ï¾ï¤Ë @code{`} ¤Ç¥¯¥©¡¼¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹:
-
-@example
-SELECT * from `select` where `select`.id > 100;
-@end example
-
-@strong{MySQL} ¤ÎÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢Ì¾Á°¤Îµ¬Â§¤Ï¼¡¤Ë½¾¤¤¤Þ¤¹:
-
-@itemize @bullet
-@item
-̾Á°¤Ï¡¢¸½ºß¤Îʸ»ú¥»¥Ã¥È¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤È¿ô»úʸ»ú¤«¤éÀ®¤ê¡¢@samp{_} ¤È
-@samp{$} ¤â´Þ¤ß¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥Èʸ»ú¥»¥Ã¥È¤Ï ISO-8859-1 Latin1 ¤Ç¤¹¤¬¡¢
-¤³¤ì¤Ï @code{mysqld} ¤Ë @code{--default-character-set} ¥ª¥×¥·¥ç¥ó¤ò
-Í¿¤¨¤ë¤³¤È¤ÇÊѹ¹¤Ç¤­¤Þ¤¹. (3.23.14 °Ê¾å¤Î¾ì¹ç¤Î¤ß¡£
-¤½¤ì°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï @strong{MySQL} ºÆ¥³¥ó¥Ñ¥¤¥ë¤¬É¬Í×)
-@xref{Character sets}.
-
-@item
-̾Á°¤Ï¡¢Ì¾Á°¤È¤·¤ÆÀµ¤·¤¤Ç¤°Õ¤Îʸ»ú¤Ç»Ï¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Æäˡ¢Ì¾Á°¤Ï¿ô
-»ú¤Ç»Ï¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹(¤³¤ì¤Ï¾¤Î¿¤¯¤Î¥·¥¹¥Æ¥à¤È°Û¤Ê¤ê¤Þ¤¹¡ª)¡£¤·¤«¤·¡¢
-¿ô»ú@emph{¤À¤±}¤Î̾Á°¤Ë¤¹¤ë»ö¤Ï¤Ç¤­¤Þ¤»¤ó¡£
-
-@item
-̾Á°¤ÎÃæ¤Ë @samp{.} ʸ»ú¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¥Õ¥£¡¼¥ë¥É¤ò»²¾È¤Ç¤­¤ë¤è¤¦
-¤Ë·Á¼°¤ò³ÈÄ¥¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¤¿¤á¤Ç¤¹(¸å½Ò)¡£
-@end itemize
-
-@code{1e} ¤Î¤è¤¦¤Ê̾Á°¤Ï»ÈÍѤ·¤Ê¤¤¤³¤È¤ò´«¤á¤Þ¤¹¡£@code{1e+1} ¤Î¤è¤¦¤Ê¼°¤¬
-¤¢¤¤¤Þ¤¤¤À¤«¤é¤Ç¤¹¡£¤³¤ì¤Ï¡¢¼° @code{1e + 1} ¤È¤·¤Æ¡¢¤Þ¤¿¤Ï¿ôÃÍ
-@code{1e+1} ¤È¤·¤Æ²ò¼á¤µ¤ì¤Þ¤¹¡£
-
-@strong{MySQL} ¤Ç¤Ï¼¡¤Î·Á¼°¤Î¤¤¤º¤ì¤«¤ò»ÈÍѤ·¤Æ¥Õ¥£¡¼¥ë¥É¤ò»²¾È¤Ç¤­¤Þ¤¹:
-
-@multitable @columnfractions .35 .65
-@item @strong{¥Õ¥£¡¼¥ë¥É¤Î»²¾ÈÊýË¡} @tab @strong{°ÕÌ£}
-@item @code{col_name} @tab ¥¯¥¨¥êÃæ¤Ç»ÈÍѤµ¤ì¤ë¥Æ¡¼¥Ö¥ëÆâ¤Ë¸ºß¤·¤Æ¤¤¤ë @code{col_name} ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥£¡¼¥ë¥É
-@item @code{tbl_name.col_name} @tab ¸½ºß¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Æ¡¼¥Ö¥ë @code{tbl_name} Æâ¤Î¥Õ¥£¡¼¥ë¥É @code{col_name}
-@item @code{db_name.tbl_name.col_name} @tab ¥Ç¡¼¥¿¥Ù¡¼¥¹ @code{db_name}
-¤Î¥Æ¡¼¥Ö¥ë @code{tbl_name} Æâ¤Î¥Õ¥£¡¼¥ë¥É @code{col_name}¡£¤³¤Î·Á¼°¤Ï 3.22 °Ê¹ß
-¤ÇÍ­¸ú¤Ç¤¹¡£
-@item
-@code{`column_name`} @tab ¥­¡¼¥ï¡¼¥É¤Ç¤¢¤Ã¤¿¤êÆüìʸ»ú¤ò´Þ¤à¥Õ¥£¡¼¥ë¥É¡£
-@end multitable
-
-»²¾È¤¬Û£Ëæ¤Ç¤Ê¤¤¤Ê¤é¤Ð¡¢¥¹¥Æ¡¼¥È¥á¥ó¥ÈÃæ¤Î¥Õ¥£¡¼¥ë¥É»²¾È¤ÎÁ°¤Ë @code{tbl_name}
-¤Þ¤¿¤Ï @code{db_name.tbl_name} ¤òµ­½Ò¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£Î㤨¤Ð¡¢¥Æ¡¼
-¥Ö¥ë @code{t1} ¤È @code{t2} ¤¬¤½¤ì¤¾¤ì¥Õ¥£¡¼¥ë¥É @code{c} ¤ò´Þ¤ß¡¢@code{t1} ¤È
-@code{t2} ¤ÎξÊý¤ò»ÈÍѤ¹¤ë @code{SELECT} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç @code{c} ¤ò¼è
-¤ê½Ð¤¹¤È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢@code{c} ¤Ï¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç»ÈÍѤµ¤ì¤ë¥Æ¡¼¥Ö¥ë
-´Ö¤ÇÍ£°ì¤Ç¤Ê¤¤¤Î¤ÇÛ£Ëæ¤Ç¤¹¡£¤½¤Î¤¿¤á¡¢@code{t1.c} ¤Þ¤¿¤Ï @code{t2.c} ¤È
-µ­½Ò¤¹¤ë¤³¤è¤Ë¤è¤ê¤É¤Á¤é¤Î¥Æ¡¼¥Ö¥ë¤ò°ÕÌ£¤¹¤ë¤«¤ò¼¨¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£Æ±ÍÍ
-¤Ë¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹ @code{db1} ¤Î¥Æ¡¼¥Ö¥ë @code{t} ¤È¥Ç¡¼¥¿¥Ù¡¼¥¹
-@code{db2} ¤Î¥Æ¡¼¥Ö¥ë @code{t} ¤«¤é¼è¤ê½Ð¤¹¾ì¹ç¡¢¤³¤ì¤é¤Î¥Æ¡¼¥Ö¥ëÃæ¤Î¹à
-Ìܤϡ¢@code{db1.t.col_name} ¤È @code{db2.t.col_name} ¤È¤·¤Æ»²¾È¤¹¤ëɬÍ×
-¤¬¤¢¤ê¤Þ¤¹¡£
-
-@cindex ODBC compatibility
-@cindex Compatibility, with ODBC
-¹½Ê¸ @code{.tbl_name} ¤Ï¸½ºß¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î¥Æ¡¼¥Ö¥ë @code{tbl_name}
-¤ò°ÕÌ£¤·¤Þ¤¹¡£¤³¤Î¹½Ê¸¤Ï¤¤¤¯¤Ä¤«¤Î ODBC ¤¬ @samp{.} ʸ»ú¤ò¥Æ¡¼¥Ö¥ë̾¤ÎÁ°
-¤ËÃÖ¤¯¤¿¤á¤Ëµö¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-
-@node Name case sensitivity, , Legal names, Legal names
-@subsubsection ̾Á°¤Î¥±¡¼¥¹°Í¸À­
-@cindex Database names, case sensitivity
-@cindex Table names, case sensitivity
-@cindex Column names, case sensitivity
-@cindex Alias names, case sensitivity
-@cindex Case sensitivity, of database names
-@cindex Case sensitivity, of table names
-@cindex Case sensitivity, of column names
-@cindex Case sensitivity, of alias names
-
-@strong{MySQL} ¤Ç¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¥Æ¡¼¥Ö¥ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤È
-¤½¤Î¥Ç¥£¥ì¥¯¥È¥êÃæ¤Î¥Õ¥¡¥¤¥ë¤ËÂбþ¤·¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢²¼¤ÇÆ°ºî¤¹¤ë¥ª¥Ú¥ì¡¼
-¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥±¡¼¥¹°Í¸À­¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¥Æ¡¼¥Ö¥ë̾¤Î¥±¡¼¥¹°Í¸À­¤ò·èÄꤷ¤Þ¤¹¡£
-¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¤È¥Æ¡¼¥Ö¥ë̾¤Ï Unix ¤Ç¤Ï¥±¡¼¥¹°Í¸¤Ç¡¢Win32 ¤Ç¤Ï¥±¡¼¥¹Èó°Í
-¸¤Ç¤¹¡£
-
-@strong{Ãí°Õ:} Win32 ¤Ç¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¤È¥Õ¥¡¥¤¥ë̾¤Ï¥±¡¼¥¹Èó°Í¸¤Ç¤¹¤¬¡¢
-Ʊ¤¸¥¯¥¨¥êÆâ¤Ç¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ä¥Æ¡¼¥Ö¥ë¤ò°Û¤Ê¤ë¥±¡¼¥¹¤ò»ÈÍѤ·¤Æ»²¾È¤¹¤Ù¤­
-¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-°Ê²¼¤Î¥¯¥¨¥ê¤ÏÆ°¤­¤Þ¤»¤ó¡£¤Ê¤¼¤Ê¤é @code{my_table} ¤È @code{MY_TABLE} ¤ÎξÊý¤ò
-»²¾È¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡§
-
-@example
-mysql> SELECT * FROM my_table WHERE MY_TABLE.col=1;
-@end example
-
-¥Õ¥£¡¼¥ë¥É̾¤ÏÁ´¤Æ¤Î¾ì¹ç¤Ç¥±¡¼¥¹Èó°Í¸¤Ç¤¹¡£
-
-¥Æ¡¼¥Ö¥ë¤ÎÊÌ̾¤Ï¥±¡¼¥¹°Í¸¤Ç¤¹¡£
-°Ê²¼¤Î¥¯¥¨¥ê¤ÏÆ°¤­¤Þ¤»¤ó¡£¤Ê¤¼¤Ê¤é @code{a} ¤È @code{A} ¤Î¥¨¥¤¥ê¥¢¥¹¤òξÊý
-»²¾È¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡§
-
-@example
-mysql> SELECT col_name FROM tbl_name AS a
- WHERE a.col_name = 1 OR A.col_name = 2;
-@end example
-
-¥Õ¥£¡¼¥ë¥É¤Î¥¨¥¤¥ê¥¢¥¹Ì¾¤Ï¥±¡¼¥¹Èó°Í¸¤Ç¤¹¡£
-
-
-@node Variables, Column types, Literals, Reference
-@section ¥æ¡¼¥¶¡¼ÊÑ¿ô
-
-@strong{MySQL} ¤Ï¡¢@code{@@variablename} ¹½Ê¸¤Ç¥¹¥ì¥Ã¥É¸ÇÍ­¤ÎÊÑ¿ô¤ò¥µ¥Ý¡¼
-¥È¤·¤Þ¤¹¡£ÊÑ¿ô̾¤Ï¸½ºß¤Îʸ»ú¥»¥Ã¥È¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤È¿ô»ú¡¢¤½¤ì¤Ë
-@samp{_}¡¢@samp{$}¡¢@samp{.} ʸ»ú¤«¤é¤Ê¤ê¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥Èʸ»ú¥»¥Ã¥È¤Ï
-ISO-8859-1 Latin1 ¤Ç¤¹¡£
-¤³¤ì¤Ï @code{mysqld} ¤Ë @code{--default-character-set} ¥ª¥×¥·¥ç¥ó¤ò
-Í¿¤¨¤ë¤³¤È¤ÇÊѹ¹¤Ç¤­¤Þ¤¹. (3.23.14 °Ê¾å¤Î¾ì¹ç¤Î¤ß¡£
-¤½¤ì°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï @strong{MySQL} ºÆ¥³¥ó¥Ñ¥¤¥ë¤¬É¬Í×)
-@xref{Character sets}¡£
-
-ÊÑ¿ô¤Ï½é´ü²½¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï @code{NULL} ¤Ç¤¢¤ê¡¢À°¿ô
-ÃÍ¡¢¼Â¿ôÃÍ¡¢Ê¸»úÎóÃͤò³ÊǼ¤Ç¤­¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥¹¥ì¥Ã¥ÉÊÑ¿ô¤Ï¡¢¥¹¥ì¥Ã¥É¤¬½ªÎ»
-¤¹¤ë¤È¼«Æ°Åª¤Ë²òÊü¤µ¤ì¤Þ¤¹¡£
-
-@code{SET} ¹½Ê¸¤ÇÊÑ¿ô¤òÀßÄê¤Ç¤­¤Þ¤¹:
-
-@example
-SET @@variable= @{ integer expression | real expression | string expression @}
-[,@@variable= ...].
-@end example
-
-@code{@@variable:=expr} ¹½Ê¸¤Ç¡¢¼°Ãæ¤ÇÊÑ¿ô¤òÀßÄꤹ¤ë¤³¤È¤â²Äǽ¤Ç¤¹:
-
-@example
-select @@t1:=(@@t2:=1)+@@t3:=4,@@t1,@@t2,@@t3;
-+----------------------+------+------+------+
-| @@t1:=(@@t2:=1)+@@t3:=4 | @@t1 | @@t2 | @@t3 |
-+----------------------+------+------+------+
-| 5 | 5 | 1 | 4 |
-+----------------------+------+------+------+
-@end example
-
-(²æ¡¹¤Ï @code{:=} ¹½Ê¸¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤·¤¿¡£@code{=} ¤ÏÈæ³Ó¤Î¤¿¤á¤Ë
-ͽÌ󤵤ì¤Æ¤¤¤¿¤«¤é¤Ç¤¹¡£)
-
-¥æ¡¼¥¶¡¼ÊÑ¿ô¤Ï¼°¤¬µö¤µ¤ì¤ë¾ì½ê¤Ç»ÈÍѤǤ­¤Þ¤¹¡£Ãí°Õ: ¤³¤ì¤Ï¸½ºß¡¢
-@code{SELECT} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Î @code{LIMIT} Àá¡¢@code{LOAD DATA} ¥¹¥Æ¡¼¥È
-¥á¥ó¥È¤Î @code{IGNORE number LINES} Àá¤Î¤è¤¦¤Ë¡¢¿ôÃͤ¬ÌÀ¼¨Åª¤ËÍ׵ᤵ¤ì¤ëʸ
-Ì®¤Ç¤Î»ÈÍѤò´Þ¤ß¤Þ¤»¤ó¡£
-
-@strong{Ãí°Õ:} @code{SELECT} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç¤Ï¡¢¤½¤ì¤¾¤ì¤Î¼°¤Ï¥¯¥é¥¤¥¢¥ó
-¥È¤ËÁ÷¤é¤ì¤¿»þ¤Ë¤À¤±É¾²Á¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢@code{SELECT} Éô¤ÇÀßÄꤵ¤ì¤¿ÊÑ¿ô
-¤òɬÍפȤ¹¤ë¼°¤ò»²¾È¤¹¤ë @code{HAVING}, @code{GROUP BY}, @code{ORDER BY}
-À᤬¤Ç¤­¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£Î㤨¤Ð¡¢¼¡¤Î¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ï´üÂÔÄ̤ê¤Ë¤ÏÆ°ºî
-¤·¤Þ¤»¤ó:
-
-@example
-SELECT (@@aa:=id) AS a, (@@aa+3) AS b FROM table_name HAVING b=5;
-@end example
-
-¤³¤ÎÍýͳ¤Ï¡¢@code{@@aa} ¤¬¸½ºß¤Î¥ì¥³¡¼¥É¤ÎÃͤǤϤʤ¯¡¢Á°¤Ë¼õ¤±¼è¤Ã¤¿¥ì¥³¡¼
-¥É¤Î @code{id} ¤ÎÃͤˤʤ뤫¤é¤Ç¤¹¡£
-
-@node Column types, Functions, Variables, Reference
-@section ¥Õ¥£¡¼¥ë¥É·¿
-
-@strong{MySQL}¤Ï¿¤¯¤Î¥Õ¥£¡¼¥ë¥É·¿¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤ª¤ê¡¢¤½¤ì¤é¤Ï£³¤Ä¤Î¥«¥Æ¥´¥ê¤Ë¥°¥ë¡¼¥×²½¤µ¤ì¤Þ¤¹: ¿ôÃÍ·¿¡¢ÆüÉÕµÚ¤Ó»þ´Ö·¿¡¢¤½¤·¤Æʸ»úÎó(ʸ»ú)·¿¡£
-¤³¤Î¾Ï¤Ç¤Ï¤Þ¤º¡¢ÍøÍѤǤ­¤ë·¿¤Î³µÍפ«¤é»Ï¤Þ¤ê¡¢¤½¤ì¤«¤é³Æ¥«¥Æ¥´¥ê¤Î³Æ¥Õ¥£¡¼¥ë¥É·¿¤Î½êÍ×µ­²±ÍÆÎ̤ÎÍ×Ìó¤È¡¢·¿¤Î°À­¤Ë¤Ä¤¤¤Æ¤Î¤è¤ê¾ÜºÙ¤Ê¾ðÊó¤òÄ󶡤·¤Þ¤¹¡£
-³µÍפϰտÞŪ¤Ë´Ê·é¤Ë¤Þ¤È¤á¤Æ¤¤¤Þ¤¹¡£ÃͤȤ·¤Æ»ØÄê¤Ç¤­¤ë½ñ¼°¤Î¤è¤¦¤Ê¥Õ¥£¡¼¥ë¥É·¿¸ÇÍ­¤ÎÉղþðÊó¤Ï¡¢¾ÜºÙ¤ÎÀâÌÀÉô¤Ë¤ÆÄ´¤Ù¤Æ²¼¤µ¤¤¡£
-
-@strong{MySQL}¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ë¥Õ¥£¡¼¥ë¥É·¿¤Ï°Ê²¼¤Ë¼¨¤¹Ä̤ê¤Ç¤¹¡£¸å¤Ë³¤¯Ê¸»ú¤Î°ÕÌ£¤ÏÀâÌÀ¤Î¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹:
-
-@table @code
-@item M
-ºÇÂçɽ¼¨¥µ¥¤¥º¤ò°ÕÌ£¤·¤Þ¤¹¡£ºÇÂç¤Îɽ¼¨·å¿ô¤Ï 255.
-
-@item D
-ÉâÆ°¾®¿ôÅÀ¿ô·¿¤ËŬÍѤµ¤ì¡¢¾®¿ôÅÀ°Ê²¼¤Î·å¿ô¤òɽ¤·¤Þ¤¹¡£
-ºÇÂç¤ÎÃÍ¤Ï 30 ¤Ç¤¹¤¬¡¢¤³¤ì¤Ï @code{M}-2 ¤è¤êÂ礭¤¯¤Ê¤Ã¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
-@end table
-
-Ã楫¥Ã¥³(@samp{[}µÚ¤Ó@samp{]})¤Ï·¿ÄêµÁ¤Î°ìÉô¤Ç¤¢¤ê¡¢¤½¤ì¤¬¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ë¤³¤È¤òɽ¤·¤Þ¤¹¡£
-
-@tindex Types
-
-@c The @w{-number} stuff keeps a linebreak from occurring between
-@c the - and number.
-
-¤â¤·¤¢¤ë¥Õ¥£¡¼¥ë¥É¤Ë @code{ZEROFILL} ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢
- @strong{MySQL} ¤Ï¼«Æ°¤Ç @code{UNSIGNED} °À­¤ò¤½¤Î¥Õ¥£¡¼¥ë¥É¤Ë
-Äɲä·¤Þ¤¹¡£
-
-@table @code
-@tindex TINYINT
-@item TINYINT[(M)] [UNSIGNED] [ZEROFILL]
-
-¤È¤Æ¤â¾®¤µ¤¤À°¿ô¡£Éä¹æ¤Ä¤­¤ÎÈÏ°Ï¤Ï @code{-128}¡Á@code{127}¡£Éä¹æ¤Ê¤·¤ÎÈÏ°Ï¤Ï @code{0}¡Á@code{255}¡£
-
-@tindex SMALLINT
-@item SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
-
-¾®¤µ¤¤À°¿ô¡£Éä¹æ¤Ä¤­¤ÎÈÏ°Ï¤Ï @code{-32768}¡Á@code{32767}¡£Éä¹æ¤Ê¤·¤ÎÈÏ°Ï¤Ï @code{0}¡Á@code{65535}¡£
-
-@tindex MEDIUMINT
-@item MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
-
-Ãæ´Ö¤ÎÀ°¿ô¡£Éä¹æ¤¢¤ê¤ÎÈÏ°Ï¤Ï @code{-8388608}¡Á@code{8388607}¡£Éä¹æ¤Ê¤·¤ÎÈÏ°Ï¤Ï @code{0}¡Á@code{16777215}
-
-@tindex INT
-@item INT[(M)] [UNSIGNED] [ZEROFILL]
-
-Ä̾ï¤ÎÀ°¿ô¡£Éä¹æ¤¢¤ê¤ÎÈÏ°Ï¤Ï @code{-2147483648}¡Á@code{2147483647}¡£Éä¹æ¤Ê¤·¤ÎÈÏ°Ï¤Ï @code{0}¡Á@code{4294967295}
-
-@tindex INTEGER
-@item INTEGER[(M)] [UNSIGNED] [ZEROFILL]
-
-¤³¤ì¤Ï¡¢@code{INT}¤ÎƱµÁ¸ì¤Ç¤¹¡£
-
-@tindex BIGINT
-@item BIGINT[(M)] [UNSIGNED] [ZEROFILL]
-
-Â礭¤¤À°¿ô¡£Éä¹æ¤¢¤ê¤ÎÈÏ°Ï¤Ï @code{-9223372036854775808}¡Á@code{9223372036854775807}¡£
-Éä¹æ¤Ê¤·¤ÎÈÏ°Ï¤Ï @code{0}¡Á@code{18446744073709551615}¡£
-Á´¤Æ¤Î±é»»¤ÏÉä¹çÉÕ¤­ @code{BIGINT} ¤Þ¤¿¤Ï @code{DOUBLE} ¤Ç¹Ô¤ï¤ì¤ë¤¿¤á¡¢
-Éä¹ç̵¤·¤Î @code{9223372036854775807} (63 bits) ¤è¤ê¤âÂ礭¤ÊÀ°¿ô¤ò
-¥Ó¥Ã¥È´Ø¿ô°Ê³°¤Ç»ÈÍѤ¹¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡ª
-@code{-}¡¢@code{+}µÚ¤Ó@code{*}¤Ï¡¢Î¾Êý¤Î°ú¿ô¤¬@code{INTEGER}Ãͤλþ¡¢@code{BIGINT}±é»»¤ò»È¤¦¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤¡ª¤³¤ì¤Ï¡¢£²¤Ä¤ÎÂ礭¤ÊÀ°¿ô¤Î¤«¤±»»¤ò¹Ô¤Ê¤¦(Ëô¤ÏÀ°¿ô¤òÊÖ¤¹´Ø¿ô¤Î·ë²Ì¤¬Â礭¤ÊÀ°¿ô¤Ç¤¢¤ë)»þ¡¢·ë²Ì¤¬@code{9223372036854775807}¤è¤ê¤âÂ礭¤¤¾ì¹ç¤Ëͽ´ü¤·¤Ê¤¤·ë²Ì¤ò¼õ¤±¼è¤ë¤³¤È¤¬¤¢¤ë¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£
-
-@tindex FLOAT(precision)
-@item FLOAT(precision) [ZEROFILL]
-
-ÉâÆ°¾®¿ôÅÀ¿ô¡£Éä¹æ¤Ê¤·¤Ë¤Ï¤Ç¤­¤Þ¤»¤ó¡£Ã±ÀºÅÙÉâÆ°¾®¿ôÅÀ¿ô¤Ç¤Ï
-@code{precision} ¤¬ @code{<=24} ¤Ç¡¢ÇÜÀºÅÙÉâÆ°¾®¿ôÅÀ¿ô¤Ç¤Ï 25¡Á53 ¤Î´Ö¤Ç¤¹¡£
-¤³¤ì¤é¤Î·¿¤Ï¼¡¤Ç½Ò¤Ù¤ë@code{FLOAT}¤ä@code{DOUBLE}·¿¤Ë»÷¤Æ¤¤¤Þ¤¹¡£
-@code{FLOAT(X)}¤Ï¡¢@code{FLOAT}µÚ¤Ó@code{DOUBLE}·¿¤Ë°ìÃפ¹¤ëƱ¤¸ÈϰϤò»ý¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢
-ɽ¼¨¥µ¥¤¥º¤ä¾®¿ôÅÀ°Ê²¼·å¿ô¤¬ÄêµÁ¤µ¤ì¤Þ¤»¤ó¡£
-
-@strong{MySQL} 3.23 ¤Ç¤Ï¡¢¤³¤ì¤ÏÀµ¤·¤¤ÉâÆ°¾®¿ôÅÀ¤Ç¤¹¡£Á°¤Î
-@strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï, @code{FLOAT(precision)} ¤Ï¾ï¤Ë¾®¿ôÉô¤Ï2·å¤Ç
-¤·¤¿¡£
-
-@cindex ODBC compatibility
-@cindex Compatibility, with ODBC
-¤³¤Î¹½Ê¸¤Ï ODBC ¸ß´¹¤Ç¤¹¡£
-
-@tindex FLOAT
-@tindex FLOAT(M,D)
-@item FLOAT[(M,D)] [ZEROFILL]
-
-¾®¤µ¤¤ÉâÆ°¾®¿ôÅÀ¿ô¡£Éä¹æ¤Ê¤·¤Ë¤Ï¤Ç¤­¤Þ¤»¤ó¡£
-ÈÏ°Ï¤Ï @code{@w{-3.402823466E+38}}¡Á@code{@w{-1.175494351E-38}}¡¢ @code{0}¡¢
-@code{@w{1.175494351E-38}}¡Á@code{3.402823466E+38}¤Ç¤¹¡£
-M ¤Ïɽ¼¨Éý¤Ç D ¤Ï¾®¿ôÉô·å¿ô¤Ç¤¹¡£°ú¿ô¤¬Ìµ¤¤¤«°ú¿ô¤¬24°Ê²¼¤Î @code{FLOAT}
-¤ÏñÀºÅÙÉâÆ°¾®¿ôÅÀ¿ô¤ò°ÕÌ£¤·¤Þ¤¹¡£
-
-@tindex DOUBLE
-@tindex FLOAT(precision)
-@item DOUBLE[(M,D)] [ZEROFILL]
-
-Ä̾ï¤ÎÉâÆ°¾®¿ôÅÀ¿ô¡£Éä¹æ¤Ê¤·¤Ë¤Ï¤Ç¤­¤Þ¤»¤ó¡£
-ÈÏ°Ï¤Ï @code{@w{-1.7976931348623157E+308}}¡Á@code{@w{-2.2250738585072014E-308}}¡¢ @code{0}¡¢@code{2.2250738585072014E-308}¡Á@code{1.7976931348623157E+308}¤Ç¤¹¡£
-M ¤Ïɽ¼¨Éý¤Ç D ¤Ï¾®¿ôÉô·å¿ô¤Ç¤¹¡£°ú¿ô¤¬Ìµ¤¤¤« @code{DOUBLE} ¤«¡¢25 <= X
-<= 53 ¤Ç¤¢¤ë @code{FLOAT(X)} ¤ÏÇÜÀºÅÙÉâÆ°¾®¿ôÅÀ¿ô¤ò°ÕÌ£¤·¤Þ¤¹¡£
-
-@tindex DOUBLE PRECISION
-@tindex REAL
-@item DOUBLE PRECISION[(M,D)] [ZEROFILL]
-@itemx REAL[(M,D)] [ZEROFILL]
-
-¤³¤ì¤é¤Ï@code{DOUBLE}¤ÎƱµÁ¸ì¤Ç¤¹¡£
-
-@tindex DECIMAL
-@item DECIMAL[(M[,D])] [ZEROFILL]
-
-¥Ñ¥Ã¥¯Ìµ¤·ÉâÆ°¾®¿ôÅÀ¿ô¡£Éä¹æ¤Ê¤·¤Ë¤Ï¤Ç¤­¤Þ¤»¤ó¡£@code{CHAR}¥Õ¥£¡¼¥ë¥É¤Î¤è¤¦¤Ë¿¶Éñ¤¤¤Þ¤¹¡£`¥Ñ¥Ã¥¯Ìµ¤·'¤Ï¡¢¿ôÃͤ¬Ê¸»úÎó¤È¤·¤Æ³ÊǼ¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¡¢¿ôÃͤΤ½¤ì¤¾¤ì¤Î·å¡¢¾®¿ôÅÀ¡¢µÚ¤ÓÉé¿ô¤Ç¤Î@samp{-}Éä¹æ¤Ë£±Ê¸»ú»ÈÍѤ·¤Þ¤¹¡£
-@code{D}¤¬0¤Î»þ¡¢ÃͤϾ®¿ôÅÀ¤ä¾®¿ôÉô¤ò»ý¤Á¤Þ¤»¤ó¡£@code{DECIMAL}ÃͤκÇÂçÈϰϤÏ@code{DOUBLE}¤ÈƱ¤¸¤Ç¤¹¤¬¡¢¼ÂºÝ¤ÎÈϰϤÏ@code{DECIMAL}¥Õ¥£¡¼¥ë¥É¤ËÍ¿¤¨¤é¤ì¤¿@code{M}µÚ¤Ó@code{D}¤ÎÁªÂò¤Ë¶¯À©¤µ¤ì¤Þ¤¹¡£
-
-@code{D} ¤ò¾Êά¤·¤¿¾ì¹ç¤Ï 0 ¤ËÀßÄꤵ¤ì¤¤¤Þ¤¹¡£@code{M} ¤ò¾Êά¤·¤¿¾ì¹ç¤Ï
-10 ¤ËÀßÄꤵ¤ì¤Þ¤¹¡£
-
-@strong{MySQL} 3.22 ¤Ç¤Ï¡¢ @code{M} °ú¿ô¤ÏÉä¹æ¤ä¾®¿ôÅÀ¤ò´Þ¤ß¤Þ¤¹¡£
-
-@tindex NUMERIC
-@item NUMERIC(M,D) [ZEROFILL]
-
-@code{DECIMAL}¤ÈƱ¤¸¡£
-
-@tindex DATE
-@item DATE
-
-ÆüÉÕ¡£¥µ¥Ý¡¼¥È¤µ¤ì¤ëÈϰϤÏ@code{'1000-01-01'}¤«¤é@code{'9999-12-31'}¤Þ¤Ç¡£
-@strong{MySQL}¤Ï@code{'YYYY-MM-DD'}¤Î½ñ¼°¤Ç@code{DATE}Ãͤòɽ¼¨¤·¤Þ¤¹¤¬¡¢@code{DATE}¥Õ¥£¡¼¥ë¥É¤Ø¤ÎÃͤγäÅö¤Æ¤Ï¡¢Ê¸»úÎó¤â¤·¤¯¤Ï¿ôÃͤΤ¤¤º¤ì¤«¤Î»ÈÍѤ¬µö¤µ¤ì¤Þ¤¹¡£
-
-@tindex DATETIME
-@item DATETIME
-
-ÆüÉդȻþ¹ï¤ÎÁȤ߹ç¤ï¤»¡£¥µ¥Ý¡¼¥È¤µ¤ì¤ëÈϰϤÏ@code{'1000-01-01 00:00:00'}¡Á@code{'9999-12-31 23:59:59'}¤Ç¤¹¡£@strong{MySQL}¤Ï@code{DATETIME}Ãͤò@code{'YYYY-MM-DD HH:MM:SS'}¤È¤¤¤¦½ñ¼°¤Çɽ¼¨¤·¤Þ¤¹¤¬¡¢@code{DATETIME}¥Õ¥£¡¼¥ë¥É¤Ø¤ÎÃͤγäÅö¤Æ¤Ï¡¢Ê¸»úÎó¤â¤·¤¯¤Ï¿ôÃͤΤ¤¤º¤ì¤«¤Î»ÈÍѤ¬µö¤µ¤ì¤Þ¤¹¡£
-
-@tindex TIMESTAMP
-@item TIMESTAMP[(M)]
-
-¥¿¥¤¥à¥¹¥¿¥ó¥×¡£ÈϰϤÏ@code{'1970-01-01 00:00:00'}¡Á@code{2106}ǯËö¤Þ¤Ç¤Ç¤¹¡£@strong{MySQL}¤Ï@code{TIMESTAMP}Ãͤò@code{YYYYMMDDHHMMSS}¡¢@code{YYMMDDHHMMSS}¡¢@code{YYYYMMDD}Ëô¤Ï@code{YYMMDD}¤È¤¤¤¦½ñ¼°¤Çɽ¼¨¤·¡¢¤½¤ì¤Ï@code{M}¤Ë@code{14}(¤â¤·¤¯¤Ï¸í¤Ã¤Æ¤½¤ì°Ê¾å¤ÎÃͤò»ØÄꤷ¤¿»þ)¡¢@code{12}¡¢@code{8}Ëô¤Ï@code{6}¤Î¤¤¤º¤ì¤¬»ØÄꤵ¤ì¤¿¤«¤Ë°Í¸¤·¤Þ¤¹¡£¤·¤«¤·¤Ê¤¬¤é@code{TIMESTAMP}¥Õ¥£¡¼¥ë¥É¤Ø¤ÎÃͤγäÅö¤Æ¤Ï¡¢Ê¸»úÎó¤â¤·¤¯¤Ï¿ôÃͤΤ¤¤º¤ì¤«¤Î»ÈÍѤ¬µö¤µ¤ì¤Þ¤¹¡£
-@code{TIMESTAMP}¥Õ¥£¡¼¥ë¥É¤Ï¡¢ºÇ¸å¤ËÁàºî¤µ¤ì¤¿»þ¹ï¤ò¼«Æ°Åª¤ËÀßÄꤹ¤ë¤Î¤Ç¡¢@code{INSERT}¤ä@code{UPDATE}Áàºî¤Î»þ¹ï¤òµ­Ï¿¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£
-@code{NULL}ÃͤòÍ¿¤¨¤ë¤³¤È¤Ë¤è¤Ã¤Æ¤â¡¢¸½ºß»þ¹ï¤òÀßÄê¤Ç¤­¤Þ¤¹¡£
-@xref{Date and time types}¡£
-
-@tindex TIME
-@item TIME
-
-»þ´Ö¡£ÈϰϤÏ@code{'-838:59:59'}¡Á@code{'838:59:59'}¤Ç¤¹¡£
-@strong{MySQL}¤Ï@code{TIME}Ãͤò@code{'HH:MM:SS'}¤È¤¤¤¦½ñ¼°¤Çɽ¼¨¤·¤Þ¤¹¤¬¡¢@code{TIME}¥Õ¥£¡¼¥ë¥É¤Ø¤ÎÃͤγäÅö¤Æ¤Ï¡¢Ê¸»úÎó¤â¤·¤¯¤Ï¿ôÃͤΤ¤¤º¤ì¤«¤Î»ÈÍѤ¬µö¤µ¤ì¤Þ¤¹¡£
-
-@tindex YEAR
-@item YEAR[(2|4)]
-
-ǯ¡£2·å¤Þ¤¿¤Ï4·å·Á¼°(¥Ç¥Õ¥©¥ë¥È¤Ï4·å)¡£µö¤µ¤ì¤ëÃͤϡ¢4·å·Á¼°¤Ç¤Ï
-@code{1901}¡Á@code{2155}, @code{0000} ¤Ç¡¢2·å·Á¼°(70¡Á69)¤Ç¤Ï 1970¡Á2069
-¤Ç¤¹¡£@strong{MySQL} ¤Ï @code{YEAR} Ãͤò @code{YYYY} ·Á¼°¤Çɽ¼¨¤·¤Þ¤¹¤¬¡¢
-@code{YEAR} ¥Õ¥£¡¼¥ë¥É¤Ø¤ÎÃͤγä¤êÅö¤Æ¤Ïʸ»úÎó¤È¿ô»ú¤Î¤É¤Á¤é¤Ç¤â»ÈÍѤǤ­¤Þ
-¤¹¡£(@code{YEAR} ¤Ï @strong{MySQL} 3.22 ¤Ç¤Î¿·¤·¤¤·¿¤Ç¤¹¡£)
-
-@tindex NATIONAL CHAR
-@tindex NCHAR
-@tindex CHAR
-@tindex CHARACTER
-@item [NATIONAL] CHAR(M) [BINARY]
-
-¸ÇÄêĹʸ»úÎó¤Ç¡¢³ÊǼ»þ¤Ë¤Ïɬ¤º»ØÄꤵ¤ì¤¿Ä¹¤µ¤Þ¤Ç±¦Â¦¤Ë¶õÇò¤òËä¤á¤Þ¤¹¡£
-@code{M}¤ÎÈÏ°Ï¤Ï 1 ¤«¤é 255 ʸ»ú¤Ç¤¹¡£¸å³¤Î¶õÇò¤ÏÃͤμè¤ê½Ð¤·»þ¤Ëºï½ü¤µ¤ì
-¤Þ¤¹¡£@code{BINARY} ¥­¡¼¥ï¡¼¥É¤¬Í¿¤¨¤é¤ì¤Ê¤¤¾ì¹ç¡¢@code{CHAR} ÃͤΥ½¡¼¥È¤È
-Èæ³Ó¤Ï¡¢¥Ç¥Õ¥©¥ë¥Èʸ»ú¥»¥Ã¥È¤Ë½¾¤Ã¤Æ¥±¡¼¥¹Èó°Í¸¤ÎÊýË¡¤Ç¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£
-
-@code{NATIONAL CHAR} (û¤¤·Á¼°¤Ï @code{NCHAR}) ¤Ï¡¢ANSI SQL ¤Ç¡¢CHAR ¥Õ¥£¡¼
-¥ë¥É¤¬¥Ç¥Õ¥©¥ë¥Èʸ»ú¥»¥Ã¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤òÄêµÁ¤¹¤ëÊýË¡¤Ç¤¹¡£¤³¤ì¤Ï
-@code{MySQL} ¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£
-
-@code{CHAR} ¤Ï @code{CHARACTER} ¤Îάµ­¤Ç¤¹¡£
-
-@strong{MySQL} ¤Ï @code{CHAR(0)} ·¿¤Î¥Õ¥£¡¼¥ë¥É¤ÎÀ¸À®¤òµö¤·¤Þ¤¹¡£¤³¤ì¤Ï¼ç
-¤Ë¡¢¼ÂºÝ¤Ë¤Ï¤â¤¦Ãͤ¬»È¤ï¤ì¤Æ¤¤¤Ê¤¤¥Õ¥£¡¼¥ë¥É¤¬Â¸ºß¤¹¤ë¤³¤È¤Ë°Í¸¤·¤Æ¤¤¤ë¤è
-¤¦¤Ê¤¤¤¯¤Ä¤«¤Î¸Å¤¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÂбþ¤¹¤ëɬÍפ¬¤¢¤ë»þ¤ËÊØÍø¤Ç¤¹¡££²¤Ä¤Î
-ÃͤÀ¤±¤ò¼è¤ë¤³¤È¤¬¤Ç¤­¤ë¥Õ¥£¡¼¥ë¥É¤òɬÍפȤ¹¤ë»þ¤Ë¤â¤È¤Æ¤âÎɤ¤¤³¤È¤Ç¤¹:
-@code{NOT NULL} ¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤ @code{CHAR(0)} ¤Ï1¥Ó¥Ã¥È¤À¤±¤òÀêÍ­
-¤·¡¢£²¤Ä¤ÎÃͤÀ¤±¤ò¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹: @code{NULL} ¤Þ¤¿¤Ï @code{""}¡£
-
-@tindex CHARACTER VARYING
-@tindex CHAR VARYING
-@tindex VARCHAR
-@item [NATIONAL] VARCHAR(M) [BINARY]
-
-²ÄÊÑĹʸ»úÎó¡£ Ãí°Õ:
-¸å³¤Î¶õÇò¤Ï³ÊǼ»þ¤Ëºï½ü¤µ¤ì¤Þ¤¹(¤³¤ì¤Ï ANSI SQL »ÅÍͤȰۤʤê¤Þ¤¹)¡£
-@code{M}¤ÎÈÏ°Ï¤Ï 1 ¤«¤é 255 ʸ»ú¤Ç¤¹¡£
-@code{BINARY} ¥­¡¼¥ï¡¼¥É¤¬Í¿¤¨¤é¤ì¤Ê¤¤¾ì¹ç¡¢¥½¡¼¥È¤ÈÈæ³Ó¤Ï¥±¡¼¥¹¤Ë°Í¸¤·¤Þ¤»¤ó¡£
-@xref{Silent column changes}.
-
-@code{VARCHAR} ¤Ï @code{CHARACTER VARYING} ¤Îάµ­¤Ç¤¹¡£
-
-@tindex TINYBLOB
-@tindex TINYTEXT
-@item TINYBLOB
-@itemx TINYTEXT
-
-ºÇÂçĹ 255 (2^8 - 1) ʸ»ú¤Î @code{TEXT}/@code{BLOB}¡£@xref{Silent column changes}.
-
-@tindex BLOB
-@tindex TEXT
-@item BLOB
-@itemx TEXT
-
-ºÇÂçĹ 65535 (2^16 - 1) ʸ»ú¤Î @code{TEXT}/@code{BLOB}¡£@xref{Silent column changes}.
-
-@tindex MEDIUMBLOB
-@tindex MEDIUMTEXT
-@item MEDIUMBLOB
-@itemx MEDIUMTEXT
-
-ºÇÂçĹ 16777215 (2^24 - 1) ʸ»ú¤Î @code{TEXT}/@code{BLOB}¡£@xref{Silent column changes}.
-
-@tindex LONGBLOB
-@tindex LONGTEXT
-@item LONGBLOB
-@itemx LONGTEXT
-
-ºÇÂçĹ 4294967295 (2^32 - 1) ʸ»ú¤Î @code{TEXT}/@code{BLOB}¡£@xref{Silent column changes}.
-
-@tindex ENUM
-@item ENUM('value1','value2',...)
-
-Îóµó¡£
-ÂоݤȤʤëʸ»úÎó¤Ï¡¢Ãͤò°ì¤Ä¤À¤±»ý¤Á¡¢Ãͥꥹ¥È@code{'value1', 'value2',...}(Ëô¤Ï@code{NULL})¤«¤éÁª¤Ð¤ì¤Þ¤¹¡£@code{ENUM}¤ÏºÇÂç65535¸Ä¤Î¸ÇÍ­Ãͤò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@tindex SET
-@item SET('value1','value2',...)
-
-ÁÈ¡£
-ÂоݤȤʤëʸ»úÎó¤Ï0°Ê¾å¤ÎÃͤò»ý¤Á¡¢¤½¤ì¤¾¤ìÃͥꥹ¥È@code{'value1', 'value2',...}¤«¤éÁª¤Ð¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-@code{SET}¤Ï¡¢ºÇÂç 64¸Ä¤ÎÍ×ÁǤò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@end table
-
-@menu
-* Storage requirements:: Column type storage requirements
-* Numeric types:: Numeric types
-* Date and time types:: Date and time types
-* String types:: String types
-* Casts:: Cast operators
-* Choosing types:: Choosing the right type for a column
-* Indexes:: Column indexes
-* Multiple-column indexes:: Multiple-column indexes
-* Other-vendor column types:: Using column types from other database engines
-@end menu
-
-@cindex Storage requirements
-@node Storage requirements, Numeric types, Column types, Column types
-@subsection ¥Õ¥£¡¼¥ë¥É¥¿¥¤¥×¤Î½êÍ×ÍÆÎÌ
-
-@strong{MySQL}¤¬¥µ¥Ý¡¼¥È¤¹¤ë³Æ¥Õ¥£¡¼¥ë¥É¥¿¥¤¥×Ëè¤Î½êÍ×ÍÆÎ̤ò¡¢¥«¥Æ¥´¥êÊ̤˰ʲ¼¤Ëµ­½Ò¤·¤Þ¤¹¡£
-
-@subheading ¿ôÃÍ¥¿¥¤¥×
-
-@multitable @columnfractions .35 .65
-@item @strong{¥Õ¥£¡¼¥ë¥É¥¿¥¤¥×} @tab @strong{½êÍ×ÍÆÎÌ}
-@item @code{TINYINT} @tab 1 byte
-@item @code{SMALLINT} @tab 2 bytes
-@item @code{MEDIUMINT} @tab 3 bytes
-@item @code{INT} @tab 4 bytes
-@item @code{INTEGER} @tab 4 bytes
-@item @code{BIGINT} @tab 8 bytes
-@item @code{FLOAT(X)} @tab X <= 24 ¤Î¾ì¹ç 4¡¢25 <= X <= 53 ¤Î¾ì¹ç 8
-@item @code{FLOAT} @tab 4 bytes
-@item @code{DOUBLE} @tab 8 bytes
-@item @code{DOUBLE PRECISION} @tab 8 bytes
-@item @code{REAL} @tab 8 bytes
-@item @code{DECIMAL(M,D)} @tab @code{M} bytes (@code{M < D} ¤Î¾ì¹ç @code{D}+2)
-@item @code{NUMERIC(M,D)} @tab @code{M} bytes (@code{M < D} ¤Î¾ì¹ç @code{D}+2)
-@end multitable
-
-@subheading ÆüÉդȻþ´Ö¥¿¥¤¥×
-
-@multitable @columnfractions .35 .65
-@item @strong{¥Õ¥£¡¼¥ë¥É¥¿¥¤¥×} @tab @strong{½êÍ×ÍÆÎÌ}
-@item @code{DATE} @tab 3 bytes
-@item @code{DATETIME} @tab 8 bytes
-@item @code{TIMESTAMP} @tab 4 bytes
-@item @code{TIME} @tab 3 bytes
-@item @code{YEAR} @tab 1 byte
-@end multitable
-
-@subheading ʸ»úÎ󥿥¤¥×
-
-@multitable @columnfractions .35 .65
-@item @strong{¥Õ¥£¡¼¥ë¥É¥¿¥¤¥×} @tab @strong{½êÍ×ÍÆÎÌ}
-@item @code{CHAR(M)} @tab @code{M} bytes, @code{1 <= M <= 255}
-@item @code{VARCHAR(M)} @tab @code{L}+1 bytes, where @code{L <= M} and
-@code{1 <= M <= 255}
-@item @code{TINYBLOB}, @code{TINYTEXT} @tab @code{L}+1 bytes,
-where @code{L} < 2^8
-@item @code{BLOB}, @code{TEXT} @tab @code{L}+2 bytes,
-where @code{L} < 2^16
-@item @code{MEDIUMBLOB}, @code{MEDIUMTEXT} @tab @code{L}+3 bytes,
-where @code{L} < 2^24
-@item @code{LONGBLOB}, @code{LONGTEXT} @tab @code{L}+4 bytes,
-where @code{L} < 2^32
-@item @code{ENUM('value1','value2',...)} @tab 1 or 2 bytes, ÎóµóÃͤοô¤Ë°Í¸ (ºÇÂçÃÍ¤Ï 65535 )
-@item @code{SET('value1','value2',...)} @tab 1, 2, 3, 4 or 8 bytes, Í×ÁǤοô¤Ë°Í¸ (ºÇÂçÍ×ÁÇ 64 )
-@end multitable
-
-@code{VARCHAR}¡¢@code{BLOB}¡¢µÚ¤Ó@code{TEXT}·¿¤Ï²ÄÊÑĹ·¿¤Ç¤¢¤ê¡¢½êÍ×ÍÆÎ̤ϡ¢¥Õ¥£¡¼¥ë¥É¤Î¤È¤êÆÀ¤ëºÇÂ祵¥¤¥º¤È¤¤¤¦¤è¤ê¤Ï¤à¤·¤í¥Õ¥£¡¼¥ë¥ÉÃͤμºݤÎŤµ¤Ë°Í¸¤·¤Þ¤¹(Á°¤Îɽ¤Ç@code{L}¤Èɽ¤·¤Þ¤·¤¿)¡£
-Î㤨¤Ð¡¢@code{VARCHAR(10)}¥Õ¥£¡¼¥ë¥É¤Ï¡¢ºÇÂç10ʸ»úʬ¤ÎŤµ¤Îʸ»úÎó¤òÊÝ»ý¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£¼ÂºÝ¤Î½êÍ×ÍÆÎ̤ϡ¢Ê¸»úÎó¤ÎŤµ(@code{L})¤È¡¢¤½¤ÎŤµ¤òµ­Ï¿¤¹¤ë¤¿¤á¤Î£±¥Ð¥¤¥È¤ò²Ã¤¨¤Þ¤¹¡£Ê¸»úÎó@code{'abcd'}¤Ë¤ª¤¤¤Æ¤Ï¡¢@code{L}¤Ï£´¤Ç¡¢½êÍ×ÍÆÎ̤ϣµ¥Ð¥¤¥È¤Ç¤¹¡£
-
-@code{BLOB}¤È@code{TEXT}·¿¤Ï¡¢¥Õ¥£¡¼¥ë¥ÉÃͤÎŤµ¤òµ­Ï¿¤¹¤ë¤Î¤Ë¡¢£±¡¢£²¡¢£³¡¢Ëô¤Ï£´¥Ð¥¤¥ÈɬÍפȤ·¡¢·¿¤Î¤È¤êÆÀ¤ëºÇÂç¤ÎŤµ¤Ë°Í¸¤·¤Þ¤¹¡£
-
-¥Æ¡¼¥Ö¥ë¤¬²ÄÊÑĹ¥Õ¥£¡¼¥ë¥É·¿¤ò´Þ¤à¾ì¹ç¡¢¤½¤Î¥ì¥³¡¼¥É¥Õ¥©¡¼¥Þ¥Ã¥È¤â¤Þ¤¿²ÄÊÑĹ¤È¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-¥Æ¡¼¥Ö¥ë¤¬ºîÀ®¤µ¤ì¤¿»þ¡¢@strong{MySQL}¤Ï³Î¤«¤Ê¾ò·ï¤Î²¼¡¢¥Õ¥£¡¼¥ë¥É¤ò²ÄÊÑĹ¥¿¥¤¥×¤«¤é¸ÇÄêĹ¥¿¥¤¥×¤ØÊѹ¹¤·¡¢ÉûºîÍѤòµ¯¤³¤¹¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤¡£
-
-@code{ENUM}¥ª¥Ö¥¸¥§¥¯¥È¤Î¥µ¥¤¥º¤Ï¡¢°Û¤Ê¤ëÎóµóÃͤοô¤Ë¤è¤Ã¤Æ·è¤á¤é¤ì¤Þ¤¹¡£
-Îóµó¤¹¤ë¿ô¤¬255°ÊÆâ¤Ç¤Ï¡¢£±¥Ð¥¤¥È¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-Îóµó¤¹¤ë¿ô¤¬65535°ÊÆâ¤Ç¤Ï¡¢£²¥Ð¥¤¥È¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-
-@code{SET}¥ª¥Ö¥¸¥§¥¯¥È¤Î¥µ¥¤¥º¤Ï¡¢°Û¤Ê¤ëÍ×ÁǤοô¤Ë¤è¤Ã¤Æ·è¤á¤é¤ì¤Þ¤¹¡£
-ÁȤΥµ¥¤¥º¤ò@code{N}¤È¤¹¤ë¤È¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Ï@code{(N+7)/8}¥Ð¥¤¥È¤òÀêÍ­¤·¡¢£±¡¢£²¡¢£³¡¢£´Ëô¤Ï£¸¥Ð¥¤¥È¤ËÀھ夲¤é¤ì¤Þ¤¹¡£
-£±¤Ä¤Î@code{SET}¤Ï¡¢ºÇÂ磶£´Í×ÁǤò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@node Numeric types, Date and time types, Storage requirements, Column types
-@subsection ¿ôÃÍ·¿
-
-@strong{MySQL} ¤Ï ANSI/ISO SQL92 ¿ôÃÍ·¿¤ò¤¹¤Ù¤Æ¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤³¤ì¤é¤Î·¿
-¤ÏÀµ³Î¤Ê¿ôÃͥǡ¼¥¿·¿(@code{NUMERIC}, @code{DECIMAL}, @code{INTEGER},
-@code{SMALLINT})¡¢¶á»÷¿ôÃÍ·¿(@code{FLOAT}, @code{REAL}, @code{DOUBLE
-PRECISION})¤ò´Þ¤ß¤Þ¤¹¡£¥­¡¼¥ï¡¼¥É @code{INT} ¤Ï @code{INTEGER} ¤ÎƱµÁ¸ì¤Ç¡¢
-@code{DEC}¤Ï @code{DECIMAL} ¤ÎƱµÁ¸ì¤Ç¤¹¡£
-
-@strong{MySQL} ¤Ç¤Ï @code{NUMERIC} ¤È @code{DECIMAL} ·¿¤Ï¡¢SQL92 ɸ½à¤Çµö
-¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤ËƱ¤¸·¿¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤ÏÀµ³Î¤ÊÀºÅÙ¤ò°Ý»ý¤¹¤ë
-¤³¤È¤¬½ÅÍפÊÃÍ(Î㤨¤Ð¶âÁ¬¥Ç¡¼¥¿)¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î·¿¤Î°ì¤Ä¤Î¥Õ¥£¡¼¥ë
-¥É¤òÀë¸À¤¹¤ë»þ¡¢ÀºÅÙ¤ÈÂ礭¤µ¤¬»ØÄê¤Ç¤­¤Þ¤¹(Ä̾ï¤Ï¤½¤¦¤·¤Þ¤¹); Î㤨¤Ð:
-
-@example
- salary DECIMAL(9,2)
-@end example
-
-¤³¤ÎÎã¤Ç¤Ï¡¢@code{9} (@code{precisoin}) ¤ÏÃͤò³ÊǼ¤¹¤ë½ÅÍפʿôÃͤηå¿ô¤òɽ
-¤·¤Þ¤¹¡£¤½¤·¤Æ @code{2} (@code{scale}) ¤Ï¾®¿ôÅÀ¤Ë³¤¤¤Æ³ÊǼ¤µ¤ì¤ë·å¿ô¤òɽ
-¤·¤Þ¤¹¡£½¾¤Ã¤Æ¡¢¤³¤Î¾ì¹ç @code{salary} ¥Õ¥£¡¼¥ë¥É¤Ë³ÊǼ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ëÃÍ
-¤ÎÈϰϤϡ¢@code{-9999999.99} ¤«¤é @code{9999999.99} ¤Ç¤¹¡£ANSI/ISO SQL92
-¤Ç¤Ï¡¢¹½Ê¸ @code{DECIMAL(p)} ¤Ï @code{DECIMAL(p,0)} ¤ÈÅù¤·¤¤¤Ç¤¹¡£Æ±Íͤˡ¢
-¹½Ê¸ @code{DECIMAL} ¤Ï @code{DECIMAL(p,0)} ¤ÈÅù¤·¤¤¤Ç¤¹¡£¤³¤³¤Ç @code{p}
-¤ÎÃͤηèÄê¤Ï¼ÂÁõ¤Ëµö¤µ¤ì¤Æ¤Þ¤¹¡£@code{DECIMAL}/@code{NUMERIC} ¥Ç¡¼¥¿·¿¤Î¤³
-¤ì¤é¤Î°Û¤Ê¤ë·Á¼°¤Ï¡¢@strong{MySQL} ¤Ï¸½ºß¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î·¿¤Î¼ç
-¤ÊÍø±×¤ÏÀºÅÙ¤ÈÂ礭¤µ¤ÎξÊý¤òÌÀ¼¨Åª¤ËÀ©¸æ¤¹¤ëµ¡Ç½¤«¤é°ú¤­½Ð¤µ¤ì¤ë¤Î¤Ç¡¢¤³¤ì
-¤ÏÄ̾¹ï¤ÊÌäÂê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-
-@code{DECIMAL} ¤È @code{NUMERIC} Ãͤϡ¢Ãͤξ®¿ô¤ÎÀºÅÙ¤ò°Ý»ý¤¹¤ë¤¿¤á¡¢¥Ð¥¤
-¥Ê¥êÉâÆ°¾®¿ôÅÀ¿ô¤È¤·¤Æ¤Ç¤Ï¤Ê¤¯¡¢Ê¸»úÎó¤È¤·¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£1ʸ»ú¤ÏÃͤΤ½¤ì
-¤¾¤ì¤Î·å(@code{scale} > 0 ¤Î¾ì¹ç)¤È @samp{-} µ­¹æ(Éé¿ô¤Î¾ì¹ç)¤Ë»ÈÍѤµ¤ì¤Þ
-¤¹¡£@code{scale} ¤¬ 0 ¤Î¾ì¹ç¡¢@code{DECIMAL} ¤È @code{NUMERIC} ÃͤϾ®¿ôÅÀ
-¤È¾®¿ôÉô¤ò´Þ¤ß¤Þ¤»¤ó¡£
-
-@code{DECIMAL} ¤È @code{NUMERIC} ÃͤκÇÂçÈÏ°Ï¤Ï @code{DOUBLE} ¤ÈƱ¤¸¤Ç¤¹¡£
-¤·¤«¤· @code{DECIMAL} ¤ä @code{NUMERIC} ¥Õ¥£¡¼¥ë¥É¤ËÍ¿¤¨¤é¤ì¤ë¼ÂºÝ¤ÎÈϰϤÏ
-¥Õ¥£¡¼¥ë¥É¤ËÍ¿¤¨¤é¤ì¤¿ @code{precision} ¤È @code{scale} ¤Ë¤è¤Ã¤Æ¶¯À©¤µ¤ì¤Þ
-¤¹¡£¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ë¡¢»ØÄꤵ¤ì¤¿ @code{scale} ¤Çµö¤µ¤ì¤ë¤è¤ê¤â¿¤¤·å¤Î¾®¿ô
-Éô¤ò»ý¤Ä¿ôÃͤ¬³ä¤êÅö¤Æ¤é¤ì¤¿¾ì¹ç¡¢ÃͤϤ½¤Î @code{scale} ¤Ë´Ý¤á¤é¤ì¤Þ¤¹¡£
-@code{DECIMAL} ¤ä @code{NUMERIC} ¥Õ¥£¡¼¥ë¥É¤Ë¡¢»ØÄꤵ¤ì¤¿(¤Þ¤¿¤Ï¥Ç¥Õ¥©¥ë¥È
-¤Î) @code{precision} ¤È @code{scale} ¤Ç¼¨¤µ¤ì¤¿ÈϰϤòĶ¤¨¤¿Â礭¤µ¤ÎÃͤò³ä
-¤êÅö¤Æ¤¿»þ¡¢@strong{MySQL} ¤Ï¤½¤ÎÈϰϤÎÂбþ¤¹¤ëºÇÂçÃͤòɽ¤¹Ãͤò³ÊǼ¤·¤Þ¤¹¡£
-
-ANSI/ISO SQL92 ɸ½à¤ËÂФ¹¤ë³ÈÄ¥¤È¤·¤Æ¡¢¾å¤Îɽ¤Ë¥ê¥¹¥È¤·¤¿¤è¤¦¤Ë¡¢
-@strong{MySQL} ¤ÏÀ°¿ô·¿ @code{TINYINT}, @code{MEDIUMINT}, @code{BIGINT} ¤â
-¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£@strong{MySQL} ¤Ë¤è¤Ã¤Æ¥µ¥Ý¡¼¥È¤µ¤ì¤ë¾¤Î³ÈÄ¥¤È¤·¤Æ¡¢¥ª¥×
-¥·¥ç¥ó¤Ç¡¢·¿¤Î´ðËÜ¥­¡¼¥ï¡¼¥É¤Ë³¤±¤Æ³ç¸ÌÆâ¤Ë»ØÄꤹ¤ëÀ°¿ôÃͤÎɽ¼¨Éý(Î㤨¤Ð
-@code{INT(4)})¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ÎÉý»ØÄê¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Ë»ØÄꤵ¤ì¤¿
-Éý¤è¤ê¤â¾¯¤Ê¤¤Éý¤ÎÃͤÎɽ¼¨¤Îº¸Â¦¤òËä¤á¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¤·¤«¤·¥Õ¥£¡¼¥ë
-¥É¤Ë³ÊǼ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ëÃͤÎÈϰϤ䡢¥Õ¥£¡¼¥ë¥É¤Ë»ØÄꤵ¤ì¤¿Éý¤òĶ¤¨¤ëÉý¤ÎÃÍ
-¤Ë¤Ä¤¤¤Æɽ¼¨¤µ¤ì¤ë·å¿ô¤ÏÀ©Ì󤵤ì¤Þ¤»¤ó¡£¥ª¥×¥·¥ç¥ó¤Î³Èĥ°À­
-@code{ZEROFILL} ¤ò»ØÄꤷ¤Æ»ÈÍѤµ¤ì¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤ÎËä¤á¤é¤ì¤ë¶õÇò¤Ï 0
-¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£Î㤨¤Ð¡¢@code{INT(5) ZEROFILL} ¤È¤·¤ÆÀë¸À¤µ¤ì¤¿¥Õ¥£¡¼
-¥ë¥É¤Ç¤Ï¡¢ÃÍ @code{4} ¤Ï @code{0004} ¤È¤·¤Æ¼è¤ê½Ð¤µ¤ì¤Þ¤¹¡£Ãí°Õ: À°¿ô¥Õ¥£¡¼
-¥ë¥ÉÆâ¤Ëɽ¼¨Éý¤è¤ê¤âÂ礭¤¤Ãͤò³ÊǼ¤¹¤ë¾ì¹ç¡¢@strong{MySQL} ¤¬Ê£»¨¤Ê join
-¤Î¤¿¤á¤Ë°ì»þ¥Æ¡¼¥Ö¥ë¤òÀ¸À®¤¹¤ë»þ¤Ë¡¢ÌäÂê¤òÂ賤¹¤ë¤Ç¤·¤ç¤¦¡£¤³¤Î¾ì¹ç
-@strong{MySQL} ¤Ï¥Ç¡¼¥¿¤¬¥ª¥ê¥¸¥Ê¥ë¤Î¥Õ¥£¡¼¥ë¥ÉÉý¤Ë¹ç¤Ã¤Æ¤¤¤ë¤³¤È¤ò¿®ÍѤ¹
-¤ë¤¿¤á¤Ç¤¹¡£
-
-¤¹¤Ù¤Æ¤ÎÀ°¿ô·¿¤Ï¥ª¥×¥·¥ç¥ó¤Î(Èóɸ½à)°À­ @code{UNSIGNED} ¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­
-¤Þ¤¹¡£Éä¹ç̵¤·¤ÎÃͤϥե£¡¼¥ë¥ÉÆâ¤ËÀµ¤Î¿ô¤À¤±¤òµö²Ä¤·¤¿¤¯¤Æ¡¢¥Õ¥£¡¼¥ë¥É¤ËÂÐ
-¤·¤Æ¾¯¤·Â礭¤¤¿ôÃͤÎÈϰϤ¬É¬Íפʻþ¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-
-@code{FLOAT} ·¿¤Ï¶á»÷¿ô¥Ç¡¼¥¿·¿¤òɽ¤¹¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ANSI/ISO SQL92 ɸ
-½à¤Ï¡¢@code{FLOAT} ¥­¡¼¥ï¡¼¥É¤Ë³¤¯³ç¸ÌÃæ¤Ë¥ª¥×¥·¥ç¥ó¤ÎÀºÅÙ(»Ø¿ô¤ÎÈϰϤǤÏ
-¤Ê¤¤)¤Î»ØÄê¤òµö¤·¤Æ¤¤¤Þ¤¹¡£@strong{MySQL} ¼ÂÁõ¤Ï¤³¤Î¥ª¥×¥·¥ç¥ó¤ÎÀºÅÙ»ØÄê¤â
-¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¥­¡¼¥ï¡¼¥É @code{FLOAT} ¤¬ÀºÅ٤λØÄê̵¤·¤Ç¥Õ¥£¡¼¥ë¥É·¿
-¤È¤·¤Æ»ÈÍѤµ¤ì¤¿»þ¤Ï¡¢@strong{MySQL} ¤ÏÃͤò³ÊǼ¤¹¤ë¤¿¤á¤Ë4¥Ð¥¤¥È¤ò»ÈÍѤ·¤Þ
-¤¹¡£@code{FLOAT} ¥­¡¼¥ï¡¼¥É¤Ë³¤¯³ç¸ÌÃæ¤Ë2¤Ä¤Î¿ôÃͤòÍ¿¤¨¤ë¹½Ê¸¤â¥µ¥Ý¡¼¥È¤µ
-¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Î¡¢ºÇ½é¤Î¿ôÃͤÏÃͤËɬÍפÊÍÆÎ̤ò¥Ð¥¤¥È¤Çɽ¤·¤Þ¤¹¡£
-2ÈÖÌܤοôÃͤϡ¢³ÊǼ¡¢É½¼¨¤µ¤ì¤ë¾®¿ôÉô¤Î·å¿ô¤ò»ØÄꤷ¤Þ¤¹(@code{DECIMAL} ¤È
-@code{NUMERIC} ¤ÈƱÍÍ)¡£@strong{MySQL} ¤¬¥Õ¥£¡¼¥ë¥É¤Ë»ØÄꤵ¤ì¤¿¤è¤ê¤âÂ礭
-¤¤¾®¿ôÉô¤Î·å¿ô¤ò»ý¤Ä¿ôÃͤò¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ë³ÊǼ¤¹¤ë»þ¡¢ÃͤγÊǼ»þ¤Ë;·×¤Ê·å
-¤ò¼è¤ê½ü¤¯¤è¤¦¤ËÃͤ¬´Ý¤á¤é¤ì¤Þ¤¹¡£
-
-@code{REAL} ¤È @code{DOUBLE PRECISION} ·¿¤ÏÀºÅÙ»ØÄê¤òµö¤·¤Þ¤»¤ó¡£
-ANSI/ISO SQL92 ɸ½à¤ËÂФ¹¤ë³ÈÄ¥¤È¤·¤Æ¡¢@strong{MySQL} ¤Ï @code{DOUBLE} ¤ò
-@code{DOUBLE PRECISION} ·¿¤ÎƱµÁ¸ì¤È¤·¤Æǧ¼±¤·¤Þ¤¹¡£@code{REAL} ¤ÎÀºÅÙ¤Ï
-@code{DOUBLE PRECISION} ¤Î»ØÄê¤è¤ê¤â¾®¤µ¤¤¤³¤È¤òÍ׵᤹¤ëɸ½à¤È°Û¤Ê¤ê¡¢
-@strong{MySQL} ¤Ï¤É¤Á¤é¤â8¥Ð¥¤¥È¤ÎÇÜÀºÅÙ¾®¿ôÅÀ¤ÎÃͤȤ·¤Æ¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹
-("ANSI ¥â¡¼¥É"¤Ç¼Â¹Ô¤·¤Æ¤¤¤Ê¤¤¾ì¹ç)¡£°Ü¿¢À­¤òºÇÂç¤Ë¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¶á»÷¿ôÃÍ
-¥Ç¡¼¥¿ÃͤγÊǼ¤òÍ׵᤹¤ë¥³¡¼¥É¤Ï¡¢ÀºÅ٤侮¿ôÉô·å¿ô¤Î»ØÄê̵¤·¤Î
-@code{FLOAT} ¤« @code{DOUBLE PRECISION} ¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-
-¥Õ¥£¡¼¥ë¥É¤Î·¿¤ÎÃͤεöÍÆÈϰϤòĶ¤¨¤¿¿ôÃͤòÂåÆþ¤·¤è¤¦¤È¤¹¤ë¤È¡¢@strong{MySQL} ¤Ï
-¤½¤ÎÃͤòµöÍÆÈϰϤ¤¤Ã¤Ñ¤¤¤ËÀÚ¤êµÍ¤á¡¢¤½¤Î·ë²Ì¤òÂå¤ï¤ê¤ËÂåÆþ¤·¤Þ¤¹¡£
-
-Î㤨¤Ð¡¢ @code{INT} ¥Õ¥£¡¼¥ë¥É¤ÎÈÏ°Ï¤Ï @code{-2147483648} ¤«¤é @code{2147483647} ¤Ç¤¹¡£
-¤â¤· @code{-9999999999} ¤ò @code{INT} ¥Õ¥£¡¼¥ë¥É¤ËÁÞÆþ¤·¤è¤¦¤È¤¹¤ë¤È¡¢ÃͤÏÈϰϤκÇÄãÃͤË
-½¤Àµ¤µ¤ì¡¢ @code{-2147483648} ¤¬Âå¤ï¤ê¤ËÂåÆþ¤µ¤ì¤Þ¤¹¡£Æ±Íͤˡ¢@code{9999999999} ¤Î¾ì¹ç¡¢
- @code{2147483647} ¤¬Âå¤ï¤ê¤ËÂåÆþ¤µ¤ì¤Þ¤¹¡£
-
-¤½¤·¤Æ¡¢@code{INT} ¥Õ¥£¡¼¥ë¥É¤¬Éä¹æ̵¤·¤Î¾ì¹ç¡¢¥Õ¥£¡¼¥ë¥É¤ÎÈϰϤÎÂ礭¤µ¤Ï
-Ʊ¤¸¤Ç¤¹¤¬¡¢¸Â³¦ÃÍ¤Ï @code{0} ¤È@code{4294967296} ¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤â¤· @code{-9999999999} ¤È @code{9999999999} ¤òÂåÆþ¤·¤è¤¦¤È¤¹¤ë¤È¡¢
-ÃÍ¤Ï @code{0} ¤È @code{4294967296} ¤È¤·¤ÆÂåÆþ¤µ¤ì¤Þ¤¹¡£
-
-@code{ALTER TABLE}, @code{LOAD DATA INFILE}, @code{UPDATE} ¤Þ¤¿¤Ï
- multi-row @code{INSERT} »þ¡¢¤³¤ì¤é¤ÎÊÑ´¹¤Ï `·Ù¹ð' ¤È¤·¤ÆÆÀ¤é¤ì¤Þ¤¹¡£
-
-
-@cindex Types, Date and Time
-@cindex Date and Time types
-@node Date and time types, String types, Numeric types, Column types
-@subsection ÆüÉդȻþ´Ö¤Î·¿
-
-@menu
-* Y2K issues:: Y2K issues and date types
-* DATETIME:: The @code{DATETIME}, @code{DATE} and @code{TIMESTAMP} types
-* TIME:: The @code{TIME} type
-* YEAR:: The @code{YEAR} type
-@end menu
-
-ÆüÉդȻþ´Ö¤Î·¿¤Ï @code{DATETIME}, @code{DATE}, @code{TIMESTAMP},
-@code{TIME}, @code{YEAR} ¤Ç¤¹. ¤³¤ì¤é¤Ï¤½¤ì¤¾¤ìÃͤËŬÀµ¤ÊÈϰϤ¬¤¢¤ê¡¢
-``zero'' ¤Ï¤¢¤Ê¤¿¤¬´Ö°ã¤Ã¤¿Ãͤò»ØÄꤷ¤¿¾ì¹ç¤ËÍѤ¤¤é¤ì¤Þ¤¹¡£Ãí°Õ: @strong{MySQL} ¤Ï
-³Î¼Â¤Ë '¸·Ì©¤Ç¤Ê¤¤' Àµ¤·¤¤ÆüÉÕ¤ÎÃÍ¡¢Î㤨¤Ð @code{1999-11-31} ¤ò³ÊǼ¤¹¤ë¤³
-¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ÎÍýͳ¤Ï¡¢ÆüÉÕ¤ò¥Á¥§¥Ã¥¯¤¹¤ë½èÍý¤ÎÀÕǤ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë
-¤¢¤ê¡¢SQL ¥µ¡¼¥Ð¤Ë¤Ï¤Ê¤¤¤È¹Í¤¨¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£ÆüÉÕ¤ò'®¤¯'¥Á¥§¥Ã¥¯¤¹¤ë¤¿¤á
-¤Ë¡¢@strong{MySQL} ¤Ï·î¤¬ 0¡Á12 ¤ÎÈϰϤǤ¢¤ë¤«¤ÈÆü¤¬ 0¡Á31 ¤ÎÈϰϤǤ¢¤ë¤«
-¤À¤±¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£¾å½Ò¤ÎÈϰϤϡ¢@strong{MySQL} ¤¬ @code{DATE} ¤Þ¤¿¤Ï
-@code{DATETIME} ¥Õ¥£¡¼¥ë¥É¤Ë¡¢Æü¤Þ¤¿¤Ï·îÆü¤¬ 0 ¤Ç¤¢¤ëÆüÉÕ¤ò³ÊǼ¤Ç¤­¤ë¤¿¤á
-¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢Àµ³Î¤ÊÆüÉÕ¤òÃΤé¤Ê¤¤ÃÂÀ¸Æü¤òÅÐÏ¿¤¹¤ëɬÍפ¬¤¢¤ë
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÈó¾ï¤ËÍ­ÍѤǤ¹¡£¤³¤Î¾ì¹ç¡¢@code{1999-00-00} ¤ä
-@code{1999-01-00} ¤Î¤è¤¦¤ÊÆüÉÕ¤òñ½ã¤ËÅÐÏ¿¤Ç¤­¤Þ¤¹(¤â¤Á¤í¤ó¡¢¤³¤Î¤è¤¦¤ÊÆü
-ÉÕ¤ò @code{DATE_SUB()} ¤ä @code{DATE_ADD} ¤Î¤è¤¦¤Ê´Ø¿ô¤Ç»ÈÍѤ·¤Æ¡¢Àµ¤·¤¤ÃÍ
-¤¬Ê֤뤳¤È¤Ï´üÂԤǤ­¤Þ¤»¤ó)¡£
-
-¤³¤ì¤Ï¡¢ÆüÉդȻþ´Ö·¿¤Çºî¶È¤¹¤ë¾ì¹ç¤Ë¡¢°ìÈÌŪ¤Ë¹Íθ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤Ç¤¹:
-
-@itemize @bullet
-@item
-@strong{MySQL}¤Ï¡¢É¸½à·Á¼°¤ÇÍ¿¤¨¤é¤ì¤¿ÆüÉÕ¤ä»þ´Ö¤«¤éÃͤòÃê½Ð¤·¤Þ¤¹¤¬¡¢Í¿¤¨¤é¤ì¤¿Â¿ÍͤʷÁ¼°¤ÎÃÍ(Î㤨¤Ð¡¢»ØÄꤵ¤ì¤¿ÃͤòÆüÉÕ¤ä»þ´Ö·¿¤Ë³ä¤êÅö¤Æ¤¿¤ê¡¢Èæ³Ó¤·¤¿¤ê)¤ò²ò¼á¤·¤è¤¦¤È»î¤ß¤Þ¤¹¡£
-¤½¤ì¤Ç¤â¡¢¼¡Àá¤Ç½Ò¤Ù¤ë·Á¼°¤À¤±¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£
-¤½¤ì¤Ï¡¢ÀµÅö¤ÊÃͤ¬Í¿¤¨¤é¤ì¤ë¤³¤È¤ò´üÂÔ¤·¡¢Â¾¤Î·Á¼°¤ÎÃͤò»ÈÍѤµ¤ì¤ë¤è¤¦¤Ê»öÂÖ¤¬µ¯¤³¤ë¤È¡¢¤É¤Î¤è¤¦¤Ê·ë²Ì¤È¤Ê¤ë¤«Í½ÁۤǤ­¤Þ¤»¤ó¡£
-
-@item
-@strong{MySQL} ¤Ï¤¤¤¯¤Ä¤«¤Î·Á¼°¤ËÃͤòÊѤ¨¤Æ¤¯¤ì¤Þ¤¹¤¬¡¢
-¾ï¤Ëǯ¤ÎÉôʬ¤ÈÆü¤Ë¤Á¤ÎÉôʬ¤Ïº¸¤«¤éÍ¿¤¨¤é¤ì¤Æ¤¤¤ë¤È´üÂÔ¤·¤Æ¤¤¤Þ¤¹¡£
-ÆüÉÕ¤Ï Ç¯-·î-Æü ¤Î½ç(Î㤨¤Ð¡¢@code{'98-09-04'})¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-·î-Æü-ǯ ¤ä Æü-·î-ǯ ¤ÎÍͤʤɤ³¤Ç¤â»È¤ï¤ì¤Æ¤¤¤ë¤è¤¦¤Ê·Á¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-(Î㤨¤Ð¡¢@code{'09-04-98'}¤ä@code{'04-09-98'}).
-
-@item
-@strong{MySQL} ¤Ï¡¢¤â¤·¿ôÃͤÎʸ̮¤ÇÆüÉդȻþ´Ö¤Î·¿¤¬»ÈÍѤµ¤ì¤ë¤È¡¢
-¼«Æ°Åª¤ËÆüÉդȻþ´Ö¤ò¿ôÃͤËľ¤·¤Þ¤¹¡£µÕ¤â¹Ô¤¤¤Þ¤¹¡£
-
-@item
-@strong{MySQL} ¤¬Èϰϳ°¤Î¸í¤Ã¤¿ÃͤòÆüÉդȻþ´Ö·¿¤È¤·¤Æ¼õ¤±¼è¤Ã¤¿¾ì¹ç
-(¤³¤Î¥»¥¯¥·¥ç¥ó¤ÎºÇ½é¤ò¤ß¤Æ¤¯¤À¤µ¤¤)¡¢¤½¤ÎÃÍ¤Ï ``¥¼¥í'' ¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£
-(Îã³°¤Ï¡¢Èϰϳ°¤Î@code{TIME}Ãͤ¬Å¬ÀÚ¤Ê@code{TIME}¤ÎÈϰϤ賦ÃͤËÀÚ¤êµÍ¤á¤é¤ì¤ë¤³¤È¤Ç¤¹¡£)
-°Ê²¼¤Ë¡¢¤½¤ì¤¾¤ì¤Î·¿¤Î `¥¼¥í' ¤Î·Á¼°¤ò¼¨¤·¤Þ¤¹¡§
-
-@multitable @columnfractions .3 .7
-@item @strong{¥Õ¥£¡¼¥ë¥É¥¿¥¤¥×} @tab @strong{`¥¼¥í'ÃÍ}
-@item @code{DATETIME} @tab @code{'0000-00-00 00:00:00'}
-@item @code{DATE} @tab @code{'0000-00-00'}
-@item @code{TIMESTAMP} @tab @code{00000000000000} (length depends on display size)
-@item @code{TIME} @tab @code{'00:00:00'}
-@item @code{YEAR} @tab @code{0000}
-@end multitable
-
-@item
-`¥¼¥í'ÃͤÏÆÃÊ̤Ǥ¹¤¬¡¢É½¤Ë¼¨¤µ¤ì¤¿ÃͤòÌÀ¼¨Åª¤Ë»ÈÍѤ·¤Æ¡¢³ÊǼ¤·¤¿¤ê»²¾È¤·¤¿¤ê¤Ç¤­¤Þ¤¹¡£
-¤³¤ÎÃͤϡ¢ @code{'0'} Ëô¤Ï @code{0} ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢¤è¤ê´Ê·é¤Ë½ñ¤¯¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-
-@item
-@strong{MyODBC} Æâ¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë `¥¼¥í' ¤ÎÆüÉդȻþ´Ö¤Ï¡¢
-@strong{MyODBC} 2.50.12 °Ê¾å¤Ç¤Ï¼«Æ°Åª¤Ë @code{NULL} ¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï ODBC ¤¬¤³¤ì¤é¤ÎÃͤò°·¤¨¤Ê¤¤¤«¤é¤Ç¤¹¡£
-@end itemize
-
-@cindex Year 2000 issues
-@node Y2K issues, DATETIME, Date and time types, Date and time types
-@subsubsection À¾Îñ£²£°£°£°Ç¯ÌäÂê¤È¥Ç¡¼¥¿·¿
-
-@strong{MySQL} ¼«ÂΤÏ2000ǯÌäÂê¤ËÂФ·¤Æ°ÂÁ´¤Ç¤¹(@pxref{Year 2000 compliance})¤¬¡¢
- @strong{MySQL} ¤ËÄ󼨤µ¤ì¤ëÆþÎÏÃͤ˴ؤ·¤Æ¤Ï¤½¤¦¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£2·å¤Î
-ǯ¤ÎÆþÎϤϲ¿À¤µª¤Ê¤Î¤«¤ï¤«¤é¤Ê¤¤¤Î¤ÇÁ´¤ÆÛ£Ëæ¤Ç¤¹¡£¤³¤Î¤è¤¦¤ÊÃÍ¤Ï @strong{MySQL}
-¤¬ÆâÉô¤Çǯ¤Ë4·å¤ò»È¤Ã¤Æ¤¤¤ë¤³¤È¤«¤é4·å¤Î·Á¼°¤ËÊÑ´¹¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
-
- @strong{MySQL} ¤ÏÛ£Ëæ¤ÊÆüÉÕ¤ò @code{DATETIME}, @code{DATE}, @code{TIMESTAMP}
-¤ª¤è¤Ó @code{YEAR} ·¿¤Ë´Ø¤·¤Æ¡¢°Ê²¼¤Î
-¥ë¡¼¥ë¤Ë½¾¤Ã¤Æ²ò¼á¤·¤Þ¤¹¡£
-
-@itemize @bullet
-@item
-@code{00-69} ¤ÎÈϰϤÎǯ¤Ï @code{2000-2069} ¤ËÊÑ´¹¡£
-
-@item
-@code{70-99} ¤ÎÈϰϤÎǯ¤Ï @code{1970-1999} ¤ËÊÑ´¹¡£
-@end itemize
-
-¤³¤ì¤é¤Î¥ë¡¼¥ë¤Ï¥Ç¡¼¥¿¤¬²¿¤ò°ÕÌ£¤·¤Æ¤¤¤ë¤«¤ËÂФ·¤ÆÂÅÅö¤Ê¿äÄê¤òÍ¿¤¨¤ë¤Ë
-²á¤®¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î @strong{MySQL} ȯ¸«Åª¼êË¡¤¬Àµ¤·¤¤ÃͤòÀ¸À®¤·
-¤Ê¤¤¾ì¹ç¤ÏÛ£Ëæ¤Ç¤Ê¤¤4·å¤Îǯ¤ò´Þ¤àÆþÎϤòÍ¿¤¨¤ë¤Ù¤­¤Ç¤¹¡£
-
-@code{ORDER BY} ¤Ï2·å¤Î @code{YEAR/DATE/DATETIME} ·¿¤òÀµ¤·¤¯¥½¡¼¥È¤µ¤ì¤Þ¤¹¡£
-
-Ãí°Õ: @code{MIN()} ¤È @code{MAX()} ¤Î¤è¤¦¤Ê¤¤¤¯¤Ä¤«¤Î´Ø¿ô¤Ï @code{TIMESTAMP/DATE} ¤ò¿ôÃÍ
-¤ËÊÑ´¹¤·¤Þ¤¹¡£¤³¤ì¤Ïǯ¤¬2·å¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ï¤³¤ì¤é¤Î´Ø¿ô¤ÇÀµ¤·¤¯Æ°ºî¤·¤Ê
-¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Î½¤Éü¤Ï¡¢@code{TIMESTAMP/DATE} ¤ò4·å¤Îǯ¤Î·Á
-¼°¤ËÊÑ´¹¤¹¤ë¤«¡¢@code{MIN(DATE_ADD(timestamp,INTERVAL 0 DAYS))} ¤Î¤è¤¦¤Ê²¿
-¤«¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¤¹¡£
-
-@tindex DATETIME
-@tindex DATE
-@tindex TIMESTAMP
-@node DATETIME, TIME, Y2K issues, Date and time types
-@subsubsection @code{DATETIME}, @code{DATE}, @code{TIMESTAMP} ·¿
-
-@code{DATETIME}, @code{DATE}, @code{TIMESTAMP}·¿¤Ï¤ª¸ß¤¤¤Ë´ØÏ¢¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç
-¤Ï¤½¤ì¤é¤ÎÆÃħ¤È¡¢¤½¤ì¤¾¤ì¤¬¤É¤¦Æ±¤¸¤Ç¤É¤¦°ã¤¦¤«¤ò¼¨¤·¤Þ¤¹¡£
-
-@code{DATETIME} ·¿¤ÏÆüÉդȻþ¹ï¤Î¾ðÊó¤ò´Þ¤àÃͤ¬É¬Íפʾì¹ç¤Ë»È¤¤¤Þ¤¹¡£@strong{MySQL} ¤Ï
- @code{DATETIME} Ãͤò @code{'YYYY-MM-DD HH:MM:SS'} ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¼è¤ê½Ð¤·¡¢É½¼¨¤·¤Þ¤¹¡£
-¥µ¥Ý¡¼¥È¤µ¤ì¤ëÈÏ°Ï¤Ï @code{'1000-01-01 00:00:00'} ¤«¤é @code{'9999-12-31 23:59:59'} ¤Ç¤¹¡£
-(¡Ö¥µ¥Ý¡¼¥È¤µ¤ì¤ë¡×¤È¤Ï¤µ¤é¤Ë²áµî¤ÎÃͤǤâÆ°¤¯¤«¤âÃΤì¤Þ¤»¤ó¤¬Êݾڤθ¤ê¤Ç¤Ï¤Ê¤¤¤È¤¤¤¦°ÕÌ£¤Ç¤¹)
-
-@code{DATE} ·¿¤Ï»þ¹ï¤ÎÉôʬ¤Ê¤·¤ÇÆüÉÕ¤ÎÃͤΤߤ¬É¬Íפʾì¹ç¤Ë»È¤¤¤Þ¤¹¡£@strong{MySQL} ¤Ï
- @code{DATE} Ãͤò@code{'YYYY-MM-DD'} ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¼è¤ê½Ð¤·¡¢É½¼¨¤·¤Þ¤¹¡£¥µ¥Ý¡¼¥È¤µ¤ì
-¤ëÈÏ°Ï¤Ï @code{'1000-01-01'} ¤«¤é @code{'9999-12-31'} ¤Ç¤¹¡£
-
-@code{TIMESTAMP} ¥¿¥¤¥×¤Ï @code{INSERT} ¤ä @code{UPDATE} Áàºî¤Ë¼«Æ°Åª¤Ë
-¸½ºß¤ÎÆüÉդȻþ¹ï¤ò¥Þ¡¼¥¯¤¹¤ë¾ì¹ç¤ËÄ󶡤µ¤ì¤ë·¿¤Ç¤¹¡£
-¤â¤·Ê£¿ô¤Î @code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤¬¤¢¤ë¾ì¹ç¤Ë¤ÏºÇ½é
-¤Î°ì¤Ä¤À¤±¤¬¼«Æ°Åª¤Ë¹¹¿·¤µ¤ì¤Þ¤¹¡£
-
-ºÇ½é¤Î @code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤Î¼«Æ°¹¹¿·¤Ï°Ê²¼¤Î¤¤¤º¤ì¤«¤Î¾ò·ï¤Çµ¯¤³¤ê¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¤½¤Î¥Õ¥£¡¼¥ë¥É¤¬ÌÀ¼¨Åª¤Ë @code{INSERT} ¤Þ¤¿¤Ï @code{LOAD DATA INFILE} ʸ¤Ç»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤È¤­¡£
-@item
-¤½¤Î¥Õ¥£¡¼¥ë¥É¤¬ÌÀ¼¨Åª¤Ë @code{UPDATE} ʸ¤Ç»ØÄꤵ¤ì¤º¡¢¤«¤Ä¡¢Â¾¤Î¥Õ¥£¡¼¥ë¥É¤ÎÃͤ¬ÊѤï¤Ã¤¿¾ì¹ç¡£
-(¤â¤È¤â¤È¥Õ¥£¡¼¥ë¥É¤ËÆþ¤Ã¤Æ¤¤¤¿ÃͤÈƱ¤¸Ãͤ˹¹¿·¤·¤è¤¦¤È¤¹¤ë @code{UPDATE} ʸ¤Ï @code{TIMESTAMP}
-¥Õ¥£¡¼¥ë¥É¤ò¹¹¿·¤·¤Ê¤¤¤³¤È¤ËÃí°Õ¡£¤Ê¤¼¤Ê¤é¤¢¤ë¥Õ¥£¡¼¥ë¥É¤ò¸½ºß¤ÈƱ¤¸ÃͤËÊѤ¨¤è¤¦¤È¤·¤Æ¤â
-@strong{MySQL} ¤Ï¸úΨ¤Î¤¿¤á¤Ë¤½¤ì¤ò̵»ë¤¹¤ë¤«¤é¤Ç¤¹¡£)
-@item
-ÌÀ¼¨Åª¤Ë @code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤ò @code{NULL} ¤Ë¤·¤¿¾ì¹ç¡£
-@end itemize
-
-ºÇ½é°Ê³°¤Î @code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤â¸½ºß¤ÎÆüÉդȻþ¹ï¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤½¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤ò
-@code{NULL} ¤Þ¤¿¤Ï @code{NOW()} ¤Ë¤¹¤ë¤³¤È¤Ç¤¹¡£
-
-¤É¤Î @code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤âÌÀ¼¨Åª¤Ë˾¤àÃͤò¥»¥Ã¥È¤¹¤ë¤³¤È¤Ç¸½ºß¤ÎÆü»þ¤Ç¤Ê¤¤ÃͤË
-¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤½¤ì¤ÏºÇ½é¤Î @code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤Æ¤âƱ¤¸¤Ç¤¹¡£¤³¤ÎÆÃ
-À­¤ÏÎ㤨¤Ð @code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤ò¤¢¤ë¥ì¥³¡¼¥É¤¬À¸À®¤µ¤ì¤¿¤È¤­¤ÎÆü»þ¤Ë¤·¡¢¤½¤Î¸å¤½¤Î¹Ô
-¤¬¹¹¿·¤µ¤ì¤Æ¤âÊѲ½¤·¤Ê¤¤¤è¤¦¤Ë¤·¤¿¤¤¤È¤¤¤¦¤è¤¦¤Ê¤È¤­¤Ë»È¤¨¤Þ¤¹¡£
-
-@itemize @bullet
-@item
-@strong{MySQL} ¤Ë¥ì¥³¡¼¥É¤¬À¸À®¤µ¤ì¤¿¤È¤­¤Ë¤½¤Î¥Õ¥£¡¼¥ë¥É¤ò¥»¥Ã¥È¤µ¤»¤ë¡£¤³¤ì¤Ç¸½ºßÆü»þ¤Ë½é
-´ü²½¤µ¤ì¤ë¡£
-
-@item
-°Ê¹ß¤Î¾¤Î¥Õ¥£¡¼¥ë¥É¤ËÂФ¹¤ë¹¹¿·»þ¤Ë @code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤ò¤½¤ì¼«ÂΤ¬º£»ý¤Ã¤Æ¤¤¤ëÃͤË
-ÌÀ¼¨Åª¤Ë¹¹¿·¤¹¤ë¡£
-@end itemize
-
-°ìÊý¡¢¤³¤Î¼êË¡¤Ï @code{DATATIME} ¥Õ¥£¡¼¥ë¥É¤ò¹ÔÀ¸À®»þ¤Ë @code{NOW()} ¤Ç½é´ü²½¤·¡¢°Ê¹ß¤Î¹¹¿·»þ¤Ë
-¤½¤ì¤ò¤Û¤¦¤Ã¤Æ¤ª¤¯¤Î¤ÈƱ¤¸¤è¤¦¤Ë´Êñ¤Ç¤¢¤ë¤È¤ï¤«¤ë¤Ç¤·¤ç¤¦¡£
-
-@code{TIMESTAMP} ¤ÎÃÍ¤Ï @code{1970} ǯ¤ÎºÇ½é¤«¤é @code{2037} ǯ¤Î¤É¤³¤«¤Î»þÅÀ¤Þ¤Ç¤ÎÈϰϤÇÍ­¸ú¤Ç¡¢
-1Éäλþ´Öʬ²òǽ¤ò»ý¤Á¤Þ¤¹¡£ÃͤϿôÃͤȤ·¤Æɽ¼¨¤µ¤ì¤Þ¤¹¡£
-
-@strong{MySQL} ¤¬ @code{TIMESTAMP} Ãͤò¼è¤ê½Ð¤·¤¿¤êɽ¼¨¤¹¤ë¤Î¤Ë»È¤¦¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï°Ê²¼¤Îɽ
-¤Ë¼¨¤¹¤è¤¦¤Ë¤½¤Îɽ¼¨¥µ¥¤¥º¤Ë°Í¸¤·¤Þ¤¹¡£¡ÖÌÜ°ìÇÕ¤Î¡× @code{TIMESTAMP} ¥Õ¥©¡¼¥Þ¥Ã
-¥È¤Ï14·å¤Ç¤¹¤¬¡¢ @code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤Ï¤è¤êû¤¤É½¼¨¥µ¥¤¥º¤ÇÀ¸À®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡§
-
-@multitable @columnfractions .3 .7
-@item @strong{¥Õ¥£¡¼¥ë¥É·¿} @tab @strong{ɽ¼¨¥Õ¥©¡¼¥Þ¥Ã¥È}
-@item @code{TIMESTAMP(14)} @tab @code{YYYYMMDDHHMMSS}
-@item @code{TIMESTAMP(12)} @tab @code{YYMMDDHHMMSS}
-@item @code{TIMESTAMP(10)} @tab @code{YYMMDDHHMM}
-@item @code{TIMESTAMP(8)} @tab @code{YYYYMMDD}
-@item @code{TIMESTAMP(6)} @tab @code{YYMMDD}
-@item @code{TIMESTAMP(4)} @tab @code{YYMM}
-@item @code{TIMESTAMP(2)} @tab @code{YY}
-@end multitable
-
-Á´¤Æ¤Î @code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤Ïɽ¼¨¥µ¥¤¥º¤Ë´Ø·¸¤Ê¤¯Æ±¤¸³ÊǼ¥µ¥¤¥º¤ò»ý¤Á¤Þ¤¹¡£¤â¤Ã
-¤È¤â°ìÈÌŪ¤Êɽ¼¨¥µ¥¤¥º¤Ï 6 , 8 , 12 ¤ª¤è¤Ó 14 ¤Ç¤¹¡£É½¼¨¥µ¥¤¥º¤Ï¥Æ¡¼¥Ö¥ëÀ¸À®»þ
-¤ËǤ°Õ¤ÎÃͤ˻ØÄê¤Ç¤­¤Þ¤¹¤¬¡¢ 0 ¤ª¤è¤Ó 14 °Ê¾å¤ÎÃͤ϶¯À©Åª¤Ë 14 ¤Ë¤Ê¤ê¤Þ¤¹¡£1
-¤«¤é 13 ¤Þ¤Ç¤Î´ñ¿ô¤Î¥µ¥¤¥º¤Ï¶¯À©Åª¤Ë°ì¤ÄÂ礭¤¤¶ö¿ô¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@code{DATETIME}, @code{DATE}, @code{TIMESTAMP} Ãͤϰʲ¼¤Î¶¦ÄÌ¥Õ¥©¡¼¥Þ¥Ã¥È¥»¥Ã¥È¤Î¤¤¤º¤ì¤«¤ò
-»È¤Ã¤Æ»ØÄê¤Ç¤­¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-ʸ»úÎó¤Ç @code{'YYYY-MM-DD HH:MM:SS'} ¤« @code{'YY-MM-DD HH:MM:SS'} ¤Î·Á¼°¡£
-"½ÀÆð¤Ê"½ñ¤­Êý¤òµö¤·¤Æ¤¤¤Þ¤¹ -- ÆüÉÕ¤ä»þ¹ï¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ¡¢¤¤¤«¤Ê¤ë¶çÆɵ­¹æ
-¤â»ÈÍѤǤ­¤Þ¤¹¡£Î㤨¤Ð¡¢@code{'98-12-31 11:30:45'}, @code{'98.12.31 11+30+45'},
-@code{'98/12/31 11*30*45'}, @code{'98@@12@@31 11^30^45'} ¤ÏÅù²Á¤Ç¤¹¡£
-
-@item
-ʸ»úÎó¤Ç @code{'YYYY-MM-DD'} ¤« @code{'YY-MM-DD'} ¤Î·Á¼°¡£
-¤³¤ì¤â"½ÀÆð¤Ê"½ñ¤­Êý¤¬¤Ç¤­¤Þ¤¹¡£
-Î㤨¤Ð, @code{'98-12-31'},@code{'98.12.31'}, @code{'98/12/31'}, @code{'98@@12@@31'} ¤Ï
-Åù²Á¤Ç¤¹¡£
-
-@item
-ʸ»úÎó @code{'YYYYMMDDHHMMSS'} ¤Þ¤¿¤Ï @code{'YYMMDDHHMMSS'} ¥Õ¥©¡¼¥Þ¥Ã¥È¡£
-¡Ö´Ë¤ä¤«¤Ê¡×ʸˡ¤¬Ç§¤á¤é¤ì¤Æ¤¤¤Æ¡¢¶çÆɵ­¹æ¤ÏÆüÉÕ¡¢»þ¹ïÉôʬ¤Î¶èÀÚ¤ê
-¤È¤·¤Æ»È¤¨¤Þ¤¹¡£Î㤨¤Ð @code{'98-12-31 11:30:45'}, @code{'98.12.31 11+30+45'},
- @code{'98/12/31 11*:30*:45'}, @code{'98@@12@@31 11^30^45'} ¤ÏÁ´¤ÆÅù²Á¤Ç¤¹¡£
-
-@item
-ʸ»úÎó @code{'YYYY-MM-DD'} ¤Þ¤¿¤Ï @code{'YY-MM-DD'} ¥Õ¥©¡¼¥Þ¥Ã¥È¡£¤³¤ì¤â¡Ö´Ë¤ä¤«¤Ê¡×ʸˡ
-¤¬Ç§¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£Î㤨¤Ð @code{'98-12-31'}, @code{'98.12.31'}, @code{'98/12/31'}, @code{'98@@12@@31'}
-¤ÏÁ´¤ÆÅù²Á¤Ç¤¹¡£
-
-@item
-¶èÀÚ¤êʸ»ú¤Ê¤·¤Îʸ»úÎó @code{'YYYYMMDDHHMMSS'} ¤Þ¤¿¤Ï @code{'YYMMDDHHMMSS'} ¥Õ¥©¡¼¥Þ¥Ã
-¥È¤ÇÆü»þ¤È¤·¤Æ°ÕÌ£¤Î¤¢¤ë¤â¤Î¡£Î㤨¤Ð @code{'19970523091528'} ¤ª¤è¤Ó @code{'970523091528'}
-¤Ï @code{'1997-05-23 09:15:28'} ¤È²ò¼á¤µ¤ì¤Þ¤¹¡£¤·¤«¤· @code{'971122129015'} ¤Ï̵¸ú¤Ç
-(»þ¤Èʬ¤ÎÉôʬ¤¬¤ª¤«¤·¤¤)¡¢ @code{'0000-00-00 00:00:00'} ¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@item
-¶èÀÚ¤êʸ»ú¤Ê¤·¤Îʸ»úÎó @code{'YYYYMMDD'} ¤Þ¤¿¤Ï @code{'YYMMDD'} ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¡¢ÆüÉÕ¤È
-¤·¤Æ°ÕÌ£¤Î¤¢¤ë¤â¤Î¡£Î㤨¤Ð @code{'19970523'} ¤ª¤è¤Ó @code{'970523'} ¤Ï @code{'1997-05-23'} ¤È²ò¼á
-¤µ¤ì¤Þ¤¹¡£¤·¤«¤· @code{'971332'} ¤Ï̵¸ú¤Ç(·î¤ÈÆü¤ÎÉôʬ¤¬¤ª¤«¤·¤¤)¡¢ @code{'0000-00-00'}
-¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@item
- @code{YYYYMMDDHHMMSS} ¤Þ¤¿¤Ï @code{YYMMDDHHMMSS} ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¿ôÃͤǡ¢Æü»þ¤È¤·¤Æ°Õ
-Ì£¤Î¤¢¤ë¤â¤Î¡£Î㤨¤Ð @code{19830905132800} ¤ª¤è¤Ó @code{830905132800} ¤Ï
- @code{'1983-09-05 13:28:00'} ¤È²ò¼á¤µ¤ì¤Þ¤¹¡£
-
-@item
- @code{YYYYMMDD} ¤Þ¤¿¤Ï @code{YYMDD} ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¿ôÃͤÇÆüÉդȤ·¤Æ°ÕÌ£¤Î¤¢¤ë¤â¤Î¡£
-Î㤨¤Ð @code{19830905} ¤ª¤è¤Ó @code{830905} ¤Ï @code{'1983-09-05'} ¤È¤·¤Æ²ò¼á¤µ¤ì¤Þ¤¹¡£
-
-@item
- @code{NOW()} ¤ä @code{CURRENT_DATE} ¤Î¤è¤¦¤Ë
- @code{DATETIME} , @code{DATE} , @code{TIMESTAMP} ¤Î¥³¥ó¥Æ¥­¥¹¥È¤Ç
-¥¢¥¯¥»¥¹²Äǽ¤ÊÃͤòÊÖ¤¹´Ø¿ô¤Î·ë²Ì¡£
-@end itemize
-
-̵¸ú¤Ê @code{DATETIME} , @code{DATE} , @code{TIMESTAMP} ¤ÎÃͤÏŬÀڤʡ֥¼¥í¡×ÃͤËÊÑ´¹¤µ¤ì¤Þ¤¹(
- @code{'0000-00-00 00:00:00'} , @code{'0000-00-00'} ¤Þ¤¿¤Ï @code{00000000000000} )¡£
-
-Æü»þ¤ÎÉôʬ¤Ë¶èÀÚ¤ê¤ò»ý¤Äʸ»úÎó¤Ç»ØÄꤵ¤ì¤ëÃͤǡ¢·î¡¢Æü¤ÎÃͤ¬10̤Ëþ¤Î¾ì
-¹ç¤Ï2·å¤Ç»ØÄꤷ¤Ê¤¯¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ @code{'1979-6-9'} ¤Ï @code{'1979-06-09'} ¤ÈÅù²Á¤Ç
-¤¹¡£Æ±Íͤ˻þ¹ï¤ÎÉôʬ¤Ë¶èÀÚ¤ê¤ò»ý¤Äʸ»úÎó¤Ç»ØÄꤵ¤ì¤ëÃͤǡ¢»þ¡¢Ê¬¡¢Éä¬
- @code{10} ̤Ëþ¤Î¾ì¹ç¤Ï2·å¤Ç»ØÄꤷ¤Ê¤¯¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ @code{'1979-10-30 1:2:3'} ¤Ï
- @code{'1979-10-30 01:02:03'} ¤ÈÅù²Á¤Ç¤¹¡£
-
-¿ôÃͤǤ·¤Æ¤¤¤µ¤ì¤ëÃÍ¤Ï 6, 8, 12 ¤Þ¤¿¤Ï 14 ·å¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤â¤·¤½¤Î¿ô
-Ãͤ¬ 8 ¤Þ¤¿¤Ï 14 ·å¤ÎŤµ¤Î»þ¤Ï¤½¤ì¤¾¤ì @code{YYYYMMDD} ¤ª¤è¤Ó @code{YYYYMMDDHHMMSS} ¥Õ¥©¡¼
-¥Þ¥Ã¥È¤Ç¡¢ºÇ½é¤Î 4 ·å¤Çǯ¤¬Í¿¤¨¤é¤ì¤ë¤â¤Î¤È²¾Äꤵ¤ì¤Þ¤¹¡£¤â¤·¤½¤Î¿ôÃͤ¬ 6
-¤Þ¤¿¤Ï12·å¤ÎŤµ¤Î»þ¤Ï @code{YYMMDD} ¤ª¤è¤Ó @code{YYMMDDHHMMSS} ¥Õ¥©¡¼¥Þ¥Ã¥È¤ÇºÇ½é¤Î2·å¤Ç
-ǯ¤¬Í¿¤¨¤é¤ì¤ë¤â¤Î¤È²¾Äꤵ¤ì¤Þ¤¹¡£¤³¤ì¤é°Ê³°¤ÎŤµ¤Î¿ôÃͤϤ¢¤È¤Ë @code{0} ¤¬ÄɲÃ
-¤µ¤ì¤Æ¤³¤ì¤é¤Î¤¦¤Á¤Î¤â¤Ã¤È¤â¶á¤¤Ä¹¤µ¤Î¤â¤Î¤È²ò¼á¤µ¤ì¤Þ¤¹¡£
-
-¶èÀÚ¤ê¤Ê¤·¤Îʸ»úÎó¤ÇÍ¿¤¨¤é¤ì¤ëÃͤϤ½¤ì¼«¿È¤ÎŤµ¤ò»È¤Ã¤Æ²ò¼á¤µ¤ì¤Þ¤¹¡£
-¤â¤·Ê¸»úÎó¤¬8¤Þ¤¿¤Ï14ʸ»ú¤Ê¤é¤Ðǯ¤ÏºÇ½é¤Î4ʸ»ú¤ÇÍ¿¤¨¤é¤ì¤ë¤È²¾Äꤵ¤ì¤Þ
-¤¹¡£¤½¤¦¤Ç¤Ê¤±¤ì¤ÐºÇ½é¤Î2ʸ»ú¤ÇÍ¿¤¨¤é¤ì¤ë¤È²¾Äꤵ¤ì¤Þ¤¹¡£Ê¸»úÎó¤Ïº¸¤«
-¤é±¦¤Ëǯ¡¢·î¡¢Æü¡¢»þ¡¢Ê¬¡¢ÉäÈʸ»úÎóÃæ¤Ëɽ¸½¤µ¤ì¤Æ¤¤¤ëʬ¤À¤±½ç¤Ë²ò¼á¤µ
-¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê6ʸ»ú°Ê²¼¤Îʸ»úÎó¤Ï»È¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£Î㤨
-¤Ð1999ǯ3·î¤ò»ØÄꤹ¤ë¤Ä¤â¤ê¤Ç @code{'9903'} ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢ @strong{MySQL} ¤Ï¡Ö¥¼¥í¡×ÆüÉÕ
-¤ò¥Æ¡¼¥Ö¥ë¤ËÁÞÆþ¤·¤Þ¤¹¡£¤³¤ì¤Ïǯ¤È·î¤ÎÉôʬ¤Ï @code{99} ¤È @code{03} ¤Ç¤¹¤¬Æü¤ÎÉôʬ¤¬·ç¤±
-¤Æ¤¤¤ë(¥¼¥í)¤¿¤á¤ËÃͤ¬Í­¸ú¤ÊÆüÉդǤʤ¤¤¿¤á¤Ëµ¯¤³¤ê¤Þ¤¹¡£
-
-@code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤ÏÍ­¸ú¤ÊÃͤò¡¢É½¼¨¥µ¥¤¥º¤Ë´Ø·¸¤Ê¤¯»ØÄꤵ¤ì¤¿ÃͤòºÇ¹âÀºÅÙ¤Î
-»þ´Öʬ²òǽ¤Ç³ÊǼ¤·¤Þ¤¹¡£¤³¤Î¤³¤È¤Ï¤¤¤¯¤Ä¤«¤Î°ÕÌ£¹ç¤¤¤ò»ý¤Á¤Þ¤¹¡£
-
-ǯ¤ÎÃͤ¬Æó·å¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¡¢À¤µª¤ÎÉôʬ¤¬¤Ê¤¤¤Î¤ÇÛ£Ëæ¤ÊÃͤȤʤê¤Þ¤¹¡£
-@strong{MySQL} ¤ÏÆó·å¤Îǯ¤ÎÃͤò°Ê²¼¤Ë¼¨¤¹µ¬Â§¤Ë¤½¤Ã¤ÆÊÑ´¹¤·¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-Îó¤Î·¿¤¬TIMESTAMP(4)¤Ç¤¢¤Ã¤Æ¤âTIMESTAMP(2)¤Ç¤¢¤Ã¤Æ¤â¾ï¤Ëǯ·îÆü¤ò»ØÄê
-¤¹¤ë¤³¤È¡£¤½¤¦¤Ç¤Ê¤±¤ì¤ÐÃͤÏ̵¸ú¤Ç0¤¬³ÊǼ¤µ¤ì¤Þ¤¹¡£
-
-@item
-¤â¤·Ã»¤¤·Á¼°¤Î @code{TIMESTAMP} ¤ò @code{ALTER TABLE} ¤ò»È¤Ã¤Æ³ÈÄ¥¤·¤è¤¦¤È¤·¤¿¾ì¹ç¡¢³È
-Ä¥Á°¤Ë¤Ï¡Ö±£¤ì¤Æ¤¤¤¿¡×¾ðÊ󤬸½¤ì¤Þ¤¹¡£
-
-@item
-ƱÍÍ¤Ë @code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤ò½Ì¤á¤¿¾ì¹ç¤â¡¢Ãͤ¬É½¼¨¤µ¤ì¤¿»þ¤Ë¤è¤ê¾¯¤Ê¤¤¾ðÊó¤·
-¤«¸½¤ì¤Ê¤¤¤È¤¤¤¦ÅÀ¤ò½ü¤¤¤Æ¡¢¾ðÊó¤Ï¼º¤ï¤ì¤Þ¤»¤ó¡£
-
-@item
- @code{TIMESTAMP} ÃͤϺǹâÀºÅ٤λþ´Öʬ²òǽ¤Ç³ÊǼ¤µ¤ì¤Þ¤¹¤¬¡¢ÆâÉôŪ¤Ë³ÊǼ¤µ¤ì
-¤¿ÃͤòľÀÜÁàºî¤Ç¤­¤ë´Ø¿ô¤Ï @code{UNIX_TIMESTAMP()} ¤Î¤ß¤Ç¤¹¡£Â¾¤Î´Ø¿ô¤Ï¥Õ¥©¡¼¥Þ¥Ã
-¥È¤µ¤ì¤Æ¼è¤ê½Ð¤µ¤ì¤¿ÃͤˤĤ¤¤ÆÁàºî¤·¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢ @code{HOUR()} ¤ä @code{SECOND()} ¤Ê¤É
-¤Î´Ø¿ô¤Ï @code{TIMESTAMP} ÃͤÎÂбþ¤¹¤ëÉôʬ¤¬¥Õ¥©¡¼¥Þ¥Ã¥È¤µ¤ì¤¿ÃͤǴޤޤì¤Ê¤¤¤È
-»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£Î㤨¤Ð @code{TIMESTAMP} Îó¤Î @code{HH} ¤ÎÉôʬ¤Ïɽ¼¨¥µ¥¤¥º¤¬¾¯¤Ê¤¯
-¤È¤â10°Ê¾å¤Ê¤¤¤Èɽ¼¨¤µ¤ì¤Ê¤¤¤Î¤Ç¡¢¤½¤ì¤è¤êû¤¤ @code{TIMESTAMP} ÃÍ¤Ë @code{HOUR()} ¤ÎÁà
-ºî¤ò¹Ô¤Ã¤Æ¤â̵°ÕÌ£¤ÊÃͤ·¤«ÆÀ¤é¤ì¤Þ¤»¤ó¡£
-@end itemize
-
-¤¢¤ëÆüÉÕ·¿¤ò¾¤ÎÆüÉÕ·¿¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ë³ÈÄ¥¤·¤Æ»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤·¤«¤·¤½¤ì¤ÏÃͤÎÊѲ½¤ä¾ðÊó¤Î·çÍî¤òµ¯¤³¤¹²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
-
-@itemize @bullet
-@item
-@code{DATE} ¤ÎÃͤò @code{DATETIME} ¤« @code{TIMESTAMP} ¤Îʪ¤ËÍ¿¤¨¤¿¾ì¹ç¡¢
-»þ¹ï¤ÎÉôʬ¤Ï @code{'00:00:00'} ¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ï @code{DATE} Ãͤ¬
-»þ¹ï¤Î¾ðÊó¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£
-
-@item
-@code{DATETIME} ¤« @code{TIMESTAMP} ¤ÎÃͤò @code{DATE} ¤Îʪ¤ËÍ¿¤¨¤¿¾ì¹ç¡¢
-»þ¹ï¤ÎÉôʬ¤Ïºï¤é¤ì¤Þ¤¹¡£¤³¤ì¤Ï @code{DATE} Ãͤ¬
-»þ¹ï¤Î¾ðÊó¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£
-
-@item
- @code{DATETIME}, @code{DATE}, @code{TIMESTAMP} ÃͤÏƱ¤¸¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¥»¥Ã¥È¤ò»È¤Ã¤Æɽ¸½¤Ç
-¤­¤Þ¤¹¤¬¡¢¤É¤Î·¿¤âƱ¤¸ÃͤÎÈϰϤò»ý¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤³¤È¤ò³Ð¤¨¤Æ¤ª¤¤
-¤Æ¤¯¤À¤µ¤¤¡£Î㤨¤Ð @code{TIMESTAMP} ÃÍ¤Ï @code{1970} ǯ¤è¤êÁ°¤ä @code{2037} ǯ¤è¤ê¸å¤ÎÃͤˤϤǤ­
-¤Þ¤»¤ó¡£¤Ä¤Þ¤ê @code{'1968-01-01'} ¤È¤¤¤¦ÃÍ¤Ï @code{DATETIME} ¤ä @code{DATE} ¤ÎÃͤȤ·¤Æ¤ÏÍ­¸ú¤Ç¤¹
-¤¬ @code{TIMESTAMP} ¤ÎÃͤȤ·¤Æ¤Ï̵¸ú¤Ç¡¢¤½¤Î¤è¤¦¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï
- @code{0} ¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£
-@end itemize
-
-ÆüÉÕ¤ÎÃͤò»ØÄꤹ¤ë¤È¤­¤ÎÍî¤È¤··ê¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤:
-
-@itemize @bullet
-@item
-ʸ»úÎó¤È¤·¤Æ»ØÄꤵ¤ì¤ëÃͤνÀÆð¤Ê¥Õ¥©¡¼¥Þ¥Ã¥È¤ËñÙ¤µ¤ì¤Ê¤¤¤è¤¦¡£Î㤨
-¤Ð @code{'10:11:12'} ¤Ï @samp{':'} ¤ò¶èÀÚ¤êʸ»ú¤È¤¹¤ë»þ¹ï¤Î¤è¤¦¤Ë¸«¤¨¤Þ¤¹¤¬¡¢ÆüÉդΥ³¥ó
-¥Æ¥­¥¹¥È¤Ç»È¤ï¤ì¤ë¤È¤³¤ì¤Ï @code{'2010-11-12'} ¤È²ò¼á¤µ¤ì¤Þ¤¹¡£@code{'10:45:15'} ¤Ï @code{'45'}
-¤¬Í­¸ú¤Ê·î¤Ç¤Ï¤Ê¤¤¤Î¤Ç @code{'0000-00-00'} ¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£
-
-@item
-2·å¤Çɽ¤µ¤ì¤ëǯ¤ÏÀ¤µª¤ÎÉôʬ¤¬ÉÔÌÀ¤Ê¤Î¤ÇÛ£Ëæ¤Ç¤¹¡£ @strong{MySQL} ¤Ï°Ê²¼¤Î¥ë¡¼¥ë
-¤Ç2·å¤Îǯ¤ò²ò¼á¤·¤Þ¤¹¡£
-
-@itemize @minus
-@item
-@code{00-69} ¤ÎÈϰϤˤ¢¤ëǯ¤ÎÃÍ¤Ï @code{2000-2069} ǯ¤È¤¹¤ë¡£
-
-@item
-@code{70-99} ¤ÎÈϰϤˤ¢¤ëǯ¤ÎÃÍ¤Ï @code{1970-1999} ǯ¤È¤¹¤ë¡£
-@end itemize
-@end itemize
-
-@tindex TIME
-@node TIME, YEAR, DATETIME, Date and time types
-@subsubsection @code{TIME} ·¿
-
-@strong{MySQL} ¤Ï @code{TIME} ¤ÎÃͤò @code{'HH:MM:SS'}
- (»þ¤ÎÉôʬ¤¬Â礭¤¤¾ì¹ç¤Ï @code{'HHH:MM:SS'})
-¤È¤¤¤¦¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç°·¤¤¡¢¤Þ¤¿É½¼¨¤·¤Þ¤¹¡£
-(»þ¤ÎÉôʬ¤¬Â礭¤¤¾ì¹ç¤Ï @code{'HHH:MM:SS'})¡£
-@code{TIME} ÃͤÎÈÏ°Ï¤Ï @code{'-838:59:59'} ¤«¤é @code{'838:59:59'} ¤ÎÈϰϤǤ¹¡£
-»þ¤ÎÉôʬ¤¬¤³¤ó¤Ê¤ËÂ礭¤¤¤Î¤Ï¡¢@code{TIME} ·¿¤Ï°ìÆü¤¹¤Ê¤ï¤Á24»þ´Ö°ÊÆâ
-¤Î»þ¹ï¤òɽ¸½¤¹¤ë¤Î¤ËÍѤ¤¤é¤ì¤ë¤À¤±¤Ç¤Ï¤Ê¤¯·Ð²á»þ´Ö¤äÆó¤Ä¤Î»ö¾Ý¤Î´Ö³Ö
-(¤É¤Á¤é¤â£²£´»þ´Ö¤ò±Û¤¨¤¿¤ê¡¢Éé¤Î¿ô¤Ë¤Ê¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹)¤òɽ¸½¤¹¤ë¤³¤È
-¤â¤¢¤ë¤«¤é¤Ç¤¹¡£
-
-@code{TIME} ÃͤÏÍÍ¡¹¤Ê¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç»ØÄê²Äǽ¤Ç¤¹¡§
-
-@itemize @bullet
-@item
-ʸ»úÎó¤Ç @code{'D HH:MM:SS.fraction'} ¤È¤¤¤¦¥Õ¥©¡¼¥Þ¥Ã¥È¡£
-(@strong{MySQL}¤Ï¤Þ¤À¤³¤Î fraction ¤ò time ¥Õ¥£¡¼¥ë¥É¤ËÊݸ¤Ç¤­¤Þ¤»¤ó)¡£
-°Ê²¼¤Î ``½ÀÆð¤Ê'' ʸˡ¤¬»ÈÍѤǤ­¤Þ¤¹¡§
-
-@code{HH:MM:SS.fraction}, @code{HH:MM:SS}, @code{HH:MM}, @code{D HH:MM:SS},
-@code{D HH:MM}, @code{D HH} or @code{SS}. Here @code{D} is days between 0-33.
-
-@item
-ʸ»úÎó¤Ç @code{'HHMMSS'} ¤È¤¤¤¦¤è¤¦¤Ë¶èÀÚ¤ê¤Î¤Ê¤¤¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç»þ¹ï¤È¤·¤ÆÍ­¸ú
-¤Ê¤â¤Î¡£Î㤨¤Ð @code{'101112'} ¤Ï @code{'10:11:12'} ¤È²ò¼á¤µ¤ì¤Þ¤¹¤¬ @code{'109712'} ¤Ï̵¸ú¤Ç(ʬ
-¤ÎÉôʬ¤¬Ìµ°ÕÌ£) @code{'00:00:00'} ¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@item
-¿ôÃÍ¤Ç @code{HHMMSS} ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç»þ¹ï¤È¤·¤ÆÍ­¸ú¤Ê¤â¤Î¡£
-Î㤨¤Ð @code{101112} ¤Ï @code{'10:11:12'} ¤È²ò¼á¤µ¤ì¤Þ¤¹¡£
-¼¡¤ÎÊ̤ηÁ¼°¤â²ò¼á¤Ç¤­¤Þ¤¹: @code{SS}, @code{MMSS},@code{HHMMSS},
-@code{HHMMSS.fraction}¡£Ãí°Õ: @strong{MySQL} ¤Ï¤Þ¤À fraction Éô¤òÊݸ¤Ç¤­
-¤Þ¤»¤ó¡£
-
-@item
-Î㤨¤Ð @code{CURRENT_TIME} ¤Î¤è¤¦¤Ë @code{TIME} ¤Î¥³¥ó¥Æ¥­¥¹¥È¤Ç¼õ¤±ÉÕ¤±¤é¤ì¤ëÃͤòÊÖ¤¹
-´Ø¿ô¤Î·ë²Ì¡£
-@end itemize
-
-ʸ»úÎó¤Ç»þ¹ï¤Î³ÆÉô¤Î¶èÀÚ¤ê¤ò´Þ¤à @code{TIME} ¤ÎÃͤˤĤ¤¤Æ¤Ï¡¢»þ¡¢Ê¬¡¢Éä¬ @code{10} °Ê²¼
-¤Î¾ì¹ç¡¢£²·å¤Î¿ô»ú¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£@code{'8:3:2'} ¤Ï @code{'08:03:02'} ¤ÈƱ
-¤¸¤Ç¤¹¡£
-
-¡Öû¤¤¡× @code{TIME} Ãͤò @code{TIME} ¥Õ¥£¡¼¥ë¥É¤È¤·¤Æ»ØÄꤹ¤ë¾ì¹ç¤ÏÍ×Ãí°Õ¤Ç¤¹¡£
-@strong{MySQL} ¤Ï¤½¤ÎÃͤò¤â¤Ã¤È¤â±¦Ã¼¤Î·å¤ÏÉäòɽ¤¹¤È²¾Äꤷ¤Æ²ò¼á¤·¤Þ¤¹
-(@strong{MySQL} ¤Ï @code{TIME} ¤ÎÃͤò°ìÆü¤Î
-¤¦¤Á¤Î»þ¹ï¤È¤·¤Æ¤è¤ê·Ð²á»þ´Ö¤È¤·¤Æ²ò¼á¤·¤Þ¤¹)¡£Î㤨¤Ð @code{'11:12'},@code{'1112'},
- @code{1112} ¤¬ @code{'00:11:12'} (11»þ12ʬ)¤òɽ¤·¤Æ¤¤¤ë¤Ä¤â¤ê¤Ç¤¤¤Æ¤â¡¢
-@strong{MySQL} ¤Ï¤³¤ì¤é¤ò @code{'00:00:12'} (11ʬ12ÉÃ)¤È¤·¤Æ²ò¼á¤·¤Þ¤¹¡£
-ƱÍÍ¤Ë @code{'12'} ¤ª¤è¤Ó @code{12} ¤Ï @code{'00:00:12'} ¤È²ò¼á¤·¤Þ¤¹¡£
-
-@code{TIME} ¤ÎÈϰϳ°¤Ë¤¢¤ëÃͤÇÃͰʳ°¤ÏÀµ¤·¤¤¤â¤Î¤ÏÈϰϤÎü¤ÎÃͤÎŬÅö¤ÊÊý¤Ë¥¯¥ê¥Ã
-¥×¤µ¤ì¤Þ¤¹¡£Î㤨¤Ð @code{'-850:00:00'} ¤ª¤è¤Ó @code{'850:00:00'} ¤Ï
-¤½¤ì¤¾¤ì @code{'-838:59:59'} ¤ª¤è¤Ó @code{'838:59:59'} ¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-̵¸ú¤Ê @code{TIME} ÃÍ¤Ï @code{'00:00:00'} ¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£
-¤³¤³¤Ç @code{'00:00:00'} ¼«ÂΤÏÍ­¸ú¤Ê @code{TIME} ÃͤʤΤǡ¢
-¥Æ¡¼¥Ö¥ëÆâ¤ËÊݸ¤µ¤ì¤¿'00:00:00'¤È¤¤¤¦Ãͤ«¤é¤½¤ì¤¬¤â¤È¤â
-¤È @code{'00:00:00'} ¤È»ØÄꤵ¤ì¤¿ÃͤʤΤ«Ìµ¸ú¤Ê¤¿¤á¤ËÊÑ´¹¤µ¤ì¤¿·ë²Ì¤Ê¤Î¤«¤ò¶è
-Ê̤¹¤ëÊýË¡¤Ï¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-
-@tindex YEAR
-@node YEAR, , TIME, Date and time types
-@subsubsection @code{YEAR} ·¿
-
-@code{YEAR} ·¿¤Ïǯ¤òɽ¸½¤¹¤ë¤Î¤Ë»È¤ï¤ì¤ë1¥Ð¥¤¥È¤ÎÃͤǤ¹¡£
-
-@strong{MySQL} ¤Ï @code{YEAR} ¤ÎÃͤò @code{YYYY} ¤È¤¤¤¦¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç°·¤¤¡¢
-¤Þ¤¿É½¼¨¤·¤Þ¤¹¡£ÈÏ°Ï¤Ï @code{1901} ¤«¤é @code{2155} ¤Ç¤¹¡£
-
-@code{YEAR} ·¿¤ÏÍÍ¡¹¤Ê¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç»ØÄê²Äǽ¤Ç¤¹¡§
-
-@itemize @bullet
-@item
-@code{'1901'} ¤«¤é @code{'2155'} ¤ÎÈϰϤˤ¢¤ë4·å¤Îʸ»úÎó
-
-@item
-@code{1901} ¤«¤é @code{2155} ¤ÎÈϰϤˤ¢¤ë4·å¤Î¿ôÃÍ¡£
-
-@item
-@code{'00'} ¤«¤é @code{'99'} ¤ÎÈϰϤˤ¢¤ë2·å¤Îʸ»úÎó¡£
-@code{'00'} ¤«¤é @code{'69'} ¤Þ¤Ç¤ª¤è¤Ó @code{'70'} ¤«¤é
-@code{'99'} ¤Þ¤Ç¤ÎÈϰϤϤ½¤ì¤¾¤ì @code{2000} ¤«¤é @code{2069} ¤Þ¤Ç
-¤ª¤è¤Ó @code{1970} ¤«¤é @code{1999} ¤Þ¤Ç¤ÎÈϰϤÎ
-YEAR·¿¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£
-
-@item
-@code{1} ¤«¤é @code{99} ¤ÎÈϰϤˤ¢¤ë2·å¤Î¿ôÃÍ¡£@code{1} ¤«¤é @code{69} ¤Þ¤Ç
-¤ª¤è¤Ó @code{70} ¤«¤é @code{99} ¤Þ¤Ç¤ÎÈϰϤÏ
-¤½¤ì¤¾¤ì @code{2001} ¤«¤é @code{2069} ¤Þ¤Ç¤ª¤è¤Ó @code{1970} ¤«¤é @code{1999} ¤Þ¤Ç
-¤ÎÈϰϤΠ@code{YEAR} ·¿¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£
-2·å¤Î¿ôÃͤξì¹ç¤Ï2·å¤Îʸ»úÎó¤Î¾ì¹ç¤È¼ã´³°Û¤Ê¤Ã¤Æ¤¤¤ëÅÀ¤ËÃí°Õ¤·¤Æ
-¤¯¤À¤µ¤¤¡£¤Ê¤¼¤Ê¤é0¤ò¿ôÃͤȤ·¤Æ»ØÄꤷ¡¢¤½¤ì¤ò2000ǯ¤È¤·¤Æ²ò¼á¤µ¤»¤ë¤³
-¤È¤¬¤Ç¤­¤Ê¤¤¤«¤é¤Ç¤¹¡£¤½¤Î¾ì¹ç¤Ïʸ»úÎó¤Ç @code{'0'} ¤Þ¤¿¤Ï @code{'00'} ¤ò@emph{»ØÄꤷ¤Ê¤±¤ì¤Ð
-¤Ê¤ê¤Þ¤»¤ó}¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¿ôÃÍ0¤Ï̵¸ú¤ÊYEARÃͤò¼¨¤¹ @code{0000} ¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£
-
-@item
-Î㤨¤Ð @code{NOW()} ¤Î¤è¤¦¤Ë @code{YEAR} ¥³¥ó¥Æ¥­¥¹¥È¤Ç¼õ¤±Æþ¤ì¤é¤ì¤ëÃͤòÊÖ¤¹´Ø¿ô¤Î·ë
-²Ì¡£
-@end itemize
-
-̵¸ú¤Ê @code{YEAR} ÃÍ¤Ï @code{0000} ¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£
-
-
-@node String types, Choosing types, Date and time types, Column types
-@subsection ʸ»úÎó·¿
-
-ʸ»úÎó·¿¤Ï @code{CHAR}, @code{VARCHAR}, @code{BLOB}, @code{TEXT},
-@code{ENUM} ¤ª¤è¤Ó @code{SET} ¤Ç¤¹¡£
-
-@tindex CHAR
-@tindex VARCHAR
-@menu
-* CHAR:: The @code{CHAR} and @code{VARCHAR} types
-* BLOB:: The @code{BLOB} and @code{TEXT} types
-* ENUM:: The @code{ENUM} type
-* SET:: The @code{SET} type
-@end menu
-
-@node CHAR, BLOB, String types, String types
-@subsubsection @code{CHAR} ·¿¤È @code{VARCHAR} ·¿
-
-@code{CHAR} ·¿¤È @code{VARCHAR} ·¿¤Ï¤è¤¯»÷¤Æ¤¤¤Þ¤¹¤¬³ÊǼ¡¢¼è¤ê½Ð¤·¤Î¼ê½ç¤Ë°ã¤¤¤¬¤¢¤ê¤Þ¤¹¡£
-
-@code{CHAR} ¥Õ¥£¡¼¥ë¥É¤ÎŤµ¤Ï¥Æ¡¼¥Ö¥ë¤òÀ¸À®¤¹¤ë¤È¤­¤ËÀë¸À¤·¤¿Ä¹¤µ¤Ë¸ÇÄꤵ¤ì¤Þ¤¹¡£Ä¹¤µ
-¤Ï 1 ¤«¤é 255 ¤Þ¤Ç¤ÎÃͤò¼è¤ê¤Þ¤¹¡£@code{CHAR} ¤¬³ÊǼ¤µ¤ì¤ë¤È¤­¤Ë¤Ï»ØÄꤵ¤ì¤¿Ä¹¤µ¤Ë
-¤Ê¤ë¤è¤¦¤Ë±¦Â¦¤Ë¶õÇò¤¬µÍ¤á¤é¤ì¤Þ¤¹¡£@code{CHAR} ¤ÎÃͤ¬¼è¤ê½Ð¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï±¦Â¦
-(¸å³)¤Î¶õÇò¤Ï¼è¤ê½ü¤«¤ì¤Þ¤¹¡£
-
-@code{VARCHAR} ¥Õ¥£¡¼¥ë¥É¤ÎÃͤϲÄÊÑĹʸ»úÎó¤Ç¤¹¡£
-@code{VARCHAR} ¥Õ¥£¡¼¥ë¥É¤Ï @code{CHAR} ¥Õ¥£¡¼¥ë¥É
-¤ÈƱ¤¸¤¯ 1 ¤«¤é 255 ¤Þ¤Ç¤ÎŤµ¤ËÀë¸À¤Ç¤­¤Þ¤¹¡£
-(@strong{MySQL} 3.23 ¤Ç¤Ï, @code{CHAR} ¤ÎŤµ¤Ï 0 ¤«¤é 255 ¤Þ¤Çµö¤µ¤ì¤Æ¤¤¤Þ¤¹.)
-¤·¤«¤· @code{CHAR} ·¿¤È°Û¤Ê¤ê @code{VARCHAR} ·¿¤ÎÃͤÏɬÍפÊʸ»ú¿ô¤Îʬ¤Ë
-Ťµ¤òµ­Ï¿¤¹¤ë1 ¥Ð¥¤¥È¤ò­¤·¤¿Îΰè¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ÃͤˤϷå¹ç¤ï¤»¤Î¤¿¤á¤Î¶õÇò¤Ï¤Ä¤±¤é¤ì
-¤Þ¤»¤ó¡£¸å³¤Î¶õÇò¤ÏÃͤγÊǼ»þ¤Ë¼è¤ê½ü¤«¤ì¤Þ¤¹¡£(¤³¤Î¶õÇò¤Î½üµî¤Ï ANSI
-SQL»ÅÍͤȤϰã¤Ã¤Æ¤¤¤Þ¤¹¡£)
-
-¤â¤· @code{CHAR} ¤Þ¤¿¤Ï @code{VARCHAR} ¥Õ¥£¡¼¥ë¥É¤Ë¡¢¥Õ¥£¡¼¥ë¥É¤ÎºÇÂçŤò
-±Û¤¨¤ëŤµ¤ÎÃͤòÍ¿¤¨¤¿¾ì¹ç¤Ï¡¢Å¬¹ç¤¹¤ë¤è¤¦¤ËÀÚ¤êµÍ¤á¤é¤ì¤Þ¤¹¡£
-
-°Ê²¼¤Îɽ¤Ï¤³¤ì¤é¤ÎÆó¤Ä¤Î¥Õ¥£¡¼¥ë¥É·¿¤Î°ã¤¤¤ò¡¢@code{CHAR(4)} ¤ª¤è¤Ó @code{VARCHAR(4)} ¤ËÍÍ¡¹
-¤Êʸ»úÎóÃͤò³ÊǼ¤·¤¿·ë²Ì¤ò¼¨¤¹¤³¤È¤Çɽ¤·¤Æ¤¤¤Þ¤¹¡£
-
-@c Need to use @(space) to make sure second column values retain spacing
-@c in output for table below.
-
-@multitable @columnfractions .2 .15 .2 .2 .25
-@item @strong{ÃÍ} @tab @code{CHAR(4)} @tab @strong{ɬÍפʳÊǼ°è} @tab @code{VARCHAR(4)} @tab @strong{ɬÍפʳÊǼ°è}
-@item @code{''} @tab @code{'@ @ @ @ '} @tab 4 ¥Ð¥¤¥È @tab @code{''} @tab 1 ¥Ð¥¤¥È
-@item @code{'ab'} @tab @code{'ab@ @ '} @tab 4 ¥Ð¥¤¥È @tab @code{'ab'} @tab 3 ¥Ð¥¤¥È
-@item @code{'abcd'} @tab @code{'abcd'} @tab 4 ¥Ð¥¤¥È @tab @code{'abcd'} @tab 5 ¥Ð¥¤¥È
-@item @code{'abcdefgh'} @tab @code{'abcd'} @tab 4 ¥Ð¥¤¥È @tab @code{'abcd'} @tab 5 ¥Ð¥¤¥È
-@end multitable
-
-@code{CHAR(4)} ¥Õ¥£¡¼¥ë¥É¤Î¸å³¤Î¶õÇò¤Ï¼è¤ê½Ð¤·»þ¤Ë¤È¤ê¤Î¤¾¤«¤ì¤ë¤Î¤Ç¡¢CHAR(4)¤ª¤è¤Ó
-@code{VARCHAR(4)} ¤«¤é¼è¤ê½Ð¤µ¤ì¤ëÃͤϤɤξì¹ç¤Ç¤âƱ¤¸¤Ç¤¹¡£
-
-@code{CHAR} ¤ª¤è¤Ó @code{VARCHAR} ¥Õ¥£¡¼¥ë¥É¤ÎÃͤϥơ¼¥Ö¥ë¤ÎÀ¸À®»þ¤Ë @code{BINARY} °À­¤¬
-¤Ä¤±¤é¤ì¤Ê¤¤¸Â¤ê¡¢Âçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤¤Ç¥½¡¼¥È¡¦Èæ³Ó¤µ¤ì¤Þ¤¹¡£@code{BINARY} °À­¤Ï¤½¤Î
-Îó¤ÎÃͤ¬Âçʸ»ú¡¢¾®Ê¸»ú¤ò¶èÊ̤·¤Æ¡¢MySQL¥µ¡¼¥Ð¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥Þ¥·¥ó¤Î
-ASCII½ç¤Ë¥½¡¼¥È¡¦Èæ³Ó¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-
-@code{BINARY} °À­¤Ï¡Ö¸ÇÄêŪ¡×¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢¤â¤· @code{BINARY} ¤Ç¤¢¤ë¤È»ØÄꤵ¤ì¤¿
-¥Õ¥£¡¼¥ë¥É¤¬¼°¤ÎÃæ¤Ë¤¢¤ë¤È¼°Á´ÂΤ¬ @code{BINARY} ¤ÎÃͤȤ·¤ÆÈæ³Ó¤µ¤ì¤ë¤Î¤Ç¤¹¡£
-
-@strong{MySQL} ¤Ï¥Æ¡¼¥Ö¥ëÀ¸À®»þ¤Ë²¿¤âÃǤ餺¤Ë@code{CHAR} ¤Þ¤¿¤Ï @code{VARCHAR} ·¿¤Î
-¥Õ¥£¡¼¥ë¥É¤òÊѹ¹¤¹¤ë»ö¤¬¤¢¤ê¤Þ¤¹¡£
-@xref{Silent column changes}.
-
-@tindex BLOB
-@tindex TEXT
-@node BLOB, ENUM, CHAR, String types
-@subsubsection @code{BLOB} ¤È @code{TEXT} ·¿
-
-@code{BLOB} ¤ÏÂ礭¤Ê¥Ð¥¤¥Ê¥ê·¿¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ç¡¢²ÄÊÑĹ¤Î¥Ç¡¼¥¿¤òÊÝ»ý¤Ç¤­¤Þ¤¹¡£
-4 ¤Ä¤Î @code{BLOB} ·¿¡¢¤¹¤Ê¤ï¤Á @code{TINYBLOB}, @code{BLOB},
-@code{MEDIUMBLOB} ¤È @code{LONGBLOB} ¤ÏÊÝ»ý¤Ç¤­¤ë¥Ç¡¼¥¿¤ÎºÇÂ獬°ã¤¦¤À¤±¤Ç¤¹¡£
-@xref{Storage requirements}.
-
-4 ¤Ä¤Î @code{TEXT} ·¿¡¢¤¹¤Ê¤ï¤Á @code{TINYTEXT}, @code{TEXT}, @code{MEDIUMTEXT}
-¤È @code{LONGTEXT} ¤Ï 4 ¤Ä¤Î @code{BLOB} ·¿¤ËÂбþ¤·¡¢Æ±¤¸ºÇÂçŤÈ
-³ÊǼ¾ò·ï¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ @code{TEXT} ¤È @code{BLOB} ¤Î°ã¤¤¤Ï¡¢
-@code{TEXT} ¤Ï¥±¡¼¥¹¤Ë°Í¸¤·¤Ê¤¤¤Ç¥½¡¼¥È¤ÈÈæ³Ó¤µ¤ì¡¢
-@code{BLOB} ¤Ï¥±¡¼¥¹¤Ë°Í¸¤·¤Æ(ʸ»ú¥³¡¼¥É¤Ç)Èæ³Ó¤µ¤ì¤ë¤³¤È¤À¤±¤Ç¤¹¡£
-¤¤¤¦¤Ê¤é¤Ð¡¢@code{TEXT} ¤Ï¡¢¥±¡¼¥¹¤Ë°Í¸¤·¤Ê¤¤ @code{BLOB} ¤Ç¤¹¡£
-
-¤â¤· @code{BLOB} ¤ä @code{TEXT} ¥Õ¥£¡¼¥ë¥É¤Ë¤½¤ì¤é¤ÎºÇÂçĹ°Ê¾å¤ÎÃͤ¬Í¿¤¨¤é¤ì¤¿¾ì¹ç¡¢
-¤½¤ÎÃͤϤ­¤Ã¤Á¤ê¼ý¤Þ¤ë¤è¤¦¤ËÀÚ¤êÍî¤È¤µ¤ì¤Þ¤¹¡£
-
-¤Û¤È¤ó¤É¤ÎÅÀ¤Ç¡¢@code{TEXT} ¥Õ¥£¡¼¥ë¥É¤ò @code{VARCHAR} ¤ÎÂ礭¤¤Êª¤È¸«¤Ê¤¹¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
-ƱÍͤˡ¢@code{BLOB} ¥Õ¥£¡¼¥ë¥É¤Ï @code{VARCHAR BINARY} ¥Õ¥£¡¼¥ë¥É¤ÎÂ礭¤¯¤Ê¤Ã¤¿Êª¤Ç¤¹¡£
-°ã¤¤¤Ï¡¢
-
-@itemize @bullet
-@item
-@strong{MySQL} 3.23.2 °Ê¾å¤Ç¤Ï¡¢@code{BLOB} ¤È @code{TEXT} ¹à¤Ë
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Ä¤³¤È¤¬½ÐÍè¤Þ¤¹¡£¤½¤ì°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤â¤Ä¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£
-
-@item
-@code{VARCHAR} ¥Õ¥£¡¼¥ë¥É¤Ç¹Ô¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¤Ï¡¢@code{BLOB} ¤È @code{TEXT} ¥Õ¥£¡¼¥ë¥É¤Î
-Ãͤθå¤í¤Ë¤Ä¤¤¤Æ¤¤¤ëϢ³¤·¤¿¶õÇòʸ»ú¤ÏÀÚ¤êÍî¤È¤µ¤ì¤Þ¤»¤ó¡£
-
-@item
-@cindex Default values, @code{BLOB} and @code{TEXT} columns
-@cindex @code{BLOB} columns, default values
-@cindex @code{TEXT} columns, default values
-@code{BLOB} ¤È @code{TEXT} ¹à¤Ï @code{DEFAULT} Ãͤò»ý¤Ä¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£
-@end itemize
-
-@code{MyODBC} ¤Ï @code{BLOB} ¤ò @code{LONGVARBINARY} ¤È¤·¤Æ¡¢
-@code{TEXT} ¤ò @code{LONGVARCHAR} ¤È¤·¤ÆÄêµÁ¤·¤Þ¤¹¡£
-
-@code{BLOB} ¤È @code{TEXT} ¥Õ¥£¡¼¥ë¥É¤Ï¶Ëü¤ËŤ¤¤Î¤Ç¡¢¤½¤ì¤é¤ò»ÈÍѤ¹¤ëºÝ¤Ë¤Ï¡¢
-¤¤¤¯¤Ä¤«¤Îº¤¤Ã¤¿»ö¤Ë¤Ç¤¯¤ï¤¹¤«¤â¤·¤ì¤Þ¤»¤ó¡§
-
-@itemize @bullet
-@item
-¤â¤· @code{GROUP BY} ¤« @code{ORDER BY} ¤ò @code{BLOB} ¥Õ¥£¡¼¥ë¥É¤ä @code{TEXT} ¥Õ¥£¡¼¥ë¥É
-¤Ç»ÈÍѤ·¤¿¤¤¤Ê¤é¡¢¥Õ¥£¡¼¥ë¥É¤ÎÃͤò¸ÇÄêŤΤâ¤Î¤ËÊÑ´¹¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-ɸ½àŪ¤ÊÊýË¡¤Ï¡¢ @code{SUBSTRING} ´Ø¿ô¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¤¹¡£
-¤¿¤È¤¨¤Ð¡§
-
-@example
-mysql> select comment from tbl_name,substring(comment,20) as substr
- ORDER BY substr;
-@end example
-
-¤â¤·¤³¤ì¤ò¤·¤Ê¤¤¾ì¹ç¡¢¥Õ¥£¡¼¥ë¥É¤ÎºÇ½é¤Î @code{max_sort_length} ¥Ð¥¤¥È¤¬
-¥½¡¼¥È»þ¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ @code{max_sort_length} ¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 1024;
-¤³¤ÎÃÍ¤Ï @code{mysqld} ¥µ¡¼¥Ð¡¼µ¯Æ°»þ¤Ë @code{-O} ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç
-Êѹ¹¤Ç¤­¤Þ¤¹¡£
-¥Õ¥£¡¼¥ë¥É¤Î°ÌÃÖ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¤«¡¢¥¨¥¤¥ê¥¢¥¹¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
- @code{BLOB} ¤ä @code{TEXT} ¤ÎÃÍ¤Ç group ²½¤Ç¤­¤Þ¤¹¡£
-
-@example
-mysql> select id,substring(blob_col,1,100) from tbl_name
- GROUP BY 2;
-mysql> select id,substring(blob_col,1,100) as b from tbl_name
- GROUP BY b;
-@end example
-
-@item
-@code{BLOB} ¤Þ¤¿¤Ï @code{TEXT} ¥ª¥Ö¥¸¥§¥¯¥È¤ÎºÇÂçĹ¤Ï¤½¤Î·¿¤Ë¤è¤ê·èÄꤵ¤ì¤Þ¤¹¤¬¡¢
-¤¢¤Ê¤¿¤¬¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤Î´Ö¤Ç¼ÂºÝ¤ËÁ÷¤ë¤³¤È¤¬¤Ç¤­¤ë¤ÏºÇÂçĹ¤Ï¡¢
-ÍøÍѲÄǽ¤Ê¥á¥â¥êÎ̤ȥ³¥ß¥å¥Ë¥±¡¼¥·¥ç¥ó¥Ð¥Ã¥Õ¥¡¤Î¥µ¥¤¥º¤Ë¤è¤Ã¤Æ·èÄꤵ¤ì¤Þ¤¹¡£
-¥á¥Ã¥»¡¼¥¸¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¤òÊѤ¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤Î¾ì¹ç¡¢¥µ¡¼¥Ð¡¼¤È¥¯¥é¥¤¥¢¥ó¥È¡¢
-ξÊý¶¦¤ËÊѹ¹¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£@xref{Server parameters}.
-@end itemize
-
-¤½¤ì¤¾¤ì¤Î @code{BLOB}, @code{TEXT} ¥Õ¥£¡¼¥ë¥É¤Ï¡¢°ì°Õ¤Î¥¢¥í¥±¡¼¥È¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤è¤Ã¤Æ¡¢
-ÆâÉô¤Ç¤Ïɽ¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤.¡£
-¤³¤ì¤Ï¥Æ¡¼¥Ö¥ë¤¬³«¤«¤ì¤ë¤È¤­¤Ë°ìÅÙ¤À¤±¥¢¥í¥±¡¼¥È¤µ¤ì¤ë¾¤Î¥Õ¥£¡¼¥ë¥É¤È¤ÏÂоÈŪ¤Ç¤¹¡£
-
-@tindex ENUM
-@node ENUM, SET, BLOB, String types
-@subsubsection @code{ENUM} ·¿
-
-@code{ENUM} ¤Ï¥¹¥È¥ê¥ó¥°¥ª¥Ö¥¸¥§¥¯¥È¤Ç¡¢
-¤½¤ÎÃͤϡ¢Ä̾¥Æ¡¼¥Ö¥ëºîÀ®»þ¤Î¥Õ¥£¡¼¥ë¥ÉÄêµÁ¤ÇÎóµó¤µ¤ì¤¿ÃͤÎÃ椫¤éÁª¤Ð¤ì¤Þ¤¹¡£
-
-ÃͤϤ¢¤ë¾õ¶·²¼¤Ç¤Ï ¶õʸ»ú (@code{""}) ¤« @code{NULL} ¤ò¼è¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¤â¤· @code{ENUM} ¤Ë̵¸ú¤ÊÃÍ (Îóµó¤µ¤ì¤Æ¤¤¤ëÃͤÎÃæ¤Ë´Þ¤Þ¤ì¤Ê¤¤Ê¸»ú) ¤ò
-ÂåÆþ¤·¤¿¾ì¹ç¡¢ ¤½¤Î¥¨¥é¡¼¤Ë¤Ê¤ëʸ»ú¤ÎÂå¤ï¤ê¤Ë¶õʸ»ú¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£
-
-@item
-¤â¤· @code{ENUM} ¤¬ @code{NULL} ¤ÈÄêµÁ¤µ¤ì¤¿¾ì¹ç, @code{NULL} ¤Ï¤½¤Î¥Õ¥£¡¼¥ë¥É¤Ç
-µö²Ä¤µ¤ì¤ëÃͤȤʤꡢ¥Ç¥Õ¥©¥ë¥ÈÃͤ¬ @code{NULL} ¤Ë¤Ê¤ê¤Þ¤¹¡£
- ¤â¤· @code{ENUM} ¤¬ @code{NOT NULL} ¤ÈÄêµÁ¤µ¤ì¤¿¤Ê¤é¤Ð¡¢ ¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢
-Îóµó¥ê¥¹¥È¤ÎºÇ½é¤ÎÃͤˤʤê¤Þ¤¹¡£
-@end itemize
-
-Îóµó¤µ¤ì¤¿¤½¤ì¤¾¤ì¤ÎÃͤϥ¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Á¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-Îóµó¥ê¥¹¥È¤ÎÍ×ÁÇ¤Ï 1 ¤«¤éÉÕÈÖ¤µ¤ì¤Þ¤¹¡£
-
-@item
-¶õʸ»ú¥¨¥é¡¼¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹ÃÍ¤Ï 0 ¡£
- ¤³¤ì¤ÏÉÔÀµ¤Ê @code{ENUM} Ãͤ¬Í¿¤¨¤é¤ì¤Æ¤¤¤ë¥ì¥³¡¼¥É¤ò¸«¤Ä¤±¤ë¤¿¤á¤Ë
-°Ê²¼¤Î¤è¤¦¤Ê @code{SELECT} ¹½Ê¸¤¬»ÈÍѤǤ­¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡§
-
-@example
-mysql> SELECT * FROM tbl_name WHERE enum_col=0;
-@end example
-
-@item
-@code{NULL} ¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹ÃÍ¤Ï @code{NULL}.
-@end itemize
-
-¤¿¤È¤¨¤Ð¡¢¥Õ¥£¡¼¥ë¥É¤¬ @code{ENUM("one", "two", "three")} ¤ÈÄêµÁ¤µ¤ì¤¿¤Ê¤é¡¢
-°Ê²¼¤Ë¼¨¤¹Ãͤò¤È¤ê¤Þ¤¹¡£ ¤½¤ì¤¾¤ì¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹Ãͤ⼨¤·¤Þ¤¹¡£
-
-@multitable @columnfractions .2 .8
-@item @strong{ÃÍ} @tab @strong{¥¤¥ó¥Ç¥Ã¥¯¥¹}
-@item @code{NULL} @tab @code{NULL}
-@item @code{""} @tab 0
-@item @code{"one"} @tab 1
-@item @code{"two"} @tab 2
-@item @code{"three"} @tab 3
-@end multitable
-
-Îóµó¤ÏºÇÂç 65535 ¸Ä¤ÎÍ×ÁǤޤDzÄǽ¤Ç¤¹¡£
-
-@code{ENUM} ¥Õ¥£¡¼¥ë¥É¤ËÃͤòÍ¿¤¨¤ë¾ì¹ç¤ÏÂçʸ»ú¾®Ê¸»ú¤Ï̵´Ø·¸¤Ç¤¹¡£
-¤·¤«¤·¡¢¸å¤Ç¥Õ¥£¡¼¥ë¥É¤«¤é¸¡º÷¤µ¤ì¤ëÃͤϡ¢Âçʸ»ú¾®Ê¸»ú¤ò¤â¤Á¤Þ¤¹¡£
-¤³¤ì¤Ï¥Æ¡¼¥Ö¥ëºîÀ®»þ¤ËÍ¿¤¨¤é¤ì¤¿¥ê¥¹¥È¤ÎÃͤǤ¹¡£
-
-¤â¤· @code{ENUM} ¤ò¿ôÃͤÎʸ̮¤Ç¸¡º÷¤·¤¿¾ì¹ç¡¢¤½¤Î¥á¥ó¥Ð¡¼¤òÁ°¤«¤é¿ô¤¨¤¿
-»þ¤Î½çÈÖ¤¬¿ôÃͤÇÊ֤äƤ­¤Þ¤¹¡£
-¤â¤· @code{ENUM} ¤Ë¿ôÃͤòÂåÆþ¤·¤è¤¦¤È¤·¤¿¾ì¹ç¡¢¤½¤Î¿ôÃͤΰÌÃ֤ˤ¢¤ë
-¥á¥ó¥Ð¡¼¤¬ÂåÆþ¤µ¤ì¤Þ¤¹¡£
-(¤·¤«¤·¡¢¤³¤ì¤Ï @code{LOAD DATA} ¤Ç¤ÏƯ¤­¤Þ¤»¤ó¡£¤³¤ì¤Ï¤¹¤Ù¤Æ¤ÎÆþÎϤòʸ»ú
-Îó¤È¤·¤Æ°·¤¤¤Þ¤¹¡£)
-
-@code{ENUM} ÃͤÏÎóµó¥á¥ó¥Ð¤¬¥Õ¥£¡¼¥ë¥É»ØÄê¤Ë¥ê¥¹¥È¤µ¤ì¤¿½ç¤Ë½¾¤Ã¤Æ¥½¡¼¥È¤µ
-¤ì¤Þ¤¹¡£
-(¤Ä¤Þ¤ê¡¢@code{ENUM} Ãͤϥ¤¥ó¥Ç¥Ã¥¯¥¹Ãͤ˽¾¤Ã¤Æ¥½¡¼¥È¤µ¤ì¤Þ¤¹¡£)
-Î㤨¤Ð¡¢@code{ENUM("a", "b")} ¤Ê¤é¤Ð @code{"a"} ¤¬ @code{"b"} ¤ÎÁ°¤Ë¥½¡¼¥È¤µ¤ì¡¢
-@code{ENUM("b", "a")} ¤Ê¤é¤Ð @code{"b"} ¤¬ @code{"a"} ¤ÎÁ°¤Ë¥½¡¼¥È¤µ¤ì¤Þ¤¹¡£
-¶õʸ»úÎó¤Ï¶õ¤Ç¤Ï¤Ê¤¤Ê¸»ú¤ÎÁ°¤Ë¥½¡¼¥È¤µ¤ì¡¢
-@code{NULL} ¤Ï¾¤ÎÎóµó¤ÎÁ°¤ËʤӤޤ¹¡£
-
-@code{ENUM} ¥Õ¥£¡¼¥ë¥É¤Ç»ØÄê²Äǽ¤ÊÃͤΥꥹ¥È¤òÁ´¤Æ¼è¤ê¤¿¤¤¤Ê¤é¤Ð¡¢
-¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-@code{SHOW COLUMNS FROM table_name LIKE enum_column_name}
-¤½¤·¤ÆÆóÈÖÌܤΥե£¡¼¥ë¥É¤Î @code{ENUM} ÄêµÁ¤òʬÀϤ·¤Þ¤¹¡£
-
-@tindex SET
-@node SET, , ENUM, String types
-@subsubsection @code{SET} ·¿
-
-@code{SET} ¤Ïʸ»ú·¿¥ª¥Ö¥¸¥§¥¯¥È¤Ç¥¼¥í¤«¤½¤ì°Ê¾å¤òÃÍ»ý¤Á¤Þ¤¹¡£
-¥Æ¡¼¥Ö¥ëºîÀ®»þ¤Ë¤Ï¡¢¤½¤ì¤¾¤ì¤ÎÃͤϥꥹ¥È¤«¤éÁª¤Ð¤ì¤ë¤Ù¤­¤Ç¤¹¡£
-@code{SET} ·¿¤Î¥Õ¥£¡¼¥ë¥É¤ÎÃͤϡ¢¥³¥ó¥Þ(@samp{,})
-¶èÀÚ¤ê¤Çʤ٤é¤ì¤¿Ê£¿ô¤Î¥á¥ó¥Ð¡¼¤Ç¹½À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢ @code{SET} ¥á¥ó¥Ð¡¼¤ÎÃÍÃæ¤Ë¥³¥ó¥Þ¤ò´Þ¤à¤³¤È¤¬½ÐÍè¤Ê¤¤¡¢
-¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
-
-Î㤨¤Ð¡¢
-@code{SET("one", "two") NOT NULL} ¤È»ØÄꤵ¤ì¤¿¥Õ¥£¡¼¥ë¥É¤Ï°Ê²¼¤ÎÃͤò¤È¤ê¤Þ¤¹¡§
-
-@example
-""
-"one"
-"two"
-"one,two"
-@end example
-
-@code{SET} ¤ÏºÇÂç 64 ¸Ä¤Î°Û¤Ê¤Ã¤¿¥á¥ó¥Ð¡¼¤¬¤â¤Æ¤Þ¤¹¡£
-
-@strong{MySQL} ¤Ï @code{SET} ¤ÎÃͤò¿ôÃͤȤ·¤ÆÂåÆþ¤·¤Þ¤¹¡£ÂåÆþ¤µ¤ì¤¿
-ÃͤκDz¼°Ì¤Î¥Ó¥Ã¥È¤¬ºÇ½é¤Î¥á¥ó¥Ð¡¼¤ËÂбþ¤·¤Þ¤¹¡£¤â¤· @code{SET} Ãͤò
-¿ôÃͤÎʸ̮¤Ç¸¡º÷¤·¤¿¾ì¹ç¡¢¸¡º÷¤µ¤ì¤ëÃͤϥե£¡¼¥ë¥É¤ÎÃͤËÂбþ¤·¤Þ¤¹¡£
-¤â¤·¥á¥ó¥Ð¡¼¤¬ @code{SET} ¥Õ¥£¡¼¥ë¥É¤ËÂåÆþ¤µ¤ì¤¿¾ì¹ç¡¢
-Æó¿Ê¿ô¤Çɽ¤µ¤ì¤ë¿ôÃͤ¬¡¢¥á¥ó¥Ð¡¼¤Î¿ôÃͤȤ·¤Æ·èÄꤵ¤ì¤Þ¤¹¡£
-@code{SET("a","b","c","d")} ¤È¥Õ¥£¡¼¥ë¥É¤¬ÄêµÁ¤µ¤ì¤¿¤È¤·¤Þ¤¹¡£
-¥á¥ó¥Ð¡¼¤Ï°Ê²¼¤Î£²¿Ê¿ô¤ÎÃͤò»ý¤Á¤Þ¤¹¡§
-
-@multitable @columnfractions .2 .2 .6
-@item @code{SET} @strong{member} @tab @strong{10¿Ê¿ô} @tab @strong{£²¿Ê¿ôÃÍ}
-@item @code{a} @tab @code{1} @tab @code{0001}
-@item @code{b} @tab @code{2} @tab @code{0010}
-@item @code{c} @tab @code{4} @tab @code{0100}
-@item @code{d} @tab @code{8} @tab @code{1000}
-@end multitable
-
-¤â¤·¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ë @code{9} ¤òÍ¿¤¨¤¿¾ì¹ç¡¢¤³¤ì¤Ï£²¿Ê¿ô¤Ç @code{1001} ¤Ç¤¹¤«¤é¡¢
-1 ÈÖÌÜ¤È 4 ÈÖÌܤΠ@code{SET} ¥á¥ó¥Ð¡¼¤Ç¤¢¤ë @code{"a"} ¤È @code{"d"} ¤¬
-ÁªÂò¤µ¤ì¡¢·ë²Ì¡¢ @code{"a,d"} ¤È¤Ê¤ê¤Þ¤¹¡£
-
-1¤Ä°Ê¾å¤Î @code{SET} Í×ÁǤò´Þ¤àÃͤˤª¤¤¤Æ¤Ï,¤¢¤Ê¤¿¤¬ÃͤòÁÞÆþ¤¹¤ë¤È¤­,Í×ÁǤ¬¤É¤ó¤Ê
-½ç½ø¤Çµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¤Î¤«¤Ï½ÅÍפǤϤ¢¤ê¤Þ¤»¤ó. ¤Þ¤¿,²¿²óÍ×ÁǤ¬Í¿¤¨¤é¤ì¤¿¤Î¤«¤Ï
-½ÅÍפǤϤ¢¤ê¤Þ¤»¤ó. ¸å¤ÇÃͤ¬¸¡º÷¤µ¤ì¤ë¤È¤­, ÃͤÎÃæ¤Î¤½¤ì¤¾¤ì¤ÎÍ×ÁǤÏ
-¤¿¤À°ì²ó¤À¤±É½¤ì¤Þ¤¹¡£¤½¤Î¤È¤­¡¢¥Æ¡¼¥Ö¥ëºîÀ®»þ¤ËÍ¿¤¨¤é¤ì¤¿½ç¤ËÍ×ÁǤÏʤӤޤ¹¡£
-Î㤨¤Ð¡¢¥Õ¥£¡¼¥ë¥É¤¬ @code{SET("a","b","c","d")} ¤ÈÀßÄꤵ¤ì¤Æ¤¤¤¿¤Ê¤é¡¢
-@code{"a,d"}, @code{"d,a"}, @code{"d,a,a,d,d"} ¤Ï¸¡º÷¤µ¤ì¤ë¤È @code{"a,d"} ¤È
-¤Ê¤ê¤Þ¤¹¡£
-
-@code{SET} ÃͤϿôÃͤȤ·¤ÆÂåÆþ¤µ¤ì¤Þ¤¹¡£
-@code{NULL} ÃͤÏÈó @code{NULL} @code{SET} ÃͤÎÁ°¤Ë¥½¡¼¥È¤µ¤ì¤Þ¤¹¡£
-
-Ä̾@code{LIKE} ¤« @code{FIND_IN_SET()} ¤ò»ÈÍѤ·¤Æ @code{SET} ¥Õ¥£¡¼¥ë¥É
-¤Î @code{SELECT} ¤ò¹Ô¤¤¤Þ¤¹¡§
-
-@example
-mysql> SELECT * FROM tbl_name WHERE set_col LIKE '%value%';
-mysql> SELECT * FROM tbl_name WHERE FIND_IN_SET('value',set_col)>0;
-@end example
-
-¤·¤«¤·¡¢°Ê²¼¤âÆ°ºî¤·¤Þ¤¹¡§
-
-@example
-mysql> SELECT * FROM tbl_name WHERE set_col = 'val1,val2';
-mysql> SELECT * FROM tbl_name WHERE set_col & 1;
-@end example
-
-ºÇ½é¤Îʸ¤Ï´°Á´°ìÃפ¹¤ë¤â¤Î¤òõ¤·¤Þ¤¹¡£
-Æó¤ÄÌܤÏÂè°ìÈÖÌܤΥá¥ó¥Ð¡¼¤ò´Þ¤àÃͤòõ¤·¤Þ¤¹¡£
-
-¤â¤· @code{SET} ¥Õ¥£¡¼¥ë¥É¤ÇÀßÄê²Äǽ¤Ê¤¹¤Ù¤Æ¤Î¥á¥ó¥Ð¡¼¤òÃΤꤿ¤¤¾ì¹ç¡§
- @code{SHOW COLUMNS FROM table_name LIKE set_column_name} ¤È¤·¡¢
-£²ÈÖÌܤˤ¢¤é¤ï¤µ¤ì¤ë @code{SET} ÄêµÁ¤òʬÀϤ·¤Þ¤¹¡£
-
-@cindex Types, choosing
-@cindex Choosing types
-@node Choosing types, Indexes, String types, Column types
-@subsection Àµ¤·¤¤¥Õ¥£¡¼¥ë¥É·¿¤ÎÁªÂò
-
-¤â¤Ã¤È¤â¸úΨ¤è¤¯³ÊǼ¤¹¤ë¤Ë¤Ï¡¢Á´¤Æ¤Ë¤ª¤¤¤Æ°ìÈÖÀµ³Î¤Ê·¿¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¤¹¡£
-Î㤨¤Ð¡¢@code{1}-@code{99999} ¤ÎÀ°¿ô
-¤Ë¤Ï¡¢@code{MEDIUMINT UNSIGNED} ¤¬ºÇÎɤη¿¤Ç¤¹¡£
-
-Îɤ¯¤¢¤ëÌäÂê¤Ï¡¢²ßʾ¤ÎÃͤÎÀµ³Î¤Êɽ¸½¤Ç¤¹¡£@strong{MySQL} ¤Ç¤Ï
-@code{DECIMAL} ·¿¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£¤³¤ì¤Ïʸ»úÎó¤È¤·¤Æ³ÊǼ¤·¡¢Àµ³Î¤µ¤Î¥í
-¥¹¤ÏȯÀ¸¤·¤Þ¤»¤ó¡£Àµ³Î¤µ¤¬½ÅÍפǤʤ¤¾ì¹ç¤Ï @code{DOUBLE} ·¿¤Ç¤â½½Ê¬Îɤ¤
-¤Ç¤¹¡£
-
-¹âÀºÅ٤Τ¿¤á¡¢¾ï¤Ë @code{BITINT} ¤Ë³ÊǼ¤µ¤ì¤ë¸ÇÄê¾®¿ôÅÀ·¿¤ËÊÑ´¹¤Ç¤­¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢Á´¤Æ¤Î·×»»¤òÀ°¿ô¤Ç¹Ô¤Ê¤¦¤è¤¦¤Ë¤·¡¢·ë²Ì¤À¤±¤òÉâÆ°¾®¿ôÅÀ¤ËÊÑ´¹¤·¤Æ
-Ìᤷ¤Þ¤¹¡£
-
-@cindex Indexes
-@cindex Keys
-@node Indexes, Multiple-column indexes, Choosing types, Column types
-@subsection ¥Õ¥£¡¼¥ë¥É¥¤¥ó¥Ç¥Ã¥¯¥¹
-
-@strong{MySQL} ¤ÎÁ´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-ŬÀڤʥե£¡¼¥ë¥É¤Ç¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î»ÈÍѤϡ¢@code{SELECT} ¤Î
-À­Ç½¤ò¸þ¾å¤¹¤ëºÇÎɤÎÊýË¡¤Ç¤¹¡£
-
-°ì¤Ä¤Î¥Æ¡¼¥Ö¥ë¤Ë¤ÏºÇÂç16¸Ä¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬µö¤µ¤ì¤Þ¤¹¡£
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎºÇÂçŤÏ256¥Ð¥¤¥È¤Ç¡¢
-¤³¤ì¤Ï @strong{MySQL} ¥³¥ó¥Ñ¥¤¥ë»þ¤ËÊѹ¹¤Ç¤­¤Þ¤¹¡£
-
-@code{CHAR} ¤È @code{VARCHAR} ¥Õ¥£¡¼¥ë¥É¤Ë¤ÏÀÜƬÉô¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¥Õ¥£¡¼¥ë¥ÉÁ´ÂΤò¥¤¥ó¥Ç¥Ã¥¯¥¹²½¤¹¤ë¤è¤ê¡¢
-¤³¤ì¤Ï¤Ï¤ë¤«¤ËÁ᤯¡¢¾¯¤Ê¤¤¥Ç¥£¥¹¥¯ÍÆÎ̤ǤǤ­¤Þ¤¹¡£
-
-@code{CREATE TABLE} ¹½Ê¸¤Ç¥Õ¥£¡¼¥ë¥É¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òºî¤ë¤Ë¤Ï¡¢
-°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-KEY index_name (col_name(length))
-@end example
-
-°Ê²¼¤ÎÎã¤Ï @code{name} ¥Õ¥£¡¼¥ë¥É¤ÎºÇ½é¤Î10ʸ»ú¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÁϤê½Ð¤·¤Þ¤¹:
-
-@example
-mysql> CREATE TABLE test (
- name CHAR(200) NOT NULL,
- KEY index_name (name(10)));
-@end example
-
- @code{BLOB} ¤È @code{TEXT} ¥Õ¥£¡¼¥ë¥É¤Ç¤Ï¡¢¤½¤Î¥Õ¥£¡¼¥ë¥É¤ÎƬ¤ÎÉôʬ¤Ë
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÄ¥¤é¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ ¥Õ¥£¡¼¥ë¥É¤ÎÁ´ÂΤ˥¤¥ó¥Ç¥Ã¥¯¥¹¤ÏÄ¥¤ì¤Þ¤»¤ó¡£
-
-
-@node Multiple-column indexes, Other-vendor column types, Indexes, Column types
-@subsection Ê£¿ô¥Õ¥£¡¼¥ë¥É¥¤¥ó¥Ç¥Ã¥¯¥¹
-
-@strong{MySQL} ¤Ï°Û¤Ê¤ë¥Õ¥£¡¼¥ë¥É¤Î¥»¥Ã¥È¤Ë°ì¤Ä¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÏºÇÂç15¸Ä¤Î¥³¥é¥à¤Þ¤Çµö¤µ¤ì¤Þ¤¹¡£
-(@code{CHAR} ¤È @code{VARCHAR} ¥Õ¥£¡¼¥ë¥É¤ÎÀÜƬÉô¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹)
-
-Ê£¿ô¥Õ¥£¡¼¥ë¥É¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¡¢
-¥½¡¼¥È¤µ¤ì¤¿ÇÛÎó(¥¤¥ó¥Ç¥Ã¥¯¥¹²½¤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¤ÎÃͤ¬·ë¹ç¤µ¤ì¤Æ¤¤¤ëÇÛÎó)
-¡¡¤ò°·¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-¥¤¥ó¥Ç¥Ã¥¯¥¹²½¤µ¤ì¤¿¥³¥é¥à¤ËÂФ·¤Æ¡¢´ûÃΤÎÃͤò @code{WHERE} Àá¤Ç»ØÄꤷ¤¿»þ¡¢
-¤¿¤È¤¨Â¾¤Î¥Õ¥£¡¼¥ë¥É¤ÎÃͤò»ØÄꤷ¤Ê¤¯¤È¤â¡¢
-@strong{MySQL} ¤ÏÊ£¿ô¥Õ¥£¡¼¥ë¥É¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤Þ¤¹¡£
-
-°Ê²¼¤Î¥Æ¡¼¥Ö¥ë¤¬¤¢¤ë¤È²¾Äꤷ¤Æ¤¯¤À¤µ¤¤¡§
-
-@example
-mysql> CREATE TABLE test (
- id INT NOT NULL,
- last_name CHAR(30) NOT NULL,
- first_name CHAR(30) NOT NULL,
- PRIMARY KEY (id),
- INDEX name (last_name,first_name));
-@end example
-
-@code{name} ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¡¢@code{last_name} ¤È @code{first_name} ¤Ë¤Þ¤¿¤¬¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤¹¡£
-¤³¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¡¢@code{last_name} ¤ËÂФ¹¤ë¥¯¥¨¥ê¤ä¡¢
-@code{name} ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï°Ê²¼¤Î¥¯¥¨¥ê¤Ç»È¤ï¤ì¤Þ¤¹¡§
-
-@example
-mysql> SELECT * FROM test WHERE last_name="Widenius";
-
-mysql> SELECT * FROM test WHERE last_name="Widenius"
- AND first_name="Michael";
-
-mysql> SELECT * FROM test WHERE last_name="Widenius"
- AND (first_name="Michael" OR first_name="Monty");
-
-mysql> SELECT * FROM test WHERE last_name="Widenius"
- AND first_name >="M" AND first_name < "N";
-@end example
-
-¤·¤«¤· @code{name} ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï°Ê²¼¤Î¥¯¥¨¥ê¤Ç¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó:
-
-@example
-mysql> SELECT * FROM test WHERE first_name="Michael";
-
-mysql> SELECT * FROM test WHERE last_name="Widenius"
-¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡OR first_name="Michael";
-@end example
-
-@strong{MySQL} ¤¬¥¯¥¨¥ê¤ÎÀ­Ç½¤ò¾å¤²¤ë¤¿¤á¤Ë¤É¤¦¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¤«¡¢
-¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï¤³¤Á¤é¡§ @ref{MySQL indexes, , @strong{MySQL} indexes}.
-
-
-@cindex Type portability
-@node Other-vendor column types, , Multiple-column indexes, Column types
-@subsection ¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥¨¥ó¥¸¥ó¤Î¥Õ¥£¡¼¥ë¥É·¿¤Î»ÈÍÑ
-
-¤Û¤«¤Î¥Ù¥ó¥À¡¼¤«¤éSQL¤ò´Êñ¤Ë½ñ¤±¤ì¤ë¤è¤¦¤Ë¡¢ @strong{MySQL} ¤Ï°Ê²¼¤Îɽ¤Ë
-¤·¤á¤¹¥Õ¥£¡¼¥ë¥É·¿¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤³¤ì¤é¤Ï¡¢¥Æ¡¼¥Ö¥ë¤ÎÄêµÁ¤ò¡¢
-¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥¨¥ó¥¸¥ó¤«¤é @strong{MySQL} ¤Ë´Êñ¤Ë°Ü¹Ô¤µ¤»¤Æ¤¯¤ì¤Þ¤¹¡§
-
-@multitable @columnfractions .4 .6
-@item @strong{Other vendor type} @tab @strong{MySQL type}
-@item @code{BINARY(NUM)} @tab @code{CHAR(NUM) BINARY}
-@item @code{CHAR VARYING(NUM)} @tab @code{VARCHAR(NUM)}
-@item @code{FLOAT4} @tab @code{FLOAT}
-@item @code{FLOAT8} @tab @code{DOUBLE}
-@item @code{INT1} @tab @code{TINYINT}
-@item @code{INT2} @tab @code{SMALLINT}
-@item @code{INT3} @tab @code{MEDIUMINT}
-@item @code{INT4} @tab @code{INT}
-@item @code{INT8} @tab @code{BIGINT}
-@item @code{LONG VARBINARY} @tab @code{MEDIUMBLOB}
-@item @code{LONG VARCHAR} @tab @code{MEDIUMTEXT}
-@item @code{MIDDLEINT} @tab @code{MEDIUMINT}
-@item @code{VARBINARY(NUM)} @tab @code{VARCHAR(NUM) BINARY}
-@end multitable
-
-¤â¤·Â¾¤Î¥Ù¥ó¥À¡¼¤Î·¿¤ò»ÈÍѤ·¤Æ¥Æ¡¼¥Ö¥ë¤òºî¤í¤¦¤È¤¹¤ë¤È¡¢
-¥Æ¡¼¥Ö¥ëºîÀ®»þ¤Î¥Õ¥£¡¼¥ë¥É¤Î·¿¤Î¥Þ¥Ã¥Ô¥ó¥°¤¬È¯À¸¤·¡¢
-@code{DESCRIBE tbl_name} ¹½Ê¸¤òȯ¹Ô¤·¤Þ¤¹¡£
-¤½¤·¤Æ @strong{MySQL} ¤Ï¡¢»ÈÍѤµ¤ì¤¿·¿¤ÈÅù²Á¤Ê @strong{MySQL} ¤Î·¿¤òÍѤ¤¤Æ
-¥Æ¡¼¥Ö¥ë¤ò¹½À®¤·¤¿¤³¤È¤ò¹ð¤²¤Þ¤¹¡£
-
-@cindex Functions for @code{SELECT} and @code{WHERE} clauses
-@node Functions, CREATE DATABASE, Column types, Reference
-@section @code{SELECT} ¤È @code{WHERE} Àá¤Ç»ÈÍѤ¹¤ë´Ø¿ô
-
-SQL ¥¹¥Æ¡¼¥È¥á¥ó¥ÈÃæ¤Î @code{select_expression} ¤Þ¤¿¤Ï
-@code{where_definition} ¤Ï¸å½Ò¤Î´Ø¿ô¤ò»ÈÍѤ·¤¿Ç¤°Õ¤Î¼°¤«¤é¤Ê¤ê¤Þ¤¹¡£
-
-±é»»¤È´Ø¿ô¤ò¼°¤ÎÃæ¤Ç¸Æ¤Ö»þ¡¢Ëܥɥ­¥å¥á¥ó¥È¤Ë¼¨¤·¤Æ¤¤¤ë¤â¤Î°Ê³°¤Î¡¢
-@code{NULL} ¤ò´Þ¤à¼°¤Ï¾ï¤Ë @code{NULL} ÃͤòÀ¸À®¤·¤Þ¤¹
-
-@strong{Ãí°Õ:} ´Ø¿ô̾¤È¤½¤ì¤Ë³¤¯¸ì¶ç¤Î´Ö¤Ë¤Ï¡¢¶õÇò¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¤³¤ì¤Ï´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¤È¡¢´Ø¿ô¤ÈƱ̾¤Î¥Æ¡¼¥Ö¥ë(¤«¥Õ¥£¡¼¥ë¥É)¤Î»²¾È¤ò¡¢
- @strong{MySQL} ¥Ñ¡¼¥µ¤¬¶èÊ̤¹¤ë¤Î¤ò½õ¤±¤Þ¤¹¡£
-
-@need 2000
-¼¡¤ÎÎã¤Ç¤Ï¡¢@code{mysql} ¥×¥í¥°¥é¥à¤Î½ÐÎϤÏû¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê:
-
-@example
-mysql> select MOD(29,9);
-1 rows in set (0.00 sec)
-
-+-----------+
-| mod(29,9) |
-+-----------+
-| 2 |
-+-----------+
-@end example
-
-¤³¤ì¤Ï¼¡¤ËÊÑ´¹¤µ¤ì¤Æ¤¤¤Þ¤¹:
-
-@example
-mysql> select MOD(29,9);
- -> 2
-@end example
-
-@menu
-* Grouping functions:: Grouping functions
-* Arithmetic functions:: Normal arithmetic operations
-* Bit functions:: Bit functions
-* Logical functions:: Logical operations
-* Comparison functions:: Comparison operators
-* String comparison functions:: String comparison functions
-* Control flow functions:: Control flow functions
-* Casts:: Cast operators
-* Mathematical functions:: Mathematical functions
-* String functions:: String functions
-* Date and time functions:: Date and time functions
-* Miscellaneous functions:: Miscellaneous functions
-* Group by functions:: Functions for @code{GROUP BY} clause
-@end menu
-
-@node Grouping functions, Arithmetic functions, Functions, Functions
-@subsection ¥°¥ë¡¼¥×²½´Ø¿ô
-@cindex Grouping of expressions
-@table @code
-
-@findex () (parentheses)
-@findex parentheses ( and )
-@item ( ... )
-´Ý¤«¤Ã¤³¡£ ¼°¤Îɾ²Á¤ÎÍ¥ÀèÅÙ¤ò¶¯À©¤¹¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£
-@example
-mysql> select 1+2*3;
- -> 7
-mysql> select (1+2)*3;
- -> 9
-@end example
-@end table
-
-@node Arithmetic functions, Bit functions, Grouping functions, Functions
-@subsection Ä̾ï¤Î»»½Ñ±é»»
-
-ÉáÄ̤λ»½Ñ±é»»¤¬Í­¸ú¤Ç¤¹¡£
-@code{-}, @code{+}, @code{*} ¤Ï¡¢Æó¤Ä¤Î°ú¿ô¤¬Àµ¿ô¤Ê¤é¤Ð
- @code{BIGINT} (64bitÀºÅÙ) ¤Ç·×»»¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡ª
-
-@cindex Arithmetic expressions
-@table @code
-@findex + (addition)
-@findex addition (+)
-@item +
-­¤·»»
-@example
-mysql> select 3+5;
- -> 8
-@end example
-
-@findex - (subtraction)
-@findex subtraction (-)
-@item -
-°ú¤­»»
-@example
-mysql> select 3-5;
- -> -2
-@end example
-
-@findex * (multiplication)
-@findex multiplication (*)
-@item *
-³Ý¤±»»
-@example
-mysql> select 3*5;
- -> 15
-mysql> select 18014398509481984*18014398509481984.0;
- -> 324518553658426726783156020576256.0
-mysql> select 18014398509481984*18014398509481984;
- -> 0
-@end example
-
-ºÇ¸å¤Î¼°¤Î·ë²Ì¤ÏÉÔÅö¤Ç¤¹¡£¤Ê¤¼¤Ê¤é·ë²Ì¤Ï 64 ¥Ó¥Ã¥È¤òĶ¤¨¤¿À°¿ô¤À¤«¤é¤Ç¤¹¡£
-
-@findex / (division)
-@findex division (/)
-@item /
-³ä¤ê»»¡£
-@example
-mysql> select 3/5;
- -> 0.60
-@end example
-
-0 ¤Ç³ä¤Ã¤¿¾ì¹ç¡¢@code{NULL} ¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@example
-mysql> select 102/(1-1);
- -> NULL
-@end example
-
-±é»»·ë²Ì¤¬À°¿ô¤Ë¤Ê¤ë¾ì¹ç¤Ë¤À¤±¡¢ @code{BIGINT} ¤òÍѤ¤¤Æ³ä¤ê»»¤Ï·×»»¤µ¤ì¤Þ¤¹¡£
-@end table
-
-@findex Arithmetic functions
-@findex Bit functions
-@findex Functions, arithmetic
-@findex Functions, bit
-@node Bit functions, Logical functions, Arithmetic functions, Functions
-@subsection ¥Ó¥Ã¥È´Ø¿ô
-
-¤³¤ì¤é¤ÏºÇÂç 64 ¥Ó¥Ã¥È¤ÎÈϰϤò»ý¤Á¤Þ¤¹¡£@strong{MySQL} ¤Ï @code{BIGINT} (64-bit) ±é»»¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ç¤¹¡£
-
-@table @code
-@findex | (bitwise OR)
-@findex OR, bitwise
-@item |
-¥Ó¥Ã¥È±é»» OR
-@example
-mysql> select 29 | 15;
- -> 31
-@end example
-
-@findex & (bitwise AND)
-@findex AND, bitwise
-@item &
-¥Ó¥Ã¥È±é»» AND
-@example
-mysql> select 29 & 15;
- -> 13
-@end example
-
-@findex << (left shift)
-@item <<
-º¸¤Ë longlong (@code{BIGINT}) number ʬ¡¢¥Ó¥Ã¥È¤ò¥·¥Õ¥È¤·¤Þ¤¹
-@example
-mysql> select 1 << 2
- -> 4
-@end example
-
-@findex >> (right shift)
-@item >>
-±¦¤Ë longlong (@code{BIGINT}) number ʬ¡¢¥Ó¥Ã¥È¤ò¥·¥Õ¥È¤·¤Þ¤¹
-@example
-mysql> select 4 >> 2
- -> 1
-@end example
-
-@findex ~
-@item ~
-Invert all bits.
-@example
-mysql> select 5 & ~1
- -> 4
-@end example
-
-@findex BIT_COUNT()
-@item BIT_COUNT(N)
-°ú¿ô @code{N} ¤¬¤¤¤¯¤Ä¥Ó¥Ã¥È¤ò»ý¤Ã¤Æ¤¤¤ë¤«(£²¿Ê¿ôɽµ­¤·¤¿¤È¤­¤Î£±¤Î¿ô)
-@example
-mysql> select BIT_COUNT(29);
- -> 4
-@end example
-@end table
-
-@findex Logical functions
-@node Logical functions, Comparison functions, Bit functions, Functions
-@subsection ÏÀÍý±é»»
-
-Á´¤Æ¤ÎÏÀÍý´Ø¿ô¤Ï @code{1} (TRUE) or @code{0} (FALSE) ¤òÊÖ¤·¤Þ¤¹¡£
-
-@table @code
-@findex NOT, logical
-@findex ! (logical NOT)
-@item NOT
-@itemx !
-ÏÀÍýÈÝÄê¡£°ú¿ô¤¬ @code{0} ¤Ê¤é @code{1} ¤òÊÖ¤·¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤Ð @code{0} ¤òÊÖ¤·¤Þ¤¹¡£
-Îã³°: @code{NOT NULL} ¤Ï @code{NULL} ¤òÊÖ¤·¤Þ¤¹.
-@example
-mysql> select NOT 1;
- -> 0
-mysql> select NOT NULL;
- -> NULL
-mysql> select ! (1+1);
- -> 0
-mysql> select ! 1+1;
- -> 1
-@end example
-ºÇ¸å¤ÎÎã¤Ï @code{1} ¤òÊÖ¤·¤Þ¤¹¡£¤Ê¤¼¤Ê¤é¡¢¼°¤Îɾ²Á¤¬
- @code{(!1)+1} ¤ÈƱ¤¸¤À¤«¤é¤Ç¤¹¡£
-
-@findex OR, logical
-@findex || (logical OR)
-@item OR
-@itemx ||
-ÏÀÍýÏ¡£°ú¿ô¤Î¤É¤ì¤«¤¬ @code{0} ¤Þ¤¿¤Ï @code{NULL} ¤Ç¤Ê¤±¤ì¤Ð @code{1} ¤òÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select 1 || 0;
- -> 1
-mysql> select 0 || 0;
- -> 0
-mysql> select 1 || NULL;
- -> 1
-
-@end example
-
-@findex AND, logical
-@findex && (logical AND)
-@item AND
-@itemx &&
-ÏÀÍýÀÑ¡£Á´¤Æ¤Î°ú¿ô¤¬ @code{0} ¤Þ¤¿¤Ï @code{NULL} ¤Ç¤Ê¤±¤ì¤Ð @code{1} ¤òÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select 1 && NULL;
- -> 0
-mysql> select 1 && 0;
- -> 0
-@end example
-@end table
-
-@cindex Casts
-@cindex Type conversions
-@findex Comparison operators
-@node Comparison functions, String comparison functions, Logical functions, Functions
-@subsection Èæ³Ó±é»»»Ò
-
-@code{1} (TRUE), @code{0} (FALSE) ¤Þ¤¿¤Ï @code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£
-¤³¤ì¤é¤Î´Ø¿ô¤Ï¿ôÃͤÈʸ»úÎó¤ÎξÊý¤ÇƯ¤­¤Þ¤¹¡£
-ɬÍפʤé¤Ð¡¢Ê¸»ú¤Ï¼«Æ°Åª¤Ë¿ô»ú¤ËÊÑ´¹¤µ¤ì¡¢¿ô»ú¤Ïʸ»ú¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£
-(Perl¤¬¤ª¤³¤Ê¤Ã¤Æ¤¤¤ë¤ß¤¿¤¤¤Ë)
-
-@strong{MySQL} ¤Ï°Ê²¼¤Îµ¬Â§¤ÇÈæ³Ó¤ò¹Ô¤¤¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¤É¤Á¤é¤«¤Þ¤¿¤ÏξÊý¤Î°ú¿ô¤¬ @code{NULL} ¤Î¾ì¹ç¤Ï¡¢Èæ³Ó·ë²Ì¤Ï @code{NULL}
-¤Ç¤¹¡£@code{<=>} ±é»»»Ò¤ò½ü¤­¤Þ¤¹¡£
-
-@item
-Èæ³ÓÁàºî¤ÎξÊý¤Î°ú¿ô¤¬Ê¸»úÎó¤Î¾ì¹ç¡¢Ê¸»úÎó¤È¤·¤ÆÈæ³Ó¤µ¤ì¤Þ¤¹¡£
-
-@item
-ξÊý¤Î°ú¿ô¤¬À°¿ô¤Î¾ì¹ç¡¢À°¿ô¤È¤·¤ÆÈæ³Ó¤µ¤ì¤Þ¤¹¡£
-
-@item
-16¿Ê¿ô¤ÎÃͤϡ¢¤â¤·¿ôÃͤÈÈæ³Ó¤µ¤ì¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢Ê¸»úÎó¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
-
-@item
-@cindex ODBC compatibility
-@cindex Compatibility, with ODBC
-°ú¿ô¤Î°ìÊý¤¬ @code{TIMESTAMP} ¤Þ¤¿¤Ï @code{DATETIME} ¥Õ¥£¡¼¥ë¥É¤Ç¡¢Â¾¤Î°ú¿ô¤¬
-Äê¿ô¤Î¾ì¹ç¤Ï¡¢Äê¿ô¤ÏÈæ³ÓÁ°¤Ë timestamp ¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¤è¤ê ODBC
-¥Õ¥ì¥ó¥É¥ê¤Ë¤¹¤ë¤¿¤á¤Ç¤¹¡£
-
-@item
-¾¤Î¾ì¹ç¤ÏÁ´¤ÆÉâÆ°¾®¿ôÅÀ(real)¤È¤·¤ÆÈæ³Ó¤µ¤ì¤Þ¤¹¡£
-@end itemize
-
-ʸ»úÎó¤ÎÈæ³Ó¤Ï¡¢¥±¡¼¥¹¤Ë°Í¸¤»¤º¡¢É¸½à¤Î¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¤Ë½¾¤Ã¤Æ
-¹Ô¤ï¤ì¤Þ¤¹¡£(ISO-8859-1 Latin1 ¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£¤³¤ì¤Ï English ¤Ç¤¹)
-
-°Ê²¼¤Ï¡¢Èæ³Ó¤Î¤¿¤á¤Ëʸ»ú¤¬¿ôÃͤØÊÑ´¹¤µ¤ì¤Æ¤¤¤ëÎã¤Ç¤¹¡§
-
-@example
-mysql> SELECT 1 > '6x';
- -> 0
-mysql> SELECT 7 > '6x';
- -> 1
-mysql> SELECT 0 > 'x6';
- -> 0
-mysql> SELECT 0 = 'x6';
- -> 1
-@end example
-
-@table @code
-@findex = (equal)
-@findex equal (=)
-@item =
-Åù¤·¤¤
-@example
-mysql> select 1 = 0;
- -> 0
-mysql> select '0' = 0;
- -> 1
-mysql> select '0.0' = 0;
- -> 1
-mysql> select '0.01' = 0;
- -> 0
-mysql> select '.01' = 0.01;
- -> 1
-@end example
-
-@findex <> (not equal)
-@findex not equal (<>)
-@findex != (not equal)
-@findex not equal (!=)
-@item <>
-@itemx !=
-Åù¤·¤¯¤Ê¤¤
-@example
-mysql> select '.01' <> '0.01';
- -> 1
-mysql> select .01 <> '0.01';
- -> 0
-mysql> select 'zapp' <> 'zappp';
- -> 1
-@end example
-
-@findex <= (less than or equal)
-@findex less than or equal (<=)
-@item <=
-¤è¤ê¾®¤µ¤¤¤«Åù¤·¤¤
-@example
-mysql> select 0.1 <= 2;
- -> 1
-@end example
-
-@findex < (less than)
-@findex less than (<)
-@item <
-¤è¤ê¾®¤µ¤¤
-@example
-mysql> select 2 <= 2;
- -> 1
-@end example
-
-@findex >= (greater than or equal)
-@findex greater than or equal (>=)
-@item >=
-¤è¤êÂ礭¤¤¤«Åù¤·¤¤
-@example
-mysql> select 2 >= 2;
- -> 1
-@end example
-
-@findex > (greater than)
-@findex greater than (>)
-@item >
-¤è¤êÂ礭¤¤
-@example
-mysql> select 2 > 2;
- -> 0
-@end example
-
-@findex <=> (Equal to)
-@item <=>
-Åù¤·¤¤(NULL °ÂÁ´)
-@example
-mysql> select 1 <=> 1, NULL <=> NULL, 1 <=> NULL;
- -> 1 1 0
-@end example
-
-@findex IS NULL
-@findex IS NOT NULL
-@item IS NULL
-@itemx IS NOT NULL
-Ãͤ¬ @code{NULL} ¤È¤Ç¤¢¤ë¤«¤É¤¦¤«¤Î¥Æ¥¹¥È
-@example
-mysql> select 1 IS NULL, 0 IS NULL, NULL IS NULL:
- -> 0 0 1
-mysql> select 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL;
- -> 1 1 0
-@end example
-
-@findex BETWEEN ... AND
-@item expr BETWEEN min AND max
-¤â¤· @code{expr} ¤¬ @code{min} °Ê¾å¡¢ @code{max} °Ê²¼¤Ê¤é @code{1}¤òÊÖ¤·¤Þ¤¹¡£
-¤½¤¦¤Ç¤Ê¤¤¤Ê¤é @code{0} ¤òÊÖ¤·¤Þ¤¹¡£
-¤³¤ì¤Ï Á´¤Æ¤Î°ú¿ô¤¬Æ±¤¸·¿¤Ê¤é¤Ð¡¢@code{(min <= expr AND expr <= max)} ¤ÈƱ¤¸¤Ç¤¹¡£
- ºÇ½é¤Î°ú¿ô (@code{expr}) ¤Ï¤¤¤«¤Î¤è¤¦¤ËÈæ³ÓÊýË¡¤ò·èÄꤷ¤Þ¤¹¡£
-
-@itemize @bullet
-@item
-¤â¤· @code{exor} ¤¬ @code{TIMESTAMP}, @code{DATE}, @code{DATETIME} ¥Õ¥£¡¼
-¥ë¥É¤Ê¤é¡¢ºÇ¾®¤ÈºÇÂç¤Ï¤½¤ì¤é¤¬Äê¿ô¤Î¾ì¹ç¤ÈƱ¤¸¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¤Ê¤ê¤Þ¤¹¡£
-@item
-¤â¤· @code{expr} ¤¬Ê¸»ú¼°¤Ê¤é¡¢¥±¡¼¥¹Èó°Í¸¤ÇÈæ³Ó¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
-@item
-¤â¤· @code{expr} ¤¬¥Ð¥¤¥Ê¥êʸ»ú¤Ê¤é¡¢¥±¡¼¥¹°Í¸¤ÇÈæ³Ó¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
-@item
-¤â¤· @code{expr} ¤¬À°¿ô¤Ê¤é¡¢À°¿ô¤ÇÈæ³Ó¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
-@item
-¤½¤Î¾¤ÏÉâÆ°¾®¿ôÅÀ(¼Â¿ô)¤ÇÈæ³Ó¤µ¤ì¤Þ¤¹¡£
-@end itemize
-
-@example
-mysql> select 1 BETWEEN 2 AND 3;
- -> 0
-mysql> select 'b' BETWEEN 'a' AND 'c';
- -> 1
-mysql> select 2 BETWEEN 2 AND '3';
- -> 1
-mysql> select 2 BETWEEN 2 AND 'x-3';
- -> 0
-@end example
-
-@findex IN
-@item expr IN (value,...)
-¤â¤· @code{expr} ¤¬ @code{IN} ¥ê¥¹¥È¤Ë¤¢¤ëÃͤΤɤ줫¤Ê¤é¤Ð¡¢@code{1} ¤òÊÖ¤·¤Þ¤¹¡£
-¤½¤¦¤Ç¤Ê¤±¤ì¤Ð @code{0} ¤òÊÖ¤·¤Þ¤¹¡£
-¤â¤·Á´¤Æ¤ÎÃͤ¬Äê¿ô¤Ê¤é¡¢¤¹¤Ù¤Æ¤ÎÃͤ¬ @code{expr} ¤Î·¿¤Ë½¾¤Ã¤Æɾ²Á¤µ¤ì¡¢
-¥½¡¼¥È¤µ¤ì¤Þ¤¹¡£¤³¤Î¸¡º÷¤Ë¤Ï¥Ð¥¤¥Ê¥ê¥µ¡¼¥Á¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï @code{IN} ¥ê¥¹¥È¤ËÄê¿ô¤òÍ¿¤¨¤¿¾ì¹ç¡¢@code{IN} ¤¬Â®¤¯¤Ê¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-¤â¤· @code{expr} ¤¬¥±¡¼¥¹°Í¸¤Îʸ»ú¼°¤Ê¤é¡¢¥±¡¼¥¹°Í¸¤Î¤ä¤êÊý¤ÇÈæ³Ó¤µ¤ì¤Þ¤¹¡£
-@example
-mysql> select 2 IN (0,3,5,'wefwf');
- -> 0
-mysql> select 'wefwf' IN (0,3,5,'wefwf');
- -> 1
-@end example
-
-@findex NOT IN
-@item expr NOT IN (value,...)
-@code{NOT (expr IN (value,...))} ¤ÈƱ¤¸¡£
-
-@findex ISNULL()
-@item ISNULL(expr)
-@code{expr} ¤¬ @code{NULL} ¤Ê¤é @code{1} ¤ò¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤Ð @code{0} ¤òÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select ISNULL(1+1);
- -> 0
-mysql> select ISNULL(1/0);
- -> 1
-@end example
-
-@code{NULL} ¤ÎÃͤò @code{=} ¤ò»ÈÍѤ·¤ÆÈæ³Ó¤·¤¿¾ì¹ç¤Ï¾ï¤Ëµ¶(false) ¤È¤Ê¤ë¤³¤È¤Ë
-Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡ª
-
-@findex COALESCE()
-@item COALESCE(list)
-list Ãæ¤Î¡¢ºÇ½é¤Ë¸½¤ì¤¿ Èó-@code{NULL} Í×ÁǤòÊÖ¤·¤Þ¤¹¡£
-
-@example
-mysql> select COALESCE(NULL,1);
- -> 1
-mysql> select COALESCE(NULL,NULL,NULL);
- -> NULL
-@end example
-
-@findex INTERVAL()
-@item INTERVAL(N,N1,N2,N3,...)
-¤â¤· @code{N} < @code{N1} ¤Ê¤é @code{0} ¤òÊÖ¤·¤Þ¤¹¡£
-¤â¤· @code{N} < @code{N2} ¤Ê¤é @code{1} ¤òÊÖ¤·¤Þ¤¹¡£
-Á´¤Æ¤Î°ú¿ô¤ÏÀ°¿ô¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï @code{N1} < @code{N2} < @code{N3} < @code{...} < @code{Nn}¤òÀµ¤·¤¯Æ°ºî¤µ¤»¤ë¤¿¤á¤Ë
-ɬÍפʤ³¤È¤Ç¤¹¡£¤³¤ì¤Ï¥Ð¥¤¥Ê¥ê¸¡º÷¤¬»ÈÍѤµ¤ì¤Þ¤¹(®¤¤¤Ç¤¹)
-
-@example
-mysql> select INTERVAL(23, 1, 15, 17, 30, 44, 200);
- -> 3
-mysql> select INTERVAL(10, 1, 10, 100, 1000);
- -> 2
-mysql> select INTERVAL(22, 23, 30, 44, 200);
- -> 0
-@end example
-@end table
-
-@findex String comparison functions
-@findex Functions, string comparison
-@node String comparison functions, Casts, Comparison functions, Functions
-@subsection ʸ»úÎóÈæ³Ó´Ø¿ô
-
-@cindex Case sensitivity, in string comparisons
-@cindex String comparisons, case sensitivity
-Ä̾Èæ³Ó¤µ¤ì¤ëɽ¸½¤¬¥±¡¼¥¹°Í¸¤Ç¤Ê¤¤¾ì¹ç¡¢Èæ³Ó¤Ï¥±¡¼¥¹Èó°Í¸¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£
-
-@table @code
-@findex LIKE
-@item expr LIKE pat [ESCAPE 'escape-char']
-SQL ¤Î´Êñ¤ÊÀµµ¬É½¸½Èæ³Ó¤Ç¤¹¡£@code{1} (TRUE) ¤Þ¤¿¤Ï @code{0} (FALSE) ¤òÊÖ¤·¤Þ¤¹¡£
-@code{LIKE} ¤Ë¤Ï2¤Ä¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤¬¤¢¤ê¤Þ¤¹:
-
-@multitable @columnfractions .1 .9
-@item @code{%} @tab Ǥ°Õ¤Î¿ô¤Îʸ»ú(0ʸ»ú¤â´Þ¤à)¤ËŬ¹ç¤·¤Þ¤¹¡£
-@item @code{_} @tab ¸·Ì©¤Ë1¤Ä¤Îʸ»ú¤ËŬ¹ç¤·¤Þ¤¹¡£
-@end multitable
-
-@example
-mysql> select 'David!' LIKE 'David_';
- -> 1
-mysql> select 'David!' LIKE '%D%v%';
- -> 1
-@end example
-
-¥ï¥¤¥ë¥É¥«¡¼¥Éʸ»ú¤Î¥Æ¥¹¥È¤ò¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¥¨¥¹¥±¡¼¥×ʸ»ú¤è¤êÀè¹Ô¤·¤Æ¤ª¤³¤Ê¤Ã¤Æ
-¤¯¤À¤µ¤¤¡£
-@code{ESCAPE} ¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢Ê¸»ú @code{'\'} ¤¬»È¤ï¤ì¤Þ¤¹:
-
-@multitable @columnfractions .1 .9
-@item @code{\%} @tab 1¤Ä¤Î @code{%} ¤ËŬ¹ç¤·¤Þ¤¹¡£
-@item @code{\_} @tab 1¤Ä¤Î @code{_} ¤ËŬ¹ç¤·¤Þ¤¹¡£
-@end multitable
-
-@example
-mysql> select 'David!' LIKE 'David\_';
- -> 0
-mysql> select 'David_' LIKE 'David\_';
- -> 1
-@end example
-
-°ã¤¦¥¨¥¹¥±¡¼¥×ʸ»ú¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢ @code{ESCAPE} Àá¤ò»ÈÍѤ·¤Þ¤¹:
-
-@example
-mysql> select 'David_' LIKE 'David|_' ESCAPE '|';
- -> 1
-@end example
-
-@code{LIKE} ¤Ï¿ôÃÍɽ¸½¤Ç¤âµö¤µ¤ì¤Þ¤¹¡ª
-(¤³¤ì¤Ï @strong{MySQL} ¤Î¡¢ANSI SQL @code{LIKE} ¤ËÂФ¹¤ë³ÈÄ¥¤Ç¤¹)
-
-Ãí°Õ¡§ @strong{MySQL} ¤Ïʸ»úÎóÃæ¤Ë C ¤Î¥¨¥¹¥±¡¼¥×ʸ»ú¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Î¤Ç(e.g.,
-@samp{\n}), @code{LIKE} ¤Î»ØÄêʸ»úÎó¤È¤·¤Æ»ÈÍѤ¹¤ë¤Ë¤Ï @samp{\} ¤ò
-ÆóÇܤ·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ Î㤨¤Ð¡¢ @samp{\n} ¤òõ¤¹¤Ë¤Ï¡¢@samp{\\n} ¤È
-µ­½Ò¤·¤Þ¤¹¡£ @samp{\} ¤òõ¤¹¤Ë¤Ï¡¢ @samp{\\\\} (¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤Ï¡¢
-°ì¤Ä¤Ï¥Ñ¡¼¥µ¡¼¤Ë¼è¤ê½ü¤«¤ì¡¢¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤¬¹Ô¤ï¤ì¤ëºÝ¤Ë¤â¤¦¤Ò¤È¤Ä
-¼è¤ê½ü¤«¤ì¡¢°ìÃפòõ¤¹¤¿¤á¤Ë»Ä¤Ã¤¿°ì¤Ä¤Î¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤¬»ÈÍѤµ¤ì¤Þ¤¹)
-
-@findex NOT LIKE
-@item expr NOT LIKE pat [ESCAPE 'escape-char']
-@code{NOT (expr LIKE pat [ESCAPE 'escape-char'])} ¤ÈƱ¤¸
-
-@example
-mysql> select 10 LIKE '1%';
- -> 1
-@end example
-
-@cindex mSQL compatibility
-@cindex Compatibility, with mSQL
-@findex REGEXP
-@findex RLIKE
-@item expr REGEXP pat
-@itemx expr RLIKE pat
-¥Ñ¥¿¡¼¥ó @code{pat} ¤ËÂФ·¡¢Ê¸»ú¼° @code{expr} ¤Î¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤ò¹Ô¤¤¤Þ¤¹¡£
-¥Ñ¥¿¡¼¥ó @code{pat} ¤ÏÀµµ¬É½¸½¤Î³ÈÄ¥¤¬»ÈÍѤǤ­¤Þ¤¹¡£@xref{Regexp}.
-¤â¤· @code{expr} ¤¬ @code{pat} ¤Ë¥Þ¥Ã¥Á¤¹¤ë¤Ê¤é @code{1} ¤òÊÖ¤·¡¢
-¤Ç¤Ê¤±¤ì¤Ð @code{0} ¤òÊÖ¤·¤Þ¤¹¡£
-@code{RLIKE} ¤Ï @code{REGEXP} ¤ÈƱµÁ¤Ç¡¢@code{mSQL} ¸ß´¹¤òÄ󶡤·¤Þ¤¹¡£
-Ãí°Õ: @strong{MySQL} ¤Ï C ¥¨¥¹¥±¡¼¥×¹½Ê¸¤òʸ»úÃæ¤Ë»ÈÍѤ·¤Æ¤ª¤ê(@code{\n})¡¢
- @code{REGEXP} Ãæ¤Ç»ÈÍѤµ¤ì¤ë @code{'\'} ʸ»ú¤Ï¤¹¤Ù¤Æ¡¢Æó½Å¤Ë½ñ¤«¤Ê¤±¤ì¤Ð
-¤Ê¤ê¤Þ¤»¤ó¡£
-@code{MySQL} 3.23.4 @code{REGEXP} ¤Ï¡¢ÉáÄ̤Îʸ»ú (not binary) ¤Ï¥±¡¼¥¹Èó°Í¸¤Ç¤¹¡£
-
-@example
-mysql> select 'Monty!' REGEXP 'm%y%%';
- -> 0
-mysql> select 'Monty!' REGEXP '.*';
- -> 1
-mysql> select 'new*\n*line' REGEXP 'new\\*.\\*line';
- -> 1
-mysql> select "a" REGEXP "A", "a" REGEXP BINARY "A";
- -> 1 0
-@end example
-
-@item
-@code{REGEXP} and @code{RLIKE} ¤Ï¡¢Ê¸»ú¤Î·¿¤ò·èÄꤹ¤ë¾ì¹ç¡¢
-¥«¥ì¥ó¥È¤Î¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¤ò»ÈÍѤ·¤Þ¤¹¡£
-(ISO-8859-1 Latin1 ¤¬¥Ç¥Õ¥©¥ë¥È)
-
-@findex NOT REGEXP
-@item expr NOT REGEXP pat
-@itemx expr NOT RLIKE pat
-@code{NOT (expr REGEXP pat)} ¤ÈƱ¤¸.
-
-@findex STRCMP()
-@item STRCMP(expr1,expr2)
-ʸ»úÎó¤¬Æ±¤¸¤Ê¤é @code{0} ¤òÊÖ¤·¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢ºÇ½é¤Î°ú¿ô¤¬¥½¡¼¥È½ç¤Ç¾®
-¤µ¤±¤ì¤Ð @code{-1} ¤òÊÖ¤·¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð @code{1} ¤òÊÖ¤·¤Þ¤¹¡£
-
-@example
-mysql> select STRCMP('text', 'text2');
- -> -1
-mysql> select STRCMP('text2', 'text');
- -> 1
-mysql> select STRCMP('text', 'text');
- -> 0
-@end example
-@end table
-
-@findex Casts
-@node Casts, Control flow functions, String comparison functions, Functions
-@subsection Cast operators
-
-@table @code
-@findex BINARY
-@item @code{BINARY}
-@code{BINARY} ±é»»»Ò¤Ï¡¢¤³¤ì°Ê¹ß¤Ë³¤¯Ê¸»ú¤ò¥Ð¥¤¥Ê¥ê¤Ë¥­¥ã¥¹¥È¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¤¿¤È¤¨¥Õ¥£¡¼¥ë¥É¤¬ @code{BINARY} ¤ä @code{BLOB} ÄêµÁ¤Ç¤Ê¤¯¤Æ¤â¡¢
-¥±¡¼¥¹°Í¸¤Ç¥Õ¥£¡¼¥ë¥É¤òÈæ³Ó¤¹¤ë¤³¤È¤¬½ÐÍè¤ë´Êñ¤ÊÊýË¡¤Ç¤¹¡£
-@example
-mysql> select "a" = "A";
- -> 1
-mysql> select BINARY "a" = "A";
- -> 0
-@end example
-
-@code{BINARY} ¤Ï @strong{MySQL} 3.23.0 ¤ÇÅо줷¤Þ¤·¤¿¡£
-@end table
-
-@findex Control flow functions
-@findex Functions, control flow
-@node Control flow functions, Mathematical functions, Casts, Functions
-@subsection ¥Õ¥í¡¼À©¸æ´Ø¿ô
-
-@table @code
-@findex IFNULL()
-@item IFNULL(expr1,expr2)
-@code{expr1} ¤¬ @code{NULL} ¤Ç¤Ê¤¤¾ì¹ç¤Ï @code{expr1} ¤ò¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤Ð
-@code{expr2} ¤òÊÖ¤·¤Þ¤¹¡£
-@code{IFNULL()} ¤Ï¤É¤Îʸ̮¤Ç»ÈÍѤµ¤ì¤¿¤«¤Ë¤è¤ê¿ôÃͤ«Ê¸»ú¤òÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select IFNULL(1,0);
- -> 1
-mysql> select IFNULL(0,10);
- -> 0
-mysql> select IFNULL(1/0,10);
- -> 10
-mysql> select IFNULL(1/0,'yes');
- -> 'yes'
-@end example
-
-@findex NULLIF()
-@item NULLIF(expr1,expr2)
-@code{expr1 = expr2} ¤¬¿¿¤Ê¤é¡¢@code{expr1} ¤òÊÖ¤·¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤Ð
-@code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select NULLIF(1,1);
- -> 1
-mysql> select NULLIF(1,2);
- -> NULL
-@end example
-
-Ãí°Õ: °ú¿ô¤¬Åù¤·¤¤¾ì¹ç¡¢@code{expr1} ¤Ï @strong{MySQL} ¤Ç¤Ï2²óɾ²Á¤µ¤ì¤Þ¤¹¡£
-
-@findex IF()
-@item IF(expr1,expr2,expr3)
-@code{expr1} ¤¬¿¿ (@code{expr1 <> 0} and @code{expr1 <> NULL}) ¤Î¾ì¹ç
- @code{expr2} ¤òÊÖ¤·¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤Ð @code{expr3} ¤òÊÖ¤·¤Þ¤¹¡£
-@code{IF()} ¤Ï¤É¤Îʸ̮¤Ç»ÈÍѤµ¤ì¤¿¤«¤Ë¤è¤ê¿ôÃͤ«Ê¸»ú¤òÊÖ¤·¤Þ¤¹¡£
-
-@example
-mysql> select IF(1>2,2,3);
- -> 3
-mysql> select IF(1<2,'yes','no');
- -> 'yes'
-mysql> select IF(strcmp('test','test1'),'no','yes');
- -> 'no'
-@end example
-
-@code{expr1} ¤Ï @code{INTEGER} ¤È¤·¤Æɾ²Á¤µ¤ì¤Þ¤¹¡£¤³¤ì¤ÏÉâÆ°¾®¿ôÅÀ¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢
-Èæ³Ó±é»»¤â»ÈÍѤ¹¤Ù¤­¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-
-@example
-mysql> select IF(0.1,1,0);
- -> 0
-mysql> select IF(0.1<>0,1,0);
- -> 1
-@end example
-
-¾å¤ÎºÇ½é¤ÎÎã¤Ç¤Ï¡¢ @code{IF(0.1)} ¤Ï @code{0} ¤òÊÖ¤·¤Þ¤¹¡£¤Ê¤¼¤Ê¤é @code{0.1} ¤Ï
-À°¿ôÃͤȤ·¤ÆÊÑ´¹¤µ¤ì @code{IF(0)} ¤Ë¤Ê¤ê¡¢¤½¤ì¤ò¤â¤È¤Ë¤·¤¿¥Æ¥¹¥È·ë²Ì¤¬
-Ê֤뤫¤é¤Ç¤¹¡£ ¤³¤ì¤Ï¤¢¤Ê¤¿¤Î´üÂԤ˟¤ï¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
- ÆóÈÖÌܤξì¹ç¡¢ Èæ³Ó¤Ï¡¢¸µ¤ÎÉâÆ°¾®¿ôÅÀÃͤ¬Èó¥¼¥í¤«¤É¤¦¤«¥Æ¥¹¥È¤·¤Þ¤¹¡£
-Èæ³Ó·ë²Ì¤ÏÀ°¿ô¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£
-
-@code{IF()} ¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÌá¤êÃÍ·¿(°ì»þ¥Æ¡¼¥Ö¥ë¤Ë³ÊǼ¤µ¤ì¤ë»þ¤ËÌäÂê¤È¤Ê¤ê
-¤Þ¤¹)¤Ï @strong{MySQL} 3.23 ¤Ç¤Ï¼¡¤Î¤è¤¦¤Ë·×»»¤µ¤ì¤Þ¤¹:
-
-@multitable @columnfractions .7 .3
-@item expr2 ¤Þ¤¿¤Ï expr3 ¤¬Ê¸»úÎó¤òÊÖ¤¹ @tab ʸ»úÎó
-@item expr2 ¤Þ¤¿¤Ï expr3 ¤¬ÉâÆ°¾®¿ôÅÀÃͤòÊÖ¤¹ @tab ÉâÆ°¾®¿ôÅÀ
-@item expr2 ¤Þ¤¿¤Ï expr3 ¤¬À°¿ô¤òÊÖ¤¹ @tab À°¿ô
-@end multitable
-
-@findex CASE
-@item CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END
-@item CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
-
-ºÇ½é¤Î¼°¤Ï @code{value=compare-value} ¤Ê¤é¤Ð @code{result} ¤òÊÖ¤·¤Þ¤¹¡£
-Æó¤ÄÌܤμ°¤Ç¤Ï¡¢ºÇ½é¤Î¾ò·ï[condition] ¤¬¿¿¤Ê¤é¤Ð¡¢ @code{result} ¤òÊÖ¤·¤Þ¤¹¡£
-¤â¤·¥Þ¥Ã¥Á¤¹¤ë result ¤ÎÃͤ¬¤Ê¤±¤ì¤Ð¡¢ @code{ELSE} °Ê²¼¤Î result ¤¬ÊÖ¤ê¤Þ¤¹¡£
-¤â¤· @code{ELSE} Éôʬ¤¬¤Ê¤±¤ì¤Ð¡¢ @code{NULL} ¤¬ÊÖ¤ê¤Þ¤¹¡£
-
-@example
-mysql> SELECT CASE 1 WHEN 1 THEN "one" WHEN 2 THEN "two" ELSE "more" END;
- -> "one"
-mysql> SELECT CASE WHEN 1>0 THEN "true" ELSE "false" END;
- -> "true"
-mysql> SELECT CASE BINARY "B" when "a" then 1 when "b" then 2 END;
- -> NULL
-@end example
-@end table
-
-@findex Mathematical functions
-@findex Functions, mathematical
-@node Mathematical functions, String functions, Control flow functions, Functions
-@subsection ¿ô³Ø´Ø¿ô
-¤¹¤Ù¤Æ¤Î¿ô³Ø´Ø¿ô¤Ï¥¨¥é¡¼¤Î¾ì¹ç @code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£
-
-@table @code
-@findex - (unary minus)
-@findex minus, unary (-)
-@findex unary minus (-)
-@item -
-Éä¹æ¡£°ú¿ô¤ÎÉä¹æ¤òÊѹ¹¤·¤Þ¤¹¡£
-@example
-mysql> select - 2;
- -> -2
-@end example
-
-¤³¤Î¥ª¥Ú¥ì¡¼¥¿¡¼¤¬ @code{BIGINT} ¤È¤È¤â¤Ë»ÈÍѤµ¤ì¤¿¾ì¹ç¡¢
-ÊÖ¤êÃÍ¤Ï @code{BIGINT} ¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤! ¤³¤ì¤Ï @code{-2^63} ¤ÎÃͤò
-»ý¤Ä¤«¤â¤·¤ì¤Ê¤¤À°¿ô¤ò¡¢ @code{-} ¤Ç»ÈÍѤ·¤Æ¤Ï¤Ê¤é¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡ª
-
-@findex ABS()
-@item ABS(X)
-Returns the absolute value of @code{X}.
-@example
-mysql> select ABS(2);
- -> 2
-mysql> select ABS(-32);
- -> 32
-@end example
-
-¤³¤Î´Ø¿ô¤Ï @code{BIGINT} ÃͤȤȤâ¤Ë»ÈÍѤµ¤ì¤ë¤È°ÂÁ´¤Ç¤¹¡£
-
-@findex SIGN()
-@item SIGN(X)
-@code{X} ¤¬Éé¿ô¡¢¥¼¥í¡¢À°¿ô¤Ë¤è¤Ã¤Æ¡¢ @code{-1}, @code{0} or @code{1} ¤ò
-ÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select SIGN(-32);
- -> -1
-mysql> select SIGN(0);
- -> 0
-mysql> select SIGN(234);
- -> 1
-@end example
-
-@findex MOD()
-@findex % (modulo)
-@findex modulo (%)
-@item MOD(N,M)
-@itemx %
-¾ê; ( C ¤Î @code{%} ±é»»»Ò¤Î¤è¤¦¤Ê ).
-@code{N} ¤ò @code{M} ¤Ç³ä¤Ã¤¿¤È¤­¤Î;¤ê¤¬ÊÖ¤ê¤Þ¤¹¡£
-@example
-mysql> select MOD(234, 10);
- -> 4
-mysql> select 253 % 7;
- -> 1
-mysql> select MOD(29,9);
- -> 2
-@end example
-
-¤³¤Î´Ø¿ô¤Ï @code{BIGINT} ÃͤǤâ°ÂÁ´¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-
-@findex FLOOR()
-@item FLOOR(X)
-@code{X} ¤è¤êÂ礭¤¯¤Ê¤é¤Ê¤¤À°¿ô¤Î¤¦¤Á¡¢ºÇÂç¤ÎÀ°¿ôÃͤòÊÖ¤·¤Þ¤¹.
-@example
-mysql> select FLOOR(1.23);
- -> 1
-mysql> select FLOOR(-1.23);
- -> -2
-@end example
-
-ÊÖ¤êÃÍ¤Ï @code{BIGINT} ¤ËÊÑ´¹¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ!
-
-@findex CEILING()
-@item CEILING(X)
-@code{X} ¤è¤ê¾®¤µ¤¯¤Ê¤é¤Ê¤¤À°¿ô¤Î¤¦¤Á¡¢ºÇ¾®¤ÎÀ°¿ôÃͤòÊÖ¤·¤Þ¤¹.
-@example
-mysql> select CEILING(1.23);
- -> 2
-mysql> select CEILING(-1.23);
- -> -1
-@end example
-
-ÊÖ¤êÃÍ¤Ï @code{BIGINT} ¤ËÊÑ´¹¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ!
-
-@findex ROUND()
-@item ROUND(X)
-@code{X} ¤òÀ°¿ô¤Ë´Ý¤á¤¿ÃÍ(»Í¼Î¸ÞÆþ)¤òÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select ROUND(-1.23);
- -> -1
-mysql> select ROUND(-1.58);
- -> -2
-mysql> select ROUND(1.58);
- -> 2
-@end example
-
-ÊÖ¤êÃÍ¤Ï @code{BIGINT} ¤ËÊÑ´¹¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ!
-
-@findex ROUND()
-@item ROUND(X,D)
-@code{X} ¤ò @code{D} ¤Ç»ØÄꤷ¤¿¾¯¿ô·å¤Ë´Ý¤á¤¿ÃÍ(»Í¼Î¸ÞÆþ)¤òÊÖ¤·¤Þ¤¹¡£
-¤â¤· @code{D} ¤¬ @code{0} ¤Ê¤é, ·ë²Ì¤Ï¾®¿ôÅÀ̵¤·¤Ë¤Ê¤ë¤«
-¾¯¿ôÉôʬ¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-@example
-mysql> select ROUND(1.298, 0);
- -> 1
-@end example
-
-@findex EXP()
-@item EXP(X)
-»Ø¿ô´Ø¿ô : @code{e} (¼«Á³Âпô¤ÎÄì) ¤Î @code{X} ¾è¡£
-@example
-mysql> select EXP(2);
- -> 7.389056
-mysql> select EXP(-2);
- -> 0.135335
-@end example
-@findex LOG()
-@item LOG(X)
-¼«Á³Âпô @code{X}
-@example
-mysql> select LOG(2);
- -> 0.693147
-mysql> select LOG(-2);
- -> NULL
-@end example
-If you want the log of a number @code{X} to some arbitary base @code{B}, use
-the formula @code{LOG(X)/LOG(B)}.
-
-@findex LOG10()
-@item LOG10(X)
-¾ïÍÑÂпô(10¤òÄì¤È¤·¤¿Âпô) @code{X}
-@example
-mysql> select LOG10(2);
- -> 0.301030
-mysql> select LOG10(100);
- -> 2.000000
-mysql> select LOG10(-100);
- -> NULL
-@end example
-
-@findex POW()
-@findex POWER()
-@item POW(X,Y)
-@itemx POWER(X,Y)
-@code{X} ¤Î @code{Y} ¾è¡£
-@example
-mysql> select POW(2,2);
- -> 4.000000
-mysql> select POW(2,-2);
- -> 0.250000
-@end example
-
-@findex SQRT()
-@item SQRT(X)
-@code{X} ¤ÎÈóÉé¤ÎÊ¿Êýº¬¤òÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select SQRT(4);
- -> 2.000000
-mysql> select SQRT(20);
- -> 4.472136
-@end example
-
-@findex PI()
-@item PI()
-¦Ð
-@example
-mysql> select PI();
- -> 3.141593
-@end example
-
-@findex COS()
-@item COS(X)
-¥³¥µ¥¤¥ó @code{X}¡£@code{X} ¤Ï¥é¥¸¥¢¥ó¡£
-@example
-mysql> select COS(PI());
- -> -1.000000
-@end example
-
-@findex SIN()
-@item SIN(X)
-¥µ¥¤¥ó @code{X}¡£@code{X} ¤Ï¥é¥¸¥¢¥ó¡£
-@example
-mysql> select SIN(PI());
- -> 0.000000
-@end example
-
-@findex TAN()
-@item TAN(X)
-¥¿¥ó¥¸¥§¥ó¥È @code{X}¡£@code{X} ¤Ï¥é¥¸¥¢¥ó¡£
-@example
-mysql> select TAN(PI()+1);
- -> 1.557408
-@end example
-
-@findex ACOS()
-@item ACOS(X)
-@code{X} ¤Î¥¢¡¼¥¯¥³¥µ¥¤¥ó¤òÊÖ¤·¤Þ¤¹¡£¤³¤ì¤Ï¥³¥µ¥¤¥ó¤¬ @code{X} ¤Ç¤¢¤ëÃͤÇ
-¤¹¡£@code{X} ¤¬ @code{-1} ¤«¤é @code{1} ¤ÎÈϰϤˤʤ¤¾ì¹ç¤Ï @code{NULL} ¤ò
-ÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select ACOS(1);
- -> 0.000000
-mysql> select ACOS(1.0001);
- -> NULL
-mysql> select ACOS(0);
- -> 1.570796
-@end example
-
-@findex ASIN()
-@item ASIN(X)
-@code{X} ¤Î¥¢¡¼¥¯¥µ¥¤¥ó¤òÊÖ¤·¤Þ¤¹¡£¤³¤ì¤Ï¥µ¥¤¥ó¤¬ @code{X} ¤Ç¤¢¤ëÃͤǤ¹¡£
-@code{X} ¤¬ @code{-1} ¤«¤é @code{1} ¤ÎÈϰϤˤʤ¤¾ì¹ç¤Ï @code{NULL} ¤òÊÖ¤·
-¤Þ¤¹¡£
-@example
-mysql> select ASIN(0.2);
- -> 0.201358
-mysql> select ASIN('foo');
- -> 0.000000
-@end example
-
-@findex ATAN()
-@item ATAN(X)
-@code{X} ¤Î¥¢¡¼¥¯¥¿¥ó¥¸¥§¥ó¥È¤òÊÖ¤·¤Þ¤¹¡£¤³¤ì¤Ï¥¿¥ó¥¸¥§¥ó¥È¤¬ @code{X} ¤Ç
-¤¢¤ëÃͤǤ¹¡£
-@example
-mysql> select ATAN(2);
- -> 1.107149
-mysql> select ATAN(-2);
- -> -1.107149
-@end example
-
-@findex ATAN2()
-@item ATAN2(X,Y)
-£²¤Ä¤ÎÊÑ¿ô @code{X} ¤È @code{Y} ¤Î¥¢¡¼¥¯¥¿¥ó¥¸¥§¥ó¥È¤òÊÖ¤·¤Þ¤¹¡£Î¾Êý¤Î°ú¿ô
-¤ÎÉä¹æ¤¬·ë²Ì¤Î¾Ý¸Â¤ò·èÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¤³¤È¤ò½ü¤¤¤Æ¡¢@code{Y / X} ¤Î
-¥¢¡¼¥¯¥¿¥ó¥¸¥§¥ó¥È¤Î·×»»¤ÈƱÍͤǤ¹¡£
-@example
-mysql> select ATAN(-2,2);
- -> -0.785398
-mysql> select ATAN(PI(),0);
- -> 1.570796
-@end example
-
-@findex COT()
-@item COT(X)
-@code{X} ¤Î¥³¥¿¥ó¥¸¥§¥ó¥È¤òÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select COT(12);
- -> -1.57267341
-mysql> select COT(0);
- -> NULL
-@end example
-
-@findex RAND()
-@item RAND()
-@itemx RAND(N)
-@code{0} ¤«¤é @code{1.0} ´Ö¤Î¥é¥ó¥À¥à¤ÊÉâÆ°¾®¿ôÅÀ¿ôÃͤòÊÖ¤·¤Þ¤¹¡£
-¤â¤· @code{N} ¤ËÀ°¿ô¤òÍ¿¤¨¤¿¾ì¹ç¡¢¥·¡¼¥É¤È¤·¤Æ¤³¤ÎÃͤ¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-@example
-mysql> select RAND();
- -> 0.5925
-mysql> select RAND(20);
- -> 0.1811
-mysql> select RAND(20);
- -> 0.1811
-mysql> select RAND();
- -> 0.2079
-mysql> select RAND();
- -> 0.7888
-@end example
-@code{RAND()} Ãͤò»ý¤Ä¥Õ¥£¡¼¥ë¥É¤Ï @code{ORDER BY} Àá¤Ç»ÈÍѤǤ­¤Þ¤»¤ó¡£
-@code{ORDER BY} ¤Ï¥Õ¥£¡¼¥ë¥É¤òÊ£¿ô²óɾ²Á¤¹¤ë¤¿¤á¤Ç¤¹¡£
-
-¤·¤«¤· @strong{MySQL} 3.23 ¤Ç¤Ï, ¼¡¤¬²Äǽ¤Ç¤¹:
-@code{SELECT * FROM table_name ORDER BY RAND()}
-
-¤³¤ì¤Ï @code{SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY
-RAND() LIMIT 1000} ¤Î¥»¥Ã¥È¤«¤é¥é¥ó¥À¥à¤Ê¥µ¥ó¥×¥ë¤òÆÀ¤ë¤Î¤ËÊØÍø¤Ç¤¹¡£
-
-Ãí°Õ: @code{WHERE} Àá¤Î @code{RAND()} ¤Ï @code{WHERE} ¤¬¼Â¹Ô¤¹¤ëÅ٤˺Æɾ²Á
-¤µ¤ì¤Þ¤¹¡£
-
-@findex LEAST()
-@item LEAST(X,Y,...)
-Æó¤Ä°Ê¾å¤Î°ú¿ô¤ò¼è¤ê¡¢°ú¿ôÃæ¡¢ºÇ¾®¤ÎÃͤòÊÖ¤·¤Þ¤¹¡£
-°ú¿ô¤Ï°Ê²¼¤Îµ¬Â§¤Ë½¾¤Ã¤ÆÈæ³Ó¤µ¤ì¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-Ãͤ¬ @code{INTEGER} ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢¤¢¤ë¤¤¤Ï¡¢Á´¤Æ¤Î°ú¿ô¤¬
-À°¿ôÃͤʤé¤Ð¡¢À°¿ô¤È¤·¤ÆÈæ³Ó¤·¤Þ¤¹¡£
-
-@item
-Ãͤ¬ @code{REAL} ¤È¤·¤Æ»ÈÍѤµ¤ì¤Æ¤¤¤ë¤«¡¢Á´¤Æ¤Î°ú¿ô¤¬¼Â¿ô¤Ê¤é¤Ð¡¢
-¼Â¿ô¤È¤·¤ÆÈæ³Ó¤·¤Þ¤¹¡£
-
-@item
-¤¤¤«¤Ê¤ë°ú¿ô¤â¥±¡¼¥¹°Í¸¤Îʸ»ú¤Ê¤é¤Ð¡¢°ú¿ô¤Ï¥±¡¼¥¹°Í¸ʸ»ú¤È¤·¤ÆÈæ³Ó¤µ¤ì¤Þ¤¹¡£
-
-@item
-¤½¤Î¤Û¤«¤Î¾ì¹ç¡¢°ú¿ô¤Ï¥±¡¼¥¹Èó°Í¸ʸ»ú¤È¤·¤ÆÈæ³Ó¤µ¤ì¤Þ¤¹¡£
-@end itemize
-
-@example
-mysql> select LEAST(2,0);
- -> 0
-mysql> select LEAST(34.0,3.0,5.0,767.0);
- -> 3.0
-mysql> select LEAST("B","A","C");
- -> "A"
-@end example
-3.22.5 °ÊÁ°¤Î @strong{MySQL} ¤Ç¤Ï¡¢@code{MIN()} ¤ò @code{LEAST} ¤ÎÂå¤ï¤ê¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-
-@findex GREATEST()
-@item GREATEST(X,Y,...)
-Æó¤Ä°Ê¾å¤Î°ú¿ô¤ò¼è¤ê¡¢°ú¿ôÃæ¡¢ºÇÂç¤ÎÃͤòÊÖ¤·¤Þ¤¹¡£
-°ú¿ô¤Ï @code{LEAST} ¤Î»þ¤ÈƱ¤¸¤è¤¦¤ËÈæ³Ó¤µ¤ì¤Þ¤¹¡£
-
-@example
-mysql> select GREATEST(2,0);
- -> 2
-mysql> select GREATEST(34.0,3.0,5.0,767.0);
- -> 767.0
-mysql> select GREATEST("B","A","C");
- -> "C"
-@end example
-
-3.22.5 °ÊÁ°¤Î @strong{MySQL} ¤Ç¤Ï¡¢@code{MAX()} ¤ò @code{GREATEST} ¤ÎÂå¤ï¤ê¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-
-@findex DEGREES()
-@item DEGREES(X)
-°ú¿ô @code{X} ¤ò¥é¥¸¥¢¥ó¤«¤éÅÙ¤ËÊÑ´¹¤·¤ÆÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select DEGREES(PI());
- -> 180.000000
-@end example
-
-@findex RADIANS()
-@item RADIANS(X)
-°ú¿ô @code{X} ¤òÅÙ¤«¤é¥é¥¸¥¢¥ó¤ËÊÑ´¹¤·¤ÆÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select RADIANS(90);
- -> 1.570796
-@end example
-
-@findex TRUNCATE()
-@item TRUNCATE(X,D)
-¾¯¿ôÅÀ°Ê²¼ @code{D} ·å¤Ç @code{X} ¤òÀÚ¤ê¼Î¤Æ¤¿ÃͤòÊÖ¤·¤Þ¤¹¡£
-@code{D} ¤¬ @code{0} ¤Î¾ì¹ç¡¢·ë²Ì¤Ï¾®¿ôÉô¤äÈù¾®Éô¤ò»ý¤Á¤Þ¤»¤ó¡£
-@example
-mysql> select TRUNCATE(1.223,1);
- -> 1.2
-mysql> select TRUNCATE(1.999,1);
- -> 1.9
-mysql> select TRUNCATE(1.999,0);
- -> 1
-@end example
-@end table
-
-@findex String functions
-@findex Functions, string
-@node String functions, Date and time functions, Mathematical functions, Functions
-@subsection ʸ»úÎó´Ø¿ô
-
-¥µ¡¼¥Ð¡¼Â¦¤Î¥Ñ¥é¥á¥¿¡¼ @code{max_allowed_packet} ¤è¤ê¤â·ë²Ì¤ÎŤµ¤¬Â礭¤¤¾ì¹ç¡¢
-ʸ»úÎó´Ø¿ô¤Ï @code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£ @xref{Server parameters}.
-
-ʸ»ú¤Î°ÌÃÖ¤ò°·¤¦´Ø¿ô¤Ë¤ª¤¤¤Æ¤Ï¡¢°ìÈֺǽé¤Î°ÌÃ֤Ͽô»ú¤Î 1 ¤Ç¤¹¡£
-
-@table @code
-@findex ASCII()
-@item ASCII(str)
-@code{str} ¤Îº¸Ã¼¤Îʸ»ú¤Î ASCII ¥³¡¼¥ÉÃͤòÊÖ¤·¤Þ¤¹¡£
-@code{str} ¤¬¶õʸ»ú¤Î¾ì¹ç¤Ï @code{0} ¤òÊÖ¤·¤Þ¤¹¡£
-@code{str} ¤¬ @code{NULL} ¤Î¾ì¹ç¤Ï @code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£
-
-@example
-mysql> select ASCII('2');
- -> 50
-mysql> select ASCII(2);
- -> 50
-mysql> select ASCII('dx');
- -> 100
-@end example
-
-See also the @code{ORD()} function.
-
-@findex ORD()
-@item ORD(str)
-ʸ»úÎó str ¤Îº¸Ã¼¤Îʸ»ú¤¬¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤Î¾ì¹ç¡¢Ê¸»ú¤ÎASCII ¥³¡¼¥ÉÃͤò¼¡
-¤Î·Á¼°¤ÇÊÖ¤¹¤³¤È¤Ë¤è¤ê¡¢¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤Î¥³¡¼¥É¤òÊÖ¤·¤Þ¤¹:
-@code{((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...]}.
-º¸Ã¼¤Îʸ»ú¤¬¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢@code{ASCII()} ´Ø¿ô¤ÈƱ¤¸ÃͤòÊÖ
-¤·¤Þ¤¹¡£
-
-@example
-mysql> select ORD('2');
- -> 50
-@end example
-
-@findex CONV()
-@item CONV(N,from_base, to_base)
-¿ô»ú¤ò¡¢¿Ê¿ô¤Î°ã¤¦¿ô»ú¤ËÊÑ´¹¤·¤Þ¤¹¡£
-¿ô @code{N} ¤ò @code{from_base} ¿Ê¿ô¤«¤é @code{to_base} ¿Ê¿ô¤Ë
-ÊÑ´¹¤·¤¿¾ì¹ç¤Î¡¢Ê¸»úɽ¸½¤òÊÖ¤·¤Þ¤¹¡£
-¤â¤·°ú¿ô¤¬ @code{NULL} ¤Ê¤é @code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£
-°ú¿ô @code{N} ¤ÏÀ°¿ô¤È¤·¤Æ²ò¼á¤µ¤ì¤Þ¤¹¤¬¡¢À°¿ô¤«Ê¸»úÎó¤Ç»ØÄꤷ¤Þ¤¹¡£
-ºÇ¾®¤Î¿Ê¿ô¤Ï @code{2} ¤Ç¡¢ºÇÂç¤Ï @code{36} ¤Ç¤¹¡£
-@code{to_base} ¤¬Éé¿ô¤Ê¤é¡¢@code{N} ¤ÏÉä¹æÉÕ¤­¤Î¿ô¤Ë¤Ê¤ê¤Þ¤¹¡£
-@code{CONV} ¤Ï 64-bit ÀºÅÙ¤ÇÆ°ºî¤·¤Þ¤¹¡£
-
-@example
-mysql> select CONV("a",16,2);
- -> '1010'
-mysql> select CONV("6E",18,8);
- -> '172'
-mysql> select CONV(-17,10,-18);
- -> '-H'
-mysql> select CONV(10+"10"+'10'+0xa,10,10);
- -> '40'
-@end example
-
-@findex BIN()
-@item BIN(N)
-@code{N} ¤òÆó¿Ê¿ô¤Ë¤·¤¿ÃͤòÊÖ¤·¤Þ¤¹¡£@code{N} ¤Ï longlong ¿ôÃͤǤ¹¡£
-¤³¤ì¤Ï @code{CONV(N,10,2)} ¤ÈƱ¤¸¤Ç¤¹¡£
-@code{N} ¤¬ @code{NULL} ¤Ê¤é @code{NULL} ¤òÊÖ¤·¤Þ¤¹.
-
-@example
-mysql> select BIN(12);
- -> '1100'
-@end example
-
-@findex OCT()
-@item OCT(N)
-@code{N} ¤Î8¿Ê¿ôÃͤòɽ¤¹Ê¸»úÎó¤òÊÖ¤·¤Þ¤¹¡£@code{N} ¤Ï longlong ¿ôÃͤǤ¹¡£
-¤³¤ì¤Ï @code{CONV(N,10,8)} ¤ÈƱ¤¸¤Ç¤¹¡£@code{N} ¤¬ @code{NULL} ¤Î¾ì¹ç¤Ï
-@code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£
-
-@example
-mysql> select OCT(12);
- -> '14'
-@end example
-
-@findex HEX()
-@item HEX(N)
-@code{N} ¤Î16¿Ê¿ôÃͤòɽ¤¹Ê¸»úÎó¤òÊÖ¤·¤Þ¤¹¡£@code{N} ¤Ï
-longlong(@code{BIGINT}) ¿ôÃͤǤ¹¡£¤³¤ì¤Ï @code{CONV(N,10,16)} ¤ÈƱ¤¸¤Ç¤¹¡£
-@code{N} ¤¬ @code{NULL} ¤Î¾ì¹ç¤Ï @code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£
-
-@example
-mysql> select HEX(255);
- -> 'FF'
-@end example
-
-@findex CHAR()
-@item CHAR(N,...)
-°ú¿ô¤Î ASCII ¥³¡¼¥ÉÃͤˤè¤Ã¤ÆÍ¿¤¨¤é¤ì¤¿Ê¸»ú¤«¤é¤Ê¤ëʸ»úÎó¤òÊÖ¤·¤Þ¤¹¡£
-@code{NULL} ¤ÏÈô¤Ð¤µ¤ì¤Þ¤¹¡£
-
-@example
-mysql> select CHAR(77,121,83,81,'76');
- -> 'MySQL'
-mysql> select CHAR(77,77.3,'77.3');
- -> 'MMM'
-@end example
-
-@findex CONCAT()
-@item CONCAT(str1,str2,...)
-°ú¿ô¤ò·ë¹ç¤·¤¿·ë²Ì¤òÊÖ¤·¤Þ¤¹¡£°ú¿ô¤¬ @code{NULL} ¤Ê¤é @code{NULL} ¤òÊÖ¤·¤Þ¤¹.
-2¸Ä°Ê¾å¤Î°ú¿ô¤òɬÍפȤ·¤Þ¤¹¡£
-¿ôÃͤΰú¿ô¤ÏÅù²Á¤Îʸ»úÎó·Á¼°¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£
-@example
-mysql> select CONCAT('My', 'S', 'QL');
- -> 'MySQL'
-mysql> select CONCAT('My', NULL, 'QL');
- -> NULL
-mysql> select CONCAT(14.3);
- -> '14.3'
-@end example
-
-@findex CONCAT_WS()
-@item CONCAT_WS(separator, str1, str2,...)
-
-@code{CONCAT_WS()} ¤Ï¶èÀÚ¤êʸ»ú¤Ä¤­ CONCAT (CONCAT With Separator) ¤ò°ÕÌ£
-¤·¡¢@code{CONCAT()} ¤ÎÆüì¤Ê·Á¼°¤Ç¤¹¡£ºÇ½é¤Î°ú¿ô¤Ï¡¢»Ä¤ê¤Î°ú¿ô¤Î¶èÀÚ¤êʸ»ú
-¤Ç¤¹¡£¶èÀÚ¤êʸ»ú¤Ï»Ä¤ê¤Î°ú¿ô¤ÈƱ¤¸¤è¤¦¤Êʸ»úÎó¤Ç¤¹¡£¶èÀÚ¤êʸ»ú¤¬
-@code{NULL} ¤Î¾ì¹ç¡¢·ë²Ì¤Ï @code{NULL} ¤Ë¤Ê¤ê¤Þ¤¹¡£´Ø¿ô¤Ï¶èÀÚ¤êʸ»ú¤è¤ê¸å
-¤Î @code{NULL} ¤È¶õʸ»úÎó¤òÈô¤Ð¤·¤Þ¤¹¡£¶èÀÚ¤êʸ»ú¤Ï·ë¹ç¤µ¤ì¤ëʸ»úÎó¤Î´Ö¤Ë
-Äɲ䵤ì¤Þ¤¹¡£
-@example
-mysql> select CONCAT_WS(",","First name","Second name","Last Name");
- -> 'First name,Second name,Last Name'
-mysql> select CONCAT_WS(",","First name",NULL,"Last Name");
- -> 'First name,Last Name'
-@end example
-
-@findex LENGTH()
-@findex OCTET_LENGTH()
-@findex CHAR_LENGTH()
-@findex CHARACTER_LENGTH()
-@item LENGTH(str)
-@itemx OCTET_LENGTH(str)
-@itemx CHAR_LENGTH(str)
-@itemx CHARACTER_LENGTH(str)
-ʸ»úÎó @code{str} ¤ÎŤµ¡£
-@example
-mysql> select LENGTH('text');
- -> 4
-mysql> select OCTET_LENGTH('text');
- -> 4
-@end example
-
-Ãí°Õ: @code{CHAR_LENGTH()} ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤Ï°ìÅÙ¤À¤±¤·¤«¥«¥¦
-¥ó¥È¤µ¤ì¤Þ¤»¤ó¡£
-
-@findex LOCATE()
-@findex POSITION()
-@item LOCATE(substr,str)
-@itemx POSITION(substr IN str)
-@code{str} Æâ¤Ë¤¢¤ë @code{substr} ʸ»úÎó¤Î°ÌÃÖ¤òÊÖ¤·¤Þ¤¹¡£ºÇ½é¤Î°ÌÃÖ¤Ï 1 ¤Ç¤¹¡£
-@code{str} Æâ¤Ë @code{substr} ¤¬¤Ê¤¤»þ¤Ï @code{0} ¤òÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select LOCATE('bar', 'foobarbar');
- -> 4
-mysql> select LOCATE('xbar', 'foobar');
- -> 0
-@end example
-
-¤³¤Î´Ø¿ô¤Ï¥Þ¥ë¥Á¥Ð¥¤¥È¤Ç¤â°ÂÁ´¤Ç¤¹¡£
-
-@findex LOCATE()
-@item LOCATE(substr,str,pos)
-ʸ»úÎó @code{str} Ãæ¤ËºÇ½é¤Ë¸²¤ì¤¿ @code{substr} ʸ»ú¤Î°ÌÃÖ¤òÊÖ¤·¤Þ¤¹¡£
-@code{pos} ¤Ï¸¡º÷¤ò³«»Ï¤¹¤ë°ÌÃ֤Ǥ¹¡£
-@code{str} ¤Ë @code{substr} ¤¬¤Ê¤±¤ì¤Ð @code{0} ¤òÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select LOCATE('bar', 'foobarbar',5);
- -> 7
-@end example
-
-¤³¤Î´Ø¿ô¤Ï¥Þ¥ë¥Á¥Ð¥¤¥È¤Ç¤â°ÂÁ´¤Ç¤¹¡£
-
-@findex INSTR()
-@item INSTR(str,substr)
-ʸ»úÎó @code{str} Æâ¤ÎºÇ½é¤Îʸ»úÎó @code{substr} ¤Î°ÌÃÖ¤òÊÖ¤·¤Þ¤¹¡£
-¤³¤ì¤Ï°ú¿ô¤¬Æþ¤ìÂؤï¤Ã¤Æ¤¤¤ë¤³¤È¤ò¤Î¤¾¤¤¤Æ¡¢
-2¤Ä¤Î°ú¿ô¤òÍ¿¤¨¤¿ @code{LOCATE} ¤ÈƱ¤¸¤Ç¤¹¡£
-
-@example
-mysql> select INSTR('foobarbar', 'bar');
- -> 4
-mysql> select INSTR('xbar', 'foobar');
- -> 0
-@end example
-
-¤³¤Î´Ø¿ô¤Ï¥Þ¥ë¥Á¥Ð¥¤¥È¤Ç¤â°ÂÁ´¤Ç¤¹¡£
-
-@findex LPAD()
-@item LPAD(str,len,padstr)
-@code{str} ¤ÎŤµ¤¬ @code{len} ¤Ë¤Ê¤ë¤Þ¤Çʸ»úÎó @code{str} ¤Î»Ï¤á¤Ë @code{padstr} ¤òËä¤á¤Þ¤¹¡£
-@example
-mysql> select LPAD('hi',4,'??');
- -> '??hi'
-@end example
-
-@findex RPAD()
-@item RPAD(str,len,padstr)
-@code{str} ¤ÎŤµ¤¬ @code{len} ¤Ë¤Ê¤ë¤Þ¤Çʸ»úÎó @code{str} ¤Î½ª¤ï¤ê¤Ë @code{padstr} ¤òËä¤á¤Þ¤¹¡£
-@example
-mysql> select RPAD('hi',5,'?');
- -> 'hi???'
-@end example
-
-@findex LEFT()
-@item LEFT(str,len)
-ʸ»úÎó @code{str} ¤ÎºÇ½é¤«¤é @code{len} ¸Ä¤Îʸ»ú¤òÆÀ¤Þ¤¹¡£
-
-@example
-mysql> select LEFT('foobarbar', 5);
- -> 'fooba'
-@end example
-
-¤³¤Î´Ø¿ô¤Ï¥Þ¥ë¥Á¥Ð¥¤¥È¤Ç¤â°ÂÁ´¤Ç¤¹¡£
-
-@findex RIGHT()
-@item RIGHT(str,len)
-ʸ»úÎó @code{str} ¤ÎºÇ¸å¤«¤é @code{len} ¸Ä¤Îʸ»ú¤òÆÀ¤Þ¤¹¡£
-
-@example
-mysql> select RIGHT('foobarbar', 4);
- -> 'rbar'
-@end example
-
-¤³¤Î´Ø¿ô¤Ï¥Þ¥ë¥Á¥Ð¥¤¥È¤Ç¤â°ÂÁ´¤Ç¤¹¡£
-
-@findex SUBSTRING()
-@findex MID()
-@item SUBSTRING(str,pos,len)
-@itemx SUBSTRING(str FROM pos FOR len)
-@itemx MID(str,pos,len)
-@code{str} ¤Î @code{pos} °ÌÃÖ¤«¤é @code{len} ʸ»ú¿ôʬ¤Îʸ»úÎó¤òÊÖ¤·¤Þ¤¹¡£
-@code{FROM} ¤Î°ã¤¤¤Ï ANSI SQL 92 ¹½Ê¸¤Ç¤¹¡£
-
-@example
-mysql> select SUBSTRING('Quadratically',5,6);
- -> 'ratica'
-@end example
-
-¤³¤Î´Ø¿ô¤Ï¥Þ¥ë¥Á¥Ð¥¤¥È¤Ç¤â°ÂÁ´¤Ç¤¹¡£
-
-@findex SUBSTRING()
-@item SUBSTRING(str,pos)
-@item SUBSTRING(str FROM pos)
-ʸ»úÎó @code{str} ¤Î °ÌÃÖ @code{pos} °Ê¹ß¤Îʸ»ú¤òÊÖ¤·¤Þ¤¹¡£
-
-@example
-mysql> select SUBSTRING('Quadratically',5);
- -> 'ratically'
-mysql> select SUBSTRING('foobarbar' FROM 4);
- -> 'rbar'
-@end example
-
-¤³¤Î´Ø¿ô¤Ï¥Þ¥ë¥Á¥Ð¥¤¥È¤Ç¤â°ÂÁ´¤Ç¤¹¡£
-
-@findex SUBSTRING_INDEX()
-@item SUBSTRING_INDEX(str,delim,count)
-@code{str} ¤«¤é¡¢¶èÀÚ¤êʸ»ú @code{delim} ¤¬ @code{count} ¸Ä¸½¤ì¤¿°ÌÃÖ¤«¤éÁ°¤Î
-ʸ»úÎó¤òÊÖ¤·¤Þ¤¹¡£@code{count} ¤¬Àµ¤Î¾ì¹ç¤Ïʸ»úÎó¤Ïº¸¤«¤é¸¡º÷¤µ¤ì¡¢
-@code{count} ¤¬Éé¤Î¾ì¹ç¤Ïʸ»úÎó¤Ï±¦¤«¤é¸¡º÷¤µ¤ì¤Þ¤¹¡£
-
-@example
-mysql> select SUBSTRING_INDEX('www.mysql.com', '.', 2);
- -> 'www.mysql'
-mysql> select SUBSTRING_INDEX('www.mysql.com', '.', -2);
- -> 'mysql.com'
-@end example
-
-¤³¤Î´Ø¿ô¤Ï¥Þ¥ë¥Á¥Ð¥¤¥È¤Ç¤â°ÂÁ´¤Ç¤¹¡£
-
-@findex LTRIM()
-@item LTRIM(str)
-ʸ»úÎó @code{str} ¤ÎºÇ½é¤«¤é¶õÇòʸ»ú¤òºï½ü¤·¤Þ¤¹¡£
-@example
-mysql> select LTRIM(' barbar');
- -> 'barbar'
-@end example
-
-@findex RTRIM()
-@item RTRIM(str)
-ʸ»úÎó @code{str} ¤ÎºÇ¸å¤«¤é¶õÇòʸ»ú¤òºï½ü¤·¤Þ¤¹¡£
-@example
-mysql> select RTRIM('barbar ');
- -> 'barbar'
-@end example
-
-@findex TRIM()
-@item TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str)
-Á´¤Æ¤Î @code{remstr} ¥×¥ì¥Õ¥£¥Ã¥¯¥¹¤Þ¤¿¤Ï¥µ¥Õ¥£¥Ã¥¯¥¹¤ò @code{str} ¤«¤éºï½ü¤·¤¿
-ʸ»úÎó¤òÊÖ¤·¤Þ¤¹¡£@code{BOTH}, @code{LEADING} ¤½¤·¤Æ @code{TRAILING} ¤¬
-»ÈÍѤµ¤ì¤Ê¤¤¾ì¹ç¡¢@code{BOTH} ¤¬Å¬ÍѤµ¤ì¤Þ¤¹¡£@code{remstr} ¤¬Í¿¤¨¤é¤ì¤Ê¤¤¤È¡¢
-¶õÇò¤¬ºï½ü¤µ¤ì¤Þ¤¹¡£
-@example
-mysql> select TRIM(' bar ');
- -> 'bar'
-mysql> select TRIM(LEADING 'x' FROM 'xxxbarxxx');
- -> 'barxxx'
-mysql> select TRIM(BOTH 'x' FROM 'xxxbarxxx');
- -> 'bar'
-mysql> select TRIM(TRAILING 'xyz' FROM 'barxxyz');
- -> 'barx'
-@end example
-
-¤³¤Î´Ø¿ô¤Ï¥Þ¥ë¥Á¥Ð¥¤¥È¤Ç¤â°ÂÁ´¤Ç¤¹¡£
-
-@findex SOUNDEX()
-@item SOUNDEX(str)
-@code{str} ¤«¤é¤Î soundex ʸ»úÎó¤òÊÖ¤·¤Þ¤¹¡£È¯²»¤¬``ÂçÂÎƱ¤¸''£²¤Ä¤Îʸ»úÎó
-¤ÏƱ¤¸ soundex ʸ»úÎó¤ò»ý¤Á¤Þ¤¹¡£``ɸ½à¤Î'' soundex ʸ»úÎó¤Ï4ʸ»úŤǤ¹¤¬¡¢
-@code{SOUNDEX()} ´Ø¿ô¤ÏǤ°Õ¤ÎŤµ¤Îʸ»úÎó¤òÊÖ¤·¤Þ¤¹¡£@code{SUBSTRING()} ¤ò
-·ë²Ì¤Ë»ÈÍѤ·¤Æ¡¢``ɸ½à¤Î'' soundex ʸ»úÎó¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Í¿¤¨¤é¤ì¤¿
-ʸ»úÎóÃæ¤ÎÈó¥¢¥ë¥Õ¥¡¥Ù¥Ã¥Èʸ»ú¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£A-Z ¤ÎȾ°Ê³°¤Î¤¹¤Ù¤Æ¤Î¹ñºÝŪ
-¤Ê¥¢¥ë¥Õ¥¡¥Ù¥Ã¥Èʸ»ú¤ÏÊì²»¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£
-
-@example
-mysql> select SOUNDEX('Hello');
- -> 'H400'
-mysql> select SOUNDEX('Quadratically');
- -> 'Q36324'
-@end example
-
-@findex SPACE()
-@item SPACE(N)
-@code{N} ¸Ä¤Î¶õÇòʸ»ú¤òÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select SPACE(6);
- -> ' '
-@end example
-
-@findex REPLACE()
-@item REPLACE(str,from_str,to_str)
-ʸ»úÎó @code{str} Æâ¤ÎÁ´¤Æ¤Îʸ»úÎó @code{from_str} ¤ò @code{to_str} ¤Ë
-ÃÖ¤­´¹¤¨¤Þ¤¹¡£
-
-@example
-mysql> select REPLACE('www.mysql.com', 'w', 'Ww');
- -> 'WwWwWw.mysql.com'
-@end example
-
-¤³¤Î´Ø¿ô¤Ï¥Þ¥ë¥Á¥Ð¥¤¥È¤Ç¤â°ÂÁ´¤Ç¤¹¡£
-
-@findex REPEAT()
-@item REPEAT(str,count)
-@code{str} ¤ò @code{count} ²ó·«¤êÊÖ¤·¤Þ¤¹¡£@code{count <= 0} ¤Î¾ì¹ç¤Ï
-¶õ¤Îʸ»úÎó¤òÊÖ¤·¤Þ¤¹¡£@code{str} ¤Þ¤¿¤Ï @code{count} ¤¬ @code{NULL}
-¤Þ¤¿¤Ï¡¢@code{LENGTH(str)*count > max_allowed_packet} ¤Î¾ì¹ç¤Ï
-@code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£
-
-@example
-mysql> select REPEAT('MySQL', 3);
- -> 'MySQLMySQLMySQL'
-@end example
-
-@findex REVERSE()
-@item REVERSE(str)
-ʸ»úÎó @code{str} ¤òȿž¤·¤Þ¤¹¡£
-@example
-mysql> select REVERSE('abc');
- -> 'cba'
-@end example
-
-¤³¤Î´Ø¿ô¤Ï¥Þ¥ë¥Á¥Ð¥¤¥È¤Ç¤â°ÂÁ´¤Ç¤¹¡£
-
-@findex INSERT()
-@item INSERT(str,pos,len,newstr)
-@code{str} Ãæ¤Î @code{pos} °ÌÃÖ¤«¤é @code{len} ŤÎʸ»úÎó¤ò
-@code{newstr} ¤ÇÃÖ¤­´¹¤¨¤Þ¤¹¡£@code{str} Æâ¤ÎºÇ½é¤Î°ÌÃÖ¤Ï1¤Ç¤¹¡£
-
-@example
-mysql> select INSERT('Quadratic', 3, 4, 'What');
- -> 'QuWhattic'
-@end example
-
-¤³¤Î´Ø¿ô¤Ï¥Þ¥ë¥Á¥Ð¥¤¥È¤Ç¤â°ÂÁ´¤Ç¤¹¡£
-
-@findex ELT()
-@item ELT(N,str1,str2,str3...)
-@code{N} = @code{1} ¤Ê¤é @code{str1} ¤ò¡¢@code{N} = @code{2} ¤Ê¤é @code{str2} ¤òÊÖ¤·¤Þ¤¹¡£
-@code{N} ¤¬ @code{1} ¤è¤ê¾®¤µ¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï°ú¿ô¤Î¿ô¤è¤êÂ礭¤¤¾ì¹ç¤Ï @code{NULL}
-¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
-@code{ELT()} ¤Ï @code{FIELD()} ¤ÎµÕ¤Ç¤¹¡£
-
-@example
-mysql> select ELT(1, 'ej', 'Heja', 'hej', 'foo');
- -> 'ej'
-mysql> select ELT(4, 'ej', 'Heja', 'hej', 'foo');
- -> 'foo'
-@end example
-
-@findex FIELD()
-@item FIELD(str,str1,str2,str3,...)
-@code{str1}, @code{str2}, @code{str3}, @code{...} ¥ê¥¹¥ÈÆâ¤Î @code{str} ¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò
-ÊÖ¤·¤Þ¤¹¡£@code{str} ¤¬¸«¤Ä¤«¤é¤Ê¤±¤ì¤Ð @code{0} ¤òÊÖ¤·¤Þ¤¹¡£
-@code{FIELD()} ¤Ï @code{ELT()} ¤ÎµÕ¤Ç¤¹¡£
-
-@example
-mysql> select FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo');
- -> 2
-mysql> select FIELD('fo', 'Hej', 'ej', 'Heja', 'hej', 'foo');
- -> 0
-@end example
-
-@findex FIND_IN_SET()
-@item FIND_IN_SET(str,strlist)
-@code{str} ¤¬ @code{strlist} Ãæ¤Ë¤¢¤ì¤Ð¡¢ÃÍ @code{1} ¤«¤é @code{N} ¤òÊÖ¤·¤Þ¤¹¡£
-@code{strlist} ¤Ï¡¢¤½¤ì¤¾¤ì¤Î°Û¤Ê¤ëÃͤ¬ ',' ¤Çʬ³ä¤µ¤ì¤¿Ê¸»úÎó¤Ç¤¹¡£ºÇ½é¤Î
-°ú¿ô¤¬Äê¿ôʸ»úÎó¤Ç£²ÈÖÌܤ¬ @code{SET} ·¿¤Î¥Õ¥£¡¼¥ë¥É¤Î¾ì¹ç@code{FIND_IN_SET} ¤Ï
-¥Ó¥Ã¥È±é»»¤ò»ÈÍѤ·¤ÆºÇŬ²½¤µ¤ì¤Þ¤¹¡ª
-@code{strlist} ¤¬¶õʸ»ú¤Ê¤é @code{0} ¤òÊÖ¤·¤Þ¤¹¡£
-¤É¤Á¤é¤«¤Î°ú¿ô¤¬ @code{NULL} ¤Ê¤é @code{NULL} ¤òÊÖ¤·¤Þ¤¹.
-¤³¤Î´Ø¿ô¤ÏºÇ½é¤Î°ú¿ô¤¬ ',' ¤ò´Þ¤ó¤À¾ì¹ç¡¢¤¦¤Þ¤¯Æ°¤«¤Ê¤¤¤Ç¤·¤ç¤¦¡£
-
-@example
-mysql> SELECT FIND_IN_SET('b','a,b,c,d');
- -> 2
-@end example
-
-@findex MAKE_SET()
-@item MAKE_SET(bits,str1,str2,...)
-@code{bits} ¤Ë»ØÄꤵ¤ì¤¿¥Ó¥Ã¥È¤ËÂбþ¤¹¤ëʸ»úÎó¤Î¥»¥Ã¥È¤òÊÖ¤·¤Þ¤¹¡£
-(ʸ»úÎó¤¬Ê£¿ô¤Î¾ì¹ç¡¢ @samp{,} ¤Ç¶èÀÚ¤é¤ì¤Þ¤¹)
-@code{str1} ¤¬ ¥Ó¥Ã¥È 0 ¤ËÂбþ¤·¡¢@code{str2} ¤¬ ¥Ó¥Ã¥È 1 ¤ËÂбþ¤·¡¢
-@code{str3} ¤¬ ¥Ó¥Ã¥È 2 ¤ËÂбþ¤·... ¤È¤Ê¤ê¤Þ¤¹¡£
-@code{str1}, @code{str2}, @code{...} Ãæ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë @code{NULL} ʸ»ú¤Ï
-·ë²Ì¤Ë¤ÏÄɲ䵤ì¤Þ¤»¤ó¡£
-
-@example
-mysql> SELECT MAKE_SET(1,'a','b','c');
- -> 'a'
-mysql> SELECT MAKE_SET(1 | 4,'hello','nice','world');
- -> 'hello,world'
-mysql> SELECT MAKE_SET(0,'a','b','c');
- -> ''
-@end example
-
-@findex EXPORT_SET()
-@item EXPORT_SET(bits,on,off,[separator,[number_of_bits]])
-'bits' ¤ËÍ¿¤¨¤é¤ì¤¿¿ôÃͤËÂФ·¡¢
-Á´¤Æ¤Î¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¥Ó¥Ã¥È¤ò 'on' ¤Ç»ØÄꤵ¤ì¤¿Ê¸»ú¤Çɽ¤·¡¢
-¥ê¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¥Ó¥Ã¥È¤ò 'off' ¤Ç»ØÄꤵ¤ì¤¿Ê¸»ú¤Çɽ¤·¤¿Ê¸»úÎó¤òÊÖ¤·¤Þ¤¹¡£
-¤½¤ì¤¾¤ì¤Îʸ»ú¤Ï 'separator' (¥Ç¥Õ¥©¥ë¥È',') ¤Ç¼¨¤µ¤ì¤¿Ê¸»ú¤Ç¶èÀÚ¤é¤ì¡¢
-'number_of_bits' (default 64) ¤ËÍ¿¤¨¤é¤ì¤¿·å¿ô¤À¤±¤Î¥Ó¥Ã¥È¤òɽ¼¨¤·¤Þ¤¹¡£
-
-@example
-mysql> SELECT EXPORT_SET(5,'Y','N',',',4);
- -> Y,N,Y,N
-@end example
-
-@findex LCASE()
-@findex LOWER()
-@item LCASE(str)
-@itemx LOWER(str)
-@code{str} ¤ò¸½ºß¤Î¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¥Þ¥Ã¥Ô¥ó¥°
- (¥Ç¥Õ¥©¥ë¥È ISO-8859-1 Latin1) ¤Ë¤·¤¿¤¬¤Ã¤Æ¾®Ê¸»ú¤ËÊÑ´¹¤·¤Þ¤¹¡£
-
-¤³¤Î´Ø¿ô¤Ï¥Þ¥ë¥Á¥Ð¥¤¥È¤Ç¤â°ÂÁ´¤Ç¤¹¡£
-
-@example
-mysql> select LCASE('QUADRATICALLY');
- -> 'quadratically'
-@end example
-
-@findex UCASE()
-@findex UPPER()
-@item UCASE(str)
-@itemx UPPER(str)
-@code{str} ¤ò¸½ºß¤Î¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¥Þ¥Ã¥Ô¥ó¥°
- (¥Ç¥Õ¥©¥ë¥È ISO-8859-1 Latin1) ¤Ë¤·¤¿¤¬¤Ã¤ÆÂçʸ»ú¤ËÊÑ´¹¤·¤Þ¤¹¡£
-
-@example
-mysql> select UCASE('Hej');
- -> 'HEJ'
-@end example
-
-¤³¤Î´Ø¿ô¤Ï¥Þ¥ë¥Á¥Ð¥¤¥È¤Ç¤â°ÂÁ´¤Ç¤¹¡£
-
-@findex FILE
-@item LOAD_FILE(file_name)
-¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤ß¡¢¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤òʸ»ú¤È¤·¤ÆÊÖ¤·¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë¤Ï
-¥µ¡¼¥Ð¡¼¾å¤Ë¤Ê¤¯¤Æ¤Ï¤Ê¤é¤º¡¢¥Õ¥¡¥¤¥ë¤ò¥Õ¥ë¥Ñ¥¹¤Ç»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤½¤·¤Æ¡¢ @strong{file} ¸¢¸Â¤¬¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¥Õ¥¡¥¤¥ë¤ÏÁ´°÷¤Ë
-Æɤ߹þ¤ß²Äǽ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¤½¤·¤Æ¡¢ @code{max_allowed_packet} ¤è¤ê
-¾®¤µ¤¤¥µ¥¤¥º¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-¤³¤Î¤¦¤Á¤É¤ì¤«¤ÎÍýͳ¤Ç¡¢¤â¤·¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¤«Æɤ߹þ¤á¤Ê¤¤¾ì¹ç¡¢
-¤³¤Î´Ø¿ô¤Ï @code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£
-
-@example
-mysql> UPDATE table_name
- SET blob_column=LOAD_FILE("/tmp/picture")
- WHERE id=1;
-@end example
-@end table
-
-@strong{MySQL} ¤ÏɬÍפȤ¢¤é¤Ð¿ôÃͤòʸ»úÎó¤ËÊÑ´¹¤·¤Þ¤¹¡£
-µÕ¤âƱÍͤ˹Ԥ¤¤Þ¤¹¡§
-
-@example
-mysql> SELECT 1+"1";
- -> 2
-mysql> SELECT concat(2,' test');
- -> '2 test'
-@end example
-
-ÌÀ¼¨Åª¤Ë¿ôÃͤòʸ»úÎó¤ËÊÑ´¹¤·¤¿¤±¤ì¤Ð¡¢@code{CONCAT()} ¤Ë°ú¿ô¤È¤·¤ÆÅϤ·¤Æ²¼
-¤µ¤¤¡£
-
-ʸ»úÎó´Ø¿ô¤Ï°ú¿ô¤È¤·¤Æ¥Ð¥¤¥Ê¥êʸ»úÎó¤¬Í¿¤¨¤é¤ì¤ë¤È¡¢·ë²Ì¤Îʸ»úÎó¤â¥Ð¥¤¥Ê¥ê
-ʸ»úÎó¤Ë¤Ê¤ê¤Þ¤¹¡£Ê¸»úÎó¤ËÊÑ´¹¤µ¤ì¤¿¿ôÃͤϥХ¤¥Ê¥êʸ»úÎó¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£¤³
-¤ì¤ÏÈæ³Ó¤Ë¤À¤±±Æ¶Á¤·¤Þ¤¹¡£
-
-@findex Date and time functions
-@findex Functions, date and time
-@node Date and time functions, Miscellaneous functions, String functions, Functions
-@subsection ÆüÉդȻþ¹ï´Ø¿ô
-
-¤½¤ì¤¾¤ì¤Î·¿¤¬¤â¤ÄÃͤÎÈϰϤÈÆü¤È»þ´Ö¤ÎÃͤ¬µ­½Ò¤µ¤ì¤ëÍ­¸ú¤Ê·Á¼°¤Ë¤Ä¤¤¤Æ¤Ï
- @ref{Date and time types}.
-
-ÆüÉÕ´Ø¿ô¤ò»ÈÍѤ¹¤ëÎã:
-@code{date_col} ¤¬ºÇ¿·¤Î30Æü¤Ç¤¢¤ëÁ´¤Æ¤Î¥ì¥³¡¼¥É¤òÁªÂò¤·¤Þ¤¹:
-
-@example
-mysql> SELECT something FROM table
- WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
-@end example
-
-@table @code
-@findex DAYOFWEEK()
-@item DAYOFWEEK(date)
-@code{date} ¤ÎÍËÆü¤òÆÀ¤Þ¤¹ (@code{1} = ÆüÍËÆü, @code{2} = ·îÍËÆü, ... @code{7} = ÅÚÍËÆü)
-¤³¤ì¤Ï ODBC ɸ½à¤Ë½¾¤¤¤Þ¤¹¡£
-@example
-mysql> select DAYOFWEEK('1998-02-03');
- -> 3
-@end example
-
-@findex WEEKDAY()
-@item WEEKDAY(date)
-@code{date} ¤ÎÍËÆü¤òÆÀ¤Þ¤¹ (@code{0} = ÆüÍËÆü, @code{1} = ·îÍËÆü, ... @code{6} = ÅÚÍËÆü)
-@example
-mysql> select WEEKDAY('1997-10-04 22:23:00');
- -> 5
-mysql> select WEEKDAY('1997-11-05');
- -> 2
-@end example
-
-@findex DAYOFMONTH()
-@item DAYOFMONTH(date)
-·î¤ÎÆü¤òÊÖ¤·¤Þ¤¹ (@code{1} - @code{31})
-@example
-mysql> select DAYOFMONTH('1998-02-03');
- -> 3
-@end example
-
-@findex DAYOFYEAR()
-@item DAYOFYEAR(date)
-ǯ¤ÎÆü¤òÊÖ¤·¤Þ¤¹ (@code{1}-@code{366})
-@example
-mysql> select DAYOFYEAR('1998-02-03');
- -> 34
-@end example
-
-@findex MONTH()
-@item MONTH(date)
-·î¤òÊÖ¤·¤Þ¤¹ (@code{1} - @code{12})
-@example
-mysql> select MONTH('1998-02-03');
- -> 2
-@end example
-
-@findex DAYNAME()
-@item DAYNAME(date)
-ÍËÆü¤Î̾Á°¤òÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select DAYNAME("1998-02-05");
- -> 'Thursday'
-@end example
-
-@findex MONTHNAME()
-@item MONTHNAME(date)
-·î¤Î̾Á°¤òÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select MONTHNAME("1998-02-05");
- -> 'February'
-@end example
-
-@findex QUARTER()
-@item QUARTER(date)
-@code{date} ¤Ë¤Ä¤¤¤Æ¤Îǯ¤Î»ÍȾ´ü¤òÊÖ¤·¤Þ¤¹¡£ÈÏ°Ï¤Ï @code{1} ¤«¤é
-@code{4} ¤Ç¤¹¡£
-@example
-mysql> select QUARTER('98-04-01');
- -> 2
-@end example
-
-@findex WEEK()
-@item WEEK(date)
-@itemx WEEK(date,first)
-°ú¿ô¤¬°ì¤Ä¤Î¾ì¹ç¡¢@code{date} ¤Ë¤Ä¤¤¤Æ¤Î½µ¤òÊÖ¤·¤Þ¤¹¡£ÈÏ°Ï¤Ï @code{0} ¤«¤é
-@code{53} (¤½¤¦¡¢53½µ¤ÎºÇ½é¤È¤¤¤¦¤Î¤â¤¢¤ê¤¨¤Þ¤¹)¤Ç¡¢ÆüÍËÆü¤¬½µ¤Î
-ºÇ½é¤ÎÆü¤Ç¤¹¡£°ú¿ô¤¬Æó¤Ä¤Î·Á¼°¤Î @code{WEEK()} ¤Ï¡¢½µ¤Î³«»Ï¤òÆüÍËÆü¤«·îÍË
-Æü¤«»ØÄê¤Ç¤­¤Þ¤¹¡£Âè2°ú¿ô¤¬ @code{0} ¤Î¾ì¹ç¡¢½µ¤Î³«»Ï¤ÏÆüÍËÆü¤Ç¤¹¡£Âè2°ú¿ô
-¤¬ @code{1} ¤Î¾ì¹ç¡¢½µ¤Î³«»Ï¤Ï·îÍËÆü¤Ç¤¹¡£
-@example
-mysql> select WEEK('1998-02-20');
- -> 7
-mysql> select WEEK('1998-02-20',0);
- -> 7
-mysql> select WEEK('1998-02-20',1);
- -> 8
-mysql> select WEEK('1998-12-31',1);
- -> 53
-@end example
-
-@findex YEAR()
-@item YEAR(date)
-ǯ¤òÊÖ¤·¤Þ¤¹ (@code{1000} - @code{9999}).
-@example
-mysql> select YEAR('98-02-03');
- -> 1998
-@end example
-@item YEARWEEK(date)
-@itemx YEARWEEK(date,first)
-¥Ç¡¼¥¿¤Îǯ¤È½µ¤òÊÖ¤·¤Þ¤¹¡£Âè2°ú¿ô¤Ï @code{WEEK()} ¤ÎÂè2°ú¿ô¤È¤Þ¤Ã¤¿¤¯Æ±¤¸
-¤è¤¦¤ËƯ¤­¤Þ¤¹¡£Ãí°Õ: ǯ¤ÎºÇ½é¤ÈºÇ¸å¤Î½µ¤Ç¤Ï¡¢Ç¯¤¬ date °ú¿ôÆâ¤Îǯ¤È¤Ï°Û¤Ê
-¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡ª
-@example
-
-mysql> select YEARWEEK('1987-01-01');
- -> 198653
-@end example
-
-@findex HOUR()
-@item HOUR(time)
-»þ¤òÊÖ¤·¤Þ¤¹ (@code{0} - @code{23})
-@example
-mysql> select HOUR('10:05:03');
- -> 10
-@end example
-
-@findex MINUTE()
-@item MINUTE(time)
-ʬ¤òÊÖ¤·¤Þ¤¹ (@code{0}-@code{59})
-@example
-mysql> select MINUTE('98-02-03 10:05:03');
- -> 5
-@end example
-
-@findex SECOND()
-@item SECOND(time)
-ÉäòÊÖ¤·¤Þ¤¹ (@code{0} to @code{59})
-@example
-mysql> select SECOND('10:05:03');
- -> 3
-@end example
-
-@findex PERIOD_ADD()
-@item PERIOD_ADD(P,N)
-@code{N} ·î¤ò´ü´Ö @code{P} (·¿ @code{YYMM} ¤Þ¤¿¤Ï @code{YYYYMM}) ¤ËÄɲÃ
-¤·¤Þ¤¹¡£@code{YYYYMM} ¤òÊÖ¤·¤Þ¤¹¡£
-
-Ãí°Õ: ´ü´Ö°ú¿ô @code{P} ¤ÏÆüÉÕÃͤǤÏ@emph{¤¢¤ê¤Þ¤»¤ó}¡£
-
-@example
-mysql> select PERIOD_ADD(9801,2);
- -> 199803
-@end example
-
-@findex PERIOD_DIFF()
-@item PERIOD_DIFF(P1,P2)
-´ü´Ö @code{P1} ¤È @code{P2} ¤Îº¹¤Î·î¤òÊÖ¤·¤Þ¤¹¡£@code{P1} ¤È @code{P2} ¤Ï·Á
-¼° @code{YYMM} ¤Þ¤¿¤Ï @code{YYYYMM} ¤Ç¤¹¡£
-
-Ãí°Õ: ´ü´Ö°ú¿ô @code{P1} ¤È @code{P2} ¤ÏÆüÉÕÃͤǤÏ@emph{¤¢¤ê¤Þ¤»¤ó}¡£
-
-@example
-mysql> select PERIOD_DIFF(9802,199703);
- -> 11
-@end example
-
-@findex DATE_ADD()
-@findex DATE_SUB()
-@findex ADDDATE()
-@findex SUBDATE()
-@findex EXTRACT(type FROM date)
-@item DATE_ADD(date,INTERVAL expr type)
-@itemx DATE_SUB(date,INTERVAL expr type)
-@itemx ADDDATE(date,INTERVAL expr type)
-@itemx SUBDATE(date,INTERVAL expr type)
-
-¤³¤ì¤é´Ø¿ô¤ÏÆüÉդα黻¤Ë»ÈÍѤ·¤Þ¤¹¡£ ¤³¤ì¤é¤Ï @strong{MySQL} 3.22 ¤Î
-¿·¤·¤¤µ¡Ç½¤Ç¤¹¡£ @code{ADDDATE()} ¤È @code{SUBDATE()} ¤Ï
-@code{DATE_ADD()} , @code{DATE_SUB()} ¤ÈƱµÁ¤Ç¤¹¡£
-
-@strong{MySQL} 3.23 ¤Ç¤Ï, @code{+} ¤È @code{-} ¤ò
-@code{DATE_ADD()} , @code{DATE_SUB()} ¤ÎÂå¤ï¤ê¤Ë»ÈÍѤǤ­¤Þ¤¹. (See example)
-
-@code{date} ¤Ë¤Ï¡¢@code{DATETIME} ¤« @code{DATE} ·¿¤ÎÃͤò»ØÄꤷ¤Þ¤¹¡£
-¤³¤ÎÃͤ«¤é±é»»¤¬³«»Ï¤µ¤ì¤Þ¤¹¡£
-@code{expr} ¤Ë¤Ï¡¢date ¤«¤éÁý¸º¤µ¤»¤ëÃͤò»ØÄꤷ¤Þ¤¹¡£
-@code{expr} ¤¬ @samp{-} ¤«¤é»Ï¤Þ¤Ã¤Æ¤¤¤ì¤Ð¡¢Éé¿ô¤ò¼¨¤·¤Þ¤¹¡£
-@code{type} ¤Ï¤É¤ì¤°¤é¤¤¤Î´ü´Ö¤«¤ò¼¨¤¹¥­¡¼¥ï¡¼¥É¤Ç¤¹¡£
-
-@code{EXTRACT(type FROM date)} ´Ø¿ô¤Ï¡¢date ¤«¤é 'type' ¤ÎÉôʬ¤òÊÖ¤·¤Þ¤¹¡£
-
-°Ê²¼¤Îɽ¤Ë¡¢@code{type} ¤È @code{expr} ¤Î´ØÏ¢¤ò¼¨¤·¤Þ¤¹¡§
-
-@multitable @columnfractions .18 .3 .42
-@item @code{type} @strong{ÃÍ} @tab @strong{°ÕÌ£} @tab @code{expr} @strong{¤Î¥Õ¥©¡¼¥Þ¥Ã¥È}
-@item @code{SECOND} @tab ÉÃ @tab @code{SECONDS}
-@item @code{MINUTE} @tab ʬ @tab @code{MINUTES}
-@item @code{HOUR} @tab »þ´Ö @tab @code{HOURS}
-@item @code{DAY} @tab Æü @tab @code{DAYS}
-@item @code{MONTH} @tab ·î @tab @code{MONTHS}
-@item @code{YEAR} @tab ǯ @tab @code{YEARS}
-@item @code{MINUTE_SECOND} @tab ʬ¤ÈÉà @tab @code{"MINUTES:SECONDS"}
-@item @code{HOUR_MINUTE} @tab »þ´Ö¤Èʬ @tab @code{"HOURS:MINUTES"}
-@item @code{DAY_HOUR} @tab Æü ¤È»þ´Ö @tab @code{"DAYS HOURS"}
-@item @code{YEAR_MONTH} @tab ǯ ¤È·î @tab @code{"YEARS-MONTHS"}
-@item @code{HOUR_SECOND} @tab »þ´Ö¤Èʬ @tab @code{"HOURS:MINUTES:SECONDS"}
-@item @code{DAY_MINUTE} @tab Æü¡¢»þ¡¢Ê¬ @tab @code{"DAYS HOURS:MINUTES"}
-@item @code{DAY_SECOND} @tab Æü¡¢»þ¡¢Ê¬¡¢Éà @tab @code{"DAYS HOURS:MINUTES:SECONDS"}
-@end multitable
-
-@strong{MySQL} ¤Ï¡¢ @code{expr} ¥Õ¥©¡¼¥Þ¥Ã¥ÈÆâ¤Î¤¤¤«¤Ê¤ë¶çÆÉÅÀ¶èÀÚ¤ê¤ò¤âµö¤·¤Þ¤¹¡£
-¾å¤ÎɽÃæ¤Î¶èÀÚ¤êʸ»ú¤ÏÄó°Æ¤¹¤ë¶èÀÚ¤êʸ»ú¤Ç¤¹¡£ ¤â¤· @code{date} °ú¿ô¤¬
- @code{DATE} Ãͤǡ¢@code{YEAR}, @code{MONTH}, @code{DAY} ¤ÎÉôʬ¤Î¤ß¤ò´Þ¤à
-·×»»¤ò¤¹¤ë¤Ê¤é¡¢·ë²Ì¤Ï @code{DATE} Ãͤ¬ÊÖ¤ê¤Þ¤¹¡£ ¤½¤ì°Ê³°¤Ê¤é @code{DATETIME} Ãͤ¬
-ÊÖ¤ê¤Þ¤¹¡£
-
-@example
-mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
- -> 1998-01-01 00:00:00
-mysql> SELECT INTERVAL 1 DAY + "1997-12-31";
- -> 1998-01-01
-mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;
- -> 1997-12-31 23:59:59
-mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
- INTERVAL 1 SECOND);
- -> 1998-01-01 00:00:00
-mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
- INTERVAL 1 DAY);
- -> 1998-01-01 23:59:59
-mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
- INTERVAL "1:1" MINUTE_SECOND);
- -> 1998-01-01 00:01:00
-mysql> SELECT DATE_SUB("1998-01-01 00:00:00",
- INTERVAL "1 1:1:1" DAY_SECOND);
- -> 1997-12-30 22:58:59
-mysql> SELECT DATE_ADD("1998-01-01 00:00:00",
- INTERVAL "-1 10" DAY_HOUR);
- -> 1997-12-30 14:00:00
-mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);
- -> 1997-12-02
-mysql> SELECT EXTRACT(YEAR FROM "1999-07-02");
- -> 1999
-mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");
- -> 199907
-mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");
- -> 20102
-@end example
-
-¤â¤·¤¢¤Ê¤¿¤Î»ØÄꤹ¤ë interval Ãͤ¬Ã»¤¹¤®¤ë¤Ê¤é( @code{type} ¥­¡¼¥ï¡¼¥É¤«¤é
-Îà¿ä¤µ¤ì¤ëÃͤò´Þ¤ó¤Ç¤¤¤Ê¤¤¾ì¹ç)¡¢ @strong{MySQL} ¤Ï interval ÃͤΰìÈÖ
-º¸¤ÎÉôʬ¤ò»ØÄꤷ˺¤ì¤¿¤â¤Î¤À¤È²¾Äꤷ¤Þ¤¹¡£
-Î㤨¤Ð¡¢¤â¤· @code{type} ¤ò @code{DAY_SECOND} ¤Ë»ØÄꤷ¤¿¾ì¹ç¡¢
- @code{expr} ¤ÎÃÍ¤Ï Æü¡¢»þ¡¢Ê¬¡¢Éà ¤«¤é¤Ê¤ëʪ¤È´üÂÔ¤µ¤ì¤Þ¤¹¡£
-¤³¤³¤Ç¤¢¤Ê¤¿¤¬ @code{"1:10"} ¤Î¤è¤¦¤ÊÃͤò»ØÄꤷ¤Æ¤¤¤¿¤Ê¤é¡¢
- @strong{MySQL} ¤Ï¡¢Æü¡¢»þ ¤ÎÉôʬ¤¬Ëº¤ìµî¤é¤ì¤Æ¡¢Ê¬¡¢Éà ¤¬Í¿¤¨¤é¤ì¤¿¤È
-¿äÄꤷ¤Þ¤¹¡£
-¤Ä¤Þ¤ê¡¢ @code{"1:10" DAY_SECOND} ¤Ï @code{"1:10" MINUTE_SECOND} ¤Ç
-¤¢¤ë¤ÈÍý²ò¤µ¤ì¤ë¤Î¤Ç¤¹¡£
-¤³¤ì¤Ï¡¢@strong{MySQL} ¤¬ @code{TIME} Ãͤò»þ¹ï¤Ç¤Ï¤Ê¤¯·Ð²á»þ´Ö¤Îɽ¸½¤È²ò¼á
-¤¹¤ëÊýË¡¤ËÎà»÷¤·¤Æ¤¤¤Þ¤¹¡£
-
-¤â¤·¡¢ÉÔÀµ¤ÊÃͤ¬»ÈÍѤµ¤ì¤¿¤Ê¤é¡¢·ë²Ì¤Ï @code{NULL} ¤Ç¤¹.
-¤â¤· @code{MONTH} ¤ä @code{YEAR_MONTH} ¤ä @code{YEAR} ¤ò­¤·»»¤·¤Æ¡¢
-·ë²Ì¤È¤Ê¤ëÆüÉÕ¤¬¿·¤·¤¤·î¤ÎºÇÂçÆü¤è¤ê¤âÂ礭¤¤Æü¤Ë¤Ê¤ë¤è¤¦¤Ê¤é¡¢
-¤½¤ÎÆü¤Ï¡¢¿·¤·¤¤·î¤ÎºÇÂçÆü¤Ë½¤Àµ¤µ¤ì¤Þ¤¹¡£
-
-@example
-mysql> select DATE_ADD('1998-01-30',Interval 1 month);
- -> 1998-02-28
-@end example
-
-Îã¤Î¤è¤¦¤Ë¡¢@code{INTERVAL} ¤È @code{type} ¥­¡¼¥ï¡¼¥É¤Ï
-¥±¡¼¥¹°Í¸¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-
-@findex TO_DAYS()
-@item TO_DAYS(date)
-ÆüÉÕ @code{date} ¤òÍ¿¤¨¤ë¤È¡¢0ǯ¤«¤é¤ÎÆü¿ô¤òÊÖ¤·¤Þ¤¹¡£
-
-@example
-mysql> select TO_DAYS(950501);
- -> 728779
-mysql> select TO_DAYS('1997-10-07');
- -> 729669
-@end example
-
-@code{TO_DAYS()} ¤Ï¥°¥ì¥´¥ê¥ªÎò¤Î³«»Ï(1582)¤è¤êÁ°¤ÎÃͤǤλÈÍѤò°Õ¿Þ¤µ¤ì¤Æ
-¤¤¤Þ¤»¤ó¡£Îò¤¬Êѹ¹¤µ¤ì¤¿»þ¤Ë¼º¤ï¤ì¤¿Æü¤ò¹Íθ¤ËÆþ¤ì¤Æ¤Ê¤¤¤«¤é¤Ç¤¹¡£
-
-@findex FROM_DAYS()
-@item FROM_DAYS(N)
-Given a daynumber @code{N}, returns a @code{DATE} value.
-
-@example
-mysql> select FROM_DAYS(729669);
- -> '1997-10-07'
-@end example
-
-@code{FROM_DAYS()} ¤Ï¥°¥ì¥´¥ê¥ªÎò¤Î³«»Ï(1582)¤è¤êÁ°¤ÎÃͤǤλÈÍѤò°Õ¿Þ¤µ¤ì
-¤Æ¤¤¤Þ¤»¤ó¡£Îò¤¬Êѹ¹¤µ¤ì¤¿»þ¤Ë¼º¤ï¤ì¤¿Æü¤ò¹Íθ¤ËÆþ¤ì¤Æ¤Ê¤¤¤«¤é¤Ç¤¹¡£
-
-@findex DATE_FORMAT()
-@item DATE_FORMAT(date,format)
-@code{date} Ãͤò @code{format} ʸ»úÎó¤Ë½¾¤Ã¤ÆÀ°·Á¤·¤Þ¤¹¡£¼¡¤Î»ØÄ꤬
-@code{format} ʸ»úÎó¤Ç»ÈÍѤǤ­¤Þ¤¹:
-@multitable @columnfractions .1 .9
-@item @code{%M} @tab ·î̾ (@code{January}..@code{December})
-@item @code{%W} @tab ÍËÆü (@code{Sunday}..@code{Saturday})
-@item @code{%D} @tab ±Ñ¸ì¥µ¥Õ¥£¥Ã¥¯¥¹ÉÕ¤­·î¤ÎÆü (@code{1st}, @code{2nd}, @code{3rd}, etc.)
-@item @code{%Y} @tab 4·å¤Îǯ
-@item @code{%y} @tab 2·å¤Îǯ
-@item @code{%X} @tab ½µ¤Îǯ¡£½µ¤ÎºÇ½é¤ÎÆü¤ÏÆüÍËÆü¡£4·å¤Î¿ôÃÍ¡£'%V' ¤È¶¦¤Ë»ÈÍѤµ¤ì¤Þ¤¹
-@item @code{%x} @tab ½µ¤Îǯ¡£½µ¤ÎºÇ½é¤ÎÆü¤Ï·îÍËÆü¡£4·å¤Î¿ôÃÍ¡£'%v' ¤È¶¦¤Ë»ÈÍѤµ¤ì¤Þ¤¹
-@item @code{%a} @tab ¾Êά¤µ¤ì¤¿ÍËÆü̾ (@code{Sun}..@code{Sat})
-@item @code{%d} @tab ·î¤ÎÆü, ¿ôÃÍ (@code{00}..@code{31})
-@item @code{%e} @tab ·î¤ÎÆü, ¿ôÃÍ (@code{0}..@code{31})
-@item @code{%m} @tab ·î, ¿ôÃÍ (@code{01}..@code{12})
-@item @code{%c} @tab ·î, ¿ôÃÍ (@code{1}..@code{12})
-@item @code{%b} @tab ¾Êά¤µ¤ì¤¿·î̾ (@code{Jan}..@code{Dec})
-@item @code{%j} @tab ǯ¤ÎÆü (@code{001}..@code{366})
-@item @code{%H} @tab »þ (@code{00}..@code{23})
-@item @code{%k} @tab »þ (@code{0}..@code{23})
-@item @code{%h} @tab »þ (@code{01}..@code{12})
-@item @code{%I} @tab »þ (@code{01}..@code{12})
-@item @code{%l} @tab »þ (@code{1}..@code{12})
-@item @code{%i} @tab ʬ, ¿ôÃÍ (@code{00}..@code{59})
-@item @code{%r} @tab »þ¹ï, 12»þ´Ö (@code{hh:mm:ss [AP]M})
-@item @code{%T} @tab »þ¹ï, 24»þ´Ö (@code{hh:mm:ss})
-@item @code{%S} @tab ÉÃ (@code{00}..@code{59})
-@item @code{%s} @tab ÉÃ (@code{00}..@code{59})
-@item @code{%p} @tab @code{AM} or @code{PM}
-@item @code{%w} @tab ½µ¤ÎÆü (@code{0}=Sunday..@code{6}=Saturday)
-@item @code{%U} @tab ½µ (@code{0}..@code{53}), ½µ¤Î¤Ï¤¸¤Þ¤ê¤ò ÆüÍˤȤ·¤¿¾ì¹ç
-@item @code{%u} @tab ½µ (@code{0}..@code{53}), ½µ¤Î¤Ï¤¸¤Þ¤ê¤ò ·îÍˤȤ·¤¿¾ì¹ç
-@item @code{%V} @tab ½µ (@code{1}..@code{53}), ½µ¤Î¤Ï¤¸¤Þ¤ê¤ÏÆüÍËÆü¡£'%X' ¤È¶¦¤Ë»ÈÍѤµ¤ì¤Þ¤¹
-@item @code{%v} @tab ½µ (@code{1}..@code{53}), ½µ¤Î¤Ï¤¸¤Þ¤ê¤Ï·îÍËÆü¡£'%x' ¤È¶¦¤Ë»ÈÍѤµ¤ì¤Þ¤¹
-@item @code{%%} @tab ¥ê¥Æ¥é¥ë @samp{%}¡£
-@end multitable
-
-¾¤ÎÁ´¤Æ¤Îʸ»ú¤Ï²ò¼á¤µ¤ì¤º¤Ë·ë²Ì¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£
-
-@example
-mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
- -> 'Saturday October 1997'
-mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
- -> '22:23:00'
-mysql> select DATE_FORMAT('1997-10-04 22:23:00',
- '%D %y %a %d %m %b %j');
- -> '4th 97 Sat 04 10 Oct 277'
-mysql> select DATE_FORMAT('1997-10-04 22:23:00',
- '%H %k %I %r %T %S %w');
- -> '22 22 10 10:23:00 PM 22:23:00 00 6'
-mysql> select DATE_FORMAT('1999-01-01', '%X %V');
- -> '1998 52'
-@end example
-
-@strong{MySQL} 3.23 ¤Ç¤Ï¡¢ @code{%} ʸ»ú¤Ï¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»ú¤ÎÁ°¤Ëɬ¤ºÉ¬ÍפȤµ¤ì¤Þ¤¹¡£
-¤½¤ì¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢ @code{%} ʸ»ú¤Ï¥ª¥×¥·¥ç¥ó¤Ç¤·¤¿¡£
-
-@findex TIME_FORMAT()
-@item TIME_FORMAT(time,format)
-¤³¤ì¤Ï¾åµ­¤Î @code{DATE_FORMAT()} ¤Î¤è¤¦¤Ë»ÈÍѤµ¤ì¤Þ¤¹¤¬¡¢
-@code{format} ¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢»þ,ʬ,ÉäÀ¤±¤òÁàºî¤Ç¤­¤Þ¤¹¡£
-¾¤Î¥ª¥×¥·¥ç¥ó¤Ï @code{NULL} or @code{0} ¤òÍ¿¤¨¤Þ¤¹¡£
-
-@findex CURDATE()
-@findex CURRENT_DATE
-@item CURDATE()
-@itemx CURRENT_DATE
-º£Æü¤ÎÆüÉÕ¤òÊÖ¤·¤Þ¤¹¡£ÆüÉդηÁ¼°¤Ï¡¢@code{CURDATE()} ¤¬¿ôÃͤޤ¿¤Ïʸ»úÎó¤Î¤É¤Á
-¤é¤Îʸ̮¤Ç»ÈÍѤµ¤ì¤¿¤«¤Ë°Í¸¤·¤Æ @code{YYYYMMDD} ¤Þ¤¿¤Ï @code{'YYYY-MM-DD'} ¤ÇÊÖ¤µ¤ì¤Þ¤¹¡£
-
-@example
-mysql> select CURDATE();
- -> '1997-12-15'
-mysql> select CURDATE() + 0;
- -> 19971215
-@end example
-
-@findex CURTIME()
-@findex CURRENT_TIME
-@item CURTIME()
-@itemx CURRENT_TIME
-¸½ºß¤Î»þ¹ï¤ò @code{HHMMSS} ¤Þ¤¿¤Ï @code{'HH:MM:SS'} ¤Î·Á¼°¤ÇÊÖ¤·¤Þ¤¹¡£¤³
-¤ì¤Ï @code{CURTIME()} ¤¬¿ôÃͤޤ¿¤Ïʸ»úÎó¤Î¤É¤Á¤é¤Îʸ̮¤Ç»ÈÍѤµ¤ì¤¿¤«¤Ë°Í
-¸¤·¤Þ¤¹¡£
-
-@example
-mysql> select CURTIME();
- -> '23:50:26'
-mysql> select CURTIME() + 0;
- -> 235026
-@end example
-
-@findex NOW()
-@findex SYSDATE()
-@findex CURRENT_TIMESTAMP
-@item NOW()
-@itemx SYSDATE()
-@itemx CURRENT_TIMESTAMP
-¸½ºß¤Î»þ¹ï¤òÊÖ¤·¤Þ¤¹¡£¿ôÃͤޤ¿¤Ïʸ»úÎó¤Î¤É¤Á¤é¤Îʸ̮¤Ç»ÈÍѤµ¤ì¤¿¤«¤Ë°Í¸¤·¤Æ
- @code{YYYYMMDDHHMMSS} ¤Þ¤¿¤Ï @code{'YYYY-MM-DD HH:MM:SS'} ·Á¼°¤ÇÊÖ¤µ¤ì¤Þ¤¹¡£
-
-@example
-mysql> select NOW();
- -> '1997-12-15 23:50:26'
-mysql> select NOW() + 0;
- -> 19971215235026
-@end example
-
-@findex UNIX_TIMESTAMP()
-@item UNIX_TIMESTAMP()
-@itemx UNIX_TIMESTAMP(date)
-°ú¿ô¤Ê¤·¤Ç¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¤Ï¡¢UNIX timestamp (GMT @code{'1970-01-01 00:00:00'} ¤«
-¤é¤ÎÉÿô) ¤Ç¤¹¡£Ä̾ï¤Ï¡¢@code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤ò°ú¿ô¤È¤·¤Æ¸Æ¤Ó½Ð¤·¡¢¥Õ¥£¡¼¥ë¥É¤Î
-ÃͤòÉÿô¤ÇÊÖ¤·¤Þ¤¹¡£@code{date} ¤Ï¥í¡¼¥«¥ë»þ¹ï¤Ç¤Î @code{DATE} ʸ»úÎó¡¢@code{DATETIME}
-ʸ»úÎ󡢤ޤ¿¤Ï @code{YYMMDD} ¤Þ¤¿¤Ï @code{YYYYMMDD} ·Á¼°¤Î¿ôÃͤǤ¹¡£
-
-@example
-mysql> select UNIX_TIMESTAMP();
- -> 882226357
-mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00');
- -> 875996580
-@end example
-
-@code{UNIX_TIMESTAMP} ¤¬ @code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤Ë»ÈÍѤµ¤ì¤¿¾ì¹ç¡¢
-¤³¤Î´Ø¿ô¤Ï¡¢°ÅÌۤΠ``ʸ»ú¤«¤é UNIX ¥¿¥¤¥à¥¹¥¿¥ó¥×'' ÊÑ´¹¤ò¤¹¤ë¤³¤È¤Ê¤¯¡¢
-ÃͤòÆÀ¤Þ¤¹¡£
-
-@findex FROM_UNIXTIME()
-@item FROM_UNIXTIME(Unix_timestamp)
-ʸ̮(¿ôÃÍ/ʸ»úÎó)¤Ë°Í¸¤·¤Æ¡¢@code{'YYYY-MM-DD HH:MM:SS'} ¤Þ¤¿¤Ï
-@code{YYYYMMDDHHMMSS} ·Á¼°¤Î timestamp ʸ»úÎó¤òÊÖ¤·¤Þ¤¹¡£
-
-@example
-mysql> select FROM_UNIXTIME(875996580);
- -> '1997-10-04 22:23:00'
-mysql> select FROM_UNIXTIME(875996580) + 0;
- -> 19971004222300
-@end example
-
-@findex FROM_UNIXTIME()
-@item FROM_UNIXTIME(unix_timestamp,format)
-@code{format} ¤Ë½¾¤Ã¤ÆÀ°·Á¤µ¤ì¤¿ Unix timestamp ʸ»úÎó¤òÊÖ¤·¤Þ¤¹¡£
-@code{format} ¤Ï @code{DATE_FORMAT()} ´Ø¿ô¤Î¥¨¥ó¥È¥ê¤Ë°ìÍ÷¤µ¤ì¤¿¤Î¤ÈƱ¤¸»Ø
-Äê»Ò¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@example
-mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(),
- '%Y %D %M %h:%i:%s %x');
- -> '1997 23rd December 03:43:30 x'
-@end example
-
-@findex SEC_TO_TIME()
-@item SEC_TO_TIME(seconds)
-@code{seconds} °ú¿ô¤ò»þʬÉäËÊÑ´¹¤·¤ÆÊÖ¤·¤Þ¤¹¡£´Ø¿ô¤¬Ê¸»úÎóʸ̮¤Þ¤¿¤Ï¿ôÃÍ
-ʸ̮¤Î¤É¤Á¤é¤Ç»ÈÍѤµ¤ì¤¿¤«¤Ë°Í¸¤·¤Æ¡¢@code{'HH:MM:SS'} ¤Þ¤¿¤Ï
-@code{HHMMSS} ·Á¼°¤ÇÃͤòÊÖ¤·¤Þ¤¹¡£
-
-@example
-mysql> select SEC_TO_TIME(2378);
- -> '00:39:38'
-mysql> select SEC_TO_TIME(2378) + 0;
- -> 3938
-@end example
-
-@findex TIME_TO_SEC()
-@item TIME_TO_SEC(time)
-@code{time} ¤òÉäËÊÑ´¹¤·¤Þ¤¹¡£
-
-@example
-mysql> select TIME_TO_SEC('22:23:00');
- -> 80580
-mysql> select TIME_TO_SEC('00:39:38');
- -> 2378
-@end example
-@end table
-
-@findex Miscellaneous functions
-@findex Functions, miscellaneous
-@node Miscellaneous functions, Group by functions, Date and time functions, Functions
-@subsection ¤½¤Î¾¤Î´Ø¿ô
-
-@table @code
-@findex DATABASE()
-@item DATABASE()
-¸½ºß¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¤òÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select DATABASE();
- -> 'test'
-@end example
-
-¤â¤·¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Ê¤¤¤Ê¤é¡¢@code{DATABASE()} ¤Ï¶õʸ»ú¤òÊÖ¤·¤Þ¤¹¡£
-
-@findex USER()
-@findex SYSTEM_USER()
-@findex SESSION_USER()
-@item USER()
-@itemx SYSTEM_USER()
-@itemx SESSION_USER()
-¸½ºß¤Î @strong{MySQL} ¥æ¡¼¥¶Ì¾¤òÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select USER();
- -> 'davida@@localhost'
-@end example
-
-@strong{MySQL} 3.22.11 °Ê¹ß¤Ç¤Ï¡¢¤³¤Î´Ø¿ô¤Ï¥æ¡¼¥¶¡¼Ì¾¤È¥¯¥é¥¤¥¢¥ó¥È¤Î¥Û¥¹¥È̾¤ò´Þ¤ß¤Þ¤¹¡£
-¥æ¡¼¥¶¡¼Ì¾¤ÎÉôʬ¤À¤±¼è¤ê½Ð¤¹¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
-¡Ê¤³¤ì¤Ï¥Û¥¹¥È̾¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¯¤È¤âÆ°¤¯¤Ç¤·¤ç¤¦¡Ë¡§
-
-@example
-ysql> select substring_index(USER(),"@@",1);
- -> 'davida'
-@end example
-
-@findex PASSWORD()
-@item PASSWORD(str)
-¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È¤Î¥Ñ¥¹¥ï¡¼¥É @code{str} ¤«¤é¥Ñ¥¹¥ï¡¼¥Éʸ»úÎó¤ò·×»»¤·¤Þ¤¹¡£
-¤³¤ì¤Ï @code{user} µö²Ä¥Æ¡¼¥Ö¥ë¤Î @code{Password} ¥Õ¥£¡¼¥ë¥É¤Ë¡¢
-°Å¹æ²½¤µ¤ì¤¿ @strong{MySQL} ¥Ñ¥¹¥ï¡¼¥É¤òÊݸ¤¹¤ëºÝ¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-
-@example
-mysql> select PASSWORD('badpwd');
- -> '7f84554057dd964b'
-@end example
-
-@cindex Password encryption, reversibility of
-@code{PASSWORD()} °Å¹æ¤ÏÉԲĵդǤ¹¡£
-
-@code{PASSWORD()} ¤Ï UNIX ¤Î¥Ñ¥¹¥ï¡¼¥É¤¬°Å¹æ²½¤¹¤ë¤Î¤ÈƱ¤¸ÊýË¡¤Ç
-°Å¹æ²½¤ò¹Ô¤¦¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-UNIX ¤Î¥Ñ¥¹¥ï¡¼¥É¤È @strong{MySQL} ¤Î¥Ñ¥¹¥ï¡¼¥É¤¬Æ±¤¸¤È»×¤Ã¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
-UNIX ¤Î¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤ËÊݸ¤µ¤ì¤ëÃͤ¬ @code{PASSWORD()} ¤¬ÊÖ¤¹¤È
-¹Í¤¨¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
-@code{ENCRYPT()} »²¾È¡£
-
-@findex ENCRYPT()
-@item ENCRYPT(str[,salt])
-UNIX ¤Î @code{crypt()} ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ç @code{str} ¤ò°Å¹æ²½¤·¤Þ¤¹¡£
-@code{salt} ¤Ï2ʸ»ú¤Îʸ»úÎó¤Ç¤¹¡£
-(@strong{MySQL} 3.22.16 ¤Ç, @code{salt} ¤Ï2ʸ»ú°Ê¾åµö¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£)
-
-@example
-mysql> select ENCRYPT("hello");
- -> 'VxuFAJXVARROc'
-@end example
-
-¥·¥¹¥Æ¥à¤Ç @code{crypt()} ¤¬ÍøÍѤǤ­¤Ê¤¤¾ì¹ç¤Ï @code{ENCRYPT()} ¤Ï¾ï¤Ë
-@code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£
-
-¾¯¤Ê¤¯¤È¤â¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
-@code{ENCRYPT()} ¤Ï @code{str} ʸ»úÃæ¤ÎºÇ½é¤Î 8 ʸ»ú°Ê³°¤ÏÁ´¤Æ̵»ë¤·¤Þ¤¹¡£
-¤³¤ì¤Ï @code{crypt()} ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¿¶¤ëÉñ¤¤¤Ë¤è¤Ã¤Æ·èÄê¤Å¤±¤é¤ì¤Þ¤¹¡£
-
-@findex ENCODE()
-@item ENCODE(str,pass_str)
-¥Ñ¥¹¥ï¡¼¥É¤È¤·¤Æ @code{pass_str} ¤òÍѤ¤¤Æ @code{str} ¤ò°Å¹æ²½¤·¤Þ¤¹¡£·ë²Ì
-¤òÉü¹æ²½¤¹¤ë¤Ë¤Ï¡¢@code{DECODE()}¤ò»ÈÍѤ·¤Þ¤¹¡£
-
-·ë²Ì¤Ï¥Ð¥¤¥Ê¥êʸ»úÎó¤Ç¤¹¡£¥Õ¥£¡¼¥ë¥É¤Ë¤½¤ì¤òÊݸ¤·¤¿¤¤¾ì¹ç¤Ï @code{BLOB}
-¥Õ¥£¡¼¥ë¥É·¿¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-
-@findex DECODE()
-@item DECODE(crypt_str,pass_str)
-°Å¹æ²½¤µ¤ì¤¿Ê¸»úÎó @code{crypt_str} ¤ò¥Ñ¥¹¥ï¡¼¥É¤È¤·¤Æ @code{pass_str} ¤ò
-ÍѤ¤¤ÆÉü¹æ²½¤·¤Þ¤¹¡£@code{crypt_str} ¤Ï @code{ENCODE()} ¤«¤éÊÖ¤µ¤ì¤¿Ê¸»úÎó
-¤Ç¤¢¤ë¤Ù¤­¤Ç¤¹¡£
-
-@findex MD5()
-@item MD5(string)
-ʸ»úÎó¤ò MD5 ¥Á¥§¥Ã¥¯¥µ¥à¤·¤¿·ë²Ì¤òÊÖ¤·¤Þ¤¹¡£ ÃÍ¤Ï 32 ·å¤Î 16¿Êɽ¼¨¤Ç¤¹¡£
-Î㤨¤Ð¥Ï¥Ã¥·¥å¥­¡¼¤È¤·¤Æ»ÈÍѤǤ­¤ë¤è¤¦¤Ë¡£
-
-@example
-mysql> select MD5("testing")
- -> 'ae2b1fca515949e5d54fb22b8ed95575'
-@end example
-
-¤³¤ì¤Ï "RSA Data Security, Inc. MD5 Message-Digest Algorithm".
-
-@findex LAST_INSERT_ID([expr])
-@item LAST_INSERT_ID([expr])
-ºÇ¸å¤Ë @code{AUTO_INCREMENT} ¥Õ¥£¡¼¥ë¥É¤ËÁÞÆþ¤µ¤ì¤Æ¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤¿ÃͤòÊÖ¤·¤Þ¤¹¡£
-@xref{mysql_insert_id, , @code{mysql_insert_id()}}.
-
-@example
-mysql> select LAST_INSERT_ID();
- -> 195
-@end example
-
-ºÇ¸å¤ÎºîÀ®¤µ¤ì¤¿ ID ¤Ï¤½¤ì¤¾¤ì¤Î¥³¥Í¥¯¥·¥ç¥óËè¤Ë¥µ¡¼¥Ð¡¼¤Ë°Ý»ý¤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤ÏÊѹ¹¤Ç¤­¤Ê¤¤¤Ç¤·¤ç¤¦¡£
-¤â¤·Â¾¤ÎÈó¥Þ¥¸¥Ã¥¯Ãͤò¤â¤Ä @code{AUTO_INCREMENT} ¥Õ¥£¡¼¥ë¥É
-¡ÊÃͤ¬ @code{NULL} ¤Ç¤â @code{0} ¤Ç¤â¤Ê¤¤¤È¤¤¤¦¤³¤È¡Ë
-¤ò¹¹¿·¤·¤Æ¤â¡¢¤³¤ì¤Ï Êѹ¹¤µ¤ì¤Þ¤»¤ó¡£
-
-@cindex Sequence emulation
-¤â¤· @code{UPDATE} ÀáÆâ¤Î @code{LAST_INSERT_ID()} ¤Î°ú¿ô¤Ë @code{expr} ¤ò»ØÄꤹ¤ë¤È¡¢
-°ú¿ô¤ÎÃÍ¤Ï @code{LAST_INSERT_ID()} ¤ÎÃͤȤ·¤ÆÊÖ¤ê¤Þ¤¹¡£
-¤³¤ì¤Ï ¥·¡¼¥±¥ó¥¹ÈÖ¹æ¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤Ë»ÈÍѤǤ­¤Þ¤¹¡§
-
-ºÇ½é¤Ë¥Æ¡¼¥Ö¥ë¤òºîÀ®¡§
-
-@example
-mysql> create table sequence (id int not null);
-mysql> insert into sequence values (0);
-@end example
-
-¤½¤·¤Æ°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¥·¡¼¥±¥ó¥¹ÈÖ¹æ¤òÀ¸À®¡§
-
-@example
-mysql> UPDATE sequence SET id=last_insert_id(id+1);
-@end example
-
-@code{LAST_INSERT_ID()} ¤Î¸Æ¤Ó½Ð¤·Ìµ¤·¤Ç¥·¡¼¥±¥ó¥¹ÈÖ¹æ¤òÀ¸À®¤¹¤ë¤³¤È¤¬²Äǽ
-¤Ç¤¹¤¬¡¢¤³¤ÎÊýË¡¤Ç¤³¤Î´Ø¿ô¤ò»ÈÍѤ¹¤ë¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢ID Ãͤ¬ºÇ¸å¤Ë¼«Æ°Åª
-¤ËÀ¸À®¤µ¤ì¤¿ÃͤȤ·¤Æ¥µ¡¼¥Ð¤Ë´ÉÍý¤µ¤ì¤Þ¤¹¡£@strong{MySQL} Æâ¤ÎÄ̾ï¤ÎǤ°Õ¤Î
-@code{AUTO_INCREMENT} ÃͤòÆɤ߹þ¤ó¤Ç¿·¤·¤¤ ID ¤ò¼è¤ê½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Îã
-¤¨¤Ð¡¢@code{LAST_INSERT_ID()} (°ú¿ô̵¤·) ¤Ï¿·¤·¤¤ ID ¤òÊÖ¤·¤Þ¤¹¡£C API ´Ø
-¿ô @code{mysql_insert_id()} ¤â¤³¤ÎÃͤòÆÀ¤ë¤¿¤á¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-
-@findex FORMAT()
-@item FORMAT(X,D)
-@code{'#,###,###.##'} ¤Î¤è¤¦¤Ê·Á¼°(¾®¿ôÉô @code{X} ·å)¤Ç¿ôÃÍ @code{D} ¤òÀ°·Á
-¤·¤Þ¤¹¡£ ¤â¤· @code{D} ¤¬ @code{0} ¤Ê¤é, ·ë²Ì¤Ë¤Ï¤¤¤«¤Ê¤ë
-¾®¿ôÅÀ¤â¾®¿ôÉô¤â´Þ¤Þ¤ì¤Þ¤»¤ó¡£
-
-@example
-mysql> select FORMAT(12332.123456, 4);
- -> '12,332.1235'
-mysql> select FORMAT(12332.1,4);
- -> '12,332.1000'
-mysql> select FORMAT(12332.2,0);
- -> '12,332'
-@end example
-
-@findex VERSION()
-@item VERSION()
-@strong{MySQL} ¥µ¡¼¥Ð¤Î¥Ð¡¼¥¸¥ç¥ó¤òÊÖ¤·¤Þ¤¹¡£
-@example
-mysql> select VERSION();
- -> '3.23.13-log'
-@end example
-
-Ãí°Õ: ¥Ð¡¼¥¸¥ç¥ó¤¬ @code{-log} ¤Ç½ª¤ï¤ë¾ì¹ç¤Ï¥í¥®¥ó¥°¤¬Í­¸ú¤Ç¤¢¤ë¤³¤È¤ò°Õ
-Ì£¤·¤Þ¤¹¡£
-
-@findex CONNECTION_ID()
-@item CONNECTION_ID()
-Àܳ¤ÎÀܳ ID (@code{thread_id}) ¤òÊÖ¤·¤Þ¤¹¡£¤¹¤Ù¤Æ¤ÎÀܳ¤ÏÀܳ¼«¿È¤Î°ì°Õ
-¤Ê ID ¤ò»ý¤Á¤Þ¤¹¡£
-@example
-mysql> select CONNECTION_ID();
- -> 1
-@end example
-
-
-@findex GET_LOCK()
-@item GET_LOCK(str,timeout)
-@code{timeout} ÉäΥ¿¥¤¥à¥¢¥¦¥È¤Ç¡¢@code{str} ¤È̾ÉÕ¤±¤é¤ì¤¿¥í¥Ã¥¯¤Î³ÍÆÀ¤ò»î¤ß
-¤Þ¤¹¡£¥í¥Ã¥¯¤ò³ÍÆÀ¤·¤¿¾ì¹ç¤Ï @code{1}, ¥¿¥¤¥à¥¢¥¦¥È¤Î¾ì¹ç¤Ï @code{0}, ¥¨¥é¡¼¤Î¾ì¹ç(¥á
-¥â¥êÉÔ­¤ä¥¹¥ì¥Ã¥É¤¬ @code{mysqladmin kill} ¤Ç»¦¤µ¤ì¤¿¾ì¹ç¤Ê¤É)¤Ï @code{NULL}
-¤¬ÊÖ¤ê¤Þ¤¹¡£@code{RELEASE_LOCK} ¤Î¼Â¹Ô¡¢¿·¤·¤¤ @code{GET_LOCK} ¤Î¼Â¹Ô¡¢
-¥¹¥ì¥Ã¥É¤Î½ªÎ»¤Î¾ì¹ç¤Ë¡¢¥í¥Ã¥¯¤Ï²òÊü¤µ¤ì¤Þ¤¹¡£¤³¤Î´Ø¿ô¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-¥í¥Ã¥¯¤ä¥ì¥³¡¼¥É¥í¥Ã¥¯¤Î¥·¥ß¥å¥ì¡¼¥È¤Î¤¿¤á¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢Æ±¤¸Ì¾Á°¤Î¥í¥Ã¥¯¤ò¹Ô¤ª¤¦¤È¤¹¤ë¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Î¥ê¥¯¥¨¥¹¥È¤ò
-¥Ö¥í¥Ã¥¯¤·¤Þ¤¹¡¨ Í¿¤¨¤é¤ì¤¿Ì¾Á°¤Î¥í¥Ã¥¯¤Ë±þ¤¸¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢
-¶¨Ä´¤·¤Æ¥í¥Ã¥­¥ó¥°¤ò¹Ô¤¦¤¿¤á¤Ë¡¢¤½¤Îʸ»úÎó¤ò»ÈÍѤǤ­¤Þ¤¹¡£
-
-@example
-mysql> select GET_LOCK("lock1",10);
- -> 1
-mysql> select GET_LOCK("lock2",10);
- -> 1
-mysql> select RELEASE_LOCK("lock2");
- -> 1
-mysql> select RELEASE_LOCK("lock1");
- -> NULL
-@end example
-
-£²¤ÄÌܤΠ@code{RELEASE_LOCK()} ¤Ï @code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£
-¤Ê¤¼¤Ê¤é¡¢ @code{"lock1"} ¤Ï¡¢£²¤ÄÌܤΠ@code{GET_LOCK()} ¤Î¸Æ¤Ó½Ð¤·»þÅÀ¤Ç¡¢
-¼«Æ°Åª¤Ë²òÊü¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£
-
-@findex RELEASE_LOCK()
-@item RELEASE_LOCK(str)
-@code{GET_LOCK} ¤Ç³ÍÆÀ¤·¤¿¥í¥Ã¥¯ @code{str} ¤ò²òÊü¤·¤Þ¤¹¡£¥í¥Ã¥¯¤¬²ò
-Êü¤µ¤ì¤¿¾ì¹ç¤Ï @code{1}, ¤³¤Î¥¹¥ì¥Ã¥É¤Ë¤è¤Ã¤Æ¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï @code{0}
-(¤³¤Î¾ì¹ç¡¢¥í¥Ã¥¯¤Ï²òÊü¤µ¤ì¤Þ¤»¤ó),
-@code{str}¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï @code{NULL} ¤¬ÊÖ¤ê¤Þ¤¹¡£
-¤â¤·¡¢ @code{GET_LOCK()} ¤ò¥³¡¼¥ë¤·¤ÆÆÀ¤é¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-¤¢¤ë¤¤¤Ï¡¢´û¤Ë²òÊü¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥í¥Ã¥¯¤Ï¸ºß¤·¤Ê¤¤¤Ç¤·¤ç¤¦¡£
-
-@findex BENCHMARK()
-@item BENCHMARK(count,expr)
-@code{BENCHMARK()} ´Ø¿ô¤Ï @code{expr} ¤ÇÍ¿¤¨¤é¤ì¤¿Ê¸¤ò @code{count} ²ó
-·«¤êÊÖ¤·¼Â¹Ô¤·¤Þ¤¹¡£ ¤³¤ì¤Ï @strong{MySQL} ¤Î¤½¤Îʸ¤Î½èÍý¤¬¤É¤ì¤°¤é¤¤
-®¤¤¤Î¤«ÃΤë¤Î¤Ë»ÈÍѤµ¤ì¤ë¤Ç¤·¤ç¤¦¡£ ·ë²Ì¤Ï¾ï¤Ë @code{0} ¤Ç¤¹¡£
-ÁÛÄꤷ¤Æ¤¤¤ë»ÈÍѤϡ¢ @code{mysql} ¥¯¥é¥¤¥¢¥ó¥È¤Ç¤¹¡£
-¤¢¤ë¥¯¥¨¥ê¤Î¼Â¹Ô»þ´Ö¤òÃΤ뤿¤á¤Î»ÈÍѤǤ¹¡£
-
-@example
-mysql> select BENCHMARK(1000000,encode("hello","goodbye"));
-+----------------------------------------------+
-| BENCHMARK(1000000,encode("hello","goodbye")) |
-+----------------------------------------------+
-| 0 |
-+----------------------------------------------+
-1 row in set (4.74 sec)
-@end example
-
-Êó¹ð¤µ¤ì¤¿»þ´Ö¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ç¤Î·Ð²á»þ´Ö¤Ç¤¹¡£ ¥µ¡¼¥Ð¡¼Â¦¤Î CPU »þ´Ö¤Ç¤Ï
-¤¢¤ê¤Þ¤»¤ó¡£@code{BENCHMARK()} ¤ò²¿²ó¤«¼Â¹Ô¤·¤Æ¡¢¥µ¡¼¥Ð¥Þ¥·¥ó¤ÎÉé²Ù¤Î½Å¤µ
-¤ò¹Íθ¤·¤Æ·ë²Ì¤ò²ò¼á¤¹¤ë¤³¤È¤ò´«¤á¤Þ¤¹¡£
-
-@findex INET_NTOA()
-@item INET_NTOA(expr)
-¿ôÃÍɽ¸½¤ËÂФ¹¤ë¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹(4 ¤Þ¤¿¤Ï 8 ¥Ð¥¤¥È) ¤òÊÖ¤·¤Þ¤¹¡£
-
-@example
-mysql> select INET_NTOA(3520061480);
- -> "209.207.224.40"
-@end example
-
-@findex INET_ATON()
-@item INET_NTOA(expr)
-¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹¤ËÂФ¹¤ë¿ôÃͤòɽ¤¹À°¿ô¤òÊÖ¤·¤Þ¤¹¡£¥¢¥É¥ì¥¹¤Ï 4 ¤Þ¤¿¤Ï
-8 ¥Ð¥¤¥È¥¢¥É¥ì¥¹¤Ç¤¹¡£
-
-@example
-mysql> select INET_ATON("209.207.224.40");
- -> 3520061480
-@end example
-@end table
-
-@findex GROUP BY functions
-@findex Functions, GROUP BY
-@node Group by functions, , Miscellaneous functions, Functions
-@subsection @code{GROUP BY} Àá¤Î´Ø¿ô
-
-@code{GROUP BY} Àá¤Ê¤·¤Ç ¥°¥ë¡¼¥×´Ø¿ô¤ò»ÈÍѤ¹¤ë¤Ê¤é¡¢
-¤³¤ì¤ÏÁ´¤Æ¤Î¥ì¥³¡¼¥É¤ò¥°¥ë¡¼¥×²½¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@table @code
-@findex COUNT()
-@item COUNT(expr)
-@code{SELECT} ʸ¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤ë¥ì¥³¡¼¥É Ãæ¡¢Ãͤ¬ Èó@code{NULL} ¤Ç
-¤¢¤ë¥ì¥³¡¼¥É¤Î¿ô¤òÊÖ¤·¤Þ¤¹¡£
-
-@example
-mysql> select student.student_name,COUNT(*)
- from student,course
- where student.student_id=course.student_id
- GROUP BY student_name;
-
-@end example
-
-¸¡º÷¤µ¤ì¤¿¥ì¥³¡¼¥É¤Î¿ô¤¬¡¢¥ì¥³¡¼¥ÉÃæ¤Ë @code{NULL} Ãͤò´Þ¤à¤«¤É¤¦¤«¤Ç¡¢
-@code{COUNT(*)} ¤ÇÊÖ¤ëÃͤϤϤ¤¤¯¤Ö¤ó°Û¤Ê¤ê¤Þ¤¹¡£
-
-¤â¤· @code{SELECT} ¤¬°ì¤Ä¤Î¥Æ¡¼¥Ö¥ë¤«¤é¸¡º÷¤·¡¢¤«¤Ä¡¢
-¾¤Î¥Õ¥£¡¼¥ë¥É¤¬¸¡º÷¤µ¤ì¤ë¤³¤È¤â¤Ê¤¯¡¢¤«¤Ä
-@code{WHERE} À᤬̵¤¤¤Ê¤é¤Ð¡¢
-@code{COUNT(*)} ¤Ï®¤¯Åú¤¨¤ë¤¿¤á¤ËºÇŬ²½¤µ¤ì¤Þ¤¹¡£
-Î㤨¤Ð¡§
-
-@example
-mysql> select COUNT(*) from student;
-@end example
-
-@findex COUNT(DISTINCT)
-@findex DISTINCT
-@item COUNT(DISTINCT expr,[expr...])
-°Û¤Ê¤ëÃͤοô¤Î¥«¥¦¥ó¥È¤òÊÖ¤·¤Þ¤¹¡£
-
-@example
-mysql> select COUNT(DISTINCT results) from student;
-@end example
-
-@strong{MySQL} ¤Ç¤Ï¡¢¼°¤Î¥ê¥¹¥È¤òÍ¿¤¨¤ë¤³¤È¤Ç¡¢Ê̸Ĥμ°¤ÎÁȹ礻¤Î¿ô¤òÆÀ¤ë
-¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ANSI SQL ¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¼°¤ò @code{CODE(DISTINCT ..)} Æâ¤Ç
-·ë¹ç¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-@findex AVG()
-@item AVG(expr)
-@code{expr}¤ÎÊ¿¶ÑÃÍ¡£
-
-@example
-mysql> select student_name, AVG(test_score)
- from student
- GROUP BY student_name;
-@end example
-
-@findex MIN()
-@findex MAX()
-@item MIN(expr)
-@itemx MAX(expr)
-@code{expr}.¤ÎºÇ¾®/ºÇÂçÃÍ¡£
-@code{min()} ¤È @code{max()} ¤¬Ê¸»úÎó°ú¿ô¤ò¼è¤ë¤È¡¢ºÇ¾®/ºÇÂç¤Îʸ»úÎóÃͤòÊÖ¤·¤Þ¤¹¡£
-
-@example
-mysql> select student_name, MIN(test_score), MAX(test_score)
- from student
- GROUP BY student_name;
-@end example
-
-@findex SUM()
-@item SUM(expr)
-@code{expr}¤Î¹ç·×.
-Ãí°Õ: ·ë²Ì¥»¥Ã¥È¤¬²¿¤â¥ì¥³¡¼¥É¤òÊÖ¤µ¤Ê¤¤¾ì¹ç¤Ï¡¢¤³¤ì¤Ï NULL ¤òÊÖ¤·¤Þ¤¹¡ª
-
-@findex STD()
-@findex STDDEV()
-@cindex Oracle compatibility
-@cindex Compatibility, with Oracle
-@item STD(expr)
-@itemx STDDEV(expr)
-@code{expt} ¤Îɸ½àͶƳ(standard derivative)¡£¤³¤ì¤Ï @code{ANSI SQL} ¤ËÂФ¹¤ë³ÈÄ¥¤Ç¤¹¡£
-¤³¤Î´Ø¿ô¤Î @code{STDDEV()} ·Á¼°¤Ï¡¢Oracle ¸ß´¹¤Î¤¿¤á¤ËÄ󶡤µ¤ì¤Þ¤·¤¿¡£
-
-@findex BIT_OR()
-@item BIT_OR(expr)
-@code{expr} Æâ¤ÎÁ´¤Æ¤Î¥Ó¥Ã¥È¤ÎÏÀÍý @code{OR}¡£64 ¥Ó¥Ã¥È(@code{BIGINT})¤ÎÀº
-Å٤Ƿ׻»¤µ¤ì¤Þ¤¹¡£
-
-@findex BIT_AND()
-@item BIT_AND(expr)
-@code{expr} Æâ¤ÎÁ´¤Æ¤Î¥Ó¥Ã¥È¤ÎÏÀÍý @code{AND}¡£64 ¥Ó¥Ã¥È(@code{BIGINT})¤Î
-ÀºÅ٤Ƿ׻»¤µ¤ì¤Þ¤¹¡£
-@end table
-
-@strong{MySQL} ¤Ï @code{GROUP BY} ¤ò³ÈÄ¥¤·¤Æ¤¤¤Þ¤¹¡£@code{SELECT} ɽ¸½Æâ¤Ç
-@code{GROUP BY} Éô¤Ë¸½¤ì¤Ê¤¤¥Õ¥£¡¼¥ë¥É¤Þ¤¿¤Ï·×»»¤ò»ÈÍѤǤ­¤Þ¤¹¡£¤³¤ì¤Ï @emph{¤³¤Î¥°¥ë¡¼
-¥×¤Î¤¿¤á¤ÎÁ´¤Æ¤Î²Äǽ¤ÊÃÍ} ¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î»ÈÍѤˤè¤ê¡¢É¬Íפʤ¤¥Õ¥£¡¼¥ë¥É¤Ç
-¤Î¥½¡¼¥È¤È¥°¥ë¡¼¥×¤¬Èò¤±¤é¤ì¤ë¤Î¤Ç¡¢¹â¤¤À­Ç½¤¬ÆÀ¤é¤ì¤Þ¤¹¡£Î㤨¤Ð¡¢¼¡¤Î¥¯
-¥¨¥ê¤Ç¤Ï @code{customer.name} ¤Ç¥°¥ë¡¼¥×¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó:
-
-@example
-mysql> select order.custid,customer.name,max(payments)
- from order,customer
- where order.custid = customer.custid
- GROUP BY order.custid;
-@end example
-
-ANSI SQL ¤Ç¤Ï¡¢@code{GROUP BY} Àá¤Ë @code{customer.name} ¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-@strong{MySQL} ¤Ç¤Ï¡¢ANSI ¥â¡¼¥É¤Ç¼Â¹Ô¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢name ¤Ï¾éŤǤ¹¡£
-
-@code{GROUP BY} Éô¤«¤é¾Êά¤·¤¿¥Õ¥£¡¼¥ë¥É¤¬¥°¥ë¡¼¥×Æâ¤Ç°ì°Õ¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¤³
-¤Îµ¡Ç½¤ò»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡ª
-
-¤¤¤¯¤Ä¤«¤Î¥±¡¼¥¹¤Ç¤Ï¡¢¤½¤ì¤¬°ì°Õ¤Ç¤Ê¤¤¾ì¹ç¤Ç¤â¡¢@code{MIN()} ¤È
-@code{MAX()} ¤òÆÃÄê¤Î¥Õ¥£¡¼¥ë¥ÉÃͤò³ÍÆÀ¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¼¡¤Ï¡¢@code{sort} ¥Õ¥£¡¼¥ë¥ÉÆâ¤ÎºÇ¾®¤ÎÃͤò´Þ¤à¥ì¥³¡¼¥É¤«¤é¤Î
-@code{column} ¤ÎÃͤòÍ¿¤¨¤Þ¤¹:
-
-@example
-substr(MIN(concat(sort,space(6-length(sort)),column),7,length(column)))
-@end example
-
-@cindex @code{ORDER BY}, aliases in
-@cindex Aliases, in @code{ORDER BY} clauses
-@cindex @code{GROUP BY}, aliases in
-@cindex Aliases, in @code{GROUP BY} clauses
-@cindex Expressions, aliases for
-@cindex Aliases, for expressions
-Ãí°Õ: @strong{MySQL} 3.22 (¤Þ¤¿¤Ï¤½¤ì°ÊÁ°) ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï
-ANSI SQL ¤Ë½¾¤ª¤¦¤È¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢@code{GROUP BY} ¤ä @code{ORDER BY} Àá¤Ç
-¼°¤ò»ÈÍѤǤ­¤Þ¤»¤ó¡£¼°¤ÎÊÌ̾¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¤³¤ÎÀ©¸Â¤ò²óÈò¤Ç¤­¤Þ¤¹:
-
-@example
-mysql> SELECT id,FLOOR(value/100) AS val FROM tbl_name
- GROUP BY id,val ORDER BY val;
-@end example
-
-@code{MySQL} 3.23 ¤Ç¤Ï¼¡¤ò¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-
-@example
-mysql> SELECT id,FLOOR(value/100) FROM tbl_name ORDER BY RAND();
-@end example
-
-@findex CREATE DATABASE
-@node CREATE DATABASE, DROP DATABASE, Functions, Reference
-@section @code{CREATE DATABASE}¹½Ê¸
-
-@example
-CREATE DATABASE [IF NOT EXISTS] db_name
-@end example
-
-@code{CREATE DATABASE} ¤ÏÍ¿¤¨¤é¤ì¤¿Ì¾Á°¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºî¤ê¤Þ¤¹¡£¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î̾Á°¤È¤·¤Æµö¤µ¤ì¤ë̿̾µ¬Â§¤Ï¡¢@ref{Legal names}¤Ë°Í¤ê¤Þ¤¹¡£
-¤â¤·¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ë¤Ë¤â¤«¤«¤ï¤é¤º @code{IF NOT EXISTS} ¤ò
-»ØÄꤷ¤Æ¤¤¤Ê¤«¤Ã¤¿¤é¡¢¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤¹¡£
-
-@strong{MySQL}¤Ë¤ª¤±¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î¥Æ¡¼¥Ö¥ë¤ËÁêÅö¤¹¤ë¥Õ¥¡¥¤¥ë¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Þ¤¹¡£½é´üºîÀ®¸å¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Ë¥Æ¡¼¥Ö¥ë¤Ï¸ºß¤»¤º¡¢@code{CREATE DATABASE}¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ï¡¢@strong{MySQL}¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê²¼¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤¹¤ë¤À¤±¤Ç¤¹¡£
-
-@cindex @code{mysqladmin}
-@code{mysqladmin}¤Ç¤â¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@xref{Programs}.
-
-@findex DROP DATABASE
-@node DROP DATABASE, CREATE TABLE, CREATE DATABASE, Reference
-@section @code{DROP DATABASE}¹½Ê¸
-
-@example
-DROP DATABASE [IF EXISTS] db_name
-@end example
-
-@code{DROP DATABASE}¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ÎÁ´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤È¶¦¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÇË´þ¤·¤Þ¤¹¡£@strong{¤³¤Î¥³¥Þ¥ó¥É¤Î»ÈÍѤˤÏËüÁ´¤ÎÃí°Õ¤òʧ¤Ã¤Æ²¼¤µ¤¤¡ª}
-
-@code{DROP DATABASE}¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤«¤éºï½ü¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î¿ô¤òÊÖ¤·¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î¥Æ¡¼¥Ö¥ë¤Ï@file{.MYD}¥Õ¥¡¥¤¥ë¡¿@file{.MYI}¥Õ¥¡¥¤¥ë¡¿@file{.frm}¥Õ¥¡¥¤¥ë¤ËÁêÅö¤¹¤ë¤³¤È¤«¤é¡¢Ä̾盧¤ÎÃͤϥơ¼¥Ö¥ë¤Î£³Çܤοô¤È¤Ê¤ê¤Þ¤¹¡£
-
-@strong{MySQL} 3.22°Ê¹ß¤Ç¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬Â¸ºß¤·¤Ê¤¤¤³¤È¤Ëµ¯°ø¤¹¤ë¥¨¥é¡¼¤òËɤ°¤¿¤á¤Ë¡¢¥­¡¼¥ï¡¼¥É @code{IF EXISTS} ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@cindex @code{mysqladmin}
-@code{mysqladmin}¤Ç¤â¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÇË´þ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@xref{Programs}.
-
-@findex CREATE TABLE
-@node CREATE TABLE, ALTER TABLE, DROP DATABASE, Reference
-@section @code{CREATE TABLE}¹½Ê¸
-
-@menu
-* Silent column changes:: Silent column changes
-@end menu
-
-@example
-CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)]
-[table_options] [select_statement]
-
-create_definition:
- col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT]
- [PRIMARY KEY] [reference_definition]
- or PRIMARY KEY (index_col_name,...)
- or KEY [index_name] (index_col_name,...)
- or INDEX [index_name] (index_col_name,...)
- or UNIQUE [INDEX] [index_name] (index_col_name,...)
- or [CONSTRAINT symbol] FOREIGN KEY index_name (index_col_name,...)
- [reference_definition]
- or CHECK (expr)
-
-type:
- TINYINT[(length)] [UNSIGNED] [ZEROFILL]
- or SMALLINT[(length)] [UNSIGNED] [ZEROFILL]
- or MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL]
- or INT[(length)] [UNSIGNED] [ZEROFILL]
- or INTEGER[(length)] [UNSIGNED] [ZEROFILL]
- or BIGINT[(length)] [UNSIGNED] [ZEROFILL]
- or REAL[(length,decimals)] [UNSIGNED] [ZEROFILL]
- or DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL]
- or FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL]
- or DECIMAL(length,decimals) [UNSIGNED] [ZEROFILL]
- or NUMERIC(length,decimals) [UNSIGNED] [ZEROFILL]
- or CHAR(length) [BINARY]
- or VARCHAR(length) [BINARY]
- or DATE
- or TIME
- or TIMESTAMP
- or DATETIME
- or TINYBLOB
- or BLOB
- or MEDIUMBLOB
- or LONGBLOB
- or TINYTEXT
- or TEXT
- or MEDIUMTEXT
- or LONGTEXT
- or ENUM(value1,value2,value3,...)
- or SET(value1,value2,value3,...)
-
-index_col_name:
- col_name [(length)]
-
-reference_definition:
- REFERENCES tbl_name [(index_col_name,...)]
- [MATCH FULL | MATCH PARTIAL]
- [ON DELETE reference_option]
- [ON UPDATE reference_option]
-
-reference_option:
- RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
-
-table_options:
- TYPE = @{ISAM | MYISAM | HEAP@}
-or AUTO_INCREMENT = #
-or AVG_ROW_LENGTH = #
-or CHECKSUM = @{0 | 1@}
-or COMMENT = "string"
-or MAX_ROWS = #
-or MIN_ROWS = #
-or PACK_KEYS = @{0 | 1@}
-or PASSWORD = "string"
-or DELAY_KEY_WRITE = @{0 | 1@}
-or ROW_FORMAT= @{ default | dynamic | static | compressed @}
-or RAID_TYPE= @{1 | STRIPED | RAID0 @} RAID_CHUNKS=# RAID_CHUNKSIZE=#;
-
-select_statement:
- [IGNORE | REPLACE] SELECT ... (Some legal select statement)
-@end example
-
-
-@code{CREATE TABLE}¤Ï¥«¥ì¥ó¥È¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¡¢Í¿¤¨¤é¤ì¤¿Ì¾Á°¤Î¥Æ¡¼¥Ö¥ë¤ò
-ºîÀ®¤·¤Þ¤¹¡£¥Æ¡¼¥Ö¥ë¤Î̾Á°¤È¤·¤Æµö¤µ¤ì¤ë̿̾µ¬Â§¤Ï¡¢@xref{Legal names}¤Ë
-°Í¤ê¤Þ¤¹¡£
-¥«¥ì¥ó¥È¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬Ìµ¤¤¾ì¹ç¤ä¡¢¥Æ¡¼¥Ö¥ë¤¬´û¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¥¨¥é¡¼¤¬
-ȯÀ¸¤·¤Þ¤¹¡£
-
-@strong{MySQL} 3.22 °Ê¹ß¤Ç¤Ï¥Æ¡¼¥Ö¥ë̾¤Ï @code{db_name.tbl_name} ¤È¤¤¤¦·Á¤ÇÍ¿¤¨¤ë»ö¤â¤Ç¤­¤Þ¤¹¡£
-¤³¤ì¤Ï¥«¥ì¥ó¥È¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¤¢¤ë¤«¤É¤¦¤«¤Ë¤Ë´Ø·¸¤Ê¤¯Æ°ºî¤·¤Þ¤¹¡£
-
-@strong{MySQL} 3.23 ¤Ç¤Ï¡¢¥Æ¡¼¥Ö¥ëºîÀ®»þ¤Ë @code{TEMPORARY} ¥­¡¼¥ï¡¼¥É¤ò»ÈÍѤ¹¤ë¤³¤È¤¬
-¤Ç¤­¤Þ¤¹¡£ °ì»þ¥Æ¡¼¥Ö¥ë¤Ï¡¢¤â¤·¡¢¥³¥Í¥¯¥·¥ç¥ó¤¬Íî¤Á¤¿¾ì¹ç¡¢¼«Æ°¤Ç¾Ãµî¤µ¤ì¤Þ¤¹¡£
-°ì»þ¥Æ¡¼¥Ö¥ë¤Î̾Á°¤Ï¤½¤ì¤¾¤ì¤ÎÀܳ¤´¤È¤Ç¤¹¡£
-¤³¤ì¤Ï¡¢Æó¤Ä¤Î°ã¤¦Àܳ¤Ç¡¢Æ±¤¸Ì¾Á°¤Î°ì»þ¥Æ¡¼¥Ö¥ë¤ò
-¾×Æͤ¹¤ë¤³¤È¤Ê¤¯¡¢»ÈÍѤǤ­¤ë¤È¤¤¤¦»ö¤Ç¤¹¡£
-¤µ¤é¤Ë¤Ï¡¢´û¤Ë¸ºß¤¹¤ë¥Æ¡¼¥Ö¥ë¤ÈƱ̾¤Ç¤¢¤Ã¤Æ¤â¡¢°ì»þ¥Æ¡¼¥Ö¥ë¤Ï»ÈÍѤǤ­¤Þ¤¹¡£
-(°ì»þ¥Æ¡¼¥Ö¥ë¤¬ºï½ü¤µ¤ì¤ë¤Þ¤Ç¡¢¼Âºß¤¹¤ë¥Æ¡¼¥Ö¥ë¤Ï±£¤µ¤ì¤Þ¤¹)
-
-@strong{MySQL} 3.23 °Ê¹ß¤Ç¤Ï¡¢ @code{IF NOT EXISTS} ¥­¡¼¥ï¡¼¥É¤ò»ÈÍѤǤ­¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢¤â¤·¥Æ¡¼¥Ö¥ë¤¬´û¤Ë¸ºß¤·¤Æ¤¤¤¿¾ì¹ç¡¢¥¨¥é¡¼¤òȯÀ¸¤µ¤»¤Þ¤»¤ó¡£
-¥Æ¡¼¥Ö¥ë¤Î¹½Â¤¤¬°ì°Õ¤«¤É¤¦¤«¤Þ¤Ç¤Ï¸¡ºº¤·¤Ê¤¤¤³¤È¤ËÃí°Õ¡£
-
-¤½¤ì¤¾¤ì¤Î¥Æ¡¼¥Ö¥ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤ª¤±¤ë°Ê²¼¤ÎÊ£¿ô¤Î
-¥Õ¥¡¥¤¥ë¤Çɽ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï MyISAM ·¿ ¤Î¥Æ¡¼¥Ö¥ë¾ì¹ç¡§
-
-@multitable @columnfractions .2 .8
-@item @strong{¥Õ¥¡¥¤¥ë} @tab @strong{ÌÜŪ}
-@item @code{tbl_name.frm} @tab ¥Æ¡¼¥Ö¥ëÄêµÁ(½ñ¼°)¥Õ¥¡¥¤¥ë
-@item @code{tbl_name.MYD} @tab ¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë
-@item @code{tbl_name.MYI} @tab ¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë
-@end multitable
-
-¥Õ¥£¡¼¥ë¥É¤ËÂФ¹¤ë¼ï¡¹¤Î·¿Â°À­¤Î¾ÜºÙ¤Ï¡¢@ref{Column types}¤ò»²¾È¤Î¤³¤È¡£
-
-@itemize @bullet
-@item
- @code{NULL}¤â@code{NOT NULL}¤â»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥Õ¥£¡¼¥ë¥É¤Ï@code{NULL}¤¬»ØÄꤵ¤ì¤¿¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
-
-@item
- À°¿ô·¿¤Î¥Õ¥£¡¼¥ë¥É¤Ë¤ÏÉղðÀ­@code{AUTO_INCREMENT}¤â»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£@code{AUTO_INCREMENT}¤Î¥Õ¥£¡¼¥ë¥É¤ËÃÍ@code{NULL}Ëô¤Ï@code{0}¤òÁÞÆþ¤·¤¿¾ì¹ç¡¢¥Õ¥£¡¼¥ë¥É¤Ë¤Ï@code{value+1}¤ÎÃͤ¬¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£@code{value}¤Ï¡¢¤½¤Î¥Æ¡¼¥Ö¥ëÆâ¤ÎÅö³º¥Õ¥£¡¼¥ë¥É¤Ë¤ª¤±¤ë¸½ºß¤ÎºÇÂçÃͤǤ¹¡£
-@code{AUTO_INCREMENT} ¤Ï @code{1} ¤«¤é¤Ï¤¸¤Þ¤ê¤Þ¤¹.
-@xref{mysql_insert_id, , @code{mysql_insert_id()}}.
-
- ºï½ü¤·¤¿¥ì¥³¡¼¥É¤¬¡¢@code{AUTO_INCREMENT}¥Õ¥£¡¼¥ë¥É¤ÎºÇÂçÃͤò´Þ¤ó¤Ç¤¤¤¿¾ì¹ç¡¢¤½¤ÎÃͤϼ¡¤ËºÆÍøÍѤµ¤ì¤Þ¤¹(¤¿¤À¤·¡¢¤³¤ì¤Ï ISAM ¥Æ¡¼¥Ö¥ë¤Î¾ì¹ç¤Ç¡¢MyISAM ¥Æ¡¼¥Ö¥ë¤Ç¤Ïµ¯¤³¤ê¤Þ¤»¤ó)¡£
-¤Þ¤¿¡¢¥Æ¡¼¥Ö¥ëÆâ¤ÎÁ´¤Æ¤Î¥ì¥³¡¼¥É¤ò @code{DELETE FROM TABLE} (@code{WHERE}Àá̵¤·¤Ç) ¤ò
-»ÈÍѤ·¤Æºï½ü¤·¤¿¾ì¹ç¤Ï¡¢»Ï¤á¤«¤éºÎÈÖ¤·Ä¾¤·¤Þ¤¹¡£
-
-@strong{Ãí°Õ:} 1¤Ä¤Î¥Æ¡¼¥Ö¥ë¤Ë¤Ï1¤Ä¤·¤«@code{AUTO_INCREMENT}¥Õ¥£¡¼¥ë¥É¤ò»ØÄê¤Ç¤­¤Þ¤»¤ó¡£¤Þ¤¿¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-@strong{MySQL} 3.23 ¤Ï auto_increment ¥Õ¥£¡¼¥ë¥É¤¬Àµ¤Î¿ô¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë
-¤À¤±¡¢Àµ¤·¤¯Æ°ºî¤·¤Þ¤¹¡£Éé¤Î¿ô¤ÎÁÞÆþ¤Ï¤È¤Æ¤âÂ礭¤ÊÀµ¤Î¿ô¤ÎÁÞÆþ¤È¤ß¤Ê¤µ¤ì¤Þ
-¤¹¡£¤³¤ì¤Ï¡¢¿ôÃͤ¬Àµ¤«¤éÉé¤Ø¤Î 'wrap' over ¤¹¤ë»þ¤ÎÀºÅÙ¤ÎÌäÂê¤ò²óÈò¤¹¤ë¤¿
-¤á¤È¡¢¥¢¥¯¥·¥Ç¥ó¥ÈŪ¤Ë 0 ¤ò´Þ¤à auto_increment ¥Õ¥£¡¼¥ë¥É¤òÆÀ¤ë¤³¤È¤¬¤Ê¤¤
-¤³¤È¤ò³Î¼Â¤Ë¤¹¤ë¤¿¤á¤Ë¡¢¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£
-
-@cindex ODBC compatibility
-@cindex Compatibility, with ODBC
-@strong{MySQL} ¤ò¤¤¤¯¤Ä¤«¤Î ODBC ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¸ß´¹¤Ë¤¹¤ë¤¿¤á¤Ë¡¢¼¡¤Î
-¥¯¥¨¥ê¤ÇºÇ¸å¤ËÁÞÆþ¤µ¤ì¤¿¥ì¥³¡¼¥É¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-
-@example
-SELECT * FROM tbl_name WHERE auto_col IS NULL
-@end example
-
-@item
-@code{TIMESTAMP}¥Õ¥£¡¼¥ë¥É¤Ë¤ª¤±¤ë@code{NULL}Ãͤϡ¢Â¾¤Î¥Õ¥£¡¼¥ë¥É°À­¤È°ã¤Ã¤¿°·¤ï¤ìÊý¤ò¤·¤Þ¤¹¡£Äê¿ô@code{NULL}¤ò@code{TIMESTAMP}¥Õ¥£¡¼¥ë¥É¤Ë³ÊǼ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£@code{NULL}ÃͤλØÄê¤Ï¸½ºß»þ¹ï¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£@code{TIMESTAMP}¥Õ¥£¡¼¥ë¥É¤¬¤³¤Î¤è¤¦¤Ë¿¶Éñ¤¦¤Î¤Ç¡¢Ä̾ï¤Ï@code{NULL}°À­¤ä@code{NOT NULL}°À­¤ÏŬÍѤǤ­¤Þ¤»¤ó¡£¤½¤ì¤é¤ò»ØÄꤷ¤Æ¤â̵»ë¤µ¤ì¤Þ¤¹¡£
-
- °ìÊý¡¢@strong{MySQL}¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Ï¡¢¤è¤ê°Â°×¤Ë@code{TIMESTAMP}¥Õ¥£¡¼¥ë¥É¤òÍøÍѤǤ­¡¢¥µ¡¼¥Ð¤â@code{TIMESTAMP}¥Õ¥£¡¼¥ë¥É¤Ø¤Î@code{NULL}¤ÎŬÍѤòÊó¹ð¤·¤Þ¤¹¤¬¡¢@code{TIMESTAMP}¥Õ¥£¡¼¥ë¥É¤Ï¼ÂºÝ¤Ë¤Ï@code{NULL}ÃͤòÊݸ¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£@code{DESCRIBE tbl_name}¤ò»ÈÍѤ·¤Æ¡¢¥Æ¡¼¥Ö¥ëÄêµÁʸ¤ò¼èÆÀ¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¤³¤Î¸½¾Ý¤ò³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
- @code{TIMESTAMP}¥Õ¥£¡¼¥ë¥É¤Ë@code{0}¤ò»ØÄꤹ¤ë¤³¤È¤Ï¡¢@code{NULL}¤ò»ØÄꤹ¤ë¤³¤È¤ÈÅù¤·¤¯¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤Ê¤¼¤Ê¤é¡¢@code{0}¤Ï@code{TIMESTAMP}¤ÎÃͤȤ·¤ÆÉÔÀµ¤Ç¤¢¤ë¤«¤é¤Ç¤¹¡£
-
-@item
-¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤Æ @code{DEFAULT} Ãͤ¬»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¤Ï @strong{MySQL} ¤¬
-¼«Æ°Åª¤Ë¤½¤ì¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£
-
-¥Õ¥£¡¼¥ë¥É¤¬ @code{NULL} ¤òÃͤȤ·¤Æ¼è¤êÆÀ¤ë¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤÏ
-@code{NULL} ¤Ç¤¹¡£
-
-¥Õ¥£¡¼¥ë¥É¤¬ @code{NOT NULL} ¤È¤·¤ÆÀë¸À¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤϥե£¡¼
-¥ë¥É·¿¤Ë°Í¸¤·¤Þ¤¹:
-
-@itemize @minus
-@item
-@code{AUTO_INCREMENT} ÄêµÁ¤µ¤ì¤¿°Ê³°¤Î¿ôÃÍ·¿¤Î¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤Æ¤Ï¡¢
-½é´üÃͤÏ@code{0}¤È¤Ê¤ê¤Þ¤¹¡£
-@code{AUTO_INCREMENT}¥Õ¥£¡¼¥ë¥É¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤϼ¡¤Î¥·¡¼¥±¥ó¥¹ÈÖ¹æ¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@item
-@code{TIMESTAMP} ·¿°Ê³°¤ÎÆüÉÕ·¿¤È»þ¹ï·¿¤Î¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤Æ¤Ï¡¢
-½é´üÃͤϤ½¤Î·¿¤Ë¤ª¤¤¤ÆŬÀÚ¤Ê``¥¼¥í''ÃͤȤʤê¤Þ¤¹¡£
-Îã³°: ¥Õ¥£¡¼¥ë¥É¤¬¤½¤Î¥Æ¡¼¥Ö¥ëÆâ¤ÇºÇ½é¤Î@code{TIMESTAMP}¥Õ¥£¡¼¥ë¥É¤Ç¤¢¤ë¾ì¹ç¡¢½é´üÃͤϸ½ºß»þ¹ï¤Ë¤Ê¤ê¤Þ¤¹¡£
-@xref{Date and time types}.
-
-@item
-@code{ENUM} °Ê³°¤Îʸ»úÎ󷿤Υե£¡¼¥ë¥É¤ËÂФ·¤Æ¤Ï¡¢½é´üÃͤ϶õʸ»úÎó¤È¤Ê¤ê¤Þ¤¹¡£
-@code{ENUM} ¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤϺǽé¤ÎÎóµóÃͤǤ¹¡£
-@end itemize
-
-@item
-@code{KEY}¤Ï¡¢@code{INDEX}¤ÎƱµÁ¸ì¤Ç¤¹¡£
-
-@item
-@strong{MySQL}¤Ç¤Ï¡¢@code{UNIQUE}¥­¡¼¤Ï¸ÇÍ­Ãͤ·¤«»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£´û¤Ë¸ºß¤¹¤ë¥ì¥³¡¼¥É¤È¥­¡¼¤ÎÃͤ¬½ÅÊ£¤¹¤ë¥ì¥³¡¼¥É¤òÁÞÆþ¤·¤è¤¦¤È¤·¤¿¾ì¹ç¡¢¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤¹¡£
-
-@item
-@code{PRIMARY KEY} ¤Ï¥æ¥Ë¡¼¥¯ @code{KEY} ¤Ç¡¢¤¹¤Ù¤Æ¤Î¥­¡¼¥Õ¥£¡¼¥ë¥É¤Ï
-@code{NOT NULL} ¤È¤·¤ÆÄêµÁ¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤¤¤¦ÆÃÊ̤ÊÀ©¸Â¤òȼ¤¤¤Þ¤¹¡£
-@strong{MySQL} ¤Ç¤Ï¥­¡¼¤Ï @code{PRIMARY} ¤È̾ÉÕ¤±¤é¤ì¤Þ¤¹¡£¥Æ¡¼¥Ö¥ë¤Ï
-@code{PRIMARY KEY} ¤ò°ì¤Ä¤À¤±»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£@code{PRIMARY KEY} ¤ò»ý¤¿
-¤Ê¤¤¾ì¹ç¤Ë¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¥Æ¡¼¥Ö¥ëÆâ¤Î @code{PRIMARY KEY} ¤ò¿Ò¤Í¤ë¤È¡¢
-@strong{MySQL} ¤Ï @code{PRIMARY KEY} ¤È¤·¤Æ¡¢@code{NULL} ¥Õ¥£¡¼¥ë¥É¤ò»ý¤¿
-¤Ê¤¤ºÇ½é¤Î @code{UNIQUE} ¥­¡¼¤òÊÖ¤·¤Þ¤¹¡£
-
-@item
-@code{PRIMARY KEY}¤ÏÊ£¿ô¥Õ¥£¡¼¥ë¥É¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤Ç¤­¤Þ¤¹¡£¤·¤«¤·¤Ê¤¬¤é¡¢1¤Ä¤Î¥Õ¥£¡¼¥ë¥ÉÄêµÁÆâ¤Ç¤Ï@code{PRIMARY KEY}°À­¤òÍѤ¤¤ÆÊ£¹ç¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Î¤Ç¡¢¥Õ¥£¡¼¥ë¥ÉÄêµÁÆâ¤Ë¤ª¤±¤ë»ØÄê¤Ï¡¢¥×¥é¥¤¥Þ¥ê¡¦¥­¡¼¤¬Ã±ÆÈ¥Õ¥£¡¼¥ë¥É¤Î¾ì¹ç¤Î¤ß¤È¤·¤Æ²¼¤µ¤¤¡£Ê£¹ç¥Õ¥£¡¼¥ë¥É¤Î¾ì¹ç¤Ï¡¢@code{PRIMARY KEY(index_col_name,...)}ʸ¤ò»ÈÍѤ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-@item
-@code{PRIMARY} ¤ä @code{UNIQUE} ¥­¡¼¤¬£±¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤À¤±¤«¤é¤Ê¤ê¡¢¤½¤Î·¿¤¬À°¿ô¤Î
-¾ì¹ç¡¢¤½¤ì¤ò @code{_rowid} ¤È¤·¤Æ¤â»²¾È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹(3.23.11 ¤Ç¤Î¿·µ¡
-ǽ)¡£
-
-@item
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë̾Á°¤ò³ä¤êÅö¤Æ¤Ê¤¤¾ì¹ç¡¢°ì°Õ¤Ê̾Á°¤òÉÕ¤±¤ë¤¿¤á¤Ë¡¢@code{index_col_name}Æâ¤ÎºÇ½é¤Î¥Õ¥£¡¼¥ë¥É̾¤Ë(@code{_2}, @code{_3}, ...)¤Î¤è¤¦¤Ê¥µ¥Õ¥£¥Ã¥¯¥¹¤òÉղä·¤¿¤â¤Î¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£¥Æ¡¼¥Ö¥ë¤¬»ÈÍѤ·¤Æ¤¤¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹Ì¾¤Ï¡¢@code{SHOW INDEX FROM tbl_name}¤Ë¤è¤ê³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@xref{SHOW, , @code{SHOW}}.
-
-@item
-@cindex @code{NULL} values, and indexes
-@cindex Indexes, and @code{NULL} values
-@code{MyISAM} ¥Æ¡¼¥Ö¥ë¤Î¤ß¤¬¡¢@code{NULL} Ãͤò¤â¤Ä¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤Æ
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Ä¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
-¤½¤Î¾¤Î¥Æ¡¼¥Ö¥ë·¿¤Î¾ì¹ç¡¢¥Õ¥£¡¼¥ë¥É¤ò @code{NOT NULL} ¤ÇÄêµÁ¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-@item
-@code{col_name(length)}ʸ¤ò¶¦¤Ë»ØÄꤹ¤ë¤³¤È¤Ç¡¢@code{CHAR}¥Õ¥£¡¼¥ë¥ÉËô¤Ï@code{VARCHAR}¥Õ¥£¡¼¥ë¥É¤Î°ìÉôʬ¤À¤±¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤·¤ÆÄêµÁ¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤òŬÅ٤˾®¤µ¤¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@xref{Indexes}.
-
-@item
-@cindex @code{BLOB} columns, indexing
-@cindex Indexes, and @code{BLOB} columns
-@cindex @code{TEXT} columns, indexing
-@cindex Indexes, and @code{TEXT} columns
-@code{MyISAM} ¥Æ¡¼¥Ö¥ë·¿¤Î¤ß¤¬¡¢ @code{BLOB} ¤È @code{TEXT} ¥Õ¥£¡¼¥ë¥É¾å¤Ë
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Ä¤³¤È¤¬½ÐÍè¤Þ¤¹¡£ @code{BLOB} ¤È @code{TEXT} ¥Õ¥£¡¼¥ë¥É¤Ë
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÄ¥¤ë¾ì¹ç¡¢¾ï¤Ë¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎŤµ¤ò»ØÄꤷ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡§
-@example
-CREATE TABLE test (blob_col BLOB, index(blob_col(10)));
-@end example
-
-@item
-@code{TEXT}¥Õ¥£¡¼¥ë¥É¤ä@code{BLOB}¥Õ¥£¡¼¥ë¥É¤Ç @code{ORDER BY} ¤ä @code{GROUP BY} ¤ò
-»ÈÍѤ¹¤ë¤È¡¢ºÇ½é¤Î@code{max_sort_length}¥Ð¥¤¥È¤À¤±¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-@xref{BLOB, , @code{BLOB}}.
-
-@item
-@code{FOREIGN KEY}¡¢@code{CHECK}µÚ¤Ó@code{REFERENCES}Àá¤Ï¼ÂºÝ¤Ë¤Ï²¿¤â¹Ô¤¤¤Þ¤»¤ó¡£¤³¤ì¤é¤Î¹½Ê¸¤Ï¡¢¸ß´¹À­¤Î¤¿¤á¤À¤±¤ËÍÑ°Õ¤µ¤ì¤Æ¤ª¤ê¡¢Â¾¤ÎSQL¥µ¡¼¥Ð¤«¤é¤Î¥³¡¼¥É¤Î°Ü¿¢¤òÍưפˤ·¤¿¤ê¡¢»²¾È¾ðÊó¤È¶¦¤Ë¥Æ¡¼¥Ö¥ë¤òºîÀ®¤¹¤ë¤è¤¦¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÆ°ºî¤µ¤»¤ë¤³¤È¤òÌÜŪ¤È¤·¤Æ¤¤¤Þ¤¹¡£
-@xref{Missing functions}.
-
-@item
-Á´¤Æ¤Î@code{NULL}¥Õ¥£¡¼¥ë¥É¤Ï¡¢1¥Ó¥Ã¥È;·×¤Ë¾ÃÈñ¤·¡¢Ä¾¶á¤Î¥Ð¥¤¥È¤Ë´Ý¤á¤é¤ì¤Þ¤¹¡£
-
-@item
-¥ì¥³¡¼¥É¤ÎºÇÂçĹ¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æµá¤á¤é¤ì¤Þ¤¹:
-
-@example
-¥ì¥³¡¼¥É¤ÎŤµ = 1
- + (¥Õ¥£¡¼¥ë¥É¤ÎŤµ¤Î¹ç·×)
- + (NULL¥Õ¥£¡¼¥ë¥É¤Î¿ô + 7)/8
- + (²ÄÊÑĹ¥Õ¥£¡¼¥ë¥É¤Î¿ô)
-@end example
-
-@item @code{table_options} ¤È @code{SELECT} ¥ª¥×¥·¥ç¥ó¤Ï¡¢
-@strong{MySQL} 3.23 °Ê¾å¤Ç¤Î¤ß¼ÂÁõ¤µ¤ì¤Þ¤¹¡£
-
-¥Æ¡¼¥Ö¥ë·¿¤Ï¡§
-
-@multitable @columnfractions .20 .80
-@item ISAM @tab ¥ª¥ê¥¸¥Ê¥ë¤Î¥Æ¡¼¥Ö¥ë @xref{ISAM}.
-@item MyISAM @tab ¿·¤·¤¤¡¢¥Ð¥¤¥Ê¥ê¸ß´¹¤Î¥Æ¡¼¥Ö¥ë @xref{MyISAM}.
-@item HEAP @tab ¤³¤Î¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¤Ï¡¢¥á¥â¥ê¡¼Æâ¤Ë¤Î¤ßÃߤ¨¤é¤ì¤ë @xref{HEAP}.
-@item BDB ¤Þ¤¿¤Ï Berkeley_db @tab ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó°ÂÁ´¤Ê¥Æ¡¼¥Ö¥ë @xref{BDB}.
-@end multitable
-@xref{Table types}.
-
-¤½¤Î¾¤Î¥Æ¡¼¥Ö¥ë¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢¥Æ¡¼¥Ö¥ë¤Î¿¶¤ëÉñ¤¤¤òºÇŬ²½¤·¤Þ¤¹¡£
-¤¿¤¤¤Æ¤¤¤Î¾ì¹ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤òÌÀ¼¨¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£
-ÌÀ¼¨Åª¤Ë»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¤Ï¤¹¤Ù¤Æ¤Î¥Æ¡¼¥Ö¥ë·¿¤ËºîÍѤ·¤Þ¤¹¡£
-
-@multitable @columnfractions .20 .80
-@item @code{AUTO_INCREMENT} @tab ¤¢¤Ê¤¿¤¬¤³¤Î¥Æ¡¼¥Ö¥ë¤Ë¥»¥Ã¥È¤·¤¿¤¤¡¢¼¡¤Î auto_increment ÃÍ
-@item @code{AVG_ROW_LENGTH} @tab ¥Æ¡¼¥Ö¥ë¤Ë´Þ¤Þ¤ì¤ë¥ì¥³¡¼¥É¤ÎŤµ¤Î¤ª¤ª¤è¤½¤ÎÊ¿¶ÑÃÍ¡£ ²ÄÊÑĹ¤Î¥ì¥³¡¼¥É¤ò»ý¤Ä¾ì¹ç¤Ë¤Î¤ß¡¢¤³¤ì¤ò¥»¥Ã¥È¤·¤Þ¤¹¡£
-@item @code{CHECKSUM} @tab @strong{MySQL} ¤ËÁ´¤Æ¤Î¥ì¥³¡¼¥É¤ò¥Á¥§¥Ã¥¯¤µ¤»¤¿¤¤¾ì¹ç¡¢¤³¤ì¤ò 1 ¤Ë¥»¥Ã¥È¤·¤Þ¤¹¡£ (¤³¤ì¤Ï¹¹¿·¤òÃÙ¤¯¤µ¤»¤Þ¤¹¤¬¡¢ÉÔÀ°¹ç¤ÎÀ¸¤¸¤¿¥Æ¡¼¥Ö¥ë¤ò¸«¤Ä¤±½Ð¤·¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹) (MyISAM)
-@item @code{COMMENT} @tab ¥Æ¡¼¥Ö¥ë¤Î¡¢60ʸ»ú¥³¥á¥ó¥È
-@item @code{MAX_ROWS} @tab ¤¢¤Ê¤¿¤¬¥Æ¡¼¥Ö¥ë¤ËÊݸ¤·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤ëºÇÂç¥ì¥³¡¼¥É¿ô¡£
-@item @code{MIN_ROWS} @tab ¤¢¤Ê¤¿¤¬¥Æ¡¼¥Ö¥ë¤ËÊݸ¤·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤ëºÇÄã¥ì¥³¡¼¥É¿ô
-@item @code{PACK_KEYS} @tab ¤è¤ê¾®¤µ¤¤¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¤·¤¿¤¤¤Ê¤é¡¢¤³¤ì¤ò 1 ¤Ë¤·¤Þ¤¹¡£ ¤³¤ì¤Ï¹¹¿·¤òÃÙ¤¯¤·¤Þ¤¹¤¬¡¢Æɤ߽Ф·¤Ï®¤¯¤Ê¤ê¤Þ¤¹ (MyISAM, ISAM).
-@item @code{PASSWORD} @tab @code{.frm} ¥Õ¥¡¥¤¥ë¤ò¥Ñ¥¹¥ï¡¼¥ÉÉÕ¤­¤Ç°Å¹æ²½¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢É¸½à¤Î @strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¤Ê¤Ë¤â¹Ô¤¤¤Þ¤»¤ó¡£
-@item @code{DELAY_KEY_WRITE} @tab ¥Æ¡¼¥Ö¥ë¤¬¥¯¥í¡¼¥º¤µ¤ì¤ë¤Þ¤Ç¥­¡¼¥Æ¡¼¥Ö¥ë¤Î¹¹¿·¤òÁ÷¤é¤»¤¿¤¤¾ì¹ç¡¢1¤ËÀßÄꤷ¤Þ¤¹(MyISAM)¡£
-@item @code{ROW_FORMAT} @tab ¥ì¥³¡¼¥É¤¬¤É¤Î¤è¤¦¤Ë³ÊǼ¤µ¤ì¤ë¤«¤òÄêµÁ¤·¤Þ¤¹(¾­Íè¤Î¤¿¤á)¡£
-@end multitable
-
-@code{MyISAM} ¥Æ¡¼¥Ö¥ë¤ò»ÈÍѤ¹¤ë¤Ê¤é¤Ð¡¢@strong{MySQL} ¤Ï
-@code{max_rows * avg_row_length} ¤ÎÃͤò¡¢¥Æ¡¼¥Ö¥ë¤¬¤É¤Î¤¯¤é¤¤Â礭¤¯¤Ê¤ë¤«
-¤Î¿äÄê¤Ë»ÈÍѤ·¤Þ¤¹¡£
-¤â¤·¡¢¾åµ­¤Î¥ª¥×¥·¥ç¥ó¤ò¤Ê¤Ë¤â»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥Æ¡¼¥Ö¥ë¤ÎºÇÂ祵¥¤¥º¤Ï
-4G ¤Ë¤Ê¤ê¤Þ¤¹¡£(¤«¡¢¤¢¤Ê¤¿¤Î OS ¤¬ 2G ¤·¤«¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤±¤ì¤Ð 2G ¤Þ¤Ç)
-
-@code{PACK_KEYS} ¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ïʸ»úÎó¤À¤±¤ò¥Ñ¥Ã¥¯¤·¡¢¿ôÃÍ
-¤Ï¥Ñ¥Ã¥¯¤·¤Þ¤»¤ó¡£@code{PACK_KEYS=1} ¤ò»ÈÍѤ¹¤ë¤È¤µ¤é¤Ë¿ôÃͤâ¥Ñ¥Ã¥¯¤µ¤ì¤Þ
-¤¹¡£
-
-¥Ð¥¤¥Ê¥ê¿ôÃÍ¥­¡¼¤ò¥Ñ¥Ã¥¯¤¹¤ë»þ¡¢@strong{MySQL} ¤Ï¥×¥ì¥Õ¥£¥Ã¥¯¥¹°µ½Ì¤ò»ÈÍÑ
-¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢Æ±¤¸¿ôÃͤò¿¤¯»ý¤Ä¾ì¹ç¤Ë¤À¤±¤³¤ÎÂ礭¤Ê²¸·Ã¤òÆÀ¤ë¤È¤¤¤¦¤³¤È
-¤ò°ÕÌ£¤·¤Þ¤¹¡£¥×¥ì¥Õ¥£¥Ã¥¯¥¹°µ½Ì¤Ï¡¢Á°¤Î¥­¡¼¤Î²¿¥Ð¥¤¥È¤¬¼¡¤Î¥­¡¼¤ÈƱ¤¸¤Ç¤¢
-¤ë¤«¤ò¼¨¤¹¤¿¤á¤Î;·×¤Ê1¥Ð¥¤¥È¤¬¤¹¤Ù¤Æ¤Î¥­¡¼¤ËɬÍפȤʤ뤳¤È¤ò°ÕÌ£¤·¤Þ¤¹(Ãí
-°Õ: ¥ì¥³¡¼¥É¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ï¡¢°µ½Ì¤Î¸þ¾å¤Î¤¿¤á high-byte-first-order ¤Ç¥­¡¼
-¤Îľ¸å¤Ë³ÊǼ¤µ¤ì¤Þ¤¹)¡£¤³¤ì¤Ï¡¢2¤Ä¤Î¥ì¥³¡¼¥É¤¬Æ±¤¸¥­¡¼Â¿¤¯»ý¤Ä¾ì¹ç¡¢¸å¤Î¤¹
-¤Ù¤Æ¤Î'Ʊ¤¸'¥­¡¼¤ÏÄ̾ï2¥Ð¥¤¥È(¥ì¥³¡¼¥É¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò´Þ¤à)¤À¤±¤òɬÍפȤ¹¤ë
-¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤³¤ì¤ò¡¢Ä̾ï¤Î¥±¡¼¥¹¤ÈÈæ³Ó¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£Ä̾ï¤Î¥±¡¼¥¹¤Ï¡¢
-¸å¤Î¥­¡¼¤Ï'¥­¡¼¤Î³ÊǼ¥µ¥¤¥º' + ¥Ý¥¤¥ó¥¿¥µ¥¤¥º(Ä̾ï4)¤òɬÍפȤ·¤Þ¤¹¡£°ìÊý¡¢
-¤¹¤Ù¤Æ¤Î¥­¡¼¤¬Á´¤¯°Û¤Ê¤Ã¤Æ¤¤¤ë¤È¡¢¥­¡¼¤¬ @code{NULL} Ãͤò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë
-¥­¡¼¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ç¤Ï¡¢¥­¡¼Ëè¤Ë1¥Ð¥¤¥È¤ò¾ÃÈñ¤·¤Þ¤¹(¤³¤Î¾ì¹ç¡¢¥Ñ¥Ã¥¯¤µ¤ì¤¿¥­¡¼
-¤ÎŤµ¤Ï¡¢¥­¡¼¤¬ @code{NULL} ¤Î»þ¤Ë¥Þ¡¼¥¯¤Î¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¤Î¤ÈƱ¤¸¥Ð¥¤¥È
-¿ô¤Ç³ÊǼ¤µ¤ì¤Þ¤¹)¡£
-
-@item
-¤â¤· @code{CREATE STATEMENT} ¤Î¸å¤Ë @code{SELECT} ¤ò»ØÄꤹ¤ë¤Ê¤é¤Ð¡¢
-@strong{MySQL} ¤Ï¡¢@code{SELECT} ¤ÇÊ֤äƤ¯¤ëÁ´¤Æ¤Î¹àÌܤò¼ý¤á¤ë¤¿¤á¤Ë¡¢
-¿·¤·¤¤¥Õ¥£¡¼¥ë¥É¤òºîÀ®¤·¤Þ¤¹¡£
-Î㤨¤Ð¡§
-
-@example
-mysql> CREATE TABLE test (a int not null auto_increment,
- primary key (a), key(b))
- TYPE=HEAP SELECT b,c from test2;
-@end example
-
-¤³¤ì¤Ï 3¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤ò @code{HEAP} ¥Æ¡¼¥Ö¥ë¤ËºîÀ®¤·¤Þ¤¹¡£
-¤â¤·¥Ç¡¼¥¿¤ò¥Æ¡¼¥Ö¥ë¤Ë¥³¥Ô¡¼¤·¤Æ¤¤¤ëºÇÃæ¤Ë¥¨¥é¡¼¤¬µ¯¤­¤¿¤Ê¤é¡¢
-¤³¤Î¥Æ¡¼¥Ö¥ë¤Ï¼«Æ°Åª¤Ë¾Ãµî¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-@code{RAID_TYPE} ¥ª¥×¥·¥ç¥ó¤Ï¡¢Â絬ÌÏ¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤ OS ¾å¤Î
-2G/4G¤ÎÀ©¸Â¤òÇˤë¼ê½õ¤±¤ò¤·¤Þ¤¹¡£¤Þ¤¿¡¢@code{RAID} ¥Ç¥£¥ì¥¯¥È¥ê¤òÊ̤ÎʪÍý
-¥Ç¥£¥¹¥¯¤ËÃÖ¤¯¤³¤È¤Ë¤è¤ê¡¢IO ¥Ü¥È¥ë¥Í¥Ã¥¯¤«¤é¤µ¤é¤Ë®ÅÙ¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ
-¤¹¡£@code{RAID_TYPE} ¤Ï¡¢@strong{MySQL} ¤ò @code{--with-raid} ¤Ç¥³¥ó¥Õ¥£¥°
-¤¹¤ì¤Ð¡¢¤É¤ó¤Ê OS ¾å¤Ç¤âƯ¤­¤Þ¤¹¡£¸½ºß¡¢@code{RAID_TYPE} ¤Ï
-@code{STRIPED} ¤À¤±¤¬µö¤µ¤ì¤Æ¤¤¤Þ¤¹(@code{1} ¤È @code{RAID0} ¤Ï¤³¤ì¤ÎÊÌ̾
-¤Ç¤¹)¡£
-
-@code{RAID_TYPE=STRIPED} ¤ò @code{MyISAM} ¥Æ¡¼¥Ö¥ë¤Ë»ØÄꤹ¤ë¤È¡¢
-@code{MyISAM} ¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥êÃæ¤Ë 00, 01, 02 ¤È¤¤¤¦Ì¾Á°¤Î
-@code{RAID_CHUNKS} ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤½
-¤ì¤¾¤ì¤Ë¡¢@code{MyISAM} ¤Ï @code{table_name.MYD} ¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¡¼¥¿¥Õ¥¡
-¥¤¥ë¤Ë¥Ç¡¼¥¿¤¬½ñ¤­¹þ¤Þ¤ì¤ë»þ¡¢@code{RAID} ¥Ï¥ó¥É¥é¤ÏºÇ½é¤Î
-@code{RAID_CHUNKSIZE} *1024 ¥Ð¥¤¥È¤òºÇ½é¤Î¥Õ¥¡¥¤¥ë¤Ë¡¢¼¡¤Î
-@code{RAID_CHUNKSIZE} *1024 ¥Ð¥¤¥È¤ò¼¡¤Î¥Õ¥¡¥¤¥ë¤Ë¥Þ¥Ã¥×¤·¤Þ¤¹¡£
-@end itemize
-
-
-@node Silent column changes, , CREATE TABLE, CREATE TABLE
-@subsection °ÅÌۤΥե£¡¼¥ë¥ÉÄêµÁÊѹ¹
-
-¤¤¤¯¤Ä¤«¤Î¥±¡¼¥¹¤Ë¤ª¤¤¤Æ@strong{MySQL}¤Ï¡¢@code{CREATE TABLE}¥¹¥Æ¡¼¥È¥á¥ó¥È¤ÇÍ¿¤¨¤é¤ì¤¿¥Õ¥£¡¼¥ë¥ÉÄêµÁ¤ò°ÅÌÛ¤ÎÆâ¤ËÊѹ¹¤·¤Þ¤¹
-(¤³¤ì¤Ï @code{ALTER TABLE} ¤Çµ¯¤­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó)
-
-@itemize @bullet
-@item
-¥Õ¥£¡¼¥ë¥ÉŤ¬4̤Ëþ¤Î@code{VARCHAR}¥Õ¥£¡¼¥ë¥É¤Ï@code{CHAR}¤ËÊѹ¹¤µ¤ì¤Þ¤¹¡£
-
-@item
-¥Æ¡¼¥Ö¥ëÆâ¤Ë¤¤¤¯¤Ä¤«¤Î²ÄÊÑĹ¥Õ¥£¡¼¥ë¥É¤¬¤¢¤ë¾ì¹ç¡¢·ë²ÌŪ¤Ë¥ì¥³¡¼¥ÉÁ´ÂΤ¬²ÄÊÑĹ¤È¤Ê¤ê¤Þ¤¹¡£
-¤½¤Î·ë²Ì¡¢¥Æ¡¼¥Ö¥ë¤¬¤¤¤¯¤Ä¤«¤Î²ÄÊÑĹ¥Õ¥£¡¼¥ë¥É(@code{VARCHAR}¡¢@code{TEXT}µÚ¤Ó@code{BLOB})
-¤ò»ý¤Ä¤Ê¤é¤Ð¡¢3ʸ»ú¤è¤êÂ礭¤¤¥Õ¥£¡¼¥ë¥ÉŤÎÁ´¤Æ¤Î@code{CHAR}¥Õ¥£¡¼¥ë¥É¤Ï¡¢
-@code{VARCHAR}¥Õ¥£¡¼¥ë¥É¤ËÊѹ¹¤µ¤ì¤Þ¤¹¡£
-¤³¤Î¤³¤È¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Î»ÈÍÑÊýË¡¤Ë¤Ï±Æ¶Á¤·¤Þ¤»¤ó¡£
-@strong{MySQL}¤Ç¤Ï¡¢@code{VARCHAR}¤Ïʸ»úÎó¤ò³ÊǼ¤¹¤ë¤¿¤á¤Î1¤Ä¤Î¼êÃʤ˲᤮¤Þ¤»¤ó¡£
-@strong{MySQL}¤Ï¡¢¥¹¥Ú¡¼¥¹Ëä¤á¤Î¥³¥ó¥Ð¡¼¥¸¥ç¥ó¤ò¹Ô¤¤¤Þ¤¹¤·¡¢¥Æ¡¼¥Ö¥ëÁàºî¤â¤è¤ê®¤¯¹Ô¤¤¤Þ¤¹¡£
-@xref{Table types}.
-
-@item
-@code{TIMESTAMP}¥Õ¥£¡¼¥ë¥É¤Îɽ¼¨¥µ¥¤¥º¤Ï¡¢2¡Á14¤ÎÈϰϤζö¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£É½¼¨¥µ¥¤¥º¤ò0¤ä14¤è¤êÂ礭¤¯»ØÄꤷ¤¿¾ì¹ç¡¢¥µ¥¤¥º¤Ï14¤Ë¶¯À©¤µ¤ì¤Þ¤¹¡£1¤«¤é13¤ÎÈϰϤδñ¿ô¤Î¾ì¹ç¡¢Â礭¤¤Êý¤Î¶ö¿ôÃͤ˶¯À©¤µ¤ì¤Þ¤¹¡£
-
-@item
-@code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤Ë¤Ï @code{NULL} ¤òÂåÆþ¤Ç¤­¤Þ¤»¤ó¡¨ @code{NULL} ¤Ï
-¸½ºß¤ÎÆü»þ¤ò¥»¥Ã¥È¤·¤Þ¤¹¡£
-@code{NULL} and @code{NOT NULL} °À­¤ÏÄ̾ï¤ÎÊýË¡¤Ç¤ÏŬÍѤµ¤ì¤º¡¢¤½¤ì¤é¤ò
-Í¿¤¨¤¿¾ì¹ç¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
-@code{DESCRIBE tbl_name} ¤Ï¾ï¤Ë @code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤Ë @code{NULL} Ãͤ¬³ä¤êÅö¤Æ
-¤é¤ì¤¿»ö¤ò¹ð¤²¤Þ¤¹¡£
-
-@item
-@strong{MySQL} ¤Ï¾¤Î SQL ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î»ÈÍѤ·¤Æ¤¤¤ë·¿¤ò @strong{MySQL} ·¿¤Ë
-¥Þ¥Ã¥×¤·¤Þ¤¹¡£ @xref{Other-vendor column types}.
-@end itemize
-
-¤â¤· @strong{MySQL} ¤¬¥Õ¥£¡¼¥ë¥É¤Î·¿¤ò¤¢¤Ê¤¿¤¬»ØÄꤷ¤¿¤â¤Î¤È°ã¤¦¤â¤Î¤Ë¤·¤¿¤«¤É¤¦¤«¤ò
-ÃΤꤿ¤¤¾ì¹ç¡¢¥Æ¡¼¥Ö¥ë¤ÎºîÀ®¡¢alter ¸å¤Ë¡¢ @code{DESCRIBE tbl_name} ¹½Ê¸
-¤òȯ¹Ô¤·¤Þ¤¹¡£
-
-@cindex @code{myisampack}
-@code{myisampack}¤ò»ÈÍѤ·¤Æ¥Æ¡¼¥Ö¥ë¤ò°µ½Ì¤·¤¿¾ì¹ç¡¢Ê̤Υե£¡¼¥ë¥ÉÄêµÁÊѹ¹¤¬¤¢¤ëÄøÅÙµ¯¤³¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-@xref{Compressed format}.
-
-@findex ALTER TABLE
-@node ALTER TABLE, DROP TABLE, CREATE TABLE, Reference
-@section @code{ALTER TABLE}¹½Ê¸
-
-@example
-ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...]
-
-alter_specification:
- ADD [COLUMN] create_definition [FIRST | AFTER column_name ]
- or ADD [COLUMN] (create_definition, create_definition,...)
- or ADD INDEX [index_name] (index_col_name,...)
- or ADD PRIMARY KEY (index_col_name,...)
- or ADD UNIQUE [index_name] (index_col_name,...)
- or ALTER [COLUMN] col_name @{SET DEFAULT literal | DROP DEFAULT@}
- or CHANGE [COLUMN] old_col_name create_definition
- or MODIFY [COLUMN] create_definition
- or DROP [COLUMN] col_name
- or DROP PRIMARY KEY
- or DROP INDEX index_name
- or RENAME [AS] new_tbl_name
- or table_options
-@end example
-
-@code{ALTER TABLE}¤Ï¡¢´û¸¤Î¥Æ¡¼¥Ö¥ë¤Î¹½Â¤Êѹ¹¤ò²Äǽ¤Ë¤·¤Þ¤¹¡£
-Î㤨¤Ð¡¢¥Õ¥£¡¼¥ë¥É¤ÎÄɲääºï½ü¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎºîÀ®¤äÇË´þ¡¢´û¸¤Î¥Õ¥£¡¼¥ë¥É°À­¤ÎÊѹ¹¡¢µÚ¤Ó¥Õ¥£¡¼¥ë¥É¤ä¥Æ¡¼¥Ö¥ë¤½¤Î¤â¤Î¤Î̾Á°¤ÎÊѹ¹¤Ç¤¹¡£
-¤Þ¤¿¡¢¥Æ¡¼¥Ö¥ë¤Î¥³¥á¥ó¥È¤ä¥Æ¡¼¥Ö¥ë¤Î·¿¼°¤òÊѹ¹¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
-@xref{CREATE TABLE, , @code{CREATE TABLE}}.
-
-¤â¤· @code{ALTER TABLE} ¤Ç¥Õ¥£¡¼¥ë¥ÉÄêµÁ¤òÊѤ¨¤Æ¤â @code{DESCRIBE tbl_name} ¤¬
-¥Õ¥£¡¼¥ë¥É¤òÊѹ¹¤·¤Æ¤¤¤Ê¤¤¤È¼¨¤¹¤Ê¤é¡¢¤³¤ì¤Ï @strong{MySQL} ¤¬
- @ref{Silent column changes}. ¤Ë½Ò¤Ù¤Æ¤¤¤ëÍýͳ¤Î°ì¤Ä¤ÇÊѹ¹¤·¤Æ¤¤¤Ê¤¤²ÄǽÀ­¤¬
-¤¢¤ê¤Þ¤¹¡£ Î㤨¤Ð¡¢ @code{VARCHAR} ¥Õ¥£¡¼¥ë¥É¤ò @code{CHAR} ¤Ë¤·¤è¤¦¤È¤¹¤ë¤È,
-@strong{MySQL} ¤Ï¤½¤Î¥Æ¡¼¥Ö¥ë¤Ë¾¤Î²ÄÊÑĹ¤Î¥Õ¥£¡¼¥ë¥É¤¬¤¢¤ë¤«¤®¤ê¡¢
-@code{VARCHAR} ¤Î¤Þ¤Þ¤Ë¤·¤è¤¦¤È¤·¤Þ¤¹¡£
-
-@code{ALTER TABLE}¤Ï¥ª¥ê¥¸¥Ê¥ë¤Î¥Æ¡¼¥Ö¥ë¤Î°ì»þŪ¤Ê¥³¥Ô¡¼¤òºîÀ®¤¹¤ë¤³¤È¤Ë¤è¤êÆ°ºî¤·¤Þ¤¹¡£
-¥³¥Ô¡¼¤Ø¤ÎÊѹ¹ºî¶È¤¬´°Î»¤¹¤ë¤È¡¢¥ª¥ê¥¸¥Ê¥ë¤Î¥Æ¡¼¥Ö¥ë¤Ïºï½ü¤µ¤ì¿·¤·¤¯ºî¤é¤ì¤¿Êý¤Î̾Á°¤¬Êѹ¹¤µ¤ì¤Þ¤¹¡£¤³¤ì¤ÏÁ´¤Æ¤ÎÊѹ¹¤¬¼«Æ°Åª¤Ë¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ¼Â»Ü¤µ¤ì¤ë¤³¤È¤Ë¤è¤ê¡¢¸í¤Ã¤¿Êѹ¹Ìµ¤·¤Ë´°Î»¤·¤Þ¤¹¡£@code{ALTER TABLE}¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë´Ö¡¢¥ª¥ê¥¸¥Ê¥ë¤Î¥Æ¡¼¥Ö¥ë¤Ï¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤éÆɤߤÀ¤·¤¬²Äǽ¤Ç¤¹¡£¤³¤Î¥Æ¡¼¥Ö¥ë¤Ø¤Î¹¹¿·¤ä½ñ¤­¹þ¤ß¤Ï¡¢¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤¬½àÈ÷´°Î»¤È¤Ê¤ë¤Þ¤ÇÃ٤餵¤ì¤Þ¤¹¡£
-
-@itemize @bullet
-@item
-@code{ALTER TABLE}¤ò»È¤¦¤Ë¤Ï¡¢¤½¤Î¥Æ¡¼¥Ö¥ë¤Ë@strong{select}¡¢@strong{insert}¡¢
-@strong{delete}¡¢@strong{update}¡¢@strong{create}¡¢¤½¤ì¤«¤é@strong{drop}
-¸¢¸Â¤¬É¬ÍפǤ¹¡£
-
-@item
-@code{IGNORE}¤ÏANSI SQL92¤ËÂФ¹¤ë@strong{MySQL}¤Î³ÈÄ¥¤Ç¤¹¡£
-¤³¤ì¤Ï¡¢¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤Î¥æ¥Ë¡¼¥¯¥­¡¼¤Ç½ÅÊ£¤¬¤¢¤Ã¤¿¾ì¹ç¤ÎÆ°ºî¤òÀ©¸æ¤·¤Þ¤¹¡£
-@code{IGNORE}¤¬»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¡¢¥³¥Ô¡¼¤Ï°Û¾ï½ªÎ»¤·¡¢¥í¡¼¥ë¥Ð¥Ã¥¯¤µ¤ì¤Þ¤¹¡£
-@code{IGNORE}¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥æ¥Ë¡¼¥¯¥­¡¼¤Î½ÅÊ£¤¬¤¢¤Ã¤¿¥ì¥³¡¼¥É¤ËÂФ·¡¢ºÇ½é¤Î¥ì¥³¡¼¥É¤À¤±¤ò»ÈÍѤ·¡¢Â¾¤Ïºï½ü¤µ¤ì¤Þ¤¹¡£
-
-@item
-1¤Ä¤Î@code{ALTER TABLE}¥¹¥Æ¡¼¥È¥á¥ó¥È¤ÎÃæ¤Ç¡¢@code{ADD}¡¢@code{ALTER}¡¢
-@code{DROP}¡¢¤½¤ì¤«¤é@code{CHANGE}Àá¤ÎÊ£¹çŪ¤Êȯ¹Ô¤¬²Äǽ¤Ç¤¹¡£
-¤³¤ì¤Ï¡¢@code{ALTER TABLE}¥¹¥Æ¡¼¥È¥á¥ó¥ÈËè¤Ë1¤Ä¤À¤±¤·¤«¤³¤ì¤é¤ÎÀá¤ò
-µö¤µ¤Ê¤¤ANSI SQL92¤ËÂФ¹¤ë@strong{MySQL}¤Î³ÈÄ¥¤Ç¤¹¡£
-
-@item
-@code{CHANGE col_name}¡¢@code{DROP col_name}µÚ¤Ó@code{DROP
-INDEX}¤ÏANSI SQL92¤ËÂФ¹¤ë@strong{MySQL}¤Î³ÈÄ¥¤Ç¤¹¡£
-
-@item
-@code{MODIFY} ¤Ï @code{Oracle} ¤Î @code{ALTER TABLE} ³ÈÄ¥¤Ç¤¹¡£
-
-@item
-¥ª¥×¥·¥ç¥ó¸ì@code{COLUMN}¤Ï¼Ø­¤Ç¤¢¤ê¡¢µ­½Ò¤ò¾Ê¤¯¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-
-@item
-¾¤Î¥ª¥×¥·¥ç¥ó̵¤·¤Ç@code{ALTER TABLE tbl_name RENAME AS new_name}¤ò»ÈÍѤ¹¤ë¤È¡¢
-@strong{MySQL}¤Ï@code{tbl_name}¤Ë°ìÃפ¹¤ë¥Æ¡¼¥Ö¥ë¤Î̾Á°¤òñ½ã¤ËÊѹ¹¤·¤Þ¤¹¡£
-¥Æ¥ó¥Ý¥é¥ê¥Æ¡¼¥Ö¥ë¤ÎºîÀ®¤ÏɬÍפȤ·¤Þ¤»¤ó¡£
-
-@item
-@code{create_definition}¤Ï¡¢@code{CREATE TABLE}¤Ë¤ª¤±¤ë@code{ADD}¤ä@code{CHANGE}¤ÈƱ¤¸¹½Ê¸¤ò»ÈÍѤ·¤Þ¤¹¡£
-@xref{CREATE TABLE, , @code{CREATE TABLE}}.
-
-@item
-@code{CHANGE old_col_name create_definition}Àá¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¥Õ¥£¡¼¥ë¥É¤Î̾Á°¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤³¤Î¤è¤¦¤Ê¤³¤È¤ò¹Ô¤¦¤¿¤á¤Ë¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Îµì̾¾Î¤È¿·Ì¾¾Î¡¢¤½¤ì¤«¤é¤½¤Î¥Õ¥£¡¼¥ë¥É¤Î¸½ºß¤Î·¿¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢¤¢¤ë@code{INTEGER}¥Õ¥£¡¼¥ë¥É¤ò@code{a}¤«¤é@code{b}¤ËÊѹ¹¤¹¤ë¾ì¹ç¡¢°Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-
-@example
-mysql> ALTER TABLE t1 CHANGE a b INTEGER;
-@end example
-
-¤â¤·¥Õ¥£¡¼¥ë¥É¤Î̾Á°¤òÊѤ¨¤ë¤³¤È¤Ê¤¯¡¢·¿¤À¤±¤òÊѹ¹¤·¤¿¤¤¾ì¹ç¤Ç¤¢¤Ã¤Æ¤â¡¢
-¤³¤Î @code{CHANGE} ¹½Ê¸¤Ï¡¢¤¿¤È¤¨Æ±¤¸Ì¾Á°¤Ç¤¢¤Ã¤Æ¤â¡¢
-£²¤Ä¤Î̾Á°¤ò»ØÄꤹ¤ë¤è¤¦Í׵ᤷ¤Þ¤¹¡£
-Îã:
-
-@example
-mysql> ALTER TABLE t1 CHANGE b b BIGINT NOT NULL;
-@end example
-
-¤·¤«¤· @strong{MySQL} 3.22.16a ¤«¤é¤Ï, @code{MODIFY} ¤ò»ÈÍѤ·¤Æ¡¢
-̾¾ÎÊѹ¹¤ò¤¹¤ë¤³¤È¤Ê¤¯¥Õ¥£¡¼¥ë¥É¤Î·¿¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@example
-mysql> ALTER TABLE t1 MODIFY b BIGINT NOT NULL;
-@end example
-
-@item
-@code{CHANGE} ¤ä @code{MODIFY} ¤ò»ÈÍѤ·¤Æ¡¢¥Õ¥£¡¼¥ë¥É¤Î°ìÉô¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹
-¤¬Â¸ºß¤¹¤ë¤è¤¦¤Ê¥Õ¥£¡¼¥ë¥É¤òû¤¯¤·¤è¤¦¤È¤·¤Æ¤â(Î㤨¤Ð @code{VARCHAR} ¥Õ¥£¡¼
-¥ë¥É¤ÎºÇ½é¤Î10ʸ»ú¾å¤Ë¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¤¢¤ë¾ì¹ç)¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤µ¤ì¤¿Ê¸»ú¿ô
-¤è¤ê¤â¥Õ¥£¡¼¥ë¥É¤òû¤¯¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
-
-@item
-@code{CHANGE} ¤ä @code{MODIFY} ¤òÍѤ¤¤Æ¥Õ¥£¡¼¥ë¥É¤Î·¿¤òÊѹ¹¤¹¤ë¾ì¹ç¡¢
-@strong{MySQL}¤Ï²Äǽ¤Ê¸Â¤ê¿·¤·¤¤·¿¤Ë¥Ç¡¼¥¿¤ò¥³¥ó¥Ð¡¼¥È¤·¤è¤¦¤È»î¤ß¤Þ¤¹¡£
-
-@item
-@strong{MySQL} 3.22°Ê¹ß¤Ç¤Ï¡¢@code{FIRST}Ëô¤Ï@code{ADD ... AFTER col_name}¤ò»ÈÍѤ·¤Æ¡¢¥Æ¡¼¥Ö¥ë¤Î¥ì¥³¡¼¥ÉÆâ¤Î»ØÄꤷ¤¿°ÌÃ֤ˡ¢¥Õ¥£¡¼¥ë¥É¤òÄɲ乤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Ï(¤½¤Î¥ì¥³¡¼¥É¤Î)ºÇ¸å¤ËÄɲ䵤ì¤Þ¤¹¡£
-
-@item
-@code{ALTER COLUMN}¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Î¿·¤¿¤Ê½é´üÃͤò»ØÄꤷ¤¿¤ê¡¢¥Õ¥£¡¼¥ë¥É¤Î¸Å¤¤½é´üÃͤòºï½ü¤·¤¿¤ê¤·¤Þ¤¹¡£
-¸Å¤¤½é´üÃͤ¬ºï½ü¤µ¤ì¡¢¥Õ¥£¡¼¥ë¥É¤¬@code{NULL}¤òµö¤¹¾ì¹ç¡¢¿·¤¿¤Ê½é´üÃͤÏ@code{NULL}¤È¤Ê¤ê¤Þ¤¹¡£
-@code{NULL}¤¬µö¤µ¤ì¤Ê¤¤¾ì¹ç¡¢@strong{MySQL}¤Ï¤¢¤ë½é´üÃͤò³ä¤êÅö¤Æ¤Þ¤¹¡£
-³ä¤êÅö¤Æ¤ë½é´üÃͤϡ¢
-@ref{CREATE TABLE, , @code{CREATE TABLE}}. ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-
-@item
-@code{DROP INDEX}¤Ï¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤òºï½ü¤·¤Þ¤¹¡£¤³¤ì¤ÏANSI SQL92¤ËÂФ¹¤ë@strong{MySQL}¤Î³ÈÄ¥¤Ç¤¹¡£
-
-@item
-¥Õ¥£¡¼¥ë¥É¤¬¥Æ¡¼¥Ö¥ë¤«¤éºï½ü¤µ¤ì¤ë¤È¡¢¤½¤Î¥Õ¥£¡¼¥ë¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤«¤é¤â¤½¤Î¥Õ¥£¡¼¥ë¥É¤¬ºï½ü¤µ¤ì¤Þ¤¹¡£
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¹½À®¤¹¤ëÁ´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤¬ºï½ü¤µ¤ì¤ë¤È¡¢¤½¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤âºï½ü¤µ¤ì¤Þ¤¹¡£
-
-@item
-@code{DROP PRIMARY KEY}¤Ï¡¢¥×¥é¥¤¥Þ¥ê¡¦¥¤¥ó¥Ç¥Ã¥¯¥¹¤òºï½ü¤·¤Þ¤¹¡£¤â¤·¥×¥é¥¤¥Þ¥ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬Â¸ºß¤·¤Ê¤±¤ì¤Ð¡¢¤½¤Î¥Æ¡¼¥Ö¥ë¤ÎºÇ½é¤Î@code{UNIQUE}¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬ºï½ü¤µ¤ì¤Þ¤¹¡£
-(@strong{MySQL}¤Ï¡¢ÌÀ¼¨Åª¤Ë@code{PRIMARY KEY}¤¬»ØÄꤵ¤ì¤Ê¤±¤ì¤ÐºÇ½é¤Î@code{UNIQUE}¥­¡¼¤ò@code{PRIMARY KEY}¤È¤·¤Æ°·¤¤¤Þ¤¹¡£)
-
-@item
-@findex mysql_info()
-C API´Ø¿ô@code{mysql_info()}¤Ë¤è¤ê¡¢¤É¤ì¤À¤±¤Î¥ì¥³¡¼¥É¤¬¥³¥Ô¡¼¤µ¤ì¤¿¤«¡¢(@code{IGNORE}¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë»þ¤Ï)¤É¤ì¤À¤±¤Î¥ì¥³¡¼¥É¤¬¥æ¥Ë¡¼¥¯¥­¡¼¤Î½ÅÊ£¤Ë¤è¤êºï½ü¤µ¤ì¤¿¤«¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@item
-@cindex Foreign keys
-@cindex References
-@code{FOREIGN KEY}¡¢@code{CHECK}µÚ¤Ó@code{REFERENCES}Àá¤Ï¡¢¼ÂºÝ¤Ë¤Ï
-²¿¤â¤·¤Þ¤»¤ó¡£¤³¤ì¤é¤Î¹½Ê¸¤Ï¡¢¸ß´¹À­¤Î¤¿¤á¤À¤±¤ËÍÑ°Õ¤µ¤ì¤Æ¤ª¤ê¡¢
-¾¤ÎSQL¥µ¡¼¥Ð¤«¤é¤Î¥³¡¼¥É¤Î°Ü¿¢¤òÍưפˤ·¤¿¤ê¡¢
-»²¾È¾ðÊó¤È¶¦¤Ë¥Æ¡¼¥Ö¥ë¤òºîÀ®¤¹¤ë¤è¤¦¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÆ°ºî
-¤µ¤»¤ë¤³¤È¤òÌÜŪ¤È¤·¤Æ¤¤¤Þ¤¹¡£
-@xref{Missing functions}.
-@end itemize
-
-°Ê²¼¤Ï¡¢@code{ALTER TABLE}¤Î»ÈÍÑÎã¤òɽ¤¹Îã¤Ç¤¹¡£
-¼¡¤Ë¼¨¤¹¤è¤¦¤ËºîÀ®¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë@code{t1}¤«¤é»Ï¤á¤Þ¤¹:
-
-@example
-mysql> CREATE TABLE t1 (a INTEGER,b CHAR(10));
-@end example
-
-¥Æ¡¼¥Ö¥ë@code{t1}¤Î̾Á°¤ò@code{t2}¤ËÊѹ¹¤¹¤ë¤Ë¤Ï:
-
-@example
-mysql> ALTER TABLE t1 RENAME t2;
-@end example
-
-¥Õ¥£¡¼¥ë¥É @code{a}¤ò @code{INTEGER} ¤«¤é @code{TINYINT NOT NULL} ¤Ë
-(̾Á°¤ÏƱ¤¸¤Þ¤Þ¤Ç)Êѹ¹¤·¡¢
-@code{b} ¤ò @code{CHAR(10)} ¤«¤é @code{CHAR(20)} ¤ËÊѹ¹¤·¤Ä¤Ä¡¢
-̾Á°¤ò @code{b} ¤«¤é @code{c}¤ËÊѹ¹¤¹¤ë¤Ë¤Ï:
-
-@example
-mysql> ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);
-@end example
-
-@code{TIMESTAMP}¤òÄɲä·¡¢Ì¾Á°¤ò@code{d}¤È¤¹¤ë¤Ë¤Ï:
-
-@example
-mysql> ALTER TABLE t2 ADD d TIMESTAMP;
-@end example
-
-¥Õ¥£¡¼¥ë¥É@code{d}¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÄɲä·¡¢¥Õ¥£¡¼¥ë¥É@code{a}¤ò¥×¥é¥¤¥Þ¥ê¡¦¥­¡¼¤È¤¹¤ë¤Ë¤Ï:
-
-@example
-mysql> ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);
-@end example
-
-¥Õ¥£¡¼¥ë¥É@code{c}¤òºï½ü¤¹¤ë¤Ë¤Ï:
-
-@example
-mysql> ALTER TABLE t2 DROP COLUMN c;
-@end example
-
-@code{c} ¤È¤¤¤¦Ì¾Á°¤Î @code{NULL} ¤òµö²Ä¤·¤Ê¤¤ @code{AUTO_INCREMENT} À°¿ô
-¥Õ¥£¡¼¥ë¥É¤òÄɲä·¡¢ºîÀ®¤¹¤ë¤Ë¤Ï:
-
-@example
-mysql> ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,
- ADD INDEX (c);
-@end example
-
-¤³¤³¤Ç²æ¡¹¤¬ @code{c} ¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹»ØÄꤷ¤¿¤Î¤Ï¡¢ @code{AUTO_INCREMENT} ¥Õ¥£¡¼¥ë¥É¤Ï
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤¢¤ë¤Ù¤­¤À¤«¤é¤Ç¡¢ @code{c} ¤ò @code{NOT NULL} »ØÄꤷ¤Æ¤¤¤ë¤Î¤Ï
-¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥£¡¼¥ë¥É¤Ï @code{NULL} ¤Ë¤Ç¤­¤Ê¤¤¤«¤é¤Ç¤¹¡£
-
-@code{AUTO_INCREMENT} ¥Õ¥£¡¼¥ë¥É¤òÄɲä·¤¿¾ì¹ç¡¢¥Õ¥£¡¼¥ë¥É¤ÎÃͤÏ
-¼«Æ°Åª¤Ë¥·¡¼¥±¥ó¥¹ÈÖ¹æ¤ÇËä¤á¤é¤ì¤Þ¤¹¡£
-
-See also @xref{ALTER TABLE problems, , @code{ALTER TABLE} problems}.
-
-
-@findex DROP TABLE
-@node DROP TABLE, OPTIMIZE TABLE, ALTER TABLE, Reference
-@section @code{DROP TABLE}¹½Ê¸
-
-@example
-DROP TABLE [IF EXISTS] tbl_name [, tbl_name,...]
-@end example
-
-@code{DROP TABLE}¤Ï¡¢1¤ÄËô¤Ï1¤Ä°Ê¾å¤Î¥Æ¡¼¥Ö¥ë¤òÇË´þ¤·¤Þ¤¹¡£¥Æ¡¼¥Ö¥ë¤ÎÁ´¤Æ¤Î¥Ç¡¼¥¿¤È¥Æ¡¼¥Ö¥ëÄêµÁ¤Ï@emph{ÇË´þ}¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Î»ÈÍѤϿµ½Å¤Ë¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡ª
-
-@strong{MySQL} 3.22°Ê¹ß¤Ç¤Ï¡¢¥Æ¡¼¥Ö¥ë¤¬Â¸ºß¤·¤Ê¤¤¤³¤È¤Ëµ¯°ø¤¹¤ë¥¨¥é¡¼¤òËɤ°¤¿¤á¤Ë¡¢¥­¡¼¥ï¡¼¥É @code{IF EXISTS} ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-
-@findex OPTIMIZE TABLE
-@node OPTIMIZE TABLE, CHECK TABLE, DROP TABLE, Reference
-@section @code{OPTIMIZE TABLE}¹½Ê¸
-
-@example
-OPTIMIZE TABLE tbl_name
-@end example
-
-@code{OPTIMIZE TABLE}¤Ï¡¢¥Æ¡¼¥Ö¥ë¤ÎÂçÉôʬ¤òºï½ü¤·¤¿¤ê¡¢²ÄÊÑĹ¤È¤Ê¤Ã¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë(@code{VARCHAR}¡¢@code{BLOB}¤â¤·¤¯¤Ï@code{TEXT}¥Õ¥£¡¼¥ë¥É¤ò»ý¤Ä¥Æ¡¼¥Ö¥ë)¤Ë¿¤¯¤ÎÊѹ¹¤ò²Ã¤¨¤¿¾ì¹ç¤Ë»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-ºï½ü¤µ¤ì¤¿¥ì¥³¡¼¥É¤Ï¥ê¥ó¥¯¥ê¥¹¥È¤Ç°Ý»ý¤µ¤ì¡¢¼¡¤Î@code{INSERT}Áàºî¤Ï¡¢¸Å¤¤¥ì¥³¡¼¥É°ÌÃÖ¤òºÆÍøÍѤ·¤Þ¤¹¡£
-̤»ÈÍÑÎΰè¤òºÆÀ¸¤¹¤ë¤¿¤á¤Ë@code{OPTIMIZE TABLE}¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@code{OPTIMIZE TABLE}¤Ï¡¢¥ª¥ê¥¸¥Ê¥ë¤Î¥Æ¡¼¥Ö¥ë¤Î°ì»þŪ¤Ê¥³¥Ô¡¼¤òºîÀ®¤¹¤ë¤³¤È¤Ë¤è¤êÆ°ºî¤·¤Þ¤¹¡£
-¸Å¤¤¥Æ¡¼¥Ö¥ë¤Ï¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤Ë(̤»ÈÍѥ쥳¡¼¥É¤ò½ü¤¤¤Æ)¥³¥Ô¡¼¤µ¤ì¡¢
-¸µ¤Î¥Æ¡¼¥Ö¥ë¤¬ºï½ü¤µ¤ì¤Æ¤«¤é¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤Î̾Á°¤¬Êѹ¹¤µ¤ì¤Þ¤¹¡£
-@code{OPTIMIZE TABLE}¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë´Ö¡¢¥ª¥ê¥¸¥Ê¥ë¤Î¥Æ¡¼¥Ö¥ë¤Ï¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤éÆɤߤÀ¤·¤¬²Äǽ¤Ç¤¹¡£
-¤³¤Î¥Æ¡¼¥Ö¥ë¤Ø¤Î¹¹¿·¤ä½ñ¤­¹þ¤ß¤Ï¡¢¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤¬½àÈ÷´°Î»¤È¤Ê¤ë¤Þ¤ÇÃ٤餵¤ì¤Þ¤¹¡£
-¤³¤ì¤ÏÁ´¤Æ¤ÎÊѹ¹¤¬¼«Æ°Åª¤Ë¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ¼Â»Ü¤µ¤ì¤ë¤³¤È¤Ë¤è¤ê¡¢¸í¤Ã¤¿Êѹ¹Ìµ¤·¤Ë´°Î»¤·¤Þ¤¹¡£
-
-
-@findex CHECK TABLE
-@node CHECK TABLE, REPAIR TABLE, OPTIMIZE TABLE, Reference
-@section @code{CHECK TABLE} ¹½Ê¸
-
-@example
-CHECK TABLE tbl_name[,tbl_name...] [TYPE = QUICK]
-@end example
-
-¥Æ¡¼¥Ö¥ë¤Î¥¨¥é¡¼¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¼¡¤Î¥Õ¥£¡¼¥ë¥É¤ò»ý¤Ä¥Æ¡¼¥Ö
-¥ë¤òÊÖ¤·¤Þ¤¹:
-
-@multitable @columnfractions .35 .65
-@item Table @tab ¥Æ¡¼¥Ö¥ë̾
-@item Op @tab ¾ï¤Ë 'check'
-@item Msg_type @tab @code{status}, @code{error}, @code{info}, @code{warning} ¤Î°ì¤Ä¡£
-@item Msg_text @tab ¥á¥Ã¥»¡¼¥¸¡£
-@end multitable
-
-Ãí°Õ: ¥Á¥§¥Ã¥¯¤µ¤ì¤¿³Æ¥Æ¡¼¥Ö¥ë¤ËÂФ¹¤ë¾ðÊó¤Î¿¤¯¤Î¥ì¥³¡¼¥É¤¬ÆÀ¤é¤ì¤Þ¤¹¡£ºÇ
-¸å¤Î£±¥ì¥³¡¼¥É¤Ï @code{Msg_type status} ¤Ë¤Ê¤ê¡¢Ä̾ï¤Ï @code{OK} ¤Ç¤¢¤ë¤Ù
-¤­¤Ç¤¹¡£@code{OK} ¤¬ÆÀ¤é¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢¥Æ¡¼¥Ö¥ë¤Î½¤Éü¤òÄ̾ïÄ̤ê¼Â¹Ô¤¹¤Ù¤­¤Ç
-¤¹¡£@xref{Table maintenance}¡£
-
-@code{TYPE=QUICK} ¤¬Í¿¤¨¤é¤ì¤¿¾ì¹ç¤Ï¡¢@strong{MySQL} ¤Ï¸ÇÄêĹ¥ì¥³¡¼¥É¥Æ¡¼
-¥Ö¥ë¤Î¥ì¥³¡¼¥É¤òÁöºº¤·¤Þ¤»¤ó¡£
-
-@code{CHECK TABLE} ¤Ï @code{MyISAM} ¥Æ¡¼¥Ö¥ë¤À¤±¤ÇÆ°ºî¤·¡¢¥Æ¡¼¥Ö¥ë¤ËÂФ¹¤ë
-@code{myisamchk -m table_name} ¤Î¼Â¹Ô¤ÈƱ¤¸¤³¤È¤Ç¤¹¡£
-
-@findex REPAIR TABLE
-@node REPAIR TABLE, DELETE, CHECK TABLE, Reference
-@section @code{REPAIR TABLE} ¹½Ê¸
-
-@example
-REPAIR TABLE tbl_name[,tbl_name...] [TYPE = QUICK]
-@end example
-
-@code{REPAIR TABLE} ¤Ï @code{MyISAM} ¥Æ¡¼¥Ö¥ë¤À¤±¤ÇÆ°ºî¤·¤Þ¤¹¡£¥Æ¡¼¥Ö¥ë¤Ë
-@code{myisamchk -r table_name} ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤ÈƱ¤¸¤Ç¤¹¡£
-
-²õ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ò½¤Éü¤·¤Þ¤¹¡£¥³¥Þ¥ó¥É¤Ï¼¡¤Î¥Õ¥£¡¼¥ë¥É¤ò´Þ¤à¥Æ¡¼¥Ö¥ë¤òÊÖ¤·¤Þ
-¤¹:
-
-@multitable @columnfractions .35 .65
-@item Table @tab ¥Æ¡¼¥Ö¥ë̾
-@item Op @tab ¾ï¤Ë 'repair'
-@item Msg_type @tab @code{status}, @code{error}, @code{info}, @code{warning} ¤Î¤É¤ì¤«
-@item Msg_text @tab ¥á¥Ã¥»¡¼¥¸
-@end multitable
-
-Ãí°Õ: ½¤Éü¤µ¤ì¤¿³Æ¥Æ¡¼¥Ö¥ë¤Î¾ðÊó¤Î¿¤¯¤Î¥ì¥³¡¼¥É¤òÆÀ¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ºÇ¸å
-¤Î£±¥ì¥³¡¼¥É¤Ï @code{Msg_type status} ¤Ë¤Ê¤ê¡¢Ä̾ï¤Ï @code{OK} ¤Ç¤¢¤ë¤Ù¤­
-¤Ç¤¹¡£@code{OK} ¤¬ÆÀ¤é¤ì¤Ê¤±¤ì¤Ð¡¢@code{myisamchk -o} ¤Ç¥Æ¡¼¥Ö¥ë¤Î½¤Éü¤ò»î
-¤ß¤ë¤Ù¤­¤Ç¤¹¡£@code{REPAIR TABLE} ¤Ï¤Þ¤À @code{myisamchk} ¤Î¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç
-¥ó¤ò¼ÂÁõ¤·¤Æ¤¤¤Ê¤¤¤¿¤á¤Ç¤¹¡£¶á¤¤¾­Íè¡¢²æ¡¹¤Ï¤³¤ì¤ò¤è¤ê½ÀÆð¤Ë¤¹¤ëͽÄê¤Ç¤¹¡£
-
-If @code{TYPE=QUICK} is given then @strong{MySQL} will try to do a
-@code{REPAIR} of only the index tree.
-
-@findex DELETE
-@node DELETE, SELECT, REPAIR TABLE, Reference
-@section @code{DELETE}¹½Ê¸
-
-@example
-DELETE [LOW_PRIORITY] FROM tbl_name
- [WHERE where_definition] [LIMIT rows]
-@end example
-
-@code{DELETE}¤Ï¡¢@code{tbl_name}¤è¤ê¡¢@code{where_definition}¤Ë¤ÆÍ¿¤¨¤é¤ì¤¿¾ò·ï¤òËþ¤¿¤¹¥ì¥³¡¼¥É¤òºï½ü¤·¡¢ºï½ü¤µ¤ì¤¿¥ì¥³¡¼¥É¿ô¤òÊÖ¤·¤Þ¤¹¡£
-
-@code{WHERE}Àá¤ò»ØÄꤹ¤ë¤³¤È¤Ê¤·¤Ë@code{DELETE}¤òȯ¹Ô¤·¤¿¾ì¹ç¡¢Á´¤Æ¤Î¥ì¥³¡¼¥É¤¬ºï½ü¤µ¤ì¤Þ¤¹¡£
-@strong{MySQL}¤Ï¡¢¤³¤ì¤ò¶õ¥Æ¡¼¥Ö¥ë¤òºÆºîÀ®¤¹¤ë¤³¤È¤Ç¼Â¸½¤·¤Æ¤ª¤ê¡¢¤³¤ì¤Ï¡¢Á´¤Æ¤Î¥ì¥³¡¼¥É¤ò¼ÂºÝ¤Ëºï½ü¤¹¤ë¤è¤ê¤â¤«¤Ê¤êÁ᤯ưºî¤·¤Þ¤¹¡£
-¤³¤Î¾ì¹ç@code{DELETE}¤Ï¡¢±Æ¶Á¤Î¤¢¤Ã¤¿¥ì¥³¡¼¥É¿ô¤È¤·¤Æ0¤òÊÖ¤·¤Þ¤¹¡£
-(ºÆºîÀ®¤Ï¡¢¸µ¤Î¥Ç¡¼¥¿¤¬³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó¤¹¤ë¤³¤È¤Ê¤¯¼Â»Ü¤µ¤ì¤Þ¤¹¤«¤é¡¢@strong{MySQL}¤Ï¼ÂºÝ¤Ëºï½ü¤µ¤ì¤¿¥ì¥³¡¼¥É¿ô¤òÊÖ¤¹¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£
-¤¿¤È¤¨¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤¬Í𤵤줿¤È¤·¤Æ¤â¡¢¥Æ¡¼¥Ö¥ëÄêµÁ¥Õ¥¡¥¤¥ë@file{tbl_name.frm}¤¬Í­¸ú¤Ç¤¢¤ë¸Â¤ê¡¢¤³¤Î¤è¤¦¤ÊÊýË¡¤Ç¥Æ¡¼¥Ö¥ë¤ÎºÆºîÀ®¤¬²Äǽ¤È¤Ê¤ê¤Þ¤¹¡£)
-
-¤â¤·Á´¤Æ¤Î¥ì¥³¡¼¥É¤òºï½ü¤·¤Æ¤¤¤ë»þ¤Ë¡¢¤¤¤¯¤Ä¤Î¥ì¥³¡¼¥É¤¬¾Ã¤µ¤ì¡¢¤¤¤¯¤Ä¤Î¥ì¥³¡¼¥É¤¬
-¥¹¥Ô¡¼¥É¤òµ¾À·¤Ë¤·¤Æ¤¤¤ë¤Î¤«¡¢ËÜÅö¤ËÃΤꤿ¤¤¤Ê¤é¤Ð¡¢
-@code{DELETE} ¹½Ê¸¤ò°Ê²¼¤Î¤è¤¦¤Ë»ÈÍѤ·¤Þ¤¹¡§
-
-@example
-mysql> DELETE FROM tbl_name WHERE 1>0;
-@end example
-
-¤³¤ì¤Ï @code{DELETE FROM tbl_name} ¤ò @code{WHERE} Àá¤Ê¤·¤Ç¹Ô¤¦¤è¤ê¤â¡¢
-¤È¤Æ¤âÃÙ¤¤¤Ç¤¹¡£¤Ê¤¼¤Ê¤é°ìÅ٤Ǿ佤¦¤È¤¹¤ë¤«¤é¤Ç¤¹¡£
-
-¥­¡¼¥ï¡¼¥É@code{LOW_PRIORITY}¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤Î¥Æ¡¼¥Ö¥ë¤òÆɤó¤Ç¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤¬¤¤¤Ê¤¯¤Ê¤ë¤Þ¤Ç@code{DELETE}¤Î¼Â¹Ô¤ÏÃ٤餻¤é¤ì¤Þ¤¹¡£
-
-ºï½ü¤µ¤ì¤¿¥ì¥³¡¼¥É¤Ï¥ê¥ó¥¯¥ê¥¹¥È¤Ç°Ý»ý¤µ¤ì¡¢¼¡¤Î@code{INSERT}Áàºî¤Ï¡¢¸Å¤¤¥ì¥³¡¼¥É°ÌÃÖ¤òºÆÍøÍѤ·¤Þ¤¹¡£
-¥Õ¥¡¥¤¥ë¤ò¤è¤ê¾®¤µ¤¯¤·¤¿¤¤¾ì¹ç¤Ï¡¢@code{OPTIMIZE TABLE}¥¹¥Æ¡¼¥È¥á¥ó¥È¤«¥Æ¡¼¥Ö¥ë¤ÎºÆÊÔÀ®¤Î¤¿¤á¤Ë@code{myisamchk}¥æ¥Æ¥£¥ê¥Æ¥£¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-@code{OPTIMIZE TABLE}¤ÎÊý¤¬´Êñ¤Ç¤¹¤¬¡¢@code{myisamchk}¤ÎÊý¤¬Á᤯ưºî¤·¤Þ¤¹¡£
-@xref{OPTIMIZE TABLE, , @code{OPTIMIZE TABLE}}, ¤È
-@ref{Optimization}.
-
-@strong{MySQL}-Æò½ @code{DELETE} ¤Î @code{LIMIT rows} ¥ª¥×¥·¥ç¥ó¤Ï
-¥µ¡¼¥Ð¡¼¤Ë¾Ã¤¹ºÇÂç¤Î¥ì¥³¡¼¥É¿ô¤ò¤Ä¤²¤Þ¤¹¡£¤³¤ì¤Ï @code{DELETE} ¥³¥Þ¥ó¥É¤¬
-¤¢¤Þ¤ê¤Ë¿¤¯¤Î»þ´Ö¤ò¼è¤é¤Ê¤¤¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-@code{LIMIT} Ãͤè¤ê¤â affected row ¤Î¿ô¤¬¾¯¤Ê¤¯¤Ê¤ë¤Þ¤Ç¡¢
-ñ½ã¤Ë @code{DELETE} ¥³¥Þ¥ó¥É¤ò·«¤êÊÖ¤¹¤À¤±¤Ç¤¹¡£
-
-@findex SELECT
-@node SELECT, JOIN, DELETE, Reference
-@section @code{SELECT}¹½Ê¸
-
-@example
-SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
- [HIGH_PRIORITY]
- [DISTINCT | DISTINCTROW | ALL]
- select_expression,...
- [INTO @{OUTFILE | DUMPFILE@} 'file_name' export_options]
- [FROM table_references
- [WHERE where_definition]
- [GROUP BY @{unsigned_integer | col_name | formula@}]
- [HAVING where_definition]
- [ORDER BY @{unsigned_integer | col_name | formula@} [ASC | DESC] ,...]
- [LIMIT [offset,] rows]
- [PROCEDURE procedure_name] ]
-@end example
-
-@code{SELECT}¤ÏÄ̾1¤Ä¤Þ¤¿¤Ï1¤Ä°Ê¾å¤Î¥Æ¡¼¥Ö¥ë¤«¤é¥ì¥³¡¼¥É¤ò¸¡º÷¤·¤ÆÃê½Ð¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-@code{select_expression} ¤Ï¼è¤ê½Ð¤·¤¿¤¤¥Õ¥£¡¼¥ë¥É¤ò¼¨¤·¤Þ¤¹¡£
-@code{SELECT}¤Ï¤Þ¤¿¡¢¥Æ¡¼¥Ö¥ë¤Î»²¾È¤Ê¤·¤Ë·×»»¤Ë¤è¤Ã¤Æµá¤á¤é¤ì¤¿¥ì¥³¡¼¥É¤ò¼è¤ê½Ð¤¹¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£Îã:
-
-@example
-mysql> SELECT 1 + 1;
- -> 2
-@end example
-
-Á´¤Æ¤Î¥­¡¼¥ï¡¼¥É¤Î»ÈÍѤϡ¢¾åµ­¤Ë¼¨¤¹¤è¤¦¤Ê½ç½ø¤ÇÀµ³Î¤ËÍ¿¤¨¤é¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢@code{HAVING}Àá¤Ïɬ¤º@code{GROUP BY}Àá¤Î¸å¡¢@code{ORDER BY}Àá¤ÎÁ°¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-@itemize @bullet
-
-@item
-@cindex Aliases, on expressions
-@cindex Expression aliases
-@code{SELECT}¤Îɽ¸½¤Ç¤Ï¡¢@code{AS}¤Ë¤è¤ëÊÌ̾¤Î»ØÄ꤬²Äǽ¤Ç¤¹¡£ÊÌ̾¤Ï¡¢¥Õ¥£¡¼¥ë¥É̾¤Îɽ¸½¤È¤·¤Æ»È¤ï¤ì¡¢@code{ORDER BY}µÚ¤Ó@code{HAVING}Àá¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-Îã:
-
-@example
-mysql> select concat(last_name,', ',first_name) AS full_name
- from mytable ORDER BY full_name;
-@end example
-
-@item
-@code{FROM table_references}Àá¤Ï¡¢(Î㤨¤Ð¡¢ÁªÂò¤¹¤ë¥ì¥³¡¼¥É¤Ë¤è¤ê¡¢1¤ÄËô¤Ï¤½¤ì°Ê¾å¤Î)·ë¹ç¤¹¤ë¥Æ¡¼¥Ö¥ë¤Î¥ê¥¹¥È¤ò¼¨¤·¤Þ¤¹¡£
-¤³¤Î¥ê¥¹¥È¤Ï¤Þ¤¿¡¢@code{LEFT OUTER JOIN}»²¾È¤ò´Þ¤à¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-@xref{JOIN, , @code{JOIN}}.
-
-@item
-@code{col_name}¡¢@code{tbl_name.col_name}¡¢@code{db_name.tbl_name.col_name}¤Î¤è¤¦¤Ë¤·¤Æ¥Õ¥£¡¼¥ë¥É¤òɽ¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@code{SELECT}¥¹¥Æ¡¼¥È¥á¥ó¥ÈÆâ¤Ç¤ÎÎó¤Î»²¾È¤¬Û£Ëæ¤Ç¤Ê¤±¤ì¤Ð¡¢@code{tbl_name}¤ä@code{db_name.tbl_name}¤Î¤è¤¦¤Ê¥×¥ê¥Õ¥£¥Ã¥¯¥¹¤ò¾ÜºÙ¤Ëµ­½Ò¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-¤è¤êÌÀ¼¨Åª¤Ê¥Õ¥£¡¼¥ë¥É¤Î»ØÄê·Á¼°¤ò¤òɬÍפȤ¹¤ëÛ£Ëæ¤Ê»²¾È¤ÎÎã¤Ï¡¢@ref{Legal names}¤ò»²¾È¤Î¤³¤È¡£
-
-@item
-@cindex Aliases, for tables
-@cindex Table aliases
-¥Æ¡¼¥Ö¥ë»²¾È¤Ï¡¢@code{tbl_name AS alias_name}Ëô¤Ï@code{tbl_name alias_name}¤ò»È¤Ã¤ÆÊÌ̾¤ò»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-
-@example
-mysql> select t1.name, t2.salary from employee AS t1, info AS t2
- where t1.name = t2.name;
-mysql> select t1.name, t2.salary from employee t1, info t2
- where t1.name = t2.name;
-@end example
-
-@item
-@code{LIKE}¤Îɽ¸½¤Ë¤ª¤¤¤Æ¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¡¦¥­¥ã¥é¥¯¥¿¤Ç¤¢¤ë@samp{%}¤ä@samp{_}
-¤Ï¡¢¤³¤ì¤é¤ÎÄ̾ï¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤È¤·¤Æ¤Î°ÕÌ£¤òÍÞÀ©¤¹¤ë¤¿¤á¤Ë@samp{\}¤Î¸å¤ËÃÖ¤«¤ì¤ë¤³¤È¤Ë¤è¤ê¡¢Äê¿ô@samp{%}¤ä@samp{_}¤Î¸¡º÷¤Ë»È¤ï¤ì¤Þ¤¹¡£
-
-@item
-½ÐÎÏÍѤËÁªÂò¤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¤Ï¡¢@code{ORDER BY}Àá¤ä@code{GROUP BY}Àá¤Ë¤ª¤¤¤Æ¡¢¥Õ¥£¡¼¥ë¥É̾¡¢¥Õ¥£¡¼¥ë¥É¤Î¥¨¥¤¥ê¥¢¥¹Ì¾¡¢Ëô¤Ï¥Õ¥£¡¼¥ë¥ÉÈÖ¹æ¤Ë¤Æ»Ø¤·¼¨¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Õ¥£¡¼¥ë¥ÉÈÖ¹æ¤Ï1¤«¤é»Ï¤Þ¤ê¤Þ¤¹¡£
-
-@example
-mysql> select college, region, seed from tournament
- ORDER BY region, seed;
-mysql> select college, region AS r, seed AS s from tournament
- ORDER BY r, s;
-mysql> select college, region, seed from tournament
- ORDER BY 2, 3;
-@end example
-
-µÕ½ç¤Çʤ٤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ @code{ORDER BY} Àá¤ÎÃæ¤Ç¡¢¤¢¤Ê¤¿¤¬Ê¤٤¿¤¤¤È»×¤Ã¤Æ¤¤¤ë
-¥Õ¥£¡¼¥ë¥É¤Î̾Á°¤Î¸å¤í¤Ë¡¢ @code{DESC} (descending) ¥­¡¼¥ï¡¼¥É¤ò
-Äɲä·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ï¾º½ç¤Ç¤¹¡¨ ¤³¤ì¤Ï @code{ASC} ¥­¡¼¥ï¡¼¥É¤ò»ØÄꤷ¤¿¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@item
-@code{HAVING}Àá¤Ï¡¢@code{select_expression}¤Ë¤ª¤¤¤Æ¤É¤Î¥Õ¥£¡¼¥ë¥É¤Î̾Á°¤ä¥¨¥¤¥ê¥¢¥¹Ì¾¤Ç¤â»Ø¤·¼¨¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤³¤ì¤ÏºÇ¸å¤ËŬÍѤµ¤ì¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ë¥¢¥¤¥Æ¥à¤¬Á÷¤é¤ì¤ëľÁ°¤Ë¼Â¹Ô¤µ¤ì¤ë¤Î¤Ç¡¢ºÇŬ²½¤µ¤ì¤Þ¤»¤ó¡£
-@code{WHERE}Àá¤Ç½ñ¤¯¤Ù¤­¤â¤Î¤Ë@code{HAVING}¤òÍѤ¤¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
-Î㤨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë½ñ¤¤¤Æ¤Ï¤¤¤±¤Þ¤»¤ó:
-
-@example
-mysql> select col_name from tbl_name HAVING col_name > 0;
-@end example
-
-¤½¤ÎÂå¤ï¤ê¤Ë¡¢¼¡¤Î¤è¤¦¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤:
-
-@example
-mysql> select col_name from tbl_name WHERE col_name > 0;
-@end example
-
-@strong{MySQL} 3.22.5°Ê¹ß¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥¯¥¨¥ê¤òµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-
-@example
-mysql> select user,max(salary) from users
- group by user HAVING max(salary)>10;
-@end example
-
-@strong{MySQL}¤Î¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢¤³¤ÎÂå¤ï¤ê¤Ë¼¡¤Î¤è¤¦¤Ëµ­½Ò¤Ç¤­¤Þ¤¹:
-
-@example
-mysql> select user,max(salary) AS sum from users
- group by user HAVING sum>10;
-@end example
-
-@item
-@code{SQL_SMALL_RESULT}, @code{SQL_BIG_RESULT}, @code{SQL_BUFFER_RESULT},
-@code{STRAIGHT_JOIN}, @code{HIGH_PRIORITY} ¤Ï ANSI SQL92 ¤ËÂФ¹¤ë @strong{MySQL} ³ÈÄ¥¤Ç¤¹¡£
-
-@item
-@code{HIGH_PRIORITY} ¤Ï¡¢¥Æ¡¼¥Ö¥ë¤Î¹¹¿·¤è¤ê¤â @code{SELECT} ¤òÍ¥À褵¤»¤Þ¤¹¡£
-¤³¤ì¤Ï°ìÅ٤Ǵ°Î»¤¹¤ë¡¢¤È¤Æ¤â®¤¤¥¯¥¨¥ê¤Ë¤Î¤ßŬÍѤ¹¤Ù¤­¤Ç¤¹¡£
-¤â¤·¥ê¡¼¥É¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¤¬¤¢¤Ã¤¿¤È¤·¡¢
-¤¿¤È¤¨ update ʸ¤¬¤³¤Î¥Æ¡¼¥Ö¥ë¤Î²ò½ü¤òÂԤäƤ¤¤¿¤È¤·¤Æ¤â¡¢
-@code{SELECT HIGH_PRIORITY} ¥¯¥¨¥ê¤Ï¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-
-@item
-@code{SQL_BIG_RESULT} ¤Ï @code{GROUP BY} ¤ä @code{DISTINCT} ¤È¶¦¤Ë»ÈÍѤ¹¤ë
-»ö¤¬¤Ç¤­¡¢·ë²Ì¥»¥Ã¥È¤¬Â¿¤¯¤Î¥ì¥³¡¼¥É¤ò»ý¤Ä¤³¤È¤ò¥ª¥×¥Æ¥£¥Þ¥¤¥¶¤ËÃΤ餻¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢É¬Íפʤé @strong{MySQL} ¤Ï¥Ç¥£¥¹¥¯¥Ù¡¼¥¹¤Î°ì»þ¥Æ¡¼¥Ö¥ë¤òľÀÜ»ÈÍÑ
-¤·¤Þ¤¹¡£@code{MySQL} ¤Ï¤³¤Î¾ì¹ç¡¢@code{GROUP BY} Í×ÁǾå¤Î¥­¡¼¤Ç°ì»þ¥Æ¡¼¥Ö
-¥ë¤ò¹Ô¤Ê¤¦Âå¤ï¤ê¤Ë¥½¡¼¥È¤ò¹Ô¤Ê¤¦¤³¤È¤òÁªÂò¤·¤Þ¤¹¡£
-
-@item
-@code{SQL_SMALL_RESULT} (@strong{MySQL} ¸ÇÍ­¤Î¥ª¥×¥·¥ç¥ó) ¤Ï @code{GROUP BY}
-¤« @code{DISTINCT} ¤È¶¦¤Ë»ÈÍѤ¹¤ë»ö¤¬¤Ç¤­¡¢
-·ë²Ì¥»¥Ã¥È¤¬¾®¤µ¤¯¤Ê¤ë¤³¤È¤ò¥ª¥×¥Æ¥£¥Þ¥¤¥¶¤ËÃΤ餻¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢
-@strong{MySQL} ¤Ï¥½¡¼¥È¤¹¤ëÂå¤ï¤ê¤Ë¡¢Â®¤¤°ì»þ¥Æ¡¼¥Ö¥ë¤ò·ë²Ì¤ÎÊݸ¤Î¤¿
-¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£ @strong{MySQL} 3.23 ¤Ç¤Ï¡¢¤³¤ì¤ÏÄ̾ïɬÍפǤϤ¢¤ê¤Þ¤»¤ó¡£
-
-@item
-@code{STRAIGHT_JOIN}¤Ï¡¢@code{FROM}Àá¤Ë¤Æµ­½Ò¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤Î½ç½ø¤Ë½¾¤Ã¤Æ·ë¹ç¤¹¤ë¤è¤¦¡¢¥ª¥×¥Æ¥£¥Þ¥¤¥¶¤Ë¶¯À©¤·¤Þ¤¹¡£¥ª¥×¥Æ¥£¥Þ¥¤¥¶¤¬¡¢¥Æ¡¼¥Ö¥ë¤òºÇŬ¤Ê½ç½ø¤Ç·ë¹ç¤·¤Ê¤¤¾ì¹ç¤Ë¡¢¥¯¥¨¥ê¤Î¥¹¥Ô¡¼¥É¥¢¥Ã¥×¤Î¤¿¤á¤Ë¤³¤ì¤ò»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-@xref{EXPLAIN, , @code{EXPLAIN}}.
-
-@item
-@code{LIMIT} Àá¤Ï¡¢ @code{SELECT} ¹½Ê¸¤ÇÊÖ¤µ¤ì¤ë¥ì¥³¡¼¥É¿ô¤ò»ØÄꤹ¤ë¤Î¤Ë
-»ÈÍѤµ¤ì¤Þ¤¹¡£ @code{LIMIT} ¤Ï°ì¤Ä¤«Æó¤Ä¤Î¿ô»ú¤Î°ú¿ô¤ò¼è¤ê¤Þ¤¹¡£
-
-°ú¿ô¤¬2¤ÄÍ¿¤¨¤é¤ì¤¿¤Ê¤é¤Ð¡¢ºÇ½é¤Î°ú¿ô¤ÏºÇ½é¤Î¥ì¥³¡¼¥É¤«¤é¤Î¥ª¥Õ¥»¥Ã¥È¤ò¼¨¤·¡¢2¤Ä¤á¤Î°ú¿ô¤ÏÊÖ¤¹¥ì¥³¡¼¥É¤ÎºÇÂç¿ô¤ò¼¨¤·¤Þ¤¹¡£
-½é¤á¤Î¥ì¥³¡¼¥É¤Î¥ª¥Õ¥»¥Ã¥È¤Ï0¤Ç¤¹(1¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó)¡£
-
-@example
-mysql> select * from table LIMIT 5,10; # 6¡Á15¹ÔÌܤòÊÖ¤¹
-@end example
-
-¤â¤·°ú¿ô¤¬°ì¤Ä¤Ê¤é¡¢ÊÖ¤¹¤Ù¤­¥ì¥³¡¼¥É¤ÎºÇÂç¹Ô¿ô¤ò»ØÄꤷ¤¿¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@example
-mysql> select * from table LIMIT 5; # ºÇ½é¤Î5¹Ô¤ò¼è¤ê½Ð¤¹
-@end example
-
-¤¤¤¤¤«¤¨¤ì¤Ð¡¢@code{LIMIT n} ¤Ï @code{LIMIT 0,n} ¤ÈƱ¤¸¤Ç¤¹¡£
-
-@item
-@tindex /etc/passwd
-@code{SELECT}¤Î½ñ¼°¡¢@code{SELECT ... INTO OUTFILE 'file_name'}¤Ï¡¢ÁªÂò¤µ¤ì¤¿¥ì¥³¡¼¥É¤ò¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£
-¥Õ¥¡¥¤¥ë¤Ï¥µ¡¼¥Ðµ¡¤ËºîÀ®¤µ¤ì¡¢´û¤Ë¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó(@file{/etc/passwd}¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤ÎÇ˲õ¤òËɻߤ·¤Þ¤¹)¡£
-@code{SELECT ... INTO OUTFILE}¤Ï¡¢@code{LOAD DATA INFILE}¤ÎµÕ¤Ç¤¹¡£@code{export_options}¤Î¹½Ê¸¤Ï¡¢@code{LOAD DATA INFILE}¥¹¥Æ¡¼¥È¥á¥ó¥È¤Î°ìÉô¤Ç»È¤ï¤ì¤ë@code{FIELDS}Àá¤ä@code{LINES}Àá¤ÈƱ¤¸¤è¤¦¤Ê¹½À®¤Ç¤¹¡£
-@xref{LOAD DATA, , @code{LOAD DATA}}.
-
-@code{INTO OUTFILE}¤ò»È¤¦¤È¤­¡¢¥¨¥¹¥±¡¼¥×¡¦¥­¥ã¥é¥¯¥¿¡¢@code{ASCII 0} (nul)¡¢¤½¤·¤ÆÁ´¤Æ¤Î¥¿¡¼¥ß¥Í¡¼¥¿¡¦¥­¥ã¥é¥¯¥¿¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥¨¥¹¥±¡¼¥×¤µ¤ì¤ë¤³¤È¤Ëµ¤¤ò¤Ä¤±¤Æ¤¯¤À¤µ¤¤¡£
-@xref{LOAD DATA, , @code{LOAD DATA}}.
-
-·ë²Ì¤È¤·¤Æ¼è¤ê½Ð¤µ¤ì¤ë¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢
-°Ê²¼¤Ë¼¨¤¹Ê¸»ú¤¬ @code{ESCAPED BY} »ØÄê¤Îʸ»ú¤Ë¤è¤Ã¤Æ¥¨¥¹¥±¡¼¥×¤µ¤ì¤Þ¤¹¡§
-
-@itemize @bullet
-@item @code{ESCAPED BY} ʸ»ú¼«¿È
-@item @code{FIELDS TERMINATED BY} ¤ÎºÇ½é¤Îʸ»ú
-@item @code{LINES TERMINATED BY} ¤ÎºÇ½é¤Îʸ»ú
-@end itemize
-
-¤µ¤é¤Ë¡¢ @code{ASCII 0} ¤Ï¡¢@code{ESCAPED BY} 0 (@code{ASCII 48}) ¤Ë¥³¥ó¥Ð¡¼¥È¤µ¤ì¤Þ¤¹¡£
-
-¤¤¤«¤Ê¤ë @code{FIELDS TERMINATED BY}, @code{ESCAPED BY}, @code{LINES TERMINATED BY}
-»ØÄꤵ¤ì¤Æ¤¤¤ëʸ»ú¤â¡¢¥¨¥¹¥±¡¼¥×¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤Íýͳ¤Ï¡¢
-¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤òÆɤßÊÖ¤»¤ì¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ê¤Î¤Ç¤¹¡£
-@code{ASCII 0} ¤Ï¤¤¤¯¤Ä¤«¤Î¥Ú¡¼¥¸¥ã¡¼¤Ç¤â¸«¤ì¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë
-¥¨¥¹¥±¡¼¥×¤µ¤ì¤ë¤Î¤Ç¤¹¡£
-
-·ë²Ì¤Î¥Õ¥¡¥¤¥ë¤Ï SQL ¤Îʸ¤ò´Þ¤ó¤Ç¤¤¤Ê¤¤¤Î¤Ç¡¢²¿¤â¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-@end itemize
-
-@findex DUMPFILE
-@code{INTO OUTFILE} ¤ÎÂå¤ï¤ê¤Ë @code{INTO DUMPFILE} ¤ò»ÈÍѤ¹¤ë¤È¡¢
-@strong{MySQL} ¤Ï¥Õ¥¡¥¤¥ë¤Ë£±¥ì¥³¡¼¥É¤À¤±¤ò½ñ¤­¤Þ¤¹¡£¥Õ¥£¡¼¥ë¥É¤ä¹Ô¤Î½ªÃ¼
-¤È¤¹¤Ù¤Æ¤Î¥¨¥¹¥±¡¼¥×¤ò´Þ¤ß¤Þ¤»¤ó¡£¤³¤ì¤Ï¥Õ¥¡¥¤¥ëÆâ¤Ë BLOB ¤ò³ÊǼ¤·¤¿¤¤¾ì¹ç
-¤ËÊØÍø¤Ç¤¹¡£
-
-@findex JOIN
-@findex INNER JOIN
-@findex CROSS JOIN
-@findex LEFT JOIN
-@findex LEFT OUTER JOIN
-@findex NATURAL LEFT JOIN
-@findex NATURAL LEFT OUTER JOIN
-@findex STRAIGHT_JOIN
-@node JOIN, INSERT, SELECT, Reference
-@section @code{JOIN} ¹½Ê¸
-
-@strong{MySQL}¤Ï¡¢°Ê²¼¤Ë¼¨¤¹@code{SELECT}¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ë¤ª¤±¤ë@code{JOIN}¹½Ê¸¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹:
-
-@example
-table_reference, table_reference
-table_reference [CROSS] JOIN table_reference
-table_reference INNER JOIN table_reference join_condition
-table_reference STRAIGHT_JOIN table_reference
-table_reference LEFT [OUTER] JOIN table_reference join_condition
-table_reference LEFT [OUTER] JOIN table_reference
-table_reference NATURAL [LEFT [OUTER]] JOIN table_reference
-@{ oj table_reference LEFT OUTER JOIN table_reference ON conditional_expr @}
-@end example
-
-Where @code{table_reference} is defined as
-@example
-table_name [[AS] alias] [USE INDEX (key_list)] [IGNORE INDEX (key_list)]
-@end example
-
-and @code{join_condition} is defined as
-
-@example
-ON conditional_expr |
-USING (column_list)
-@end example
-
-Note that in version before 3.23.16 the @code{INNER JOIN} didn't take
-a join condition!
-
-@cindex ODBC compatibility
-@cindex Compatibility, with ODBC
-¾å¤Ë¼¨¤¹ºÇ¸å¤Î@code{LEFT OUTER JOIN}¹½Ê¸¤Ï¡¢ODBC¤È¤Î¸ß´¹À­¤Î¤¿¤á¤À¤±¤Ë¸ºß¤·¤Þ¤¹¡£
-
-@itemize @bullet
-@item
-table reference¤Ï¡¢@code{tbl_name AS alias_name}¤ä@code{tblname alias_name}¤Ë¤è¤ëÊÌ̾¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@example
-mysql> select t1.name, t2.salary from employee AS t1, info AS t2
- where t1.name = t2.name;
-@end example
-
-@item
-@code{INNER JOIN}¤È@code{,} (¥³¥ó¥Þ)¤Ï¡¢Æ±µÁ¸ì¤Ç¤¹¡£¤É¤Á¤é¤â»ÈÍѤµ¤ì¤ë¥Æ¡¼¥Ö¥ë´Ö¤ÎľÀѤò¤È¤ê¤Þ¤¹¡£Ä̾ï¤Ï@code{WHERE}¾ò·ï¤Ë¤Æ¡¢¥Æ¡¼¥Ö¥ë¤¬¤É¤Î¤è¤¦¤Ë¥ê¥ó¥¯¤µ¤ì¤ë¤Ù¤­¤«¤òÄêµÁ¤·¤Þ¤¹¡£
-
-@item
-@code{ON}¾ò·ïÀá¤Ï¡¢@code{WHERE}Àá¤Ç»ÈÍѤµ¤ì¤ë¤è¤¦¤Ê¾ò·ïʸ¤Î½ñ¼°¤Ç¤¹¡£
-
-@item
-¤â¤·¡¢@code{LEFT JOIN} ¤Î @code{ON} ¤ä @code{USING} ¤Ë¤ª¤¤¤Æ
-±¦Â¦¤Î¥Æ¡¼¥Ö¥ë¤Ë¥Þ¥Ã¥Á¤¹¤ë¥ì¥³¡¼¥É¤¬Ìµ¤«¤Ã¤¿¾ì¹ç¡¢
-Á´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤¬@code{NULL}¤Ç¤¢¤ë1¤Ä¤Î¥ì¥³¡¼¥É¤¬¡¢±¦Â¦¤Î¥Æ¡¼¥Ö¥ë¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤³¤Î»ö¼Â¤Ï¡¢¤¢¤ë¥Æ¡¼¥Ö¥ë¤Ë¤Ä¤¤¤Æ¡¢Â¾¤Î¥Æ¡¼¥Ö¥ë¤ËÂбþ¤¹¤ë¥ì¥³¡¼¥É¤¬Â¸ºß¤·¤Ê¤¤¥ì¥³¡¼¥É¤òõ¤¹¤È¤¤¤¦¤³¤È¤ËÍøÍѤǤ­¤Þ¤¹:
-
-@example
-mysql> select table1.* from table1
- LEFT JOIN table2 ON table1.id=table2.id
- where table2.id is NULL;
-@end example
-
-¤³¤ÎÎã¤Ï¡¢@code{table1}¤ÎÆâ¡¢@code{id}¤ÎÃͤ¬@code{table2}¤Ë¸ºß¤·¤Ê¤¤Á´¤Æ¤Î¥ì¥³¡¼¥É¤ò¸¡º÷¤·¤Þ¤¹¡£(¨¤Á¡¢@code{table2}Æâ¤Î¥ì¥³¡¼¥É¤È°ìÃפ·¤Ê¤¤@code{table1}¤ÎÁ´¤Æ¤Î¥ì¥³¡¼¥É¡£)
-¤â¤Á¤í¤ó¡¢¤³¤Î¾ì¹ç¤Î@code{table2.id}¤Ï¡¢@code{NOT NULL}¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤È²¾Äꤷ¤Þ¤¹¡£
-
-@item
-@code{USING} @code{(column_list)}Àá¤Î¥Õ¥£¡¼¥ë¥É̾¥ê¥¹¥È¤Ï¡¢Î¾Êý¤Î¥Æ¡¼¥Ö¥ë¤Ë¸ºß¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£@code{USING}À᤬¼¡¤Î¤è¤¦¤Ë:
-
-@example
-A LEFT JOIN B USING (C1,C2,C3,...)
-@end example
-
-ÄêµÁ¤µ¤ì¤ë¤³¤È¤Ï¡¢@code{ON}¼°¤¬¤³¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤ë¤Î¤ÈƱµÁ¤Ç¤¹:
-
-@example
-A.C1=B.C1 AND A.C2=B.C2 AND A.C3=B.C3,...
-@end example
-
-@item
-Ʊ¤¸¥Õ¥£¡¼¥ë¥É̾¤ò»ý¤Ä2¤Ä¤Î¥Æ¡¼¥Ö¥ë¤Î @code{NATURAL [LEFT] JOIN} ¤Ï¡¢
-@code{USING} Àá¤òȼ¤Ã¤¿ @code{INNER JOIN} ¤ä @code{LEFT JOIN} ¤È
-Ʊ¤¸¤È¤·¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£
-
-@item
-@code{STRAIGHT_JOIN}¤Ï¡¢±¦Â¦¤Î¥Æ¡¼¥Ö¥ë¤ÎÁ°¤Ë¡¢¾ï¤Ëº¸Â¦¤Î¥Æ¡¼¥Ö¥ë¤òÆɤळ¤È¤ò½ü¤±¤Ð¡¢@code{JOIN}¤ÈÁ´¤¯Æ±¤¸¤³¤È¤Ç¤¹¡£¤³¤ì¤Ï¡¢·ë¹ç¥ª¥×¥Æ¥£¥Þ¥¤¥¶¤¬¡¢ÉÔÅö¤Ê½ç½ø¤Ç¥Æ¡¼¥Ö¥ë¤ò½ÐÎϤ¹¤ë¤è¤¦¤Ê¤Þ¤ì¤Ê»öÂ֤˻ÈÍѤǤ­¤Þ¤¹¡£
-
-@item
-@strong{MySQL} 3.23.12 ¤«¤é¡¢¥Æ¡¼¥Ö¥ë¤«¤é¾ðÊó¤ò¼è¤ê½Ð¤¹»þ¤Ë¡¢
-@strong{MySQL} ¤¬¤É¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ¹¤Ù¤­¤«¤È¤¤¤¦¥Ò¥ó¥È¤òÍ¿¤¨¤ë¤³¤È¤¬
-¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤³¤ì¤Ï¡¢@strong{MySQL} ¤¬´Ö°ã¤Ã¤¿¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»È
-ÍѤ·¤Æ¤¤¤ë¤³¤È¤ò @code{EXPLAIN} ¤¬¼¨¤¹¾ì¹ç¤ËÍ­ÍѤǤ¹¡£@code{USE INDEX
-(key_list)} ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥Æ¡¼¥Ö¥ë¤«¤é¥ì¥³¡¼¥É¤ò¸«¤Ä¤±¤ë¤¿¤á¤Ë¡¢
-»ØÄꤵ¤ì¤¿¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î°ì¤Ä¤À¤±¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë @strong{MySQL} ¤ËÅÁ¤¨¤ë¤³
-¤È¤¬¤Ç¤­¤Þ¤¹¡£Ê̤ι½Ê¸ @code{IGNORE INDEX (key_list)} ¤Ï¡¢@strong{MySQL}
-¤ËÆÃÄê¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤Ê¤¤¤è¤¦¤ËÅÁ¤¨¤ë¤¿¤á¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-@end itemize
-
-Îã:
-
-@example
-mysql> select * from table1,table2 where table1.id=table2.id;
-mysql> select * from table1 LEFT JOIN table2 ON table1.id=table2.id;
-mysql> select * from table1 LEFT JOIN table2 USING (id);
-mysql> select * from table1 LEFT JOIN table2 ON table1.id=table2.id
- LEFT JOIN table3 ON table2.id=table3.id;
-mysql> select * from table1 USE INDEX (key1,key2) WHERE key1=1 and key2=2 AND
- key3=3;
-mysql> select * from table1 IGNORE INDEX (key3) WHERE key1=1 and key2=2 AND
- key3=3;
-@end example
-
-@xref{LEFT JOIN optimization, , @code{LEFT JOIN} optimization}.
-
-@findex INSERT
-@node INSERT, REPLACE, JOIN, Reference
-@section @code{INSERT}¹½Ê¸
-
-@example
- INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
- [INTO] tbl_name [(col_name,...)]
- VALUES (expression,...),(...),...
-or INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
- [INTO] tbl_name [(col_name,...)]
- SELECT ...
-or INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
- [INTO] tbl_name
- SET col_name=expression, col_name=expression, ...
-@end example
-
-@code{INSERT}¤Ï¡¢´û¸¤Î¥Æ¡¼¥Ö¥ë¤Ë¿·¤·¤¤¥ì¥³¡¼¥É¤òÁÞÆþ¤·¤Þ¤¹¡£
-@code{INSERT ... VALUES}½ñ¼°¤Ï¡¢ÃͤÎÌÀ¼¨»ØÄê¤ò´ðËܤȤ·¤Æ¥ì¥³¡¼¥É¤òÁÞÆþ¤·¤Þ¤¹¡£
-@code{INSERT ... SELECT}½ñ¼°¤Ï¡¢Â¾¤Îɽ(Ê£¿ô²Ä)¤«¤éÃê½Ð¤·¤¿¥ì¥³¡¼¥É¤òÁÞÆþ¤·¤Þ¤¹¡£
-Ê£¿ô¤ÎÃͥꥹ¥È¤òÍѤ¤¤ë@code{INSERT ... VALUES}½ñ¼°¤Ï¡¢@strong{MySQL} 3.22.5°Ê¹ß¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-@code{col_name=expression}¹½Ê¸¤Ï¡¢@strong{MySQL} 3.22.10°Ê¹ß¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-
-@code{tbl_name}¤Ï¡¢¥ì¥³¡¼¥É¤òÁÞÆþ¤¹¤ë¥Æ¡¼¥Ö¥ë¤Ç¤¹¡£¥Õ¥£¡¼¥ë¥É̾¥ê¥¹¥È¤Ï¡¢¸å³¤ÎÃÍÄêµÁ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Î¥Õ¥£¡¼¥ë¥É¤ò»Ø¤·¼¨¤·¤Þ¤¹¡£
-
-@itemize @bullet
-@item
-¤â¤·¤¤¤«¤Ê¤ë¥Õ¥£¡¼¥ë¥É¤â @code{INSERT ... VALUES} ¤ä @code{INSERT ... SELECT} ¤Ê¤É¤Ç
-ÌÀ¼¨¤·¤Ê¤±¤ì¤Ð¡¢Á´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤ÎÃͤ¬ @code{VALUES()} ¤ÎÃæ¤ËÍ¿¤¨¤é¤ì¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-¥Æ¡¼¥Ö¥ëÆâ¤Î¥Õ¥£¡¼¥ë¥É½ç¤¬ÉÔÌÀ¤Ê¾ì¹ç¡¢¤³¤ì¤òÄ´¤Ù¤ë¤¿¤á¤Ë@code{DESCRIBE tbl_name}¤ò»ÈÍѤ·¤Æ²¼¤µ¤¤¡£
-
-@item
-¥Æ¡¼¥Ö¥ëÆâ¤Î°ìÉô¤Î¥Õ¥£¡¼¥ë¥É¤·¤«»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¥Õ¥£¡¼¥ë¥É¤Ë¤Ï¡¢¤½¤ì¤¾¤ì¤Î½é´üÃͤ¬»ØÄꤵ¤ì¤Þ¤¹¡£½é´üÃͤγäÅö¤Æ¤Ï¡¢@ref{CREATE TABLE, , @code{CREATE TABLE}}. ¤Ç½Ò¤Ù¤é¤ì¤Æ¤¤¤Þ¤¹¡£
-
-@item
-@code{NULL}¤ò@code{TIMESTAMP}¥Õ¥£¡¼¥ë¥É¤ËÁÞÆþ¤·¤¿¾ì¹ç¡¢¥Õ¥£¡¼¥ë¥É¤Ë¤Ï¸½ºß»þ¹ï¤¬¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£Â¾¤ÎÃͤòÁÞÆþ¤·¤¿¾ì¹ç¡¢»ØÄꤵ¤ì¤¿Ãͤ¬Ã±½ã¤Ë¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£
-
-@item
-@code{expression}¤Ï¡¢Ãͥꥹ¥ÈÆâ¤ÇÀèƬ¤Ë¶á¤¤Êý¤Î¥Õ¥£¡¼¥ë¥É¤ò»²¾È¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-Î㤨¤Ð¡¢¼¡¤Î¤è¤¦¤Ëµ­½Ò¤Ç¤­¤Þ¤¹:
-
-@example
-mysql> INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2);
-@end example
-
-¤·¤«¤·¡¢¼¡¤Î¤è¤¦¤Ë¤Ïµ­½Ò¤Ç¤­¤Þ¤»¤ó:
-
-@example
-mysql> INSERT INTO tbl_name (col1,col2) VALUES(col2*2,15);
-@end example
-
-@item
-¥­¡¼¥ï¡¼¥É@code{LOW_PRIORITY}¤ò»ØÄꤷ¤¿¾ì¹ç¡¢@code{INSERT}¤Î¼Â¹Ô¤Ï¤½¤Î¥Æ¡¼
-¥Ö¥ë¤«¤éÃͤòÆɤ߹þ¤à¥¯¥é¥¤¥¢¥ó¥È¤¬¤¤¤Ê¤¯¤Ê¤ë¤Þ¤ÇÃ٤餵¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥¯
-¥é¥¤¥¢¥ó¥È¤Ï insert ʸ¤¬´°Î»¤¹¤ë¤Þ¤ÇÂÔ¤¿¤µ¤ì¤Þ¤¹¡£¥Æ¡¼¥Ö¥ë¤¬ÉÑÈˤ˻ÈÍѤµ¤ì
-¤ë¾ì¹ç¡¢Ä¹¤¤»þ´Ö¤«¤«¤ê¤Þ¤¹¡£¤³¤ì¤Ï¥¯¥é¥¤¥¢¥ó¥È¤ò°ìÅ٤˷ѳ¤µ¤»¤ë
-@code{INSERT DELAYED} ¤ÈÂоÎŪ¤Ç¤¹¡£
-
-@item
-¤â¤· @code{IGNORE} ¥­¡¼¥ï¡¼¥É¤ò @code{INSERT} ¤Ë ÃͤȤȤâ¤Ë Í¿¤¨¤ë¤Ê¤é¡¢
-¥Æ¡¼¥Ö¥ëÆâ¤Î @code{PRIMARY} ¤ä @code{UNIQUE} ¥­¡¼¤Ë¤¹¤Ç¤Ë¸ºß¤¹¤ë½ÅÊ£¤·¤¿
-¤â¤Î¤Ï̵»ë¤µ¤ì¡¢ÁÞÆþ¤µ¤ì¤Þ¤»¤ó¡£
-¿½Å¹Ô¤ÎÃͤò´Þ¤à¥ì¥³¡¼¥É¤Î @code{INSERT} ¤Ë¥­¡¼¥ï¡¼¥É @code{IGNORE} ¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢
-¥Æ¡¼¥Ö¥ë¤Î @code{PRIMARY} ¥­¡¼¤ä @code{UNIQUE} ¥­¡¼¤Ë½ÅÊ£¤¬µ¯¤³¤ëºÝ¤Ë¡¢
-ÁÞÆþ½èÍý¤¬°Û¾ï½ªÎ»¤·¤Þ¤¹¡£
-@code{IGNORE} ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢½ÅÊ£¤¹¤ë¥­¡¼Ãͤò»ý¤Ä¥ì¥³¡¼¥É¤ÏÁÞÆþ¤µ¤ì¤Þ¤»¤ó¡£
-C API ´Ø¿ô @code{mysql_info()} ¤Ë¤è¤ê¡¢¥Æ¡¼¥Ö¥ë¤Ë¤¤¤¯¤Ä¤Î¥ì¥³¡¼¥É¤¬ÁÞÆþ¤µ¤ì¤¿¤«
-¥Á¥§¥Ã¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@item
-@strong{MySQL}¤¬¡¢@code{DONT_USE_DEFAULT_FIELDS}¥ª¥×¥·¥ç¥ó¤Ë¤è¤êÀ©¸Â¤µ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢@code{NULL}Ãͤòµö¤µ¤Ê¤¤Á´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤ËÌÀ¼¨Åª¤ËÃͤò¤·¤Ê¤¤¤È@code{INSERT}¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ï¡¢¥¨¥é¡¼¤òÀ¸À®¤·¤Þ¤¹¡£
-@xref{configure options, , @code{configure} options}.
-
-@item
-°Ê²¼¤Î¾ò·ï¤Ï¡¢@code{INSERT INTO ... SELECT}¥¹¥Æ¡¼¥È¥á¥ó¥È¤Î¤¿¤á¤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹:
-
-@itemize @minus
-@item
-¥¯¥¨¥ê¡¼¤Ï¡¢@code{ORDER BY}Àá¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£
-
-@item
-@code{INSERT}¥¹¥Æ¡¼¥È¥á¥ó¥È¤Î¥¿¡¼¥²¥Ã¥È¤È¤Ê¤ë¥Æ¡¼¥Ö¥ë¤Ï¡¢¥¯¥¨¥ê¡¼Æâ@code{SELECT}Éô¤Î@code{FROM}Àá¤Ë»ØÄê¤Ç¤­¤Þ¤»¤ó¡£¤Ê¤¼¤Ê¤é¡¢ÁÞÆþÀè¤Î¥Æ¡¼¥Ö¥ë¤«¤é¤Î@code{SELECT}¤ÏANSI SQL¤Ç¶Ø¤¸¤é¤ì¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£(ÌäÂê¤Ï¡¢@code{SELECT}¤¬¼Â¹ÔÃæ¤ËÁÞÆþ¤·¤¿¥ì¥³¡¼¥É¤òÃê½Ð¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¤³¤È¤Ç¤¹¡£ÉûÌ䤤¹ç¤ï¤»Àá¤ò»ÈÍѤ¹¤ë¤È¤­¤Ë¡¢¤³¤Î¤è¤¦¤Ê¾õ¶·¤Çº®Í𤷤䤹¤¯¤Ê¤ê¤Þ¤¹¡ª)
-
-@item
-@code{AUTO_INCREMENT}¥Õ¥£¡¼¥ë¥É¤Ï¡¢Ä̾ïÄ̤êÆ°ºî¤·¤Þ¤¹¡£
-@end itemize
-@end itemize
-
-@findex mysql_info()
-¿½Å¤ÎÃͥꥹ¥È¤ò»ý¤Ä @code{INSERT ... SELECT ...} Ëô¤Ï @code{INSERT ... VALUES()} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥¯¥¨¥ê¡¼¤Ë´Ø¤¹¤ë¾ðÊó¤òÆÀ¤ë¤¿¤á¤Ë C API´Ø¿ô @code{mysql_info()} ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤½¤Î¾ðÊó¤Î½ñ¼°¤Ï°Ê²¼¤Ë¼¨¤¹Ê¸»úÎó¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹:
-
-@example
-Records: 100 Duplicates: 0 Warnings: 0
-@end example
-
-@code{Duplicates}¤Ï¡¢´û¤Ë¸ºß¤¹¤ë¥æ¥Ë¡¼¥¯¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÃͤȽÅÊ£¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ÁÞÆþ¤Ç¤­¤Ê¤«¤Ã¤¿¥ì¥³¡¼¥É¿ô¤òɽ¤·¤Þ¤¹¡£
-@code{Warnings}¤Ï¡¢ÁÞÆþ¤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¤¬²¿¤é¤«¤Îµ¿¤ï¤·¤¤ÃͤǤ¢¤Ã¤¿¤È¤¤¤¦¿ô¤òɽ¤·¤Þ¤¹¡£·Ù¹ð¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¾ò·ï¤Î²¼¤ÇȯÀ¸¤·¤Þ¤¹:
-
-@itemize @bullet
-@item
-@code{NOT NULL}ÄêµÁ¤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¤Ø¤Î@code{NULL}¤ÎÁÞÆþ¡£¥Õ¥£¡¼¥ë¥É¤Ë¤Ï½é´üÃͤ¬ÀßÄꤵ¤ì¤Þ¤¹¡£
-
-@item
-¿ôÃÍ¥Õ¥£¡¼¥ë¥É¤ÎÈϰϤòĶ¤¨¤ëÃͤΥ»¥Ã¥È¡£ÃͤÏÈÏ°ÏÆâ¤Î¸Â³¦ÃͤËÊäÀµ¤µ¤ì¤Þ¤¹¡£
-
-@item
-¿ôÃÍ¥Õ¥£¡¼¥ë¥É¤Ø¤Î @code{`10.34 a'} ¤Î¤è¤¦¤ÊÃͤΥ»¥Ã¥È¡£°ú¤­¤º¤Ã¤Æ¤¤¤ë¥´¥ß¤Ï¼è¤ê½ü¤«¤ì¡¢»Ä¤ê¤Î¿ôÃÍÉôʬ¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£Ãͤ¬¿ôÃͤȤ·¤ÆȽÃǤǤ­¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥Õ¥£¡¼¥ë¥É¤Ë¤Ï @code{0} ¤¬¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£
-
-@item
-@code{CHAR}¡¢@code{VARCHAR}¡¢@code{VARCHAR}¡¢@code{TEXT}Ëô¤Ï@code{BLOB}¥Õ¥£¡¼¥ë¥É¤Ø¤ÎºÇÂçŤòĶ¤¨¤ëʸ»úÎó¤ÎÁÞÆþ¡£Ãͤϥե£¡¼¥ë¥É¤ÎºÇÂçŤËÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹¡£
-
-@item
-ÆüÉÕËô¤Ï»þ¹ï¥Õ¥£¡¼¥ë¥É¤Ø¤Î¥Õ¥£¡¼¥ë¥É°À­¤ËÈ¿¤·¤¿ÁÞÆþ¡£¤½¤Î°À­¤ËŬ¤·¤¿``¥¼¥í''Ãͤ¬¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£
-@end itemize
-
-@findex INSERT DELAYED
-@findex DELAYED
-
-@code{INSERT} ¹½Ê¸¤Î @code{DELAYED} ¥ª¥×¥·¥ç¥ó¤Ï @strong{MySQL} Æȼ«¤Î
-¥ª¥×¥·¥ç¥ó¤Ç¡¢¤³¤ì¤Ï @code{INSERT} ¤¬´°Á´¤Ë½ªÎ»¤¹¤ë¤³¤È¤òÂԤƤʤ¤
-¥¯¥é¥¤¥¢¥ó¥È¤ò»ý¤Ä¾ì¹ç¤Ë¡¢¤È¤Æ¤âÌòΩ¤Á¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢¥í¥®¥ó¥°¤Î¤¿¤á¤Ë @strong{MySQL} ¤ò»ÈÍѤ¹¤ë»þ¤Î°ìÈÌŪ¤ÊÌäÂê¤Ç¡¢´°Î»
-¤ËŤ¤»þ´Ö¤¬¤«¤«¤ë @code{SELECT} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤âÄê´üŪ¤Ë¼Â¹Ô¤Ç¤­¤Þ¤¹¡£
-@code{DELAYED} ¤Ï @strong{MySQL} 3.22.15 ¤ÇƳÆþ¤µ¤ì¤Þ¤·¤¿¡£ ¤³¤ì¤Ï
- ANSI SQL92 ¤ËÂФ¹¤ë @strong{MySQL} ³ÈÄ¥¤Ç¤¹¡£
-
-@code{INSERT DELAYED} ¤ò»ÈÍѤ¹¤ë»þ¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï°ìÅÙ ok ¤È¤Ê¤ê¡¢¥Æ¡¼¥Ö¥ë
-¤¬Â¾¤Î¥¹¥ì¥Ã¥É¤Ç»ÈÍÑÃæ¤Ç¤Ê¤¤»þ¤Ë¥ì¥³¡¼¥É¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£
-
-@code{INSERT DELAYED} ¤ò»ÈÍѤ·¤ÆÆÀ¤é¤ì¤ë¤Û¤«¤ÎÍø±×¤Ï¡¢
-¿¤¯¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Î insert ¤¬Æ±»þ¤Ë«¤Í¤é¤ì¡¢°ì¤Ä¤Î¥Ö¥í¥Ã¥¯¤Ç
-½ñ¤«¤ì¤ë¤³¤È¤Ç¤¹¡£ ¤³¤ì¤Ï¿¤¯¤ÎÊÌ¡¹¤Î insert ¤ò¼Â¹Ô¤¹¤ë¤è¤ê
-¤È¤Æ¤â®¤¯¤Ê¤ê¤Þ¤¹¡£
-
-¸½ºß¡¢¥­¥å¡¼¥¤¥ó¥°¤µ¤ì¤¿¥ì¥³¡¼¥É¤Ï¡¢¤½¤ì¤é¤¬¥Æ¡¼¥Ö¥ë¤ËÂåÆþ¤µ¤ì¤ë¤Þ¤Ç
-¥á¥â¥ê¡¼¤ËÊÝ»ý¤µ¤ì¤Æ¤¤¤ë¤À¤±¤Ç¤¹¡£ ¤³¤ì¤Ï¡¢¤â¤· @code{mysqld} ¤ò
-¶¯°ú¤ÊÊýË¡ (@code{kill -9}) ¤Ç¥­¥ë¤·¤¿¤ê¡¢ @code{mysqld} ¤¬Í½´ü¤»¤º
-»à¤ó¤À¾ì¹ç¡¢¥­¥å¡¼¥¤¥ó¥°¤µ¤ì¤Æ¤¤¤ë¥ì¥³¡¼¥É¤Ï¥Ç¥£¥¹¥¯¤Ë½ñ¤«¤ì¤º¼º¤ï¤ì¤Þ¤¹¡ª
-
-@code{DELAYED} ¥ª¥×¥·¥ç¥ó¤ò @code{INSERT} ¤ä @code{REPLACE} ¤Ç»ÈÍѤ¹¤ë¾ì¹ç¡¢
-°Ê²¼¤Î¤³¤È¤¬¤ª¤­¤Þ¤¹¡£
-¤³¤³¤Ç ``¥¹¥ì¥Ã¥É'' ¤È¤Ï @code{INSERT DELAYED} ¥³¥Þ¥ó¥É¤ò¼õ¤±¤¿¥¹¥ì¥Ã¥É¤ò¤µ¤·¡¢
-``¥Ï¥ó¥É¥é¡¼'' ¤È¤ÏÆÃÄê¤Î¥Æ¡¼¥Ö¥ë¤Î¤¿¤á¤ÎÁ´¤Æ¤Î
-@code{INSERT DELAYED} ¹½Ê¸¤òÁàºî¤¹¤ë¥¹¥ì¥Ã¥É¤ò»Ø¤·¤Þ¤¹¡£
-
-@itemize @bullet
-@item
-¥¹¥ì¥Ã¥É¤¬¤¢¤ë¥Æ¡¼¥Ö¥ë¤ËÂФ· @code{DELAYED} ¹½Ê¸¤ò¼Â¹Ô¤¹¤ë¤È¤­¡¢
-¤½¤Î¥Æ¡¼¥Ö¥ë¤ËÂФ¹¤ëÁ´¤Æ¤Î @code{DELAYED} ¹½Ê¸
-¤ò½èÍý¤¹¤ë¤¿¤á¤Ë¥Ï¥ó¥É¥é¡¼¥¹¥ì¥Ã¥É¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-¤â¤·¤½¤Î¤è¤¦¤Ê¥Ï¥ó¥É¥é¡¼¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡£
-
-@item
-¤½¤Î¥¹¥ì¥Ã¥É¤Ï¡¢¤½¤Î¥Ï¥ó¥É¥é¡¼¤¬ @code{DELAYED} ¥í¥Ã¥¯¤ò´û¤Ë»ý¤Ã¤Æ¤¤¤ë¤«
-¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡¨ ¤â¤·»ý¤Ã¤Æ¤¤¤Ê¤¤¤Ê¤é¡¢¤½¤¦¤¹¤ë¤è¤¦¤Ë
-¥Ï¥ó¥É¥é¡¼¤Ë¹ð¤²¤Þ¤¹¡£
-¤¿¤È¤¨Â¾¤Î¥¹¥ì¥Ã¥É¤¬ @code{READ} ¤« @code{WRITE} ¥í¥Ã¥¯¤ò¤½¤Î¥Æ¡¼¥Ö¥ë¤Ë
-»ý¤Ã¤Æ¤¤¤¿¤È¤·¤Æ¤â¡¢ @code{DELAYED} ¥í¥Ã¥¯¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤·¤«¤·¡¢¤½¤Î¥Ï¥ó¥É¥é¡¼¤ÏÁ´¤Æ¤Î @code{ALTER TABLE} ¥í¥Ã¥¯¤«
- @code{FLUSH TABLES} ¤òÂÔ¤Á¤Þ¤¹¡£ ¤½¤Î¥Æ¡¼¥Ö¥ë¹½Â¤¤¬ºÇ¿·¤Ç¤¢¤ë¤Î¤ò
-³Î¼Â¤Ë¤¹¤ë¤¿¤á¤Ë¡£
-
-@item
-¥¹¥ì¥Ã¥É¤Ï @code{INSERT} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤ò¼Â¹Ô¤·¤Þ¤¹¤¬¡¢¥ì¥³¡¼¥É¤ò¥Æ¡¼¥Ö¥ë
-¤Ë½ñ¤¯Âå¤ï¤ê¤Ë¡¢¥Ï¥ó¥É¥é¥¹¥ì¥Ã¥É¤Ë¤è¤Ã¤Æ´ÉÍý¤µ¤ì¤ë¥­¥å¡¼¤ËºÇ¸å¤Î¥ì¥³¡¼¥É¤Î
-¥³¥Ô¡¼¤òÃÖ¤­¤Þ¤¹¡£Ê¸Ë¡¥¨¥é¡¼¤Ï¥¹¥ì¥Ã¥É¤Ë¤è¤Ã¤ÆÄÌÃΤµ¤ì¡¢¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°
-¥é¥à¤ËÊó¹ð¤µ¤ì¤Þ¤¹¡£
-
-@item
-¥¯¥é¥¤¥¢¥ó¥È¤Ï·ë²Ì¹Ô¤Î½ÅÊ£¿ô¤ä @code{AUTO_INCREMENT} ¤ÎÃͤò
-Êó¹ð¤Ç¤­¤Þ¤»¤ó¡¨ ¤½¤ì¤Ï¥µ¡¼¥Ð¡¼¤«¤éÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£ ¤Ê¤¼¤Ê¤é¡¢
- @code{INSERT} ¤Ï¥¤¥ó¥µ¡¼¥È¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤¬´°Á´¤Ë½ªÎ»¤¹¤ëÁ°¤Ë
-Ê֤뤫¤é¤Ç¤¹¡£ ¤â¤· C API ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢ @code{mysql_info()} ´Ø¿ô¤Ï
-ƱÍͤÎÍýͳ¤Ë¤è¤ê¤Ê¤Ë¤âÊÖ¤·¤Þ¤»¤ó¡£
-
-@item
-¹¹¿·¥í¥°¤Ï¡¢¥ì¥³¡¼¥É¤¬¤½¤Î¥Æ¡¼¥Ö¥ë¤Ë insert ¤µ¤ì¤¿¤È¤­¡¢¤½¤Î¥Ï¥ó¥É¥é¡¼¥¹¥ì¥Ã¥É
-¤Ë¤è¤Ã¤Æ¹¹¿·¤µ¤ì¤Þ¤¹¡£ Ê£¿ô¥ì¥³¡¼¥É¤ÎÁÞÆþ¤Î¾ì¹ç¡¢ ¹¹¿·¥í¥°¤ÏºÇ½é¤Î¹Ô¤¬
-ÁÞÆþ¤µ¤ì¤¿¤È¤­¤Ë¹¹¿·¤µ¤ì¤Þ¤¹¡£
-
-@item
-¤½¤ì¤¾¤ì¤Î @code{delayed_insert_limit} ¥ì¥³¡¼¥É¤¬½ñ¤«¤ì¤¿¸å¡¢¤½¤Î¥Ï¥ó¥É¥é¡¼¤Ï
-¤¤¤«¤Ê¤ë @code{SELECT} ʸ¤â¤Þ¤À±ä´ü¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤ò³Îǧ¤·¤Þ¤¹¡£
-¤â¤·¤½¤¦¤Ê¤é¡¢Â³¤±¤ëÁ°¤Ë¤³¤ì¤é¤ËÂФ·¤Æ¼Â¹Ô¤ò²Äǽ¤Ë¤·¤Þ¤¹¡£
-
-@item
-¥Ï¥ó¥É¥é¡¼¤Î¥­¥å¡¼Æâ¤Ë¥ì¥³¡¼¥É¤¬¤Ê¤¯¤Ê¤Ã¤¿¤È¤­¡¢¥Æ¡¼¥Ö¥ë¤Ï¥¢¥ó¥í¥Ã¥¯¤µ¤ì¤Þ¤¹¡£
-¤â¤·¿·¤·¤¤ @code{INSERT DELAYED} ¥³¥Þ¥ó¥É¤¬ @code{delayed_insert_timeout} ÉðÊÆâ¤Ë
-¼õ¤±ÉÕ¤±¤é¤ì¤Ê¤±¤ì¤Ð¡¢¥Ï¥ó¥É¥é¡¼¤Ï½ªÎ»¤·¤Þ¤¹¡£
-
-@item
-¤â¤·¡¢ÆÃÄê¤Î¥Ï¥ó¥É¥é¡¼¤Î¥­¥å¡¼Æâ¤Ë @code{delayed_queue_size} °Ê¾å¤Î¥ì¥³¡¼¥É¤¬
-´û¤Ë±ä´ü¤µ¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢¤½¤Î¥¹¥ì¥Ã¥É¤Ï¡¢¥­¥å¡¼¤Ë;͵¤¬¤¢¤ë´ÖÂÔ¤Á¤Þ¤¹¡£
-¤³¤ì¤Ï @code{mysqld} ¥µ¡¼¥Ð¡¼¤¬ delayed ¤µ¤ì¤¿¥­¥å¡¼¤ËÁ´¤Æ¤Î
-¥á¥â¥ê¡¼¤ò³Î¼Â¤Ë»ÈÍѤ·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£
-
-@item
-¤½¤Î¥Ï¥ó¥É¥é¡¼¥¹¥ì¥Ã¥É¤Ï @strong{MySQL} ¥×¥í¥»¥¹¥ê¥¹¥È¤Î @code{Command} ¹à
-Æâ¤Ë¡¢ @code{delayed_insert} ¤È¶¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï @code{FLUSH TABLES} ¥³¥Þ¥ó¥É¤« @code{KILL thread_id} ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢
-kill ¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£
-¤·¤«¤·¡¢¤³¤ì¤é¤Ï¡¢½ªÎ»¤¹¤ëÁ°¤Ë¡¢¥­¥å¡¼Æâ¤ÎÁ´¤Æ¤Î¥ì¥³¡¼¥É¤ò¥Æ¡¼¥Ö¥ë¤Ë
-Êݸ¤·¤è¤¦¤È¤·¤Þ¤¹¡£
-¤³¤Î´Ö¡¢¤³¤Î¥¹¥ì¥Ã¥É¤Ï¡¢Â¾¤Î¥¹¥ì¥Ã¥É¤«¤éÍ褿¤¤¤«¤Ê¤ë
-¿·¤·¤¤ @code{INSERT} ¥³¥Þ¥ó¥É¤â¼õ¤±ÉÕ¤±¤Þ¤»¤ó¡£
-¤â¤·¡¢¤³¤Î¸å¤Ë @code{INSERT DELAYED} ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤Ê¤é¡¢
-¿·¤·¤¤¥Ï¥ó¥É¥é¡¼¥¹¥ì¥Ã¥É¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
-
-@item
-¾åµ­¤Î¤³¤È¤Ï¡¢¤â¤· @code{INSERT DELAYED} ¥³¥Þ¥ó¥É¤¬´û¤ËÁö¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢
- @code{INSERT DELAYED} ¥³¥Þ¥ó¥É¤Ï¡¢ÉáÄ̤Π@code{INSERT} ¥³¥Þ¥ó¥É¤è¤ê¤â¹â¤¤
-Í¥ÀèÅÙ¤ò»ý¤Ä¤È¤¤¤¦¤³¤È¤Ç¤¹¡ª
-¾¤Î update ¥³¥Þ¥ó¥É¤Ï @code{INSERT DELAY} ¥­¥å¡¼¤¬¶õ¤Ë¤Ê¤ë¤Þ¤Ç¡¢
-¤¢¤ë¤¤¤Ï狼¤¬ @code{KILL thread_id} ¤ä @code{FLUSH TABLES} ¤ò¼Â¹Ô¤·¤Æ
-¥Ï¥ó¥É¥é¡¼¤ò¥­¥ë¤¹¤ë¤Þ¤Ç¡¢
-ÂÔ¤¿¤µ¤ì¤Þ¤¹¡£
-
-@item
-°Ê²¼¤Î¥¹¥Æ¡¼¥¿¥¹ÊÑ¿ô¤Ï @code{INSERT DELAYED} ¥³¥Þ¥ó¥É¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤ò
-Í¿¤¨¤Þ¤¹¡§
-
-@multitable @columnfractions .35 .65
-@item @code{Delayed_insert_threads} @tab ¥Ï¥ó¥É¥é¡¼¥¹¥ì¥Ã¥É¤Î¿ô
-@item @code{Delayed_writes} @tab @code{INSERT DELAYED} ¤Ç½ñ¤«¤ì¤ë¥ì¥³¡¼¥É¿ô
-@item @code{Not_flushed_delayed_rows} @tab ½ñ¤­¹þ¤ß¤òÂԤĥ쥳¡¼¥É¿ô
-@end multitable
-
-¤³¤ì¤é¤ÎÊÑ¿ô¤Ï @code{SHOW STATUS} ¹½Ê¸¤òȯ¹Ô¤·¤¿¤ê
- @code{mysqladmin extended-status} ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¸«¤ì¤Þ¤¹.
-@end itemize
-
-Ãí°Õ: @code{INSERT DELAYED} ¤Ï¡¢¥Æ¡¼¥Ö¥ë¤¬»ÈÍÑÃæ¤Ç¤Ê¤¤¾ì¹ç¡¢Ä̾ï¤Î
-INSERT ¤è¤ê¤âÃÙ¤¯¤Ê¤ê¤Þ¤¹¡£@code{INSERT DELAYED} ¤ò»ÈÍѤ¹¤ë³Æ¥Æ¡¼¥Ö¥ë¤Ë¤Ä
-¤¤¤ÆÊ̤Υ¹¥ì¥Ã¥É¤òÁàºî¤¹¤ë¥µ¡¼¥Ð¤Î¡¢ÄɲäΥª¡¼¥Ð¡¼¥Ø¥Ã¥É¤â¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢
-³Î¼Â¤Ë¤½¤ì¤òɬÍפȤ¹¤ë»þ¤Ë¤À¤± @code{INSERT DELAYED} ¤ò»ÈÍѤ¹¤Ù¤­¤³¤È¤ò°Õ
-Ì£¤·¤Þ¤¹¡ª
-
-@findex REPLACE
-@node REPLACE, LOAD DATA, INSERT, Reference
-@section @code{REPLACE}¹½Ê¸
-
-@example
- REPLACE [LOW_PRIORITY | DELAYED]
- [INTO] tbl_name [(col_name,...)]
- VALUES (expression,...)
-or REPLACE [LOW_PRIORITY | DELAYED]
- [INTO] tbl_name [(col_name,...)]
- SELECT ...
-or REPLACE [LOW_PRIORITY | DELAYED]
- [INTO] tbl_name
- SET col_name=expression, col_name=expression,...
-@end example
-
-@code{REPLACE}¤Ï¡¢¥Æ¡¼¥Ö¥ëÃæ¤Î¸Å¤¤¥ì¥³¡¼¥É¤¬¥æ¥Ë¡¼¥¯¥¤¥ó¥Ç¥Ã¥¯¥¹¾å¤Î
-¿·¤·¤¤¥ì¥³¡¼¥É¤ÈƱ¤¸Ãͤò»ý¤Ä¾ì¹ç¤Ë¡¢¿·¤·¤¤¥ì¥³¡¼¥É¤òÁÞÆþ¤¹¤ëÁ°¤Ë¡¢
-¸Å¤¤¥ì¥³¡¼¥É¤òºï½ü¤¹¤ë¤È¤¤¤¦¤³¤È¤ò½ü¤±¤Ð¡¢@code{INSERT}¤ÈÁ´¤¯Æ±¤¸¤è¤¦¤Ë
-Æ°ºî¤·¤Þ¤¹¡£
-@xref{INSERT, , @code{INSERT}}.
-
-@findex LOAD DATA INFILE
-@node LOAD DATA, UPDATE, REPLACE, Reference
-@section @code{LOAD DATA INFILE}¹½Ê¸
-
-@example
-LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE]
- INTO TABLE tbl_name
- [FIELDS
- [TERMINATED BY '\t']
- [OPTIONALLY] ENCLOSED BY '']
- [ESCAPED BY '\\' ]]
- [LINES TERMINATED BY '\n']
- [IGNORE number LINES]
- [(col_name,...)]
-@end example
-
-@code{LOAD DATA INFILE}¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ï¡¢¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥Æ¡¼¥Ö¥ë¤Ø¤È¡¢
-¥ì¥³¡¼¥É¤ò¹â®¤ËÆɤ߹þ¤ß¤Þ¤¹¡£ @code{LOCAL} ¥­¡¼¥ï¡¼¥É¤¬»ØÄꤵ¤ì¤ì¤Ð¡¢¥Õ¥¡¥¤¥ë¤Ï
-¥¯¥é¥¤¥¢¥ó¥È¡¦¥Û¥¹¥È¤«¤éÆɤ߹þ¤Þ¤ì¤Þ¤¹¡£
-@code{LOCAL}¤¬»ØÄꤵ¤ì¤Ê¤±¤ì¤Ð¡¢¥Õ¥¡¥¤¥ë¤Ï¥µ¡¼¥Ð¤Ë°ÌÃÖ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹
-(@code{LOCAL}¤Ï¡¢@strong{MySQL} 3.22.6°Ê¹ß¤ÇÍøÍѤǤ­¤Þ¤¹)¡£
-
-¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÍýͳ¤«¤é¡¢¥µ¡¼¥Ð¤«¤é¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤òÆɤ߽Ф¹»þ¤Ï¡¢
-¥Õ¥¡¥¤¥ë¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸ºß¤¹¤ë¤«¡¢
-Á´¤Æ¤ËÆɤ߹þ¤ß¸¢¸Â¤¬¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤Þ¤¿¡¢¥µ¡¼¥Ð¥Õ¥¡¥¤¥ë¤Ç @code{LOAD DATA INFILE} ¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î @strong{file} ¸¢¸Â¤â»ý¤¿¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-@xref{Privileges provided}.
-
-¤â¤· @code{LOW_PRIORITY} ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢@code{LOAD DATA} ¹½Ê¸¤Ï
-¤½¤Î¥Æ¡¼¥Ö¥ë¤«¤é¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬Æɤ߹þ¤ß¤ò¹Ô¤Ã¤Æ¤¤¤ë´Ö¡¢
-Ã٤餵¤ì¤Þ¤¹¡£
-
-@code{LOCAL} »ÈÍѤò¤¹¤ë¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¡¦¥Û¥¹¥È¤«¤é¥µ¡¼¥Ð¡¦¥Û¥¹¥È¤Ø
-¥Õ¥¡¥¤¥ë¤ÎÆâÍƤ¬Å¾Á÷¤µ¤ì¤ëʬ¡¢Â¿¾¯ÃÙ¤¯¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-¤¤¤¦¤Ê¤é¤Ð¡¢¥í¡¼¥«¥ë¤Î¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤à¤Î¤Ë¡¢
-@strong{file} ¸¢¸Â¤ÏɬÍפʤ¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
-
-@cindex @code{mysqlimport}
-@code{mysqlimport}¥æ¥Æ¥£¥ê¥Æ¥£¤Ï¡¢¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ß¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£; ¤³¤ì¤Ï¡¢¥µ¡¼¥Ð¤Ë@code{LOAD DATA INFILE}¥³¥Þ¥ó¥É¤òÁ÷¿®¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ½èÍý¤ò¼Â¸½¤·¤Æ¤¤¤Þ¤¹¡£
-@code{--local}¥ª¥×¥·¥ç¥ó¤Ï¡¢@code{mysqlimport}¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¡¦¥Û¥¹¥È¤«¤é¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤Þ¤»¤Þ¤¹¡£
-¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤¬°µ½Ì¥×¥í¥È¥³¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ì¤Ð¡¢Ä㮤ʥͥåȥ¥¯¤Ç¤è¤êÎɤ¤¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤òÆÀ¤ë¤¿¤á¤Ë¡¢@code{--compress}¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-¥µ¡¼¥Ð¡¦¥Û¥¹¥È¤Ë¥Õ¥¡¥¤¥ë¤òÃÖ¤¯¾ì¹ç¡¢¥µ¡¼¥Ð¤Ï¡¢°Ê²¼¤Î¥ë¡¼¥ë¤ò»ÈÍѤ·¤Þ¤¹:
-
-@itemize @bullet
-@item
-´°Á´¤Ê¥Ñ¥¹¤Ç¥Õ¥¡¥¤¥ë̾¤¬Í¿¤¨¤é¤ì¤¿¾ì¹ç¡¢¥µ¡¼¥Ð¤Ï¥Ñ¥¹Ì¾¤ò¤½¤Î¤Þ¤Þ»ÈÍѤ·¤Þ¤¹¡£
-
-@item
-£±¤ÄËô¤ÏÊ£¿ô¤Î¹½À®Í×ÁǤ«¤éÀ®¤ëÁêÂХѥ¹¤È¶¦¤Ë¥Õ¥¡¥¤¥ë̾¤¬Í¿¤¨¤é¤ì¤¿¾ì¹ç¡¢¥µ¡¼¥Ð¤Ï¡¢¥µ¡¼¥Ð¤Î¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤«¤é¥Õ¥¡¥¤¥ë¤òõ¤·¤Þ¤¹¡£
-
-@item
-¥Õ¥¡¥¤¥ë̾¤À¤±¤¬Ã±¤ËÍ¿¤¨¤é¤ì¤¿¾ì¹ç¡¢¥µ¡¼¥Ð¤Ï¡¢
-¥«¥ì¥ó¥È¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤òõ¤·¤Þ¤¹¡£
-@end itemize
-
-¤³¤ì¤é¤Î¥ë¡¼¥ë¤Ï¡¢¥Õ¥¡¥¤¥ë¤¬ @file{myfile.txt} ¤Î¤è¤¦¤ËÍ¿¤¨¤é¤ì¤ì¤Ð
-¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¥Õ¥¡¥¤¥ë¤¬Æɤ߽Фµ¤ì¡¢
-@file{./myfile.txt} ¤Î¤è¤¦¤ËÍ¿¤¨¤é¤ì¤ì¤Ð¡¢¸½ºßÁªÂò¤·¤Æ¤¤¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê¤«¤é
-¥Õ¥¡¥¤¥ë¤¬Æɤ߽Фµ¤ì¤ë¤È¤¤¤¦°ÕÌ£¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤¡£
-
-Î㤨¤Ð¡¢°Ê²¼¤Î @code{LOAD DATA} ʸ¤Ï¡¢@file{data.txt} ¥Õ¥¡¥¤¥ë¤ò
-@code{db1} ¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤«¤éÆɤߤޤ¹¡£ ¤Ê¤¼¤Ê¤é¡¢@code{db1} ¤Ï
-¸½ºßÁªÂò¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤À¤«¤é¤Ç¤¹¡£ ¤¿¤È¤¨¡¢@code{db2} ¥Ç¡¼¥¿¥Ù¡¼¥¹
-¤Î¥Æ¡¼¥Ö¥ë¤Ë¡¢¥Õ¥¡¥¤¥ë¤«¤éÆɤ߹þ¤ó¤À¥Ç¡¼¥¿¤òÁÞÆþ¤¹¤ë¤È¤·¤Æ¤â¡£¡§
-
-°Ê²¼¤Ë¼¨¤¹¤è¤¦¤Ê¹½Ê¸¤Ç¤Ï¡¢¥Õ¥¡¥¤¥ë¤Ï @code{db1} ¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê
-¤«¤éÆɤޤì¤Þ¤¹¡£@code{db2} ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó:
-
-@example
-mysql> USE db1;
-mysql> LOAD DATA INFILE "data.txt" INTO TABLE db2.my_table;
-@end example
-
-@code{REPLACE} ¤È @code{IGNORE} ¥­¡¼¥ï¡¼¥É¤Ï¡¢¤¹¤Ç¤Ë¸ºß¤¹¤ë¥æ¥Ë¡¼¥¯¥­¡¼¤Ë
-½ÅÊ£¤·¤Æ¤¤¤ë¥ì¥³¡¼¥É¤ÎÆþÎϤËÂФ¹¤ëÀ©¸æ¤Ç¤¹¡£
-@code{REPLACE} »ØÄê¤Î¾ì¹ç¡¢Æ±¤¸¥æ¥Ë¡¼¥¯¥­¡¼¤ò»ý¤Ä´û¸¤Î¥ì¥³¡¼¥É¤Ï¿·¤·¤¤¥ì¥³¡¼¥É¤Ç
-ÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£
-@code{IGNORE} »ØÄê¤Î¾ì¹ç¡¢´û¸¤Î¥ì¥³¡¼¥É¤Î¥æ¥Ë¡¼¥¯¥­¡¼¤È½ÅÊ£¤¹¤ë¥­¡¼¤ò¤â¤Ä¿·¤·¤¤¥ì¥³¡¼¥É¤Ï
-Èô¤Ð¤µ¤ì¤Þ¤¹¡£ ¤â¤·¡¢¤É¤Á¤é¤â»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢½ÅÊ£¤·¤¿¥­¡¼¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç
-¥¨¥é¡¼¤¬È¯À¸¤·¡¢¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
-
-@code{LOCAL} ¥­¡¼¥ï¡¼¥É¤ò»ÈÍѤ·¤Æ¥Ç¡¼¥¿¤ò¥í¡¼¥«¥ë¤«¤é¥í¡¼¥É¤¹¤ë¾ì¹ç¡¢
-¥µ¡¼¥Ð¡¼¤ÏÁàºî¤ÎÅÓÃæ¤ÇžÁ÷¤ò¤È¤á¤ëÊýË¡¤òÃΤê¤Þ¤»¤ó¡£
-¤½¤ì¤Ç¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤È¤·¤Æ¤Ï @code{IGNORE} ¤¬»ØÄꤵ¤ì¤¿¤Î¤È
-Ʊ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@code{LOAD DATA INFILE}¤Ï¡¢@code{SELECT ... INTO OUTFILE}¤ÎµÕ¤Ç¤¹¡£
-@xref{SELECT, , @code{SELECT}}.
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¥Õ¥¡¥¤¥ë¤Ø¥Ç¡¼¥¿¤ò½ñ¤­¹þ¤à¤Ë¤Ï¡¢@code{SELECT ... INTO OUTFILE}¤ò»ÈÍѤ·¤Þ¤¹¡£
-¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÆɤßÌ᤹¤Ë¤Ï¡¢@code{LOAD DATA INFILE}¤ò»ÈÍѤ·¤Þ¤¹¡£
-@code{FIELDS}¤È@code{LINES}Àá¤Î¹½Ê¸¤ÏξÊý¤Î¥³¥Þ¥ó¥É¤È¤âƱ¤¸¤Ç¤¹¡£
-¤É¤Á¤é¤ÎÀá¤â¥ª¥×¥·¥ç¥ó¤Ç¤¹¤¬¡¢Î¾Êý¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢@code{FIELDS}¤Ï¡¢@code{LINES}¤è¤êÀè¤Ë»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-@code{FIELDS}Àá¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤ÎÃÊÍî(@code{TERMINATED BY}¡¢@code{[OPTIONALLY] ENCLOSED BY}µÚ¤Ó@code{ESCAPED BY})¤Ï¡¢¾¯¤Ê¤¯¤È¤â£±¤Ä¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤ò½ü¤¤¤Æ¡¢¤½¤ì¤é¤â¤Þ¤¿¥ª¥×¥·¥ç¥ó¤È¤Ê¤ê¤Þ¤¹¡£
-
-@code{FIELDS}Àá¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢½é´üÃͤϰʲ¼¤Î¤è¤¦¤Ëµ­½Ò¤·¤¿¤Î¤ÈÅù²Á¤È¤Ê¤ê¤Þ¤¹:
-
-@example
-FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
-@end example
-
-@code{LINES}Àá¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¡¢½é´üÃͤϰʲ¼¤Î¤è¤¦¤Ëµ­½Ò¤·¤¿¤Î¤ÈÅù²Á¤È¤Ê¤ê¤Þ¤¹:
-
-@example
-LINES TERMINATED BY '\n'
-@end example
-
-¸À¤¤´¹¤¨¤ë¤È¡¢@code{LOAD DATA INFILE} ¤Î½é´üÃͤϡ¢½ÐÎϤؽñ¤­¹þ¤àºÝ¤Ë°Ê²¼¤Î¤è¤¦¤Ë¿¶Éñ¤¤¤Þ¤¹:
-
-@itemize @bullet
-@item
-²þ¹Ô¤ò¥ì¥³¡¼¥É¤Î¶­³¦¤È¤ß¤Ê¤¹
-
-@item
-¥¿¥Öʸ»ú¤Ë¤è¤Ã¤Æ¥Õ¥£¡¼¥ë¥É¤ò¶èÀÚ¤ë
-
-@item
-¥¯¥©¡¼¥Èʸ»ú¤Ç¥Õ¥£¡¼¥ë¥É¤ò°Ï¤ó¤Ç¤¤¤Ê¤¤¤â¤Î¤È¤¹¤ë
-
-@item
-¥¿¥Öʸ»ú¤ä²þ¹Ôʸ»úµÚ¤Ó@samp{\}¤ÎÁ°¤Ë@samp{\}¤¬¤¢¤ë¤³¤È¤Ë¤è¤ê¡¢¤½¤ì¤é¤ò¥Õ¥£¡¼¥ë¥ÉÃͤΰìÉô¤Î¥ê¥Æ¥é¥ëʸ»ú¤Ç¤¢¤ë¤È¤·¤Æ½èÍý¤¹¤ë¡£
-@end itemize
-
-µÕ¤Ë¡¢@code{LOAD DATA INFILE}¤Î½é´üÃͤϡ¢ÆþÎϤòÆɤ߹þ¤àºÝ¤Ë°Ê²¼¤Î¤è¤¦¤Ë¿¶Éñ¤¤¤Þ¤¹:
-
-@itemize @bullet
-@item
-¥Õ¥£¡¼¥ë¥É´Ö¤Ë¥¿¥Öʸ»ú¤ò½ñ¤¯
-
-@item
-¤¤¤º¤ì¤Î¥¯¥©¡¼¥Èʸ»ú¤Ç¤â¥Õ¥£¡¼¥ë¥É¤ò°Ï¤Þ¤Ê¤¤
-
-@item
-@samp{\}¤Î»ÈÍѤˤè¤ê¡¢¥Õ¥£¡¼¥ë¥ÉÃͤÎÃæ¤Ç»ÈÍѤ¹¤ë¥¿¥Öʸ»ú¤ä²þ¹Ôʸ»ú¡¢@samp{\}¤ò¥¨¥¹¥±¡¼¥×¤¹¤ë
-
-@item
-¥ì¥³¡¼¥É¤Î½ª¤ê¤Ë²þ¹Ôʸ»ú¤ò½ñ¤¯
-@end itemize
-
- @code{FIELDS ESCAPED BY '\\'}¤È½ñ¤¤¤¿¾ì¹ç¡¢Ã±°ì¤Î¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤È¤·¤ÆÆɤ߽Фµ¤ì¤ëÃͤȤ¹¤ë¤¿¤á¤Ë¡¢£²¤Ä¤Î¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤¡£
-
-@code{IGNORE number LINES} ¥ª¥×¥·¥ç¥ó¤Ï¥Õ¥¡¥¤¥ë¤ÎÀèƬ¤Ë¤¢¤ë¥ì¥³¡¼¥É¤ò̵»ë¤¹¤ë¤Î¤Ë
-»ÈÍѤµ¤ì¤Þ¤¹¡§
-
-@example
-mysql> LOAD DATA INFILE "/tmp/file_name" into table test IGNORE 1 LINES;
-@end example
-
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¥Õ¥¡¥¤¥ë¤Ø¥Ç¡¼¥¿¤ò½ñ¤­¡¢¤½¤ì¤«¤é¸å¤Ç¤½¤Î¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¥Ç¡¼¥¿¤òÆɤßÌ᤹¤¿¤á¤Ë¡¢@code{SELECT ... INTO OUTFILE}¤ÈÂФË@code{LOAD DATA INFILE}¤ò»È¤¦¾ì¹ç¡¢ÁÐÊý¤Î¥Õ¥£¡¼¥ë¥É¤È¥ì¥³¡¼¥É¤Î¼è°·¤¤¤Ë´Ø¤¹¤ë¥ª¥×¥·¥ç¥ó¤Ï¡¢°ìÃפ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤µ¤â¤Ê¤±¤ì¤Ð¡¢@code{LOAD DATA INFILE}¤ÏŬÀڤ˥ե¡¥¤¥ë¤ò½èÍý¤·¤Ê¤¤¤Ç¤·¤ç¤¦¡£
- ¥Õ¥£¡¼¥ë¥É¤ò¥³¥ó¥Þ¤Ç¶èÀڤäƥե¡¥¤¥ë¤Ø½ñ¤­½Ð¤¹¤¿¤á¤Ë¡¢@code{SELECT ... INTO OUTFILE}¤ò»ÈÍѤ¹¤ë¤È¤¹¤ì¤Ð:
-
-@example
-mysql> SELECT * FROM table1 INTO OUTFILE 'data.txt'
- FIELDS TERMINATED BY ','
- FROM ...
-@end example
-
-¥³¥ó¥Þ¶èÀÚ¤ê¥Õ¥¡¥¤¥ë¤«¤éÆɤßÌ᤹¤¿¤á¡¢Àµ¤·¤¤¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ï¤³¤¦¤Ê¤ë¤Ç¤·¤ç¤¦:
-
-@example
-mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2
- FIELDS TERMINATED BY ',';
-@end example
-
-¤½¤ÎÂå¤ï¤ê¤È¤·¤Æ¼¡¤Ë¼¨¤¹¤è¤¦¤Ê¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤â¤¦¤È¤·¤Æ¤â¡¢Àµ¤·¤¯Æ°ºî¤·¤Ê¤¤¤Ç¤·¤ç¤¦¡£¤Ê¤¼¤Ê¤é¡¢¤³¤ì¤Ï¡¢@code{LOAD DATA INFILE}¤ËÂФ·¤Æ¥Õ¥£¡¼¥ë¥É¤Î´Ö¤Ë¥¿¥Ö¤òõ¤¹¤è¤¦»Ø¼¨¤¹¤ë¤«¤é¤Ç¤¹:
-
-@example
-mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2
- FIELDS TERMINATED BY '\t';
-@end example
-
-¤ª¤½¤é¤¯¡¢¤½¤ì¤¾¤ì¤ÎÆþÎϹԤÏñ°ì¤Î¥Õ¥£¡¼¥ë¥É¤È¤·¤Æ½èÍý¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£
-
-@code{LOAD DATA INFILE}¤Ï³°Éô¥½¡¼¥¹¤«¤é¤â¥Õ¥¡¥¤¥ë¤òÆɤ߽Ф¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-Î㤨¤Ð¡¢dBASE¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤ò¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¡¢¥À¥Ö¥ë¥¯¥©¡¼¥Æ¡¼¥·¥ç¥ó¤Ç°Ï¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-¥ì¥³¡¼¥É¤¬²þ¹Ôʸ»ú¤Ç¶èÀÚ¤é¤ì¤Æ¤¤¤ë¤È¤·¤¿¤é¡¢¼¡¤Ë¼¨¤¹¥Õ¥£¡¼¥ë¥ÉµÚ¤Ó¥ì¥³¡¼¥É¤Î¼è°·¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¥³¥Þ¥ó¥É¤¬¡¢¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤à¤Î¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-
-@example
-mysql> LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name
- FIELDS TERMINATED BY ',' ENCLOSED BY '"'
- LINES TERMINATED BY '\n';
-@end example
-
-¤¤¤¯¤Ä¤«¤Î¥Õ¥£¡¼¥ë¥ÉµÚ¤Ó¥ì¥³¡¼¥É¤Î¼è°·¥ª¥×¥·¥ç¥ó¤Ë¡¢¶õʸ»úÎó(@code{''})¤ò»ØÄꤹ¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¶õ¤Ç¤Ê¤¤¤Ê¤é¡¢@code{FIELDS [OPTIONALLY] ENCLOSED BY}¤È@code{FIELDS ESCAPED BY}¤ÎÃͤÏñ°ì¤Îʸ»ú¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£@code{FIELDS TERMINATED BY}¤È@code{LINES TERMINATED BY}¤Ï£²¤Ä°Ê¾å¤Îʸ»ú¤È¤Ê¤ë¤Ç¤·¤ç¤¦¡£Î㤨¤Ð¡¢¥ê¥¿¡¼¥óʸ»ú¤È²þ¹Ôʸ»ú¤Î¥Ú¥¢¤Ç¶èÀÚ¤é¤ì¤¿¥ì¥³¡¼¥É¤ò½ñ¤­¹þ¤ó¤À¤ê¡¢¤³¤Î¤è¤¦¤Ê¥ì¥³¡¼¥É¤ò´Þ¤ó¤À¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤ó¤À¤ê¤¹¤ë¤Ë¤Ï¡¢@code{LINES TERMINATED BY '\r\n'}Àá¤ò»ØÄꤷ¤Þ¤¹¡£
-
-@code{FIELDS [OPTIONALLY] ENCLOSED BY}¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Î°úÍÑÉä¤òÀ©¸æ¤·¤Þ¤¹¡£½ÐÎϤκÝ(@code{SELECT ... INTO OUTFILE})¡¢@code{OPTIONALLY}¸ì¤ò¾Ê¤¤¤¿¤Ê¤é¡¢Á´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤Ï@code{ENCLOSED BY}ʸ»ú¤Ç°Ï¤Þ¤ì¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê½ÐÎÏ(¥Õ¥£¡¼¥ë¥É¶èÀÚ¤ê¤Ë¥³¥ó¥Þ¤ò»ÈÍÑ)¤ÎÎã¤ò¼¡¤Ë¼¨¤·¤Þ¤¹:
-
-@example
-"1","a string","100.20"
-"2","a string containing a , comma","102.20"
-"3","a string containing a \" quote","102.20"
-"4","a string containing a \", quote and comma","102.20"
-@end example
-
-@code{OPTIONALLY}¤ò»ØÄꤹ¤ì¤Ð¡¢@code{ENCLOSED BY}ʸ»ú¤Ï¡¢ @code{CHAR}¥Õ¥£¡¼¥ë¥É¤È@code{VARCHAR}¥Õ¥£¡¼¥ë¥É¤Î¤ß°Ï¤à¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹:
-
-@example
-1,"a string",100.20
-2,"a string containing a , comma",102.20
-3,"a string containing a \" quote",102.20
-4,"a string containing a \", quote and comma",102.20
-@end example
-
-¥Õ¥£¡¼¥ë¥ÉÃͤÎÃæ¤Ë¤ª¤±¤ë@code{ENCLOSED BY}ʸ»ú¤Î½Ð¸½¤Ï¡¢@code{ESCAPED BY}ʸ»ú¤ò¤½¤ÎÁ°¤ËÃÖ¤¯¤³¤È¤Ë¤è¤ê¥¨¥¹¥±¡¼¥×¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤¡£@code{ESCAPED BY}Ãͤ˶õ¤ò»ØÄꤹ¤ë¤È¡¢@code{LOAD DATA INFILE}¤Ë¤è¤êÀµ¤·¤¯Æɤ߹þ¤á¤Ê¤¤½ÐÎϤòÀ¸À®¤¹¤ë¤Ç¤·¤ç¤¦¡£Î㤨¤Ð¡¢¤³¤Î¤è¤¦¤Ë¥¨¥¹¥±¡¼¥×ʸ»ú¤ò¶õ¤Ë¤·¤¿¾ì¹ç¡¢°Ê²¼¤Ë¼¨¤¹¤è¤¦¤Ê½ÐÎϤȤʤê¤Þ¤¹¡££´¹ÔÌܤΣ²¤ÄÌܤΥե£¡¼¥ë¥É¤Ë¡¢(¸í¤Ã¤Æ)¥Õ¥£¡¼¥ë¥É¤ò¶èÀڤ뤫¤Î¤è¤¦¤Ê¥¯¥©¡¼¥È¤Ë³¤¯¥³¥ó¥Þ¤ò´Þ¤ó¤Ç¤¤¤ë¤³¤È¤ËÃí»ë¤·¤Æ²¼¤µ¤¤:
-
-@example
-1,"a string",100.20
-2,"a string containing a , comma",102.20
-3,"a string containing a " quote",102.20
-4,"a string containing a ", quote and comma",102.20
-@end example
-
-ÆþÎϤˤª¤¤¤Æ¡¢@code{ENCLOSED BY}ʸ»ú¤¬»ØÄꤵ¤ì¤Æ¤ª¤ê¡¢¤½¤ì¤¬¥Õ¥£¡¼¥ë¥ÉÃͤÎξü¤Ë¸½¤ì¤¿¾ì¹ç¡¢¤½¤Îʸ»ú¤Ï¼è¤êµî¤é¤ì¤Þ¤¹¡£(¤³¤ì¤Ï¡¢@code{OPTIONALLY}¤¬»ØÄꤵ¤ì¤¿¤«¤É¤¦¤«¤Ë¹´¤é¤º¡¢Åö¤Æ¤Ï¤Þ¤ê¤Þ¤¹;@code{OPTIONALLY}¤ÏÆþÎϲòÀϤˤϸú²Ì¤¬¤¢¤ê¤Þ¤»¤ó¡£)
- @code{ESCAPED BY}ʸ»ú¤òÁ°ÃÖ¤­¤µ¤ì¤¿@code{ENCLOSED BY}ʸ»ú¤Î½Ð¸½¤Ï¡¢¸½ºß¤Î¥Õ¥£¡¼¥ë¥ÉÃͤΰìÉô¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢¤¢¤ë¥Õ¥£¡¼¥ë¥É¤¬¤½¤ì¼«¿È¡¢¤¿@code{ENCLOSED BY}ʸ»ú¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢¥Õ¥£¡¼¥ë¥É¤é¤ÎÆâÉô¤ÇȯÀ¸¤¹¤ë£²½Å¤Î@code{ENCLOSED BY}ʸ»ú¤Ï¡¢Ã±°ì¤Î@code{ENCLOSED BY}ʸ»ú¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£
- Î㤨¤Ð¡¢@code{ENCLOSED BY '"'}¤¬»ØÄꤵ¤ì¤ë¤È¡¢°úÍÑÉä¤Ï°Ê²¼¤Î¤è¤¦¤ËÁàºî¤µ¤ì¤Þ¤¹:
-
-@example
-"The ""BIG"" boss" -> The "BIG" boss
-The "BIG" boss -> The "BIG" boss
-The ""BIG"" boss -> The ""BIG"" boss
-@end example
-
-@code{FIELDS ESCAPED BY}¤Ï¡¢Æüìʸ»ú¤ò¤É¤Î¤è¤¦¤Ë½ñ¤­¹þ¤ó¤À¤êÆɤ߹þ¤ó¤À¤ê¤¹¤ë¤«¤òÀ©¸æ¤·¤Þ¤¹¡£
- @code{FIELDS ESCAPED BY}ʸ»ú¤¬¶õ¤Ç¤Ê¤¤¾ì¹ç¡¢½ÐÎϤˤª¤¤¤Æ¼¡¤Î¤è¤¦¤Êʸ»ú(ʸ»úÎó)¤Î¥×¥ê¥Õ¥£¥Ã¥¯¥¹¤Ë»ÈÍѤµ¤ì¤Þ¤¹:
-@itemize @bullet
-@item
-@code{FIELDS ESCAPED BY}ʸ»ú
-@item
-@code{FIELDS [OPTIONALLY] ENCLOSED BY}ʸ»ú
-@item
-@code{FIELDS TERMINATED BY}ÃͤÈ@code{LINES TERMINATED BY}Ãͤκǽé¤Îʸ»ú
-@item
-ASCII 0 (¥¨¥¹¥±¡¼¥×ʸ»ú¤Î¸å¤Ë³¤¤¤Æ¼ÂºÝ¤Ë½ñ¤«¤ì¤ëʸ»ú¤ÏASCII @code{'0'}¤Ç¡¢'¥¼¥íÃÍ'¥Ð¥¤¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó)
-@end itemize
-
-@code{FIELDS ESCAPED BY}ʸ»ú¤¬¶õ¤Ç¤¢¤ì¤Ð¡¢¤É¤Îʸ»ú¤â¥¨¥¹¥±¡¼¥×¤µ¤ì¤Þ¤»¤ó¡£
-Æäˡ¢¥Õ¥£¡¼¥ë¥ÉÃͤ¬¾å¤Ë¼¨¤·¤¿Ê¸»ú¤ò´Þ¤ó¤Ç¤¤¤ë¤Ê¤é¤Ð¡¢¥¨¥¹¥±¡¼¥×ʸ»ú¤Ë¶õ¤ò»ØÄꤹ¤ë¤Î¤Ï¤¢¤Þ¤êÎɤ¤¹Í¤¨¤È¤Ï¸À¤¨¤Ê¤¤¤Ç¤·¤ç¤¦¡£
-
-ÆþÎϤˤª¤¤¤Æ¡¢@code{FIELDS ESCAPED BY}ʸ»ú¤¬¶õ¤Ç¤Ê¤¤¾ì¹ç¡¢¤³¤Îʸ»ú¤Î½Ð¸½¤Ï¼è¤êµî¤é¤ì¡¢¸å³¤Îʸ»ú¤Ï¥Õ¥£¡¼¥ë¥ÉÃͤΰìÉô¤È¤·¤Æ¤½¤Î¤Þ¤Þ¼õ¤±¼è¤é¤ì¤Þ¤¹¡£
-Îã³°¤Ï¡¢¥¨¥¹¥±¡¼¥×¤µ¤ì¤¿@samp{0}¤ä@samp{N}¤Ç¤¹(Î㤨¤Ð¡¢¥¨¥¹¥±¡¼¥×ʸ»ú¤¬@samp{\}¤Ç¤¢¤ë»þ¤Î@code{\0}¤ä@code{\N})¡£
- ¤³¤ì¤é¤Î¥·¡¼¥±¥ó¥¹¤Ï¡¢ASCII 0('¥¼¥íÃÍ'¥Ð¥¤¥È) ¡¢@code{NULL}¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£@code{NULL}Áàºî¤Îµ¬Â§¤Ï²¼¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡£
-
-@samp{\}-escape syntax¤Ë´Ø¤¹¤ë¤³¤ì°Ê³°¤Î¾ðÊó¤Ï¡¢@ref{Literals}»²¾È¡£
-
-¥Õ¥£¡¼¥ë¥É¤È¥ì¥³¡¼¥ÉÁàºî¥ª¥×¥·¥ç¥ó¤¬³Î¼Â¤ËÁê¸ßºîÍѤ¹¤ë»öÎã:
-
-@itemize @bullet
-@item
-@code{LINES TERMINATED BY}¤¬¶õʸ»úÎó¤Ç@code{FIELDS TERMINATED BY}¤¬¶õ¤Ç¤Ê¤¤¾ì¹ç¡¢³Æ¥ì¥³¡¼¥É¤â¤Þ¤¿@code{FIELDS TERMINATED BY}¤Ç½ª¤é¤»¤é¤ì¤Þ¤¹¡£
-
-@item
-@code{FIELDS TERMINATED BY}¤È@code{FIELDS ENCLOSED BY}Ãͤ¬Î¾Êý¤È¤â¶õ(@code{''})¤Î»þ¡¢(¶èÀÚ¤é¤ì¤Ê¤¤)¸ÇÄêĹ¹Ô¥Õ¥©¡¼¥Þ¥Ã¥È¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-¸ÇÄêĹ¹Ô¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤Ï¡¢¥Õ¥£¡¼¥ë¥É´Ö¤Ë¶èÀÚ¤êʸ»úÎ󤬻ÈÍѤµ¤ì¤Þ¤»¤ó¡£
-¤½¤ÎÂå¤ï¤ê¡¢¥Õ¥£¡¼¥ë¥ÉÃͤϡ¢¥Õ¥£¡¼¥ë¥É¤Î``ɽ¼¨''Éý¤ò»È¤Ã¤Æ½ñ¤­¹þ¤Þ¤ì¤¿¤ê¡¢Æɤ߹þ¤Þ¤ì¤Þ¤¹¡£
-Î㤨¤Ð¡¢¤¢¤ë¥Õ¥£¡¼¥ë¥É¤¬@code{INT(7)}¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Õ¥£¡¼¥ë¥É¤ÎÃͤÏ7ʸ»ú¤Î·å¤ò»È¤Ã¤Æ½ñ¤­¹þ¤Þ¤ì¤Þ¤¹¡£
-ÆþÎϤˤª¤¤¤Æ¥Õ¥£¡¼¥ë¥É¤Ï¡¢£·Ê¸»ú¤ÎÆɤ߹þ¤ß¤Ë¤è¤êÆÀ¤é¤ì¤Þ¤¹¡£
-¸ÇÄêĹ¹Ô¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¤Þ¤¿¡¢@code{NULL}ÃͤÎÁàºî¤Ë¹¥¤ó¤ÇÍѤ¤¤é¤ì¤Þ¤¹;²¼¤ò»²¾È¤Î¤³¤È¡£
-Ãí°Õ: ¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¥»¥Ã¥È¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¸ÇÄêĹ¥Õ¥©¡¼¥Þ¥Ã¥È¤ÏƯ¤­¤Þ
-¤»¤ó¡£
-@end itemize
-
-@code{FIELDS}¤È@code{LINES}¥ª¥×¥·¥ç¥ó¤Ë¤è¤ë@code{NULL}ÃͤοÍͤʼ谷¤¤:
-
-@itemize @bullet
-@item
-@code{FIELDS}¤È@code{LINES}¤Î½é´üÃͤΤ¿¤á¤Ë¡¢½ÐÎÏ»þ¤Ë@code{NULL}¤Ï@code{\N}¤È¤·¤Æ½ñ¤­¹þ¤Þ¤ì¡¢ÆþÎÏ»þ¤Ë@code{\N}¤Ï@code{NULL}¤È¤·¤ÆÆɤ߹þ¤Þ¤ì¤Þ¤¹(ÅöÁ³¤Î¤³¤È¤Ê¤¬¤é¡¢@code{ESCAPED BY}ʸ»ú¤Ï@samp{\}¤È¤·¤Þ¤¹)¡£
-
-@item
-@code{FIELDS ENCLOSED BY}¤¬¶õ¤Ç̵¤¤»þ¡¢Äê¿ô@code{NULL}¤Î¥Õ¥£¡¼¥ë¥ÉÃͤÏ@code{NULL}ÃͤȤ·¤ÆÆɤ߹þ¤Þ¤ì¤Þ¤¹(¤³¤ì¤Ï¡¢Ê¸»úÎó@code{'NULL'}¤È¤·¤ÆÆɤ߹þ¤Þ¤ì¤ë@code{FIELDS ENCLOSED BY}ʸ»úÎó¤Ç°Ï¤Þ¤ì¤¿@code{NULL}¤È¤Ï°Û¤Ê¤ê¤Þ¤¹)¡£
-
-@item
-@code{FIELDS ESCAPED BY}¤¬¶õ¤Î»þ¡¢@code{NULL}¤Ï@code{NULL}¤È¤·¤Æ½ñ¤­¹þ¤Þ¤ì¤Þ¤¹¡£
-
-@item
-¸ÇÄêĹ¹Ô¥Õ¥©¡¼¥Þ¥Ã¥È(@code{FIELDS TERMINATED BY}¤È@code{FIELDS ENCLOSED BY}¤¬¤¤¤º¤ì¤â¶õ¤Î¾ì¹ç¤Ëµ¯¤³¤ê¤Þ¤¹)¤Ë¤ª¤¤¤Æ¡¢@code{NULL}¤Ï¡¢¶õÇòʸ»úÎó¤È¤·¤Æ½ñ¤­¹þ¤Þ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢¥Õ¥¡¥¤¥ëÆâ¤Ç¤Ï¡¢@code{NULL}ÃͤȶõÇòÃͤθ«Ê¬¤±¤¬¤Ä¤«¤Ê¤¤¤È¤¤¤¦¤³¤È¤ò¼¨¤·¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤¡£¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÆɤßÌ᤹»þ¤Ëξ¼Ô¤ò¶èÊ̤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¡¢¸ÇÄêĹ¹Ô¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï»ÈÍѤ¹¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-@end itemize
-
-¥­¡¼¥ï¡¼¥É@code{REPLACE}¤È@code{IGNORE}¤Ï¡¢¥æ¥Ë¡¼¥¯¡¦¥­¡¼Ãͤ¬½ÅÊ£¤¹¤ë¥ì¥³¡¼¥É¤¬Â¸ºß¤¹¤ëÆþÎϥ쥳¡¼¥É¤Î¼è°·¤¤¤òÀ©¸æ¤·¤Þ¤¹¡£
-@code{REPLACE}¤ò»ØÄꤷ¤¿¾ì¹ç¡¢Æ±¤¸¥æ¥Ë¡¼¥¯¡¦¥­¡¼Ãͤò»ý¤Ä¿·¤·¤¤¥ì¥³¡¼¥É¤Ï¡¢´û¤Ë¸ºß¤¹¤ëƱ¤¸¥æ¥Ë¡¼¥¯¡¦¥­¡¼¤Ç¤¢¤ë¥ì¥³¡¼¥É¤òÃÖ¤­´¹¤¨¤Þ¤¹¡£
-@code{IGNORE}¤ò»ØÄꤷ¤¿¾ì¹ç¡¢´û¤Ë¸ºß¤¹¤ë¥ì¥³¡¼¥É¤Î¥æ¥Ë¡¼¥¯¡¦¥­¡¼ÃͤȽÅÊ£¤¹¤ëÆþÎϥ쥳¡¼¥É¤Ï¡¢¥¹¥­¥Ã¥×¤µ¤ì¤Þ¤¹¡£
-¤¤¤º¤ì¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢½ÅÊ£¥­¡¼¤¬È¯¸«¤µ¤ì¤¿»þÅÀ¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¡¢¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Î»Ä¤ê¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
-
-@code{LOAD DATA INFILE}¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Ê¤¤¥±¡¼¥¹:
-@itemize @bullet
-
-@item
-¸ÇÄêĹ¹Ô(@code{FIELDS TERMINATED BY}¤È@code{FIELDS ENCLOSED BY}¤ÎξÊý¤¬¶õ)¤È@code{BLOB}¥Õ¥£¡¼¥ë¥É¡£
-@item
-¤¢¤ë¥»¥Ñ¥ì¡¼¥¿¤ò¾¤ÈƱ¤¸¤«¤â¤·¤¯¤Ï¾¤Î¥×¥ê¥Õ¥£¥Ã¥¯¥¹¤È¤·¤¿¾ì¹ç¡¢@code{LOAD DATA INFILE}¤Ï¡¢Àµ¤·¤¤ÆþÎϽèÍý¤¬¤Ç¤­¤Ê¤¤¤Ç¤·¤ç¤¦¡£
-Î㤨¤Ð¡¢°Ê²¼¤Î@code{FIELDS}Àá¤ÏÌäÂê¤Î¸¶°ø¤È¤Ê¤ê¤Þ¤¹:
-
-@example
-FIELDS TERMINATED BY '"' ENCLOSED BY '"'
-@end example
-
-@item
-@code{FIELDS ESCAPED BY}¤¬¶õ¤Ç¡¢¥Õ¥£¡¼¥ë¥ÉÃͤˡ¢@code{FIELDS ENCLOSED BY}Ãͤä@code{LINES TERMINATED BY}Ãͤθå¤Ë@code{FIELDS TERMINATED BY}Ãͤ¬¤¯¤ë¤è¤¦¤Ê¤â¤Î¤ò´Þ¤à¾ì¹ç¡¢¥Õ¥£¡¼¥ë¥É¤ä¹Ô¤ÎÆɤ߹þ¤ß¤¬Áá¤á¤ËÂǤÁÀÚ¤é¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢@code{LOAD DATA INFILE}¤¬¡¢¥Õ¥£¡¼¥ë¥É¤ä¥ì¥³¡¼¥É¤Î½ªÎ»°ÌÃÖ¤òÀµ¤·¤¯·è¤á¤é¤ì¤Ê¤¤¤³¤È¤Ë¤è¤êȯÀ¸¤·¤Þ¤¹¡£
-@end itemize
-
-¼¡¤ÎÎã¤Ï¡¢@code{persondata}¥Æ¡¼¥Ö¥ë¤ÎÁ´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤òÆɤ߹þ¤ß¤Þ¤¹:
-
-@example
-mysql> LOAD DATA INFILE 'persondata.txt' INTO TABLE persondata;
-@end example
-
-¥Õ¥£¡¼¥ë¥É¥ê¥¹¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¤«¤é¡¢@code{LOAD DATA INFILE}¤Ï¡¢ÆþÎϥ쥳¡¼¥É¤¬¥Æ¡¼¥Ö¥ë¤Î¤½¤ì¤¾¤ì¤Î¥Õ¥£¡¼¥ë¥É¤ò´Þ¤à¤â¤Î¤ÈÁÛÄꤷ¤Þ¤¹¡£
-@code{FIELDS}¤È@code{LINES}¤Î½é´üÃͤ¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-
-¥Æ¡¼¥Ö¥ë¤Î°ìÉô¤Î¥Õ¥£¡¼¥ë¥É¤Î¤ßÆɤ߹þ¤ß¤¿¤¤¾ì¹ç¡¢¥Õ¥£¡¼¥ë¥É¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹:
-
-@example
-mysql> LOAD DATA INFILE 'persondata.txt'
- INTO TABLE persondata (col1,col2,...);
-@end example
-
-¥Æ¡¼¥Ö¥ëÆâ¤Î¥Õ¥£¡¼¥ë¥É½ç¤ÈÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¥Õ¥£¡¼¥ë¥É½ç¤¬°Û¤Ê¤ë¾ì¹ç¤Ë¤â¡¢@strong{MySQL}¤Ë¥Æ¡¼¥Ö¥ë¤Î¥Õ¥£¡¼¥ë¥É¤ÈÆþÎÏ¥Õ¥£¡¼¥ë¥É¤ÎÂбþ¤ò¶µ¤¨¤ë¤¿¤á¤Ë¡¢¥Õ¥£¡¼¥ë¥É¥ê¥¹¥È¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-ÆþÎϥ쥳¡¼¥É¤Î¥Õ¥£¡¼¥ë¥É¿ô¤ÎÊý¤¬¾¯¤Ê¤¤¾ì¹ç¡¢ÆþÎÏ¥Õ¥£¡¼¥ë¥ÉÃͤ¬Í¿¤¨¤é¤ì¤Ê¤¤¥Õ¥£¡¼¥ë¥É¤Ï¡¢½é´üÃͤ¬ÀßÄꤵ¤ì¤Þ¤¹¡£
-½é´üÃͤγäÅö¤Æ¤Ë¤Ä¤¤¤Æ¤Ï¡¢@ref{CREATE TABLE, , @code{CREATE TABLE}}.
-¤Ç½Ò¤Ù¤é¤ì¤Æ¤¤¤Þ¤¹¡£
-
-¶õ¤Î¥Õ¥£¡¼¥ë¥ÉÃͤÏÊÑ´¹¤µ¤ì¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-ʸ»ú·¿¤Î¾ì¹ç¡¢ ¥Õ¥£¡¼¥ë¥É¤ÎÃͤ϶õʸ»ú¤Ë¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£
-
-@item
-¿ôÃÍ·¿¤Î¾ì¹ç¡¢¥Õ¥£¡¼¥ë¥É¤ÎÃÍ¤Ï @code{0} ¤Ë¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£
-
-@item
-ÆüÉդȻþ¹ï¤Î·¿¤Î¾ì¹ç¡¢ ¥Õ¥£¡¼¥ë¥É¤ÎÃÍ¤Ï ``zero'' ¤Î°ÕÌ£¤¹¤ëÃͤ¬¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£
-@xref{Date and time types}.
-@end itemize
-
-@code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥Õ¥£¡¼¥ë¥ÉÃÍ¤Ë @code{NULL} Ãͤ¬»ØÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¤â¤·¤¯¤Ï¡¢
-¥Õ¥£¡¼¥ë¥É¥ê¥¹¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë»þ¤Ë @code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤¬¤½¤Î¥ê¥¹¥È¤«¤é½ü³°¤µ¤ì¤Æ¤¤¤¿¾ì¹ç
-(ºÇ½é¤Î@code{TIMESTAMP}¥Õ¥£¡¼¥ë¥É¤Î¤ß)¡¢¸½ºß»þ¹ï¤¬ÀßÄꤵ¤ì¤ë¤À¤±¤Ç¤¹¡£
-
-ÆþÎϥ쥳¡¼¥É¤Î¥Õ¥£¡¼¥ë¥É¿ô¤ÎÊý¤¬Â¿¤¤¾ì¹ç¡¢Í¾Ê¬¤Ê¥Õ¥£¡¼¥ë¥É¤Ï̵»ë¤µ¤ì¡¢·Ù¹ð¤Î¿ô¤¬Áý¤ä¤µ¤ì¤Þ¤¹¡£
-
-@code{LOAD DATA INFILE}¤ÏÁ´¤Æ¤ÎÆþÎϤòʸ»úÎó¤Èʸ»úÎó¤È¤ß¤Ê¤¹¤³¤È¤«¤é¡¢@code{INSERT}¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç¤Ç¤­¤ë¤è¤¦¤Ê@code{ENUM}¥Õ¥£¡¼¥ë¥É¤ä@code{SET}¥Õ¥£¡¼¥ë¥É¤Ø¤Î¿ôÃͤλØÄê¤Ï¤Ç¤­¤Þ¤»¤ó¡£Á´¤Æ¤Î@code{ENUM}µÚ¤Ó@code{SET}ÃͤÏʸ»úÎó¤È¤·¤ÆÍ¿¤¨¤é¤ì¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡ª
-
-@findex mysql_info()
-@code{LOAD DATA INFILE}¥¯¥¨¥ê¤Î½ªÎ»»þ¡¢¥¯¥¨¥ê¤Î¾ðÊó¤òÆÀ¤ë¤¿¤á¤ËC API´Ø¿ô@code{mysql_info()}¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¾ðÊó¤Î½ñ¼°¤Ï°Ê²¼¤Ë¼¨¤¹¤è¤¦¤Ê¤â¤Î¤Ç¤¹:
-
-@example
-Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
-@end example
-
-@code{LOAD DATA INFILE} ¤¬¡¢ÆþÎϥ쥳¡¼¥É¤Î¥Õ¥£¡¼¥ë¥É¿ô¤Î²áÉÔ­¤¬¤¢¤Ã¤¿»þ¤Ë¤â
-·Ù¹ð¤ò°ú¤­µ¯¤³¤¹»ö¤ò½ü¤±¤Ð¡¢@code{INSERT} ¥¹¥Æ¡¼¥È¥á¥ó¥È
-(@xref{INSERT, , @code{INSERT}}. ) ¤Ë¤è¤êÃͤ¬ÁÞÆþ¤µ¤ì¤ë»þ¤Ë
-·Ù¹ð¤¬È¯À¸¤¹¤ë¤Î¤ÈƱ¤¸¾õ¶·²¼¤Ç¡¢·Ù¹ð¤¬È¯À¸¤·¤Þ¤¹¡£
-·Ù¹ð¤Ï¤É¤³¤Ë¤âÊݸ¤µ¤ì¤Þ¤»¤ó¡¨ ·Ù¹ð¤Î¿ô¤ÏÁ´¤Æ¤¦¤Þ¤¯¤¤¤Ã¤¿¾ì¹ç¤Ë¤À¤±
-»ÈÍѤǤ­¤Þ¤¹¡£ ¤â¤··Ù¹ð¤òÃΤꤿ¤¤¡¢¤½¤Î·Ù¹ð¤ÎÍýͳ¤òÃΤꤿ¤¤¤Î¤Ê¤é¡¢
-°ì¤ÄÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ @code{SELECT ... INTO OUTFILE} ¤ò»ÈÍѤ·¤Æ
-¾¤Î¥Õ¥¡¥¤¥ë¤ËÍî¤È¤·¡¢¥ª¥ê¥¸¥Ê¥ë¤Î¥Õ¥¡¥¤¥ë¤ÈÈæ¤Ù¤Þ¤¹¡£
-
-@code{INSERT}¤ÈÈæ³Ó¤·¤¿@code{LOAD DATA INFILE}¤Î¸úΨ¤ä@code{LOAD DATA INFILE}¤Î¹â®²½¤Ë¤Ä¤¤¤Æ¤Î¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï¡¢@xref{Insert speed}¤ò»²¾È¤Î¤³¤È¡£
-
-@findex UPDATE
-@node UPDATE, USE, LOAD DATA, Reference
-@section @code{UPDATE} ¹½Ê¸
-
-@example
-UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1,col_name2=expr2,...
- [WHERE where_definition] [LIMIT #]
-@end example
-
-@code{UPDATE} ¤Ï¥Æ¡¼¥Ö¥ë¤Ë¸ºß¤¹¤ë¥ì¥³¡¼¥É¤Î¥Õ¥£¡¼¥ë¥É¤ò¡¢¿·¤·¤¤Ãͤ˹¹¿·¤·¤Þ¤¹¡£
-@code{SET} Àá¤Ï¤É¤Î¥Õ¥£¡¼¥ë¥É¤ò¤É¤¦¤¤¤Ã¤¿Ãͤˤ¹¤Ù¤­¤«¤ò¼¨¤·¤Þ¤¹¡£
-@code{WHERE} À᤬Ϳ¤¨¤é¤ì¤¿¾ì¹ç¡¢¹¹¿·¤¹¤Ù¤­¥ì¥³¡¼¥É¤òÆÃÄꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤½¤ì°Ê³°¤Ï¡¢Á´¤Æ¤Î¥ì¥³¡¼¥É¤ò¹¹¿·¤·¤Þ¤¹¡£
-
-@code{LOW_PRIORITY} ¥­¡¼¥ï¡¼¥É¤ò»ØÄꤷ¤¿¾ì¹ç¡¢@code{UPDATE} ¤Î¼Â¹Ô¤Ï¡¢
-¥Æ¡¼¥Ö¥ë¤òÆɤó¤Ç¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤¬¤Ê¤¯¤Ê¤ë¤Þ¤Ç¡¢Ã٤餵¤ì¤Þ¤¹¡£
-
-@code{IGNORE} ¥­¡¼¥ï¡¼¥É¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢update ʸ¤Ï¡¢
-update Ãæ¤ËÆó½Å¥­¡¼¤Î¥¨¥é¡¼¤òÆÀ¤¿¤È¤·¤Æ¤â¡¢°Û¾ï½ªÎ»¤·¤Þ¤»¤ó¡£
-Rows that would cause conflicts will not be updated.
-
-ɽµ­Ãæ¤Î @code{tbl_name} ¤«¤é¤Î¥Õ¥£¡¼¥ë¥É¤ò¥¢¥¯¥»¥¹¤¹¤ë¤È¡¢@code{UPDATE}
-¤Ï¸½ºß¤Î¥Õ¥£¡¼¥ë¥ÉÃͤò»ÈÍѤ·¤Þ¤¹¡£Î㤨¤Ð¡¢¼¡¤Î¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ï
-@code{age} ¥Õ¥£¡¼¥ë¥É¤Ë¤½¤Î¸½ºßÃͤè¤ê£±Â礭¤¤ÃͤòÀßÄꤷ¤Þ¤¹:
-
-@example
-mysql> UPDATE persondata SET age=age+1;
-@end example
-
-@code{UPDATE} ¤Ïº¸¤«¤é±¦¤Ëɾ²Á¤µ¤ì¤Þ¤¹¡£Î㤨¤Ð¡¢°Ê²¼¤Îʸ¤Ï @code{age} ¥Õ¥£¡¼¥ë¥É¤ò
-2Çܤˤ·¡¢¤½¤Î¤¢¤È1Áý¤ä¤·¤Þ¤¹¡§
-
-@example
-mysql> UPDATE persondata SET age=age*2, age=age+1;
-@end example
-
-¤â¤·¥Õ¥£¡¼¥ë¥É¤Ë¸½ºß¤â¤Ã¤Æ¤¤¤ëÃͤò»ØÄꤷ¤¿¾ì¹ç¡¢@strong{MySQL} ¤Ï¤½¤ì¤òÄÌÃΤ·¡¢
-ÃͤϹ¹¿·¤·¤Þ¤»¤ó¡£
-
-@findex mysql_info()
-@code{UPDATE} ¤ÏÊѹ¹¤µ¤ì¤¿¥ì¥³¡¼¥É¿ô¤òÊÖ¤·¤Þ¤¹¡£
-@strong{MySQL} 3.22 °Ê¾å¤Ç¤Ï¡¢C API ´Ø¿ô @code{mysql_info()} ¤¬
-¥Þ¥Ã¥Á¤·¹¹¿·¤µ¤ì¤¿¥ì¥³¡¼¥É¿ô¤òÊÖ¤·¤Þ¤¹¡£¤Þ¤¿ @code{UPDATE} Ãæ¤Ëµ¯¤­¤¿
-¥ï¡¼¥Ë¥ó¥°¤Î¿ô¤âÊÖ¤·¤Þ¤¹¡£
-
-@strong{MySQL} 3.23 ¤Ç¤Ï¡¢ @code{LIMIT #} ¤Ç»ØÄꤷ¤¿¿ô¤À¤±¥ì¥³¡¼¥É¤òÊѹ¹
-¤Ç¤­¤Þ¤¹¡£
-
-@findex USE
-@node USE, FLUSH, UPDATE, Reference
-@section @code{USE} ¹½Ê¸
-
-@example
-USE db_name
-@end example
-
-@code{USE db_name} ¹½Ê¸¤Ï¡¢ @strong{MySQL} ¤Ë @code{db_name} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò
-¤³¤Î¸å¤Î¥¯¥¨¥ê¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤¹¤ë¤è¤¦¤Ë»Ø¼¨¤·¤Þ¤¹¡£
-»ØÄꤵ¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢¥»¥Ã¥·¥ç¥ó¤ÎºÇ¸å¤Þ¤Ç¡¢¤¢¤ë¤¤¤Ï¡¢Â¾¤Î @code{USE} ¹½Ê¸
-¤¬È¯¹Ô¤µ¤ì¤ë¤Þ¤Ç»Ä¤ê¤Þ¤¹¡§
-
-@example
-mysql> USE db1;
-mysql> SELECT count(*) FROM mytable; # selects from db1.mytable
-mysql> USE db2;
-mysql> SELECT count(*) FROM mytable; # selects from db2.mytable
-@end example
-
-@code{USE} ¹½Ê¸¤ÇÆÃÄê¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥«¥ì¥ó¥È¤Ë¤·¤Æ¤â¡¢
-¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Æ¡¼¥Ö¥ë¤«¤é¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤ò˸¤²¤Þ¤»¤ó¡£
-°Ê²¼¤Ï @code{db1} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î @code{author} ¥Æ¡¼¥Ö¥ë¤È¡¢
- @code{db2} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î @code{editor} ¥Æ¡¼¥Ö¥ë¤Ë¥¢¥¯¥»¥¹¤¹¤ëÎã¤Ç¤¹¡§
-
-@example
-mysql> USE db1;
-mysql> SELECT author_name,editor_name FROM author,db2.editor
- WHERE author.editor_id = db2.editor.editor_id;
-@end example
-
-@cindex Sybase compatibility
-@cindex Compatibility, with Sybase
-@code{USE} ¹½Ê¸¤Ï Sybase ¤Î¸ß´¹¤Î¤¿¤á¤ËÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-
-@cindex @code{mysqladmin}
-@findex FLUSH
-@node FLUSH, KILL, USE, Reference
-@section @code{FLUSH} ¹½Ê¸ (¥­¥ã¥Ã¥·¥å¤Î¥¯¥ê¥¢)
-
-@example
-FLUSH flush_option [,flush_option]
-@end example
-
-@code{FLUSH} ¥³¥Þ¥ó¥É¤Ç @strong{MySQL} ¤¬»ÈÍѤ·¤Æ¤¤¤ëÆâÉô¥­¥ã¥Ã¥·¥å¤Î
-¤¤¤¯¤Ä¤«¤ò¤­¤ì¤¤¤Ë¾Ã¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@code{FLUSH} ¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢ @strong{reload} ¸¢¸Â¤¬¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-@code{flush_option} ¤Ë¤Ï°Ê²¼¤ÎÆâ°ì¤Ä¤¬»ØÄê¤Ç¤­¤Þ¤¹¡§
-
-@multitable @columnfractions .15 .85
-@item @code{HOSTS} @tab ¥Û¥¹¥È¥­¥ã¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤ò¶õ¤Ë¤·¤Þ¤¹¡£¤¢¤Ê¤¿¤Î¥Û¥¹¥È¤Î
-IP ¥¢¥É¥ì¥¹¤òÊѤ¨¤¿¤ê¡¢@code{Host ... is blocked} ¤È¤¤¤¦¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬
-½Ð¤ë¾ì¹ç¤Ï¥Û¥¹¥È¥Æ¡¼¥Ö¥ë¥­¥ã¥Ã¥·¥å¤ò°ìÅÙ¶õ¤Ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-¡Ê»ØÄꤷ¤¿¥Û¥¹¥È¤ËÂФ·¤Æ @code{max_connect_errors} °Ê¾å¤ÎÀܳ¥¨¥é¡¼¤¬½Ð¤ë¾ì¹ç¡¢
-@strong{MySQL} ¤Ï²¿¤«µ¯¤­¤¿¤È
-¿äÄꤷ¡¢¤½¤Î¥Û¥¹¥È¤«¤é¤Î¤¤¤«¤Ê¤ëÀܳÍ×µá¤âµñÈݤ·¤Þ¤¹¡£¥Û¥¹¥È¥Æ¡¼¥Ö¥ë¥­¥ã¥Ã¥·¥å¤Î¾Ãµî¤Ï¡¢
-ºÆ¤ÓÀܳ¤òµö¤¹¤è¤¦¤Ë¤·¤Þ¤¹¡£@xref{Blocked host}.¡Ë
-@code{mysqld} ¤ò
-@code{-O max_connection_errors=999999999} ³«»Ï¤·¡¢¤³¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò
-²óÈò¤Ç¤­¤Þ¤¹
-
-@item @code{LOGS} @tab ɸ½à¤Î¥í¥°¥Õ¥¡¥¤¥ë¤È¹¹¿·¥í¥°¥Õ¥¡¥¤¥ë¤ò
-°ìÅÙÊĤ¸¤ÆºÆ¤Ó³«¤­¤Þ¤¹¡£
-¤â¤·¹¹¿·¥í¥°¥Õ¥¡¥¤¥ë¤ò³ÈÄ¥»Ò̵¤·¤Ç»ØÄꤷ¤Æ¤¤¤ë¾ì¹ç¡¢¿·¤·¤¤¹¹¿·¥í¥°¥Õ¥¡¥¤¥ë¤Î
-³ÈÄ¥»Ò¤ÎÈÖ¹æ¤Ï¡¢°ì¤ÄÁ°¤Î¥Õ¥¡¥¤¥ë¤è¤ê 1 Áý¤ä¤·¤¿¿ô¤Ë¤Ê¤ê¤Þ¤¹¡£
-¥Õ¥¡¥¤¥ë̾¤Ë³ÈÄ¥¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢@strong{MySQL} ¤Ï¹¹¿·¥í¥°¥Õ¥¡¥¤¥ë¤òÊĤ¸¤Æ³«¤­¤Þ¤¹¡£
-@xref{Update log}.
-
-@item @code{PRIVILEGES} @tab @code{mysql} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îµö²Ä¥Æ¡¼¥Ö¥ë¤«¤é¡¢
-¸¢¸Â¾ðÊó¤òºÆÆɹþ¤·¤Þ¤¹¡£
-
-@item @code{TABLES} @tab Á´¤Æ¤Î³«¤¤¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¤òÊĤ¸¤Þ¤¹¡£
-
-@item @code{TABLES WITH READ LOCK} @tab Closes all open tables and locks all tables for read until one executes @code{UNLOCK TABLES}.
-
-@item @code{STATUS} @tab ¤Û¤È¤ó¤É¤Î¥¹¥Æ¡¼¥¿¥¹ÊÑ¿ô¤ò 0 ¤Ë¤·¤Þ¤¹¡£
-@end multitable
-
-¾å¤Ë¼¨¤·¤¿¥³¥Þ¥ó¥É¤Ï¡¢@code{mysqladmin} ¤ò»ÈÍѤ·¤Æ¤â¼Â¹Ô¤Ç¤­¤Þ¤¹¡£
-@code{mysqladmin} ¤Î°ú¿ô¤Ï¤½¤ì¤¾¤ì¡¢
-@code{flush-hosts}, @code{flush-logs}, @code{reload}, @code{flush-tables} ¤È
-¤Ê¤ê¤Þ¤¹¡£
-
-@code{FLUSH} ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢@strong{reload} ¸¢¸Â¤¬¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-@cindex @code{mysqladmin}
-@findex KILL
-@node KILL, SHOW, FLUSH, Reference
-@section @code{KILL} ¹½Ê¸
-
-@example
-KILL thread_id
-@end example
-
-@code{thread_id} ¤Ë¤Ï¡¢@code{mysqld} ¤ËÀܳ¤·¤ÆÁö¤Ã¤Æ¤¤¤ë¥¹¥ì¥Ã¥É¤Î ID ¤ò
-¶õÇò¤Ç¶èÀڤäƻØÄꤷ¤Þ¤¹¡£
-@code{SHOW PROCESSLIST} ¥³¥Þ¥ó¥É¤ÇÁö¤Ã¤Æ¤¤¤ë¥¹¥ì¥Ã¥É¤òÃΤ뤳¤È¤¬¤Ç¤­¡¢
- @code{KILL thread_id} ¥³¥Þ¥ó¥É¤Ç¥¹¥ì¥Ã¥É¤ò KILL ¤Ç¤­¤Þ¤¹¡£
-
-¤â¤· @strong{process} ¸¢¸Â¤¬¤¢¤ë¤Ê¤é¡¢Á´¤Æ¤Î¥¹¥ì¥Ã¥É¤ò³Îǧ¤·¡¢KILL ½ÐÍè¤Þ¤¹¡£
-¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢¼«Ê¬¤Î¥¹¥ì¥Ã¥É¤À¤±¤ò¡¢
-³Îǧ¤·¡¢KILL ¤¹¤ë»ö¤¬¤Ç¤­¤Þ¤¹¡£
-
-@code{mysqladmin processlist} ¤È @code{mysqladmin kill} ¤ò¥¹¥ì¥Ã¥É¤Î
-¸¡ºº¤È KILL ¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-
-@findex SHOW DATABASES
-@findex SHOW TABLES
-@findex SHOW COLUMNS
-@findex SHOW FIELDS
-@findex SHOW INDEX
-@findex SHOW KEYS
-@findex SHOW STATUS
-@findex SHOW VARIABLES
-@findex SHOW PROCESSLIST
-@findex SHOW TABLE STATUS
-@findex SHOW GRANTS
-@node SHOW, EXPLAIN, KILL, Reference
-@section @code{SHOW} ¹½Ê¸ (¥Æ¡¼¥Ö¥ë¤ä¥Õ¥£¡¼¥ë¥É¤Ê¤É¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÆÀ¤ë)
-
-@example
- SHOW DATABASES [LIKE wild]
-or SHOW TABLES [FROM db_name] [LIKE wild]
-or SHOW COLUMNS FROM tbl_name [FROM db_name] [LIKE wild]
-or SHOW INDEX FROM tbl_name [FROM db_name]
-or SHOW STATUS [LIKE wild]
-or SHOW VARIABLES [LIKE wild]
-or SHOW [FULL] PROCESSLIST
-or SHOW TABLE STATUS [FROM db_name] [LIKE wild]
-or SHOW GRANTS FOR user
-@end example
-
-@code{SHOW} ¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¡¢¥Æ¡¼¥Ö¥ë¡¢¥Õ¥£¡¼¥ë¥É¡¢¥µ¡¼¥Ð¡¼¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÍ¿¤¨¤Þ¤¹¡£
-@code{LIKE wild} ¤¬»ÈÍѤµ¤ì¤¿¾ì¹ç¡¢@code{wild} ʸ»úÎó¤ÏÄ̾ï¤Î SQL ¥ï¥¤¥ë¥É¥«¡¼¥É
- (@samp{%} ¤È @samp{_}) ¤Ç¤¹¡£
-
-@code{tbl_name FROM db_name} ¤ÎÂå¤ï¤ê¤Ë¡¢@code{db_name.tbl_name} ¤¬»ÈÍѤǤ­¤Þ¤¹¡£
-¤³¤ì¤éÆó¤Ä¤ÏƱ¤¸¤Ç¤¹¡§
-
-@example
-mysql> SHOW INDEX FROM mytable FROM mydb;
-mysql> SHOW INDEX FROM mydb.mytable;
-@end example
-
-@code{SHOW DATABASES} ¤Ï @strong{MySQL} ¥µ¡¼¥Ð¡¼¾å¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¼¨¤·¤Þ¤¹¡£
-@code{mysqlshow} ¥³¥Þ¥ó¥É¤Ç¤âƱ¤¸¾ðÊó¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
-
-@code{SHOW TABLES} ¤Ï»ØÄꤵ¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Æ¡¼¥Ö¥ë¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£
-@code{mysqlshow db_name} ¥³¥Þ¥ó¥É¤Ç¤âƱ¤¸¾ðÊó¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
-
-@strong{NOTE}: ¤â¤·¥æ¡¼¥¶¡¼¤Ë¥Æ¡¼¥Ö¥ë¤ËÂФ¹¤ë¸¢¸Â¤¬Ìµ¤¤¾ì¹ç¡¢
-¥Æ¡¼¥Ö¥ë¤Ï @code{SHOW TABLES} ¤ä @code{mysqlshow db_name} ¤ÎÍ×µá¤Ç
-ɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
-
-@code{SHOW COLUMNS} ¤ÏÍ¿¤¨¤é¤ì¤¿¥Æ¡¼¥Ö¥ë¤Î¥Õ¥£¡¼¥ë¥É¤òɽ¼¨¤·¤Þ¤¹¡£
-¤â¤·¤½¤Î¥Õ¥£¡¼¥ë¥É¤Î·¿¤¬¡¢¤¢¤Ê¤¿¤¬ @code{CREATE TABLE} ¹½Ê¸¼Â¹Ô»þ¤ËÍ¿¤¨¤¿¤â¤Î¤È
-°ã¤¦¾ì¹ç¤Ï¡¢ @strong{MySQL} ¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Î·¿¤ò¤È¤­¤ª¤êÊѹ¹¤¹¤ë¤³¤È¤¬
-¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-@xref{Silent column changes}.
-
-@code{DESCRIBE} ʸ¤Ï @code{SHOW COLUMNS} ¤È»÷¤¿¤è¤¦¤Ê¾ðÊó¤òÄ󶡤·¤Þ¤¹¡£
-@xref{DESCRIBE, , @code{DESCRIBE}}.
-
-@code{SHOW TABLE STATUS} (¥Ð¡¼¥¸¥ç¥ó 3.23 ¤Î¿·µ¡Ç½) ¤Ï @code{SHOW STATUS}
-¤Î¤è¤¦¤Ç¤¹¤¬¡¢¤½¤ì¤¾¤ì¤Î¥Æ¡¼¥Ö¥ë¤Ë¤Ä¤¤¤Æ¤è¤ê¿¤¯¤Î¾ðÊó¤òÄ󶡤·¤Þ¤¹¡£
-@code{mysqlshow --status db_name} ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤âƱ¤¸¤â¤Î¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
-°Ê²¼¤Î¹àÌܤ¬Ê֤äƤ­¤Þ¤¹¡§
-
-@multitable @columnfractions .30 .70
-@item @strong{¹àÌÜ} @tab @strong{°ÕÌ£}
-@item @code{Name} @tab ¥Æ¡¼¥Ö¥ë̾
-@item @code{Type} @tab ¥Æ¡¼¥Ö¥ë¤Î¼ïÎà (BDB, ISAM, MyISAM or HEAP)
-@item @code{Row_format} @tab ¥ì¥³¡¼¥É¤ÎÊݸ·Á¼° (Fixed, Dynamic, or Compressed)
-@item @code{Rows} @tab ¥ì¥³¡¼¥É¿ô
-@item @code{Avg_row_length} @tab ¥ì¥³¡¼¥É¤ÎÊ¿¶ÑĹ
-@item @code{Data_length} @tab ¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ÎÂ礭¤µ
-@item @code{Max_data_length} @tab ¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ÎºÇÂçÃÍ
-@item @code{Index_length} @tab ¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤ÎÂ礭¤µ
-@item @code{Data_free} @tab ³ä¤êÅö¤Æ¤é¤ì¤¿¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¥Ð¥¤¥È¿ô
-@item @code{Auto_increment} @tab ¼¡¤Î autoincrement ÃÍ
-@item @code{Create_time} @tab ¥Æ¡¼¥Ö¥ëºîÀ®»þ¹ï
-@item @code{Update_time} @tab °ìÈֺǸå¤Ë¹¹¿·¤µ¤ì¤¿»þ¹ï
-@item @code{Check_time} @tab °ìÈֺǸå¤Ë¥Á¥§¥Ã¥¯¤µ¤ì¤¿»þ¹ï
-@item @code{Create_options} @tab @code{CREATE TABLE} ¤Ç»ÈÍѤµ¤ì¤¿³ÈÄ¥¥ª¥×¥·¥ç¥ó
-@item @code{Comment} @tab ¥Æ¡¼¥Ö¥ëºîÀ®»þ¤Ë¤Ä¤±¤é¤ì¤¿¥³¥á¥ó¥È (¤¢¤ë¤¤¤Ï¡¢¤Ê¤¼¤³¤Î¥Æ¡¼¥Ö¥ë¤Ë@strong{MySQL} ¤¬¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤«¤Î¤¤¤¯¤Ä¤«¤Î¾ðÊó).
-@end multitable
-
-@code{SHOW FIELDS} ¤Ï @code{SHOW COLUMNS} ¤ÎÊÌ̾¤È¤·¤Æ»ÈÍѤµ¤ì¡¢
-@code{SHOW KEYS} ¤Ï @code{SHOW INDEX} ¤ÎÊÌ̾¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£
-¥Æ¡¼¥Ö¥ë¤Î¥Õ¥£¡¼¥ë¥É¤ä¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï @code{mysqlshow db_name tbl_name}
-¤« @code{mysqlshow -k db_name tbl_name} ¤Ç¤â¸«¤ì¤Þ¤¹¡£
-
-@code{SHOW INDEX} ¤Ï ODBC ¤Ç¤¤¤¦ @code{SQLStatistics}
-¤Ë¶á¤¤·Á¼°¤Ç¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£
-°Ê²¼¤Î¹àÌܤ¬ÊÖ¤ê¤Þ¤¹¡§
-
-@multitable @columnfractions .35 .65
-@item @strong{¹àÌÜ} @tab @strong{°ÕÌ£}
-@item @code{Table} @tab ¥Æ¡¼¥Ö¥ë̾
-@item @code{Non_unique} @tab ¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬½ÅÊ£¤ò´Þ¤Þ¤Ê¤¤¤Ê¤é 0
-@item @code{Key_name} @tab ¥¤¥ó¥Ç¥Ã¥¯¥¹Ì¾
-@item @code{Seq_in_index} @tab ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¹àÌÜÈֹ档1 ¤«¤é»Ï¤Þ¤ê¤Þ¤¹¡£
-@item @code{Column_name} @tab ¥Õ¥£¡¼¥ë¥É̾¡£
-@item @code{Collation} @tab ¤¤¤«¤Ë¤³¤Î¥Õ¥£¡¼¥ë¥É¤¬¥¤¥ó¥Ç¥Ã¥¯¥¹Ãæ¤Ç¥½¡¼¥È¤µ¤ì¤ë¤«. @strong{MySQL} ¤Ç¤Ï, ¤³¤ì¤Ï @code{A} (Ascending) ¤« @code{NULL} (Not sorted) ¤Ë¤Ê¤ê¤Þ¤¹¡£
-@item @code{Cardinality} @tab ¥¤¥ó¥Ç¥Ã¥¯¥¹Ãæ¤Î¥æ¥Ë¡¼¥¯¤ÊÃͤοô¡£ ¤³¤ì¤Ï @code{isamchk -a} ¤Î¼Â¹Ô¤Ç¹¹¿·¤µ¤ì¤Þ¤¹¡£
-@item @code{Sub_part} @tab ¤â¤·¤³¤Î¥Õ¥£¡¼¥ë¥É¤¬¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë°ìÉôʬ¤À¤±»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë»ÈÍѤ·¤Æ¤¤¤ë¥­¥ã¥é¥¯¥¿¡¼¿ô¤ò¤·¤á¤¹¡£ ¤â¤·¥­¡¼Á´ÂΤ¬¥¤¥ó¥Ç¥Ã¥¯¥¹¤µ¤ì¤Æ¤¤¤ë¤Ê¤é @code{NULL} ¡£
-@end multitable
-
-
-@cindex @code{mysqladmin}
-@code{SHOW STATUS} ¤Ï @code{mysqladmin extended-status} ¤ÈƱÍͤˡ¢¥µ¡¼¥Ð¤«¤é¤Î¥¹¥Æ¡¼
-¥¿¥¹¾ðÊó¤òÍ¿¤¨¤Þ¤¹¡£½ÐÎϤϼ¡¤È¤Ï°Û¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó:
-
-@example
-+--------------------------+--------+
-| Variable_name | Value |
-+--------------------------+--------+
-| Aborted_clients | 0 |
-| Aborted_connects | 0 |
-| Connections | 17 |
-| Created_tmp_tables | 0 |
-| Delayed_insert_threads | 0 |
-| Delayed_writes | 0 |
-| Delayed_errors | 0 |
-| Flush_commands | 2 |
-| Handler_delete | 2 |
-| Handler_read_first | 0 |
-| Handler_read_key | 1 |
-| Handler_read_next | 0 |
-| Handler_read_rnd | 35 |
-| Handler_update | 0 |
-| Handler_write | 2 |
-| Key_blocks_used | 0 |
-| Key_read_requests | 0 |
-| Key_reads | 0 |
-| Key_write_requests | 0 |
-| Key_writes | 0 |
-| Max_used_connections | 1 |
-| Not_flushed_key_blocks | 0 |
-| Not_flushed_delayed_rows | 0 |
-| Open_tables | 1 |
-| Open_files | 2 |
-| Open_streams | 0 |
-| Opened_tables | 11 |
-| Questions | 14 |
-| Slow_launch_threads | 0 |
-| Slow_queries | 0 |
-| Threads_connected | 1 |
-| Threads_running | 1 |
-| Uptime | 149111 |
-+--------------------------+--------+
-@end example
-
-¾å¤Ë¼¨¤·¤¿¥¹¥Æ¡¼¥¿¥¹ÊÑ¿ô¤Ï°Ê²¼¤Ë¼¨¤¹¤Î°ÕÌ£¤ò»ý¤Á¤Þ¤¹¡§
-
-@multitable @columnfractions .35 .65
-@item @code{Aborted_clients} @tab ¥¯¥é¥¤¥¢¥ó¥È¤¬Àܳ¤òÊĤ¸¤ëÁ°¤Ë»à¤ó¤Ç¤·¤Þ¤Ã¤¿¤¿¤á¤ËÃæÃǤµ¤ì¤¿¥³¥Í¥¯¥·¥ç¥ó¿ô¡£
-@item @code{Aborted_connects} @tab @strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËÀܳ¤ò»î¤ß¤Æ¼ºÇÔ¤·¤¿¿ô
-@item @code{Bytes_received} @tab ¥¯¥é¥¤¥¢¥ó¥È¤«¤é¼õ¿®¤·¤¿¥Ð¥¤¥È¿ô
-@item @code{Bytes_sent} @tab ¥¯¥é¥¤¥¢¥ó¥È¤ËÁ÷¿®¤·¤¿¥Ð¥¤¥È¿ô
-@item @code{Connections} @tab @strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËÀܳ¤ò»î¤ß¤¿¿ô
-@item @code{Created_tmp_tables} @tab ¥¹¥Æ¡¼¥È¥á¥ó¥È¼Â¹ÔÃæ¤Ë°ÅÌۤΤ¦¤Á¤ËºîÀ®¤µ¤ì¤¿°ì»þ¥Æ¡¼¥Ö¥ë¤Î¿ô
-@item @code{Delayed_insert_threads} @tab »ÈÍÑÃæ¤Î delayed insert ¥Ï¥ó¥É¥é¡¼¥¹¥ì¥Ã¥É¤Î¿ô
-@item @code{Delayed_writes} @tab @code{INSERT DELAYED} ¤Ç½ñ¤«¤ì¤¿¥ì¥³¡¼¥É¿ô
-@item @code{Delayed_errors} @tab @code{INSERT DELAYED} ¤Ç½ñ¤«¤ì¤¿¥ì¥³¡¼¥É¤Ç¤Ê¤ó¤é¤«¤Î¥¨¥é¡¼¤Î¤¢¤Ã¤¿¥ì¥³¡¼¥É¿ô (¤¿¤Ö¤ó @code{duplicate key}).
-@item @code{Flush_commands} @tab @code{FLUSH} ¥³¥Þ¥ó¥É¤Î¼Â¹Ô²ó¿ô
-@item @code{Handler_delete} @tab ¥Æ¡¼¥Ö¥ë¤«¤é¥ì¥³¡¼¥É¤òºï½ü¤¹¤ë¤¿¤á¤Î¥ê¥¯¥¨¥¹¥È¿ô
-@item @code{Handler_read_first} @tab ¥Æ¡¼¥Ö¥ëÃæ¤ÎºÇ½é¤Î¥ì¥³¡¼¥É¤òÆɤि¤á¤Î¥ê¥¯¥¨¥¹¥È¿ô¡£
-@item @code{Handler_read_key} @tab ¥­¡¼¤Ë´ð¤Å¤¤¤Æ¥ì¥³¡¼¥É¤òÆɤि¤á¤Î¥ê¥¯¥¨¥¹¥È¿ô¡£
-@item @code{Handler_read_next} @tab ¥­¡¼½ç¤Ç¼¡¤Î¥ì¥³¡¼¥É¤òÆɤि¤á¤Î¥ê¥¯¥¨¥¹¥È¿ô¡£
-@item @code{Handler_read_rnd} @tab ¸ÇÄê°ÌÃ֤˴ð¤Å¤¤¤Æ¥ì¥³¡¼¥É¤òÆɤि¤á¤Î¥ê¥¯¥¨¥¹¥È¿ô¡£
-@item @code{Handler_read_rnd_next} @tab ¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤Î¼¡¤Î¥ì¥³¡¼¥É¤òÆɤàÍ×µá¤Î¿ô¡£
-¿¤¯¤Î¥Æ¡¼¥Ö¥ë¥¹¥­¥ã¥ó¤ò¹Ô¤Ê¤¦¾ì¹ç¡¢¤³¤ì¤Ï¹â¤¯¤Ê¤ê¤Þ¤¹ - Ä̾¤³¤ì¤Ï¥Æ¡¼
-¥Ö¥ë¤¬Àµ¤·¤¯¥¤¥ó¥Ç¥Ã¥¯¥¹¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢Â¸ºß¤¹¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÍ­Íø¤Ë»È¤¦¤è
-¤¦¤Ë¥¯¥¨¥ê¤¬½ñ¤«¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò¼¨º¶¤·¤Þ¤¹¡£
-@item @code{Handler_update} @tab ¥Æ¡¼¥Ö¥ë¤Î¥ì¥³¡¼¥É¤ò¹¹¿·¤¹¤ë¤¿¤á¤ÎÍ×µá¿ô
-@item @code{Handler_write} @tab ¥Æ¡¼¥Ö¥ë¤Ë¥ì¥³¡¼¥É¤òÁÞÆþ¤¹¤ë¤¿¤á¤Î¥ê¥¯¥¨¥¹¥È¿ô
-@item @code{Key_blocks_used} @tab ¥­¡¼¥­¥ã¥Ã¥·¥åÃæ¤Ç»ÈÍѤµ¤ì¤¿¥Ö¥í¥Ã¥¯¿ô
-@item @code{Key_read_requests} @tab ¥­¥ã¥Ã¥·¥å¤«¤é¥­¡¼¥Ö¥í¥Ã¥¯¤òÆɤ߹þ¤ó¤À¥ê¥¯¥¨¥¹¥È¿ô
-@item @code{Key_reads} @tab Disk ¤«¤éʪÍýŪ¤Ë¥­¡¼¥Ö¥í¥Ã¥¯¤òÆɤó¤À²ó¿ô
-@item @code{Key_write_requests} @tab ¥­¥ã¥Ã¥·¥å¤Ë¥­¡¼¥Ö¥í¥Ã¥¯¤ò½ñ¤­¹þ¤ó¤À¥ê¥¯¥¨¥¹¥È¿ô
-@item @code{Key_writes} @tab Disk¤ËʪÍýŪ¤Ë¥­¡¼¥Ö¥í¥Ã¥¯¤ò½ñ¤­¹þ¤ó¤À²ó¿ô
-@item @code{Max_used_connections} @tab ºÇÂçƱ»þÀܳ¿ô
-@item @code{Not_flushed_key_blocks} @tab ¥­¡¼¥­¥ã¥Ã¥·¥åÃæ¤Ë¤¢¤ë¥­¡¼¥Ö¥í¥Ã¥¯¤Ç¡¢Êѹ¹¤µ¤ì¤¿¤â¤Î¤Î¤¤¤Þ¤ÀDisk¤Ë½ñ¤­½Ð¤µ¤ì¤Æ¤¤¤Ê¤¤¥­¡¼¥Ö¥í¥Ã¥¯¿ô
-@item @code{Not_flushed_delayed_rows} @tab @code{INSERT DELAY} ¥¯¥¨¥ê¤Ç½ñ¤­½Ð¤·¤òÂԤäƤ¤¤ë¥ì¥³¡¼¥É¿ô
-@item @code{Open_tables} @tab ¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¿ô
-@item @code{Open_files} @tab ¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¿ô
-@item @code{Open_streams} @tab ³«¤¤¤Æ¤¤¤ë¥¹¥È¥ê¡¼¥à¿ô (¼ç¤Ë¥í¥°¤Ë»ÈÍѤµ¤ì¤ë)
-@item @code{Opened_tables} @tab ¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¿ô
-@item @code{Questions} @tab ¥µ¡¼¥Ð¡¼¤ËÁ÷¤é¤ì¤¿¥¯¥¨¥ê¤Î¿ô
-@item @code{Slow_launch_threads} @tab Àܳ¤Ë @code{slow_launch_time} °Ê¾å¤òÍפ·¤¿¥¹¥ì¥Ã¥É¿ô
-@item @code{Slow_queries} @tab @code{long_query_time} °Ê¾å¤Ë»þ´Ö¤Î¤«¤«¤Ã¤¿¥¯¥¨¥ê¤Î¿ô
-@item @code{Threads_cached} @tab ¥¹¥ì¥Ã¥É¥­¥ã¥Ã¥·¥åÆâ¤Î¥¹¥ì¥Ã¥É¿ô
-@item @code{Threads_connected} @tab ¸½ºß³«¤¤¤Æ¤¤¤ëÀܳ¿ô
-@item @code{Threads_running} @tab ¥¹¥ê¡¼¥×¤·¤Æ¤¤¤Ê¤¤¥¹¥ì¥Ã¥É¤Î¿ô
-@item @code{Uptime} @tab ¥µ¡¼¥Ð¡¼¤¬Áö¤Ã¤Æ¤¤¤ëÉÿô
-@end multitable
-
-¾å¤Ë¤Ä¤¤¤Æ¤Î¤¤¤¯¤Ä¤«¥³¥á¥ó¥È¡§
-
-@itemize @bullet
-@item
-¤â¤· @code{Opened_tables} ¤¬Â礭¤±¤ì¤Ð¡¢ @code{table_cache} ÊÑ¿ô¤¬¾®¤µ¤¹¤®¤ë
-¤Î¤Ç¤·¤ç¤¦¡£
-@item
-¤â¤· @code{key_reads} ¤¬Â礭¤±¤ì¤Ð¡¢ @code{key_cache} ¤¬¾¯¤Ê¤¹¤®¤ë¤Ç¤·¤ç¤¦¡£
-¥­¥ã¥Ã¥·¥å¥Ò¥Ã¥È¥ì¡¼¥È¤Ï
-@code{key_reads}/@code{key_read_requests} ¤Ç·×»»¤Ç¤­¤Þ¤¹¡£
-@item
-¤â¤· @code{Handler_read_rnd} ¤¬Â礭¤±¤ì¤Ð¡¢
-@strong{MySQL} ¤Ë¥Æ¡¼¥Ö¥ë¤ò¥¹¥­¥ã¥ó¤µ¤»¤ë¤è¤¦¤Ê¿¤¯¤Î¥¯¥¨¥ê
-¤ä¡¢ ¥­¡¼¤ò»ÈÍѤ·¤Ê¤¤ JOIN ¤¬¤â¤Æ¤Þ¤¹¡£
-@end itemize
-
-@code{SHOW VARIABLES} ¤Ï @strong{MySQL} ¥·¥¹¥Æ¥àÊÑ¿ô¤Î¤¤¤¯¤Ä¤«¤ÎÃͤò¼¨¤·¤Þ¤¹¡£
-@code{mysqlshow variables} ¥³¥Þ¥ó¥É¤Ç¤âƱ¤¸¾ðÊó¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
-¤â¤·É¸½àÃͤ¬Å¬¤µ¤Ê¤¤¤Ê¤é¡¢¤Û¤È¤ó¤É¤ÎÊÑ¿ô¤ò @code{mysqld} µ¯Æ°»þ¤Ë
-¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î¥ª¥×¥·¥ç¥ó¤È¤·¤ÆÍ¿¤¨¤ë¤³¤È¤Ë¤è¤ê¡¢Êѹ¹¤Ç¤­¤Þ¤¹¡£
-½ÐÎϤϰʲ¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢¥Õ¥©¡¼¥Þ¥Ã¥È¤ä¿ô¤Ï¤¤¤¯¤Ö¤ó°ã¤¦¤Ç¤·¤ç¤¦¡§
-
-@example
-+------------------------+--------------------------+
-| Variable_name | Value |
-+------------------------+--------------------------+
-| back_log | 5 |
-| connect_timeout | 5 |
-| basedir | /my/monty/ |
-| datadir | /my/monty/data/ |
-| delayed_insert_limit | 100 |
-| delayed_insert_timeout | 300 |
-| delayed_queue_size | 1000 |
-| join_buffer_size | 131072 |
-| flush_time | 0 |
-| interactive_timeout | 28800 |
-| key_buffer_size | 1048540 |
-| language | /my/monty/share/english/ |
-| log | OFF |
-| log_update | OFF |
-| long_query_time | 10 |
-| low_priority_updates | OFF |
-| max_allowed_packet | 1048576 |
-| max_connections | 100 |
-| max_connect_errors | 10 |
-| max_heap_table_size | 16777216 |
-| max_delayed_threads | 20 |
-| max_join_size | 4294967295 |
-| max_sort_length | 1024 |
-| max_tmp_tables | 32 |
-| net_buffer_length | 16384 |
-| port | 3306 |
-| protocol-version | 10 |
-| record_buffer | 131072 |
-| skip_locking | ON |
-| slow_launch_time | 2 |
-| socket | /tmp/mysql.sock |
-| sort_buffer | 2097116 |
-| table_cache | 64 |
-| thread_stack | 131072 |
-| tmp_table_size | 1048576 |
-| tmpdir | /machine/tmp/ |
-| version | 3.23.0-alpha-debug |
-| wait_timeout | 28800 |
-+------------------------+--------------------------+
-@end example
-
-@xref{Server parameters, ,Server parameters}.
-
-@findex Threads
-@findex PROCESSLIST
-@code{SHOW PROCESSLIST} ¤Ï¤É¤Î¥¹¥ì¥Ã¥É¤¬Áö¤Ã¤Æ¤¤¤ë¤«¤òɽ¼¨¤·¤Þ¤¹¡£
-@code{mysqlshow processlist} ¥³¥Þ¥ó¥É¤Ç¤âƱ¤¸¾ðÊó¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
-¤â¤· @strong{process} ¸¢¸Â¤¬¤¢¤ë¤Ê¤é¡¢Á´¤Æ¤Î¥¹¥ì¥Ã¥É¤¬¤ß¤ì¤Þ¤¹¡£
-¤·¤«¤·¸¢¸Â¤¬¤Ê¤¤¤Ê¤é¡¢¼«Ê¬¤Î¥¹¥ì¥Ã¥É¤·¤«¸«¤ì¤Þ¤»¤ó¡£
-@xref{KILL, , @code{KILL}}.
-@code{FULL} ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¡¢³Æ¥¯¥¨¥ê¤ÎºÇ½é¤Î100ʸ»ú¤À¤±¤¬É½¼¨
-¤µ¤ì¤Þ¤¹¡£
-
-@code{SHOW GRANTS FOR user} ¤Ï¥æ¡¼¥¶¤Îµö²Ä¤òÊ£À½¤¹¤ë¤¿¤á¤Ëȯ¹Ô¤¹¤ëɬÍפ¬¤¢
-¤ë grant ¥³¥Þ¥ó¥É¤ò¥ê¥¹¥È¤·¤Þ¤¹¡£
-
-@example
-mysql> SHOW GRANTS FOR root@@localhost;
-+---------------------------------------------------------------------+
-| Grants for root@@localhost |
-+---------------------------------------------------------------------+
-| GRANT ALL PRIVILEGES ON *.* TO 'root'@@'localhost' WITH GRANT OPTION |
-+---------------------------------------------------------------------+
-@end example
-
-@findex EXPLAIN
-@findex SELECT, optimizing
-@node EXPLAIN, DESCRIBE, SHOW, Reference
-@section @code{EXPLAIN} ¹½Ê¸ (@code{SELECT}¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÆÀ¤ë)
-
-@example
- EXPLAIN tbl_name
-or EXPLAIN SELECT select_options
-@end example
-
-@code{EXPLAIN tbl_name} ¤Ï¡¢ @code{DESCRIBE tbl_name} ¤ä
-@code{SHOW COLUMNS FROM tbl_name} ¤ÈƱµÁ¤Ç¤¹¡£
-
-¤â¤· @code{EXPLAIN} ¤ò¤È¤â¤Ê¤Ã¤Æ @code{SELECT} ¹½Ê¸¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢
-@strong{MySQL} ¤Ï¤³¤Î @code{SELECT} ¤¬¤¤¤«¤ËÆ°ºî¤¹¤ë¤«¤òÀâÌÀ¤·¡¢
-¤¤¤«¤Ë¥Æ¡¼¥Ö¥ë¤¬·ë¹ç¤µ¤ì¤ë¤«¤Î¾ðÊó¤òÍ¿¤¨¤Þ¤¹¡£
-
-@code{EXPLAIN} ¤Î¾ðÊó¤ò¸µ¤Ë¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤¿Â®¤¤ @code{SELECT} ¤ò
-ÆÀ¤ë¤¿¤á¤Ë¥Æ¡¼¥Ö¥ë¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò²Ã¤¨¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤È¤¤¤¦»ö¤¬¤ï¤«¤ê¤Þ¤¹¡£
-¥Æ¡¼¥Ö¥ë·ë¹ç¤ÎºÇŬ²½¤â¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@code{SELECT} ¹½Ê¸¤Ç¤Î·ë¹ç¤ò¶¯À©Åª¤ËºÇŬ²½¤¹¤ë¤Ë¤Ï @code{STRAIGHT_JOIN} Àá¤ò²Ã¤¨¤Þ¤¹¡£
-
-ñ½ã¤Ç¤Ï¤Ê¤¤ join ¤Î¤¿¤á¤Ë¡¢@code{EXPLAIN} ¤Ï @code{SELECT} ʸ¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë
-¤½¤ì¤¾¤ì¤Î¥Æ¡¼¥Ö¥ë¤Î¾ðÊó¤òÊÖ¤·¤Þ¤¹¡£
-¥Æ¡¼¥Ö¥ë¤ÏÆɤޤì¤ë½ç¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£@strong{MySQL} ¤Ï one-sweep multi-join method
-¤òÍѤ¤¤¿Á´¤Æ¤Î join ¤ò²ò·è¤·¤Þ¤¹¡£¤³¤ì¤Ï @strong{MySQL} ¤ÏºÇ½é¤Î¥Æ¡¼¥Ö¥ë¤«¤é
-°ì¥ì¥³¡¼¥ÉÆɤ߹þ¤ß¡¢Æó¤ÄÌܤΥơ¼¥Ö¥ë¤«¤é¥Þ¥Ã¥Á¤·¤¿¥ì¥³¡¼¥É¤òõ¤·¡¢¤½¤·¤Æ»°ÈÖÌܤòõ¤¹¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
-Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤¬½èÍý¤µ¤ì¤ë»þ¡¢ÁªÂò¤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¤ò½ÐÎϤ·¡¢¥Æ¡¼¥Ö¥ë¤Î°ìÍ÷¤Ï
-¤è¤ê¥Þ¥Ã¥Á¤¹¤ë¥ì¥³¡¼¥É¤ò¤â¤Ä¥Æ¡¼¥Ö¥ë¤ò¸«¤Ä¤±¤ë¤Þ¤Ç back-track ¤µ¤ì¤Þ¤¹¡£
-¼¡¤Î¥ì¥³¡¼¥É¤Ï¤³¤Î¥Æ¡¼¥Ö¥ë¤«¤éÆɤޤ졢¼¡¤Î¥Æ¡¼¥Ö¥ë¤«¤é½èÍý¤ò³¤±¤Þ¤¹¡£
-
-@code{EXPLAIN} ¤Î½ÐÎϤϰʲ¼¤Î¥Õ¥£¡¼¥ë¥É¤ò´Þ¤ß¤Þ¤¹¡§
-
-@table @code
-@item table
-½ÐÎϥ쥳¡¼¥É¤¬»²¾È¤µ¤ì¤ë¥Æ¡¼¥Ö¥ë
-
-@item type
-¡¡join ¥¿¥¤¥×. ÍÍ¡¹¤Ê¥¿¥¤¥×¤ÎÀâÌÀ¤Ï¸å½Ò¤·¤Þ¤¹
-
-@item possible_keys
-@code{possible_keys} ¹àÌܤϡ¢@strong{MySQL} ¤¬¥Æ¡¼¥Ö¥ë¤«¤é¥ì¥³¡¼¥É¤ò¸«¤Ä¤±¤ë¤¿¤á¤Ë
-¤É¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ¹¤ë»ö¤¬¤Ç¤­¤¿¤«¤ò¼¨¤·¤Þ¤¹¡£
-Ãí°Õ: ¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï¥Æ¡¼¥Ö¥ë¤Î½ç¤Ë¤Þ¤Ã¤¿¤¯°Í¸¤·¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢
-possible_keys Æâ¤Î¤¤¤¯¤Ä¤«¤Î¥­¡¼¤Ï¡¢À¸À®¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë½ç¤Ç¤Î¼Â¹Ô¤Ë»ÈÍѤǤ­
-¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-
-¤³¤Î¹àÌܤ¬¶õ¤Ê¤é¡¢´ØÏ¢¤·¤¿
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï̵¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢¤¢¤Ê¤¿¤Ï @code{WHERE} Àá¤ò
-Ä´¤Ù¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥¯¥¨¥ê¤ÎÀ­Ç½¤ò¸þ¾å¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-¤â¤·¤½¤ì¤¬¥¤¥ó¥Ç¥Ã¥¯¥¹¤ËŬ¹ç¤·¤¿¥Õ¥£¡¼¥ë¥É¤ò»²¾È¤·¤Æ¤¤¤ë¤Ê¤é¤Ð¡£
-²¾¤Ë¤½¤¦¤À¤È¤¹¤ë¤È¡¢Å¬Àڤʥ¤¥ó¥Ç¥Ã¥¯¥¹¤òºîÀ®¤·¡¢ @code{EXPLAIN} ¤Ç¥¯¥¨¥ê¤ò
-¤â¤¦°ìÅÙ¥Á¥§¥Ã¥¯¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
-
-¥Æ¡¼¥Ö¥ë¤¬¤É¤ó¤Ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Ã¤Æ¤¤¤ë¤«¤ß¤ë¤Ë¤Ï¡¢@code{SHOW INDEX FROM tbl_name} ¤È¤·¤Þ¤¹¡£
-
-@item key¡¡¡¡¡¡
-@code{key} ¹àÌܤϡ¢ @strong{MySQL} ¤¬»ÈÍѤ¹¤ë¤È¼ÂºÝ¤Ë·è¤á¤¿¥­¡¼¤ò¼¨¤·¤Þ¤¹¡£
-¤É¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤âÁª¤Ð¤ì¤Ê¤«¤Ã¤¿¤Ê¤é¤Ð¡¢¥­¡¼¤Ï @code{NULL} ¤Ç¤¹¡£
-@strong{MySQL} ¤¬´Ö°ã¤Ã¤¿¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÁªÂò¤¹¤ë¾ì¹ç¡¢¤¿¤¤¤Æ¤¤¤Ï
-@strong{MySQL} ¤Ë¾¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¶¯À©¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@code{myisamchk --analyze} ¤Î»ÈÍÑ¡¢@xref{myisamchk syntax}¡¢¤Þ¤¿¤Ï
-@code{USE INDEX/IGNORE INDEX} ¤Î»ÈÍѤˤè¤Ã¤Æ¡£@xref{JOIN}¡£
-
-@item key_len
-@code{key_len} ¹àÌܤϡ¢@strong{MySQL} ¤¬»ÈÍѤ¹¤ë¤È·è¤á¤¿¥­¡¼¤ÎŤµ¤ò¼¨¤·¤Þ¤¹¡£
-¤â¤· @code{key} ¤¬ @code{NULL} ¤Ê¤é¡¢Ä¹¤µ¤Ï @code{NULL} ¤Ç¤¹¡£
-Ãí°Õ: ¤³¤ì¤Ï@strong{MySQL} ¤¬¥Þ¥ë¥Á¥Ñ¡¼¥È¥­¡¼¤Î¤¤¤¯¤Ä¤Î¥Ñ¡¼¥È¤ò¼ÂºÝ¤Ë»ÈÍÑ
-¤¹¤ë¤«¤ò¼¨¤·¤Þ¤¹¡£
-
-@item ref¡¡¡¡¡¡
-@code{ref} ¹àÌܤϡ¢¥Æ¡¼¥Ö¥ë¤«¤é¥ì¥³¡¼¥É¤ò select ¤¹¤ë¤¿¤á¤Ë¡¢¤É¤Î¥Õ¥£¡¼¥ë¥É¤äÄê¿ô¤¬
- @code{key} ¤È¶¦¤Ë»ÈÍѤµ¤ì¤¿¤«¤ò¼¨¤·¤Þ¤¹¡£
-
-@item rows¡¡¡¡¡¡
-@code{rows} ¥Õ¥£¡¼¥ë¥É¤Ï¡¢@strong{MySQL} ¤¬¥¯¥¨¥ê¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë¸¡ºº¤¹¤ë
-ɬÍפ¬¤¢¤ë¤È¹Í¤¨¤Æ¤¤¤ë¥ì¥³¡¼¥É¤Î¿ô¤ò¼¨¤·¤Þ¤¹¡£
-
-@item Extra¡¡
-This column contains additional information of how @strong{MySQL} will
-resolve the query. Here follows an explanation of the different text
-strings that can be found in this column:
-
-@table @code
-@item Not exists
-@strong{MySQL} was able to do a @code{LEFT JOIN} optimisation on the
-query and will not examine more rows in this table for a row combination
-after it founds one rows that matches the @code{LEFT JOIN} criteria.
-@item @code{range checked for each record (index map: #)}
-@strong{MySQL} didn't find a real good index to use. It will instead for
-each row combination in the preceding tables do a check which index to
-use (if any) use this index to retrieve the rows from the table. This
-isn't very fast but is of course faster than having to do a join without
-an index.
-@item Using filesort
-@strong{MySQL} will need to do an extra pass to find out how to retrieve
-the rows in sorted order. The sort is done by going through all rows
-according to the @code{join type} and storing the sort key + pointer to
-the row for all rows that match the @code{WHERE}. Then the keys are
-sorted. Finally the rows are retrieved in sorted order.
-@item Using index
-The column information is retrieved from the table using only
-information in the index tree without having to do an additional seek to
-read the actually row. This can be done when all the used columns for
-the table are part of the same index.
-@item Using temporary
-To be able to resolve the query @strong{MySQL} will need to create a
-temporary table to hold the result. This typically happens if you do an
-@code{ORDER BY} on a different column set than you did an @code{GROUP
-BY} on.
-@item where used
-A @code{WHERE} clause will be used to restrict which rows will be
-matched against the next table or sent to the client. If you don't have
-this information and the the table is of type @code{ALL} or @code{index}
-you may have something wrong in your query (if you don't intend to
-fetch/examine all rows from the table).
-@end table
-
-If you want to get your queries as fast as possible, you should look out for
-@code{Using filesort} and @code{Using temporary}.
-@end table
-
-join type ¤Ï°Ê²¼¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£Îɤ¤Êª¤«¤é½ç¤Ë½ñ¤¤¤Æ¤¤¤Þ¤¹¡§
-
-@cindex System table
-@cindex Table, system
-@table @code
-@item system
-¥Æ¡¼¥Ö¥ë¤¬°ì¥ì¥³¡¼¥É¤À¤±»ý¤Ã¤Æ¤¤¤ë (= system table). ¤³¤ì¤Ï @code{const} join type
-¤ÎÆÃÊ̤ʾì¹ç¤Ç¤¹¡£
-
-@cindex Constant table
-@cindex Table, constant
-@item const
-¥Æ¡¼¥Ö¥ë¤Ï¡¢ºÇ¤â¥Þ¥Ã¥Á¤¹¤ë¥ì¥³¡¼¥É¤ò£±¤Ä¤â¤Ã¤Æ¤ª¤ê¡¢¤³¤ì¤Ï¥¯¥¨¥ê¤Î
-ºÇ½é¤ËÆɤޤì¤Þ¤¹¡£
-1 ¤Ä¤Î¥ì¥³¡¼¥É¤Ç¤¢¤ë¤¿¤á¡¢¤³¤Î¥ì¥³¡¼¥ÉÃæ¤Î¥Õ¥£¡¼¥ë¥É¤ÎÃͤÏ
-¥ª¥×¥Æ¥£¥Þ¥¤¥¶¡¼¤Ë¤è¤Ã¤Æ¾ï¿ô¤È¤·¤Æ¤ß¤Ê¤µ¤ì¤Þ¤¹¡£
-1²ó¤À¤±Æɤޤì¤ë¤Î¤Ç¡¢@code{const} ¥Æ¡¼¥Ö¥ë¤Ï¤È¤Æ¤â®¤¤¤Ç¤¹!
-
-@item eq_ref
-Á°¤Î¥Æ¡¼¥Ö¥ë¤Î¤½¤ì¤¾¤ì¤Î¥ì¥³¡¼¥É¤È·ë¹ç¤¹¤ëºÝ¡¢¤³¤Î¥Æ¡¼¥Ö¥ë¤«¤é1¥ì¥³¡¼¥ÉÆɤޤì¤Þ¤¹¡£
-¤³¤ì¤Ï join ¤Ç¤Ï @code{const} ¤è¤ê¤âÎɤ¤·Á¤Ç¤¹¡£
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÁ´¤Æ¤Î¥Ñ¡¼¥È¤¬ join ¤Ç»ÈÍѤµ¤ì¡¢¤«¤Ä¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬
-@code{UNIQUE} ¤« @code{PRIMARY KEY} ¤Ç¤¢¤ë¤È¤­¤Ë¡¢¤³¤ì¤Ï»ÈÍѤµ¤ì¤Þ¤¹¡£
-
-@item ref¡¡¡¡¡¡
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÃͤ˹ç¤Ã¤¿¤¹¤Ù¤Æ¤Î¥ì¥³¡¼¥É¤Ï¡¢Á°¤Î¥Æ¡¼¥Ö¥ë¤«¤é¥ì¥³¡¼¥É¤È·ë¹ç¤¹¤ë¤¿¤á¤Ë¡¢
-¤³¤Î¥Æ¡¼¥Ö¥ë¤«¤éÆɤޤì¤ë¤Ç¤·¤ç¤¦¡£
-¤â¤·¤½¤Î join ¤¬¥­¡¼¤Î°ìÈÖº¸¤ÎÀÜƬÉôʬ¤À¤±¤ò»ÈÍѤ¹¤ë¤Ê¤é¤Ð¡¢
-¤¢¤ë¤¤¤Ï¡¢
-¤â¤·¤½¤Î¥­¡¼¤¬ @code{UNIQUE} ¤ä @code{PRIMARY KEY} ¤Ç¤Ê¤±¤ì¤Ð
-(¸À¤¤´¹¤¨¤ë¤Ê¤é¡¢¤â¤· join ¤¬¥­¡¼¤ÎÃͤò¸µ¤Ë°ì¤Ä¤À¤±¤Î¡¢¥ì¥³¡¼¥É¤òÁªÂò¤Ç¤­¤Ê¤±¤ì¤Ð)¡¢
-@code{ref} ¤Ï»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤â¤·¤½¤Î¥­¡¼¤¬¤¤¤¯¤Ä¤«¤Î¥Þ¥Ã¥Á¤¹¤ë¥ì¥³¡¼¥É¤Ë»ÈÍѤµ¤ì¤ë¤À¤±¤Ê¤é¡¢
-join ¤ÏÎɤ¤·Á¤Ç¤¹¡£
-
-@item range
-¼¨¤µ¤ì¤¿ÈÏ°ÏÆâ¤Ë¤¢¤ë¥ì¥³¡¼¥É¤Î¤ß¤¬¸¡º÷¤µ¤ì¤Þ¤¹¡£
-@code{ref} ¹àÌܤϤɤΥ¤¥ó¥Ç¥Ã¥¯¥¹¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¤«¼¨¤·¤Þ¤¹¡£
-
-@item index
-@code{ALL} ¤ÈƱ¤¸¤Ç¤¹¤¬¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¥Ä¥ê¡¼¤¬Áöºº¤µ¤ì¤ë¾ì¹ç¤Î¤ß¤ò½ü¤­¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤Ï¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤è¤ê¤â¾®¤µ¤¤¤¿¤á¡¢Ä̾ï @code{ALL} ¤è¤ê®¤¤¤Ç¤¹¡£
-
-@item ALL
-Á°¤Î¥Æ¡¼¥Ö¥ë¤Î¥ì¥³¡¼¥É¤È¤Î¤½¤ì¤¾¤ì¤Î·ë¹ç¤Ë¤ª¤¤¤Æ¡¢Á´¥Æ¡¼¥Ö¥ë¤¬Áöºº¤µ¤ì¤Þ¤¹¡£
-¤â¤·¤½¤Î¥Æ¡¼¥Ö¥ë¤¬ºÇ½é¤Î¥Æ¡¼¥Ö¥ë¤Ç @code{const} ¾õÂ֤ǤϤʤ¤¤Ê¤é¡¢Ä̾ï
-¤³¤ì¤ÏÎɤ¯¤¢¤ê¤Þ¤»¤ó¡£Â¾¤Î¾õÂ֤ǤÏ@strong{¤È¤Æ¤â}°­¤¯¤Ê¤ê¤Þ¤¹¡£
-¤³¤ì¤ÏÉáÄÌ¡¢¥ì¥³¡¼¥É¤¬¤¬¤è¤êÁᤤ¥Æ¡¼¥Ö¥ë¤«¤é¤«¤éÄê¿ôÃͤ˴ð¤Å¤¤¤Æ¸¡º÷¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¡¢
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÄɲ乤뤳¤È¤Ë¤è¤ê @code{ALL} ¤òÈò¤±¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-@end table
-
-@code{EXPLAIN} ½ÐÎϤΠ@code{rows} ¥Õ¥£¡¼¥ë¥ÉÆâ¤Î¤¹¤Ù¤Æ¤ÎÃͤòÁý¤ä¤¹¤³¤È¤Ë¤è
-¤ê¡¢join ¤¬¤É¤Î¤è¤¦¤ËÎɤ¯¤Ê¤ë¤«¤ÎÎɤ¤É½¼¨¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢
-@strong{MySQL} ¤¬¥¯¥¨¥ê¼Â¹Ô¤Î¸¡ºº¤ò¤¹¤ëɬÍפ¬¤¢¤ë¥ì¥³¡¼¥É¤Î¤ª¤ª¤è¤½¤Î¿ô¤ò
-ÃΤ餻¤Þ¤¹¡£¤³¤Î¿ô¤Ï @code{max_join_size} ÊÑ¿ô¤Ç¤Î¥¯¥¨¥ê¤òÀ©¸Â¤¹¤ë»þ¤Ë¤â»È
-ÍѤ·¤Þ¤¹¡£
-@xref{Server parameters}.
-
-°Ê²¼¤ÎÎã¤Ï¡¢@code{EXPLAIN} ¤¬Ä󶡤¹¤ë¾ðÊó¤ò¸µ¤Ë¡¢¤¤¤«¤Ë @code{JOIN} ¤¬ºÇŬ²½
-¤Ç¤­¤ë¤«¤ÎÎã¤Ç¤¹¡£
-
-°Ê²¼¤Î¤è¤¦¤Ê @code{EXPLAIN} ¤Ç¸¡ºº¤¹¤ë @code{SELECT} ¹½Ê¸¤¬¤¢¤ë¤È¤·¤Þ¤¹¡§
-
-@example
-EXPLAIN SELECT tt.TicketNumber, tt.TimeIn,
- tt.ProjectReference, tt.EstimatedShipDate,
- tt.ActualShipDate, tt.ClientID,
- tt.ServiceCodes, tt.RepetitiveID,
- tt.CurrentProcess, tt.CurrentDPPerson,
- tt.RecordVolume, tt.DPPrinted, et.COUNTRY,
- et_1.COUNTRY, do.CUSTNAME
- FROM tt, et, et AS et_1, do
- WHERE tt.SubmitTime IS NULL
- AND tt.ActualPC = et.EMPLOYID
- AND tt.AssignedPC = et_1.EMPLOYID
- AND tt.ClientID = do.CUSTNMBR;
-@end example
-
-¤³¤ÎÎã¤Ç¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë²¾Äꤷ¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¥Õ¥£¡¼¥ë¥É¤Ï°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡§
-
-@multitable @columnfractions .1 .2 .7
-@item @strong{Table} @tab @strong{Column} @tab @strong{Column type}
-@item @code{tt} @tab @code{ActualPC} @tab @code{CHAR(10)}
-@item @code{tt} @tab @code{AssignedPC} @tab @code{CHAR(10)}
-@item @code{tt} @tab @code{ClientID} @tab @code{CHAR(10)}
-@item @code{et} @tab @code{EMPLOYID} @tab @code{CHAR(15)}
-@item @code{do} @tab @code{CUSTNMBR} @tab @code{CHAR(15)}
-@end multitable
-
-@item
-¥Æ¡¼¥Ö¥ë¤Ï°Ê²¼¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Á¤Þ¤¹¡§
-
-@multitable @columnfractions .1 .9
-@item @strong{Table} @tab @strong{Index}
-@item @code{tt} @tab @code{ActualPC}
-@item @code{tt} @tab @code{AssignedPC}
-@item @code{tt} @tab @code{ClientID}
-@item @code{et} @tab @code{EMPLOYID} (primary key)
-@item @code{do} @tab @code{CUSTNMBR} (primary key)
-@end multitable
-
-@item
-@code{tt.ActualPC} ¤ÎÃͤϡ¢¤¤¤Á¤è¤¦¤ËʬÉÛ¤·¤Æ(ÇÛÃÖ¤µ¤ì¤Æ)¤¤¤Þ¤»¤ó¡£
-@end itemize
-
-ºÇ½é¡¢¤¤¤«¤Ê¤ëºÇŬ²½¤â¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¾õÂ֤Ǥϡ¢@code{EXPLAIN} ¹½Ê¸¤Ï
-°Ê²¼¤Î¾ðÊó¤òÄ󼨤·¤Þ¤¹¡§
-
-@example
-table type possible_keys key key_len ref rows Extra
-et ALL PRIMARY NULL NULL NULL 74
-do ALL PRIMARY NULL NULL NULL 2135
-et_1 ALL PRIMARY NULL NULL NULL 74
-tt ALL AssignedPC,ClientID,ActualPC NULL NULL NULL 3872
- range checked for each record (key map: 35)
-@end example
-
-¤½¤ì¤¾¤ì¤Î¥Æ¡¼¥Ö¥ë¤Ç¡¢@code{type} ¤¬ @code{ALL} ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï @strong{MySQL} ¤¬Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤òÁ´·ë¹ç¤¹¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡ª
-¤½¤ì¤¾¤ì¤Î¥Æ¡¼¥Ö¥ëÆâ¤Î¹Ô¿ôʬ¤«¤éºî¤Ã¤¿Êª¤¬Ä´¤Ù¤é¤ì¤ë¤Î¤Ç¡¢¤È¤Æ¤âŤ¤»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹¡ª
-¤³¤Î¾ì¹ç¡¢@code{74 * 2135 * 74 * 3872 = 45,268,558,720} ¹ÔÄ´¤Ù¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-¥Æ¡¼¥Ö¥ë¤¬ÈîÂç²½¤·¤¿¤È¤­¤Ë¤«¤«¤ë»þ´Ö¤ò¹Í¤¨¤Æ¤¯¤À¤µ¤¤....
-
-°ì¤ÄÌäÂ꤬¤¢¤ê¤Þ¤¹¡£(¤Þ¤À) @strong{MySQL} ¤¬¥Õ¥£¡¼¥ë¥É¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¸ú²ÌŪ¤Ë
-»ÈÍѤǤ­¤Æ¤¤¤Þ¤»¤ó¡£
-¤³¤ÎÎã¤Î¾ì¹ç¤Ç¤Ï¡¢@code{VARCHAR} ¤È @code{CHAR} ¤Ï¡¢¤½¤ì¤é¤¬Æ±¤¸Ä¹¤µ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢
-ÊѤï¤ê¤¬¤¢¤ê¤Þ¤»¤ó¡£
-@code{tt.ActualPC} ¤Ï @code{CHAR(10)} ¤ÈÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢
-@code{et.EMPLOYID} ¤Ï @code{CHAR(15)} ¤Ç¤¹¡£¤³¤ì¤é¤ÎŤµ¤Ï°ã¤¤¤Þ¤¹¡£
-
-¤³¤ÎÉÔÄà¤ê¹ç¤¤¤ò½¤Àµ¤¹¤ë¤Ë¤¢¤¿¤ê¡¢@code{ALTER TABLE} ¤ò»È¤Ã¤Æ
-@code{ActualPC} ¤ÎŤµ¤ò 10 ʸ»ú¤«¤é 15 ʸ»ú¤Ë¤·¤Þ¤¹¡§
-
-@example
-mysql> ALTER TABLE tt MODIFY ActualPC VARCHAR(15);
-@end example
-
-¤³¤ì¤Ç @code{tt.ActualPC} and @code{et.EMPLOYID} ¤ÏξÊý¤È¤â @code{VARCHAR(15)} ¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
- @code{EXPLAIN} ¹½Ê¸¤ò¼Â¹Ô¤·Ä¾¤¹¤È¡¢°Ê²¼¤òÄ󼨤·¤Þ¤¹¡§
-
-@example
-table type possible_keys key key_len ref rows Extra
-tt ALL AssignedPC,ClientID,ActualPC NULL NULL NULL 3872 where used
-do ALL PRIMARY NULL NULL NULL 2135
- range checked for each record (key map: 1)
-et_1 ALL PRIMARY NULL NULL NULL 74
- range checked for each record (key map: 1)
-et eq_ref PRIMARY PRIMARY 15 tt.ActualPC 1
-@end example
-
-¤Þ¤À´°Á´¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¤è¤ê¤è¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹(@code{rows} ÃͤÎ
-À¸À®ÎÌ¤Ï 74 ¤è¤ê¾®¤µ¤¯¤Ê¤ê¤Þ¤¹)¡£¤³¤Î¾ì¹ç¡¢¼Â¹Ô¤Ï¿ôÉäǤ·¤ç¤¦¡£
-
-@code{tt.AssignedPC = et_1.EMPLOYID} ¤È @code{tt.ClientID =
-do.CUSTNMBR} ¤ÎÈæ³Ó¤Ë¤ª¤¤¤Æ¡¢¥Õ¥£¡¼¥ë¥É¤ÎŤµ¤Î°ã¤¤¤òÇÓ½ü¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-
-@example
-mysql> ALTER TABLE tt MODIFY AssignedPC VARCHAR(15),
- MODIFY ClientID VARCHAR(15);
-@end example
-
-¤³¤ì¤Ç @code{EXPLAIN} ¤Ï°Ê²¼¤ò½ÐÎϤ·¤Þ¤¹¡§
-
-@example
-table type possible_keys key key_len ref rows Extra
-et ALL PRIMARY NULL NULL NULL 74
-tt ref AssignedPC,ClientID,ActualPC ActualPC 15 et.EMPLOYID 52 where used
-et_1 eq_ref PRIMARY PRIMARY 15 tt.AssignedPC 1
-do eq_ref PRIMARY PRIMARY 15 tt.ClientID 1
-@end example
-
-¤³¤ì¤Ï ``¤Û¤È¤ó¤É'' ºÇÎɤ˶ᤤ¤Ç¤¹¡£
-
-»Ä¤ëÌäÂê¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢@strong{MySQL} ¤Ï @code{tt.ActualPC} ¥Õ¥£¡¼¥ë¥ÉÆâ¤ÎÃͤ¬
-¤Þ¤ó¤Ù¤ó¤Ê¤¯Ê¬ÉÛ¤·¤Æ¤¤¤ë¤ÈÁÛÄꤷ¤Æ¤ª¤ê¡¢¤³¤Î @code{tt} ¥Æ¡¼¥Ö¥ë¤Î¾ì¹ç¤Ë¤ÏŬ¹ç¤·¤Þ¤»¤ó¡£
-¹¬±¿¤Ë¤â¡¢¤³¤ì¤ò @strong{MySQL} ¤Ë¶µ¤¨¤ë¤Î¤Ï¤È¤Æ¤â´Êñ¤Ç¤¹¡§
-
-@example
-shell> myisamchk --analyze PATH_TO_MYSQL_DATABASE/tt
-shell> mysqladmin refresh
-@end example
-
-¤³¤ì¤Ç join ¤Ï ``´°àú'' ¤Ç¤¹¡£
-@code{EXPLAIN} ¤Ï°Ê²¼¤Î·ë²Ì¤ò¼¨¤·¤Þ¤¹¡§
-
-@example
-table type possible_keys key key_len ref rows Extra
-tt ALL AssignedPC,ClientID,ActualPC NULL NULL NULL 3872 where used
-et eq_ref PRIMARY PRIMARY 15 tt.ActualPC 1
-et_1 eq_ref PRIMARY PRIMARY 15 tt.AssignedPC 1
-do eq_ref PRIMARY PRIMARY 15 tt.ClientID 1
-@end example
-
- @code{EXPLAIN} ¤Î½ÐÎÏÃæ¤Î @code{rows} ¹àÌܤϡ¢ @strong{MySQL} JOIN ¥ª¥×¥Æ¥£¥Þ¥¤¥¶¡¼
-¤Ë¤è¤ë¡¢``¿ä¬'' ¤Ç¤¹¡¨
-¥¯¥¨¥ê¤ÎºÇŬ²½¤Î¤¿¤á¤Ë¡¢¤³¤Î¿ôÃͤ¬¼ÂºÝ¤Ë¶á¤¤¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤¹¤Ù¤­¤Ç¤¹¡£
-¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢@code{SELECT} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç @code{STRAIGHT_JOIN} ¤ò»ÈÍÑ
-¤·¡¢@code{FROM} Àá¤Ë°Û¤Ê¤ë½ç¤Ç¥Æ¡¼¥Ö¥ë¤òʤ٤뤳¤È¤Ç¡¢Îɤ¤¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò
-ÆÀ¤é¤ì¤Þ¤¹¡£
-
-@findex DESC
-@findex DESCRIBE
-@node DESCRIBE, COMMIT, EXPLAIN, Reference
-@section @code{DESCRIBE} ¹½Ê¸ (¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÆÀ¤ë)
-
-@example
-@{DESCRIBE | DESC@} tbl_name @{col_name | wild@}
-@end example
-
-@code{DESCRIBE} ¤Ï¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÍ¿¤¨¤Þ¤¹¡£
-@code{col_name} ¤Ï¥Õ¥£¡¼¥ë¥É¤Ï¥Õ¥£¡¼¥ë¥É̾¤Þ¤¿¤Ïʸ»úÎó¤Ç¤¹¡£
-ʸ»úÎó¤Ï SQL @samp{%},@samp{_} ¥ï¥¤¥ë¥É¥«¡¼¥É¤ò´Þ¤á¤Þ¤¹¡£
-
-¤â¤·¥Õ¥£¡¼¥ë¥É¤Î·¿¤¬¤¢¤Ê¤¿¤¬ @code{CREATE TABLE} ʸ¤ÇÍ¿¤¨¤¿Êª¤È°ã¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢
-¤³¤ì¤Ï @strong{MySQL} ¤¬¥Õ¥£¡¼¥ë¥É¤Î·¿¤òÊѹ¹¤·¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-@xref{Silent column changes}.
-
-@cindex Oracle compatibility
-@cindex Compatibility, with Oracle
-¤³¤Î¥³¥Þ¥ó¥É¤Ï Oracle ¤Î¸ß´¹¤Î¤¿¤á¤Ë¤¢¤ê¤Þ¤¹¡£
-
-@code{SHOW} ¹½Ê¸¤Ï»÷¤¿¤è¤¦¤Ê¾ðÊó¤òÄ󶡤·¤Þ¤¹¡£
-@xref{SHOW, , @code{SHOW}}.
-
-@findex BEGIN
-@findex COMMIT
-@findex ROLLBACK
-@node COMMIT, LOCK TABLES, DESCRIBE, Reference
-@section @code{BEGIN/COMMIT/ROLLBACK} ¹½Ê¸
-
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï @strong{MySQL} ¤Ï @code{autocommit} ¥â¡¼¥É¤ÇÆ°ºî¤·¤Þ¤¹¡£¤³
-¤ì¤Ï¡¢¹¹¿·¤ò¼Â¹Ô¤¹¤ë¤È¤¹¤°¤Ë @strong{MySQL} ¤¬¹¹¿·¤ò¥Ç¥£¥¹¥¯¤Ë³ÊǼ¤¹¤ë¤³¤È
-¤ò°ÕÌ£¤·¤Þ¤¹¡£
-
-¤â¤· @code{BDB} ·¿¤Î¥Æ¡¼¥Ö¥ë¤ò»ÈÍѤ¹¤ë¤Ê¤é, °Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç @strong{MySQL} ¤ò
-@code{autocommit} ¥â¡¼¥É¤Ç¤Ï¤Ê¤¤¾õÂ֤ˤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡§
-
-@example
-SET AUTOCOMMIT=0
-@end example
-
-¤³¤Î¸å¡¢¥Ç¥£¥¹¥¯¤ËÊѹ¹¤ò³ÊǼ¤¹¤ë¤¿¤á¤Ë¤Ï @code{COMMIT} ¤ò»ÈÍѤ·¡¢¤Þ¤¿¡¢ÊÑ
-¹¹¤ò̵»ë¤¹¤ë¤¿¤á¤Ë¤Ï @code{ROLLBACK} ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-If you want to switch from @code{AUTOCOMMIT} mode for one serie of
-statements, you can use the @code{BEGIN} statement.
-
-@example
-BEGIN;
-SELECT @@A:=SUM(salary) FROM table1 WHERE type=1;
-UPDATE table2 SET summmary=@@A WHERE type=1;
-COMMIT;
-@end example
-
-Ãí°Õ: ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó°ÂÁ´¥Æ¡¼¥Ö¥ë¤ò»ÈÍѤ·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢@code{autocommit}
-¥â¡¼¥É¤Î¥¹¥Æ¡¼¥¿¥¹¤Ë¤Ï°Í¸¤»¤º¤Ë¡¢Êѹ¹¤Ï¤¹¤°¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£@xref{Table
-types}.
-
-@findex LOCK TABLES
-@findex UNLOCK TABLES
-@node LOCK TABLES, SET OPTION, COMMIT, Reference
-@section @code{LOCK TABLES/UNLOCK TABLES} ¹½Ê¸
-
-@example
-LOCK TABLES tbl_name [AS alias] @{READ | [READ LOCAL] | [LOW_PRIORITY] WRITE@}
- [, tbl_name @{READ | [LOW_PRIORITY] WRITE@} ...]
-...
-UNLOCK TABLES
-@end example
-
-@code{LOCK TABLES} ¤Ï¥«¥ì¥ó¥È¤Î¥¹¥ì¥Ã¥É¤Î¤¿¤á¤Ë¥Æ¡¼¥Ö¥ë¤ò¥í¥Ã¥¯¤·¤Þ¤¹¡£
-@code{UNLOCK TABLES} ¤Ï¤³¤Î¥¹¥ì¥Ã¥É¤ÎÁ´¤Æ¤Î¥í¥Ã¥¯¤ò²ò½ü¤·¤Þ¤¹¡£
-¥«¥ì¥ó¥È¥¹¥ì¥Ã¥É¤Ë¤è¤Ã¤Æ¥í¥Ã¥¯¤µ¤ì¤¿Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤Ï¡¢
-¥¹¥ì¥Ã¥É¤¬Â¾¤Î @code{LOCK TABLES} ¤òȯ¹Ô¤·¤¿¾ì¹ç¤ä¥µ¡¼¥Ð¡¼¤¬Àܳ¤òÊĤ¸¤¿¾ì¹ç¡¢
-¼«Æ°¤Ç²ò½ü¤µ¤ì¤Þ¤¹¡£
-
-¥¹¥ì¥Ã¥É¤¬¥Æ¡¼¥Ö¥ë¤Ë @code{READ} ¥í¥Ã¥¯¤ò»ý¤Ä¾ì¹ç¡¢¤½¤Î¥¹¥ì¥Ã¥É(¤È¾¤ÎÁ´¤Æ¤Î¥¹¥ì¥Ã¥É)¤Ï
-¥Æ¡¼¥Ö¥ë¤«¤é¤ÎÆɤ߹þ¤ß¤À¤±¤¬¤Ç¤­¤Þ¤¹¡£¥¹¥ì¥Ã¥É¤¬¥Æ¡¼¥Ö¥ë¤Ë @code{WRITE} ¥í¥Ã¥¯¤ò»ý¤Ä¾ì¹ç¡¢
-¤³¤Î¥¹¥ì¥Ã¥É¤À¤±¤¬¥Æ¡¼¥Ö¥ë¤Î @code{READ} ¤È @code{WRITE} ¤¬¤Ç¤­¤Þ¤¹¡£
-¾¤Î¥¹¥ì¥Ã¥É¤Ï¥Ö¥í¥Ã¥¯¤µ¤ì¤Þ¤¹¡£
-
-@code{READ LOCAL} ¤È @code{READ} ¤Î°ã¤¤¤Ï¡¢@code{READ LOCAL} ¤Ï¡¢¥í¥Ã¥¯¤¬
-ÊÝ»ý¤µ¤ì¤Æ¤¤¤ë´Ö¤Ë¥³¥ó¥Õ¥ê¥¯¥È¤·¤Ê¤¤ @code{INSERT} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤ò¼Â¹Ô¤Ç
-¤­¤ë¤³¤È¤Ç¤¹¡£¤¿¤À¤·¡¢¤³¤ì¤Ï¥í¥Ã¥¯¤òÊÝ»ý¤·¤Æ¤¤¤ë´Ö¤Ë @strong{MySQL} ¤Î³°¤Ç
-¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤òÁàºî¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£
-
-¤½¤ì¤¾¤ì¤Î¥¹¥ì¥Ã¥É¤Ï¤½¤ì¤é¤¬Á´¤Æ¤Î¥í¥Ã¥¯¤òÆÀ¤ë¤Þ¤ÇÂÔ¤Á¤Þ¤¹(¥¿¥¤¥à¥¢¥¦¥È̵¤·)¡£
-
-@code{WRITE} ¥í¥Ã¥¯¤ÏÉáÄÌ¡¢¤Ç¤­¤ë¸Â¤ê¹¹¿·¤ò¹Ô¤ï¤»¤ë¤¿¤á¡¢
- @code{READ} ¥í¥Ã¥¯¤è¤ê¤âÍ¥Àè½ç°Ì¤¬¹â¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï¤¢¤ë¥¹¥ì¥Ã¥É¤¬ @code{READ} ¥í¥Ã¥¯¤ò¤«¤±¡¢¤½¤ì°Ê³°¤Î¥¹¥ì¥Ã¥É¤¬ @code{WRITE} ¤ò
-Í׵ᤷ¤¿¾ì¹ç¡¢ @code{READ} ¤Ï¡¢@code{WRITE} ¥¹¥ì¥Ã¥É¤¬¥í¥Ã¥¯¤ò¤·¡¢¤½¤ì¤ò²ò½ü¤¹¤ë¤Þ¤Ç
-ÂԤĤȤ¤¤¦¤³¤È¤Ç¤¹¡£
-@code{LOW_PRIORITY WRITE} ¤ò»ÈÍѤ¹¤ì¤Ð¡¢
-@code{WRITE} ¥í¥Ã¥¯¤òÂԤäƤ¤¤ë¥¹¥ì¥Ã¥É¤Ë @code{READ} ¥í¥Ã¥¯¤òÆÀ¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@code{LOW_PRIORITY WRITE} ¤Ï @code{READ} ¥í¥Ã¥¯¤ò¤·¤Æ¤¤¤ë¥¹¥ì¥Ã¥É¤¬°ì¤Ä¤â¤Ê¤¤¤È
-¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-
-@code{LOCK TABLES} ¤ò»ÈÍѤ¹¤ë¤È¤­¡¢»ÈÍѤ·¤è¤¦¤È¤¹¤ëÁ´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ò¥í¥Ã
-¥¯¤¹¤Ù¤­¤Ç¤¹¡ª
-¤½¤·¤Æ¥¯¥¨¥ê¤Ç»ÈÍѤ·¤è¤¦¤È¤·¤Æ¤¤¤ë¤Î¤ÈƱ¤¸¥¨¥¤¥ê¥¢¥¹¤ò»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡ª
-¤â¤·¥¯¥¨¥ê¤ÇÊÂÎó¤ËÊ£¿ô²ó¥Æ¡¼¥Ö¥ë¤ò»ÈÍѤ¹¤ë¤Ê¤é(alias ¤ò¤È¤â¤Ê¤Ã¤Æ)¡¢
-¤½¤ì¤¾¤ì¤Î alias ¤ò¥í¥Ã¥¯¤¹¤Ù¤­¤Ç¤¹¡ª
-¤³¤Î¥Ý¥ê¥·¡¼¤Ï¥Æ¡¼¥Ö¥ë¥í¥Ã¥¯¤ò¥Ç¥Ã¥É¥í¥Ã¥¯¥Õ¥ê¡¼¤Ë¤¹¤ë¤³¤È¤ò³Î¤«¤Ë¤·¤Þ¤¹¡£
-
-@code{INSERT DELAYED} ¤Ç»ÈÍѤ·¤Æ¤¤¤ë¤¤¤«¤Ê¤ë¥Æ¡¼¥Ö¥ë¤â¡¢¥í¥Ã¥¯¤¹¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¤³¤Î¾ì¹ç @code{INSERT} ¤ÏÊ̤Υ¹¥ì¥Ã¥É¤Ç¹Ô¤Ê¤ï¤ì¤ë¤«¤é¤Ç¤¹¡£
-
-Ä̾Á´¤Æ¤Îñ°ì¤Î @code{UPDATE} ¹½Ê¸¤Ë¤ª¤¤¤Æ¤Ï¡¢¥Æ¡¼¥Ö¥ë¤ò¥í¥Ã¥¯¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡¨
-¥¹¥ì¥Ã¥É¤Ï¡¢Â¾¤Î¥¹¥ì¥Ã¥É¤¬¸½ºß¼Â¹Ô¤·¤Æ¤¤¤ë SQL ʸ¤Ë´³¾Ä¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£
-¤³¤ì¤é¤Ï¥Æ¡¼¥Ö¥ë¤ò¥í¥Ã¥¯¤·¤¿Êý¤¬¤è¤¤¡¢¤Þ¤ì¤Ê¾ì¹ç¤Ç¤¹¡§
-
-@itemize @bullet
-@item
-¥Æ¡¼¥Ö¥ë¤ò¤Þ¤È¤á¤Æ¿¤¯¤ÎÁàºî¤ò¼Â¹Ô¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¡¢»ÈÍѤ·¤è¤¦¤È¤·¤Æ¤¤¤ë¥Æ¡¼
-¥Ö¥ë¤ò¥í¥Ã¥¯¤¹¤ë¤È¤È¤Æ¤â®¤¯¤Ê¤ê¤Þ¤¹¡£¤â¤Á¤í¤ó¡¢Â¾¤Î¥¹¥ì¥Ã¥É¤Ï @code{READ} ¥í¥Ã
-¥¯¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤Î¹¹¿·¤Ï¤Ç¤­¤Þ¤»¤ó¤·¡¢Â¾¤Î¥¹¥ì¥Ã¥É¤Ï @code{WRITE} ¥í¥Ã¥¯¤µ¤ì¤¿
-¥Æ¡¼¥Ö¥ë¤òÆɤळ¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
-@item
-@code{MySQL} ¤Ï¥È¥é¥ó¥¶¥¯¥·¥ç¥ó´Ä¶­¤ò¥µ¥Ý¡¼¥È¤·¤Ê¤¤¤¿¤á¡¢Â¾¤Î¥¹¥ì¥Ã¥É¤¬
-@code{SELECT},@code{UPDATE}¤Î´Ö¤ËÍè¤Ê¤¤¤³¤È¤òÊݾڤ·¤¿¤¤¾ì¹ç¤Ï¡¢
-@code{LOCK TABLES} ¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¼¡¤ÎÎã¤Ï°ÂÁ´¤Î¤¿¤á¤Ë¤Ï @code{LOCK TABLES} ¤òɬÍפȤ·¤Þ¤¹¡§
-
-@example
-mysql> LOCK TABLES trans READ, customer WRITE;
-mysql> select sum(value) from trans where customer_id= some_id;
-mysql> update customer set total_value=sum_from_previous_statement
- where customer_id=some_id;
-mysql> UNLOCK TABLES;
-@end example
-
- @code{LOCK TABLES} ¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¡¢@code{SELECT} ¤Î¼Â¹Ô¤È @code{UPDATE} ¤Î
-¼Â¹Ô¤ò¹Ô¤¦´Ö¤Ë¡¢Â¾¤Î¥¹¥ì¥Ã¥É¤¬¿·¤·¤¤ @code{trans} ¹Ô¤òÁÞÆþ¤¹¤ë·ä¤¬¤Ç¤­¤Þ¤¹¡£
-@end itemize
-
-Áý²Ã¹¹¿· (@code{UPDATE customer SET value=value+new_value}) ¤Þ¤¿¤Ï
-@code{LAST_INSERT_ID()} ´Ø¿ô¤Î»ÈÍѤˤè¤ê¡¢Â¿¤¯¤Î¾ì¹ç @code{LOCK TABLES} ¤ò²óÈò
-¤Ç¤­¤Þ¤¹¡£
-
-¤¤¤¯¤Ä¤«¤Î¾ì¹ç¡¢¥æ¡¼¥¶¥ì¥Ù¥ë¥í¥Ã¥¯: @code{GET_LOCK()} ¤È @code{RELEASE_LOCK()} ¤Î»ÈÍÑ
-¤Ë¤è¤Ã¤Æ¤â²ò·è¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤Î¥í¥Ã¥¯¤Ï¥µ¡¼¥ÐÆâ¤Î¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ëÆâ¤ËÊÝ
-»ý¤µ¤ì¡¢¹â®¤Î¤¿¤á @code{pthread_mutex_lock()} ¤Ç¼ÂÁõ¤µ¤ì¤Þ¤·¤¿¡£
-@xref{Miscellaneous functions}.
-
-¥í¥Ã¥¯¥Ý¥ê¥·¡¼¤Î¤µ¤é¤Ê¤ë¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï @ref{Internal locking} ¤ò¸«¤Æ¤¯¤À¤µ
-¤¤¡£
-
-@findex SET OPTION
-@node SET OPTION, GRANT, LOCK TABLES, Reference
-@section @code{SET OPTION} ¹½Ê¸
-
-@example
-SET [OPTION] SQL_VALUE_OPTION= value, ...
-@end example
-
-@code{SET OPTION} ¤Ï¥µ¡¼¥Ð¤ä¥¯¥é¥¤¥¢¥ó¥È¤ÎÁàºî¤Ë±Æ¶Á¤¹¤ëÍÍ¡¹¤Ê¥ª¥×¥·¥ç¥ó¤òÀßÄꤷ¤Þ¤¹.
-¸½ºß¤Î¥»¥Ã¥·¥ç¥ó¤¬½ª¤ï¤ë¤«,¤Þ¤¿¤Ï¤¢¤Ê¤¿¤¬°Û¤Ê¤Ã¤¿Ãͤ˥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¤Þ¤Ç,
-ÀßÄꤵ¤ì¤¿¥ª¥×¥·¥ç¥óÃͤϻĤäƤ¤¤Þ¤¹.
-
-@table @code
-@item CHARACTER SET character_set_name | DEFAULT
-¤³¤ì¤Ï»ØÄꤵ¤ì¤¿¥Þ¥Ã¥Ô¥ó¥°¤Ë½¾¤Ã¤Æ¡¢¤¹¤Ù¤Æ¤Îʸ»úÎó¤ò¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥¯¥é¥¤¥¢¥ó¥È¤Ë¥Þ¥Ã¥×¤·¤Þ¤¹.
-¸½ºß¡¢@code{character_set_name} ¤Ë»ØÄê¤Ç¤­¤ë¥ª¥×¥·¥ç¥ó¤Ï @code{cp1251_koi8} ¤À¤±¤Ç¤¹¤¬,
-@strong{MySQL} ¤Î¥½¡¼¥¹Ãæ¤Ë¤¢¤ë @file{sql/convert.cc} ¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ,
-Íưפ˿·¤·¤¤¥Þ¥Ã¥Ô¥ó¥°¤ò²Ã¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹. ɸ½à¤Î¥Þ¥Ã¥Ô¥ó¥°¤ËÌ᤹¤Ë¤Ï¡¢
-@code{character_set_name} ¤Ë @code{DEFAULT} ¤ò»ØÄꤷ¤Þ¤¹¡£
-
-@code{CHARACTER SET} ¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¤¿¤á¤Î¹½Ê¸¤Ï¡¢
-¾¤Î¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¹½Ê¸¤È°Û¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤.
-
-@item PASSWORD = PASSWORD('some password')
-@cindex Passwords, setting
-¸½ºß¤Î¥æ¡¼¥¶¤Î¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤Þ¤¹¡£¤¤¤«¤Ê¤ëÈóƿ̾¤Î¥æ¡¼¥¶¤â¡¢
-¼«Ê¬¼«¿È¥Ñ¥¹¥ï¡¼¥É¤òÊѤ¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹!
-
-@item PASSWORD FOR user = PASSWORD('some password')
-@cindex Passwords, setting
-¸½ºß¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë¥Û¥¹¥È¤ÎÆÃÄê¥æ¡¼¥¶¤Î¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤Þ¤¹¡£
-@code{mysql} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¯¥»¥¹¤¬¤Ç¤­¤ë¥æ¡¼¥¶¡¼¤À¤±¤¬¼Â¹Ô¤Ç¤­¤Þ¤¹¡£
-¥æ¡¼¥¶¤Ï @code{user@@hostname} ·Á¼°¤ÇÍ¿¤¨¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-¤³¤³¤Ç @code{user} ¤È @code{hostname} ¤Ï¡¢@code{mysql.user} ¥Æ¡¼¥Ö¥ë¤Î
-@code{User}, @code{Host} ¥Õ¥£¡¼¥ë¥É¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-Î㤨¤Ð¡¢@code{User} ¤È @code{Host} ¥Õ¥£¡¼¥ë¥É¤¬ @code{'bob'} ¤È
-@code{'%.loc.gov'} ¤Ê¤é¤Ð¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-mysql> SET PASSWORD FOR bob@@"%.loc.gov" = PASSWORD("newpass");
-
-¤Þ¤¿¤Ï
-
-mysql> UPDATE mysql.user SET password=PASSWORD("newpass") where user="bob' and host="%.loc.gov";
-@end example
-
-@item SQL_AUTO_IS_NULL = 0 | 1
-@code{1} (¥Ç¥Õ¥©¥ë¥È) ¤òÀßÄꤹ¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¡¢auto_increment ¥ì¥³¡¼
-¥É¤ò»ý¤Ä¥Æ¡¼¥Ö¥ë¤Ç¡¢ºÇ¸å¤ËÁÞÆþ¤µ¤ì¤¿¥ì¥³¡¼¥É¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-@code{WHERE auto_increment_column IS NULL}¡£¤³¤ì¤Ï¡¢Access ¤Î¤è¤¦¤Ê¤¤¤¯¤Ä
-¤«¤Î ODBC ¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£
-
-@item SET AUTOCOMMIT= 0 | 1
-@code{1} ¤òÀßÄꤹ¤ë¤È¡¢¥Æ¡¼¥Ö¥ë¤Ø¤Î¤¹¤Ù¤Æ¤ÎÊѹ¹¤Ï¤¹¤°¤Ë¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£
-To start
-an multi command transaction you have to use the @code{BEGIN}
-statement. @xref{COMMIT}.
-@code{0} ¤òÀßÄꤹ¤ë¤È¡¢¤½¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤òµö²Ä/ÇË´þ¤¹¤ë¤¿¤á¤Ë¡¢
-@code{COMMIT} / @code{ROLLBACK} ¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£@xref{COMMIT}¡£
-Ãí°Õ: Èó @code{AUTOCOMMIT} ¥â¡¼¥É¤«¤é @code{AUTOCOMMIT} ¥â¡¼¥É¤ËÊѹ¹¤¹¤ë»þ¡¢
-@strong{MySQL} ¤Ï¤¹¤Ù¤Æ¤Î¥ª¡¼¥×¥ó¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ò¼«Æ°Åª¤Ë
-@code{COMMIT} ¤·¤Þ¤¹¡£
-
-@item SQL_BIG_TABLES = 0 | 1
-@cindex The table is full
-@code{0} ¤Î¾ì¹ç¡¢Á´¤Æ¤Î°ì»þ¥Æ¡¼¥Ö¥ë¤Ï¥á¥â¥ê¡¼¤Ç¤Ï¤Ê¤¯¥Ç¥£¥¹¥¯¤Ë½ñ¤­½Ð¤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï¾¯¤·ÃÙ¤¯¤Ê¤ê¤Þ¤¹¤¬¡¢Â¿¤¯¤Î°ì»þ¥Æ¡¼¥Ö¥ë¤òɬÍפȤ¹¤ëÂ礭¤Ê @code{SELECT} ¤ò
-¼Â¹Ô¤·¤Æ¤â¡¢@code{The table tbl_name is full} ¥¨¥é¡¼¤¬½Ð¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
-¿·¤·¤¤Àܳ¤Ë¤ª¤±¤ë¤³¤ÎÃͤΥǥե©¥ë¥ÈÃÍ¤Ï @code{1} (¥á¥â¥ê¡¼¤Ë°ì»þ¥Æ¡¼¥Ö¥ë¤òºî¤ë)
-¤Ç¤¹¡£
-
-@item SQL_BIG_SELECTS = 0 | 1
-@code{1} ¤Î¾ì¹ç¡¢¤È¤Æ¤â»þ´Ö¤Î¤«¤«¤ë @code{SELECT} ¤¬¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¡¢
-@strong{MySQL} ¤Ï¤½¤ì¤òÃæ»ß¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¤¢¤Þ¤ê˧¤·¤¯¤Ê¤¤(´Ö°ã¤Ã¤¿) @code{WHERE} ¹½Ê¸¤¬È¯¹Ô¤µ¤ì¤¿¤È¤­¤ËÌòΩ¤Á¤Þ¤¹¡£
-@code{max_join_size} ¹Ô°Ê¾å¤ò¸¡Æ¤¤¹¤ë¤è¤¦¤Ê @code{SELECT} ¤¬
-Â礭¤Ê¥¯¥¨¥ê¤ÈÄêµÁ¤µ¤ì¤Þ¤¹¡£
-¿·¤·¤¤Àܳ¤Ë¤ª¤±¤ë¤³¤ÎÃͤΥǥե©¥ë¥ÈÃÍ¤Ï @code{0} ¤Ç¤¹¡£
-(Á´¤Æ¤Î @code{SELECT} ¹½Ê¸¤òµö¤·¤Þ¤¹)
-
-@item SQL_BUFFER_RESULT = 0 | 1
-@code{SQL_BUFFER_RESULT} ¤Ï°ì»þ¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤ë @code{SELECT} ¤«¤é¤Î·ë²Ì
-¤ò¶¯À©Åª¤ËÃÖ¤­¤Þ¤¹¡£¤³¤ì¤Ï @strong{MySQL} ¤¬¥Æ¡¼¥Ö¥ë¥í¥Ã¥¯¤òÁ᤯²òÊü¤¹¤ë¼ê
-½õ¤±¤ò¤·¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ø·ë²Ì¥»¥Ã¥È¤òÁ÷¿®¤¹¤ë¤¿¤á¤ËŤ¤»þ´Ö¤¬³Ý¤«¤ë¾ì¹ç¤ËÌò
-Ω¤Á¤Þ¤¹¡£
-
-@item SQL_LOW_PRIORITY_UPDATES = 0 | 1
-@code{1} ¤Î¾ì¹ç¡¢Á´¤Æ¤Î @code{INSERT}, @code{UPDATE}, @code{DELETE},
- @code{LOCK TABLE WRITE}¹½Ê¸¤Ï¡¢
-ÂоݤȤʤë¥Æ¡¼¥Ö¥ë¤ò½èÍýÃæ¤Î @code{SELECT} ¤ä @code{LOCK TABLE READ}
-¤¬¤Ê¤¯¤Ê¤ë¤Þ¤ÇÂÔ¤Á¤Þ¤¹¡£
-
-@item SQL_MAX_JOIN_SIZE = value | DEFAULT
-¤ª¤½¤é¤¯ @code{value} ¤è¤ê¤â¿¤¤¥ì¥³¡¼¥É¤ÎÁȹ礻¤ò»î¸³¤¹¤ëɬÍפ¬¤¢¤ë¤è¤¦¤Ê
-@code{SELECT} ¤òµö²Ä¤·¤Þ¤»¤ó¡£¤³¤ÎÃͤòÀßÄꤹ¤ë¤³¤È¤Ç¡¢¥­¡¼¤¬»ÈÍѤµ¤ì¤Ê¤¤¤Ç
-¤¢¤í¤¦ @code{SELECT} ¤ÈŤ¤»þ´Ö¤¬³Ý¤«¤ë¤Ç¤¢¤í¤¦ @code{SELECT} ¤òÊ᪤Ǥ­¤Þ
-¤¹¡£¤³¤ì¤ò @code{DEFAULT} °Ê³°¤ÎÃͤËÀßÄꤹ¤ë¤È¡¢@code{SQL_BIG_SELECTS} ¥Õ
-¥é¥°¤ò¥ê¥»¥Ã¥È¤·¤Þ¤¹¡£@code{SQL_BIG_SELECTS} ¥Õ¥é¥°¤òºÆ¤ÓÀßÄꤹ¤ë¤È¡¢
-@code{SQL_MAX_JOIN_SIZE} ÊÑ¿ô¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£@code{-O max_join_size=#} ¤Ç
-@code{mysqld} ¤òµ¯Æ°¤¹¤ë¤³¤È¤Ç¡¢¤³¤ÎÊÑ¿ô¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤòÀßÄê¤Ç¤­¤Þ¤¹¡£
-
-@item SQL_SAFE_MODE = 0 | 1
-@code{1} ¤ËÀßÄꤹ¤ë¤È¡¢@code{WHERE} ÀáÆâ¤Ç¥­¡¼¤ä @code{LIMIT} ¤ò»ÈÍѤ·¤Ê¤¤
-¤Ç @code{UPDATE} ¤Þ¤¿¤Ï @code{DELETE} ¤ò¹Ô¤Ê¤ª¤¦¤È¤·¤¿¾ì¹ç¤Ë
-@strong{MySQL} ¤¬¥¢¥Ü¡¼¥È¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¼ê¤Ç SQL ¥³¥Þ¥ó¥É¤òÀ¸À®¤¹¤ë»þ¤Î´Ö
-°ã¤Ã¤¿¹¹¿·¤ÎÊ᪤ò²Äǽ¤Ë¤·¤Þ¤¹¡£
-
-@item SQL_SELECT_LIMIT = value | DEFAULT
-@code{SELECT} ¹½Ê¸¤«¤éÊÖ¤µ¤ì¤ë¥ì¥³¡¼¥É¤ÎºÇÂçÃÍ¡£
-¤â¤· @code{SELECT} ¤Ë @code{LIMIT} Àá¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢@code{LIMIT} ¤Ï
- @code{SQL_SELECT_LIMIT} ¤ÎÃͤè¤êÍ¥À褵¤ì¤Þ¤¹¡£
-¿·¤·¤¤Àܳ¤Ë¤ª¤±¤ë¤³¤ÎÃͤÎɸ½àÃÍ¤Ï ``unlimited''.
-¤â¤·¥ê¥ß¥Ã¥È¤òÊѤ¨¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢@code{SQL_SELECT_LIMIT} ¤Ë
- @code{DEFAULT} ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢É¸½àÃͤËÌ᤹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@item SQL_LOG_OFF = 0 | 1
-¤³¤ÎÃͤ¬ @code{1} ¤Î¾ì¹ç¡¢¤â¤·¥¯¥é¥¤¥¢¥ó¥È¤¬ @strong{process} ¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢
-¤³¤Î¥¯¥é¥¤¥¢¥ó¥È¤Î¥í¥°¤¬¹Ô¤ï¤ì¤Þ¤»¤ó¡£
-¤³¤ì¤Ï¹¹¿·¥í¥°¤Ë±Æ¶Á¤·¤Þ¤»¤ó¡ª
-
-@item SQL_LOG_UPDATE = 0 | 1
-@code{0} ¤Î¾ì¹ç¡¢¤â¤·¥¯¥é¥¤¥¢¥ó¥È¤¬ @strong{process} ¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢
-¤³¤Î¥¯¥é¥¤¥¢¥ó¥È¤Î¹¹¿·¥í¥°¤Îµ­Ï¿¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£
-¤³¤ì¤ÏÄ̾ï¤Î¥í¥°¤Ë¤Ï±Æ¶Á¤·¤Þ¤»¤ó¡ª
-
-@item TIMESTAMP = timestamp_value | DEFAULT
-¥¯¥é¥¤¥¢¥ó¥È¤Ë»þ´Ö¤òÀßÄꤷ¤Þ¤¹¡£
-¤â¤·¥ì¥³¡¼¥É¤Î¥ê¥¹¥È¥¢¤Ë¹¹¿·¥í¥°¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥ª¥ê¥¸¥Ê¥ë¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÆÀ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£
-
-@item LAST_INSERT_ID = #
-@code{LAST_INSERT_ID()} ¤«¤é¤ÎÊÖ¤êÃͤòÀßÄꤷ¤Þ¤¹¡£
-¥Æ¡¼¥Ö¥ë¤ò¹¹¿·¤¹¤ë¥³¥Þ¥ó¥ÉÃæ¤Ë @code{LAST_INSERT_ID()} ¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢
-¤³¤ì¤Ï¹¹¿·¥í¥°¤ËÊݸ¤µ¤ì¤Þ¤¹¡£
-
-@item INSERT_ID = #
- @code{AUTO_INCREMENT} ÃͤòÁÞÆþ¤¹¤ë»þ¡¢
-@code{INSERT} ¥³¥Þ¥ó¥É¤Ë½¾¤Ã¤Æ»ÈÍѤµ¤ì¤ëÃͤò¥»¥Ã¥È¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¹¹¿·¥í¥°¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£
-
-@end table
-
-@findex GRANT
-@findex REVOKE
-@node GRANT, CREATE INDEX, SET OPTION, Reference
-@section @code{GRANT} ¤È @code{REVOKE} ¹½Ê¸
-
-@example
-GRANT priv_type [(column_list)] [, priv_type [(column_list)] ...]
- ON @{tbl_name | * | *.* | db_name.*@}
- TO user_name [IDENTIFIED BY 'password']
- [, user_name [IDENTIFIED BY 'password'] ...]
- [WITH GRANT OPTION]
-
-REVOKE priv_type [(column_list)] [, priv_type [(column_list)] ...]
- ON @{tbl_name | * | *.* | db_name.*@}
- FROM user_name [, user_name ...]
-@end example
-
-@code{GRANT} ¤Ï @strong{MySQL} 3.22.11 °Ê¾å¤Ç¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹; Á°¤Î
-@strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢@code{GRANT} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ï²¿¤â¹Ô¤Ê¤¤¤Þ
-¤»¤ó¡£
-
-@code{GRANT} ¤È @code{REVOKE} ¥³¥Þ¥ó¥É¥»¥Ã¥È¤Î¼ç¤ÊÌÜŪ¤Ï¡¢¥·¥¹¥Æ¥à´ÉÍý¼Ô
-¤¬ @strong{MySQL} ¥æ¡¼¥¶¤Ë¼¡¤Î£´¤Ä¤Î¸¢¸Â¥ì¥Ù¥ë¤Î¸¢Íø¤òÍ¿¤¨¤¿¤ê¼è¤ê¾Ã¤¹¤³
-¤È¤ò¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¤¹:
-
-@table @strong
-@item Global ¥ì¥Ù¥ë
-Global ¸¢¸Â¤ÏÍ¿¤¨¤é¤ì¤¿¥µ¡¼¥Ð¾å¤ÎÁ´¤Æ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËŬÍѤ·¤Þ¤¹¡£¤³¤ì¤é¤Î¸¢¸Â¤Ï
-@code{mysql.user} ¥Æ¡¼¥Ö¥ëÆâ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
-
-@item Database ¥ì¥Ù¥ë
-Database ¸¢¸Â¤ÏÍ¿¤¨¤é¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ÎÁ´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ËŬÍѤ·¤Þ¤¹¡£¤³
-¤ì¤é¤Î¸¢¸Â¤Ï @code{mysql.db} ¥Æ¡¼¥Ö¥ë¤È @code{mysql.host} ¥Æ¡¼¥Ö¥ëÆâ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
-
-@item Table ¥ì¥Ù¥ë
-Table ¸¢¸Â¤ÏÍ¿¤¨¤é¤ì¤¿¥Æ¡¼¥Ö¥ëÆâ¤ÎÁ´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤ËŬÍѤ·¤Þ¤¹¡£¤³¤ì¤é¤Î¸¢¸Â¤Ï
-@code{mysql.tables_priv} ¥Æ¡¼¥Ö¥ëÆâ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
-
-@item Column ¥ì¥Ù¥ë
-Column ¸¢¸Â¤ÏÍ¿¤¨¤é¤ì¤¿¥Æ¡¼¥Ö¥ëÆâ¤Î°ì¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤ËŬÍѤ·¤Þ¤¹¡£¤³¤ì¤é¤Î¸¢¸Â¤Ï
-@code{mysql.column_priv} ¥Æ¡¼¥Ö¥ëÆâ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
-@end table
-
-@code{GRANT} ¤ÎÆ°ºîÎã¤Ï ¢ª @ref{Adding users}.
-
-@code{GRANT} ¤È @code{REVOKE} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ë¤ª¤¤¤Æ @code{priv_type} ¤Ë¤Ï
-°Ê²¼¤¬»ØÄê¤Ç¤­¤Þ¤¹:
-
-@example
-ALL PRIVILEGES FILE RELOAD
-ALTER INDEX SELECT
-CREATE INSERT SHUTDOWN
-DELETE PROCESS UPDATE
-DROP REFERENCES USAGE
-@end example
-
-@code{ALL} ¤Ï @code{ALL PRIVILEGES} ¤ÎƱµÁ¸ì¤Ç¤¹.
-@code{REFERENCES} ¤Ï¤Þ¤À¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£
-@code{USAGE} ¤Ï ``no privileges'' ¤ÈƱµÁ¤Ç¤¹.
-¤³¤ì¤Ï¤Ê¤ó¤Î¸¢¸Â¤â»ý¤¿¤Ê¤¤¥æ¡¼¥¶¡¼¤òºî¤ë¾ì¹ç¤Ë»ÈÍѤ·¤Þ¤¹.
-
-¥æ¡¼¥¶¡¼¤«¤é¸¢¸Âµö²Ä¤ò¼è¤ê½ü¤¯¤Ë¤Ï¡¢@code{GRANT OPTION} ¥ª¥×¥·¥ç¥ó¤ÎÃͤË
-@code{priv_type} ¤ò»ØÄꤷ¤Þ¤¹¡§
-
-@example
-REVOKE GRANT OPTION ON ... FROM ...;
-@end example
-
-¥Æ¡¼¥Ö¥ë¤ËÂФ¹¤ëµö²Ä¤Î¤¿¤á¤Ë»ØÄê¤Ç¤­¤ë @code{priv_type} ¤Ï¼¡¤Î¥Õ¥£¡¼¥ë¥É¤À¤±¤Ç¤¹¡§
-@code{SELECT},@code{INSERT}, @code{UPDATE}, @code{DELETE}, @code{CREATE}, @code{DROP},
-@code{GRANT}, @code{INDEX}, @code{ALTER}.
-
-¥Õ¥£¡¼¥ë¥É¤ËÂФ¹¤ëµö²Ä¤Î¤¿¤á¤Ë»ØÄê¤Ç¤­¤ë @code{priv_type} ¤Ï¼¡¤Î¥Õ¥£¡¼¥ë¥É¤À¤±¤Ç¤¹
-(¤³¤ì¤Ï @code{column_list} Àá¤ò»ÈÍѤ¹¤ë¾ì¹ç¤ËŬÍѤµ¤ì¤Þ¤¹)¡§
-@code{SELECT}, @code{INSERT}, @code{UPDATE}.
-
-@code{WITH GRANT OPTION} Àá¤Ï¡¢@code{GRANT} ¹½Ê¸¤ò»ÈÍѤ·¤Æ
-¾¤Î¥æ¡¼¥¶¡¼¤Ë¸¢¸Â¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
-
-@code{ON *.*} ¤ò»ÈÍѤ·¤Æ¥°¥í¡¼¥Ð¥ë¸¢¸Â¤òÀßÄê¤Ç¤­¤Þ¤¹¡£
-@code{ON db_name.*} ¤ò»ÈÍѤ·¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹¸¢¸Â¤òÀßÄê¤Ç¤­¤Þ¤¹¡£@code{ON *} ¤ò
-»ØÄꤹ¤ë¤È¡¢¸½ºß¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¸¢¸Â¤òÀßÄê¤Ç¤­¤Þ¤¹¡£
-(@strong{·Ù¹ð¡§} ¸½ºß¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»ý¤¿¤Ê¤¤¾õÂÖ¤Ç @code{ON *} ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢
-global ¸¢¸Â¤Ë±Æ¶Á¤·¤Þ¤¹¡ª)
-
-¥æ¡¼¥¶¤Ø¤Î¸¢Íø¤Î¶¡Í¿¤ò¾¤Î¥Û¥¹¥È¤«¤éŬ±þ¤¹¤ë¤¿¤á¤Ë¡¢@strong{MySQL} ¤Ï
- @code{user_name} ¤ÎÃͤò @code{user@@host} ¤Î·Á¤Ç½ñ¤±¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
-Æüìʸ»ú(@samp{%} ¤Î¤è¤¦¤Ê)¤Ç @code{user_name} ¤ÎÃͤò»ØÄꤷ¤¿¤¤¾ì¹ç¡¢
-¥æ¡¼¥¶¤ä¥Û¥¹¥È̾¤ò¥¯¥©¡¼¥È¤Ç¤­¤Þ¤¹;
-(Î㤨¤Ð @code{'test-user'@@'test-hostname'})¡£
-
-¥Û¥¹¥È̾¤Ë¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍѤǤ­¤Þ¤¹¡£Î㤨¤Ð¡¢@code{user@@"%.loc.gov"} ¤Ï
-@code{loc.gov} ¥É¥á¥¤¥ó¤ÎÁ´¤Æ¤Î¥Û¥¹¥È¤Î @code{user} ¤òÍ¿¤¨¡¢
-@code{user@@"144.155.166.%"} ¤Ï @code{144.155.166} ¥¯¥é¥¹C¥µ¥Ö¥Í¥Ã¥È¤Î
-¤¢¤é¤æ¤ë¥Û¥¹¥È¤Î @code{user} ¤È¤Ê¤ê¤Þ¤¹¡£
-
-ñ¤Ë @code{user} ¤È½ñ¤¯¤È @code{user@@"%"} ¤ÈƱ¤¸¤Ç¤¹.
-@strong{Ãí°Õ¡§} ¤â¤·Æ¿Ì¾¥æ¡¼¥¶¡¼¤«¤é¤Î @strong{MySQL} ¥µ¡¼¥Ð¡¼¤Ø¤ÎÀܳ¤ò
-µö¤¹¾ì¹ç(¥Ç¥Õ¥©¥ë¥È¤Ç¤¹)¡¢Á´¤Æ¤Î¥í¡¼¥«¥ë¥æ¡¼¥¶¡¼ @code{username@@localhost} ¤ò²Ã¤¨¤ë¤Ù¤­¤Ç¤¹¡£
-¤Ê¤¼¤Ê¤é¡¢Æ¿Ì¾¥æ¡¼¥¶¡¼¤ÏƱ¤¸¥Þ¥·¥ó¤«¤é @strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËÆþ¤í¤¦¤È¤·¤¿¾ì¹ç¤Ë
-»ÈÍѤµ¤ì¤ë¤«¤é¤Ç¤¹¡ª
-ƿ̾¥æ¡¼¥¶¡¼¤Ï @code{mysql.user} ¥æ¡¼¥¶¡¼¥Æ¡¼¥Ö¥ë¤Ë¡¢ @code{User=''} ¤È¤·¤ÆÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-mysql> SELECT Host,User FROM mysql.user WHERE User='';
-@end example
-
-¤µ¤·¤¢¤¿¤ê, @code{GRANT} ¤Ï¥Û¥¹¥È̾¡¢¥Æ¡¼¥Ö¥ë̾¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¡¢¥Õ¥£¡¼¥ë¥É̾¤Ë
-ºÇÂç60ʸ»ú¤Þ¤Ç»ÈÍѤǤ­¤Þ¤¹¡£¥æ¡¼¥¶¡¼Ì¾¤ÏºÇÂç16ʸ»ú¤Þ¤Ç¤Ç¤¹¡£
-
-¥Æ¡¼¥Ö¥ë/¥Õ¥£¡¼¥ë¥É¤Î¸¢¸Â¤Ï global(¥æ¡¼¥¶¤È¥Ç¡¼¥¿¥Ù¡¼¥¹)¸¢¸Â¤È
-@code{GRANT} ¸¢¸Â¤È @code{OR} ¤µ¤ì¤Þ¤¹¡£Î㤨¤Ð¡¢¥æ¡¼¥¶¤¬
-@code{mysql.user} ¥Æ¡¼¥Ö¥ëÆâ¤Î global @strong{select} ¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢
-¤³¤ì¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤ä¥Æ¡¼¥Ö¥ë/¥Õ¥£¡¼¥ë¥É¥ì¥Ù¥ëÆâ¤Î¥¨¥ó¥È¥ê¤Ç¤ÏµñÈݤǤ­¤Þ¤»¤ó¡£
-
-¥Õ¥£¡¼¥ë¥É¤Î¸¢Íø¤Ï¼¡¤Î¤è¤¦¤Ë·×»»¤Ç¤­¤Þ¤¹:
-@example
-global privileges
-OR (database privileges AND host privileges)
-OR table privileges
-OR column privileges
-@end example
-
-¿¤¯¤Î¾ì¹ç¡¢°Û¤Ê¤ë¸¢¸Â¥ì¥Ù¥ë¤Î°ì¤Ä¤Ç¥æ¡¼¥¶¤Ë¸¢Íø¤òÍ¿¤¨¤ë¤Î¤Ç¡¢¿ÍÀ¸¤ÏÄ̾ï
-¾å½Ò¤Î¤è¤¦¤Ë¤ÏÊ£»¨¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£:)
-¥¢¥¯¥»¥¹À©¸Â¤Î¥Á¥§¥Ã¥¯¤Î¾ÜºÙ¤Ï¢ª@ref{Privilege system}.
-
-¥æ¡¼¥¶¤Ø¤Î¸¢Íø¤Î¶¡Í¿¤ò¾¤Î¥Û¥¹¥È¤«¤éŬ±þ¤¹¤ë¤¿¤á¤Ë¡¢@strong{MySQL} ¤Ï¥æ¡¼
-¥¶Ì¾¤¬·Á¼° @code{user@@host} ¤Ç»ØÄê¤Ç¤­¤ë¤³¤È¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£´Êñ¤Ê·Á
-¼° @code{user} ¤Ï @code{user@@%} ¤ÎƱµÁ¸ì¤Ç¤¹¡£Æüìʸ»ú(@code{.} ¤Î¤è¤¦
-¤Ê)¤Ç¥Û¥¹¥È̾¤ò»ØÄꤷ¤¿¤¤¾ì¹ç¡¢@code{"user"@@"hostname"} ¹½Ê¸¤ò»ÈÍѤǤ­
-¤Þ¤¹¡£
-
-¥æ¡¼¥¶¤È¥Û¥¹¥È̾¤ÎÁȤ¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¡¢¥¨¥ó¥È¥ê¤Ï @code{mysql.user} ¥Æ¡¼
-¥Ö¥ë¤ËÄɲ䵤졢@code{DELETE} ¥³¥Þ¥ó¥É¤Çºï½ü¤µ¤ì¤ë¤Þ¤Ç¤½¤³¤Ë»Ä¤ê¤Þ¤¹¡£
-¤¤¤¦¤Ê¤é¤Ð @code{GRANT} ¤Ï @code{user} ¥Æ¡¼¥Ö¥ë¤ÎÅÐÏ¿¤òºî¤ê¤Þ¤¹¤¬¡¢
- @code{REVOKE} ¤Ï¤½¤ì¤é¤òºï½ü¤Ç¤­¤Þ¤»¤ó;
-¤½¤¦¤¹¤ë¤Ë¤Ï @code{DELETE} ¤ò»ÈÍѤ·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-@cindex Passwords, setting
-@strong{MySQL} 3.22.12 °Ê¾å¤Ç¤Ï¡¢
-¿·¤·¤¤¥æ¡¼¥¶¡¼¤¬ºîÀ®¤µ¤ì¤¿¾ì¹ç¡¢¤¢¤ë¤¤¤Ï¡¢¤¢¤Ê¤¿¤¬¥°¥í¡¼¥Ð¥ë¤Ê¸¢¸Â¤òµö²Ä¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-¥æ¡¼¥¶¡¼¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï @code{IDENTIFIED BY} Àá¤ò»ÈÍѤ·¤ÆÀßÄê¤Ç¤­¤Þ¤¹¡£
-¤¹¤Ç¤Ë¥æ¡¼¥¶¡¼¤Ë¥Ñ¥¹¥ï¡¼¥É¤¬¤¢¤ë¾ì¹ç¡¢¿·¤·¤¯ÀßÄꤵ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ËÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£
-
-@strong{·Ù¹ð¡§} ¤â¤·¿·¤·¤¤¥æ¡¼¥¶¡¼¤òºî¤Ã¤Æ¤â
-@code{IDENTIFIED BY} Àá¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¡¢ ¤½¤Î¥æ¡¼¥¶¡¼¤Ï¥Î¡¼¥Ñ¥¹¥ï¡¼¥É¤Ç¤¹¡£
-¤³¤ì¤Ï´í¸±¤Ç¤¹¡£
-
-¥Ñ¥¹¥ï¡¼¥É¤Ï @code{SET PASSWORD} ¥³¥Þ¥ó¥É¤Ç¤âÀßÄê¤Ç¤­¤Þ¤¹¡£
-@xref{SET OPTION, , @code{SET OPTION}}.
-
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¸¢¸Â¤ò @code{GRANT} ¤¹¤ë¾ì¹ç¡¢@code{mysql.db} ¥Æ¡¼¥Ö¥ëÆâ¤Î
-¥¨¥ó¥È¥ê¤ÏɬÍפʾì¹ç¤ËÀ¸À®¤µ¤ì¤Þ¤¹¡£Á´¤Æ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¸¢¸Â¤¬
-@code{REVOKE} ¤Çºï½ü¤µ¤ì¤¿»þ¡¢¤³¤Î¥¨¥ó¥È¥ê¤Ïºï½ü¤µ¤ì¤Þ¤¹¡£
-
-¥æ¡¼¥¶¤¬¥Æ¡¼¥Ö¥ë¤Ë²¿¤â¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥Æ¡¼¥Ö¥ë¤Î°ìÍ÷Í×µá»þ(Î㤨
-¤Ð¡¢@code{SHOW TABLES} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç)¤Ë¤Ï¡¢¥Æ¡¼¥Ö¥ë¤Ï¸½¤ì¤Þ¤»¤ó¡£
-
-@code{WITH GRANT OPTION} Àá¤Ï¡¢Â¾¤Î¥æ¡¼¥¶¡¼¤Ë¡¢¼«Ê¬¤¬»ý¤Ã¤Æ¤¤¤ë¸¢¸Â¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@strong{¸¢¸Âµö²Ä}¤ò¾¤ËÍ¿¤¨¤ë¾ì¹ç¤ÏÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤¢¤Ê¤¿¤Èµö²Ä¤òÍ¿¤¨¤ë¥æ¡¼¥¶¡¼¤¬°ã¤¦¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢
-Í¿¤¨¤é¤ì¤ë¸¢¸Â¤Îµö²Ä¤Ï¡¢Æó¤Ä¤ò¹ç¤ï¤»¤¿Êª¤Ë¤Ê¤ê¤Þ¤¹¡ª
-
-¼«Ê¬¼«¿È¤¬»ý¤Ã¤Æ¤¤¤Ê¤¤¸¢¸Â¤ò¾¤Î¥æ¡¼¥¶¡¼¤ËÍ¿¤¨¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡¨
-@strong{¸¢¸Âµö²Ä}¤Ï¤¢¤Ê¤¿¤¬½êÍ­¤¹¤ë¸¢¸Â¤Îµö²Ä¤À¤±¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-¤¢¤Ê¤¿¤¬¥æ¡¼¥¶¡¼¤Ë³ÊÊ̤θ¢¸Â¥ì¥Ù¥ë¤òÍ¿¤¨¤¿¾ì¹ç¡¢´û¤Ë¥æ¡¼¥¶¡¼¤¬»ý¤Ã¤Æ¤¤¤ë¤¤¤«¤Ê¤ë¸¢¸Â
-(¤¢¤ë¤¤¤Ï ¾­Íè»ý¤Ä¸¢¸Â) ¤Ï¤½¤Î¥æ¡¼¥¶¡¼¤Ë¤è¤Ã¤Æ¤âµö²Ä¤¬Í¿¤¨¤é¤ì¤Þ¤¹¡£
-¤¢¤Ê¤¿¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ¹¤ë @strong{insert} µö²Ä¤ò¤¢¤ë¥æ¡¼¥¶¡¼¤ËÍ¿¤¨¤¿¤È²¾Äꤷ¤Þ¤¹¡£
-¤â¤·¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ¹¤ë @strong{select} ¸¢¸Â¤òÍ¿¤¨¤¿¤ê¡¢
-@code{WITH GRANT OPTION} ¤ò¹Ô¤¦¤È¡¢¥æ¡¼¥¶¡¼¤Ï @strong{select} ¸¢¸Â¤À¤±¤Ç¤Ê¤¯
- @strong{insert} ¤âÆÀ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤â¤· @strong{update} ¸¢¸Â¤ò¥æ¡¼¥¶¡¼¤ËÍ¿¤¨¤ë¤È¡¢¤½¤Î¥æ¡¼¥¶¡¼¤Ï
-@strong{insert}, @strong{select}, @strong{update} ¤¬²Äǽ¤Ç¤¹¡£
-
-@strong{alter} ¸¢¸Â¤ò°ìÈ̥桼¥¶¤ËÍ¿¤¨¤ë¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç
-¥æ¡¼¥¶¤Ï¥Æ¡¼¥Ö¥ë¤ò¥ê¥Í¡¼¥à¤Ç¤­¡¢¤³¤ÎÊýË¡¤Ç¸¢¸Â¤ò²ó¤ë¤³¤È¤ò»î¤ß¤ë¤³¤È¤¬¤Ç
-¤­¤Þ¤¹¡ª
-
-Ãí°Õ¡§¤â¤· table/column ¸¢¸Â¤ò°ì¿Í¤Î¥æ¡¼¥¶¡¼¤Ë¤À¤±Í¿¤¨¤¿¾ì¹ç¡¢
- @strong{MySQL} ¤ÏÁ´¤Æ¤Î¥æ¡¼¥¶¡¼¤ËÂФ·¤Æ¥Æ¡¼¥Ö¥ë¤È¥Õ¥£¡¼¥ë¥É¤Î¾µÇ§¸¢¸Â¤ò¸¡Æ¤¤·¤Þ¤¹¡£
-¤³¤ì¤Ï @strong{MySQL} ¤ò¾¯¤·ÃÙ¤¯¤·¤Þ¤¹¡£
-
-@code{mysqld} ³«»Ï»þ¡¢Á´¤Æ¤Î¸¢¸Â¤Ï¥á¥â¥ê¤ËÆɤ߹þ¤Þ¤ì¤Þ¤¹¡£¥Ç¡¼¥¿¥Ù¡¼¥¹¡¢
-¥Æ¡¼¥Ö¥ë¡¢¥Õ¥£¡¼¥ë¥É¸¢¸Â¤Ï°ìÅÙ¸ú²Ì¤òÆÀ¤Þ¤¹¡£¥æ¡¼¥¶¥ì¥Ù¥ë¸¢¸Â¤Ï¥æ¡¼¥¶ºÆÀܳ»þ¤Ë
-¸ú²Ì¤òÆÀ¤Þ¤¹¡£
-¤³¤ì¤é¤Îµö²Ä¥Æ¡¼¥Ö¥ë¤ò @code{GRANT} ¤ä @code{REVOKE} ¤ò»È¤Ã¤ÆÊѹ¹¤·¤Æ¤â
-¥µ¡¼¥Ð¡¼¤Ë¤Ï¤¹¤°¤ËÈ¿±Ç¤µ¤ì¤Þ¤»¤ó¡£
-¤â¤·¤³¤ì¤é¤Îµö²Ä¥Æ¡¼¥Ö¥ë¤ò¼êÆ°¤ÇÊѹ¹¤·¤¿¾ì¹ç(@code{INSERT}, @code{UPDATE}, Åù¤ÇÊѹ¹¤·¤¿¾ì¹ç)¡¢
-@code{FLUSH PRIVILEGES} ¹½Ê¸¤ò¼Â¹Ô¤¹¤ë¤«¡¢@code{mysqladmin flush-privileges} ¤ò¼Â¹Ô¤·¤Æ
-¥µ¡¼¥Ð¡¼¤Ëµö²Ä¥Æ¡¼¥Ö¥ë¤ÎºÆÆɤ߹þ¤ß¤ò¹Ô¤ï¤»¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-@xref{Privilege changes}.
-
-@code{ANSI SQL GRANT} ¤È @strong{MySQL} @code{GRANT} ¤È¤ÎÂ礭¤Ê°ã¤¤¤Ï:
-
-@itemize @bullet
-@item
-ANSI SQL ¤Ï¥°¥í¡¼¥Ð¥ë¤È¥Ç¡¼¥¿¥Ù¡¼¥¹¥ì¥Ù¥ë¾µÇ§¤ò»ý¤¿¤º¡¢ANSI SQL ¤Ï
- @strong{MySQL} ¤¬¥µ¥Ý¡¼¥È¤¹¤ëÁ´¤Æ¤Î¸¢¸Â¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£
-@item
-ANSI SQL ¤Ç¥Æ¡¼¥Ö¥ë¤òÇË´þ¤¹¤ë»þ¡¢¤½¤Î¥Æ¡¼¥Ö¥ë¤ÎÁ´¤Æ¤Î¸¢¸Â¤ÏÇË´þ¤µ
-¤ì¤Þ¤¹¡£@code{ANSI SQL} ¤Ç¸¢¸Â¤ò¼è¤ê¾Ã¤¹¾ì¹ç¡¢¤³¤Î¸¢¸Â¤Ë´ð¤Å¤¤¤Æ¾µÇ§¤µ¤ì
-¤¿Á´¤Æ¤Î¸¢¸Â¤â¼è¤ê¾Ã¤µ¤ì¤Þ¤¹¡£@code{MySQL} ¤Ç¤Ï¡¢Á´¤Æ¤Î¸¢¸Â¤ÏÌÀ¼¨Åª¤Ê
-@code{REVOKE} ¥³¥Þ¥ó¥É¤Þ¤¿¤Ï @strong{MySQL} ¸¢¸Â¥Æ¡¼¥Ö¥ë¤ÎÁàºî¤Ë¤è¤Ã¤Æ¤Î
-¤ßÇË´þ¤µ¤ì¤Þ¤¹¡£
-@end itemize
-
-
-@cindex Indexes
-@cindex Indexes, multi-part
-@cindex Multi-part index
-@findex CREATE INDEX
-@node CREATE INDEX, DROP INDEX, GRANT, Reference
-@section @code{CREATE INDEX} ¹½Ê¸
-
-@example
-CREATE [UNIQUE] INDEX index_name ON tbl_name (col_name[(length)],... )
-@end example
-
-@code{CREATE INDEX} ¹½Ê¸¤Ï @strong{MySQL} 3.22 ¤è¤ê°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¤Ê¤Ë¤â¤·¤Þ¤»¤ó¡£
-3.22 °Ê¹ß¤Ç¡¢@code{CREATE INDEX} ¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎºîÀ®¤Î¤¿¤á¤Ë @code{ALTER TABLE}
- ¤ò¸Æ¤Ó¤À¤·¤Æ¤¤¤Þ¤¹¡£
-@xref{ALTER TABLE, , @code{ALTER TABLE}}.
-
-Ä̾¥Æ¡¼¥Ö¥ëÆâ¤ÎÁ´¤Æ¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï @code{CREATE TABLE} ¤Ç
-¥Æ¡¼¥Ö¥ë¤òºî¤ë¤È¤­¤Ë°ìÅ٤˺îÀ®¤µ¤ì¤Þ¤¹¡£
-@xref{CREATE TABLE, , @code{CREATE TABLE}}.
-@code{CREATE INDEX} ¤Ï´û¤Ë¸ºß¤¹¤ë¥Æ¡¼¥Ö¥ë¤ËÂФ·¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÄɲä·¤Þ¤¹¡£
-
-¥Õ¥£¡¼¥ë¥É¤ò @code{(col1,col2,...)} ¤È¤·¤Æ»ØÄꤹ¤ë¤È¡¢Ê£¿ô¥Õ¥£¡¼¥ë¥É¥¤¥ó¥Ç¥Ã¥¯¥¹¤òºîÀ®¤·¤Þ¤¹¡£
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÃͤϡ¢Í¿¤¨¤é¤ì¤¿¥Õ¥£¡¼¥ë¥É¤ÎÃͤòÏ¢·ë¤·¤Æ¡¢¹½À®¤µ¤ì¤Þ¤¹¡£
-
-@code{CHAR} ¤È @code{VARCHAR} ¥Õ¥£¡¼¥ë¥É¤Ç¤Ï¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¥Õ¥£¡¼¥ë¥É¤Î°ìÉôʬ¤À¤±¤ò»ÈÍѤ·¤Æ
-ºîÀ®¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï @code{col_name(length)} ¹½Ê¸¤ò»ÈÍѤ·¤Þ¤¹¡£
-(@code{BLOB} ¤È @code{TEXT} Àá¤Ç¤Ï length ¤¬É¬ÍפǤ¹)¡£
-ºÇ½é¤Î10ʸ»ú¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤·¤Æ»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¤³¤Î¹½Ê¸¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ»ÈÍѤ·¤Þ¤¹(@code{name} ¥Õ¥£¡¼¥ë¥É¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òºî¤ê¤Þ¤¹)¡§
-
-@example
-mysql> CREATE INDEX part_of_name ON customer (name(10));
-@end example
-
-¥Õ¥£¡¼¥ë¥É¤Î°ìÉôʬ¤À¤±¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë»ÈÍѤ¹¤ì¤Ð¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤ò¤Ï¤ë¤«¤Ë¾®¤µ¤¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤Û¤È¤ó¤É¤Î̾Á°¤¬ºÇ½é¤Î10ʸ»ú¤Ë¤ª¤¤¤ÆÄ̾ï°Û¤Ê¤ë¤Î¤Ç¡¢
-¤³¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï @code{name} ¥Õ¥£¡¼¥ë¥ÉÁ´Éô¤ò»ÈÍѤ·¤ÆÁϤê½Ð¤·¤¿¥¤¥ó¥Ç¥Ã¥¯¥¹¤ËÈæ¤Ù¤Æ
-ÃÙ¤¯¤Ê¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤Þ¤¿¡¢Â¿¤¯¤Î¥Ç¥£¥¹¥¯¥¹¥Ú¡¼¥¹¤òÀáÌó¤Ç¤­¡¢
- @code{INSERT} ¤ò®¤¯¤¹¤ë¤Î¤Ç¤¹¡ª
-
-@strong{MySQL} version 3.23.2 °Ê¾å¤Ç @code{MyISAM} ·¿¤Î¥Æ¡¼¥Ö¥ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢
-@code{NULL} Ãͤò¤â¤Ä¥Õ¥£¡¼¥ë¥É¤ä¡¢ @code{BLOB}/@code{TEXT} ¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤Æ
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÄ¥¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-
-@strong{MySQL} ¤¬¤É¤Î¤è¤¦¤Ë¤·¤Æ¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ¹¤ë¤«¤Ï ¢ª
-¡¡@ref{MySQL indexes, , @strong{MySQL} indexes}.
-
-@findex DROP INDEX
-@node DROP INDEX, Comments, CREATE INDEX, Reference
-@section @code{DROP INDEX} ¹½Ê¸
-
-@example
-DROP INDEX index_name ON tbl_name
-@end example
-
-@code{DROP INDEX} ¤Ï @code{index_name} ¤È¤¤¤¦Ì¾Á°¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¥Æ¡¼¥Ö¥ë
-@code{tbl_name} ¤«¤éÇË´þ¤·¤Þ¤¹¡£
-@code{DROP INDEX} ¤Ï @strong{MySQL} 3.22 ¤è¤ê°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¤Ê¤Ë¤â¤·¤Þ¤»¤ó¡£
-3.22 °Ê¹ß¤Ç¡¢@code{DROP INDEX} ¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÇË´þ¤Î¤¿¤á¤Ë
-@code{ALTER TABLE} ¤ò¸Æ¤Ó¤À¤·¤Æ¤¤¤Þ¤¹¡£
-@xref{ALTER TABLE, , @code{ALTER TABLE}}.
-
-@findex Comment syntax
-@node Comments, CREATE FUNCTION, DROP INDEX, Reference
-@section ¥³¥á¥ó¥È ¹½Ê¸
-
-@strong{MySQL} ¤Ï @code{# ¹ÔËö¤Þ¤Ç} , @code{-- ¹ÔËö¤Þ¤Ç} ¤½¤·¤Æ @code{/*
-¹ÔÃæ¤Þ¤¿¤ÏÊ£¿ô¹Ô */} ¥³¥á¥ó¥È½ñ¼°¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹:
-
-@example
-mysql> select 1+1; # ¤³¤Î¥³¥á¥ó¥È¤Ï¹ÔËö¤Þ¤Ç³¤¯
-mysql> select 1+1; -- ¤³¤Î¥³¥á¥ó¥È¤Ï¹ÔËö¤Þ¤Ç³¤¯
-mysql> select 1 /* ¤³¤ì¤Ï¹ÔÃ楳¥á¥ó¥È */ + 1;
-mysql> select 1+
-/*
-¤³¤ì¤Ï
-Ê£¿ô¹Ô¥³¥á¥ó¥È
-*/
-1;
-@end example
-
-@code{--} ¥³¥á¥ó¥È¥¹¥¿¥¤¥ë¤Ï @code{--} ¤Î¸å¤í¤ËºÇÄã°ì¤Ä¤Î¥¹¥Ú¡¼¥¹¤¬
-ɬÍפǤ¢¤ë¤³¤È¤ËÃí°Õ¡ª
-
-¥µ¡¼¥Ð¡¼¤Ï¥³¥á¥ó¥È¹½Ê¸¤òÍý²ò¤·¤Þ¤¹¤¬¡¢ @code{mysql} ¥¯¥é¥¤¥¢¥ó¥È¤¬
- @code{/* ... */} ¥³¥á¥ó¥È¤òʬÀϤ¹¤ë¤Ë¤Ï¤¤¤¯¤Ä¤«À©¸Â¤¬¤¢¤ê¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¥·¥ó¥°¥ë¥¯¥¦¥©¡¼¥È¤È¥À¥Ö¥ë¥¯¥ª¡¼¥Èʸ»ú¤Ï°úÍÑʸ»úÎó¤Î¥È¡¼¥¯¥ó¤Î³«»Ï¤ò
-¼¨¤·¤Þ¤¹¡£¤¿¤È¤¨¥³¥á¥ó¥È¤ÎÃæ¤Ç¤¢¤Ã¤Æ¤â¡£
-¤â¤·¥³¥á¥ó¥È¤ÎÃæ¤Ç¥¯¥ª¡¼¥È¤¬Æó¤ÄÌܤΥ¯¥ª¡¼¥È¤Ë¥Þ¥Ã¥Á¤·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-¥Ñ¡¼¥µ¡¼¤Ï¥³¥á¥ó¥È¤¬½ªÎ»¤·¤Æ¤¤¤Ê¤¤¤Èǧ¼±¤·¤Þ¤¹¡£
-@code{mysql} ¤òÂÐÏå⡼¥É¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¡¢
-¥×¥í¥ó¥×¥È¤¬ @code{mysql>} ¤«¤é @code{'>} ¤« @code{">} ¤ËÊѤï¤ê¤Þ¤¹¡£
-
-@item
-¥»¥ß¥³¥í¥ó¤Ï SQL ¹½Ê¸¤Î½ªÎ»¤ò¼¨¤·¡¢¤³¤ì¤Ë³¤¯Ê¸»ú¤Ï¼¡¤Î¹½Ê¸¤Î³«»Ï¤È
-¤Ê¤ê¤Þ¤¹¡£
-@end itemize
-
-¤³¤ì¤é¤ÎÀ©¸Â¤Ï @code{mysql} ¤òÂÐÏå⡼¥É¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤È¡¢
-@code{mysql} ¤Ë¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤Þ¤»¤Æ¤¤¤ë¾ì¹ç ( @code{mysql < some-file} ) ¤Î
-ξÊý¤Ç¸½¤ì¤Þ¤¹¡£
-
-@strong{MySQL} ¤Ï ANSI SQL ¥³¥á¥ó¥È¤Î @samp{--} ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£
-@xref{Missing comments}.
-
-
-@findex CREATE FUNCTION
-@findex DROP FUNCTION
-@findex UDF functions
-@findex User-defined functions
-@findex Functions, user-defined
-@node CREATE FUNCTION, Reserved words, Comments, Reference
-@section @code{CREATE FUNCTION/DROP FUNCTION} ¹½Ê¸
-
-@example
-CREATE [AGGREGATE] FUNCTION function_name RETURNS @{STRING|REAL|INTEGER@}
- SONAME shared_library_name
-
-DROP FUNCTION function_name
-@end example
-
-¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô (UDF : user-definable functions) ¤Ï
- @strong{MySQL} ¤Ë¿·¤·¤¤´Ø¿ô¤ò»ý¤¿¤»¤ì¤ë³ÈÄ¥ÊýË¡¤Ç¤¹¡£
-¤³¤ì¤Ï @strong{MySQL} ¤Î¥Í¥¤¥Æ¥£¥Ö(Ëä¤á¹þ¤ß)´Ø¿ô
-(@code{ABS()}, @code{CONCAT()} ¤Î¤è¤¦¤Ê)¤ÈƱ¤¸¤è¤¦¤ËÆ°ºî¤·¤Þ¤¹¡£
-
-@code{AGGREGATE} ¤Ï @strong{MySQL} 3.23 ¤Î¿·¤·¤¤¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
-@code{AGGREGATE} ´Ø¿ô¤Ï¡¢@code{SUM} ¤ä @code{COUNT()} ¤Î¤è¤¦¤Ê¥Í¥¤¥Æ¥£¥Ö¤Ê
-@strong{MySQL} @code{GROUP} ´Ø¿ô¤Î¤è¤¦¤ËÀµ³Î¤ËÆ°ºî¤·¤Þ¤¹¡£
-
-@code{CREATE FUNCTION} ¤Ï¡¢´Ø¿ô̾¡¢·¿¡¢¶¦Í­¥é¥¤¥Ö¥é¥ê̾¤ò¡¢
-@code{mysql.func} ¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ë¤Ë¡¢Êݸ¤·¤Þ¤¹¡£
-´Ø¿ô¤ÎºîÀ®¡¢ÇË´þ¤ò¹Ô¤¦¤Ë¤Ï¡¢ @code{mysql} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ·¤Æ¡¢
- @strong{insert} , @code{delete} ¸¢¸Â¤¬¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-Á´¤Æ¤Î´Ø¿ô¤Ï¥µ¡¼¥Ð¡¼¤Îµ¯Æ°»þ¤ËÆɤ߹þ¤Þ¤ì¤Þ¤¹¡£
-¤¿¤À¤· @code{--skip-grant-tables} ¥ª¥×¥·¥ç¥ó¤ò @code{mysqld} ¤Ë¤Ä¤±¤Æ¤¤¤Ê¤±¤ì¤Ð¡£
-¤³¤Î¾ì¹ç¡¢UDF ¤Î½é´ü²½¤ÏÈô¤Ð¤µ¤ì¡¢UDF ¤Çºî¤Ã¤¿´Ø¿ô¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£
-(´Ø¿ô¤Ï @code{CREATE FUNCTION} ¤Ç¥í¡¼¥É¤µ¤ì¡¢ @code{DROP FUNCTION} ¤Çºï½ü¤µ¤ì¤Þ¤¹)
-
-¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô¤Ë´Ø¤¹¤ë¤µ¤é¤Ê¤ë¾ðÊó¤Ï ¢ª @ref{Adding functions}.
-UDF ¥á¥«¥Ë¥º¥à¤ÇÆ°¤«¤¹¤¿¤á¤Ë¤Ï¡¢´Ø¿ô¤Ï C ¤« C++ ¤Ç½ñ¤«¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤«¤Ä¡¢¤¢¤Ê¤¿¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬¥À¥¤¥Ê¥ß¥Ã¥¯¥í¡¼¥Ç¥£¥ó¥°¤ò
-¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤µ¤é¤Ë @code{mysqld} ¤Ï¥¹¥¿¥Æ¥£¥Ã¥¯¤Ç¤Ï¤Ê¤¯
-¥À¥¤¥Ê¥ß¥Ã¥¯¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-@cindex Keywords
-@cindex Reserved words
-@cindex Reserved words, exceptions
-@node Reserved words, , CREATE FUNCTION, Reference
-@section Is @strong{MySQL} picky about reserved words?
-
-¶¦Ä̤ÎÌäÂê¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Î̾Á°¤ò¡¢ @code{TIMESTAMP} ¤È¤« @code{GROUP} ¤È¤«¤Î
- @strong{MySQL} ¤ËËä¤á¹þ¤Þ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿·¿¤ä´Ø¿ô̾¤ÈƱ̾¤Ë¤·¤Æ¡¢
-¥Æ¡¼¥Ö¥ë¤òºî¤Ã¤¿¾ì¹ç¤Ëµ¯¤³¤ê¤Þ¤¹¡£
-¤³¤Î¤è¤¦¤Ê¤³¤È¤Ï¹Ô¤¨¤Þ¤¹(Î㤨¤Ð @code{ABS} ¤Ï¥Õ¥£¡¼¥ë¥É̾¤Ë¤Ç¤­¤Þ¤¹)¡£
-¤·¤«¤·¡¢´Ø¿ô¤È¤·¤Æ»ÈÍѤ¹¤ë¾ì¹ç¡¢
-¤³¤Î̾Á°¤¬¥Õ¥£¡¼¥ë¥É̾¤È¤·¤Æ»ÈÍѤµ¤ì¤Æ¤¤¤ë¤Ê¤é¡¢
-´Ø¿ô̾¤È @samp{(} ¤Î´Ö¤Î¶õÇò¤Ïµö¤µ¤ì¤Þ¤»¤ó¡£
-
-°Ê²¼¤Î¸ì¤Ï @strong{MySQL} ¤ËͽÌ󤵤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤é¤Î¤Û¤È¤ó¤É¤Ï¡¢ ANSI SQL92 ¤Ë¤è¤Ã¤Æ¡¢
-¥Æ¡¼¥Ö¥ë¡¢¥Õ¥£¡¼¥ë¥É̾¤È¤·¤Æ¤Î»ÈÍѤ϶ػߤµ¤ì¤Æ¤¤¤Þ¤¹¡£(Î㤨¤Ð @code{group})¡£
-¤Þ¤¿¤¤¤¯¤Ä¤«¤Î¸ì¤Ï @strong{MySQL} ¤¬É¬ÍפȤ·¡¢ @code{yacc} ¥Ñ¡¼¥µ¡¼¤Ç
-»ÈÍѤ·¤Æ¤¤¤ë¤Î¤ÇͽÌ󤵤ì¤Æ¤¤¤Þ¤¹¡£
-
-@c This is fixed by including the symbols table from lex.h here and then running
-@c fix-mysql-reserved-words in emacs (or let David do it):
-@c (defun fix-mysql-reserved-words ()
-@c (interactive)
-@c (let ((cnt 0))
-@c (insert "\n@item ")
-@c (while (looking-at "[ \t]*{ +\"\\([^\"]+\\)\"[ \t]*,.*\n")
-@c (replace-match "@code{\\1}")
-@c (incf cnt)
-@c (if (> cnt 3)
-@c (progn
-@c (setf cnt 0)
-@c (insert "\n@item "))
-@c (insert " @tab ")))))
-@c But remove the non alphanumeric entries by hand first.
-@c Updated after 3.23.4 990928 by David
-
-@multitable @columnfractions .25 .25 .25 .25
-@item @code{action} @tab @code{add} @tab @code{aggregate} @tab @code{all}
-@item @code{alter} @tab @code{after} @tab @code{and} @tab @code{as}
-@item @code{asc} @tab @code{avg} @tab @code{avg_row_length} @tab @code{auto_increment}
-@item @code{between} @tab @code{bigint} @tab @code{bit} @tab @code{binary}
-@item @code{blob} @tab @code{bool} @tab @code{both} @tab @code{by}
-@item @code{cascade} @tab @code{case} @tab @code{char} @tab @code{character}
-@item @code{change} @tab @code{check} @tab @code{checksum} @tab @code{column}
-@item @code{columns} @tab @code{comment} @tab @code{constraint} @tab @code{create}
-@item @code{cross} @tab @code{current_date} @tab @code{current_time} @tab @code{current_timestamp}
-@item @code{data} @tab @code{database} @tab @code{databases} @tab @code{date}
-@item @code{datetime} @tab @code{day} @tab @code{day_hour} @tab @code{day_minute}
-@item @code{day_second} @tab @code{dayofmonth} @tab @code{dayofweek} @tab @code{dayofyear}
-@item @code{dec} @tab @code{decimal} @tab @code{default} @tab @code{delayed}
-@item @code{delay_key_write} @tab @code{delete} @tab @code{desc} @tab @code{describe}
-@item @code{distinct} @tab @code{distinctrow} @tab @code{double} @tab @code{drop}
-@item @code{end} @tab @code{else} @tab @code{escape} @tab @code{escaped}
-@item @code{enclosed} @tab @code{enum} @tab @code{explain} @tab @code{exists}
-@item @code{fields} @tab @code{file} @tab @code{first} @tab @code{float}
-@item @code{float4} @tab @code{float8} @tab @code{flush} @tab @code{foreign}
-@item @code{from} @tab @code{for} @tab @code{full} @tab @code{function}
-@item @code{global} @tab @code{grant} @tab @code{grants} @tab @code{group}
-@item @code{having} @tab @code{heap} @tab @code{high_priority} @tab @code{hour}
-@item @code{hour_minute} @tab @code{hour_second} @tab @code{hosts} @tab @code{identified}
-@item @code{ignore} @tab @code{in} @tab @code{index} @tab @code{infile}
-@item @code{inner} @tab @code{insert} @tab @code{insert_id} @tab @code{int}
-@item @code{integer} @tab @code{interval} @tab @code{int1} @tab @code{int2}
-@item @code{int3} @tab @code{int4} @tab @code{int8} @tab @code{into}
-@item @code{if} @tab @code{is} @tab @code{isam} @tab @code{join}
-@item @code{key} @tab @code{keys} @tab @code{kill} @tab @code{last_insert_id}
-@item @code{leading} @tab @code{left} @tab @code{length} @tab @code{like}
-@item @code{lines} @tab @code{limit} @tab @code{load} @tab @code{local}
-@item @code{lock} @tab @code{logs} @tab @code{long} @tab @code{longblob}
-@item @code{longtext} @tab @code{low_priority} @tab @code{max} @tab @code{max_rows}
-@item @code{match} @tab @code{mediumblob} @tab @code{mediumtext} @tab @code{mediumint}
-@item @code{middleint} @tab @code{min_rows} @tab @code{minute} @tab @code{minute_second}
-@item @code{modify} @tab @code{month} @tab @code{monthname} @tab @code{myisam}
-@item @code{natural} @tab @code{numeric} @tab @code{no} @tab @code{not}
-@item @code{null} @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{pack_keys} @tab @code{partial} @tab @code{password}
-@item @code{precision} @tab @code{primary} @tab @code{procedure} @tab @code{process}
-@item @code{processlist} @tab @code{privileges} @tab @code{read} @tab @code{real}
-@item @code{references} @tab @code{reload} @tab @code{regexp} @tab @code{rename}
-@item @code{replace} @tab @code{restrict} @tab @code{returns} @tab @code{revoke}
-@item @code{rlike} @tab @code{row} @tab @code{rows} @tab @code{second}
-@item @code{select} @tab @code{set} @tab @code{show} @tab @code{shutdown}
-@item @code{smallint} @tab @code{soname} @tab @code{sql_big_tables} @tab @code{sql_big_selects}
-@item @code{sql_low_priority_updates} @tab @code{sql_log_off} @tab @code{sql_log_update} @tab @code{sql_select_limit}
-@item @code{sql_small_result} @tab @code{sql_big_result} @tab @code{sql_warnings} @tab @code{straight_join}
-@item @code{starting} @tab @code{status} @tab @code{string} @tab @code{table}
-@item @code{tables} @tab @code{temporary} @tab @code{terminated} @tab @code{text}
-@item @code{then} @tab @code{time} @tab @code{timestamp} @tab @code{tinyblob}
-@item @code{tinytext} @tab @code{tinyint} @tab @code{trailing} @tab @code{to}
-@item @code{type} @tab @code{use} @tab @code{using} @tab @code{unique}
-@item @code{unlock} @tab @code{unsigned} @tab @code{update} @tab @code{usage}
-@item @code{values} @tab @code{varchar} @tab @code{variables} @tab @code{varying}
-@item @code{varbinary} @tab @code{with} @tab @code{write} @tab @code{when}
-@item @code{where} @tab @code{year} @tab @code{year_month} @tab @code{zerofill}
-@end multitable
-
-°Ê²¼¤Ï ANSI SQL ¤Ç¤Ï¥Õ¥£¡¼¥ë¥É¡¢¥Æ¡¼¥Ö¥ë̾¤È¤·¤Æ¤Î»ÈÍѤò¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢
- @strong{MySQL} ¤Ç¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢¤³¤ì¤é¤Î̾Á°¤ÏÀ¨¤¯¼«Á³¤Ê̾Á°¤Ç¡¢Â¿¤¯¤Î¿Í¤¬¤³¤ì¤é¤ò´û¤Ë̾Á°¤È¤·¤Æ
-»ÈÍѤ·¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£
-
-@itemize @bullet
-@item @code{ACTION}
-@item @code{BIT}
-@item @code{DATE}
-@item @code{ENUM}
-@item @code{NO}
-@item @code{TEXT}
-@item @code{TIME}
-@item @code{TIMESTAMP}
-@end itemize
-
-@cindex Table types, Choosing
-@cindex BDB table type
-@cindex Berkeley_db table type
-@cindex ISAM table type
-@cindex HEAP table type
-@cindex MySQL table types
-@cindex MyISAM table type
-@node Table types, Tutorial, Reference, Top
-@chapter MySQL table types
-
-With MySQL you can currently (version 3.23.6) choose between three basic
-table formats. When you create a new table, you can tell @strong{MySQL}
-which table type it should use for the table. @strong{MySQL} will
-always create a @code{.frm} file to hold the table and column
-definitions. Depending on the table type the index and data will be
-stored in other files.
-
-The default table type in @strong{MySQL} is @code{MyISAM}. If you are
-trying to use a table type that is not incompiled or activated,
-@strong{MySQL} will instead create a table of type @code{MyISAM}.
-
-@code{ALTER TABLE} ʸ¤ò»ÈÍѤ¹¤ì¤Ð¡¢¥Æ¡¼¥Ö¥ë¤ò°ã¤¦·Á¼°¤ËÊѹ¹¤Ç¤­¤Þ¤¹¡£
-@xref{ALTER TABLE, , @code{ALTER TABLE}}.
-
-Note that @strong{MySQL} supports two different kind of
-tables. Transactions safe tables (@code{BDB}) and not transaction safe
-tables (@code{ISAM},@code{MyISAM} and @code{HEAP}.
-
-Advantages of transaction safe tables (TST)
-
-@itemize @bullet
-@item
-Safer; Even if @code{MySQL} crashes or you get hardware problems, you
-can get your data back; Either by automatic recovery or from a backup
-+ the transaction log.
-@item
-You can combine many statements and accept these all in one go with
-the @code{COMMIT} command.
-@item
-You can execute @code{ROLLBACK} to ignore your changes (if you are not
-running in auto commit mode).
-@item
-If an update fails, all your changes will be restored. (With NTST tables all
-changes that has taken place are permanent)
-@end itemize
-
-Advantages of not transaction safe tables (NTST):
-
-@itemize @bullet
-@item
-Much faster as there is no transcation overhead.
-@item
-Will use less disk space as there is no overhead of transactions.
-@item
-Will use less memory to do updates.
-@end itemize
-
-You can combine TST and NTST tables in the same statements to get the best
-of both worlds.
-
-@menu
-* MyISAM:: MyISAM tables
-* ISAM:: ISAM tables
-* HEAP:: HEAP tables
-* BDB::
-@end menu
-
-@node MyISAM, ISAM, Table types, Table types
-@section MyISAM tables
-
-@code{MyISAM} ¤Ï¡¢@strong{MySQL} 3.23 ¤Ç¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥Æ¡¼¥Ö¥ë·Á¼°¤Ç¤¹¡¥
-¤³¤ì¤Ï @code{ISAM} ¥³¡¼¥É¤ò´ð¤Ë¤·¡¢Â¿¤¯¤ÎÊØÍø¤Ê³ÈÄ¥µ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
-
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï @code{.MYI} (MYindex) ³ÈÄ¥»Ò¤Î¤Ä¤¯¥Õ¥¡¥¤¥ë¤ËÊݸ¤µ¤ì¡¢
-¥Ç¡¼¥¿¤Ï¡¢ @code{.MYD} (MYData) ³ÈÄ¥»Ò¤Î¤Ä¤¯¥Õ¥¡¥¤¥ë¤ËÊݸ¤µ¤ì¤Þ¤¹¡£
-@code{myisamchk} ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»ÈÍѤ·¤Æ¡¢ @code{MyISAM} ¥Æ¡¼¥Ö¥ë¤Î
-¸¡ºº¡¦½¤Éü¤¬²Äǽ¤Ç¤¹¡£ @xref{Crash recovery}.
-
-The following is new in @code{MyISAM}:
-
-@itemize @bullet
-@item
-¤¢¤ë¥¹¥ì¥Ã¥É¤¬Æɤ߹þ¤ßÃæ¤Î¥Æ¡¼¥Ö¥ë¤ËÂФ·¡¢°ã¤¦¥¹¥ì¥Ã¥É¤¬
-Ʊ¤¸¥Æ¡¼¥Ö¥ë¤Ë¡¢¿·¤·¤¤¹Ô¤ò @code{INSERT} ¤Ç¤­¤Þ¤¹¡£
-ºï½ü¤Ï¤Ê¤·¤Ç
-You can @code{INSERT} new rows in a table without deleted rows,
-while other threads are reading from the table.
-@item
-Âç¥Õ¥¡¥¤¥ë (63 bit) ¤Î¥µ¥Ý¡¼¥È¡£
-¤¿¤À¤·¡¢filesystems/operating systems ¤¬µðÂç¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¾ì¹ç¡£
-@item
-Á´¥Ç¡¼¥¿¤Ï¡¢²¼°Ì¥Ð¥¤¥È¤¬Àè¤Ë¤«¤«¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢¥Ç¡¼¥¿¤ò¡¢¥Þ¥·¥ó¡¦OS
-Èó°Í¸¤Ë¤·¤Þ¤·¤¿¡£
-The only requirement is that the machine uses two's-complement
-signed integers (as every machine for the last 20 years has)
-and IEEE floating point format (also totally dominant among mainstream
-machines). The only area of machines that may not support binary
-compatibility are embedded systems (because they sometimes have peculiar
-processors).
-@item
-Á´¿ôÃÍ¥­¡¼¤Ï¹â°Ì¥Ð¥¤¥È¤¬Àè¤Ë½ñ¤«¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î°µ½ÌΨ¤ò
-Îɤ¯¤·¤Þ¤¹¡£
-@item
-Internal handling of one @code{AUTO_INCREMENT} column. @code{MyISAM}
-will automatically update this on @code{INSERT/UPDATE}. The
-@code{AUTO_INCREMENT} value can be reset with @code{myisamchk}. This
-will make @code{AUTO_INCREMENT} columns faster (at least 10 %) and old
-numbers will not be reused as with the old ISAM. Note that when a
-@code{AUTO_INCREMENT} is defined on the end of a multi-part-key the old
-behavior is still present.
-@item
-When inserted in sorted order (as when you are using an @code{AUTO_INCREMENT}
-column) the key tree will be split so that the high node only contains one
-key. This will improve the space utilization in the key tree.
-@item
-@code{BLOB} ¤È @code{TEXT} ¥Õ¥£¡¼¥ë¥É¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬Ä¥¤ì¤Þ¤¹
-@item
-@code{NULL} Ãͤò¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÄ¥¤é¤ì¤¿¥Õ¥£¡¼¥ë¥É¤Ëµö¤·¤Þ¤¹¡¥ This takes 0-1
-bytes/key.
-@item
-¸½ºß¡¢¥­¡¼¤ÎºÇÂçĹ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç 500 ¤Ç¤¹¡£ In cases of keys longer
-than 250 bytes, a bigger key block size than the default of 1024 bytes
-is used for this key.
-@item
-Maximum number of keys/table enlarged to 32 as default. This can be
-enlarged to 64 without having to recompile @code{myisamchk}.
-@item
-There is a flag in the @code{MyISAM} file that indicates whether or not the
-table was closed correctly. This will soon be used for automatic repair
-in the @strong{MySQL} server.
-@item
-@code{myisamchk} will mark tables as checked if one runs it with
-@code{--update-state}. @code{myisamchk --fast} will only check those
-tables that don't have this mark.
-@item
-@code{myisamchk -a} stores statistics for key parts (and not only for
-whole keys as in @code{ISAM}).
-@item
-Dynamic size rows will now be much less fragmented when mixing deletes
-with updates and inserts. This is done by automatically combining adjacent
-deleted blocks and by extending blocks if the next block is deleted.
-@item
-@code{myisampack} ¤Ï @code{BLOB} ¤È @code{VARCHAR} ¥Õ¥£¡¼¥ë¥É¤ò¥Ñ¥Ã¥¯¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-@end itemize
-
-@code{MyISAM} also supports the following things, which @strong{MySQL}
-will be able to use in the near future.
-
-@itemize @bullet
-@item
-Support for a true @code{VARCHAR} type; A @code{VARCHAR} column starts
-with a length stored in 2 bytes.
-@item
-Tables with @code{VARCHAR} may have fixed or dynamic record length.
-@item
-@code{VARCHAR} and @code{CHAR} may be up to 64K.
-All key segments have their own language definition. This will enable
-@strong{MySQL} to have different language definitions per column.
-@item
-A hashed computed index can be used for @code{UNIQUE}; This will allow
-you to have @code{UNIQUE} on any combination of columns in a table. (You
-can't search on a @code{UNIQUE} computed index, however.)
-@end itemize
-
-@menu
-* Key space:: Space needed for keys
-* MyISAM table formats::
-@end menu
-
-@node Key space, MyISAM table formats, MyISAM, MyISAM
-@subsection Space needed for keys
-
-@strong{MySQL} can support different index types, but the normal type is
-ISAM or MyISAM. These use a B-tree index and you can roughly calculate
-the size for the index file as @code{(key_length+4)/0.67}, summed over
-all keys. (This is for the worst case when all keys are inserted in
-sorted order and we don't have any compressed keys.)
-
-String indexes are space compressed. If the first index part is a
-string, it will also be prefix compressed. Space compression makes the
-index file smaller than the above figures if the string column has a lot
-of trailing space or is a @code{VARCHAR} column that is not always used
-to the full length. Prefix compression is used on keys that start
-with a string. Prefix compression helps if there are many strings
-with an identical prefix.
-
-In @code{MyISAM} tables, you can also prefix compress numbers by specifying
-@code{PACK_KEYS=1} when you create the table. This helps when you have
-many integer keys which have an identical prefix when the numbers are stored
-high-byte first.
-
-@node MyISAM table formats, , Key space, MyISAM
-@subsection MyISAM table formats
-
-@strong{MyISAM} supports 3 different table types. 2 of them are chosen
-automatically depending on the type of columns you are using. The third,
-compressed tables, can only be created with the @code{myisampack} tool.
-
-@menu
-* Static format:: Static (Fixed-length) table characteristics
-* Dynamic format:: Dynamic table characteristics
-* Compressed format:: Compressed table characteristics
-@end menu
-
-@node Static format, Dynamic format, MyISAM table formats, MyISAM table formats
-@subsubsection Static (Fixed-length) table characteristics
-
-This is the default format. It's used when the table contains no
-@code{VARCHAR}, @code{BLOB} or @code{TEXT} columns.
-
-¤³¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¢ºÇ¤âñ½ã¡¢¤«¤Ä¡¢°ÂÁ´¤Ê¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤¹¡£
-¤³¤ì¤Ï, Disk ¾å¤Ëºî¤é¤ì¤ë¥Æ¡¼¥Ö¥ë¤ÎÃæ¤Ç¡¢ºÇ¤â®¤¤¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤â¤¢¤ê¤Þ¤¹¡£
-¤³¤ì¤Ï¥Ç¥£¥¹¥¯¾å¤Î¥Ç¡¼¥¿¤ò¸«¤Ä¤±¤ä¤¹¤¤¤«¤é¤Ç¤¹¡£
-When looking up something with an index and static
-format it is very simple, just multiply the row number with the row length.
-
-Also when scanning a table it is very easy to read a constant number of
-records with each disk read.
-
-°ÂÁ´¡¢¤È¤¤¤¦¤Î¤Ï¡¢¼¡¤ÎÍͤʤ³¤È¤Ç¤¹¡£
-¤â¤·²¾¤Ë¡¢ÀÅŪ(¸ÇÄêĹ) MyISAM ¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤ßÃæ¤Ë¡¢
-¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¤¬¥¯¥é¥Ã¥·¥å¤·¤¿¾ì¹ç¡¢
-@code{myisamchk} ¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥ì¥³¡¼¥É¤Î³«»ÏÅÀ¤È½ªÎ»ÅÀ¤ò°Â°×¤Ë¸«¤Ä¤±¤ë¤³¤È¤¬½Ð
-Íè¤Þ¤¹¡£
-So it can usually reclaim all records except the
-partially written one.
-MySQL ¤Ç¤Ï¡¢¾ï¤Ë¡¢Á´¤Æ¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬ºÆ¹½ÃۤǤ­¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@itemize @bullet
-@item
-Á´¤Æ¤Î @code{CHAR}, @code{NUMERIC}, @code{DECIMAL} ¥Õ¥£¡¼¥ë¥É¤Ï¡¢¤½¤Î¥Õ¥£¡¼¥ë¥É
-Ť˭¤ê¤Ê¤¤Éôʬ¤Ë¤Ï¥¹¥Ú¡¼¥¹¤¬Ëä¤á¤é¤ì¤Þ¤¹¡£
-@item
-¤È¤Æ¤â®¤¤
-@item
-¥­¥ã¥Ã¥·¥å¤·¤ä¤¹¤¤¡£
-@item
-¥¯¥é¥Ã¥·¥å¤Î¸åºÆ¹½ÃÛ¤·¤ä¤¹¤¤¡£¤Ê¤¼¤Ê¤é¥ì¥³¡¼¥É¤¬¸ÇÄꤵ¤ì¤¿°ÌÃ֤˳ä¤êÅö¤Æ¤é¤ì¤Æ¤¤
-¤ë¤«¤é¡£
-@item
-Doesn't have to be reorganized (with @code{myisamchk}) unless a huge number of
-records are deleted and you want to return free disk space to the operating
-system.
-@item
-Ä̾ưŪ¥Æ¡¼¥Ö¥ë¤è¤ê¤â¿¤¯¤Î¥Ç¥£¥¹¥¯ÍÆÎ̤¬É¬Íס£
-@end itemize
-
-@node Dynamic format, Compressed format, Static format, MyISAM table formats
-@subsubsection Dynamic table characteristics
-
-This format is used if the table contains any @code{VARCHAR}, @code{BLOB}
-or @code{TEXT} columns or if the table was created with
-@code{ROW_FORMAT=dynamic}.
-
-¤³¤Î·Á¼°¤Ï¾¯¤·Ê£»¨¤Ç¤¹¡£ ¤Ê¤¼¤Ê¤é¤½¤ì¤¾¤ì¤Î¥ì¥³¡¼¥É¤¬¡¢¥ì¥³¡¼¥É¤¬¤É¤Î¤°¤é¤¤¤Î
-Ťµ¤ò»ý¤Ã¤Æ¤¤¤ë¤«¤òµ­Ï¿¤¹¤ë¥Ø¥Ã¥À¡¼¤ò»ý¤Ã¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£
-One record can also end up at more than one
-location when it is made longer at an update.
-
-@code{OPTIMIZE table} ¤« @code{myisamchk} ¤ò»ÈÍѤ·¤Æ¡¢¥Æ¡¼¥Ö¥ë¤Î
-¥Õ¥é¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ò½¤Àµ¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-If you have static data that you access/change a lot in the same
-table as some @code{VARCHAR} or @code{BLOB} columns, it might be a good
-idea to move the dynamic columns to other tables just to avoid
-fragmentation.
-
-@itemize @bullet
-@item
-Á´¤Æ¤Îʸ»ú¥Õ¥£¡¼¥ë¥É¤¬Æ°Åª¤Ë¤Ê¤ê¤Þ¤¹¡Ê¤¿¤À¤·4byte¤è¤êû¤¤Êª¤Ï½ü¤­¤Þ¤¹¡Ë
-@item
-¤½¤ì¤¾¤ì¤Î¥ì¥³¡¼¥É¤ÎÀèƬ¤Ë¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Î¾õÂÖ¤òɽ¤¹¥Ó¥Ã¥È¡¦¥Þ¥Ã¥×¤¬¤­¤Þ¤¹¡£
-¤³¤Î¥Ó¥Ã¥È¤Ï¡¢¤É¤Îʸ»ú·¿¥Õ¥£¡¼¥ë¥É¤¬¶õʸ»ú(@code{''})¤Ê¤Î¤«¡¢
-¤É¤Î¿ôÃÍ¥Õ¥£¡¼¥ë¥É¤¬¥¼¥í¤Ê¤Î¤«¤ò¼¨¤·¤Þ¤¹¡£
-(¤³¤ì¤Ï¥Õ¥£¡¼¥ë¥É¤ÎÃͤ¬ @code{NULL} ÃͤȤϰ㤤¤Þ¤¹)¡£
-¤â¤·¡¢Ê¸»ú·¿¥Õ¥£¡¼¥ë¥É¤Îʸ»úÎó¤ÎŤµ(¸å¤Ë³¤¯¶õÇò¤Ï¼è¤ê½ü¤«¤ì¤ë)¤¬ ¥¼¥í ¤Ç
-¤¢¤Ã¤¿¤ê¡¢¤¢¤ë¤¤¤Ï¡¢¿ôÃÍ¥Õ¥£¡¼¥ë¥É¤ÎÃͤ¬ ¥¼¥í ¤Ç¤¢¤Ã¤¿¾ì¹ç¤Ï¡¢
-¤½¤Î¥Õ¥£¡¼¥ë¥É¤Ï¥Ó¥Ã¥È¡¦¥Þ¥Ã¥×¤Ë¥Þ¡¼¥¯¤µ¤ì¡¢Ãͤϥǥ£¥¹¥¯¤Ë¤ÏÊݸ¤µ¤ì¤Þ¤»¤ó¡£
-¶õʸ»ú¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ï¡¢Ê¸»úÎó¤Î¥Ð¥¤¥È¿ô¤¬¥Ó¥Ã¥È¡¦¥Þ¥Ã¥×¤Ëµ­Ï¿¤µ¤ì¡¢
-ʸ»úÎ󼫿Ȥ¬¥Õ¥£¡¼¥ë¥É¤ËÊݸ¤µ¤ì¤Þ¤¹¡£
-@item
-Ä̾¸ÇÄêĹ¤Î¥Æ¡¼¥Ö¥ë¤è¤ê¤â¾¯¤Ê¤¤¥Ç¥£¥¹¥¯ÍÆÎ̤Ǥ¹¤ß¤Þ¤¹
-@item
-¤½¤ì¤¾¤ì¤Î¥ì¥³¡¼¥É¤Ï¡¢Í׵ᤵ¤ì¤¿¤À¤±¤Î¥¹¥Ú¡¼¥¹¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤â¤·¤¢¤ë¥ì¥³¡¼¥É¤¬Â礭¤¯¤Ê¤ë¤È¡¢Í׵ᤵ¤ì¤¿Ê¬¡¢¤½¤ì¤ò¿¤¯¤ÎÃÇÊÒ¤Ëʬ¤±¤Þ¤¹¡£
-¤³¤Î·ë²Ì¡¢¥ì¥³¡¼¥É¤Î¥Õ¥é¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó¤¬È¯À¸¤·¤Þ¤¹¡£
-@item
-If you update a row with information that extends the row length, the
-row will be fragmented. In this case, you may have to run @code{myisamchk
--r} from time to time to get better performance. Use @code{myisamchk -ei
-tbl_name} for some statistics.
-@item
-Not as easy to reconstruct after a crash, because a record may be fragmented
-into many pieces and a link (fragment) may be missing.
-@item
-´üÂÔ¤µ¤ì¤ë¥ì¥³¡¼¥É¤ÎŤµ¤Ï¡§
-
-@example
-3
-+ (¥Õ¥£¡¼¥ë¥É¿ô + 7) / 8
-+ (char ¥Õ¥£¡¼¥ë¥É¤Î¿ô)
-+ ¿ôÃÍ¥Õ¥£¡¼¥ë¥É¤ò¥Ñ¥Ã¥¯¤·¤¿¥µ¥¤¥º
-+ ʸ»ú¤ÎŤµ
-+ (NULL ¥Õ¥£¡¼¥ë¥É¤Î¿ô + 7) / 8
-@end example
-
-There is a penalty of 6 bytes for each link. A dynamic record is linked
-whenever an update causes an enlargement of the record. Each new link will be
-at least 20 bytes, so the next enlargement will probably go in the same link.
-If not, there will be another link. You may check how many links there are
-with @code{myisamchk -ed}. All links may be removed with @code{myisamchk -r}.
-@end itemize
-
-@node Compressed format, , Dynamic format, MyISAM table formats
-@subsubsection Compressed table characteristics
-
-¤³¤ì¤ÏÆɤ߹þ¤ßÀìÍѤη¿¤Ç¡¢¥ª¥×¥·¥ç¥ó¥Ä¡¼¥ë¤Î @code{myisampack} ¤ÇºîÀ®¤µ¤ì¤Þ¤¹¡£
-(@code{pack_isam} for @code{ISAM} tables).
-
-@code{myisampack} and @code{pack_isam} are available to all customers
-that have bought a @strong{MySQL} license or @code{MySQL} support
-for their internal use.
-
-@itemize @bullet
-@item
-The uncompress code exists in all @strong{MySQL} distributions so that
-even customers who don't have @code{myisampack} can read tables that
-were compressed with @code{myisampack}
-@item
-Compressed tables takes very little disk space. This minimizes disk usage which
-is very nice when using slow disks (like CD-ROMs).
-@item
-Each record is compressed separately (very little access overhead). The
-header for a record is fixed (1-3 bytes) depending on the biggest record in the
-table. Each column is compressed differently. Some of the compression types
-are:
-@itemize @minus
-@item
-There is usually a different Huffman table for each column.
-@item
-Suffix space compression.
-@item
-Prefix space compression.
-@item
-Numbers with value @code{0} are stored using 1 bit.
-@item
-If values in an integer column have a small range, the column is stored using
-the smallest possible type. For example, a @code{BIGINT} column (8 bytes) may
-be stored as a @code{TINYINT} column (1 byte) if all values are in the range
-@code{0} to @code{255}.
-@item
-If a column has only a small set of possible values, the column type is
-converted to @code{ENUM}.
-@item
-A column may use a combination of the above compressions.
-@end itemize
-@item
-Can handle fixed or dynamic length records, but not @code{BLOB} or @code{TEXT}
-columns.
-@item
-Can be uncompressed with @code{myisamchk}.
-@end itemize
-
-@node ISAM, HEAP, MyISAM, Table types
-@section ISAM tables
-
-You can also use the deprecated ISAM table type. This will disappear
-rather soon because @code{MyISAM} is a better implementation of the same
-thing. 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 file with the
-@code{.ISD} extension. You can check/repair ISAM tables with the
-@code{isamchk} utility. @xref{Crash recovery}.
-
-@code{ISAM} has the following features/properties:
-
-@itemize @bullet
-@item Compressed and fixed length keys
-@item Fixed and dynamic record length
-@item 16 keys with 16 key parts / key
-@item Max key length 256 (default)
-@item Data is stored in machine format; this is fast, but is machine/OS dependent.
-@end itemize
-
-Most of the things for @code{MyISAM} tables are also true for @code{ISAM}
-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 Can't handle tables > 4G.
-@item Only support prefix compression on strings
-@item Smaller key limits.
-@item Dynamic tables gets more fragmented.
-@item Tables are compressed with @code{pack_isam} rather than with @code{myisampack}.
-@end itemize
-
-@node HEAP, BDB, ISAM, Table types
-@section HEAP tables
-
-@code{HEAP} tables use a hashed index and are stored in memory. This
-makes them very fast, but if @strong{MySQL} crashes you will lose all
-data stored in them. @code{HEAP} is very useful as temporary tables!
-
-@strong{MySQL} ÆâÉô HEAP ¥Æ¡¼¥Ö¥ë¤Ï¡¢100% ¥À¥¤¥Ê¥Ã¥ß¥Ã¥¯¡¦¥Ï¥Ã¥·¥ó¥°¤ò
-»ÈÍѤ·¤Æ¤ª¤¤¤Þ¤¹¡Ê¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¥¨¥ê¥¢Ìµ¤·¤Ë¡Ë¡£
-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..
-
-@example
-mysql> CREATE TABLE test TYPE=HEAP SELECT ip,SUM(downloads) as down
- FROM log_table GROUP BY ip;
-mysql> SELECT COUNT(ip),AVG(down) FROM test;
-mysql> DROP TABLE test;
-@end example
-
-Here are some things you should consider when you use @code{HEAP} tables:
-
-@itemize @bullet
-@item
-You should always use specify @code{MAX_ROWS} in the @code{CREATE} statement
-to ensure that you accidently do not use all memory.
-@item
-Indexes will only be used with @code{=} and @code{<=>} (but are VERY fast).
-@item
-@code{HEAP} tables can only use whole keys to search for a row; compare this
-to @code{MyISAM} tables where any prefix of the key can be used to find rows.
-@item
-@code{HEAP} tables use a fixed record length format.
-@item
-@code{HEAP} doesn't support @code{BLOB}/@code{TEXT} columns.
-@item
-@code{HEAP} doesn't support @code{AUTO_INCREMENT} columns.
-@item
-@code{HEAP} doesn't support an index on a @code{NULL} column.
-@item
-You can have non-unique keys in a @code{HEAP} table (this isn't common for
-hashed tables).
-@item
-@code{HEAP} tables are shared between all clients (just like any other
-table).
-@item
-You can't search for the next entry in order (that is to use the index
-to do a @code{ORDER BY}).
-@item
-Data for @code{HEAP} tables are allocated in small blocks. The tables
-are 100% dynamic (on inserting). No overflow areas and no extra key
-space is needed. Deleted rows are put in a linked list and are
-reused when you insert new data into the table.
-@item
-You need enough extra memory for all HEAP tables that you want to use at
-the same time.
-@item
-To free memory, you should execute @code{DELETE FROM heap_table} or
-@code{DROP TABLE heap_table}.
-@item
-@strong{MySQL} cannot find out how approximately many rows there
-are between two values (this is used by the range optimizer to decide which
-index to use). This may affect some queries if you change a @code{MyISAM}
-table to a @code{HEAP} table.
-@item
-To ensure that you accidentally don't do anything stupid, you can't create
-@code{HEAP} tables bigger than @code{max_heap_table_size}.
-@end itemize
-
-Memory needed for one row in a @code{HEAP} table is:
-
-SUM_OVER_ALL_KEYS(max_length_of_key + sizeof(char*)*2) +
-ALIGN(length_of_row+1,sizeof(char*))
-
-@code{sizeof(char*)} is 4 on 32 bit machines and 8 on 64 bit machines.
-
-@node BDB, , HEAP, Table types
-@section BDB or Berkeley_db tables
-
-Berkeley DB (@uref{http://www.sleepycat.com}) has provided @strong{MySQL}
-with a transaction safe table handler. This will survive crashes and
-also provides @code{COMMIT} and @code{ROLLBACK} on transactions. In
-order to build MySQL 3.23.x (BDB support first appeared in 3.23.15) with
-support for @code{BDB} tables, you will need Berkeley DB 3.1.11 or newer
-which can be downloaded from @uref{http://www.mysql.com/download_3.23.html};
-or also from Sleepycat's download page at @uref{http://www.sleepycat.com/download.html}.
-
-Even if Berkeley DB is in itself very tested and reliably, the
-@strong{MySQL} interface is still very alpha, but we are actively
-improving and optimizing it to get it this stable real soon.
-
-If you are running with @code{AUTOCOMMIT=0} then your changes in @code{BDB}
-tables will not be updated until you execute @code{COMMIT}. Instead of commit
-you can execute @code{ROLLBACK} to forget your changes. @xref{COMMIT}.
-
-The following options to @code{mysqld} can be used to change the behavour of
-BDB tables:
-
-@multitable @columnfractions .30 .70
-@item --bdb-home= directory @tab Berkeley home direcory
-item --bdb-lock-detect=# @tab Berkeley lock detect. One of (DEFAULT, OLDEST, RANDOM or YOUNGEST)
-@item --bdb-logdir=directory @tab Berkeley DB log file directory
-@item --bdb-nosync @tab Don't synchronously flush logs
-@item --bdb-recover @tab Start Berkeley DB in recover mode
-@item --bdb-tmpdir=directory @tab Berkeley DB tempfile name
-@item --skip-bdb @tab Don't use berkeley db.
-@end multitable
-
-If you use @code{--skip-bdb}, @strong{MySQL} will not initialize the
-Berkeley DB library and this will save a lot of memory. You can of course
-not use @code{BDB} tables if you are using this option.
-
-Some characteristic of @code{BDB} tables:
-
-@itemize @bullet
-@item
-All @code{BDB} tables must have a primary key.
-@item
-If all columns you access in a @code{BDB} tables is part of the same index or
-part of the the primary key then @strong{MySQL} can execute the query
-without having to access the actual row. In a @code{MyISAM} table the
-above holds only if the columns are part of the same index.
-@item
-@code{LOCK TABLES} works on @code{BDB} tables as with other tables. If
-you don't use @code{LOCK TABLE}, @strong{MYSQL} will issue an internal
-multiple write lock on the table to ensure that the table will be
-properly locked if one another thread issues a table lock.
-@item
-@code{ALTER TABLE} doesn't yet work on @code{BDB} tables.
-@item
-Internal locking in @code{BDB} tables are done on page level.
-@item
-Scanning is slower than with @code{MyISAM} tables as one has data in BDB
-tables is stored in B-trees and not in a separate data file.
-@item
-One must in the application always be prepared to handle the case that
-any change of a @code{BDB} table may make an automatic rollback and any
-read may fail with a deadlock error.
-@item
-Keys are not compressed to previous keys as with ISAM or MyISAM
-tables. In other words, the key information will take a little more
-space in @code{BDB} tables compared to MyISAM tables with don't use
-@code{PACK_KEYS=0}.
-@item
-One must do a @code{FLUSH LOGS} from time to time to sync to get checkpoints
-for the @code{BDB} tables.
-@item
-As transaction logs take more place than ordinary logs it's more important
-to rotate and remove old logs when using @code{BDB} tables than using other table
-types.
-@end itemize
-
-Some things that we have to fix in the near future:
-
-@itemize @bullet
-@item
-Remove the requirement that @code{BDB} tables must have a primary key. This
-will be fixed by having an automatic hidden auto_increment column for
-the tables without a primary key.
-@item
-@code{LOCK TABLES} should work as for other @strong{MySQL} tables.
-@item
-@code{ALTER TABLE} doesn't yet work.
-@item
-@code{SHOW TABLE STATUS} doesn't yet provide that much information for BDB
-tables.
-@end itemize
-
-@node Tutorial, Server, Table types, Top
-@chapter MySQL ¥Á¥å¡¼¥È¥ê¥¢¥ë
-
-@menu
-* Connecting-disconnecting:: Connecting to and disconnecting from the server
-* Entering queries:: Entering queries
-* Examples:: Examples
-* Searching on two keys::
-* Database use:: Creating and using a database
-* Getting information:: Getting information about databases and tables
-* Batch mode:: Using @code{mysql} in batch mode
-* Twin:: Queries from twin project
-@end menu
-
-¤³¤Î¾Ï¤Ç¤Ï¡¢ @code{mysql} ¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤Î»ÈÍѤλÅÊý¤È
-ñ½ã¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºîÀ®¤È»ÈÍѤλÅÊý¤òÎãÂê¤È¤·¤Æ¤È¤ê¾å¤²¤Þ¤¹¡£
-@code{mysql} (``terminal monitor'' ¤ä ``monitor'' ¤È¤·¤Æ»²¾È¤µ¤ì¤Þ¤¹)¤Ï
-@strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËÀܳ¤Ç¤­¤ëÂÐÏå⡼¥É¤Î¥×¥í¥°¥é¥à¤Ç¡¢
-¥¯¥¨¥ê¤Î¼Â¹Ô¤ä·ë²Ì¤Îɽ¼¨¤¬²Äǽ¤Ç¤¹¡£
-@code{mysql} ¤Ï¥Ð¥Ã¥Á¥â¡¼¥É¤â²Äǽ¤Ç¤¹¡§ ¥¯¥¨¥ê¤ò¤Þ¤º¥Õ¥¡¥¤¥ë¤Ë½ñ¤¤¤Æ¤ª¤­¡¢
-¤½¤·¤Æ¤½¤Î¥Õ¥¡¥¤¥ë¤ò @code{mysql} ¤Ë¼Â¹Ô¤µ¤»¤Þ¤¹¡£
-¤É¤Á¤é¤ÎÊýË¡¤Ç¤â @code{mysql} ¤Ï¤³¤Î¾Ï¤ÎÀâÌÀ¤Ç¥«¥Ð¡¼¤µ¤ì¤Þ¤¹¡£
-
-@code{mysql} ¤ÎÄ󶡤¹¤ë¥ª¥×¥·¥ç¥ó¤ò¸«¤ë¤Ë¤Ï¡¢ @code{--help} ¥ª¥×¥·¥ç¥ó¤ò
-¼Â¹Ô¤·¤Þ¤¹¡§
-
-@example
-shell> mysql --help
-@end example
-
-¤³¤Î¾Ï¤Ç¤Ï @code{mysql} ¤¬´û¤Ë¤¢¤Ê¤¿¤Î¥Þ¥·¥ó¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤È¤·¡¢
-¤Þ¤¿ @strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËÀܳ²Äǽ¤Ç¤¢¤ë¤È¤·¤Þ¤¹¡£ ¤â¤·¤½¤¦¤Ç¤Ê¤¤¤Ê¤é¡¢
-¤¢¤Ê¤¿¤Î @strong{MySQL} ´ÉÍý¼Ô¤ËÏ¢Íí¤ò¼è¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-(¤â¤·@emph{¤¢¤Ê¤¿¼«¿È¤¬}´ÉÍý¼Ô¤Ê¤é¡¢¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Î¾¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£)
-
-ËܾϤǤϥǡ¼¥¿¥Ù¡¼¥¹ÀßÄê¤ÎÁ´ÂÎ¤Î¥×¥í¥»¥¹¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î»ÈÍѤˤĤ¤¤Æ½Ò¤Ù¤Þ¤¹¡£
-¤â¤·¤¢¤Ê¤¿¤¬´û¤Ë¸ºß¤·¤Æ¤¤¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¯¥»¥¹¤¹¤ë»ö¤À¤±¤Ë¶½Ì£¤¬¤¢¤ë¤Ê¤é¡¢
-¤³¤Î¾Ï¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¡¢¥Æ¡¼¥Ö¥ë¤ÎºîÀ®ÊýË¡¤ÎÀâÌÀ¤òÆɤßÈô¤Ð¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
-
-¤³¤Î¾Ï¤¬ËܼÁŪ¤Ë¤Ï¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¤¢¤ë¤Î¤Ç¡¢Â¿¤¯¤Î¾ÜºÙ¤Ï¡¢¤«¤Ê¤é¤º°ã¤¦¾Ï¤Ë¤¢¤ê¤Þ¤¹¡£
-¤³¤³¤Ë½ñ¤«¤ì¤Æ¤¤¤ë»öÊÁ¤Ç¡¢
-¤µ¤é¤Ë¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¥Þ¥Ë¥å¥¢¥ë¤ÎŬÀڤʥ»¥¯¥·¥ç¥ó¤òÄ´¤Ù¤Æ²¼¤µ¤¤¡£
-
-
-@node Connecting-disconnecting, Entering queries, Tutorial, Tutorial
-@section ¥µ¡¼¥Ð¡¼¤Ø¤ÎÀܳ¤ÈÀÚÃÇ
-
-¥µ¡¼¥Ð¡¼¤Ë @code{mysql} ¥³¥Þ¥ó¥É¤«¤éÀܳ¤¹¤ë¤¿¤á¤Ë¤Ï¡¢Ä̾
-@strong{MySQL} ¥æ¡¼¥¶Ì¾¡¢¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£
-¤â¤·¤¢¤Ê¤¿¤¬¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë°Ê³°¤Î¥Þ¥·¥ó¤Î¾å¤Ç¥µ¡¼¥Ð¡¼¤¬Áö¤Ã¤Æ¤¤¤ì¤Ð¡¢
-¤¢¤Ê¤¿¤Ï¡¢¥Û¥¹¥È̾¤òÌÀ¼¨¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£
-¤Þ¤º¤¢¤Ê¤¿¤Î´ÉÍý¼Ô¤ËÌ䤤¹ç¤ï¤»¤Æ¡¢¤¢¤Ê¤¿¤¬»È¤¦¤Ù¤­Àܳ¤Î¤¿¤á¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ò¸«¤Ä¤±½Ð¤·¤Æ²¼¤µ¤¤¡£
-(¤¹¤Ê¤ï¤Á¡¢¤É¤Î¤è¤¦¤Ê¥Û¥¹¥È¡¢¥æ¡¼¥¶¡¼Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤ò»È¤¦¤Ù¤­¤Ê¤Î¤«¡£)
-ŬÀڤʥѥé¥á¡¼¥¿¡¼¤òÃΤäƤ¤¤ì¤Ð¡¢¤¢¤Ê¤¿¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤ÆÀܳ¤Ç¤­¤Þ¤¹¡§
-
-@example
-shell> mysql -h host -u user -p
-Enter password: ********
-@end example
-
-@code{********} ¤È¤«¤«¤ì¤Æ¤¤¤ëÉôʬ¤Ë¤Ï¤¢¤Ê¤¿¤Î¥Ñ¥¹¥ï¡¼¥É¤òÆþ¤ì¤Þ¤¹¡¨
-@code{mysql} ¤¬ @code{Enter password:} ¥×¥í¥ó¥×¥È¤ò½Ð¤·¤¿¤È¤­¤Ë¡£
-
-¤­¤Á¤ó¤ÈÆ°¤±¤Ð¡¢¤¤¤¯¤Ä¤«¤Î¾ðÊó¤È @code{mysql>} ¥×¥í¥ó¥×¥È¤¬¸½¤ì¤Þ¤¹¡§
-
-@example
-shell> mysql -h host -u user -p
-Enter password: ********
-Welcome to the MySQL monitor. Commands end with ; or \g.
-Your MySQL connection id is 459 to server version: 3.22.20a-log
-
-Type 'help' for help.
-
-mysql>
-@end example
-
-¤³¤Î¥×¥í¥ó¥×¥È¤Ï @code{mysql} ¤¬¥³¥Þ¥ó¥ÉÆþÎϤòÂԤäƤ¤¤ë¾õÂÖ¤ò¼¨¤·¤Þ¤¹¡£
-
-¤¤¤¯¤Ä¤«¤Î @strong{MySQL} ¥¤¥ó¥¹¥È¥ì¡¼¥·¥ç¥ó¤Ç¤Ï¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¤Ç
-¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥µ¡¼¥Ð¡¼¤Ë¡¢¥æ¡¼¥¶¡¼¤Ë``ƿ̾''(̾Á°Ìµ¤·)¤ÎÀܳ¤òµö¤·¤Æ¤¤¤Þ¤¹¡£
-¤â¤·¤¢¤Ê¤¿¤Î¥Þ¥·¥ó¤¬¤³¤Î¾ì¹ç¤ËÅö¤Æ¤Ï¤Þ¤ë¤Ê¤é¡¢@code{mysql} ¤ò¥ª¥×¥·¥ç¥ó̵¤·¤Ç
-µ¯Æ°¤¹¤Ù¤­¤Ç¤¹¡§
-
-@example
-shell> mysql
-@end example
-
-Àܳ¤¬À®¸ù¤·¤¿¸å¡¢ @code{mysql>} ¥×¥í¥ó¥×¥È¤Ç¡¢@code{QUIT} ¤È¥¿¥¤¥×¤¹¤ì¤Ð
-¤¤¤Ä¤Ç¤âÀܳ¤òÀڤ뤳¤È¤¬¤Ç¤­¤Þ¤¹¡§
-
-@example
-mysql> QUIT
-Bye
-@end example
-
-control-D ¤ÇÀÚÃǤ·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
-
-°Ê²¼¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Î¤Û¤È¤ó¤É¤ÎÎã¤Ç¤Ï¡¢¤¢¤Ê¤¿¤¬¥µ¡¼¥Ð¡¼¤ËÀܳ¤·¤Æ¤¤¤ë¤â¤Î¤È
-¤·¤Æ¤¤¤Þ¤¹¡£¤½¤Î¾ì¹ç¤Ï @code{mysql>} ¥×¥í¥ó¥×¥È¤Ë¤è¤Ã¤Æ¡¢¤½¤ì¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
-
-
-@node Entering queries, Examples, Connecting-disconnecting, Tutorial
-@section ¥¯¥¨¥ê¤ÎÆþÎÏ
-
-Á°¤Î¥»¥¯¥·¥ç¥ó¤Ç½Ò¤Ù¤¿¤è¤¦¤Ë¡¢¤¢¤Ê¤¿¤¬¥µ¡¼¥Ð¡¼¤È¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤ë¤³¤È¤ò³Î¤«¤á¤Æ²¼¤µ¤¤¡£
-¤³¤Î¾õÂ֤ǤϤޤÀ¤É¤ó¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¤âÁªÂò¤·¤Æ¤¤¤Ê¤¤¾õÂ֤Ǥ¹¡£¤·¤«¤·¤½¤ì¤Ï¤«¤Þ¤¤¤Þ¤»¤ó¡£
-¤³¤³¤Ç¤Ï¡¢¥Æ¡¼¥Ö¥ë¤ÎºîÀ®¤ä¥Ç¡¼¥¿¤ÎÆþÎÏ¡¢¼è¤ê½Ð¤·¤è¤ê¤â¡¢
-¤¤¤«¤Ë¥¯¥¨¥ê¤òȯ¹Ô¤¹¤ë¤«¤Ë½ÅÅÀ¤òÃÖ¤­¤Þ¤¹¡£
-¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢¤¢¤Ê¤¿¼«¿È¤ò @code{mysql} ¤ÎÆ°¤­¤Ë´·¤ì¤µ¤»¤ë¤¿¤á¤Ë¡¢
-¤¢¤Ê¤¿¤¬¤ä¤Ã¤Æ¤ß¤ë¤³¤È¤¬¤Ç¤­¤ë¤Ç¤¢¤í¤¦¡¢¤¤¤¯¤Ä¤«¤Î¥¯¥¨¥ê¤ò»ÈÍѤ·¤Æ¡¢
-¥³¥Þ¥ó¥ÉÆþÎϤδðËÜŪ¤Ê¸¶Â§¤ò½Ò¤Ù¤Þ¤¹¡£
-
-¥µ¡¼¥Ð¡¼¤Î¥Ð¡¼¥¸¥ç¥ó¡¢º£Æü¤ÎÆüÉÕ¤ò¥µ¡¼¥Ð¡¼¤ËÌ䤤¹ç¤ï¤»¤ë¡¢Ã±½ã¤Ê¥³¥Þ¥ó¥É
-¤¬¤³¤³¤Ë¤¢¤ê¤Þ¤¹¡£ °Ê²¼¤Î¤è¤¦¤Ë @code{mysql>} ¥×¥í¥ó¥×¥È¤Î¸å¤ËÆþÎϤ·
- RETURN ¥­¡¼¤ò²¡¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡§
-
-@example
-mysql> SELECT VERSION(), CURRENT_DATE;
-+--------------+--------------+
-| version() | CURRENT_DATE |
-+--------------+--------------+
-| 3.22.20a-log | 1999-03-19 |
-+--------------+--------------+
-1 row in set (0.01 sec)
-mysql>
-@end example
-
-¤³¤Î¥¯¥¨¥ê¤Ï¡¢@code{mysql} ¤Î¤¤¤¯¤Ä¤«¤Î»ö¤òÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-Ä̾¥³¥Þ¥ó¥É¤Ï¡¢¥»¥ß¥³¥í¥ó¤Ç½ª¤ï¤ë SQL ¥¹¥Æ¡¼¥È¥á¥ó¥È¤«¤é¡¢¹½À®¤µ¤ì¤Þ¤¹¡£
-(¥»¥ß¥³¥í¥ó¤¬É¬ÍפȤµ¤ì¤Ê¤¤¤¤¤¯¤Ä¤«¤ÎÎã³°¤¬¤¢¤ê¤Þ¤¹¡£
-°ÊÁ°¤Ë½Ò¤Ù¤¿ @code{QUIT} ¤Ï¤½¤Î¤¦¤Á¤Î°ì¤Ä¤Ç¤¹¡£¸å¤Ç¾¤â½Ð¤Æ¤­¤Þ¤¹¡£)
-
-@item
-¥³¥Þ¥ó¥É¤òȯ¹Ô¤¹¤ë¤È¡¢@code{mysql} ¤Ï¤½¤ì¤ò¥µ¡¼¥Ð¡¼¤ËÁ÷¤ê¡¢·ë²Ì¤òɽ¼¨¤·¤Þ¤¹¡£
-¤½¤Î¸å¡¢ @code{mysql>} ¥×¥í¥ó¥×¥È¤ò½Ð¤·¡¢Â¾¤Î¥³¥Þ¥ó¥É¤¬¼õ¤±ÉÕ¤±¤ì¤ë¾õÂ֤Ǥ¢¤ë¤È
-¼¨¤·¤Þ¤¹¡£
-
-@item
-@code{mysql} ¤Ï¥¯¥¨¥ê¤Î·ë²Ì¤òɽ¤Ë¤·¤Æ½Ð¤·¤Þ¤¹¡£ ºÇ½é¤Î¹Ô¤Ï¹àÌܤΥé¥Ù¥ë̾¤Ç¤¹¡£
-¤½¤Î²¼¤Î¹Ô¤Ë¡¢¥¯¥¨¥ê¤Î·ë²Ì¤¬Â³¤­¤Þ¤¹¡£ Ä̾¹àÌܤΥé¥Ù¥ë̾¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Æ¡¼¥Ö¥ë¤«¤é
-¤¢¤Ê¤¿¤¬¼è¤ê½Ð¤·¤¿¥Õ¥£¡¼¥ë¥É̾¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥Æ¡¼¥Ö¥ë¤Î¥Õ¥£¡¼¥ë¥É̾°Ê³°¤Î¼°¤ò
-¤¢¤Ê¤¿¤¬¸¡º÷¤·¤¿¤Î¤Ê¤é(¤Á¤ç¤¦¤ÉÎã¤Î¤è¤¦¤Ë)¡¢@code{mysql} ¤ÏÍ¿¤¨¤é¤ì¤¿¼°¼«¿È¤ò
-¹àÌܤΥé¥Ù¥ë̾¤È¤·¤Æɽ¼¨¤·¤Þ¤¹¡£
-
-@item
-@code{mysql} ¤Ï²¿¥ì¥³¡¼¥É(rows)Ê֤äƤ­¤¿¤«¤ò¼¨¤·¡¢¼Â¹Ô¤Ë¤É¤ì¤¯¤é¤¤¤Î»þ´Ö¤¬
-¤«¤«¤Ã¤¿¤«¤â¼¨¤·¤Þ¤¹¡£ ¤³¤ì¤Ï¤ª¤ª¤¶¤Ã¤Ñ¤Ê¥µ¡¼¥Ð¡¼¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò¼¨¤·¤Þ¤¹¡£
-¤³¤ì¤é¤ÎÃÍ¤Ï wall clock time (CPU ¤ä ¥Þ¥·¥ó¥¿¥¤¥à¤Ç¤Ï¤Ê¤¯) ¤ò»ÈÍѤ·¤Æ¤ª¤ê¡¢¤µ¤é¤Ë¡¢
-¥µ¡¼¥Ð¡¼¤ÎÉé²Ù¡¢¤ª¤è¤Ó¥Í¥Ã¥È¥ï¡¼¥¯ÂÔ¤Á»þ´Ö¤È¤¤¤Ã¤¿Í×°ø¤Ë¤â±Æ¶Á¤µ¤ì¤ë¤Î¤Ç¡¢
-ÉÔÀµ³Î¤Ç¤¹¡£
-(¤³¤Î¾Ï¤Î¾¤ÎÎãÂê¤Ë¤ª¤¤¤Æ¤Ï ``rows in set'' ¤Î¹Ô¤Ï¾Ê¤­¤Þ¤¹¡£)
-@end itemize
-
-¥­¡¼¥ï¡¼¥É¤Ï¡¢¤¤¤«¤Ê¤ëÂçʸ»ú¾®Ê¸»ú¤Ç¤âµ­½Ò¤Ç¤­¤Þ¤¹¡£
-°Ê²¼¤Ë¼¨¤¹¥¯¥¨¥ê¤ÏƱ¤¸¤Ç¤¹¡§
-
-@example
-mysql> SELECT VERSION(), CURRENT_DATE;
-mysql> select version(), current_date;
-mysql> SeLeCt vErSiOn(), current_DATE;
-@end example
-
-°Ê²¼¤Î¥¯¥¨¥ê¤Ï¡¢@code{mysql} ¤ò´Êñ¤Ê·×»»µ¡¤È¤·¤Æ»ÈÍѤ·¤¿Îã¤Ç¤¹¡§
-
-@example
-mysql> SELECT SIN(PI()/4), (4+1)*5;
-+-------------+---------+
-| SIN(PI()/4) | (4+1)*5 |
-+-------------+---------+
-| 0.707107 | 25 |
-+-------------+---------+
-@end example
-
-
-º£¤Þ¤Ç¤Ï¸«¤Æ¤­¤¿¤¿¥³¥Þ¥ó¥É¤Ï¡¢Èæ³ÓŪû¤¤¡¢°ì¹Ô¤Î¤Îʸ¤Ç¤¹¡£
-¤¢¤Ê¤¿¤Ï°ì¹Ô¤ËÊ£¿ô¡¢Ê¸¤ò½ñ¤¯¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
-¤½¤ì¤¾¤ì¤Îʸ¤Î½ª¤ï¤ê¤Ë¤Ï¥»¥ß¥³¥í¥ó¤òÉÕ¤±¤Þ¤¹¡§
-
-@example
-mysql> SELECT VERSION(); SELECT NOW();
-+--------------+
-| version() |
-+--------------+
-| 3.22.20a-log |
-+--------------+
-
-+---------------------+
-| NOW() |
-+---------------------+
-| 1999-03-19 00:15:33 |
-+---------------------+
-@end example
-
-¥³¥Þ¥ó¥É¤Ï°ì¹Ô¤Ë¤«¤¯É¬Íפ⤢¤ê¤Þ¤»¤ó¡£ Ê£¿ô¹Ô¤Ë¤ï¤¿¤ëŤ¤¥³¥Þ¥ó¥É¤Ç¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£
-@code{mysql} ¤Ï¥»¥ß¥³¥í¥ó¤Ç¡¢°ìʸ¤Î½ª¤ï¤ê¤È¸«¤Ê¤·¤Þ¤¹¡£ ¤½¤Î¹Ô¤ÎºÇ¸å¤òʸ¤ÎºÇ¸å¤È¤Ï
-¸«¤Ê¤·¤Þ¤»¤ó¡£ ¡Ê¤¤¤¦¤Ê¤ì¤Ð¡¢@code{mysql} ¤Ï¼«Í³¤ÊÆþÎϤòµö¤·¡¢¥»¥ß¥³¥í¥ó¤¬¸½¤ì¤ë¤Þ¤Ç¤Ï
-¤½¤ì¤é¤ÎÆþÎϤµ¤ì¤¿¹Ô¤ò¼Â¹Ô¤·¤Þ¤»¤ó¡Ë
-
-Ê£¿ô¹Ô¤Ë¤Þ¤¿¤¬¤Ã¤¿Ê¸¤ÎÎã¤Ç¤¹¡§
-
-@example
-mysql> SELECT
- -> USER()
- -> ,
- -> CURRENT_DATE;
-+--------------------+--------------+
-| USER() | CURRENT_DATE |
-+--------------------+--------------+
-| joesmith@@localhost | 1999-03-18 |
-+--------------------+--------------+
-@end example
-
-¤³¤ÎÎã¤Ç¤Ï¡¢Ê£¿ô¤Ë¤Þ¤¿¤¬¤ë¥¯¥¨¥ê¤Ë¤ª¤¤¤Æ¡¢ºÇ½é¤Î¹Ô¤ÎÆþÎϤΤ¢¤È¡¢
-¤¤¤«¤Ë¥×¥í¥ó¥×¥È¤¬ @code{mysql>} ¤«¤é @code{->} ¤ËÊѤï¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï @code{mysql} ¤¬¡¢¤Þ¤Àʸ¤¬½ª¤ï¤Ã¤Æ¤ª¤é¤º¡¢»Ä¤ê¤ÎÉôʬ¤ÎÆþÎϤòÂԤäƤ¤¤ë
-¤³¤È¤ò¼¨¤·¤Þ¤¹¡£ The prompt is your friend, because it provides
-valuable feedback. If you use that feedback, you will always be aware of
-what @code{mysql} is waiting for.
-
-ÆþÎÏÃæ¤Ë¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤ò¼è¤ê¤ä¤á¤è¤¦¤È»×¤Ã¤¿¾ì¹ç¡¢
-@code{\c} ¤Ç¤³¤ì¤ò¥­¥ã¥ó¥»¥ë¤Ç¤­¤Þ¤¹¡§
-
-@example
-mysql> SELECT
- -> USER()
- -> \c
-mysql>
-@end example
-
-Here, too, notice the prompt. It switches back to @code{mysql>} after you
-type @code{\c}, providing feedback to indicate that @code{mysql} is ready
-for a new command.
-
-°Ê²¼¤Îɽ¤Ë¡¢ @code{mysql} ¤Î¥×¥í¥ó¥×¥È¤È¤½¤Î¾õÂÖ¤ÎÀâÌÀ¤ò¼¨¤·¤Þ¤¹¡§
-
-@multitable @columnfractions .10 .9
-@item @strong{¥×¥í¥ó¥×¥È} @tab @strong{°ÕÌ£}
-@item @code{mysql>} @tab ¿·¤·¤¤¥³¥Þ¥ó¥É¤ÎÂÔ¾õÂÖ
-@item @code{@ @ @ @ ->} @tab Ê£¿ô¹Ô¤Ë¤Þ¤¿¤¬¤ë¥³¥Þ¥ó¥É¤Î¡¢¼¡¤Î¹Ô¤ÎÆþÎϤòÂԤäƤ¤¤ë¾õÂÖ¡£
-@item @code{@ @ @ @ '>} @tab ¥·¥ó¥°¥ë¥¯¥ª¡¼¥È (@samp{'}) ¤Ç»Ï¤á¤é¤ì¤¿Ê¸»ú¤Î¡¢¼¡¤Î¹Ô¤ÎÆþÎϤòÂԤäƤ¤¤ë¾õÂÖ¡£
-@item @code{@ @ @ @ ">} @tab ¥À¥Ö¥ë¥¯¥ª¡¼¥È (@samp{"}) ¤Ç»Ï¤á¤é¤ì¤¿Ê¸»ú¤Î¡¢¼¡¤Î¹Ô¤ÎÆþÎϤòÂԤäƤ¤¤ë¾õÂÖ¡£
-@end multitable
-
-¤¢¤Ê¤¿¤¬Ê¸¤ò¥»¥ß¥³¥í¥ó¤Ç½ª¤ï¤é¤¹¤³¤È¤ò˺¤ì¤Æ¼Â¹Ô¤·¤¿¾ì¹ç¤Ë¡¢
-Ê£¿ô¹Ô¤ÎÆþÎÏÂÔ¤Á¤¬µ¯¤³¤ê¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¡¢ @code{mysql} ¤Ï
-¼¡¤ÎÆþÎϤòÂÔ¤Á¤Þ¤¹¡§
-
-@example
-mysql> SELECT USER()
- ->
-@end example
-
-If this happens to you (you think you've entered a statement but the only
-response is a @code{->} prompt), most likely @code{mysql} is waiting for the
-semicolon. If you don't notice what the prompt is telling you, you might sit
-there for a while before realizing what you need to do. Enter a semicolon to
-complete the statement, and @code{mysql} will execute it:
-
-@example
-mysql> SELECT USER()
- -> ;
-+--------------------+
-| USER() |
-+--------------------+
-| joesmith@@localhost |
-+--------------------+
-@end example
-
-The @code{'>} and @code{">} prompts occur during string collection.
-In @strong{MySQL}, you can write strings surrounded by either @samp{'}
-or @samp{"} characters (for example, @code{'hello'} or @code{"goodbye"}),
-and @code{mysql} lets you enter strings that span multiple lines. When you
-see a @code{'>} or @code{">} prompt, it means that you've entered a line
-containing a string that begins with a @samp{'} or @samp{"} quote character,
-but have not yet entered the matching quote that terminates the string.
-That's fine if you really are entering a multiple-line string, but how likely
-is that? Not very. More often, the @code{'>} and @code{">} prompts indicate
-that you've inadvertantly left out a quote character. For example:
-
-@example
-mysql> SELECT * FROM my_table WHERE name = "Smith AND age < 30;
- ">
-@end example
-
-If you enter this @code{SELECT} statement, then hit RETURN and wait for the
-result, nothing will happen. Instead of wondering, ``why does this
-query take so long?,'' notice the clue provided by the @code{">} prompt. It
-tells you that @code{mysql} expects to see the rest of an unterminated
-string. (Do you see the error in the statement? The string @code{"Smith} is
-missing the second quote.)
-
-At this point, what do you do? The simplest thing is to cancel the command.
-However, you cannot just type @code{\c} in this case, because @code{mysql}
-interprets it as part of the string that it is collecting! Instead, enter
-the closing quote character (so @code{mysql} knows you've finished the
-string), then type @code{\c}:
-
-@example
-mysql> SELECT * FROM my_table WHERE name = "Smith AND age < 30;
- "> "\c
-mysql>
-@end example
-
-The prompt changes back to @code{mysql>}, indicating that @code{mysql}
-is ready for a new command.
-
-It's important to know what the @code{'>} and @code{">} prompts signify,
-because if you mistakenly enter an unterminated string, any further lines you
-type will appear to be ignored by @code{mysql} --- including a line
-containing @code{QUIT}! This can be quite confusing, especially if you
-don't know that you need to supply the terminating quote before you can
-cancel the current command.
-
-@node Examples, Searching on two keys, Entering queries, Tutorial
-@section Examples of common queries
-
-Here follows examples of how to solve some common problems with
-@strong{MySQL}.
-
-Some of the examples use the table @code{shop} to hold the price of each
-article (item number) for certain traders (dealers). Supposing that each
-trader has a single fixed price per article, then (@code{item},
-@code{trader}) is a primary key for the records.
-
-You can create the example table as:
-
-@example
-CREATE TABLE shop (
- article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,
- dealer CHAR(20) DEFAULT '' NOT NULL,
- price DOUBLE(16,2) DEFAULT '0.00' NOT NULL,
- PRIMARY KEY(article, dealer));
-
-INSERT INTO shop VALUES
-(1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),(3,'C',1.69),
-(3,'D',1.25),(4,'D',19.95);
-@end example
-
-Okay, so the example data is:
-
-@example
-SELECT * FROM shop
-
-+---------+--------+-------+
-| article | dealer | price |
-+---------+--------+-------+
-| 0001 | A | 3.45 |
-| 0001 | B | 3.99 |
-| 0002 | A | 10.99 |
-| 0003 | B | 1.45 |
-| 0003 | C | 1.69 |
-| 0003 | D | 1.25 |
-| 0004 | D | 19.95 |
-+---------+--------+-------+
-@end example
-
-@menu
-* example-Maximum-column::
-* example-Maximum-row::
-* example-Maximum-column-group::
-* example-Maximum-column-group-row::
-* example-Foreign keys::
-@end menu
-
-@node example-Maximum-column, example-Maximum-row, Examples, Examples
-@subsection The maximum value for a column
-
-``What's the highest item number?''
-
-@example
-SELECT MAX(article) AS article FROM shop
-
-+---------+
-| article |
-+---------+
-| 4 |
-+---------+
-@end example
-
-@node example-Maximum-row, example-Maximum-column-group, example-Maximum-column, Examples
-@subsection The row holding the maximum of a certain column
-
-``Find number, dealer, and price of the most expensive article.''
-
-In ANSI SQL this is easily done with a sub-query:
-
-@example
-SELECT article, dealer, price
-FROM shop
-WHERE price=(SELECT MAX(price) FROM shop)
-@end example
-
-In @strong{MySQL} (which does not yet have sub-selects), just do it in
-two steps:
-
-@enumerate
-@item
-Get the maximum price value from the table with a @code{SELECT} statement.
-@item
-Using this value compile the actual query:
-@example
-SELECT article, dealer, price
-FROM shop
-WHERE price=19.95
-@end example
-@end enumerate
-
-Another solution is to sort all rows descending by price and only
-get the first row using the @strong{MySQL} specific @code{LIMIT} clause:
-
-@example
-SELECT article, dealer, price
-FROM shop
-ORDER BY price DESC
-LIMIT 1
-@end example
-
-@strong{Note}: If there are several most expensive articles (e.g. each 19.95)
-the @code{LIMIT} solution shows only one of them!
-
-@node example-Maximum-column-group, example-Maximum-column-group-row, example-Maximum-row, Examples
-@subsection Maximum of column: per group: only the values
-
-``What's the highest price per article?''
-
-@example
-SELECT article, MAX(price) AS price
-FROM shop
-GROUP BY article
-
-+---------+-------+
-| article | price |
-+---------+-------+
-| 0001 | 3.99 |
-| 0002 | 10.99 |
-| 0003 | 1.69 |
-| 0004 | 19.95 |
-+---------+-------+
-@end example
-
-@node example-Maximum-column-group-row, example-Foreign keys, example-Maximum-column-group, Examples
-@subsection The rows holding the group-wise maximum of a certain field
-
-``For each article, find the dealer(s) with the most expensive price.''
-
-In ANSI SQL, I'd do it with a sub-query like this:
-
-@example
-SELECT article, dealer, price
-FROM shop s1
-WHERE price=(SELECT MAX(s2.price)
- FROM shop s2
- WHERE s1.article = s2.article)
-@end example
-
-In @strong{MySQL} it's best do it in several steps:
-
-@enumerate
-@item
-Get the list of (article,maxprice). @xref{example-Maximum-column-group-row}.
-@item
-For each article get the corresponding rows which have the stored maximum
-price.
-@end enumerate
-
-This can easily be done with a temporary table:
-
-@example
-CREATE TEMPORARY TABLE tmp (
- article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,
- price DOUBLE(16,2) DEFAULT '0.00' NOT NULL);
-
-LOCK TABLES article read;
-
-INSERT INTO tmp SELECT article, MAX(price) FROM shop GROUP BY article;
-
-SELECT article, dealer, price FROM shop, tmp
-WHERE shop.article=tmp.article AND shop.price=tmp.price;
-
-UNLOCK TABLES;
-
-DROP TABLE tmp;
-@end example
-
-If you don't use a @code{TEMPORARY} table, you must also lock the 'tmp' table.
-
-`Can it be done with a single query?''
-
-Yes, but only by using a quite inefficient trick that I call the
-``MAX-CONCAT trick'':
-
-@example
-SELECT article,
- SUBSTRING( MAX( CONCAT(LPAD(price,6,'0'),dealer) ), 7) AS dealer,
- 0.00+LEFT( MAX( CONCAT(LPAD(price,6,'0'),dealer) ), 6) AS price
-FROM shop
-GROUP BY article;
-
-+---------+--------+-------+
-| article | dealer | price |
-+---------+--------+-------+
-| 0001 | B | 3.99 |
-| 0002 | A | 10.99 |
-| 0003 | C | 1.69 |
-| 0004 | D | 19.95 |
-+---------+--------+-------+
-@end example
-
-The last example can of course be made a bit more efficient by doing the
-splitting of the concatenated column in the client.
-
-@node example-Foreign keys, , example-Maximum-column-group-row, Examples
-@subsection Using foreign keys
-
-You don't need foreign keys to join 2 tables.
-
-The only thing @strong{MySQL} doesn't do is @code{CHECK} to make sure that
-the keys you use really exist in the table(s) you're referencing and it
-doesn't automatically delete rows from table with a foreign key
-definition. If you use your keys like normal, it'll work just fine!
-
-
-@example
-CREATE TABLE persons (
- id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
- name CHAR(60) NOT NULL,
- PRIMARY KEY (id)
-);
-
-CREATE TABLE shirts (
- id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
- style ENUM('t-shirt', 'polo', 'dress') NOT NULL,
- color ENUM('red', 'blue', 'orange', 'white', 'black') NOT NULL,
- owner SMALLINT UNSIGNED NOT NULL REFERENCES persons,
- PRIMARY KEY (id)
-);
-
-
-INSERT INTO persons VALUES (NULL, 'Antonio Paz');
-
-INSERT INTO shirts VALUES
-(NULL, 'polo', 'blue', LAST_INSERT_ID()),
-(NULL, 'dress', 'white', LAST_INSERT_ID()),
-(NULL, 't-shirt', 'blue', LAST_INSERT_ID());
-
-
-INSERT INTO persons VALUES (NULL, 'Lilliana Angelovska');
-
-INSERT INTO shirts VALUES
-(NULL, 'dress', 'orange', LAST_INSERT_ID()),
-(NULL, 'polo', 'red', LAST_INSERT_ID()),
-(NULL, 'dress', 'blue', LAST_INSERT_ID()),
-(NULL, 't-shirt', 'white', LAST_INSERT_ID());
-
-
-SELECT * FROM persons;
-+----+---------------------+
-| id | name |
-+----+---------------------+
-| 1 | Antonio Paz |
-| 2 | Lilliana Angelovska |
-+----+---------------------+
-
-SELECT * FROM shirts;
-+----+---------+--------+-------+
-| id | style | color | owner |
-+----+---------+--------+-------+
-| 1 | polo | blue | 1 |
-| 2 | dress | white | 1 |
-| 3 | t-shirt | blue | 1 |
-| 4 | dress | orange | 2 |
-| 5 | polo | red | 2 |
-| 6 | dress | blue | 2 |
-| 7 | t-shirt | white | 2 |
-+----+---------+--------+-------+
-
-
-SELECT s.* FROM persons p, shirts s
- WHERE p.name LIKE 'Lilliana%'
- AND s.owner = p.id
- AND s.color <> 'white';
-
-+----+-------+--------+-------+
-| id | style | color | owner |
-+----+-------+--------+-------+
-| 4 | dress | orange | 2 |
-| 5 | polo | red | 2 |
-| 6 | dress | blue | 2 |
-+----+-------+--------+-------+
-@end example
-
-@findex UNION
-@node Searching on two keys, Database use, Examples, Tutorial
-@section Searching on two keys
-
-@strong{MySQL} doesn't yet optimize when you search on two different
-keys combined with @code{OR} (Searching on one key with different @code{OR}
-parts is optimized quite good):
-
-@example
-SELECT field1_index, field2_index FROM test_table WHERE field1_index = '1'
-OR field2_index = '1'
-@end example
-
-The reason is that we haven't yet had time to come up with an efficient
-way to handle this in the general case. (The @code{AND} handling is
-in comparison now completely general and works very well).
-
-For the moment you can solve this very efficently by using a
-@code{TEMPORARY} table; This type of optimization is also very good if
-you are using very complicated queries where the SQL server does the
-optimizations in the wrong order.
-
-@example
-CREATE TEMPORARY TABLE tmp
-SELECT field1_index, field2_index FROM test_table WHERE field1_index = '1';
-INSERT INTO tmp
-SELECT field1_index, field2_index FROM test_table WHERE field2_index = '1';
-SELECT * from tmp;
-DROP TABLE tmp;
-@end example
-
-The above way to solve this query is in effect an @code{UNION} of two queries.
-
-@node Database use, Getting information, Searching on two keys, Tutorial
-@section Creating and using a database
-
-@menu
-* Creating database:: Creating a database
-* Creating tables:: Creating a table
-* Loading tables:: Loading data into a table
-* Retrieving data:: Retrieving information from a table
-* Multiple tables:: Using more than one table
-@end menu
-
-Now that you know how to enter commands, it's time to access a database.
-
-Suppose you have several pets in your home (your ``menagerie'') and you'd
-like to keep track of various types of information about them. You can do so
-by creating tables to hold your data and loading them with the desired
-information. Then you can answer different sorts of questions about your
-animals by retrieving data from the tables. This section shows how to do
-all that:
-
-@itemize @bullet
-@item
-How to create a database
-@item
-How to create a table
-@item
-How to load data into the table
-@item
-How to retrieve data from the table in various ways
-@item
-How to use multiple tables
-@end itemize
-
-The menagerie database will be simple (deliberately), but it is not difficult
-to think of real-world situations in which a similar type of database might
-be used. For example, a database like this could be used by a farmer to keep
-track of livestock, or by a veterinarian to keep track of patient records.
-
-Use the @code{SHOW} statement to find out what databases currently exist
-on the server:
-
-@example
-mysql> SHOW DATABASES;
-+----------+
-| Database |
-+----------+
-| mysql |
-| test |
-| tmp |
-+----------+
-@end example
-
-The list of databases is probably different on your machine, but the
-@code{mysql} and @code{test} databases are likely to be among them. The
-@code{mysql} database is required because it describes user access
-privileges. The @code{test} database is often provided as a workspace for
-users to try things out.
-
-If the @code{test} database exists, try to access it:
-
-@example
-mysql> USE test
-Database changed
-@end example
-
-Note that @code{USE}, like @code{QUIT}, does not require a semicolon. (You
-can terminate such statements with a semicolon if you like; it does no harm.)
-The @code{USE} statement is special in another way, too: it must be given on
-a single line.
-
-You can use the @code{test} database (if you have access to it) for the
-examples that follow, but anything you create in that database can be
-removed by anyone else with access to it. For this reason, you should
-probably ask your @strong{MySQL} administrator for permission to use a
-database of your own. Suppose you want to call yours @code{menagerie}. The
-administrator needs to execute a command like this:
-
-@example
-mysql> GRANT ALL ON menagerie.* TO your_mysql_name;
-@end example
-
-where @code{your_mysql_name} is the @strong{MySQL} user name assigned to
-you.
-
-@node Creating database, Creating tables, Database use, Database use
-@subsection Creating and selecting a database
-
-If the administrator creates your database for you when setting up your
-permissions, you can begin using it. Otherwise, you need to create it
-yourself:
-
-@example
-mysql> CREATE DATABASE menagerie;
-@end example
-
-Under Unix, database names are case sensitive (unlike SQL keywords), so you
-must always refer to your database as @code{menagerie}, not as
-@code{Menagerie}, @code{MENAGERIE} or some other variant. This is also true
-for table names. (Under Windows, this restriction does not apply, although
-you must refer to databases and tables using the same lettercase throughout a
-given query.)
-
-Creating a database does not select it for use, you must do that explicitly.
-To make @code{menagerie} the current database, use this command:
-
-@example
-mysql> USE menagerie
-Database changed
-@end example
-
-Your database needs to be created only once, but you must select it for use
-each time you begin a @code{mysql} session. You can do this by issuing a
-@code{USE} statement as shown above. Alternatively, you can select the
-database on the command line when you invoke @code{mysql}. Just specify its
-name after any connection parameters that you might need to provide. For
-example:
-
-@example
-shell> mysql -h host -u user -p menagerie
-Enter password: ********
-@end example
-
-Note that @code{menagerie} is not your password on the command just shown.
-If you want to supply your password on the command line after the @code{-p}
-option, you must do so with no intervening space (e.g., as
-@code{-pmypassword}, not as @code{-p mypassword}). However, putting your
-password on the command line is not recommended, because doing so exposes it
-to snooping by other users logged in on your machine.
-
-@node Creating tables, Loading tables, Creating database, Database use
-@subsection Creating a table
-
-Creating the database is the easy part, but at this point it's empty, as
-@code{SHOW TABLES} will tell you:
-
-@example
-mysql> SHOW TABLES;
-Empty set (0.00 sec)
-@end example
-
-The harder part is deciding what the structure of your database should be:
-what tables you will need, and what columns will be in each of them.
-
-You'll want a table that contains a record for each of your pets. This can
-be called the @code{pet} table, and it should contain, as a bare minimum,
-each animal's name. Because the name by itself is not very interesting, the
-table should contain other information. For example, if more than one person
-in your family keeps pets, you might want to list each animal's owner. You
-might also want to record some basic descriptive information such as species
-and sex.
-
-How about age? That might be of interest, but it's not a good thing to store
-in a database. Age changes as time passes, which means you'd have to update
-your records often. Instead, it's better to store a fixed value such as
-date of birth. Then, whenever you need age, you can calculate it as the
-difference between the current date and the birth date. @strong{MySQL}
-provides functions for doing date arithmetic, so this is not difficult.
-Storing birth date rather than age has other advantages, too:
-
-@itemize @bullet
-@item
-You can use the database for tasks such as generating reminders for upcoming
-pet birthdays. (If you think this type of query is somewhat silly, note that
-it is the same question you might ask in the context of a business database
-to identify clients to whom you'll soon need to send out birthday greetings,
-for that computer-assisted personal touch.)
-
-@item
-You can calculate age in relation to dates other than the current date. For
-example, if you store death date in the database, you can easily calculate
-how old a pet was when it died.
-@end itemize
-
-You can probably think of other types of information that would be useful in
-the @code{pet} table, but the ones identified so far are sufficient for now:
-name, owner, species, sex, birth and death.
-
-Use a @code{CREATE TABLE} statement to specify the layout of your table:
-
-@example
-mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
- -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
-@end example
-
-@code{VARCHAR} is a good choice for the @code{name}, @code{owner} and
-@code{species} columns because the column values will vary in length. The
-lengths of those columns need not all be the same, and need not be
-@code{20}. You can pick any length from @code{1} to @code{255}, whatever
-seems most reasonable to you. (If you make a poor choice and it turns
-out later that you need a longer field, @strong{MySQL} provides an
-@code{ALTER TABLE} statement.)
-
-Animal sex can be represented in a variety of ways, for example, @code{"m"}
-and @code{"f"}, or perhaps @code{"male"} and @code{"female"}. It's simplest
-to use the single characters @code{"m"} and @code{"f"}.
-
-The use of the @code{DATE} data type for the @code{birth} and @code{death}
-columns is a fairly obvious choice.
-
-Now that you have created a table, @code{SHOW TABLES} should produce some
-output:
-
-@example
-mysql> SHOW TABLES;
-+---------------------+
-| Tables in menagerie |
-+---------------------+
-| pet |
-+---------------------+
-@end example
-
-To verify that your table was created the way you expected, use
-a @code{DESCRIBE} statement:
-
-@example
-mysql> DESCRIBE pet;
-+---------+-------------+------+-----+---------+-------+
-| Field | Type | Null | Key | Default | Extra |
-+---------+-------------+------+-----+---------+-------+
-| name | varchar(20) | YES | | NULL | |
-| owner | varchar(20) | YES | | NULL | |
-| species | varchar(20) | YES | | NULL | |
-| sex | char(1) | YES | | NULL | |
-| birth | date | YES | | NULL | |
-| death | date | YES | | NULL | |
-+---------+-------------+------+-----+---------+-------+
-@end example
-
-You can use @code{DESCRIBE} any time, for example, if you forget the names of
-the columns in your table or what types they are.
-
-@node Loading tables, Retrieving data, Creating tables, Database use
-@subsection Loading data into a table
-
-After creating your table, you need to populate it. The @code{LOAD DATA} and
-@code{INSERT} statements are useful for this.
-
-Suppose your pet records can be described as shown below.
-(Observe that @strong{MySQL} expects dates in @code{YYYY-MM-DD} format;
-this may be different than what you are used to.)
-
-@multitable @columnfractions .16 .16 .16 .16 .16 .16
-@item @strong{name} @tab @strong{owner} @tab @strong{species} @tab @strong{sex} @tab @strong{birth} @tab @strong{death}
-@item Fluffy @tab Harold @tab cat @tab f @tab 1993-02-04 @tab
-@item Claws @tab Gwen @tab cat @tab m @tab 1994-03-17 @tab
-@item Buffy @tab Harold @tab dog @tab f @tab 1989-05-13 @tab
-@item Fang @tab Benny @tab dog @tab m @tab 1990-08-27 @tab
-@item Bowser @tab Diane @tab dog @tab m @tab 1998-08-31 @tab 1995-07-29
-@item Chirpy @tab Gwen @tab bird @tab f @tab 1998-09-11 @tab
-@item Whistler @tab Gwen @tab bird @tab @tab 1997-12-09 @tab
-@item Slim @tab Benny @tab snake @tab m @tab 1996-04-29 @tab
-@end multitable
-
-Because you are beginning with an empty table, an easy way to populate it is to
-create a text file containing a row for each of your animals, then load the
-contents of the file into the table with a single statement.
-
-You could create a text file @file{pet.txt} containing one record per line,
-with values separated by tabs, and given in the order in which the columns
-were listed in the @code{CREATE TABLE} statement. For missing values (such
-as unknown sexes, or death dates for animals that are still living), you can
-use @code{NULL} values. To represent these in your text file, use
-@code{\N}. For example, the record for Whistler the bird would look like
-this (where the whitespace between values is a single tab character):
-
-@multitable @columnfractions .15 .15 .15 .15 .25 .15
-@item @code{Whistler} @tab @code{Gwen} @tab @code{bird} @tab @code{\N} @tab @code{1997-12-09} @tab @code{\N}
-@end multitable
-
-To load the text file @file{pet.txt} into the @code{pet} table, use this
-command:
-
-@example
-mysql> LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;
-@end example
-
-You can specify the column value separator and end of line marker explicitly
-in the @code{LOAD DATA} statement if you wish, but the defaults are tab and
-linefeed. These are sufficient for the statement to read the file
-@file{pet.txt} properly.
-
-When you want to add new records one at a time, the @code{INSERT} statement
-is useful. In its simplest form, you supply values for each column, in the
-order in which the columns were listed in the @code{CREATE TABLE} statement.
-Suppose Diane gets a new hamster named Puffball. You could add a new record
-using an @code{INSERT} statement like this:
-
-@example
-mysql> INSERT INTO pet
- -> VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
-@end example
-
-Note that string and date values are specified as quoted strings here. Also,
-with @code{INSERT}, you can insert @code{NULL} directly to represent a
-missing value. You do not use @code{\N} like you do with @code{LOAD DATA}.
-
-From this example, you should be able to see that there would be a lot more
-typing involved to load
-your records initially using several @code{INSERT} statements rather
-than a single @code{LOAD DATA} statement.
-
-@node Retrieving data, Multiple tables, Loading tables, Database use
-@subsection Retrieving information from a table
-
-@menu
-* Selecting all:: Selecting all data
-* Selecting rows:: Selecting particular rows
-* Selecting columns:: Selecting particular columns
-* Sorting rows:: Sorting rows
-* Date calculations:: Date calculations
-* Working with NULL:: Working with @code{NULL} values
-* Pattern matching:: Pattern matching
-* Counting rows:: Counting rows
-@end menu
-
-The @code{SELECT} statement is used to pull information from a table.
-The general form of the statement is:
-
-@example
-SELECT what_to_select
-FROM which_table
-WHERE conditions_to_satisfy
-@end example
-
-@code{what_to_select} indicates what you want to see. This can be a list of
-columns, or @code{*} to indicate ``all columns.'' @code{which_table}
-indicates the table from which you want to retrieve data. The @code{WHERE}
-clause is optional. If it's present, @code{conditions_to_satisfy} specifies
-conditions that rows must satisfy to qualify for retrieval.
-
-@node Selecting all, Selecting rows, Retrieving data, Retrieving data
-@subsubsection Selecting all data
-
-The simplest form of @code{SELECT} retrieves everything from a table:
-
-@example
-mysql> SELECT * FROM pet;
-+----------+--------+---------+------+------------+------------+
-| name | owner | species | sex | birth | death |
-+----------+--------+---------+------+------------+------------+
-| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
-| Claws | Gwen | cat | m | 1994-03-17 | NULL |
-| Buffy | Harold | dog | f | 1989-05-13 | NULL |
-| Fang | Benny | dog | m | 1990-08-27 | NULL |
-| Bowser | Diane | dog | m | 1998-08-31 | 1995-07-29 |
-| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |
-| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
-| Slim | Benny | snake | m | 1996-04-29 | NULL |
-| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
-+----------+--------+---------+------+------------+------------+
-@end example
-
-This form of @code{SELECT} is useful if you want to review your entire table,
-for instance, after you've just loaded it with your initial dataset. As it
-happens, the output just shown reveals an error in your data file: Bowser
-appears to have been born after he died! Consulting your original pedigree
-papers, you find that the correct birth year is 1989, not 1998.
-
-There are are least a couple of ways to fix this:
-
-@itemize @bullet
-@item
-Edit the file @file{pet.txt} to correct the error, then empty the table
-and reload it using @code{DELETE} and @code{LOAD DATA}:
-
-@example
-mysql> DELETE FROM pet;
-mysql> LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;
-@end example
-
-However, if you do this, you must also re-enter the record for Puffball.
-
-@item
-Fix only the erroneous record with an @code{UPDATE} statement:
-
-@example
-mysql> UPDATE pet SET birth = "1989-08-31" WHERE name = "Bowser";
-@end example
-@end itemize
-
-As shown above, it is easy to retrieve an entire table. But typically you
-don't want to do that, particularly when the table becomes large. Instead,
-you're usually more interested in answering a particular question, in which
-case you specify some constraints on the information you want. Let's look at
-some selection queries in terms of questions about your pets that they
-answer.
-
-@node Selecting rows, Selecting columns, Selecting all, Retrieving data
-@subsubsection Selecting particular rows
-
-You can select only particular rows from your table. For example, if you want
-to verify the change that you made to Bowser's birth date, select Bowser's
-record like this:
-
-@example
-mysql> SELECT * FROM pet WHERE name = "Bowser";
-+--------+-------+---------+------+------------+------------+
-| name | owner | species | sex | birth | death |
-+--------+-------+---------+------+------------+------------+
-| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
-+--------+-------+---------+------+------------+------------+
-@end example
-
-The output confirms that the year is correctly recorded now as 1989, not 1998.
-
-String comparisons are normally case-insensitive, so you can specify the
-name as @code{"bowser"}, @code{"BOWSER"}, etc. The query result will be
-the same.
-
-You can specify conditions on any column, not just @code{name}. For example,
-if you want to know which animals were born after 1998, test the @code{birth}
-column:
-
-@example
-mysql> SELECT * FROM pet WHERE birth >= "1998-1-1";
-+----------+-------+---------+------+------------+-------+
-| name | owner | species | sex | birth | death |
-+----------+-------+---------+------+------------+-------+
-| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |
-| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
-+----------+-------+---------+------+------------+-------+
-@end example
-
-You can combine conditions, for example, to locate female dogs:
-
-@example
-mysql> SELECT * FROM pet WHERE species = "dog" AND sex = "f";
-+-------+--------+---------+------+------------+-------+
-| name | owner | species | sex | birth | death |
-+-------+--------+---------+------+------------+-------+
-| Buffy | Harold | dog | f | 1989-05-13 | NULL |
-+-------+--------+---------+------+------------+-------+
-@end example
-
-The preceding query uses the @code{AND} logical operator. There is also an
-@code{OR} operator:
-
-@example
-mysql> SELECT * FROM pet WHERE species = "snake" OR species = "bird";
-+----------+-------+---------+------+------------+-------+
-| name | owner | species | sex | birth | death |
-+----------+-------+---------+------+------------+-------+
-| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |
-| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
-| Slim | Benny | snake | m | 1996-04-29 | NULL |
-+----------+-------+---------+------+------------+-------+
-@end example
-
-@code{AND} and @code{OR} may be intermixed. If you do that, it's a good idea
-to use parentheses to indicate how conditions should be grouped:
-
-@example
-mysql> SELECT * FROM pet WHERE (species = "cat" AND sex = "m")
- -> OR (species = "dog" AND sex = "f");
-+-------+--------+---------+------+------------+-------+
-| name | owner | species | sex | birth | death |
-+-------+--------+---------+------+------------+-------+
-| Claws | Gwen | cat | m | 1994-03-17 | NULL |
-| Buffy | Harold | dog | f | 1989-05-13 | NULL |
-+-------+--------+---------+------+------------+-------+
-@end example
-
-@node Selecting columns, Sorting rows, Selecting rows, Retrieving data
-@subsubsection Selecting particular columns
-
-
-If you don't want to see entire rows from your table, just name the columns
-in which you're interested, separated by commas. For example, if you want to
-know when your animals were born, select the @code{name} and @code{birth}
-columns:
-
-@example
-mysql> SELECT name, birth FROM pet;
-+----------+------------+
-| name | birth |
-+----------+------------+
-| Fluffy | 1993-02-04 |
-| Claws | 1994-03-17 |
-| Buffy | 1989-05-13 |
-| Fang | 1990-08-27 |
-| Bowser | 1989-08-31 |
-| Chirpy | 1998-09-11 |
-| Whistler | 1997-12-09 |
-| Slim | 1996-04-29 |
-| Puffball | 1999-03-30 |
-+----------+------------+
-@end example
-
-To find out who owns pets, use this query:
-
-@example
-mysql> SELECT owner FROM pet;
-+--------+
-| owner |
-+--------+
-| Harold |
-| Gwen |
-| Harold |
-| Benny |
-| Diane |
-| Gwen |
-| Gwen |
-| Benny |
-| Diane |
-+--------+
-@end example
-
-@findex DISTINCT
-However, notice that the query simply retrieves the @code{owner} field from
-each record, and some of them appear more than once. To minimize the output,
-retrieve each unique output record just once by adding the keyword
-@code{DISTINCT}:
-
-@example
-mysql> SELECT DISTINCT owner FROM pet;
-+--------+
-| owner |
-+--------+
-| Benny |
-| Diane |
-| Gwen |
-| Harold |
-+--------+
-@end example
-
-You can use a @code{WHERE} clause to combine row selection with column
-selection. For example, to get birth dates for dogs and cats only,
-use this query:
-
-@example
-mysql> SELECT name, species, birth FROM pet
- -> WHERE species = "dog" OR species = "cat";
-+--------+---------+------------+
-| name | species | birth |
-+--------+---------+------------+
-| Fluffy | cat | 1993-02-04 |
-| Claws | cat | 1994-03-17 |
-| Buffy | dog | 1989-05-13 |
-| Fang | dog | 1990-08-27 |
-| Bowser | dog | 1989-08-31 |
-+--------+---------+------------+
-@end example
-
-@node Sorting rows, Date calculations, Selecting columns, Retrieving data
-@subsubsection Sorting rows
-
-You may have noticed in the preceding examples that the result rows are
-displayed in no particular order. However, it's often easier to examine
-query output when the rows are sorted in some meaningful way. To sort a
-result, use an @code{ORDER BY} clause.
-
-Here are animal birthdays, sorted by date:
-
-@example
-mysql> SELECT name, birth FROM pet ORDER BY birth;
-+----------+------------+
-| name | birth |
-+----------+------------+
-| Buffy | 1989-05-13 |
-| Bowser | 1989-08-31 |
-| Fang | 1990-08-27 |
-| Fluffy | 1993-02-04 |
-| Claws | 1994-03-17 |
-| Slim | 1996-04-29 |
-| Whistler | 1997-12-09 |
-| Chirpy | 1998-09-11 |
-| Puffball | 1999-03-30 |
-+----------+------------+
-@end example
-
-To sort in reverse order, add the @code{DESC} (descending) keyword to the
-name of the column you are sorting by:
-
-@example
-mysql> SELECT name, birth FROM pet ORDER BY birth DESC;
-+----------+------------+
-| name | birth |
-+----------+------------+
-| Puffball | 1999-03-30 |
-| Chirpy | 1998-09-11 |
-| Whistler | 1997-12-09 |
-| Slim | 1996-04-29 |
-| Claws | 1994-03-17 |
-| Fluffy | 1993-02-04 |
-| Fang | 1990-08-27 |
-| Bowser | 1989-08-31 |
-| Buffy | 1989-05-13 |
-+----------+------------+
-@end example
-
-You can sort on multiple columns. For example, to sort by type of
-animal, then by birth date within animal type with youngest animals first,
-use the following query:
-
-@example
-mysql> SELECT name, species, birth FROM pet ORDER BY species, birth DESC;
-+----------+---------+------------+
-| name | species | birth |
-+----------+---------+------------+
-| Chirpy | bird | 1998-09-11 |
-| Whistler | bird | 1997-12-09 |
-| Claws | cat | 1994-03-17 |
-| Fluffy | cat | 1993-02-04 |
-| Fang | dog | 1990-08-27 |
-| Bowser | dog | 1989-08-31 |
-| Buffy | dog | 1989-05-13 |
-| Puffball | hamster | 1999-03-30 |
-| Slim | snake | 1996-04-29 |
-+----------+---------+------------+
-@end example
-
-Note that the @code{DESC} keyword applies only to the column name immediately
-preceding it (@code{birth}); @code{species} values are still sorted in
-ascending order.
-
-@node Date calculations, Working with NULL, Sorting rows, Retrieving data
-@subsubsection ÆüÉդη׻»
-
-@strong{MySQL} ¤Ï¤¤¤¯¤Ä¤«¤ÎÆüÉդη׻»¤ò¹Ô¤¦´Ø¿ô¤òÄ󶡤·¤Þ¤¹¡£
-Î㤨¤Ð¡¢Ç¯¤Î·×»»¤äÆüÉÕ¤ÎÉôʬ¤ò¼è¤ê½Ð¤·¤¿¤ê¡£
-
-¥Ú¥Ã¥È¤ÎǯÎ𤬲¿ºÍ¤Ê¤Î¤«¤òÃΤ뤿¤á¤Ë¤Ï¡¢¸½ºß¤ÎÆüÉÕ¤ÈÃÂÀ¸Æü¤È¤Îº¹¤ò·×»»
-¤·¤Þ¤¹¡£ ¤³¤Î¤¿¤á¤Ë¤Ï¡¢Æó¤Ä¤ÎÆüÉÕ¤òÆü¿ô¤Ëľ¤·¡¢º¹¤ò¼è¤ê¡¢¤½¤·¤Æ 365
-(ǯ¤ÎÆü¿ô) ¤Ç³ä¤ê¤Þ¤¹¡§
-
-@example
-mysql> SELECT name, (TO_DAYS(NOW())-TO_DAYS(birth))/365 FROM pet;
-+----------+-------------------------------------+
-| name | (TO_DAYS(NOW())-TO_DAYS(birth))/365 |
-+----------+-------------------------------------+
-| Fluffy | 6.15 |
-| Claws | 5.04 |
-| Buffy | 9.88 |
-| Fang | 8.59 |
-| Bowser | 9.58 |
-| Chirpy | 0.55 |
-| Whistler | 1.30 |
-| Slim | 2.92 |
-| Puffball | 0.00 |
-+----------+-------------------------------------+
-@end example
-
-¥¯¥¨¥ê¤ÏÆ°¤­¤Þ¤·¤¿¤¬¡¢²þÎɤ·¤¿¤¤¤¯¤Ä¤«¤Î¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-Âè1¤Ë¡¢¤³¤Î·ë²Ì¤Ï¡¢¤â¤·¥ì¥³¡¼¥É¤Ë¤¤¤¯¤Ä¤«¤Î½çÈÖ¤òÍ¿¤¨¤ì¤Ð¡¢´Êñ¤ËʤӴ¹¤¨¤¬
-½ÐÍ褽¤¦¤Ê¤³¤È¡£
-Âè2¤Ë¡¢Ç¯ÎðÍó¤Î¸«½Ð¤·¤Ï¡¢¤³¤Î¤Þ¤Þ¤Ç¤Ï¤Ê¤ó¤Ê¤Î¤«Ê¬¤«¤ê¤Þ¤»¤ó¡£
-
-ºÇ½é¤ÎÌäÂê¤Ï @code{ORDER BY name} Àá¤ò²Ã¤¨¤ë¤³¤È¤Ç name ½ç¤ÇʤӴ¹¤¨¤¬½ÐÍè¤Þ¤¹¡£
-Æó¤ÄÌܤÎÌäÂê¤ËÂФ·¤Æ¤Ï¡¢°ã¤¦¸«½Ð¤·¤ò½ÐÎϤ˸½¤ì¤ë¤è¤¦¤Ë¡¢Íó¤Î¸«½Ð¤·¤ò
-°·¤¤¤Þ¤¹ (¤³¤ì¤ò ¥Õ¥£¡¼¥ë¥É¤Î¥¨¥¤¥ê¥¢¥¹ ¤È¸Æ¤Ó¤Þ¤¹) :
-
-@example
-mysql> SELECT name, (TO_DAYS(NOW())-TO_DAYS(birth))/365 AS age
- -> FROM pet ORDER BY name;
-+----------+------+
-| name | age |
-+----------+------+
-| Bowser | 9.58 |
-| Buffy | 9.88 |
-| Chirpy | 0.55 |
-| Claws | 5.04 |
-| Fang | 8.59 |
-| Fluffy | 6.15 |
-| Puffball | 0.00 |
-| Slim | 2.92 |
-| Whistler | 1.30 |
-+----------+------+
-@end example
-
-@code{name} ¤Ç¤Ï¤Ê¤¯ @code{age} ¤ÇʤӴ¹¤¨¤ë¤Ë¤Ï¡¢ @code{ORDER BY} Àá¤ò
-°Ê²¼¤Î¤è¤¦¤ËÊѤ¨¤Þ¤¹¡§
-
-@example
-mysql> SELECT name, (TO_DAYS(NOW())-TO_DAYS(birth))/365 AS age
- -> FROM pet ORDER BY age;
-+----------+------+
-| name | age |
-+----------+------+
-| Puffball | 0.00 |
-| Chirpy | 0.55 |
-| Whistler | 1.30 |
-| Slim | 2.92 |
-| Claws | 5.04 |
-| Fluffy | 6.15 |
-| Fang | 8.59 |
-| Bowser | 9.58 |
-| Buffy | 9.88 |
-+----------+------+
-@end example
-
-»÷¤¿¥¯¥¨¥ê¤¬¡¢´û¤Ë»à¤ó¤Ç¤·¤Þ¤Ã¤¿Æ°Êª¤Î¡¢»à¤ó¤À»þÅÀ¤ÎǯÎð¤òÄ´¤Ù¤ë¤Î¤Ë¤â
-»ÈÍѤǤ­¤Þ¤¹¡£ ¤É¤Îưʪ¤¬»à¤ó¤Ç¤¤¤ë¤«¤É¤¦¤«¤Ï¡¢@code{death} Ãͤ¬ @code{NULL} ¤«
-¤É¤¦¤«¤ÇȽÃǤ·¤Þ¤¹¡£ ¤³¤ì¤é¤ÎÃͤ¬ Èó@code{NULL} ¤Ê¤é¤Ð¡¢ @code{death} ¤È @code{birth}
-¤Îº¹¤Î·×»»¤ò¹Ô¤¤¤Þ¤¹¡§
-
-@example
-mysql> SELECT name, birth, death, (TO_DAYS(death)-TO_DAYS(birth))/365 AS age
- -> FROM pet WHERE death IS NOT NULL ORDER BY age;
-+--------+------------+------------+------+
-| name | birth | death | age |
-+--------+------------+------------+------+
-| Bowser | 1989-08-31 | 1995-07-29 | 5.91 |
-+--------+------------+------------+------+
-@end example
-
-¤³¤Î¥¯¥¨¥ê¤Ç¤Ï¡¢ @code{death != NULL} ¤Ç¤Ï¤Ê¤¯ @code{death IS NOT NULL} ¤ò
-»ÈÍѤ·¤Þ¤¹¡£ ¤Ê¤¼¤Ê¤é¡¢ @code{NULL} ¤ÏÆÃÊ̤ÊÃͤÀ¤«¤é¤Ç¤¹¡£ ¤³¤ì¤Ï¸å¤Ç²òÀ⤷¤Þ¤¹¡£
-@xref{Working with NULL, , Working with @code{NULL}}.
-
-¤â¤·¤¢¤Ê¤¿¤¬Íâ·îÃÂÀ¸Æü¤Îưʪ¤òÃΤꤿ¤¤¤È¤·¤Þ¤¹¡£ ¤³¤Î¼ï¤Î·×»»¤Ç¤Ï¡¢
-ǯ¤ÈÆü¤¬´Ø·¸¤¢¤ê¤Þ¤»¤ó¡£ @code{birth} ¥Õ¥£¡¼¥ë¥É¤Î·î¤À¤±¤òñ¤Ë
-¼è¤ê½Ð¤·¤¿¤¯¤Ê¤ë¤Ç¤·¤ç¤¦¡£ @strong{MySQL} ¤ÏÆüÉÕ¤ÎÉôʬ¤ò¼è¤ê½Ð¤¹¤¤¤¯¤Ä¤«¤Î´Ø¿ô¤ò
-Ä󶡤·¤Þ¤¹¡£ @code{YEAR()}, @code{MONTH()}, @code{DAYOFMONTH()} ¤Ê¤É¡£
-¤³¤³¤Ç¤Ï @code{MONTH()} ¤¬¤¤¤¤¤Ç¤·¤ç¤¦¡£ ¤³¤ì¤¬¤É¤Î¤è¤¦¤ËÆ°¤¯¤«³Î¤«¤á¤ë¤Ë¤Ï¡¢
-@code{birth} ¤È @code{MONTH(birth)} ¤ÎξÊý¤òɽ¼¨¤µ¤»¤ë¥¯¥¨¥ê¤ò¼Â¹Ô¤·¤Æ¤ß¤Þ¤¹¡§
-
-@example
-mysql> SELECT name, birth, MONTH(birth) FROM pet;
-+----------+------------+--------------+
-| name | birth | MONTH(birth) |
-+----------+------------+--------------+
-| Fluffy | 1993-02-04 | 2 |
-| Claws | 1994-03-17 | 3 |
-| Buffy | 1989-05-13 | 5 |
-| Fang | 1990-08-27 | 8 |
-| Bowser | 1989-08-31 | 8 |
-| Chirpy | 1998-09-11 | 9 |
-| Whistler | 1997-12-09 | 12 |
-| Slim | 1996-04-29 | 4 |
-| Puffball | 1999-03-30 | 3 |
-+----------+------------+--------------+
-@end example
-
-Íè·îÃÂÀ¸Æü¤ò·Þ¤¨¤ëưʪ¤ò¸«¤Ä¤±¤ë¤Î¤Ï´Êñ¤Ç¤¹¡£ ¸½ºß4·î¤À¤È¤·¤Þ¤¹¡£
-¤¹¤ë¤È¡¢5·îÀ¸¤Þ¤ì¤Îưʪ¤òõ¤·¤Þ¤¹¡§
-
-@example
-mysql> SELECT name, birth FROM pet WHERE MONTH(birth) = 5;
-+-------+------------+
-| name | birth |
-+-------+------------+
-| Buffy | 1989-05-13 |
-+-------+------------+
-@end example
-
-¤â¤·¸½ºß¤¬12·î¤Ê¤é¡¢¤Á¤ç¤Ã¤Èº¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ·î¤Î¿ô»ú (@code{12}) ¤Ë
-1 ¤ò­¤·¤Æ 13 ·îÀ¸¤Þ¤ì¤Îưʪ¤òõ¤¹¤ï¤±¤Ë¤Ï¤¤¤­¤Þ¤»¤ó¡£ ¤«¤ï¤ê¤Ë1·îÀ¸¤Þ¤ì¤Î
-ưʪ¤òõ¤·¤Þ¤¹¡£
-
-¸½ºß¤¬²¿·î¤Ê¤Î¤«¤òµ¤¤Ë¤¹¤ë¤³¤È¤Ê¤¯¡¢Æ°ºî¤¹¤ë¥¯¥¨¥ê¤ò½ñ¤¯¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-¤³¤ÎÊýË¡¤Ç¤Ï¡¢¤¢¤Ê¤¿¤Ï·î¤Î¿ô»ú¤ò¥¯¥¨¥ê¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤»¤ó¡£
-@code{DATE_ADD()} ´Ø¿ô¤ÏÍ¿¤¨¤¿ÆüÉÕ¤«¤é¤¢¤ë»þ´Ö¤ò­¤¹¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-¤â¤·¸½»þÅÀ @code{NOW()} ¤ÎÃÍ¤Ë 1¥ö·î ­¤·¡¢ @code{MONTH()} ¤Ç·î¤Î
-Éôʬ¤ò¼è¤ê½Ð¤·¡¢¤½¤Î·ë²Ì¤ò¡¢ÃÂÀ¸·î¤òÄ´¤Ù¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡§
-
-@example
-mysql> SELECT name, birth FROM pet
- -> WHERE MONTH(birth) = MONTH(DATE_ADD(NOW(), INTERVAL 1 MONTH));
-@end example
-
-Ʊ¤¸¤³¤È¤¬¤Ç¤­¤ëÊ̤ÎÊýË¡¤È¤·¤Æ¡¢¾ê;´Ø¿ô ¤ò»ÈÍѤ·¤¿·ë²Ì¤Ë 1 ¤ò­¤¹ÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
-(¤â¤·º£·î¤¬12·î¤Ê¤é¡¢¾ê;´Ø¿ô (@code{MOD}) ¤ò»ÈÍѤ·¤¿·ë²Ì¤Ï @code{0} ¤Ë¤Ê¤ê¤Þ¤¹)¡§
-
-@example
-mysql> SELECT name, birth FROM pet
- -> WHERE MONTH(birth) = MOD(MONTH(NOW()), 12) + 1;
-@end example
-
-Note that @code{MONTH} return a number between 1 and 12. And
-@code{MOD(something,12)} returns a number between 0 and 11. So the
-addition has to be after the @code{MOD()} oterwise we would go from
-November (11) to January (1).
-
-@node Working with NULL, Pattern matching, Date calculations, Retrieving data
-@subsubsection @code{NULL} ÃͤﶤëÉñ¤¤
-
-¤¢¤Ê¤¿¤¬¤½¤ì¤Ë´·¤ì¤ë¤Þ¤Ç¤Ï¡¢@code{NULL} Ãͤˤ϶䯤«¤â¤·¤ì¤Þ¤»¤ó¡£
-³µÇ°Åª¤Ë¡¢@code{NULL} ÃÍ¤Ï ``ÃÍ̵¤·'' ¤« ``̤ÃΤÊÃÍ'' ¤ò°ÕÌ£¤·¡¢
-¾¤ÎÃͤè¤ê¤â¤¤¤¯¤Ö¤ó°Û¤Ê¤Ã¤Æ°·¤ï¤ì¤Þ¤¹¡£
-@code{NULL} ¤Îɾ²Á¤ÎºÝ¤Ë¤Ï¡¢¿ôÃͤÎÈæ³Ó±é»»»Ò @code{=}, @code{<}, @code{!=} ¤ò
-»ÈÍѤ¹¤ë¤³¤È¤Ï½ÐÍè¤Þ¤»¤ó¡£ ¤¢¤Ê¤¿¼«¿È¤³¤ì¤ò¥Ç¥â¤¹¤ë¤¿¤á¤Ë¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡§
-
-@example
-mysql> SELECT 1 = NULL, 1 != NULL, 1 < NULL, 1 > NULL;
-+----------+-----------+----------+----------+
-| 1 = NULL | 1 != NULL | 1 < NULL | 1 > NULL |
-+----------+-----------+----------+----------+
-| NULL | NULL | NULL | NULL |
-+----------+-----------+----------+----------+
-@end example
-
-³Î¼Â¤Ë¤³¤ì¤é¤ÎÈæ³Ó¤«¤é¤¤¤«¤Ê¤ë°ÕÌ£¤¬¤¢¤ë·ë²Ì¤â¼õ¤±¼è¤ê¤Þ¤»¤ó¡£
-¤³¤ÎÂå¤ï¤ê¤Ë¡¢ @code{IS NULL} , @code{IS NOT NULL} ±é»»»Ò¤ò»ÈÍѤ·¤Þ¤¹¡§
-
-@example
-mysql> SELECT 1 IS NULL, 1 IS NOT NULL;
-+-----------+---------------+
-| 1 IS NULL | 1 IS NOT NULL |
-+-----------+---------------+
-| 0 | 1 |
-+-----------+---------------+
-@end example
-
-@strong{MySQL} ¤Ç¤Ï, 0 ¤Ï false¡Êµ¶¡Ë ¤Ç¡¢1 ¤¬ true¡Ê¿¿¡Ë¤Ç¤¹¡£
-
-¤³¤Î @code{NULL} ¤ÎÆÃÊ̤ʰ·¤¤¤Ï¤Ê¤¼¤Ê¤Î¤«¡£ Á°¤Î¥»¥¯¥·¥ç¥ó¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£
-¤É¤Îưʪ¤¬¤â¤Ï¤äÀ¸¤­¤Æ¤¤¤Ê¤¤¤³¤È¤ò·èÄê¤Å¤±¤ë¤¿¤á¤Ë¤Ï¡¢
-@code{death != NULL} ¤Ç¤Ï¤Ê¤¯ @code{death IS NOT NULL} ¤Î»ÈÍѤ¬
-ɬÍפȤµ¤ì¤ë¤Î¤Ç¤¹¡£
-
-@node Pattern matching, Counting rows, Working with NULL, Retrieving data
-@subsubsection ¥Ñ¥¿¡¼¥ó¡¦¥Þ¥Ã¥Á
-
-@strong{MySQL} ¤Ïɸ½àSQL¤Î¥Ñ¥¿¡¼¥ó¡¦¥Þ¥Ã¥Á¤òÄ󶡤·¤Þ¤¹¡£
-¤Þ¤¿¡¢³ÈÄ¥¤µ¤ì¤¿Àµµ¬É½¸½¤ò´ð¤Ë¤·¤¿·Á¼°¤Î¥Ñ¥¿¡¼¥ó¡¦¥Þ¥Ã¥Á¡¢
-¤³¤ì¤Ï @code{vi}, @code{grep} and @code{sed} ¤Ê¤É UNIX ¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ë
-»ÈÍѤµ¤ì¤Æ¤¤¤ëʪ¤È»÷¤Æ¤¤¤Þ¤¹¤¬¡¢¤³¤ì¤âÄ󶡤·¤Þ¤¹¡£
-
-SQL ¥Ñ¥¿¡¼¥ó¡¦¥Þ¥Ã¥Á¤Ï¡¢ @samp{_} ¤Ç¤¤¤«¤Ê¤ë£±Ê¸»ú¤È¤â°ìÃפ·¡¢
-@samp{%} ¤Ç¤¢¤é¤æ¤ë0¤³°Ê¾å¤Îʸ»úÎó¤Ë°ìÃפ·¤Þ¤¹¡£
-@strong{MySQL} ¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç SQL ¥Ñ¥¿¡¼¥ó¤Ï¥±¡¼¥¹Èó°Í¸¤Ç¤¹¡£
-¤¤¤¯¤Ä¤«Îã¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£ SQL¥Ñ¥¿¡¼¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢ @code{=} ¤ä
-@code{!=} ¤ò»ÈÍѤ·¤Ê¤¤¤è¤¦¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ @code{LIKE} ¤« @code{NOT LIKE}
-¤òÂå¤ï¤ê¤Ë»ÈÍѤ·¤Þ¤¹¡£
-
-@samp{b} ¤«¤é»Ï¤Þ¤ë̾Á°¤ò¸«¤Ä¤±¤ë¤Ë¤Ï:
-
-@example
-mysql> SELECT * FROM pet WHERE name LIKE "b%";
-+--------+--------+---------+------+------------+------------+
-| name | owner | species | sex | birth | death |
-+--------+--------+---------+------+------------+------------+
-| Buffy | Harold | dog | f | 1989-05-13 | NULL |
-| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
-+--------+--------+---------+------+------------+------------+
-@end example
-
-@samp{fy} ¤Ç½ª¤ï¤ë̾Á°¤ò¸«¤Ä¤±¤ë¤Ë¤Ï:
-
-@example
-mysql> SELECT * FROM pet WHERE name LIKE "%fy";
-+--------+--------+---------+------+------------+-------+
-| name | owner | species | sex | birth | death |
-+--------+--------+---------+------+------------+-------+
-| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
-| Buffy | Harold | dog | f | 1989-05-13 | NULL |
-+--------+--------+---------+------+------------+-------+
-@end example
-
-@samp{w} ¤ò´Þ¤à̾Á°¤ò¸«¤Ä¤±¤ë¤Ë¤Ï:
-
-@example
-mysql> SELECT * FROM pet WHERE name LIKE "%w%";
-+----------+-------+---------+------+------------+------------+
-| name | owner | species | sex | birth | death |
-+----------+-------+---------+------+------------+------------+
-| Claws | Gwen | cat | m | 1994-03-17 | NULL |
-| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
-| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
-+----------+-------+---------+------+------------+------------+
-@end example
-
-5ʸ»ú¤Î̾Á°¤ò¸«¤Ä¤±¤ë¤Ë¤Ï, @samp{_} ¥Ñ¥¿¡¼¥óʸ»ú¤ò»ÈÍѤ·¤Æ¡§
-
-@example
-mysql> SELECT * FROM pet WHERE name LIKE "_____";
-+-------+--------+---------+------+------------+-------+
-| name | owner | species | sex | birth | death |
-+-------+--------+---------+------+------------+-------+
-| Claws | Gwen | cat | m | 1994-03-17 | NULL |
-| Buffy | Harold | dog | f | 1989-05-13 | NULL |
-+-------+--------+---------+------+------------+-------+
-@end example
-
-@strong{MySQL} ¤Ç¤Ï¾¤Î¥Ñ¥¿¡¼¥ó¡¦¥Þ¥Ã¥Á¤Î·Á¤âÄ󶡤µ¤ì¤Þ¤¹¡£Àµµ¬É½¸½¤Î³ÈÄ¥¤ò»ÈÍѤ·¤Æ¡£
-¤³¤ì¤é¤Î¥Ñ¥¿¡¼¥ó¡¦¥Þ¥Ã¥Á¤ò¥Æ¥¹¥È¤¹¤ëºÝ¤Ë¤Ï¡¢@code{REGEXP} ¤È @code{NOT REGEXP}
-±é»»»Ò¡Ê¤¢¤ë¤¤¤Ï@code{RLIKE}, @code{NOT RLIKE} ±é»»»Ò¡£¤³¤ì¤é¤ÏƱµÁ¤Ç¤¹¡Ë
-¤ò»ÈÍѤ·¤Þ¤¹¡£
-
-³ÈÄ¥Àµµ¬É½¸½¤Î¤¤¤¯¤Ä¤«¤ÎÆÃħ¡§
-
-@itemize @bullet
-@item
-@samp{.} ¤Ï¤¤¤«¤Ê¤ë°ìʸ»ú¤È¤â°ìÃפ·¤Þ¤¹¡£
-
-@item
-@samp{[...]} ¤Ï¡¢¤«¤Ã¤³Æâ¤Ë¤¢¤ëʸ»ú¤È°ìÃפ·¤Þ¤¹¡£
-Î㤨¤Ð¡¢@samp{[abc]} ¤Ï @samp{a}, @samp{b} ¤¢¤ë¤¤¤Ï @samp{c} ¤Ë¥Þ¥Ã¥Á¤·¤Þ¤¹¡£
-ʸ»ú¤òÈÏ°Ï»ØÄꤹ¤ë¾ì¹ç¤Ë¤Ï¥À¥Ã¥·¥å¤ò»ÈÍѤ·¤Þ¤¹¡£ @samp{[a-z]} ¤Ï¤¤¤«¤Ê¤ë
-¾®Ê¸»ú¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥Èʸ»ú¤Ë¤â°ìÃפ·¡¢ @samp{[0-9]} ¤Ï¤¤¤«¤Ê¤ë¿ô»ú¤Ë¤â
-°ìÃפ·¤Þ¤¹¡£
-
-@item
-@samp{*} ¤Ï¡¢Àè¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ëʸ»ú 0 ¸Ä°Ê¾å¤Ë¥Þ¥Ã¥Á¤·¤Þ¤¹¡£
-Î㤨¤Ð¡¢@samp{x*} ¤Ï ʸ»ú @samp{x} ¤¬¤¤¤¯¤Ä¤âϢ³¤·¤Æ¤¤¤ëʪ¤Ë¥Þ¥Ã¥Á¤·¡¢
-@samp{[0-9]*} ¤Ï¤¤¤«¤Ê¤ë¿ôÃͤȤâ¥Þ¥Ã¥Á¤·¡¢ @samp{.*} ¤Ï¤¢¤é¤æ¤ëʸ»úÎó¤Ë
-°ìÃפ·¤Þ¤¹¡£
-
-@item
-Àµµ¬É½¸½¤Ï¥±¡¼¥¹°Í¸¤Ç¤¹¡£ ¤·¤«¤·Âçʸ»ú¾®Ê¸»ú¤É¤Á¤é¤Ç¤â¥Þ¥Ã¥Á¤µ¤»¤¿¤¤¾ì¹ç¡¢
-ʸ»ú¥¯¥é¥¹¤ò»ÈÍѤǤ­¤Þ¤¹¡£ Î㤨¤Ð¡¢ @samp{[aA]} ¤ÏÂçʸ»ú¾®Ê¸»ú¤Î @samp{a} ¤Ë
-¥Þ¥Ã¥Á¤·¡¢@samp{[a-zA-Z]} ¤ÏÂçʸ»ú¾®Ê¸»ú¤Î¤¤¤«¤Ê¤ë¥¢¥ë¥Õ¥¡¥Ù¥Ã¥Èʸ»ú¤Ë¤â¥Þ¥Ã¥Á¤·¤Þ¤¹¡£
-
-@item
-¥Ñ¥¿¡¼¥ó¤Ï¡¢¥Æ¥¹¥È¤µ¤ì¤¿ÃͤÎÃæ¤Î¤É¤³¤«¤Ë¤¢¤ë¾ì¹ç¡¢¥Þ¥Ã¥Á¤·¤Þ¤¹¡£
-(SQL patterns match only if they match the entire value).
-
-@item
-ÃͤΤϤ¸¤á¡¢¤¢¤ë¤¤¤Ï½ª¤ï¤ê¤Ë°ÌÃÖ¤ò»ØÄꤷ¤Æ¥Þ¥Ã¥Á¤µ¤»¤¿¤¤¾ì¹ç¤Ï¡¢
-¥Ñ¥¿¡¼¥ó¤Î½é¤á¤Ë¥Þ¥Ã¥Á¤µ¤»¤ë¾ì¹ç¤Ï @samp{^} ¤ò»ÈÍѤ·¡¢
-¥Ñ¥¿¡¼¥ó¤Î½ª¤ï¤ê¤Ë¥Þ¥Ã¥Á¤µ¤»¤ë¾ì¹ç¤Ï @samp{$} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-(¤³¤ì¤é¤Ï¥¢¥ó¥«¡¼¤È¸Æ¤Ð¤ì¤Þ¤¹)
-@end itemize
-
-°Ê²¼¤Ï³ÈÄ¥¤µ¤ì¤¿Àµµ¬É½¸½¤¬¤É¤¦Æ°¤¯¤«¤ÎÎã¤Ç¤¹¡£
-¾å¤Ë¼¨¤·¤¿ @code{LIKE} ¤Î¥¯¥¨¥ê¤Ï @code{REGEXP} ¤Ç°Ê²¼¤Î¤è¤¦¤Ë½ñ¤­´¹¤¨¤ì¤Þ¤¹¡§
-
-@samp{b} ¤Ç»Ï¤Þ¤ë̾Á°¤ò¤ß¤Ä¤±¤ë¤Ë¤Ï¡¢@samp{^} ¤Ç̾Á°¤ÎƬ¤Ë¥Þ¥Ã¥Á¤µ¤»¡¢
-¤«¤Ä @samp{[bB]} ¤È¤·¤Æ¡¢Âçʸ»ú¾®Ê¸»ú¤Ë¤â¥Þ¥Ã¥Á¤µ¤»¤Þ¤¹¡§
-
-@example
-mysql> SELECT * FROM pet WHERE name REGEXP "^[bB]";
-+--------+--------+---------+------+------------+------------+
-| name | owner | species | sex | birth | death |
-+--------+--------+---------+------+------------+------------+
-| Buffy | Harold | dog | f | 1989-05-13 | NULL |
-| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
-+--------+--------+---------+------+------------+------------+
-@end example
-
-@samp{fy} ¤Ç½ª¤ï¤ë̾Á°¤ò¸«¤Ä¤±¤ë¤Ë¤Ï¡¢ @samp{$} ¤ò»ÈÍѤ·¤Æ̾Á°¤Î
-ºÇ¸å¤Ë¥Þ¥Ã¥Á¤µ¤»¤Þ¤¹¡§
-
-@example
-mysql> SELECT * FROM pet WHERE name REGEXP "fy$";
-+--------+--------+---------+------+------------+-------+
-| name | owner | species | sex | birth | death |
-+--------+--------+---------+------+------------+-------+
-| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
-| Buffy | Harold | dog | f | 1989-05-13 | NULL |
-+--------+--------+---------+------+------------+-------+
-@end example
-
-@samp{w} ¤ò´Þ¤à̾Á°¤ò¸«¤Ä¤±¤ë¤Ë¤Ï¡¢@samp{[wW]} ¤ò»ÈÍѤ·¤Æ
-Âçʸ»ú¾®Ê¸»ú¤Ë¥Þ¥Ã¥Á¤µ¤»¤Þ¤¹¡§
-
-@example
-mysql> SELECT * FROM pet WHERE name REGEXP "[wW]";
-+----------+-------+---------+------+------------+------------+
-| name | owner | species | sex | birth | death |
-+----------+-------+---------+------+------------+------------+
-| Claws | Gwen | cat | m | 1994-03-17 | NULL |
-| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
-| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
-+----------+-------+---------+------+------------+------------+
-@end example
-
-Àµµ¬É½¸½¤Ï¤â¤·ÃÍÃæ¤Î¤É¤³¤«¤Ë¤Ç¤â¤¢¤ì¤Ð¥Þ¥Ã¥Á¤¹¤ë¤¿¤á¡¢
-SQL ¥Ñ¥¿¡¼¥ó¤Î¤è¤¦¤Ë¡¢¥Ñ¥¿¡¼¥ó¤ÎÁ°¸å¤Ë¥ï¥¤¥ë¥É¥«¡¼¥É¤ò½ñ¤¯É¬ÍפϤ¢¤ê¤Þ¤»¤ó¡£
-
-5ʸ»ú¤Î̾Á°¤ò¸«¤Ä¤±¤ë¤Ë¤Ï¡¢@samp{^} ¤È @samp{$} ¤ò»ÈÍѤ·¤Æ̾Á°¤Î½é¤á¤È½ª¤ï¤ê¤Ë
-¥Þ¥Ã¥Á¤µ¤»¡¢¤½¤Î´Ö¤Ë @samp{.} ¤ò5¸ÄÆþ¤ì¤Þ¤¹¡§
-
-@example
-mysql> SELECT * FROM pet WHERE name REGEXP "^.....$";
-+-------+--------+---------+------+------------+-------+
-| name | owner | species | sex | birth | death |
-+-------+--------+---------+------+------------+-------+
-| Claws | Gwen | cat | m | 1994-03-17 | NULL |
-| Buffy | Harold | dog | f | 1989-05-13 | NULL |
-+-------+--------+---------+------+------------+-------+
-@end example
-
-Á°¤Î¥¯¥¨¥ê¤Ï @samp{@{n@}} ``@code{n}²ó·«¤êÊÖ¤·'' ¥ª¥Ú¥ì¡¼¥¿¡¼¤Ç
-½ñ´¹¤¨²Äǽ¤Ç¤¹¡£
-
-@example
-mysql> SELECT * FROM pet WHERE name REGEXP "^.@{5@}$";
-+-------+--------+---------+------+------------+-------+
-| name | owner | species | sex | birth | death |
-+-------+--------+---------+------+------------+-------+
-| Claws | Gwen | cat | m | 1994-03-17 | NULL |
-| Buffy | Harold | dog | f | 1989-05-13 | NULL |
-+-------+--------+---------+------+------------+-------+
-@end example
-
-@node Counting rows, , Pattern matching, Retrieving data
-@subsubsection Counting rows
-
-Databases are often used to answer the question, ``How often does a certain
-type of data occur in a table?'' For example, you might want to know how
-many pets you have, or how many pets each owner has, or you might want to
-perform various kinds of censuses on your animals.
-
-Counting the total number of animals you have is the same question as ``How
-many rows are in the @code{pet} table?,'' because there is one record per pet.
-The @code{COUNT()} function counts the number of non-@code{NULL} results, so
-the query to count your animals looks like this:
-
-@example
-mysql> SELECT COUNT(*) FROM pet;
-+----------+
-| COUNT(*) |
-+----------+
-| 9 |
-+----------+
-@end example
-
-Earlier, you retrieved the names of the people who owned pets. You can
-use @code{COUNT()} if you want to find out how many pets each owner has:
-
-@example
-mysql> SELECT owner, COUNT(*) FROM pet GROUP BY owner;
-+--------+----------+
-| owner | COUNT(*) |
-+--------+----------+
-| Benny | 2 |
-| Diane | 2 |
-| Gwen | 3 |
-| Harold | 2 |
-+--------+----------+
-@end example
-
-Note the use of @code{GROUP BY} to group together all records for each
-@code{owner}. Without it, all you get is an error message:
-
-@example
-mysql> SELECT owner, COUNT(owner) FROM pet;
-ERROR 1140 at line 1: Mixing of GROUP columns (MIN(),MAX(),COUNT()...)
-with no GROUP columns is illegal if there is no GROUP BY clause
-@end example
-
-@code{COUNT()} and @code{GROUP BY} are useful for characterizing your
-data in various ways. The following examples show different ways to
-perform animal census operations.
-
-Number of animals per species:
-
-@example
-mysql> SELECT species, COUNT(*) FROM pet GROUP BY species;
-+---------+----------+
-| species | COUNT(*) |
-+---------+----------+
-| bird | 2 |
-| cat | 2 |
-| dog | 3 |
-| hamster | 1 |
-| snake | 1 |
-+---------+----------+
-@end example
-
-Number of animals per sex:
-
-@example
-mysql> SELECT sex, COUNT(*) FROM pet GROUP BY sex;
-+------+----------+
-| sex | COUNT(*) |
-+------+----------+
-| NULL | 1 |
-| f | 4 |
-| m | 4 |
-+------+----------+
-@end example
-
-(In this output, @code{NULL} indicates ``sex unknown.'')
-
-Number of animals per combination of species and sex:
-
-@example
-mysql> SELECT species, sex, COUNT(*) FROM pet GROUP BY species, sex;
-+---------+------+----------+
-| species | sex | COUNT(*) |
-+---------+------+----------+
-| bird | NULL | 1 |
-| bird | f | 1 |
-| cat | f | 1 |
-| cat | m | 1 |
-| dog | f | 1 |
-| dog | m | 2 |
-| hamster | f | 1 |
-| snake | m | 1 |
-+---------+------+----------+
-@end example
-
-You need not retrieve an entire table when you use @code{COUNT()}. For
-example, the previous query, when performed just on dogs and cats, looks like
-this:
-
-@example
-mysql> SELECT species, sex, COUNT(*) FROM pet
- -> WHERE species = "dog" OR species = "cat"
- -> GROUP BY species, sex;
-+---------+------+----------+
-| species | sex | COUNT(*) |
-+---------+------+----------+
-| cat | f | 1 |
-| cat | m | 1 |
-| dog | f | 1 |
-| dog | m | 2 |
-+---------+------+----------+
-@end example
-
-Or, if you wanted the number of animals per sex only for known-sex animals:
-
-@example
-mysql> SELECT species, sex, COUNT(*) FROM pet
- -> WHERE sex IS NOT NULL
- -> GROUP BY species, sex;
-+---------+------+----------+
-| species | sex | COUNT(*) |
-+---------+------+----------+
-| bird | f | 1 |
-| cat | f | 1 |
-| cat | m | 1 |
-| dog | f | 1 |
-| dog | m | 2 |
-| hamster | f | 1 |
-| snake | m | 1 |
-+---------+------+----------+
-@end example
-
-@node Multiple tables, , Retrieving data, Database use
-@subsection Using more than one table
-
-The @code{pet} table keeps track of which pets you have. If you want to
-record other information about them, such as events in their lives like
-visits to the vet or when litters are born, you need another table. What
-should this table look like?
-
-@itemize @bullet
-@item
-It needs to contain the pet name so you know which animal each event pertains
-to.
-
-@item
-It needs a date so you know when the event occurred.
-
-@item
-It needs a field to describe the event.
-
-@item
-If you want to be able to categorize events, it would be useful to have an
-event type field.
-@end itemize
-
-Given these considerations, the @code{CREATE TABLE} statement for the
-@code{event} table might look like this:
-
-@example
-mysql> CREATE TABLE event (name VARCHAR(20), date DATE,
- -> type VARCHAR(15), remark VARCHAR(255));
-@end example
-
-As with the @code{pet} table, it's easiest to load the initial records
-by creating a tab-delimited text file containing the information:
-
-@multitable @columnfractions .15 .15 .15 .55
-@item Fluffy @tab 1995-05-15 @tab litter @tab 4 kittens, 3 female, 1 male
-@item Buffy @tab 1993-06-23 @tab litter @tab 5 puppies, 2 female, 3 male
-@item Buffy @tab 1994-06-19 @tab litter @tab 3 puppies, 3 female
-@item Chirpy @tab 1999-03-21 @tab vet @tab needed beak straightened
-@item Slim @tab 1997-08-03 @tab vet @tab broken rib
-@item Bowser @tab 1991-10-12 @tab kennel
-@item Fang @tab 1991-10-12 @tab kennel
-@item Fang @tab 1998-08-28 @tab birthday @tab Gave him a new chew toy
-@item Claws @tab 1998-03-17 @tab birthday @tab Gave him a new flea collar
-@item Whistler @tab 1998-12-09 @tab birthday @tab First birthday
-@end multitable
-
-Load the records like this:
-
-@example
-mysql> LOAD DATA LOCAL INFILE "event.txt" INTO TABLE event;
-@end example
-
-Based on what you've learned from the queries you've run on the @code{pet}
-table, you should be able to perform retrievals on the records in the
-@code{event} table; the principles are the same. But when is the
-@code{event} table by itself insufficient to answer questions you might ask?
-
-Suppose you want to find out the ages of each pet when they had their
-litters. The @code{event} table indicates when this occurred, but to
-calculate age of the mother, you need her birth date. Because that is
-stored in the @code{pet} table, you need both tables for the query:
-
-@example
-mysql> SELECT pet.name, (TO_DAYS(date) - TO_DAYS(birth))/365 AS age, remark
- -> FROM pet, event
- -> WHERE pet.name = event.name AND type = "litter";
-+--------+------+-----------------------------+
-| name | age | remark |
-+--------+------+-----------------------------+
-| Fluffy | 2.27 | 4 kittens, 3 female, 1 male |
-| Buffy | 4.12 | 5 puppies, 2 female, 3 male |
-| Buffy | 5.10 | 3 puppies, 3 female |
-+--------+------+-----------------------------+
-@end example
-
-There are several things to note about this query:
-
-@itemize @bullet
-@item
-The @code{FROM} clause lists two tables because the query needs to pull
-information from both of them.
-
-@item
-When combining (joining) information from multiple tables, you need to
-specify how records in one table can be matched to records in the other.
-This is easy because they both have a @code{name} column. The query uses
-@code{WHERE} clause to match up records in the two tables based on the
-@code{name} values.
-
-@item
-Because the @code{name} column occurs in both tables, you must be specific
-about which table you mean when referring to the column. This is done
-by prepending the table name to the column name.
-@end itemize
-
-You need not have two different tables to perform a join. Sometimes it is
-useful to join a table to itself, if you want to compare records in a table
-to other records in that same table. For example, to find breeding pairs
-among your pets, you can join the @code{pet} table with itself to pair up
-males and females of like species:
-
-@example
-mysql> SELECT p1.name, p1.sex, p2.name, p2.sex, p1.species
- -> FROM pet AS p1, pet AS p2
- -> WHERE p1.species = p2.species AND p1.sex = "f" AND p2.sex = "m";
-+--------+------+--------+------+---------+
-| name | sex | name | sex | species |
-+--------+------+--------+------+---------+
-| Fluffy | f | Claws | m | cat |
-| Buffy | f | Fang | m | dog |
-| Buffy | f | Bowser | m | dog |
-+--------+------+--------+------+---------+
-@end example
-
-In this query, we specify aliases for the table name in order to be able
-to refer to the columns and keep straight which instance of the table
-each column reference is associated with.
-
-@node Getting information, Batch mode, Database use, Tutorial
-@section ¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¥Æ¡¼¥Ö¥ë¤Î¾ðÊó¤òÆÀ¤ë
-
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤ä¥Æ¡¼¥Ö¥ë¤Î̾Á°¤¬²¿¤Ç¤¢¤Ã¤¿¤«¡¢¤¢¤ë¤¤¤Ï¥Æ¡¼¥Ö¥ë¤Î¹½Â¤¤Ï¤É¤¦¤Ç¤¢¤Ã¤¿¤«¡¢
-(¤Ê¤ó¤È¤¤¤¦¥Õ¥£¡¼¥ë¥É¤¬¤¢¤Ã¤¿¤Î¤«)˺¤ì¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¡£
-@strong{MySQL} ¤Ç¤Ï¤¤¤¯¤Ä¤«¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¥Æ¡¼¥Ö¥ë¤Î¾ðÊó¤òÄ󶡤¹¤ëʸ¤òÄ̤¸¤Æ
-¤³¤ÎÌäÂê¤ò½èÍý¤·¤Þ¤¹¡£
-
-¤¢¤Ê¤¿¤Ï´û¤Ë @code{SHOW DATABASES} ¤òÃΤäƤ¤¤ë¤Ï¤º¤Ç, ¤³¤ì¤Ï¥µ¡¼¥Ð¡¼¤¬
-´ÉÍý¤¹¤ë¥Ç¡¼¥¿¡¼¥Ù¡¼¥¹¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£ ¸½ºßÁªÂò¤·¤Æ¤¤¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬
-²¿¤Ç¤¢¤ë¤«¤òÃΤë¤Ë¤Ï¡¢@code{DATABASE()} ´Ø¿ô¤ò»ÈÍѤ·¤Þ¤¹¡§
-
-@example
-mysql> SELECT DATABASE();
-+------------+
-| DATABASE() |
-+------------+
-| menagerie |
-+------------+
-@end example
-
-¤â¤·¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¤Þ¤À²¿¤âÁªÂò¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢·ë²Ì¤Ï¥Ö¥é¥ó¥¯¤Ç¤¹¡£
-
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë´Þ¤Þ¤ì¤ë¥Æ¡¼¥Ö¥ë¤ò¸«¤Ä¤±¤ë¤Ë¤Ï(¤¿¤È¤¨¤Ð¡¢¤¢¤Ê¤¿¤¬¥Æ¡¼¥Ö¥ë̾¤ò
-ÃΤé¤Ê¤¤¾ì¹ç)¡¢¤³¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡§
-
-@example
-mysql> SHOW TABLES;
-+---------------------+
-| Tables in menagerie |
-+---------------------+
-| event |
-| pet |
-+---------------------+
-@end example
-
-¤â¤·¥Æ¡¼¥Ö¥ë¤Î¹½Â¤¤òÃΤꤿ¤¤¤Ê¤é¡¢@code{DESCRIBE} ¥³¥Þ¥ó¥É¤¬ÊØÍø¤Ç¤¹¡¨
-¤³¤ì¤Ï¥Æ¡¼¥Ö¥ë¤Î¤½¤ì¤¾¤ì¤Î¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£
-
-@example
-mysql> DESCRIBE pet;
-+---------+-------------+------+-----+---------+-------+
-| Field | Type | Null | Key | Default | Extra |
-+---------+-------------+------+-----+---------+-------+
-| name | varchar(20) | YES | | NULL | |
-| owner | varchar(20) | YES | | NULL | |
-| species | varchar(20) | YES | | NULL | |
-| sex | char(1) | YES | | NULL | |
-| birth | date | YES | | NULL | |
-| death | date | YES | | NULL | |
-+---------+-------------+------+-----+---------+-------+
-@end example
-
-@code{Field} ¤Ï¥Õ¥£¡¼¥ë¥É̾¤ò¼¨¤·¡¢@code{Type} ¤Ï¥Õ¥£¡¼¥ë¥É¤Î¥Ç¡¼¥¿·¿¡¢
-@code{Null} ¤Ï¤³¤Î¥Õ¥£¡¼¥ë¥É¤¬ @code{Null} Ãͤò´Þ¤à¤«¤ò¼¨¤·¡¢
-@code{Key} ¤Ï¤³¤Î¥Õ¥£¡¼¥ë¥É¤¬¥¤¥ó¥Ç¥Ã¥¯¥¹²½¤µ¤ì¤Æ¤¤¤ë¤«¤ò¼¨¤·¡¢
-@code{Default} ¤Ï¥Õ¥£¡¼¥ë¥É¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÃͤò¼¨¤·¤Þ¤¹¡£
-
-¤â¤·¥Æ¡¼¥Ö¥ë¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢
-@code{SHOW INDEX FROM tbl_name} ¤¬¤½¤ì¤é¤Î¾ðÊó¤ò¼¨¤·¤Þ¤¹¡£
-
-@node Batch mode, Twin, Getting information, Tutorial
-@section @code{mysql} ¤Î¥Ð¥Ã¥Á¥â¡¼¥É¤Ç¤Î»ÈÍÑ
-
-Á°¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢@code{mysql} ¤òÂÐÏå⡼¥É¤Ç»ÈÍѤ·¡¢¥¯¥¨¥ê¤ÎÆþÎϤÈ
-·ë²Ì¤òɽ¼¨¤·¤Þ¤·¤¿¡£ @code{mysql} ¤Ï¥Ð¥Ã¥Á¥â¡¼¥É¤Ç¤â¼Â¹Ô²Äǽ¤Ç¤¹¡£
-¤³¤ì¤ò¹Ô¤¦¤Ë¤Ï¡¢¤¢¤Ê¤¿¤¬¼Â¹Ô¤·¤¿¤¤¥³¥Þ¥ó¥É¤ò¥Õ¥¡¥¤¥ë¤Ë½ñ¤¤¤Æ¤ª¤­¡¢
-¤½¤Î¥Õ¥¡¥¤¥ë¤«¤éÆþÎϤòÆɤ߹þ¤à¤è¤¦¤Ë¤·¤Æ @code{mysql} ¤ò¼Â¹Ô¤·¤Þ¤¹¡§
-
-@example
-shell> mysql < batch-file
-@end example
-
-¤â¤·Àܳ¥Ñ¥é¥á¥¿¡¼¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡§
-
-@example
-shell> mysql -h host -u user -p < batch-file
-Enter password: ********
-@end example
-
-¤³¤ÎÊýË¡¤Ç @code{mysql} ¤ò»ÈÍѤ¹¤ë¤È¤­¡¢¤¢¤Ê¤¿¤Ï¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤ò
-ºîÀ®¤·¡¢¤½¤ì¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-
-¤Ê¤¼¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ¹¤ë¤Î¤«¡© ¤½¤ì¤Ë¤Ï°Ê²¼¤ÎÍýͳ¤¬¤¢¤ê¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¤â¤··«¤êÊÖ¤·¥¯¥¨¥ê¤ò¼Â¹Ô¤¹¤ë¾ì¹ç(ËèÆü¤È¤«Ëè½µ¤È¤«)¡¢¥¹¥¯¥ê¥×¥È¤ò½ñ¤¯¤³¤È¤Ç¡¢
-¤½¤Î¼Â¹Ô¤ÎÅ٤ˤ¢¤Ê¤¿¤¬¥³¥Þ¥ó¥É¤ò¥¿¥¤¥×¤¹¤ë¤³¤È¤ò¾Ê¤¯¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-
-@item
-¤â¤·´û¤Ë¤¢¤ë¥¯¥¨¥ê¤Ë»÷¤¿¿·¤·¤¤¥¯¥¨¥ê¤ò½ñ¤¯¾ì¹ç¡¢¤½¤ì¤é¤ò¥³¥Ô¡¼¤·
-¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤Ç¤­¤Þ¤¹¡£
-
-@item
-¥Ð¥Ã¥Á¥â¡¼¥É¤Ï¥¯¥¨¥ê¤Î³«È¯Ãæ¤äÊ£¿ô¤Ë¤Þ¤¿¤¬¤ë¥³¥Þ¥ó¥É¤Ë¤ÏÌò¤ËΩ¤Á¤Þ¤¹¡£
-¤â¤·¥³¥Þ¥ó¥É¤¬´Ö°ã¤Ã¤Æ¤¤¤¿¤È¤·¤Æ¤âÁ´¤Æ¤òÂǤÁľ¤¹É¬Íפ¬¤¢¤ê¤Þ¤»¤ó¡£
-¥¨¥é¡¼¤ò½¤Àµ¤¹¤ë¤¿¤á¤Ë¥¹¥¯¥ê¥×¥È¤òÊÔ½¸¤·¡¢ºÆ¤Ó @code{mysql} ¤Ë¼Â¹Ô¤µ¤»¤Þ¤¹¡£
-
-@item
-¤â¤·Â¿¤¯¤Î½ÐÎϤò½Ð¤¹¤è¤¦¤Ê¥¯¥¨¥ê¤Î¾ì¹ç¡¢¥Ú¡¼¥¸¥ã¡¼¤ò»ÈÍѤ·¤Æ½ÐÎϤò¸«¤ë¤³¤È¤¬
-½ÐÍè¤Þ¤¹¡£ ½ÐÎϤ¬¥¹¥¯¥í¡¼¥ë¤·¤Æ²èÌ̤«¤é¸«¤¨¤Ê¤¯¤Ê¤ë¤è¤ê¤¤¤¤¤Ç¤·¤ç¤¦¡§
-
-@example
-shell> mysql < batch-file | more
-@end example
-
-@item
-¤¢¤Ê¤¿¤Ï¤è¤ê½èÍý¤ò¹Ô¤¦¤¿¤á¤Ë¡¢·ë²Ì¤ò¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤¹¤³¤È¤¬²Äǽ¤Ç¤¹¡§
-
-@example
-shell> mysql < batch-file > mysql.out
-@end example
-
-@item
-¤¢¤Ê¤¿¤Ï¡¢Â¾¿Í¤Ø¤Î¤¢¤Ê¤¿¤Î¥¹¥¯¥ê¥×¥È¤òÇÛÉÛ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¤Û¤«¤Î¿Í¤¿¤Á¤â
-¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@item
-¤¤¤¯¤Ä¤«¤Î¾õ¶·¤Ç¤Ï¡¢ÂÐÏå⡼¥É¤Ç¤Ï»ÈÍѤËÂѤ¨¤Þ¤»¤ó¡£ ¤¿¤È¤¨¤Ð¡¢¥¯¥¨¥ê¤ò
- @code{cron} ¥¸¥ç¥Ö¤È¤·¤Æ¼Â¹Ô¤¹¤ë¾ì¹ç¡£ ¤³¤Î¾ì¹ç¡¢¥Ð¥Ã¥Á¥â¡¼¥É¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-@item
-üËö¤¬Àµ¤·¤¯°·¤¨¤Ê¤¤Ê¸»ú¤ò @code{mysql} ¥³¥Þ¥ó¥É¤ËÅϤ¹¾ì¹ç¡£
-¤¿¤È¤¨¤Ð¡¢EUC-JP, Shift_JIS ¤Î´Á»úʸ»ú¤Ê¤É¤Ï¡¢Ã¼Ëö¤ä´Ä¶­¤Ë¤è¤Ã¤Æ¤ÏľÀÜÆþÎϤǤ­¤Ê¤¤¾ì¹ç¤â¤¢¤ë¤Ç¤·¤ç¤¦¡£
-@end itemize
-
-@code{mysql} ¤ò¥Ð¥Ã¥Á¥â¡¼¥É¤Ç»ÈÍѤ¹¤ë¤«¡¢ÂÐÏå⡼¥É¤Ç»ÈÍѤ¹¤ë¤«¤Ç¡¢
-¥Ç¥Õ¥©¥ë¥È¤Î½ÐÎÏ·Á¼°¤¬ÊѤï¤ê¤Þ¤¹¡£ Î㤨¤Ð¡¢ @code{SELECT DISTINCT species FROM pet} ¤Î
-½ÐÎϤÏÂÐÏå⡼¥É¤Ç¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡§
-
-@example
-+---------+
-| species |
-+---------+
-| bird |
-| cat |
-| dog |
-| hamster |
-| snake |
-+---------+
-@end example
-
-¤·¤«¤·¡¢¥Ð¥Ã¥Á¥â¡¼¥É¤Ç¤Ï¡§
-
-@example
-species
-bird
-cat
-dog
-hamster
-snake
-@end example
-
-¤â¤·¥Ð¥Ã¥Á¥â¡¼¥É¤Ç¤âÂÐÏå⡼¥É¤Î¤è¤¦¤Ê½ÐÎϤòÆÀ¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢@code{mysql -t} ¤È¤·¤Þ¤¹¡£
-½ÐÎÏÃæ¤Ë¡¢¼Â¹Ô¤·¤¿¥³¥Þ¥ó¥É¤òɽ¼¨¤µ¤»¤ë¤Ê¤é¤Ð¡¢@code{mysql -vvv} ¤È¤·¤Þ¤¹¡£
-
-@node Twin, , Batch mode, Tutorial
-@section Queries from twin project
-
-At Analytikerna and Lentus, we have been doing the systems and field work
-for a big research project. This project is a collaboration between the
-Institute of Environmental Medicine at Karolinska Institutet Stockholm
-and the Section on Clinical Research in Aging and Psychology at the
-University of Southern California.
-
-The project involves a screening part where all twins in Sweden older
-than 65 years are interviewed by telephone. Twins who meet certain
-criteria are passed on to the next stage. In this latter stage, twins who
-want to participate are visited by a doctor/nurse team. Some of the
-examinations include physical and neuropsychological examination,
-laboratory testing, neuroimaging, psychological status assessment, and family
-history collection. In addition, data are collected on medical and
-environmental risk factors.
-
-More information about Twin studies can be found at:
-
-@example
-@url{http://www.imm.ki.se/TWIN/TWINUKW.HTM}
-@end example
-
-The latter part of the project is administered with a web interface
-written using Perl and @strong{MySQL}.
-
-Each night all data from the interviews are moved into a @strong{MySQL}
-database.
-
-@menu
-* Twin pool:: Find all non-distributed twins
-* Twin event:: Show a table on twin pair status
-@end menu
-
-@node Twin pool, Twin event, Twin, Twin
-@subsection Find all non-distributed twins
-
-The following query is used to determine who goes into the second part of the
-project:
-
-@example
-select
- concat(p1.id, p1.tvab) + 0 as tvid,
- concat(p1.christian_name, " ", p1.surname) as Name,
- p1.postal_code as Code,
- p1.city as City,
- pg.abrev as Area,
- if(td.participation = "Aborted", "A", " ") as A,
- p1.dead as dead1,
- l.event as event1,
- td.suspect as tsuspect1,
- id.suspect as isuspect1,
- td.severe as tsevere1,
- id.severe as isevere1,
- p2.dead as dead2,
- l2.event as event2,
- h2.nurse as nurse2,
- h2.doctor as doctor2,
- td2.suspect as tsuspect2,
- id2.suspect as isuspect2,
- td2.severe as tsevere2,
- id2.severe as isevere2,
- l.finish_date
-from
- twin_project as tp
- /* For Twin 1 */
- left join twin_data as td on tp.id = td.id and tp.tvab = td.tvab
- left join informant_data as id on tp.id = id.id and tp.tvab = id.tvab
- left join harmony as h on tp.id = h.id and tp.tvab = h.tvab
- left join lentus as l on tp.id = l.id and tp.tvab = l.tvab
- /* For Twin 2 */
- left join twin_data as td2 on p2.id = td2.id and p2.tvab = td2.tvab
- left join informant_data as id2 on p2.id = id2.id and p2.tvab = id2.tvab
- left join harmony as h2 on p2.id = h2.id and p2.tvab = h2.tvab
- left join lentus as l2 on p2.id = l2.id and p2.tvab = l2.tvab,
- person_data as p1,
- person_data as p2,
- postal_groups as pg
-where
- /* p1 gets main twin and p2 gets his/her twin. */
- /* ptvab is a field inverted from tvab */
- p1.id = tp.id and p1.tvab = tp.tvab and
- p2.id = p1.id and p2.ptvab = p1.tvab and
- /* Just the sceening survey */
- tp.survey_no = 5 and
- /* Skip if partner died before 65 but allow emigration (dead=9) */
- (p2.dead = 0 or p2.dead = 9 or
- (p2.dead = 1 and
- (p2.death_date = 0 or
- (((to_days(p2.death_date) - to_days(p2.birthday)) / 365)
- >= 65))))
- and
- (
- /* Twin is suspect */
- (td.future_contact = 'Yes' and td.suspect = 2) or
- /* Twin is suspect - Informant is Blessed */
- (td.future_contact = 'Yes' and td.suspect = 1 and id.suspect = 1) or
- /* No twin - Informant is Blessed */
- (ISNULL(td.suspect) and id.suspect = 1 and id.future_contact = 'Yes') or
- /* Twin broken off - Informant is Blessed */
- (td.participation = 'Aborted'
- and id.suspect = 1 and id.future_contact = 'Yes') or
- /* Twin broken off - No inform - Have partner */
- (td.participation = 'Aborted' and ISNULL(id.suspect) and p2.dead = 0))
- and
- l.event = 'Finished'
- /* Get at area code */
- and substring(p1.postal_code, 1, 2) = pg.code
- /* Not already distributed */
- and (h.nurse is NULL or h.nurse=00 or h.doctor=00)
- /* Has not refused or been aborted */
- and not (h.status = 'Refused' or h.status = 'Aborted'
- or h.status = 'Died' or h.status = 'Other')
-order by
- tvid;
-@end example
-
-Some explanations:
-@table @asis
-@item @code{concat(p1.id, p1.tvab) + 0 as tvid}
-We want to sort on the concatenated @code{id} and @code{tvab} in
-numerical order. Adding @code{0} to the result causes @strong{MySQL} to treat the
-result as a number.
-@item column @code{id}
-This identifies a pair of twins. It is a key in all tables.
-@item column @code{tvab}
-This identifies a twin in a pair. It has a value of @code{1} or @code{2}.
-@item column @code{ptvab}
-This is an inverse of @code{tvab}. When @code{tvab} is @code{1} this is
-@code{2}, and vice versa. It exists to save typing and to make it easier for
-@strong{MySQL} to optimize the query.
-@end table
-
-This query demonstrates, among other things, how to do lookups on a
-table from the same table with a join (@code{p1} and @code{p2}). In the example, this
-is used to check whether a twin's partner died before the age of 65. If so,
-the row is not returned.
-
-All of the above exist in all tables with twin-related information. We
-have a key on both @code{id,tvab} (all tables) and @code{id,ptvab}
-(@code{person_data}) to make queries faster.
-
-On our production machine (A 200MHz UltraSPARC), this query returns
-about 150-200 rows and takes less than one second.
-
-The current number of records in the tables used above:
-@multitable @columnfractions .3 .5
-@item @strong{Table} @tab @strong{Rows}
-@item @code{person_data} @tab 71074
-@item @code{lentus} @tab 5291
-@item @code{twin_project} @tab 5286
-@item @code{twin_data} @tab 2012
-@item @code{informant_data} @tab 663
-@item @code{harmony} @tab 381
-@item @code{postal_groups} @tab 100
-@end multitable
-
-@node Twin event, , Twin pool, Twin
-@subsection Show a table on twin pair status
-
-Each interview ends with a status code called @code{event}. The query
-shown below is used to display a table over all twin pairs combined by
-event. This indicates in how many pairs both twins are finished, in how many
-pairs one twin is finished and the other refused, and so on.
-
-@example
-select
- t1.event,
- t2.event,
- count(*)
-from
- lentus as t1,
- lentus as t2,
- twin_project as tp
-where
- /* We are looking at one pair at a time */
- t1.id = tp.id
- and t1.tvab=tp.tvab
- and t1.id = t2.id
- /* Just the sceening survey */
- and tp.survey_no = 5
- /* This makes each pair only appear once */
- and t1.tvab='1' and t2.tvab='2'
-group by
- t1.event, t2.event;
-
-@end example
-
-@cindex Server functions
-@node Server, Replication, Tutorial, Top
-@chapter @strong{MySQL} ¥µ¡¼¥Ð¡¼¥Õ¥¡¥ó¥¯¥·¥ç¥ó
-
-@menu
-* Languages:: @strong{MySQL} ¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¸À¸ì¤Ï¡©
-* Table size:: @strong{MySQL} ¤Ï¥Æ¡¼¥Ö¥ë¤ò¤É¤ì¤¯¤é¤¤Â礭¤¯¤Ç¤­¤ë¤«¡©
-@end menu
-
-@cindex Which languages @strong{MySQL} supports
-@cindex Language support
-@node Languages, Table size, Server, Server
-@section @strong{MySQL} ¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¸À¸ì¤Ï¡©
-
-@code{mysqld} ¤Ï¼¡¤Î¸À¸ì¤Ç¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÄ󶡤Ǥ­¤Þ¤¹: ¥Á¥§¥³¸ì, ¥ª¥é
-¥ó¥À¸ì, ±Ñ¸ì(¥Ç¥Õ¥©¥ë¥È), Estonia, ¥Õ¥é¥ó¥¹¸ì, ¥É¥¤¥Ä¸ì, ¥Î¥ë¥¦¥§¡¼¸ì, ¿·¥Î¥ë¥¦¥§¡¼
-¸ì,¥Ý¡¼¥é¥ó¥É¸ì, ¥Ý¥ë¥È¥¬¥ë¸ì, ¥¹¥Ú¥¤¥ó¸ì¤½¤·¤Æ¥¹¥¦¥§¡¼¥Ç¥ó¸ì¡£
-
-¤¢¤ë¸À¸ì¤Ç @code{mysqld} ¤ò³«»Ï¤¹¤ë¤¿¤á¤Ë¤Ï @code{--language=lang} ¤Þ¤¿
-¤Ï @code{-L lang} ¥¹¥¤¥Ã¥Á¤Î°ì¤Ä¤ò»È¤¤¤Þ¤¹:
-
-@example
-shell> mysqld --language=swedish
-@end example
-
-or:
-
-@example
-shell> mysqld --language=/usr/local/share/swedish
-@end example
-
-¸À¸ì̾¤ÏÁ´¤Æ¾®Ê¸»ú¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-¸À¸ì¥Õ¥¡¥¤¥ë¤Ï(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï)¼¡¤Î¾ì½ê¤Ë¤¢¤ê¤Þ¤¹¡£
-@file{@var{mysql_base_dir}/share/@var{LANGUAGE}/}.
-
-¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤·¤¿¤¤¾ì¹ç¤Ï¡¢ @file{errmsg.txt} ¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¡¢
- @file{errmsg.sys} ¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤¿¤á¤Ë°Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹:
-
-@example
-shell> comp_err errmsg.txt errmsg.sys
-@end example
-
-¤â¤· @strong{MySQL} ¤ò¿·¤·¤¤¤â¤Î¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤¿¤Ê¤é¡¢°ÊÁ°½¤Àµ¤·¤¿Éôʬ¤ÈƱ¤¸¤È¤³¤í¤Ë¡¢
-¿·¤·¤¤ @file{errmsg.txt} ¥Õ¥¡¥¤¥ë¤Ë½¤Àµ¤ò¤Û¤É¤³¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@menu
-* Character sets:: ¥Ç¡¼¥¿¤È¥½¡¼¥È¤Ë»ÈÍѤµ¤ì¤ë¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È
-* Adding character set:: ¿·¤·¤¤¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¤ÎÄɲÃ
-* String collating:: String collating support
-* Multi-byte characters:: Multi-byte character support
-@end menu
-
-@node Character sets, Adding character set, Languages, Languages
-@subsection ¥Ç¡¼¥¿¤È¥½¡¼¥È¤Ë»ÈÍѤµ¤ì¤ë¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È
-
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢@strong{MySQL} ¤Ï ISO8859-1 (Latin1) ¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¤ò»ÈÍѤ·
-¤Þ¤¹¡£¤³¤ì¤Ï USA ¤ÈÀ¾¥è¡¼¥í¥Ã¥Ñ¤Ç»ÈÍѤµ¤ì¤ë¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¤Ç¤¹¡£
-
-¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¤Ï̾Á°¤È¤·¤Æµö¤µ¤ì¤ëʸ»ú¤È¡¢@code{ORDER BY} ¤È @code{GROUP BY}
-¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¥½¡¼¥È¤µ¤ì¤ëÊýË¡¤ò·èÄꤷ¤Þ¤¹¡£
-¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¤Ï¡¢Ì¾Á°¤È¤·¤Æ»ÈÍѤ·¤Æ¤â¤è¤¤Ê¸»ú¤È @code{SELECT} ¹½Ê¸Ãæ¤Î
- @code{ORDER BY} ¤È @code{GROUP BY} ¥³¥Þ¥ó¥É¤òÍѤ¤¤¿¥½¡¼¥ÈÊýË¡¤ò·èÄꤷ¤Þ¤¹¡£
-
-You can change the character set with the
-@code{--default-character-set} option when you start the server.
-The character sets available depend on the @code{--with-charset=charset}
-option to @code{configure}, and the character set configuration files
-listed in @file{SHAREDIR/charsets/Index}.
-@xref{Quick install}.
-
-When a client connects to a @strong{MySQL} server, the server sends the
-default character set in use to the client. The client will switch to
-use this character set for this connection.
-
-One should use @code{mysql_real_escape_string()} when escaping strings
-for a SQL query. @code{mysql_real_escape_string()} is identical to the
-old @code{mysql_escape_string()} function, except that it takes the MYSQL
-connection handle as the first parameter.
-
-If the client is compiled with different paths than where the server is
-installed and the user that configured @strong{MySQL} didn't included all
-character sets in the @strong{MySQL} binary one must specify for
-the client where it can find the additional character sets it will need
-if the server runs with a different character set than the client.
-
-On can specify this by putting in a @strong{MySQL} option file:
-
-@example
-[client]
-default-set-dir=/usr/local/mysql/share/mysql/charsets
-@end example
-
-where the path points to where the dynamic @strong{MySQL} character sets
-are stored.
-
-One can force the client to use specific character set by specifying:
-
-@example
-[client]
-default-character-set=character-set-name
-@end example
-
-but normally this is never needed.
-
-To add another character set to @strong{MySQL}, use the following procedure:
-
-@node Adding character set, String collating, Character sets, Languages
-@subsection ¿·¤·¤¤¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¤ÎÄɲÃ
-
-@enumerate
-@item
-Decide if the set is simple or complex. If the character set
-does not need to use special string collating routines for
-sorting, and does not need mulit-byte character support, it is
-simple. If it needs either of those features, it is complex.
-
-@item
-If the character set is simple, then create the file
-@file{sql/share/charsets/MYSET.conf}, and add MYSET the
-@file{sql/share/charsets/Index} file. Read the
-@file{sql/share/charsets/README} for more instructions.
-
-@item
-Add the character set name to the @code{CHARSETS_AVAILABLE} and
-@code{COMPILED_CHARSETS} lists in @code{configure.in}.
-
-@item
-Reconfigure, recompile and test.
-
-@item
-If the character set is complex, create the file
-@file{strings/ctype-MYSET.c} ¥Õ¥¡¥¤¥ë¤ò @strong{MySQL} ¤Î¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ËºîÀ®¤·¤Þ¤¹¡£
-
-@item
-Add MYSET to the end of the @file{sql/share/charsets/Index} file. Take
-note of its position in the file - this is its character set number,
-denoted @code{MYNUMBER} below.
-
-@item
-ɬÍפÊÄêµÁ¤µ¤ì¤ë¤â¤Î¤òÄ´¤Ù¤ë¤¿¤á¤Ë¡¢´û¸¤Î @file{ctype-*.c} ¥Õ¥¡¥¤¥ë¤Î°ì¤Ä¤ò¸«¤Æ¤¯
-¤À¤µ¤¤¡£¤³¤Î¥Õ¥¡¥¤¥ëÃæ¤Ç»ÈÍѤ¹¤ëÇÛÎó¤Î̾Á°¤Ï¡¢
-@code{ctype_MYSET}, @code{to_lower_MYSET} ¤Î¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-Near the top of the file, place a special comment like this:
-
-@example
-/*
- * This comment is parsed by configure to create ctype.c,
- * so don't change it unless you know what you are doing.
- *
- * .configure. number_MYSET=MYNUMBER
- * .configure. strxfrm_multiply_MYSET=N
- * .configure. mbmaxlen_MYSET=N
- */
-@end example
-
-The @code{configure} program uses this comment to include
-the character set into the @strong{MySQL} library automatically.
-
-The strxfrm_multiply and mbmaxlen lines will be explained in
-the following sections. Only include them if you the string
-collating functions or the multi-byte character set functions,
-respectively.
-
-@code{to_lower[]} ¤È @code{to_upper[]} ¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¤Ë±÷¤±¤ë
-Âçʸ»ú¡¢¾®Ê¸»ú¤ÎÂбþ¤òÄêµÁ¤·¤¿¡¢Ã±½ã¤ÊÇÛÎó¤Ç¤¹¡£
-Î㤨¤Ð¡§
-
-@example
-to_lower['A'] should contain 'a'
-to_upper['a'] should contain 'A'
-@end example
-
-@code{sort_order[]} ¤Ïʸ»ú¤¬¤É¤Î¤è¤¦¤Ë¥½¡¼¥È¤µ¤ì¤ë¤Ù¤­¤«¤Î¥Þ¥Ã¥×¤Ç¤¹¡£Â¿¤¯¤Î¥»¥Ã
-¥È¤Ç¤Ï¡¢¤³¤ì¤Ï @code{to_upper[]} ¤ÈƱ¤¸¤Ç¤¹ (¥±¡¼¥¹Èó°Í¸¥½¡¼¥È)¡£
-@strong{MySQL} ¤Ï @code{sort_order[character]} ¤ÎÃͤò¸µ¤Ëʸ»ú¤ò¥½¡¼¥È¤·¤Þ¤¹¡£
-For more complicated sorting rules, see
-the discussion of string collating below.
-
-@code{ctype[]} ¤Ï³Æʸ»ú¤òÀâÌÀ¤¹¤ë¥Ó¥Ã¥È¤ÎÇÛÎó¤Ç¡¢1¤«¤¿¤Þ¤ê¤Î¥Ó¥Ã¥ÈÎó¤¬1ʸ»ú¤òÄêµÁ¤·¤Þ¤¹¡£
-( @code{to_lower[]}, @code{to_upper[]},@code{sort_order[]}¤Ï¡¢Ê¸»ú¤ÎÃͤǥ¤¥ó¥Ç¥Ã¥¯¥¹¤µ¤ì¤Þ¤¹¤¬¡¢
-@code{ctype[]}¤Ïʸ»ú¤ÎÃÍ+1 ¤Ç¥¤¥ó¥Ç¥Ã¥¯¥¹¤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï EOF ¤òÁàºî¤¹¤ë¤¿¤á¤Ë¤º¤¤¤Ö¤óÁ°¤«¤é»È¤ï¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ÎÊýË¡¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£)
-@file{m_ctype.h} ¤Ë¼¡¤Î¥Ó¥Ã¥È¥Þ¥¹¥¯¤ÎÄêµÁ¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-
-@example
-#define _U 01 /* Upper case */
-#define _L 02 /* Lower case */
-#define _N 04 /* Numeral (digit) */
-#define _S 010 /* Spacing character */
-#define _P 020 /* Punctuation */
-#define _C 040 /* Control character */
-#define _B 0100 /* Blank */
-#define _X 0200 /* heXadecimal digit */
-@end example
-
-¤½¤ì¤¾¤ì¤Îʸ»ú¤ËÂФ¹¤ë @code{ctype[]} ¤Ï¡¢Ê¸»ú¤ò³ÎÄꤹ¤ë¤¿¤á¤Ë
-¥Ó¥Ã¥ÈÎó¤ÈÁȤˤʤäƤ¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤¿¤È¤¨¤Ð¡¢@code{'A'} ¤ÏÂçʸ»úÄêµÁ (@code{_U}) ¤È 16¿ÊÄêµÁ (@code{_X}) ξÊý¤È¤â¤Ë
-°¤¹¤ë¤Î¤Ç¡¢@code{ctype['A'+1]} ¤Ï°Ê²¼¤ÎÃͤò´Þ¤Þ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó:
-@example
-_U + _X = 01 + 0200 = 0201
-@end example
-
-@item
-Add support for the string collating or multi-byte features needed, as
-described in the following sections.
-
-@item
-@code{CHARSETS_AVAILABLE} ¥ê¥¹¥È¤È @code{configure.in} ¤ÎÃæ¤Î @code{COMPILED_CHARSETS} ¥ê¥¹¥È
-¤Ë¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È̾¤òÄɲä·¤Þ¤¹¡£
-
-@item
-configure¤È¥³¥ó¥Ñ¥¤¥ë¤ò¤·¤Ê¤ª¤·¡¢¥Æ¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
-@end enumerate
-
-@cindex String collating
-@node String collating, Multi-byte characters, Adding character set, Languages
-@subsection String collating support
-
-If the sorting rules for your language are too complex to be handled
-with the simple @code{sort_order[]} table, you need to use the string
-collating functions.
-
-Right now the best documentation on this is the character sets that are
-already implemented. Look at the big5, czech, gbk, sjis and tis160
-character sets for examples.
-
-You must specify the @code{strxfrm_multiply_MYSET=N} value in the
-special comment at the top of the file. @code{N} should be set to
-the maximum ratio the strings may grow during my_strxfrm_MYSET (it
-must be a positive integer).
-
-@cindex Multi-byte characters
-@node Multi-byte characters, , String collating, Languages
-@subsection ¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤Î¥µ¥Ý¡¼¥È
-
-If your character set includes multi-byte characters, you need to use
-the multi-byte character functions.
-
-Right now the best documentation on this is the character sets that are
-already implemented. Look at the euc_kr, gb2312, gbk, sjis and ujis
-character sets for examples.
-
-You must specify the @code{mbmaxlen_MYSET=N} value in the
-special comment at the top of the file. @code{N} should be set to
-the size in bytes of the largest character in the set.
-
-
-@cindex Table size
-@cindex Size of tables
-@node Table size, , Languages, Server
-@section @strong{MySQL} ¤Ï¥Æ¡¼¥Ö¥ë¤ò¤É¤ì¤¯¤é¤¤Â礭¤¯¤Ç¤­¤ë¤«¡©
-
-@strong{MySQL} 3.22 ¤Î¥Æ¡¼¥Ö¥ë¥µ¥¤¥º¤ÎÀ©¸Â¤Ï 4G ¤Ç¤¹¡£
-@strong{MySQL} 3.23 ¤Î¿·¤·¤¤ @code{MyISAM} ¤Ç¤Ï¡¢ºÇÂç¤Î¥Æ¡¼¥Ö¥ë¥µ¥¤¥º¤Ï 800Ëü¥Æ¥é¥Ð¥¤¥È
-(2 ^ 63 bytes) ¤Ç¤¹.
-
-¤·¤«¤·¡¢¤½¤ì¤È¤ÏÊÌ¤Ë OS ¼«¿È¤Î¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤ÎÀ©¸Â¤¬¤¢¤ê¤Þ¤¹¡£
-Î㤨¤Ð¤¤¤¯¤Ä¤«¤Î OS ¤Ç¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡§
-
-@multitable @columnfractions .6 .4
-@item Linux-Intel @tab 2G (or 4G with reiserfs)
-@item Linux-Alpha @tab 8T (?)
-@item Solaris 2.5.1 @tab 2G (possible 4G with patch)
-@item Solaris 2.6 @tab 4G
-@item Solaris 2.7 Intel @tab 4G
-@item Solaris 2.7 ULTRA-SPARC @tab 8T (?)
-@end multitable
-
-¤³¤ì¤Ï¡¢Ä̾@strong{MySQL} ¤Î¥Æ¡¼¥Ö¥ë¥µ¥¤¥º¤Ï
-¥ª¥Ú¡¼¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤ÆÀ©¸Â¤µ¤ì¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
-
-By default, @strong{MySQL} tables have a maximum size of about 4G. You can
-check the maximum table size for a table with the @code{SHOW TABLE STATUS}
-command or with the @code{myisamchk -dv table_name}.
-@xref{SHOW}.
-
-If you need bigger tables than 4G (and your operating system supports
-this), you should set the @code{AVG_ROW_LENGTH} and @code{MAX_ROWS}
-parameter when you create your table. @xref{CREATE TABLE}. You can
-also set these later with @code{ALTER TABLE}. @xref{ALTER TABLE}.
-
-If you need to have bigger tables than 2G / 4G
-
-¤â¤·Â礭¤Ê¥Æ¡¼¥Ö¥ë¤ò¥ê¡¼¥É¥ª¥ó¥ê¡¼¤Ç»ÈÍѤ¹¤ë¤Ê¤é¡¢@code{myisampack}¤ò»È¤Ã¤ÆÊ£¿ô¤Î¥Æ¡¼¥Ö¥ë¤ò·ë¹ç¤·¤¿¤¦¤¨¤Ç°µ½Ì¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£@code{myisampack}¤Ï¾¯¤Ê¤¯¤È¤â 50% ¥Æ¡¼¥Ö¥ë¤ò°µ½Ì¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢¤½¤Î·ë²Ì¡¢Â礭¤Ê¥Æ¡¼¥Ö¥ë¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@xref{myisampack, , @code{myisampack}}.
-
-¾¤ÎÊýË¡¤È¤·¤Æ¡¢"Ʊ¤¸¤è¤¦¤Ê"¥Æ¡¼¥Ö¥ë¤ò°ì¤Ä¤Ë¤Ç¤­¤ë MERGE ¥é¥¤¥Ö¥é¥ê¡¼¤ò´Þ¤àÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
-("Ʊ¤¸¤è¤¦¤Ê" ¤È¤Ï¡¢Æ±¤¸¹àÌܾðÊó¤ò¤â¤Ã¤ÆÁ´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤¬ºî¤é¤ì¤Æ¤¤¤ë¾õÂÖ¤ò¤µ¤·¤Þ¤¹)
-MERGE ¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤¿¤á¡¢Æ±¼ï¤Î¥Æ¡¼¥Ö¥ë¤·¤«Áöºº¤Ç¤­¤Þ¤»¤ó¡£
-¤³¤ì¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤Îµ¡Ç½¤ò¶á¤¤¾­ÍèÄɲ乤ëͽÄê¤Ç¤¹¡£
-
-@cindex Replication
-@node Replication, Performance, Server, Top
-@chapter Replication in MySQL
-
-@menu
-* Replication Intro:: Introduction
-* Replication Implementation::
-* Replication HOWTO:: HOWTO
-* Replication Features:: Replication Features. Replication Features. Replication Features. Replication Features. Replication Features. Replication Features. Replication Features. Replication Features
-* Replication Options:: Replication Options in my.cnf
-* Replication SQL:: SQL Commands related to replication
-@end menu
-
-@node Replication Intro, Replication Implementation, Replication, Replication
-@section Introduction
-
-One way replication can be used both to increase robustness and
-speed. For robustness you have two systems and switch to the backup if
-you have problems with the master. The extra speed is achieved by
-sending a part of the non-updating queries to the replica server. Of
-course this only works if non-updating queries dominate, but that is the
-normal case.
-
-Starting in 3.23.15, @strong{MySQL} supports one-way replication
-internally. One server acts as the master, while the other acts as the
-slave. Note that one server could play the roles of master in one pair
-and slave in the other. The master server keeps a binary log of updates
-and an index file to binary logs to keep track of log rotation. The
-slave upon connecting informs the master where it left off sinse the
-last successfully propogated update, catches up on the updates, and then
-blocks and waits for the master to notify it of the new updates.
-
-@node Replication Implementation, Replication HOWTO, Replication Intro, Replication
-@section Replication Implementation Overview
-
-@strong{MySQL} internal replication uses the master-slave approach. One
-server is designated as the master, while the other ( or others) as
-slave(s). The master keeps a binary log of updates. The slave connects
-to the master, catches up on the missed updates, and then starts
-receiving updates immediately as they come to the master. If the
-connection is lost, the slave will reconnect. If the master goes down,
-the slave will keep trying to connect every @code{master-connect-retry}
-seconds until the master comes back up and the connection can be
-established. The slave keeps track of where it left off in the
-replication process, so it can use the info in the case it goes down and
-gets restarted later.
-
-@node Replication HOWTO, Replication Features, Replication Implementation, Replication
-@section HOWTO
-Below is a quick HOWTO on how to set up replication on your current system:
-
-@itemize @bullet
-@item
-Upgrade both slave and master to 3.23.15 or higher.
-@item
-Set up special replication user(s) on the master with the @code{FILE}
-privilege and permission to connect from all the slaves
-@item
-Take a snapshot of all the tables/databases on the master that could
-possibly be involved in the update queries before taking the next step
-@item
-In @code{my.cnf} on the master add @code{log-bin} and restart it. Make
-sure there are no important updates to the master between the time you
-have taken the snapshot and the time master is restarted with
-@code{log-bin} option
-@item
-Load the snapshot of the master to all the slaves
-@item
-Add the following to @code{my.cnf} on the slave(s):
-
-@example
-master-host=<hostname of the master>
-master-user=<replication user name>
-master-password=<replication user password>
-@end example
-
-replacting the values in <> with what is relevant to your system.
-
-@item Restart the slave(s)
-
-@end itemize
-
-After you have done the above, the master and the slave(s) should be in
-sync.
-
-@node Replication Features, Replication Options, Replication HOWTO, Replication
-@section Replication Features
-
-Below is an explanation of what is supported and what is not:
-
-@itemize @bullet
-@item
-Replication will be done correctly with @code{AUTO_INCREMENT},
-@code{LAST_INSERT_ID}, and @code{TIMESTAMP} values
-@item
-@code{LOAD DATA INFILE} will be handled properly as long as the file
-still resides on the master server at the time of update
-propogation. @code{LOAD LOCAL DATA INFILE} will be skipped.
-@item
-Update queries that use user variables are not replication-safe (yet)
-@item
-If the query on the slave gets an error, the slave thread will
-terminate, and a message will appear in @code{.err} file. You should
-then connect to the slave manually, fix the cause of the error
-(eg. non-existent table), and then run @code{SLAVE START} sql command ( available starting in 3.23.16,
-in 3.23.15 you will have to restart the server).
-@item
-If connection to the master is lost, the slave will retry immediately,
-and then in case of failure every @code{master-connect-retry} (default
-60) seconds. Because of this, it is safe to shut down the master, and
-then restart it after a while. The slave will also be able to deal with
-network connectivity outages.
-@item
-Shutting down the slave (cleanly) is also safe, as it keeps track of
-where it left off. Unclean shutdowns might produce problems, especially
-if disk cache was not synced before the system died. Your system fault
-tolerance will be greatly increased if you have a good UPS.
-@item
-If the master is listening on a non-standard port, you will also need to
-specify this with @code{master-port} parameter in @code{my.cnf} .
-@item
-In 3.23.15,all of the tables and databases will be replicated. Starting in 3.23.16, you
-can restrict replication to a set of databases with @code{replicate-do-db} directives in
-@code{my.cnf} or just excluse a set of databases with @code{replicate-ignore-db}.
-@item
-Starting in 3.23.16, @code{SET SQL_LOG_BIN = 0} will turn off replication (binary) logging on the
-master, and @code{SET SQL_LOG_BIN = 1} will turn in back on - you must have the process privilege to do
-this.
-@item The slave thread does not log updates to the binary log of the slave, so it is possible to couple
-two servers in a mutual master-slave relationship. You can actually set up a load balancing scheme and
-do queries safely on either of the servers. Just do not expect to do LOCK TABLES on one server, then
-connect to the other and still have that lock :-) .
-@end itemize
-
-@node Replication Options, Replication SQL, Replication Features, Replication
-@section Replication Options in my.cnf
-
-The table below explains the replications options in @code{my.cnf} . All of the are available
-starting in 3.23.15 unless indicated otherwise.
-
-@multitable @columnfractions .25 .25 .25 .25
-@item @strong{Option} @tab @strong{Description} @tab @strong{Where to set} @tab @strong{Example}
-@item @code{log-bin} @tab Should be set on the master. Tells it to keep a binary update
-log. If a parameter is specified, the log will be written to the specified location. @tab Master @tab
-@code{log-bin}
-@item @code{log-bin-index} @tab Because the user could issue @code{FLUSH LOGS} command, we need to
-know which log is currently active and which ones have been rotated out and it what sequence. This info
-is stored in the binary log index file. The default is `hostname`.index . You can use this option
-if you want to be a rebel. @tab Master @tab @code{log-bin-index=db.index}
-@item @code{master-host} @tab Master hostname or IP address for replication. If not set,
-the slave thread will not be started @tab Slave @tab @code{master-host=db-master.mycompany.com}
-@item @code{master-user} @tab The user the slave thread will authenticate as when connecting to
-the master. The user must have @code{FILE} privilige. If the master user is not set, user @code{test}
- is assumed. @tab Slave @tab @code{master-user=scott}
-@item @code{master-password} @tab The password the slave thread will authenticate with when
-connecting to the master. If not set, empty password is assumed @tab Slave @tab
-@code{master-password=tiger}
-@item @code{master-port} @tab The port the master is listening on. If not set, the compiled setting of
-@code{MYSQL_PORT} is assumed. If you have not tinkered with @code{configure} options, this should be
-3306. @tab Slave @tab @code{master-port=3306}
-@item @code{master-connect-retry} @tab The number of seconds the slave thread will sleep before retrying
-to connect to the master in case the master goes down or the connection is lost.
-Default is 60. @tab Slave @tab @code{master-connect-retry=60}
-@item @code{master-info-file} @tab The location of the file that remembers where we left off on the
- master during the replication process. The default is master.info in the data directory.
-Sasha: The only reason I see for ever changing the default is the desire to
-be rebelious. @tab Slave @tab @code{master-info-file=master.info}
-@item @code{replicate-do-db} @tab Tells the slave thread to restrict replication to the specified database. To sp
-cify more than one database, use the directive multiple times, once for each database.
-Note that this will only work if you do not use cross-database queries such as
-@code{UPDATE some_db.some_table SET foo='bar'} while having selected a different or
-no database. @tab Slave @tab @code{replicate-ignore-db=some_db}
-@item @code{replicate-ignore-db} @tab Tells the slave thread to not replicate to the specified
-database. To specify more than one database to ignore, use the directive multiple times,
-once for each database. You must not use cross database updates for this option. @tab Slave @tab @code{replicate-
-o-db=some_db}
-@item @code{sql-bin-update-same} @tab If set, setting @code{SQL_LOG_BIN} to a value will
-automatically set @code{SQL_LOG_UPDATE} to the same value and vice
-versa. @tab Master @tab @code{sql-bin-update-same}
-
-@item @code{log-slave-updates} @tab Tells the slave to log the updates from the slave thread to the binary log. Off by default. You will need to turn it on if you plan to daisy-chain the slaves @tab Slave @tab @code{log-slave-updates}
-
-@end multitable
-
-@node Replication SQL, , Replication Options, Replication
-@section SQL commands related to replication
-
-Replication can be controlled through the SQL interface. Below is the
-summary of commands:
-
-@multitable @columnfractions .30 .40 .30
-@item @strong{Command} @tab @strong{Description} @tab @strong{Where to run}
-@item @code{SLAVE START} @tab Starts the slave thread. @tab Slave
-@item @code{SLAVE STOP} @tab Stops the slave thread. @tab Slave
-@item @code{SET SQL_LOG_BIN=0} @tab Disables update logging @tab Master
-@item @code{SET SQL_LOG_BIN=1} @tab Re-enable update logging @tab Master
-@end multitable
-
-@cindex Performance
-@cindex Optimization
-@node Performance, MySQL Benchmarks, Replication, Top
-@chapter MySQL ¤ÎºÇÂçÀ­Ç½¤ò¤Ò¤­¤À¤¹¤Ë¤Ï
-
-Optimization is a complicated task because it ultimately requires
-understanding of the whole system. While it may be possible to do some
-local optimizations with small knowledge of your system/application, the
-more optimal you want your system to become the more you will have to
-know about it.
-
-So this chapter will try to explain and give some examples of different
-ways to optimize @strong{MySQL}. But remember that there are always some
-(increasingly harder) ways to make the system even faster left to do.
-
-@menu
-* Optimize Basics:: Optimization overview
-* System:: System/Compile time and startup parameter tuning
-* Data size:: Get your data as small as possible
-* MySQL indexes:: How @strong{MySQL} uses indexes
-* Query Speed:: Speed of queries that access or update data
-* Tips:: Other optimization tips
-* Benchmarks:: Using your own benchmarks
-* Design:: Design choices
-* Design Limitations:: MySQL design limitations/tradeoffs
-* Portability:: Portability
-* Internal use:: What have we used MySQL for?
-@end menu
-
-@node Optimize Basics, System, Performance, Performance
-@section ºÇŬ²½ ³µÍ×
-
-¥·¥¹¥Æ¥à¤ò®¤¯¤¹¤ë¤¿¤á¤ÎºÇ¤â½ÅÍפÊÉôʬ¤Ï¡¢¤â¤Á¤í¤ó´ðÁÃŪ¤ÊÀ߷פǤ¹¡£
-You also need to know what kinds of things your system will be
-doing, and what your bottlenecks are.
-
-¼ç¤Ê¥Ü¥È¥ë¥Í¥Ã¥¯¤Ï¡§
-@itemize @bullet
-@item Disk ¥·¡¼¥¯ ¡§
-°ìÊҤΥǡ¼¥¿¤ò¸«¤Ä¤±¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¥£¥¹¥¯¤Ë»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹¡£
-1999ǯ¤ÎºÇ¿··¿¤Î¥Ç¥£¥¹¥¯¤Ç¤Ï¡¢¤³¤Î¤¿¤á¤ÎÊ¿¶Ñ»þ´Ö¤Ï¡¢10ms¤è¤ê¤âÄ̾ï¤è¤ê¾®¤µ¤¤¤Ç¤¹¡£
-¤·¤¿¤¬¤Ã¤Æ¡¢²æ¡¹¤Ï¡¢ÍýÏÀ¾å¤Ï 1ÉäÇÌó1000 ¥·¡¼¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤³¤Î»þ´Ö¤Ï¡¢°ì¤Ä¤Î¥Æ¡¼¥Ö¥ë¤Ç¤¢¤ë¤Ê¤é¤Ð¡¢¥Ç¡¼¥¿¤ÎÁý²Ã¤È¶¦¤Ë¥Ç¥£¥¹¥¯¥¢¥¯¥»¥¹¤Î»þ´Ö¤¬
-¾¯¤·¤º¤ÄÁý²Ã¤¹¤ë¤³¤È¤Ë¤Ê¤ê¡¢¤È¤Æ¤âºÇŬ²½¤¹¤ë¤Î¤ÏÆñ¤·¤¯¤Ê¤Ã¤Æ¤¤¤­¤Þ¤¹¡£
-¤³¤ì¤òºÇŬ²½¤¹¤ëÊýË¡¤Ï¡¢¥Ç¡¼¥¿¤ò 1¸Ä°Ê¾å¤Î¥Ç¥£¥¹¥¯¤Ëʬ»¶¤¹¤ë»ö¤Ç¤¹¡£
-@item Disk reading/writing
-When the disk is at the correct position we need to read the data. With
-modern disks in 1999 one disk delivers something like 10-20Mb/s. This
-is easier to optimize than seeks because you can read in parallel from
-multiple disks.
-@item CPU cycles ¡§
-¥Ç¡¼¥¿¤ò¥á¥¤¥ó¡¦¥á¥â¥ê¡¼¤ÎÃæ¤ËÆþ¤ì¤¿(¤Þ¤¿¤Ï´û¤Ë¥á¥â¥ê¤Ë¸ºß¤·¤Æ¤¤¤ë)¾ì¹ç¤Ë¡¢
-·ë²Ì¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¤½¤ì¤ò½èÍý¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¥á¥â¥ê¡¼ÍÆÎ̤è¤ê¤â¾®¤µ¤Ê¥Æ¡¼¥Ö¥ë¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤ì¤Ï¡¢À©¸Â¤ÎÍ×°ø¤È¤Ê¤ê¤Þ¤¹¡£
-¾®¤µ¤¤¥Æ¡¼¥Ö¥ë¤Ç¤Ï¡¢¥¹¥Ô¡¼¥É¤Ï¡¢Ä̾ïÌäÂê¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-@item Memory bandwidth ¡§
-CPU ¤¬¥­¥ã¥Ã¥·¥å¤Ë¼ý¤Þ¤é¤Ê¤¤¤è¤¦¤Ê¥Ç¡¼¥¿¤òÍ׵ᤷ¤¿¾ì¹ç¡¢¥á¥¤¥ó¡¦¥á¥â¥ê¡¼
-¤Î¥Ð¥ó¥ÉÉý¤Ï¥Ü¥È¥ë¥Í¥Ã¥¯¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤³¤ì¤Ï¤Û¤È¤ó¤É¤Î¥·¥¹¥Æ¥à¤Çʬ¤«¤ê¤Ë¤¯¤¤¥Ü¥È¥ë¥Í¥Ã¥¯¤È¤Ê¤ê¤Þ¤¹¤¬¡¢
-狼¤Ï¤½¤ì¤òÃΤäƤ¤¤ë¤Ù¤­¤Ç¤¹¡£
-@end itemize
-
-@node System, Data size, Optimize Basics, Performance
-@section ¥·¥¹¥Æ¥à¡¢¥³¥ó¥Ñ¥¤¥ë»þ¡¢¥¹¥¿¡¼¥È¥Ñ¥é¥á¥¿¡¼¤Î¥Á¥å¡¼¥Ë¥ó¥°
-
-We start with the system level things since some of these decisions have
-to be made very early. In other cases a fast look at this part may
-suffice because it not that important for the big gains. However, it is always
-nice to have a feeling about how much one could gain by changing things
-at this level.
-
-»È¤¦¤Ù¤­ OS ¤Ï¤È¤Æ¤â½ÅÍפǤ¹¡ª Ê£¿ô¤Î CPU ¤ò»ý¤Ä¥Þ¥·¥ó¤Ç¤Ï¡¢
-Solaris (¤Ê¤¼¤Ê¤é¡¢Solaris ¤Î¥¹¥ì¥Ã¥É¤Ï¤È¤Æ¤âÁÇÀ²¤é¤·¤¯Æ°ºî¤¹¤ë¤«¤é)¡¢
-¤¢¤ë¤¤¤Ï¡¢Linux ( kernel 2.2 ¤ÏÎɤ¤ SMP ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤«¤é) ¤ò
-»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£ 32bit ¥Þ¥·¥ó¤Î Linux ¤Ç¤Ï¡¢2G bytes ¤Î¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤Î
-À©¸Â¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤Ï¿·¤·¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à (XFS) ¤Î¥ê¥ê¡¼¥¹»þ¤Ë
-¤Ê¤¯¤Ê¤Ã¤ÆÍߤ·¤¤¤â¤Î¤Ç¤¹¡£
-
-Because we have not run @strong{MySQL} in production on that many platforms we
-advice you to test your intended platform before choosing it, if possible.
-
-Other tips:
-@itemize @bullet
-@item
-½¼Ê¬ RAM ¤¬¤¢¤ë¤Ê¤é¤Ð¡¢Á´¤Æ¤Î swap ¤ò³°¤·¤Æ¤â¤è¤¤¤Ç¤·¤ç¤¦¡£
-¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¤¿¤È¤¨¥á¥â¥ê¡¼¤¬¶õ¤¤¤Æ¤¤¤Æ¤â¡¢
-swap ¤ò»ÈÍѤ¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
-
-@item
-³°Éô¤Î¥í¥Ã¥¯¤òÈò¤±¤ë¤¿¤á¡¢@code{--skip-locking} @strong{MySQL} ¥ª¥×¥·¥ç¥ó
-¤ò»ÈÍѤ·¤Þ¤¹¡£
-Note that this will not impact @strong{MySQL}'s functionality as
-long as you only run one server.
-@code{myisamchk} ¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¡¢¥µ¡¼¥Ð¡¼¤ò»ß¤á¤ë¤³¤È¤ò˺¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
-On some system
-this switch is mandatory because the external locking does not work in any
-case.
-
-MIT ¥¹¥ì¥Ã¥É¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë»þ¤Ï @code{--skip-locking} ¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£
-¤³¤ì¤ÏÁ´¤Æ¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç MIT ¥¹¥ì¥Ã¥É¤¬ @code{flock()} ¤ò´°Á´¤Ë¥µ¥Ý¡¼¥È¤·
-¤Æ¤¤¤Ê¤¤¤¿¤á¤Ç¤¹¡£
-
-@code{--skip-locking} ¤¬»ÈÍѤǤ­¤Ê¤¤¤¿¤À°ì¤Ä¤Î¾õÂ֤ϡ¢
-¤â¤·¤¢¤Ê¤¿¤¬Ê£¿ô¤Î @strong{MySQL} @emph{¥µ¡¼¥Ð¡¼} (¥¯¥é¥¤¥¢¥ó¥È¤Ç¤Ï¤Ê¤¤) ¤ò
-Ʊ¤¸¥Ç¡¼¥¿¤ËÂФ·¤ÆÁö¤é¤»¤Æ¤¤¤ë¾ì¹ç¤Ç¤¹¡£
-Or run
-@code{myisamchk} on the table without first flushing and locking the
-@code{mysqld} server tables first.
-
-¤¿¤È¤¨ @code{--skip-locking} ¤ò»ÈÍѤ·¤Æ¤¤¤Æ¤â¡¢
-@code{LOCK TABLES} / @code{UNLOCK TABLES} ¤Î»ÈÍѤϲÄǽ¤Ç¤¹¡£
-@end itemize
-
-@menu
-* Compile and link options:: How compiling and linking affects the speed of MySQL
-* Disk issues:: Disk issues
-* Server parameters:: Tuning server parameters
-* Table cache:: How MySQL opens and closes tables
-* Creating many tables:: Drawbacks of creating large numbers of tables in the same database
-* Open tables:: Why so many open tables?
-* Memory use:: How MySQL uses memory
-* Internal locking:: How MySQL locks tables
-* Table locking:: Table locking issues
-@end menu
-
-@node Compile and link options, Disk issues, System, System
-@subsection MySQL ¤Î®Å٤˱ƶÁ¤¹¤ë¥³¥ó¥Ñ¥¤¥ë¤È¥ê¥ó¥¯ÊýË¡
-
-¼¡¤Î¥Æ¥¹¥È¤Î¿¤¯¤Ï Linux ¾å¤Ç @strong{MySQL} ¥Ù¥ó¥Á¥Þ¡¼¥¯¤Ç¹Ô¤ï¤ì¤Þ¤·¤¿¡£
-¤·¤«¤·¡¢¤³¤ì¤é¤Ï¾¤Î OS ¤Ë¤Ä¤¤¤Æ¤â¤¤¤¯¤Ä¤«¤Î»Øɸ¤òÍ¿¤¨¤Þ¤¹¡£
-
-@code{-static} ¤Ç¤Î¥ê¥ó¥¯»þ¤ËºÇ®¤Î¼Â¹Ô·Á¼°¤òÆÀ¤Þ¤¹¡£
-TCP/IP ¤ÎÂå¤ï¤ê¤Ë Unix ¥½¥±¥Ã¥È¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î
-Àܳ¤Ë»ÈÍѤ¹¤ë¤³¤È¤â¡¢¤è¤êÎɤ¤À­Ç½¤òÍ¿¤¨¤Þ¤¹¡£
-
-Linux ¤Ç¤Ï¡¢@code{pgcc} ¤È @code{-O6} ¤Ç¥³¥ó¥Ñ¥¤¥ë¤·¤¿»þ¤ËºÇ®¤Î¥³¡¼¥É¤òÆÀ¤é¤ì¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç @file{sql_yacc.cc} ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢@code{gcc/pgcc} ¤Ï
-Á´¤Æ¤Î´Ø¿ô¤ò¥¤¥ó¥é¥¤¥ó¤Ë¤¹¤ë¤¿¤á¤Ë¿¤¯¤Î¥á¥â¥ê¤òɬÍפȤ¹¤ë¤Î¤Ç¡¢200M ¤Î¥á¥â¥ê¤¬É¬ÍפǤ¹¡£
-@code{libstdc++} ¥é¥¤¥Ö¥é¥ê¤ÎÁý²Ã¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢
-@strong{MySQL} ¤Î configure »þ¤Ë @code{CXX=gcc} ¤âÀßÄꤹ¤Ù¤­¤Ç¤¹¡£
-
-¤è¤êÎɤ¤¥³¥ó¥Ñ¥¤¥é¡¼¡¢¤½¤·¤Æ¥³¥ó¥Ñ¥¤¥é¡¼¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢10-30% ¤Î
-®Å٤θþ¾å¤ò¤â¤¿¤é¤·¤Þ¤¹¡£ ¤³¤ì¤Ï¤¢¤Ê¤¿¼«¿È¤¬ MySQL ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë
-»þ¤Ë½ÅÍפʤ³¤È¤Ç¤¹¡ª
-
-Intel ¤Ç¤Ï¡¢Î㤨¤Ð pgcc ¤« Cygnus CodeFusion compiler ¤ÇºÇ®¤È¤Ê¤ê¤Þ¤¹¡£
-²æ¡¹¤Ï ¿·¤·¤¤ Fujitsu ¥³¥ó¥Ñ¥¤¥é¡¼¤Ç¤â¥Æ¥¹¥È¤·¤Þ¤·¤¿¤¬¡¢
-@strong{MySQL} ¤òºÇŬ²½¥ª¥×¥·¥ç¥ó¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Ë¤Ï¡¢
-¤Þ¤À´°Á´¤Ê¥Ð¥°¡¦¥Õ¥ê¡¼¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
-
-Here is a list of some mesurements that we have done:
-@itemize @bullet
-@item
-@code{pgcc} ¤ò»ÈÍѤ·¤Æ @code{-O6} ¤ÇÁ´¤Æ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢
-@code{gcc} 2.95.2 ¤è¤ê¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢
-@code{mysqld} ¥µ¡¼¥Ð¡¼¤Ï 11% ®¤¯¤Ê¤ê¤Þ¤¹¡£
-
-@item
-ưŪ¥ê¥ó¥¯(@code{-static}) ̵¤·)¤Î¾ì¹ç¡¢·ë²Ì¤Ï 13% ÃÙ¤¯¤Ê¤ê¤Þ¤¹¡£
-Note that you still can use a dynamic linked MySQL library. It
-is only the server that is critical for performance.
-
-@item
-(localhost ¤Ø¤ÎÀܳ¤Ë) Unix ¥½¥±¥Ã¥È¤ÎÂå¤ï¤ê¤Ë TCP/IP ¤ò»ÈÍѤ¹¤ë¤È¡¢·ë²Ì¤Ï 7.5% ÃÙ¤¯¤Ê¤ê¤Þ¤¹¡£
-
-@item
-SPARCstation 10 ¤Ç¤Ï¡¢@code{gcc} 2.7.3 ¤Ï Sun Pro C++ 4.2 ¤è¤ê 13% ®¤¯¤Ê¤ê¤Þ¤¹¡£
-
-@item
-¥·¥ó¥°¥ë¥×¥í¥»¥Ã¥µ¤Î Solaris 2.5.1 ¤Ç¤Ï¡¢mit-pthreads ¤Ï Solaris ¥Í¥¤¥Æ¥£¥Ö¥¹¥ì¥Ã¥É¤è¤ê 8-12% ÃÙ¤¯¤Ê¤ê¤Þ¤¹¡£
-With more load/CPUs the difference should
-get bigger.
-@end itemize
-
-TCX ¤Ë¤è¤êÇÛÉÛ¤µ¤ì¤Æ¤¤¤ë @strong{MySQL}-Linux ÇÛÉÛ¤Ï @code{pgcc} ¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ
-¤¤¤Þ¤¹¤¬¡¢
-but we had to go back to regular gcc because of a bug in pgcc that would
-generate the code that does not run on AMD. We will continue using gcc until that bug is resolved.
-In the meantime, if you have a non-AMD machine, you can get a faster binary by compiling with pgcc.
-The Linux binary is linked statically.
-
-@node Disk issues, Server parameters, Compile and link options, System
-@subsection Disk ¤ÎÌäÂê
-
-@itemize @bullet
-@item
-Á°¤Ë½Ò¤Ù¤¿¥Ç¥£¥¹¥¯¥·¡¼¥¯¤¬Â礭¤Ê¥Ü¥È¥ë¥Í¥Ã¥¯¤Ç¤¹¡£ ¤³¤ÎÌäÂê¤Ï¡¢¥Ç¡¼¥¿¤¬¸ú²ÌŪ¤Ë
-¥­¥ã¥Ã¥·¥ó¥°¤¬ÉÔ²Äǽ¤Ë¤Ê¤ë¤Û¤É¡¢Â礭¤¯¤Ê¤ê»Ï¤á¤ë¤È¤­¤Ë¡¢¤À¤ó¤À¤óÌÀÇò¤Ë¤Ê¤Ã¤Æ¤­¤Þ¤¹¡£
-For large databases,
-where you access data more or less randomly, you can count on that you
-will need at least one disk seek to read and a couple of disk seeks to
-write things. ¤³¤ÎÌäÂê¤ò¾¯¤Ê¤¯¤¹¤ë¤Ë¤Ï¡¢disk¥·¡¼¥¯»þ´Ö¤Î¾¯¤Ê¤¤¥Ç¥£¥¹¥¯¤ò
-»ÈÍѤ·¤Þ¤¹¡£
-@item
-ÍøÍѤǤ­¤ë¥Ç¥£¥¹¥¯¥¹¥Ô¥ó¥É¥ë¤Î¿ô¤òÁý¤ä¤·¤Þ¤¹(¤½¤ì¤Ë¤è¤Ã¤Æ¥Ç¥£¥¹¥¯¥·¡¼¥¯
-¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤Ï½Ì¾®¤·¤Þ¤¹)¡£
-¤³¤ì¤Ï°ã¤¦¥Ç¥£¥¹¥¯¤Ë¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¤Ï¤Ã¤¿¤ê¡¢¥¹¥È¥é¥¤¥×¤ò¹Ô¤¦¤³¤È¤Ç
-²Äǽ¤Ç¤¹¡£
-@table @strong
-@item symbolic link ¤Î»ÈÍÑ
-¤³¤ì¤ÏÄ̾ï¤Î¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¡¢°ã¤¦¥Ç¥£¥¹¥¯¤Ø¡¢
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤ä¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ò¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤¹¤ë¤³¤È¤Ç¤¹¡£
-¤³¤ì¤Ï ¥·¡¼¥¯ ¤È ¥ê¡¼¥É ¤ò®¤¯¤·¤Þ¤¹¡£ (¤â¤·¤½¤Î¥Ç¥£¥¹¥¯¤¬
-¾¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð). @xref{Symbolic links}.
-@item Striping
-¥¹¥È¥é¥¤¥Ô¥ó¥°¤Ï¡¢Ê£¿ô¤Î¥Ç¥£¥¹¥¯¤ËÂФ·¤Æ¡¢¤Þ¤º¥Ç¡¼¥¿¤ÎºÇ½é¤Î¥Ö¥í¥Ã¥¯¤ò
-1ÈÖÌܤΠdisk ¤Ë½ñ¤­¡¢2ÈÖÌܤΥ֥í¥Ã¥¯¤ò2¤ÄÌܤÎdisk¤Ë½ñ¤­¡¢½ç¼¡ N ÈÖÌÜ
-(N ¤Ï disk ¤Î¿ô) ¤Þ¤Ç½ç¤Ë½ñ¤¤¤Æ¤¤¤­¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢¤â¤·¥Ç¡¼¥¿¤¬¥¹¥È¥é¥¤¥×¤Î
-¥µ¥¤¥º¤è¤ê¤â¾®¤µ¤±¤ì¤Ð¡¢¤è¤ê¤è¤¤¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤òÆÀ¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
-¥¹¥È¥é¥¤¥Ô¥ó¥°¤Ï¡¢OS ¤ä ¥¹¥È¥é¥¤¥×¤Î¥µ¥¤¥º¤Ë¤È¤Æ¤â°Í¸¤·¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤½¤Î¤¿¤á¡¢¤¢¤Ê¤¿¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Ù¥ó¥Á¥Þ¡¼¥¯¤¬¥¹¥È¥é¥¤¥×¥µ¥¤¥º¤Ë¤è¤Ã¤Æ
-ÊѤï¤ë¤Ç¤·¤ç¤¦¡£ @xref{Benchmarks}.
-
-¥¹¥È¥é¥¤¥Ô¥ó¥°¤Î¥¹¥Ô¡¼¥É¤Î°ã¤¤¤Ï¡¢@strong{¤È¤Æ¤â} ¥Ñ¥é¥á¥¿¡¼¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹¡£
-Depending on how you set the striping parameters and
-number of disks you may get difference in orders of magnitude. Note that
-you have to choose to optimize for random or sequential access.
-@end table
-@item
-¿®ÍêÀ­¤Î¤¿¤á¡¢¤¢¤Ê¤¿¤Ï RAID 0+1 (striping + mirroring) ¤ò»ÈÍѤ·¤¿¤¤¤È
-»×¤¦¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤·¤«¤·¤³¤ì¤Ï N ¸Ä¤Î¥É¥é¥¤¥Ö¤Î¥Ç¡¼¥¿¤ò¼ý¤á¤ë¤Î¤Ë
-2*N ¸Ä¤Î¥É¥é¥¤¥Ö¤¬É¬ÍפȤʤê¤Þ¤¹¡£
-¤³¤ì¤Ï¤â¤·»ñ¶â¤¬¤¢¤ë¤Ê¤é¤Ð°ìÈ֤褤ÊýË¡¤Ç¤·¤ç¤¦¡ª ¤·¤«¤·¡¢Ç½Î¨Åª¤Ë¤½¤ì¤ò
-¼è¤ê°·¤¦¤¿¤á¤Ë¡¢¥Ü¥ê¥å¡¼¥à¡¦¥Þ¥Í¡¼¥¸¥á¥ó¥È¡¦¥½¥Õ¥È¥¦¥§¥¢¤ËÅê»ñ¤¹¤ëɬÍפ¬
-¤¢¤Ã¤Æ¤â¤è¤¤¤Ç¤¹¡£
-@item
-A good option is to have semi-important data (that can be re-generated)
-on RAID 0 disk while store really important data (like host information
-and logs) on a RAID 0+1 or RAID N disks. RAID N can be a problem if you
-have many writes because of the time to update the parity bits.
-@item
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë»ÈÍѤ·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î mount ¥Ñ¥é¥á¥¿¡¼¤òÊѹ¹¤·¤Æ¤â
-Îɤ¤¤Ç¤·¤ç¤¦¡£ °ì¤Ä¤Î´Êñ¤ÊÊýË¡¤È¤·¤Æ¤Ï¡¢noatime ¥ª¥×¥·¥ç¥ó¤Ç¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò
-¥Þ¥¦¥ó¥È¤·¤Þ¤¹¡£ ¤³¤ì¤Ï inode ¤Ë¤¢¤ëºÇ¸å¤Ë¥¢¥¯¥»¥¹¤·¤¿»þ´Ö¤Î¹¹¿·¤ò
-¥¹¥­¥Ã¥×¤·¤Þ¤¹¡£ ¤³¤ì¤Ç¤¤¤¯¤é¤« ¥Ç¥£¥¹¥¯¥·¡¼¥¯¤òÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£
-@end itemize
-
-@menu
-* Symbolic links:: Using symbolic links for databases and tables
-@end menu
-
-@node Symbolic links, , Disk issues, Disk issues
-@subsubsection ¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¥Æ¡¼¥Ö¥ë¤Ë¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò»ÈÍѤ¹¤ë
-
-¥Æ¡¼¥Ö¥ë¤È¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Õ¥¡¥¤¥ë¤ò MySQL ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¡¼¤«¤é
-°ã¤¦¾ì½ê¤Ë°ÜÆ°¤·¡¢ ¤½¤ì¤ËÂФ·¤Æ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤òÄ¥¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¤³¤ì¤ÏÎ㤨¤Ð¥Ç¥£¥¹¥¯ÍÆÎ̤¬¾¯¤Ê¤¯¤Ê¤Ã¤Æ¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò°ÜÆ°¤·¤¿¤¤¾ì¹ç¤Ë¤½¤¦¤·¤¿¤¯¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-
-@strong{MySQL} ¤¬¡¢¥Æ¡¼¥Ö¥ë¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¤¢¤ë¤³¤È¤Ëµ¤¤Å¤¤¤¿¾ì¹ç¡¢
-symlink ¤ò²òÀϤ·¡¢Âå¤ï¤ê¤Ë¤½¤Î¼ÂÂΤΥơ¼¥Ö¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤³¤ì¤Ï @code{realpath()} ¥³¡¼¥ë¤ò¥µ¥Ý¡¼¥È¤¹¤ëÁ´¤Æ¤Î¥·¥¹¥Æ¥à¤ÇƯ¤­¤Þ¤¹¡Ê¾¯
-¤Ê¤¯¤È¤â Linux ¤È Solaris ¤Ï @code{realpath()} ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡ª¡Ë¡£
-@code{realpath()} ¤ò¥µ¥Ý¡¼ ¥È¤·¤Ê¤¤¥·¥¹¥Æ¥à¾å¤Ç¤Ï¡¢symlink ¤È¥Æ¡¼¥Ö¥ë¤ò
-Ʊ»þ¤Ë»ÈÍѤ¹¤Ù¤­¤Ç¤¢¤ê¤Þ¤»¤ó¡ª ¥Æ¡¼¥Ö¥ë¤Ï¥Æ¡¼¥Ö¥ë¤Î¹¹¿·¸å¤ËÌ·½â¤¹¤ë»ö¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-
-@strong{MySQL} ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹Æ±»Î¤Î¥ê¥ó¥¯¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£
-¤¬¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹´Ö¤Î¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤òºîÀ®¤·¤Ê¤¤¸Â¤ê¡¢¤³¤ì¤ÏÀµ¾ï¤ËƯ¤¯¤Ç¤·¤ç¤¦¡£
-@strong{MySQL} ¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë @code{db1} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¤¢¤ë¤È¤·¤Æ¡¢
-²¾¤Ë @code{db2} ¤ò @code{db1} ¤Î¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ë¤·¤¿¤È¤·¤Þ¤¹:
-
-@example
-shell> cd /path/to/datadir
-shell> ln -s db1 db2
-@end example
-
-¤¹¤ë¤È¡¢@code{db1} Ãæ¤Î @code{tbl_a} ¥Æ¡¼¥Ö¥ë¤Ï @code{db2} ¤Î @code{tbl_a} ¥Æ¡¼¥Ö¥ë¤È¤·¤Æ¸«¤¨¤Þ¤¹¡£
-¤â¤·¤¢¤ë¥¹¥ì¥Ã¥É¤¬ @code{db1.tbl_a} ¤ò¹¹¿·¤·¡¢Â¾¤Î¥¹¥ì¥Ã¥É¤¬ @code{db2.tbl_a} ¤ò
-¹¹¿·¤·¤¿¾ì¹ç¡¢ ÌäÂ꤬ȯÀ¸¤·¤Þ¤¹¡£
-
-¤³¤¦¤¤¤Ã¤¿»ÈÍѤò¤É¤¦¤·¤Æ¤â¤·¤¿¤¤¾ì¹ç¡¢@file{mysys/mf_format.c} ¤ò°Ê²¼¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹:
-
-@example
-if (!lstat(to,&stat_buff)) /* Check if it's a symbolic link */
- if (S_ISLNK(stat_buff.st_mode) && realpath(to,buff))
-@end example
-
-Change the code to this:
-
-@example
-if (realpath(to,buff))
-@end example
-
-@cindex Startup parameters
-@node Server parameters, Table cache, Disk issues, System
-@subsection ¥µ¡¼¥Ð¡¼¥Ñ¥é¥á¡¼¥¿¡¼¤Î¥Á¥å¡¼¥Ë¥ó¥°
-
-@code{mysqld} ¥µ¡¼¥Ð¡¼¤¬»ÈÍѤ·¤Æ¤¤¤ë¸½ºß¤Î¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¤ò¼¡¤ÇÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-
-@example
-shell> mysqld --help
-@end example
-
-¤³¤Î·ë²Ì¡¢Á´¤Æ¤Î @code{mysqld} ¥ª¥×¥·¥ç¥ó¤È¼¡¤Î¤è¤¦¤Ê¥³¥ó¥Õ¥£¥°²ÄǽÊÑ¿ô¤Î¥ê¥¹¥È
-¤òÆÀ¤é¤ì¤Þ¤¹¡£½ÐÎÏ·ë²Ì¤Ë¤Ï¥Ç¥Õ¥©¥ë¥ÈÃͤ¬´Þ¤Þ¤ì¡¢°Ê²¼¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹:
-
-@example
-Possible variables for option --set-variable (-O) are:
-back_log current value: 5
-connect_timeout current value: 5
-delayed_insert_timeout current value: 300
-delayed_insert_limit current value: 100
-delayed_queue_size current value: 1000
-flush_time current value: 0
-interactive_timeout current value: 28800
-join_buffer_size current value: 131072
-key_buffer_size current value: 1048540
-lower_case_table_names current value: 0
-long_query_time current value: 10
-max_allowed_packet current value: 1048576
-max_connections current value: 100
-max_connect_errors current value: 10
-max_delayed_threads current value: 20
-max_heap_table_size current value: 16777216
-max_join_size current value: 4294967295
-max_sort_length current value: 1024
-max_tmp_tables current value: 32
-max_write_lock_count current value: 4294967295
-net_buffer_length current value: 16384
-query_buffer_size current value: 0
-record_buffer current value: 131072
-sort_buffer current value: 2097116
-table_cache current value: 64
-thread_concurrency current value: 10
-tmp_table_size current value: 1048576
-thread_stack current value: 131072
-wait_timeout current value: 28800
-@end example
-
-¤â¤· @code{mysqld} ¥µ¡¼¥Ð¡¼¤òÁö¤é¤»¤Æ¤¤¤ë¤Ê¤é¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç¤âÊÑ¿ô¤ÎÃͤò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-
-@example
-shell> mysqladmin variables
-@end example
-
-¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï°Ê²¼¤Î¤è¤¦¤Ë·è¤á¤Æ¤¯¤À¤µ¤¤¡£
-buffer size, buffer length, stack size ¤Ï byte ñ°Ì¤ÇÍ¿¤¨¤Þ¤¹¡£
-¤³¤ì¤é¤ÎÃͤθå¤í¤Ë @samp{K} ¤ä @samp{M} ¤òÄɲ乤ë¤È¡¢¥­¥í¥Ð¥¤¥È¡¢¥á¥¬¥Ð¥¤¥È¤Ë¤Ê¤ê¤Þ¤¹¡£
-Î㤨¤Ð¡¢@code{16M} ¤Ï16¥á¥¬¥Ð¥¤¥È¤ò¼¨¤·¤Þ¤¹¡£Âçʸ»ú¾®Ê¸»ú¤Î¶èÊ̤Ϥʤ¯¡¢
-@code{16M} ¤È @code{16m} ¤ÏƱ¤¸°ÕÌ£¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-²ÔƯÃæ¤Î¥µ¡¼¥Ð¡¼¤ÎÅý·×¾ðÊó¤Ï @code{SHOW STATUS} ¤Ç»²¾È¤Ç¤­¤Þ¤¹. @xref{SHOW}.
-
-@table @code
-@item @code{ansi_mode}.
-¤â¤· @code{mysqld} ¤¬ @code{--ansi} ¥ª¥×¥·¥ç¥ó¤Çµ¯Æ°¤µ¤ì¤Æ¤¤¤ë¤Ê¤é¡¢@code{ON}.
-@xref{Ansi mode}.
-
-@item @code{back_log}
-@strong{MySQL} ¤¬»ý¤Æ¤ë̤²ò·è¤ÎÀܳÍ×µá¤Î¿ô¤Ç¤¹¡£¤³¤ì¤Ï @strong{MySQL}
-¥¹¥ì¥Ã¥É¤¬@strong{¤â¤Î¤¹¤´¤¯}¿¤¯¤ÎÀܳÍ×µá¤ò¤È¤Æ¤âû¤¤»þ´Ö¤ËÆÀ¤¿»þ¤Ë¡¢Æ¯¤­
-¤Þ¤¹¡£Àܳ¤Î¥Á¥§¥Ã¥¯¤È¿·¤·¤¤¥¹¥ì¥Ã¥É¤Î³«»Ï¤Ï¥á¥¤¥ó¥¹¥ì¥Ã¥É¤Ë¤¹¤³¤·»þ´Ö
-(¤·¤«¤·¤Û¤ó¤Î¤ï¤º¤«)¤¬¤«¤«¤ê¤Þ¤¹¡£back_log ¤Ï¡¢@strong{MySQL} ¤¬½Ö´ÖŪ¤Ë¿·
-¤·¤¤Í×µá¤Ø¤Î²óÅú¤òÄä»ß¤¹¤ëÁ°¤Ë¡¢¤³¤Îû¤¤»þ´Ö¤Î´Ö¤Ë¥¹¥¿¥Ã¥¯¤Ç¤­¤ëÀܳ¿ô¤Ç¤¹¡£
-û¤¤´ü´Ö¤Ë¿¤¯¤ÎÀܳ¤ò´üÂÔ¤¹¤ë¾ì¹ç¤Ë¤À¤±¡¢¤³¤ì¤òÁý²Ã¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-¤¤¤¤¤«¤¨¤ë¤Ê¤é¡¢¤³¤ì¤Ï TCP/IP Àܳ¤ÎÆþÎÏ listen ¥­¥å¡¼¤Î¥µ¥¤¥º¤Ç¤¹¡£
-¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ï¤³¤Î¥­¥å¡¼¤ÎÂ礭¤µ¤òÀ©¸Â¤·¤Æ¤¤¤Þ¤¹¡£
-UNIX ¥·¥¹¥Æ¥à¥³¡¼¥ë @code{listen(2)} ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ë¡¢¤µ¤é¤Ë¾ÜºÙ¤¬¤¢¤ê¤Þ¤¹¡£
-¤³¤ÎÃͤòºÇÂç¸Â¤Ë¤·¤¿¤¤¾ì¹ç¡¢¤ª»È¤¤¤ÎOS¤Î¥É¥­¥å¥á¥ó¥È¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£
-@code{back_log} ¤ò¤³¤ÎOS¤ÎÀ©¸ÂÃͤè¤ê¿¤¯¼è¤Ã¤Æ¤â¤ÏÁ´¤¯¸ú²Ì¤¢¤ê¤Þ¤»¤ó¡£
-
-@item @code{thread_cache_size}
-How many threads we should keep keep in a cache for reuse. When a
-client disconnects the clients threads is put in the cache if there
-isn't more than @code{thread_cache_size} threads from before. All new
-threads are first taken from the cache and only when the cache is empty
-a new thread is created. This variable can be increased to improve
-performance if you have a lot of new connections (Normally this doesn't
-however give a notable performance improvement if you have a good
-thread implementation).
-
-@item @code{concurrent_inserts}
-¤â¤· @code{ON} (¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤¹) ¤Ê¤é¡¢@code{MySQL} ¤Ï¡¢
-@code{SELECT} ¥¯¥¨¥ê¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë @code{MyISAM} ¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ¡¢
-Ʊ»þ¤Ë @code{INSERT} ¤¬»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï @code{mysqld} ¤Î¥ª¥×¥·¥ç¥ó¤Ë @code{--safe} ¤« @code{--skip-new} ¤ò
-»ØÄꤹ¤ë¤³¤È¤Ç @code{OFF} ¤Ë¤Ç¤­¤Þ¤¹¡£
-
-@item @code{connect_timeout}
-@code{mysqld} ¥µ¡¼¥Ð¡¼¤¬Àܳ¥Ñ¥±¥Ã¥È¤òÂÔ¤ÄÉÿô¡£ (@code{Bad handshake} ¤òÊÖ¤¹¤Þ¤Ç¤ÎÉÿô)
-
-@item @code{delayed_insert_timeout}
-¤É¤ì¤°¤é¤¤ @code{INSERT DELAYED} ¥¹¥ì¥Ã¥É¤¬ @code{INSERT} ʸ¤òÂԤĤ٤­¤«¡£
-
-@item @code{delayed_insert_limit}
-@code{delayed_insert_limit} ¸Ä¤Î¥ì¥³¡¼¥É¤òÁÞÆþ¤·¤¿¸å¡¢ @code{INSERT DELAYED} ¥Ï¥ó¥É¥é¡¼¤Ï
-ÂÔ¤¿¤µ¤ì¤Æ¤¤¤ë @code{SELECT} ʸ¤¬¤Ê¤¤¤«¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ ¤â¤·¤¢¤ë¤Ê¤é¡¢
-ÁÞÆþ¤ò³¤±¤ëÁ°¤Ë¤½¤ì¤é¤Î¼Â¹Ô¤òµö¤·¤Þ¤¹¡£
-
-@item @code{delay_key_write}
-¤â¤· enabled ¤Ç¤¢¤ì¤Ð(¤³¤ì¤¬¥Ç¥Õ¥©¥ë¥È)¡¢@strong{MySQL} ¤Ï @code{CREATE TABLE} ʸ¤Î
-@code{DELAY_KEY_WRITE} ¥ª¥×¥·¥ç¥ó¤òº½Å¤·¤Þ¤¹¡£
-@code{DELAY_KEY_WRITE}¥ª¥×¥·¥ç¥ó¤ò»ØÄꤵ¤ì¤Æºî¤é¤ì¤¿¥Æ¡¼¥Ö¥ë¤Î¥­¡¼¥Ð¥Ã¥Õ¥¡¤Ï¡¢
-Ëè²ó¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¹¹¿·¤Ë¤Ï¥Õ¥é¥Ã¥·¥å¤µ¤ì¤º¡¢¤¿¤À¥Æ¡¼¥Ö¥ë¤¬ÊĤ¸¤é¤ì¤¿¤È¤­¤Ë¤À¤±
-¥Õ¥é¥Ã¥·¥å¤µ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï¥­¡¼¤Î½ñ¤­½Ð¤·¤ò®¤¯¤·¤Þ¤¹¤¬¡¢¤â¤·¤³¤ì¤ò»ÈÍѤ¹¤ë¤Ê¤é¡¢
-Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ò @code{myisamchk --fast --force} ¤Ç¼«Æ°Åª¤Ë¸¡ºº¤¹¤ë¤è¤¦¤Ë¤¹¤Ù¤­¤Ç¤¹¡£
-¤â¤· @code{mysqld} ¤ò @code{--delay-key-write_for_all_tables} ¥ª¥×¥·¥ç¥óÉÕ¤­¤Ç
-µ¯Æ°¤·¤¿¾ì¹ç¡¢¤³¤ì¤Ï¡¢Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤¬ @code{delay_key_write} ¥ª¥×¥·¥ç¥ó»ØÄꤵ¤ì¤Æ
-ºîÀ®¤µ¤ì¤¿¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤ë»ö¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤Î¥Õ¥é¥°¤Ï¡¢@code{mysqld} ¤ò @code{--skip-new} ¤ä @code{--safe-mode} ¥ª¥×¥·¥ç¥ó
-¤Çµ¯Æ°¤¹¤ì¤Ð̵¸ú¤Ë¤¹¤ë¤³¤È¤â½ÐÍè¤Þ¤¹¡£
-
-@item @code{delayed_queue_size}
-What size queue (in rows) should be allocated for handling @code{INSERT
-DELAYED}. If the queue becomes full, any client that does @code{INSERT
-DELAYED} will wait until there is room in the queue again.
-
-@item @code{flush_time}
-¤³¤ì¤¬¤â¤·¡¢Èó¥¼¥í¤Ë¥»¥Ã¥È¤µ¤ì¤¿¤Ê¤é¡¢Ëè @code{flush_time} É䴤ȤË
-Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤¬ÊĤ¸¤é¤ì¤Þ¤¹¡£ (¥ê¥½¡¼¥¹¤Î²òÊü¤ÈDisk¤Ø¤Îsync¤Î¤¿¤á¤Ë)
-
-@item @code{init_file}
-¥µ¡¼¥Ð¡¼µ¯Æ°»þ¤Ë¡¢@code{--init-file} ¥ª¥×¥·¥ç¥ó¤ËÍ¿¤¨¤¿¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¹¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥µ¡¼¥Ð¡¼µ¯Æ°»þ¤Ë¼Â¹Ô¤·¤¿¤¤ SQL ʸ¤ò½ñ¤¤¤Æ¤ª¤­¤Þ¤¹¡£
-
-@item @code{interactive_timeout}
-The number of seconds the server waits for activity on an interactive
-connection before closing it. ¥¤¥ó¥¿¥é¥¯¥Æ¥£¥Ö ¥¯¥é¥¤¥¢¥ó¥È¤òºî¤ë¤Ë¤Ï¡¢
-C API @code{mysql_real_connect()} ¤Ë @code{CLIENT_INTERACTIVE} ¥ª¥×¥·¥ç¥ó¤ò
-¥»¥Ã¥È¤·¤Þ¤¹¡£ See also @code{wait_timeout}.
-
-@item @code{join_buffer_size}
-¤³¤Î¥Ð¥Ã¥Õ¥¡¤Ï(¥¤¥ó¥Ç¥Ã¥¯¥¹Ìµ¤·¤Î)´°Á´¤Ê·ë¹ç¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¤½¤ì¤Ï2¤Ä¤Î
-¥Æ¡¼¥Ö¥ë´Ö¤Î´°Á´¤Ê·ë¹ç¤´¤È¤Ë1²ó³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÄɲ䬤Ç
-¤­¤Ê¤¤»þ¡¢¤è¤ê®¤¤´°Á´¤Ê·ë¹ç¤òÆÀ¤ë¤¿¤á¤Ë¡¢¤³¤ì¤òÁý²Ã¤·¤Æ¤¯¤À¤µ¤¤¡£Ä̾
-®¤¤·ë¹ç¤òÆÀ¤ë°ìÈÖÎɤ¤ÊýË¡¤Ï¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÄɲ乤뤳¤È¤Ç¤¹¡£
-
-@c Make texi2html support index @anchor{Index cache size}. Then change
-@c some xrefs to point here
-@item @code{key_buffer_size}
-¥¤¥ó¥Ç¥Ã¥¯¥¹¡¦¥Ö¥í¥Ã¥¯¤Ï¥Ð¥Ã¥Õ¥¡¤µ¤ì¡¢¤½¤·¤ÆÁ´¤Æ¤Î¥¹¥ì¥Ã¥É¤Ë¶¦Í­¤µ¤ì¤Þ¤¹¡£
-@code{key_buffer_size} ¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¡¦¥Ö¥í¥Ã¥¯¤Î¤¿¤á¤Î¥Ð¥Ã¥Õ¥¡¡¦¥µ¥¤¥º¤Ç¤¹¡£
-
-Increase this to get better index handling (for all reads and multiple
-writes) to as much as you can afford; 64M on a 256M machine that mainly
-runs @strong{MySQL} is quite common. If you however make this too big
-(more than 50 % of your total memory?) your system may start to page
-and become REALLY slow. Remember that because @strong{MySQL} does not cache data
-read, that you will have to leave some room for the OS filesystem cache.
-
-You can check the performance of the key buffer by doing @code{show
-status} and examine the variables @code{Key_read_requests},
-@code{Key_reads}, @code{Key_write_requests} and @code{Key_writes}. The
-@code{Key_reads/Key_read_request} ratio should normally be < 0.01.
-The @code{Key_write/Key_write_requests} is usually near 1 if you are
-using mostly updates/deletes but may be much smaller if you tend to
-do updates that affect a lot of rows at the same time or if you are
-using @code{delay_key_write}. @xref{SHOW}.
-
-To get even more speed when writing many rows at the same time use
-@code{LOCK TABLES}. @xref{LOCK TABLES, , @code{LOCK TABLES}}.
-
-@item @code{lower_case_table_names}
-Change all table names to lower case on disk.
-
-@item @code{long_query_time}
-¤â¤·¤¢¤ë¥¯¥¨¥ê¤¬¤³¤ÎÃÍ(ÉÃ)¤è¤ê»þ´Ö¤¬¤«¤«¤ì¤Ð¡¢@code{Slow_queries} ¥«¥¦¥ó¥¿¡¼
-¤¬Áý¤ä¤µ¤ì¤Þ¤¹¡£
-
-@item @code{max_allowed_packet}
-°ì¤Ä¤Î¥Ñ¥±¥Ã¥È¤ÎºÇÂ祵¥¤¥º¡£¥á¥Ã¥»¡¼¥¸¥Ð¥Ã¥Õ¥¡¤Ï @code{net_buffer_length} ¥Ð¥¤¥È¤Ë½é´ü²½¤µ¤ì¤Þ¤¹¤¬¡¢
-@code{max_allowed_packet}¤Þ¤ÇÂ礭¤¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢
-Â礭¤Ê¥Ñ¥±¥Ã¥È¡¢´Ö°ã¤Ã¤¿¥Ñ¥±¥Ã¥È¤ò¤ò¼õ¤±¤ë¤Ë¤Ï¾®¤µ¤¤ÃͤǤ¹¡£
-Â礭¤Ê @code{BLOB} ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤ì¤òÁý²Ã¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£»ÈÍѤ·¤¿
-¤¤ºÇÂç¤Î @code{BLOB} ¤ÈƱ¤¸¤¯¤é¤¤Â礭¤¯¤¹¤ë¤Ù¤­¤Ç¤¹¡£
-
-@item @code{max_connections}
-µö¤µ¤ì¤ëƱ»þ¥¯¥é¥¤¥¢¥ó¥È¤Î¿ô¡£¤³¤ì¤òÁý²Ã¤¹¤ë¾ì¹ç¤Ï¡¢@code{mysqld} ¤¬»ý¤Ä¥Õ¥¡¥¤
-¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Î¿ô¤òÁý¤ä¤¹É¬Íפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£
-¸å½Ò¤Î¥Õ¥¡¥¤¥ë¥Ç¥¹¥¯¥ê¥×¥¿¡¼¤ÎÀ©¸Â¤ÎÀâÌÀ¤ò»²¾È¤Î¤³¤È¡£ @xref{Too many connections}.
-
-@item @code{max_connect_errors}
-¤â¤·¤¢¤ë¥Û¥¹¥È¤«¤é¤ÎÀܳÃæÃǤ¬¤³¤ÎÃͤò°Ê¾å¤Ë¤Ê¤Ã¤¿¾ì¹ç¡¢¤³¤ì°Ê¸å¡¢
-¤½¤Î¥Û¥¹¥È¤«¤é¤ÎÀܳ¤òµñÀ䤷¤Þ¤¹¡£@code{FLUSH HOSTS} ¥³¥Þ¥ó¥É¤Ç
-¥Û¥¹¥È¤ÎµñÈݤò²ò½ü¤Ç¤­¤Þ¤¹¡£
-
-@item @code{max_delayed_threads}
-¤³¤ÎÃͤòĶ¤¨¤Æ @code{INSERT DELAYED} ¤ò°·¤¦¥¹¥ì¥Ã¥É¤òµ¯Æ°¤Ç¤­¤Þ¤»¤ó¡£
-¤â¤·Á´¤Æ¤Î @code{INSERT DELAYED} ¥¹¥ì¥Ã¥É¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Æ¡¢¤µ¤é¤Ë¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤Ë
-¥Ç¡¼¥¿¤òÁÞÆþ¤·¤è¤¦¤È¤¹¤ë¤È¡¢¤½¤Î¥ì¥³¡¼¥É¤Ï @code{DELAYED} ¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤
-¾ì¹ç¤ÈƱÍͤËÁÞÆþ¤µ¤ì¤Þ¤¹¡£
-
-@item @code{max_join_size}
-@code{max_join_size} ¤è¤ê¿¤¤¥ì¥³¡¼¥É¤ò¿¨¤ë¤È¥¨¥é¡¼¤¬ÊÖ¤ê¤Þ¤¹¡£Ä¹¤¤»þ´Ö¤ò¤«¤±¤Æ
-É´Ëü¹Ô¤òÊÖ¤¹¤è¤¦¤Ê @code{WHERE} ¤Ê¤·¤Î·ë¹ç¤òºîÀ®¤¹¤ë¤è¤¦¤Ê¥æ¡¼¥¶¤ò»ý¤Ã¤Æ
-¤¤¤ë¾ì¹ç¤Ë¤³¤ì¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
-
-@item @code{max_heap_table_size}
-Don't allow creation of heap tables bigger than this.
-
-@item @code{max_sort_length}
-@code{BLOB} ¤Þ¤¿¤Ï @code{TEXT} ¹àÌܾå¤Ç¥½¡¼¥È¤¹¤ë»þ¤Ë»ÈÍѤ¹¤ë¥Ð¥¤¥È¿ô¡£
-(ºÇ½é¤Î @code{max_sort_length} ¥Ð¥¤¥È¤À¤±¤¬¤½¤ì¤¾¤ì¤ÎÃͤǻÈÍѤǤ­¡¢»Ä¤ê¤Ï̵»ë¤µ¤ì¤Þ¤¹)
-
-@item @code{max_tmp_tables}
-(¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¤Þ¤À¤Ê¤Ë¤â¹Ô¤¤¤Þ¤»¤ó).
-¥¯¥é¥¤¥¢¥ó¥È¤¬Æ±»þ¤Ë¥ª¡¼¥×¥ó¤Ç¤­¤ë¥Æ¡¼¥Ö¥ë¿ô¤ÎºÇÂçÃÍ¡£
-
-@item @code{max_write_lock_count}
-After this many write locks, allow some read locks to run in between.
-
-@item @code{net_buffer_length}
-ÄÌ¿®¥Ð¥Ã¥Õ¥¡¤¬¥¯¥¨¥ê´Ö¤Ç¤³¤Î¥µ¥¤¥º¤Ë¥ê¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£¤³¤ì¤ÏÄ̾ï¤ÏÊѹ¹¤¹
-¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¤È¤Æ¤â¾®¤µ¤Ê¥á¥â¥ê¤·¤«¤Ê¤¤¾ì¹ç¤Ï¡¢¤³¤ì¤ò´üÂÔ¤µ¤ì¤ë
-¥¯¥¨¥ê¤Î¥µ¥¤¥º¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
-( ¤³¤ì¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤éÁ÷¤é¤ì¤Æ¤¯¤ëSQLʸ¤ÎŤµÊ¬¤¢¤ì¤Ð¤¤¤¤¤Ç¤·¤ç¤¦¡£
-¤â¤·¹½Ê¸¤¬¤³¤ÎÃͤò¤³¤¨¤¿¾ì¹ç¡¢¥Ð¥Ã¥Õ¥¡¤Ï¼«Æ°Åª¤ËÂ礭¤¯¤Ê¤ê¤Þ¤¹¡£
-¤¿¤À¤· @code{max_allowed_packet} ¥Ð¥¤¥È¤Þ¤Ç¤Ç¤¹)
-
-@item @code{net_retry_count}
-If a read on a communication port is interrupted, retry this many times
-before giving up. This value should be quite high on @code{FreeBSD} as
-internal interrupts is sent to all threads.
-
-@item @code{record_buffer}
-½ç½ø¥¹¥­¥ã¥ó¤ò¹Ô¤¦³Æ¥¹¥ì¥Ã¥É¤¬¡¢¥¹¥­¥ã¥ó¤¹¤ë¥Æ¡¼¥Ö¥ëËè¤Ë¡¢¤³¤Î¥µ¥¤¥º¤Î¥Ð¥Ã
-¥Õ¥¡¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£Â¿¤¯¤Î½ç½ø¥¹¥­¥ã¥ó¤ò¹Ô¤¦¾ì¹ç¤Ï¡¢¤³¤ì¤òÁý²Ã¤µ¤»¤Æ¤¯¤À
-¤µ¤¤¡£
-
-@item @code{query_buffer_size}
-The initial allocation of the query buffer. If most of your queries are
-long (like when inserting blobs), you should increase this!
-
-@item @code{skip_show_databases}
-¤³¤ì¤Ï¡¢ @code{PROCESS_PRIV} ¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¥æ¡¼¥¶¡¼¤¬
- @code{SHOW DATABASES} ¤¹¤ë»ö¤òÁ˻ߤ·¤Þ¤¹¡£ ¤â¤·¡¢Â¾¿Í¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ä
-¥Æ¡¼¥Ö¥ë¤ò¸«¤è¤¦¤È¤¹¤ë¿Í¤¬¤¤¤ë»ö¤ò¡¢¤¢¤Ê¤¿¤¬¿´ÇÛ¤¹¤ë¤Ê¤é¤Ð¡¢
-¤³¤ì¤Ï¥»¥­¥å¥ê¥Æ¥£¤ò¶¯²½¤Ç¤­¤Þ¤¹¡£
-
-@item @code{sort_buffer}
-¥½¡¼¥È¤ò¹Ô¤¦É¬Íפ¬¤¢¤ë³Æ¥¹¥ì¥Ã¥É¤¬¤³¤Î¥µ¥¤¥º¤Î¥Ð¥Ã¥Õ¥¡¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£¤è
-¤ê®¤¤ @code{ORDER BY} ¤Þ¤¿¤Ï @code{GROUP BY} ¤Î¤¿¤á¤Ë¤Ï¤³¤ì¤òÁý¤ä¤·¤Æ¤¯
-¤À¤µ¤¤¡£
-@xref{Temporary files}.
-
-@item @code{table_cache}
-Á´¤Æ¤Î¥¹¥ì¥Ã¥É¤Ë¤Ä¤¤¤Æ¤Î¥ª¡¼¥×¥ó¥Æ¡¼¥Ö¥ë¤Î¿ô¡£¤³¤ì¤òÁý²Ã¤¹¤ë¾ì¹ç¤Ï¡¢
-@code{mysqld}¤¬Í׵᤹¤ë¥ª¡¼¥×¥ó¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Î¿ô¤â
-Áý²Ã¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó¡£
-@strong{MySQL} ¤Ï¥æ¥Ë¡¼¥¯¥Æ¡¼¥Ö¥ëËè¤Ë2¤Ä¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òɬÍפÈ
-¤·¤Þ¤¹¡£
-¸å½Ò¤Î¥Õ¥¡¥¤¥ë¥Ç¥¹¥¯¥ê¥×¥¿¡¼¤ÎÀ©¸Â¤ÎÀâÌÀ¤ò»²¾È¤Î¤³¤È¡£
-You can check if you
-need to increase the table cache by checking the @code{Opened_tables}
-variable. @xref{SHOW}. If this variable is big and you don't do
-@code{FLUSH TABLES} a lot (which just forces all tables to be closed and
-reopenend), then you should increase the value of this variable.
-
-¥Æ¡¼¥Ö¥ë¥­¥ã¥Ã¥·¥å¤¬¤É¤Î¤è¤¦¤ËƯ¤¯¤«¤Ï¤³¤Á¤é¤ò»²¾È @ref{Table cache}.
-
-@item @code{tmp_table_size}
-¥á¥â¥ê¡¼Æâ¤Î °ì»þ¥Æ¡¼¥Ö¥ë¤¬¤³¤ÎÃͤòĶ¤¨¤è¤¦¤È¤·¤¿¾ì¹ç¡¢@strong{MySQL} ¤Ï
-¼«Æ°Åª¤Ë¡¢¤³¤ì¤ò¡¢disk ¥Ù¡¼¥¹¤Î @code{MyISAM} ¥Æ¡¼¥Ö¥ë¤ËÊÑ´¹¤·¤Þ¤¹¡£
-¿¤¯¤ÎÀè¿ÊŪ¤Ê @code{GROUP BY} ¥¯¥¨¥ê¤ò¹Ô¤¦¾ì¹ç¤Ï¡¢
-¤³¤Î @code{tmp_table_size} ¤òÁý²Ã¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item @code{thread_stack}
-³Æ¥¹¥ì¥Ã¥É¤Î¥¹¥¿¥Ã¥¯¤ÎÂ礭¤µ¡£@code{crash-me} ¤Ë¤è¤Ã¤Æ¸¡½Ð¤µ¤ì¤ë¿¤¯
-¤ÎÀ©¸Â¤¬¤³¤ì¤Ë°Í¸¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Ä̾ï¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤ËÂФ·¤Æ
-½½Ê¬¤È¤Ã¤Æ¤¢¤ê¤Þ¤¹¡£
-@xref{Benchmarks}.
-
-@item @code{wait_timeout}
-¥µ¡¼¥Ð¡¼¤¬¥³¥Í¥¯¥·¥ç¥ó¤òÊĤ¸¤ë¤Þ¤Ç¤Ë¥¢¥¯¥Æ¥£¥Ö¤Ê¥³¥Í¥¯¥·¥ç¥ó¤òÂÔ¤ÄÉÿô¡£
-@code{interactive_timeout} ¤â»²¾È¤Î¤³¤È¡£
-@end table
-
-@strong{MySQL} ¤Ï¤È¤Æ¤â¥¹¥±¡¼¥é¥Ö¥ë¤Ê¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤ·¤Þ¤¹¡£¤½¤Î¤¿¤á
-Ä̾ï¤Ï¤È¤Æ¤â¾¯¤Ê¤¤¥á¥â¥ê¤ÇÆ°ºî¤·¡¢¤Þ¤¿¤è¤êÎɤ¤À­Ç½¤òÆÀ¤ë¤¿¤á¤Ë
-@strong{MySQL} ¤Ë¿¤¯¤Î¥á¥â¥ê¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-When tuning a @strong{MySQL} server, the two most important variables to use
-are @code{key_buffer_size} and @code{table_cache}. You should first feel
-confident that you have these right before trying to change any of the
-other variables.
-
-¿¤¯¤Î¥á¥â¥ê(>=256M)¤È¿¤¯¤Î¥Æ¡¼¥Ö¥ë¤ò»ý¤Ã¤Æ¤¤¤Æ¡¢Å¬Å٤Υ¯¥é¥¤¥¢¥ó¥È¿ô¤ÇºÇÂçÀ­Ç½¤òÆÀ¤¿
-¤¤¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ê¤â¤Î¤ò»ÈÍѤ·¤Þ¤¹:
-
-@example
-shell> safe_mysqld -O key_buffer=64M -O table_cache=256 \
- -O sort_buffer=4M -O record_buffer=1M &
-@end example
-
-If you have only 128M and only a few tables, but you still do a lot of
-sorting, you can use something like:
-
-@example
-shell> safe_mysqld -O key_buffer=16M -O sort_buffer=1M
-@end example
-
-¿¤¯¤ÎÀܳ¤Ç¾¯¤Ê¤¤¥á¥â¥ê¤·¤«¤Ê¤¤¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ê¤â¤Î¤ò»ÈÍѤ·¤Þ¤¹:
-
-@example
-shell> safe_mysqld -O key_buffer=512k -O sort_buffer=100k \
- -O record_buffer=100k &
-@end example
-
-or even:
-
-@example
-shell> safe_mysqld -O key_buffer=512k -O sort_buffer=16k \
- -O table_cache=32 -O record_buffer=8k -O net_buffer=1K &
-@end example
-
-¤â¤·¤È¤Æ¤â¿¤¯¤ÎÀܳ¤¬¤¢¤ê¡¢@code{mysqld} ¤¬³ÆÀܳ¤ËÂФ·¤Æ¾¯¤Ê¤¤¥á¥â¥ê¡¼¤Ç
-Æ°ºî¤¹¤ë¤è¤¦¤ËÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢¥¹¥ï¥Ã¥×¤ÎÆɤ߽ñ¤­¤Ë¤è¤ë¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎÄã²¼¤¬¤ª¤­¤Þ¤¹¡£
-¤â¤Á¤í¤ó½½Ê¬¤Ê¥á¥â¥ê¡¼¤¬¤¢¤ì¤Ð¡¢Á´¤Æ¤ÎÀܳ¤Ë¤¿¤¤¤·¤Æ @code{mysqld} ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹Îɤ¯¤Ê¤ê¤Þ¤¹¡£
-
-@code{mysqld} ¤Ø¤Î¥ª¥×¥·¥ç¥ó¤òÊѹ¹¤¹¤ë¾ì¹ç¡¢¤½¤Î¥µ¡¼¥Ð¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ë¤À¤±¤Ë
-Í­¸ú¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤¡£
-
-¥Ñ¥é¥á¡¼¥¿Êѹ¹¤Î¸ú²Ì¤ò¸«¤ë¤Ë¤Ï¡¢¤³¤Î¤è¤¦¤Ë¤·¤Þ¤¹:
-
-@example
-shell> mysqld -O key_buffer=32m --help
-@end example
-
-@code{--help} ¥ª¥×¥·¥ç¥ó¤ÏºÇ¸å¤Ë¤Ä¤±¤Æ¤¯¤À¤µ¤¤¡£
-¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤ò --help ¤Î¸å¤Ë¤Ä¤±¤ë¤È¡¢¤½¤Î¥ª¥×¥·¥ç¥ó¤ÏÈ¿±Ç¤µ¤ì¤Þ¤»¤ó¡£
-
-@cindex Table cache
-@findex table_cache
-@node Table cache, Creating many tables, Server parameters, System
-@subsection @strong{MySQL} ¤Ï¤É¤Î¤è¤¦¤Ë¥Æ¡¼¥Ö¥ë¤Î¥ª¡¼¥×¥ó & ¥¯¥í¡¼¥º¤ò¹Ô¤Ê¤¦¤«¡©
-
-@code{table_cache} , @code{max_connections} , @code{max_tmp_tables} ¤Ï
-¥µ¡¼¥Ð¡¼¤¬³«¤¤¤¿¾õÂ֤ˤ·¤Æ¤ª¤¯»ö¤¬½ÐÍè¤ë¥Õ¥¡¥¤¥ë¤ÎºÇÂç¿ô¤Ë±Æ¶Á¤·¤Þ¤¹¡£
-¤â¤·¤³¤ì¤é¤ÎÊÑ¿ô¤Î¤¦¤Á¤Î°ì¤Ä¡¢¤¢¤ë¤¤¤ÏÊ£¿ô¤òÁý²Ã¤µ¤»¤ë¤Ê¤é¡¢
-¤¢¤Ê¤¿¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Î¡¢1 ¥×¥í¥»¥¹¤¢¤¿¤ê¤Ë³«¤«¤ì¤ë
- ¥Õ¥¡¥¤¥ë¡¦¥Ç¥¹¥¯¥ê¥×¥¿ ¤ÎºÇÂçÃͤòÁý¤ä¤¹¤³¤È¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-¿¤¯¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¤³¤ÎÀ©¸Â¤òÁý¤ä¤¹¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-¤³¤ì¤ò¤É¤¦¤ä¤Ã¤Æ¹Ô¤¦¤«¤Ï¡¢¤¢¤Ê¤¿¤Î»ÈÍѤ·¤Æ¤¤¤ë OS ¤Î¥É¥­¥å¥á¥ó¥È¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£
-À©¸ÂÃͤÎÊѹ¹ÊýË¡¤Ï¡¢¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Þ¤Á¤Þ¤Á¤À¤«¤é¤Ç¤¹¡£
-
-@code{table_cache} ¤Ï @code{max_connections} ¤Ë´ØÏ¢¤·¤Þ¤¹¡£
-Î㤨¤Ð 200 ¤Î¥³¥Í¥¯¥·¥ç¥ó¤òƱ»þ¤Ë³«¤±¤ë¤Ê¤é¡¢¾¯¤Ê¤¯¤È¤â @code{200 * n} ¤Î
-¥Æ¡¼¥Ö¥ë¡¦¥­¥ã¥Ã¥·¥å¤¬É¬ÍפǤ¹¡£ ¤³¤³¤Ç @code{n} ¤Ï join ¤Ë¤ª¤±¤ë¥Æ¡¼¥Ö¥ë¤Î
-ºÇÂç¿ô¤Ç¤¹¡£
-
-¥ª¡¼¥×¥ó¥Æ¡¼¥Ö¥ë¤Î¥­¥ã¥Ã¥·¥å¤ÏºÇÂç¤Ç @code{table_cache} ¤Þ¤ÇÂ礭¤¯¤Ê¤ê¤Þ¤¹(¥Ç
-¥Õ¥©¥ë¥È¤Ï 64, @code{mysqld} ¤Î¥ª¥×¥·¥ç¥ó @code{-O table_cache=#} ¤ÇÊѹ¹²Äǽ)¡£
-¥­¥ã¥Ã¥·¥å¤¬°ìÇդˤʤäơ¢Â¾¤Î¥¹¥ì¥Ã¥É¤¬¥Æ¡¼¥Ö¥ë¤Î¥ª¡¼¥×¥ó¤ò»î¤ß¤¿»þ¡¢
-¤Þ¤¿¤Ï @code{mysqladmin refresh} @code{mysqladmin flush-tables}
-¤ò»ÈÍѤ·¤¿¾ì¹ç¤ò½ü¤¤¤Æ¡¢¥Æ¡¼¥Ö¥ë¤Ï¥¯¥í¡¼¥º¤µ¤ì¤Þ¤»¤ó¡£
-
-¥­¥ã¥Ã¥·¥å¤¬¤¤¤Ã¤Ñ¤¤¤Ë¤Ê¤Ã¤¿¾ì¹ç¡¢¥µ¡¼¥Ð¡¼¤Ï°Ê²¼¤Î½èÃÖ¤ò¼è¤Ã¤Æ
-¥­¥ã¥Ã¥·¥å¤ò»ÈÍѤǤ­¤ë¤è¤¦¤ËÇÛÃÖ¤·¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¸½ºß»È¤ï¤ì¤Æ¤¤¤Ê¤¤¥Æ¡¼¥Ö¥ë¤¬²òÊü¤µ¤ì¤Þ¤¹¡£¤â¤Ã¤È¤â»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¥Æ¡¼¥Ö¥ë¤«¤é¤«¤é½ç¤Ë¡£
-
-@item
-¤â¤·¥­¥ã¥Ã¥·¥å¤¬°ìÇդǥơ¼¥Ö¥ë¤ò²òÊü¤¹¤ë¤³¤È¤¬½ÐÍ褺¡¢¤µ¤é¤Ë¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤Î
-¥ª¡¼¥×¥óÍ׵᤬¤¢¤ë¾ì¹ç¡¢¥­¥ã¥Ã¥·¥å¤Ï°ì»þŪ¤Ê³ÈÄ¥¤òɬÍפȤ·¤Þ¤¹¡£
-
-@item
-¤â¤·¤½¤Î¥­¥ã¥Ã¥·¥å¤¬°ì»þ³ÈÄ¥¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤Æ¡¢¤«¤Ä¡¢¥Æ¡¼¥Ö¥ë¤¬»ÈÍѾõÂÖ¤«¤é
-̤»ÈÍѾõÂ֤˰ܹԤ·¤¿¾ì¹ç¡¢¤½¤Î¥Æ¡¼¥Ö¥ë¤ÏÊĤ¸¤é¤ì¡¢¥­¥ã¥Ã¥·¥å¤«¤é²òÊü¤µ¤ì¤Þ¤¹¡£
-@end itemize
-
-¥Æ¡¼¥Ö¥ë¤Ï³ÆƱ»þ¥¢¥¯¥»¥¹¤Ë (ºÆ¤Ó) ¥ª¡¼¥×¥ó¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢Æ±¤¸¥Æ¡¼¥Ö¥ë¤Ç2¤Ä¤Î¥¹¥ì¥Ã
-¥É¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤Þ¤¿¤ÏƱ¤¸¥¯¥¨¥ê¤Ç(@code{AS} ¤Ç)¥Æ¡¼¥Ö¥ë¤ò2²ó¥¢¥¯¥»¥¹
-¤¹¤ë¾ì¹ç¡¢¥Æ¡¼¥Ö¥ë¤Ï2²ó¥ª¡¼¥×¥ó¤¹¤ëɬÍפ¬¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ºÇ½é¤Î¥Æ¡¼¥Ö¥ë¤Î¥ª¡¼
-¥×¥ó¤Ï2¤Ä¤Î¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤ò»ÈÍѤ·¡¢Â³¤¯¥Æ¡¼¥Ö¥ë¤Î³Æ»ÈÍѤÏ1¤Ä¤À¤±¤Î¥Õ¥¡¥¤¥ëµ­½Ò
-»Ò¤ò»ÈÍѤ·¤Þ¤¹¡£
-
-
-@node Creating many tables, Open tables, Table cache, System
-@subsection Drawbacks of creating large numbers of tables in the same database
-
-¤â¤·¤¿¤¯¤µ¤ó¤Î¥Õ¥¡¥¤¥ë¤¬°ì¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¾ì¹ç¡¢¥ª¡¼¥×¥ó¡¢¥¯¥í¡¼¥º¡¢
-ºîÀ®Áàºî¤ÏÃÙ¤¯¤Ê¤ë¤Ç¤·¤ç¤¦¡¢ ¤â¤· @code{SELECT} ʸ¤ò¿¤¯¤Î¥Æ¡¼¥Ö¥ë¤ËÂФ·
-¼Â¹Ô¤·¤¿¾ì¹ç¡¢¥Æ¡¼¥Ö¥ë¥­¥ã¥Ã¥·¥å¤¬°ìÇդʤé¤Ð¡¢¤³¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤Ï¿¤¯¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-¤Ê¤¼¤Ê¤é¡¢¤½¤ì¤¾¤ì¤Î¥Æ¡¼¥Ö¥ë¤Ë¤Ä¤­¥ª¡¼¥×¥ó¤·¡¢¥¯¥í¡¼¥º¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤«¤é¤Ç¤¹¡£
-¤³¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤ò´ËϤ¹¤ë¤Ë¤Ï¡¢¥Æ¡¼¥Ö¥ë¥­¥ã¥Ã¥·¥å¤òÂ礭¤¯¤·¤Þ¤¹¡£
-
-@node Open tables, Memory use, Creating many tables, System
-@subsection ²¿¸Î¤½¤ó¤Ê¤Ë¿¤¯¤Î¥Æ¡¼¥Ö¥ë¤ò¥ª¡¼¥×¥ó¤¹¤ë¤Î¤«¡©
-
-@code{mysqladmin status} ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê¤â¤Î¤¬ÆÀ¤é¤ì¤Þ¤¹:
-
-@example
-Uptime: 426 Running threads: 1 Questions: 11082 Reloads: 1 Open tables: 12
-@end example
-
-³Î¤«¤Ë¤¿¤Ã¤¿6¸Ä¤·¤«¥Æ¡¼¥Ö¥ë¤¬¤Ê¤¤¤Î¤Ë¡¢¤³¤Î¤è¤¦¤Ê·ë²Ì¤¬½Ð¤ë¤Î¤Ç¾¯¡¹¸ÍÏǤï¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-
-@strong{MySQL} ¤Ï¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¤Ê¤Î¤Ç¡¢Æ±¤¸¥Æ¡¼¥Ö¥ë¤Ç°ìÅ٤˿¤¯¤Î¥¯¥¨¥ê¤ò»ý¤Æ
-¤Þ¤¹¡£Æ±¤¸¥Õ¥¡¥¤¥ë¾å¤Ç°Û¤Ê¤ë¾õÂÖ¤ò»ý¤Ä2¤Ä¤Î¥¹¥ì¥Ã¥É¤Ç¡¢ÌäÂê¤òºÇ¾®²½¤¹¤ë
-¤¿¤á¡¢Æ±»þ¤ËÆ°ºî¤¹¤ë³Æ¥¹¥ì¥Ã¥É¤Î¤¿¤á¥Æ¡¼¥Ö¥ë¤òºÆ¤Ó¥ª¡¼¥×¥ó¤·¤Þ¤¹¡£¤³¤ì¤Ï¤¤¤¯¤Ä
-¤«¤Î¥á¥â¥ê¤È¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Î°ì¤Ä¤Î³ÈÄ¥¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤ò»ÈÍѤ·¤Þ¤¹¡£
-¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤ÏÁ´¤Æ¤Î¥¹¥ì¥Ã¥É´Ö¤Ç¶¦Í­¤µ¤ì¤Þ¤¹¡£
-
-
-@cindex Memory use
-@node Memory use, Internal locking, Open tables, System
-@subsection MySQL ¤Ï¤É¤Î¤è¤¦¤Ë¥á¥â¥ê¤ò»ÈÍѤ¹¤ë¤Î¤«¡©
-
-°Ê²¼¤Ë @code{mysqld} ¥µ¡¼¥Ð¡¼¤¬¤É¤Î¤è¤¦¤Ë¥á¥â¥ê¡¼¤ò»ÈÍѤ¹¤ë¤«¡¢¤¤¤¯¤Ä¤«¼¨¤·¤Þ¤¹¡£
-¥µ¡¼¥Ð¡¼¤ËÍ¿¤¨¤ëÊÑ¿ô̾¤Ï¡¢¥µ¡¼¥Ð¡¼¤Î¥á¥â¥ê¡¼¤Î»ÈÍÑÊý¤Ë´ØÏ¢¤·¤¿Ì¾Á°¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
-
-@itemize @bullet
-@item
-¥­¡¼¥Ð¥Ã¥Õ¥¡ (ÊÑ¿ô @code{key_buffer}) ¤ÏÁ´¤Æ¤Î¥¹¥ì¥Ã¥É¤Ç¶¦Í­¤µ¤ì¡¢
-»Ä¤ê¤ÏɬÍ×»þ¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£
-@xref{Server parameters}.
-
-@item
-³ÆÀܳ¤Ï¤¤¤¯¤Ä¤«¤Î¥¹¥ì¥Ã¥É¶õ´Ö¤ò»ÈÍѤ·¤Þ¤¹¡¨
-¥¹¥¿¥Ã¥¯ (64K, ÊÑ¿ô @code{thread_stack}), Àܳ¥Ð¥Ã¥Õ¥¡(variable
-@code{net_buffer_length}), ·ë²Ì¥Ð¥Ã¥Õ¥¡(variable
-@code{net_buffer_length})¡£Àܳ¥Ð¥Ã¥Õ¥¡¤È·ë²Ì¥Ð¥Ã¥Õ¥¡¤ÏɬÍפȤʤä¿»þ¡¢
-ưŪ¤ËºÇÂç @code{max_allowed_packet} ¤Þ¤ÇÁý¤¨¤Þ¤¹¡£
-¥¯¥¨¥ê¤¬Áö¤Ã¤Æ¤¤¤ë»þ¡¢¤½¤Î¥¯¥¨¥ê¤Îʸ»ú¤Î¥³¥Ô¡¼¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£
-
-@item
-Á´¤Æ¤Î¥¹¥ì¥Ã¥É¤ÏƱ¤¸¥Ù¡¼¥¹¥á¥â¥ê¤ò¶¦Í­¤·¤Þ¤¹¡£
-
-@item
-¤Þ¤À memory-mapped ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤»¤ó (°µ½Ì¥Æ¡¼¥Ö¥ë¤Ï½ü¤­¤Þ¤¹¤¬¡¢¤³¤ì¤ÏÊ̤ÎÏÃ)¡£
-¤³¤ì¤Ï 4GB ¤Î 32bit ¥á¥â¥ê¶õ´Ö¤Ï¿¤¯¤ÎÂ礭¤Ê¥Æ¡¼¥Ö¥ë¤ò°·¤¦¤Ë¤Ï¾®¤µ¤¤¤¿¤á¤Ç¤¹¡£
-64bit ¥¢¥É¥ì¥¹¶õ´Ö¤ò»ý¤Ä¥·¥¹¥Æ¥à¤ò²æ¡¹¤¬¼ê¤ËÆþ¤ì¤¿»þ¡¢²æ¡¹¤Ï mmemory-mapping ¤òÄ̾ï¤Ë¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-
-@item
-¥Æ¡¼¥Ö¥ë¤ò±Û¤¨¤Æ½ç¼¡¥¹¥­¥ã¥ó¤ò¹Ô¤Ê¤¦³ÆÍ×µá¤Ï¡¢Æɤ߹þ¤ß¥Ð¥Ã¥Õ¥¡¤ò³ä¤êÅö¤Æ¤Þ¤¹
-(ÊÑ¿ô record_buffer)
-
-@item
-Á´¤Æ¤Î·ë¹ç¤Ï1¥Ñ¥¹¤Ç¹Ô¤Ê¤ï¤ì¡¢Â¿¤¯¤Î·ë¹ç¤Ï°ì»þ¥Æ¡¼¥Ö¥ë¤ò»ÈÍѤ»¤º¤Ë¹Ô¤Ê¤ï
-¤ì¤Þ¤¹¡£Â¿¤¯¤Î°ì»þ¥Æ¡¼¥Ö¥ë¤Ï¥á¥â¥ê¥Ù¡¼¥¹(HEAP)¤Î¥Æ¡¼¥Ö¥ë¤Ç¤¹¡£Â礭¤Ê¥ì¥³¡¼
-¥É¥µ¥¤¥º (= Á´¥Õ¥£¡¼¥ë¥ÉĹ¤Î¹ç·×) ¤ò»ý¤Ä°ì»þ¥Æ¡¼¥Ö¥ë¤Þ¤¿¤Ï¡¢@code{BLOB} ¤ò´Þ¤à
-¥Æ¡¼¥Ö¥ë¤Ï¥Ç¥£¥¹¥¯¾å¤ËÃÖ¤«¤ì¤Þ¤¹¡£
-
-@strong{MySQL} 3.23.2 °ÊÁ°¤Ç¤ÎÌäÂê¤Ï¡¢HEAP ¥Æ¡¼¥Ö¥ë¤¬
-@code{tmp_table_size} ¤Î¥µ¥¤¥º¤ò±Û¤¨¤ë¤È¡¢¥¨¥é¡¼ @code{The table tbl_name is full}
-¤¬½Ð¤ë¤³¤È¤Ç¤¹¡£¾­Íè²æ¡¹¤Ï¡¢É¬Í×»þ¤Ë¥á¥â¥ê (HEAP) ¥Æ¡¼¥Ö¥ë¤ò¥Ç¥£¥¹¥¯¥Ù¡¼
-¥¹ (NISAM) ¥Æ¡¼¥Ö¥ë¤Ë¼«Æ°Åª¤ËÊѹ¹¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¤³¤ì¤ò½¤Àµ¤·¤Þ¤¹¡£¤³¤Î
-ÌäÂê¤ò²óÈò¤¹¤ë¤¿¤á¡¢@code{mysqld} ¤Ø¤Î @code{tmp_table_size} ¥ª¥×¥·¥ç¥ó¤Þ
-¤¿¤Ï¥¯¥é¥¤¥¢¥ó¥È¦¤Ç SQL ¥ª¥×¥·¥ç¥ó @code{SQL_BIG_TABLES} ¤ÇÁý²Ã¤Ç¤­¤Þ¤¹¡£
-@xref{SET OPTION, , @code{SET OPTION}}.
-@strong{MySQL} 3.20 ¤Ç¤Ï¡¢°ì»þ¥Æ¡¼¥Ö¥ë¤ÎºÇÂ祵¥¤¥º¤Ï
-@code{recordbuffer*16} ¤Ç¤·¤¿¡£¤½¤Î¤¿¤á¡¢¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È¡¢
-@code{recordbuffer} ¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ @code{mysqld} ¤ò @code{--big-tables} ¤Ç
-³«»Ï¤¹¤ë¤³¤È¤Ç¡¢¾ï¤Ë°ì»þ¥Æ¡¼¥Ö¥ë¤ò¥Ç¥£¥¹¥¯¾å¤Ë³ÊǼ¤Ç¤­¤Þ¤¹¡£¤·¤«¤·¤³¤ì¤Ï
-¿¤¯¤ÎÊ£»¨¤Ê¥¯¥¨¥ê¤Î®Å٤˱ƶÁ¤·¤Þ¤¹¡£
-
-@item
-¤Û¤È¤ó¤É¤Î¥ê¥¯¥¨¥¹¥È¤Ï¡¢1,2¸Ä¤Î°ì»þ¥Õ¥¡¥¤¥ë¤È¤ï¤º¤«¤Ê¥½¡¼¥È¥Ð¥Ã¥Õ¥¡¤Ø¤Î³ä¤êÅö¤Æ¤ò¹Ô¤¤¤Þ¤¹¡£
-@xref{Temporary files}.
-
-@item
-ÊÑ·Á¤È±é»»»þ¤Ë»ÈÍѤµ¤ì¤ë¤Û¤È¤ó¤ÉÁ´¤Æ¤Î¥á¥â¥ê¤Ï¥í¡¼¥«¥ë¥á¥â¥ê¥¹¥È¥¢Æâ¤Ç¹Ô
-¤Ê¤ï¤ì¤Þ¤¹¡£¾®¤µ¤Ê¹àÌܤËɬÍפȤµ¤ì¤ë¥á¥â¥ê¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤Ï¤Ê¤¯¡¢Ä̾ï¤ÎÃÙ
-¤¤¥á¥â¥ê³ä¤êÅö¤Æ/²òÊü¤¬²óÈò¤µ¤ì¤Þ¤¹¡£¥á¥â¥ê¤Ïͽ´ü¤·¤Ê¤¤Â礭¤Êʸ»úÎó¤Ë¤À
-¤±³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹(¤³¤ì¤Ï @code{malloc()} ¤È @code{free()} ¤Ç¹Ô¤Ê¤ï¤ì¤Þ¤¹)¡£
-
-@item
-³Æ¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤Ï°ìÅÙ¥ª¡¼¥×¥ó¤µ¤ì¡¢¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤Ï³ÆƱ»þ¼Â¹Ô¥¹¥ì¥Ã
-¥ÉËè¤Ë°ìÅÙ¥ª¡¼¥×¥ó¤µ¤ì¤Þ¤¹¡£³ÆƱ»þ¥¹¥ì¥Ã¥É¤Ë¤Ï¡¢¥Æ¡¼¥Ö¥ë¹½Â¤¡¢³Æ¥Õ¥£¡¼¥ë¥É¤Î¹½Â¤¤½¤·
-¤Æ @code{3 * n} ¤Î¥µ¥¤¥º¤Î¥Ð¥Ã¥Õ¥¡¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£
-( @code{n} ¤Ï @code{BLOB} ·¿¤Î¥Õ¥£¡¼¥ë¥É¤ÎŤµ¤ò´Þ¤á¤Ê¤¤¡¢°ì¥ì¥³¡¼¥É¤ÎºÇÂçŤǤ¹ )
-@code{BLOB} ¤Ï 5 ¤«¤é 8 ¥Ð¥¤¥È + @code{BLOB} ¥Ç¡¼¥¿¤ÎŤµ¤ò»ÈÍѤ·¤Þ¤¹¡£
-
-@item
-@code{BLOB} ¤ò»ý¤Ä³Æ¥Æ¡¼¥Ö¥ë¤Ç¤Ï¡¢¤è¤êÂ礭¤Ê @code{BLOB} ¤ÎÆɤ߹þ¤ß¤Ç¥Ð¥Ã¥Õ¥¡
-¤ÏưŪ¤Ë³ÈÂ礵¤ì¤Þ¤¹¡£¥Æ¡¼¥Ö¥ë¤Î¥¹¥­¥ã¥ó¤ò¤¹¤ë¾ì¹ç¡¢³ä¤êÅö¤Æ¤é¤ì¤¿¥Ð¥Ã¥Õ¥¡¤ÏºÇ
-¤âÂ礭¤¤ @code{BLOB} ¤ÈƱ¤¸Â礭¤µ¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@item
-Á´¤Æ¤Î»ÈÍѤµ¤ì¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¤Î¥Æ¡¼¥Ö¥ë¥Ï¥ó¥É¥é¡¼¤Ï¥­¥ã¥Ã¥·¥åÆâ¤ËÊݸ¤µ¤ì¡¢
-FIFO ¤È¤·¤Æ´ÉÍý¤µ¤ì¤Þ¤¹¡£
-Ä̾¥­¥ã¥Ã¥·¥å¤Ï 64 ¸Ä¤Î¥Æ¡¼¥Ö¥ë¤Ç¤¹¡£¥Æ¡¼¥Ö¥ë¤¬ 2 ¤Ä¤Î¼Â¹Ô¤·¤Æ¤¤¤ë¥¹
-¥ì¥Ã¥É¤ÇƱ»þ¤Ë»ÈÍѤµ¤ì¤ë¾ì¹ç¡¢¥­¥ã¥Ã¥·¥åÆâ¤Ë¥Æ¡¼¥Ö¥ë¤Î 2 ¤Ä¤Î¥¨¥ó¥È¥ê¤¬
-¤¢¤ê¤Þ¤¹¡£
-@xref{Table cache}.
-
-@item
-@code{mysqladmin refresh} ¤Ï»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ò¥¯¥í¡¼¥º¤·¡¢
-»ÈÍѤµ¤ì¤Æ¤¤¤ëÁ´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ò¡¢¼Â¹ÔÃ楹¥ì¥Ã¥É¤¬½ª¤Ã¤¿»þ¤Ë¥¯¥í¡¼¥º¤¹¤ë¤è
-¤¦¤Ë¥Þ¡¼¥¯¤·¤Þ¤¹¡£¤³¤ì¤Ï¿¤¯¤Î»ÈÍÑ¥á¥â¥ê¤ò²òÊü¤¹¤ë¤Î¤ËÍ­¸ú¤Ç¤¹¡£Á´¤Æ¤Î¥í
-¥°¥Õ¥¡¥¤¥ë¤â¥¯¥í¡¼¥º¤ÈºÆ¥ª¡¼¥×¥ó¤µ¤ì¤Þ¤¹¡£
-@end itemize
-
-@strong{mysqld} ¼Â¹Ô»þ¡¢@code{ps} ¤ä¾¤Î¥×¥í¥°¥é¥à¤Ï¡¢¤½¤ì¤¬Â¿¤¯¤Î¥á¥â¥ê
-¤ò»ÈÍѤ·¤Æ¤¤¤ë¤ÈÊó¹ð¤¹¤ë¤Ç¤·¤ç¤¦¡£¤³¤ì¤Ï°Û¤Ê¤Ã¤¿¥á¥â¥ê¥¢¥É¥ì¥¹¾å¤Î¥¹¥ì¥Ã
-¥É¥¹¥¿¥Ã¥¯¤Ë¤è¤Ã¤ÆȯÀ¸¤·¤Þ¤¹¡£Î㤨¤Ð¡¢Solaris ps ¤Ï¥¹¥¿¥Ã¥¯´Ö¤Î̤»ÈÍÑ¥á
-¥â¥ê¤ò»ÈÍÑ¥á¥â¥ê¤È¤·¤Æ·×»»¤·¤Þ¤¹¡£'swap -s' ¤ÇÍ­¸ú¤Ê¥¹¥ï¥Ã¥×¤ò¥Á¥§¥Ã¥¯¤¹
-¤ë¤³¤È¤Ç¤³¤ì¤ò³Î¤«¤á¤é¤ì¤Þ¤¹¡£²æ¡¹¤Ï»ÔÈΤΥá¥â¥ê¥ê¡¼¥¯¸¡½Ð¥×¥í¥°¥é¥à¤Ç
-@code{mysqld} ¤ò¥Æ¥¹¥È¤·¤Þ¤·¤¿¡£¤½¤Î¤¿¤á¡¢¥á¥â¥ê¥ê¡¼¥¯¤ÏÁ´¤¯¤¢¤ê¤Þ¤»¤ó¡£
-
-@node Internal locking, Table locking, Memory use, System
-@subsection @strong{MySQL} ¤Ï¤É¤Î¤è¤¦¤Ë¥Æ¡¼¥Ö¥ë¤ò¥í¥Ã¥¯¤¹¤ë¤«
-
-@strong{MySQL} ¤ÎÁ´¤Æ¤Î¥í¥Ã¥¯¤Ï¥Ç¥Ã¥É¥í¥Ã¥¯¥Õ¥ê¡¼¤Ç¤¹¡£¤³¤ì¤Ï¡¢¾ï¤Ë¥¯¥¨
-¥ê³«»Ï»þ¤Ë°ìÅÙ¥í¥Ã¥¯¤òɬÍפȤ¹¤ëÁ´¤Æ¤òÍ׵ᤷ¡¢¾ï¤ËƱ¤¸½ç¤Ç¥Æ¡¼¥Ö¥ë¤ò¥í¥Ã
-¥¯¤¹¤ë¤³¤È¤Ç´ÉÍý¤µ¤ì¤Þ¤¹¡£
-
-@strong{MySQL} ¤¬»ÈÍѤ¹¤ë @code{WRITE} ¥í¥Ã¥¯¤Ï¼¡¤Î¤è¤¦¤ËƯ¤­¤Þ¤¹:
-
-@itemize @bullet
-@item
-¥Æ¡¼¥Ö¥ë¾å¤Ë¥í¥Ã¥¯¤¬¤Ê¤¤¾ì¹ç write ¥í¥Ã¥¯¤òÃÖ¤­¤Þ¤¹¡£
-@item
-¤½¤¦¤Ç¤Ê¤±¤ì¤Ð write ¥í¥Ã¥¯¥­¥å¡¼¤Ë¥í¥Ã¥¯¤òÃÖ¤­¤Þ¤¹¡£
-@end itemize
-
-@strong{MySQL} ¤Î @code{READ} ¥í¥Ã¥¯¤Ï¼¡¤Î¤è¤¦¤ËÆ°¤­¤Þ¤¹:
-
-@itemize @bullet
-@item
-¥Æ¡¼¥Ö¥ë¾å¤Ë write ¥í¥Ã¥¯¤¬¤Ê¤¤¾ì¹ç read ¥í¥Ã¥¯¤òÃÖ¤­¤Þ¤¹¡£
-@item
-¤½¤¦¤Ç¤Ê¤±¤ì¤Ð read ¥í¥Ã¥¯¥­¥å¡¼¤Ë¥í¥Ã¥¯¤òÃÖ¤­¤Þ¤¹¡£
-@end itemize
-
-¥í¥Ã¥¯¤¬²òÊü¤µ¤ì¤¿¤È¤­¡¢ºÇ½é¤Ë write ¥í¥Ã¥¯¥­¥å¡¼Æâ¤Î¥¹¥ì¥Ã¥É¤Ë¡¢¤½¤Î¸å
-read ¥í¥Ã¥¯¥­¥å¡¼Æâ¤Î¥¹¥ì¥Ã¥É¤Ë¥í¥Ã¥¯¤òÍ¿¤¨¤Þ¤¹¡£
-
-¤³¤ì¤Ï¡¢Æ±¤¸¥Æ¡¼¥Ö¥ë¤Ç¿¤¯¤Î¹¹¿·¤ò¤¹¤ë¾ì¹ç¡¢@code{SELECT} ¹½Ê¸¤Ï
-update ¤¬¤Ê¤¯¤Ê¤ë¤Þ¤ÇÂÔ¤¿¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-
-Ʊ¤¸¥Æ¡¼¥Ö¥ë¤Ç¿¤¯¤Î @code{INSERT} ¤È¿¤¯¤Î @code{SELECT} ¤ò¹Ô¤¦¾ì¹ç¡¢¤³¤ì¤ò²ò·è¤¹¤ë¤Ë
-¤Ï¡¢Â¾¤Î¥Æ¡¼¥Ö¥ë¤Ë¹Ô¤òÁÞÆþ¤·¤Æ¡¢¤¿¤Þ¤Ë¡¢¤½¤Î°ì»þ¥Æ¡¼¥Ö¥ë¤«¤éÁ´¤Æ¤Î¥ì¥³¡¼
-¥É¤ò¤â¤¦°ìÊý¤Î¥Æ¡¼¥Ö¥ë¤Ë update ¤·¤Þ¤¹¡£
-
-¤³¤ì¤Ï¼¡¤Î¥³¡¼¥É¤Ç¹Ô¤¨¤Þ¤¹:
-@example
-mysql> LOCK TABLES real_table WRITE, insert_table WRITE;
-mysql> insert into real_table select * from insert_table;
-mysql> delete from insert_table;
-mysql> UNLOCK TABLES;
-@end example
-
-·è¤Þ¤ê¤­¤Ã¤¿¸¡º÷¤ËÍ¥À踢¤òÍ¿¤¨¤ë¤¿¤á¡¢@code{INSERT} ¹½Ê¸¤Ç @code{LOW_PRIORITY} ¤« @code{HIGH_PRIORITY} ¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤǤ­¤Þ¤¹¡£
-@xref{INSERT, , @code{INSERT}}.
-
-°ì¤Ä¤Î¥­¥å¡¼¤À¤±¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë @file{mysys/thr_lock.c} Æâ¤Î¥í¥Ã¥¯¥³¡¼¥É¤òÊѹ¹
-¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¤¤¤¯¤Ä¤«¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¤¿¤á¤Ë¡¢
-write ¥í¥Ã¥¯¤Ï read ¥í¥Ã¥¯¤ÈƱ¤¸Í¥Àè½ç°Ì¤Ë¤·¤Þ¤¹¡£
-
-@node Table locking, , Internal locking, System
-@subsection ¥Æ¡¼¥Ö¥ë¡¦¥í¥Ã¥­¥ó¥°¤ÎÌäÂê
-
-@strong{MySQL} ¤Î¥Æ¡¼¥Ö¥ë¡¦¥í¥Ã¥­¥ó¥°¤Î¥³¡¼¥É¤Ï¥Ç¥Ã¥É¥í¥Ã¥¯¡¦¥Õ¥ê¡¼¤Ç¤¹¡£
-
-@strong{MySQL} ¤Ï¤È¤Æ¤â®¤¤¥í¥Ã¥¯¥¹¥Ô¡¼¥É¤òÆÀ¤ë¤¿¤á¤Ë¡¢
-(¥ì¥³¡¼¥É¤Î¥í¥Ã¥¯¤ä¥Õ¥£¡¼¥ë¥É¤Î¥í¥Ã¥¯¤ÎÂå¤ï¤ê¤Ë) ¥Æ¡¼¥Ö¥ë¤Î¥í¥Ã¥¯¤ò»ÈÍѤ·¤Þ¤¹¡£
-Â礭¤Ê¥Æ¡¼¥Ö¥ë¤Ë¤Ï¡¢ ¥Æ¡¼¥Ö¥ë¤Î¥í¥Ã¥¯¤Ï¥ì¥³¡¼¥É¤Î¥í¥Ã¥¯¤è¤ê¤Ï¤ë¤«¤ËÎɤ¤¤Ç¤¹¤¬¡¢
-¤¤¤¯¤Ä¤«¤ÎÍî¤È¤··ê¤¬¤¢¤ê¤Þ¤¹¡£
-
-@strong{MySQL} 3.23.7 °Ê¾å¤Ç¤Ï¡¢¤¢¤ë¥¹¥ì¥Ã¥É¤¬ @code{MyISAM} ¥Æ¡¼¥Ö¥ë¤òÆɤó¤Ç¤¤¤ëºÇÃæ¤Ë¡¢
-Ʊ¤¸¥Æ¡¼¥Ö¥ë¤Ë¥ì¥³¡¼¥É¤òÁÞÆþ¤¹¤ë»ö¤¬¤Ç¤­¤Þ¤¹¡£
-¤³¤ì¤Ï¸½ºß¡¢ºï½ü¤¬¤Ê¤¤¾ì¹ç¤Ë¤Î¤ßÆ°¤­¤Þ¤¹¡£
-
-¥Æ¡¼¥Ö¥ë¤Î¥í¥Ã¥¯¤Ï¤¿¤¯¤µ¤ó¤Î¥¹¥ì¥Ã¥É¤¬Æ±»þ¤Ë¤¢¤ë¥Æ¡¼¥Ö¥ë¤«¤éÆɤ߽Ф¹¤Î¤ò²Äǽ¤Ë¤·¤Þ¤¹¤¬¡¢
-¤â¤·¤¢¤ë¥¹¥ì¥Ã¥É¤¬¤¢¤ë¥Æ¡¼¥Ö¥ë¤ËÂФ·½ñ¹þ¤ßÍ×µá¤ò½Ð¤¹¾ì¹ç¡¢
-¤½¤ì¤Ï¤Þ¤ººÇ½é¤ËÇÓ¾Ū¤Ê¥¢¥¯¥»¥¹¤òÆÀ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó.
-¤½¤Î¹¹¿·¤Î´Ö¡¢¹¹¿·¤¬´°Î»¤¹¤ë¤Þ¤Ç¡¢¤³¤ÎÆÃÄê¤Î¥Æ¡¼¥Ö¥ë¤Ë¥¢¥¯¥»¥¹¤·¤è¤¦¤È¤¹¤ë
-¾¤ÎÁ´¤Æ¤Î¥¹¥ì¥Ã¥É¤¬ÂÔ¤¿¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-Ä̾ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¹¹¿·¤Ï @code{SELECT} ¤è¤ê¤â½ÅÍפȤµ¤ì¤ë¤¿¤á¡¢
-¥Æ¡¼¥Ö¥ë¤ò¹¹¿·¤¹¤ëÁ´¤Æ¤Î¥¹¥ì¥Ã¥É¤¬¡¢¥Æ¡¼¥Ö¥ë¤«¤é¾ðÊó¤ò¸¡º÷¤¹¤ë¥¹¥ì¥Ã¥É¤è¤ê¤â
-¹â¤¤Í¥Àè½ç°Ì¤ò»ý¤Á¤Þ¤¹¡£ ¤³¤ì¤Ï ¤¢¤ëÆÃÄê¤Î¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ¡¢Â¿¤¯¤Î½Å¤¤¥¯¥¨¥ê¤¬È¯¹Ô¤µ¤ì
-¤¿¾ì¹ç¤Ë¡¢ ¹¹¿·¤¬ÉÔ´°Á´¤Ë½ª¤ï¤é¤Ê¤¤¤³¤È¤ò³Î¼Â¤Ë¤¹¤ë¤¿¤á¤Ç¤¹¡£
-
-@strong{MySQL 3.23.7} ¤«¤é¡¢@code{max_write_lock_count} ÊÑ¿ô¤¬»ÈÍѤǤ­¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢°ì¤Ä¤Î¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ¡¢»ØÄꤵ¤ì¤¿²ó¿ô¤À¤± INSERT ¤¬¹Ô¤ï¤ì¤¿¸å¤Ë¡¢
-@code{SELECT} ¤òȯ¹Ô¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
-
-¤³¤Î1¤Ä¤Î¼ç¤ÊÌäÂ꤬°Ê²¼¤Ç¤¹¡§
-
-@itemize @bullet
-@item
-¤¢¤ë¥¯¥é¥¤¥¢¥ó¥È¤¬¼Â¹Ô¤ËŤ¤»þ´Ö¤Î¤«¤«¤ë @code{SELECT} ¤òȯ¹Ô¡£
-@item
-¤½¤Î¸å¤Ë¡¢Â¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢»ÈÍѤµ¤ì¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¤ËÂФ· @code{UPDATE} ¤òȯ¹Ô¡¨
-¤³¤Î¥¯¥é¥¤¥¢¥ó¥È¤ÏÀè¤Î @code{SELECT} ¤¬´°Î»¤¹¤ë¤Þ¤ÇÂÔ¤Á¤Þ¤¹
-@item
-¤µ¤é¤Ë¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬Æ±¤¸¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ @code{SELECT} ¹½Ê¸¤òȯ¹Ô¡¨
-@code{UPDATE} ¤Ï @code{SELECT} ¤è¤ê¤â¹â¤¤Í¥ÀèÅÙ¤ò»ý¤Ä¤Î¤Ç¡¢
-¤³¤Î @code{SELECT} ¤ÏÀè¤Î @code{UPDATE} ¤¬´°Î»¤¹¤ë¤Þ¤ÇÂÔ¤Á¤Þ¤¹¡£
-¤³¤ì¤Ï°ìÈֺǽé¤Î @code{SELECT} ¤¬ ½ªÎ»¤¹¤ë¤Þ¤ÇÂÔ¤¿¤µ¤ì¤Þ¤¹¡ª
-@end itemize
-
-¤³¤ÎÌäÂê¤Î¤¤¤¯¤Ä¤«¤Î²Äǽ¤Ê²ò·è¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡§
-
-@itemize @bullet
-@item
-@code{SELECT} ¹½Ê¸¤ò®¤¯¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë»î¤ß¤Þ¤¹¡¨ ¤³¤ì¤ò¹Ô¤¦¤Ë¤¢¤¿¤ê¡¢
-¤¤¤¯¤Ä¤«¤Î¥µ¥Þ¥ê¡¼¥Æ¡¼¥Ö¥ë¤òºîÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó.
-
-@item
-@code{mysqld} ¤ò @code{--low-priority-updates} ¥ª¥×¥·¥ç¥ó¤Çµ¯Æ°¡£
-¤³¤ì¤ÏÁ´¤Æ¤Î¤¢¤ë¥Æ¡¼¥Ö¥ë¤ò¹¹¿·¤¹¤ë¹½Ê¸¤ËÂФ·¤Æ¡¢ @code{SELECT} ¹½Ê¸¤è¤ê¤â
-Ä㤤ͥÀèÅÙ¤òÍ¿¤¨¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¡¢Á°½Ò¤Î¥·¥Ê¥ê¥ªÃæ¤ÎºÇ¸å¤Î @code{SELECT} ¹½Ê¸¤Ï
-@code{INSERT} ¹½Ê¸¤¬´°Î»¤¹¤ëÁ°¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-
-@item
-@code{LOW_PRIORITY} °À­»ØÄê¤òÍѤ¤¤Æ¡¢ @code{INSERT},@code{UPDATE},@code{DELETE} ¹½Ê¸
-¤ËÄ㤤ͥÀèÅÙ¤òÍ¿¤¨¤ë¤³¤È¤â½ÐÍè¤Þ¤¹¡£
-
-@item
-Start @code{mysqld} with a low value for @strong{max_write_lock_count} to give
-@code{READ} locks after a certain number of @code{WRITE} locks.
-
-@item
-SQL ¥³¥Þ¥ó¥É¤Î @code{SET SQL_LOW_PRIORITY_UPDATES=1} ¤ò»ÈÍѤ·¤Æ¡¢
-¤¢¤ëÆÃÄê¤Î¥¹¥ì¥Ã¥É¤«¤é¤ÎÁ´¤Æ¤Î¹¹¿·¤ò¡¢Ä㤤ͥÀèÅ٤˻ØÄꤹ¤ë»ö¤¬¤Ç¤­¤Þ¤¹¡£
-@xref{SET OPTION, , @code{SET OPTION}}.
-
-@item
-@code{HIGH_PRIORITY} °À­¤òÍѤ¤¤Æ¡¢ÆÃÄê¤Î @code{SELECT} ¤¬¤È¤Æ¤â½ÅÍפǤ¢¤ë¤È
-»ØÄꤹ¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£. @xref{SELECT, , @code{SELECT}}.
-
-@item
-¤â¤· @code{INSERT} ¤È @code{SELECT} ¤ò¤¢¤ï¤»¤Æ»ÈÍѤ·¤¿¾ì¹ç¤ËÌäÂ꤬µ¯¤­¤¿¾ì¹ç¡¢
-¿·¤·¤¤ @code{MyISAM} ¥Æ¡¼¥Ö¥ë¤ËÀÚ¤êÂؤ¨¤Þ¤¹¡£ ¤³¤ì¤Ï @code{SELECT}
-¤È @code{INSERT} ¤òƱ»þ¤Ë¹Ô¤¨¤Þ¤¹¡£
-
-@item
-¤â¤· @code{INSERT} ¤È @code{SELECT} ¹½Ê¸¤ò¼ç¤Ëº®ºß¤µ¤»¤ë¤Î¤Ê¤é¡¢
-@code{INSERT} ¤Î @code{DELAYED} °À­»ØÄê¤Ï¤³¤ÎÌäÂê¤ò²ò·è¤µ¤»¤ë¤Ç¤·¤ç¤¦¡£
-@xref{INSERT, , @code{INSERT}}.
-
-@item
-¤â¤· @code{SELECT} ¤È @code{DELETE} ¤ÇÌäÂ꤬¤¢¤ë¤Ê¤é¡¢
-@code{DELETE} ¤Î @code{LIMIT} ¥ª¥×¥·¥ç¥ó¤¬½õ¤±¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
- @xref{DELETE, , @code{DELETE}}.
-@end itemize
-
-@node Data size, MySQL indexes, System, Performance
-@section ²Äǽ¤Ê¸Â¤ê¥Ç¡¼¥¿¤ò¾®¤µ¤¯¤¹¤ë
-
-One of the most basic optimization is to get your data (and indexes) to
-take as little space on the disk (and in memory) as possible. This can
-give huge improvements because disk reads are faster and normally less
-main memory will be used. Indexing also takes less resources if
-done on smaller columns.
-
-@strong{MySQL} supports a lot of different table types and row formats.
-Choosing the right table format may give you a big performance gain.
-@xref{Table types}.
-
-°Ê²¼¤Ëµó¤²¤ë¥Æ¥¯¥Ë¥Ã¥¯¤ò»ÈÍѤ¹¤ì¤Ð¡¢¥Æ¡¼¥Ö¥ë¤Ç¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Î¸þ¾å¡¢
-ÊݸÎΰè¤Î½Ì¾®²½¤¬²Äǽ¤Ç¤·¤ç¤¦¡§
-
-@itemize @bullet
-@item
-²Äǽ¤Ê¤é¤Ð¡¢°ìÈÖ¾®¤µ¤Ê·¿¤ò»ÈÍѤ·¤Þ¤¹¡£ @strong{MySQL} ¤Ï
-¥Ç¥£¥¹¥¯¤È¥á¥â¥ê¡¼¤òÀáÌ󤹤뿤¯¤Î·¿¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
-@item
-¤è¤ê¾®¤µ¤ÊÀ°¿ô·¿¤ò²Äǽ¤Ê¤é¤Ð»ÈÍѤ·¤Þ¤¹¡£ Î㤨¤Ð¡¢
-@code{MEDIUMINT} ¤Ï @code{INT} ¤è¤êÎɤ¤¤Ç¤·¤ç¤¦¡£
-@item
-²Äǽ¤Ê¤é¥Õ¥£¡¼¥ë¥É¤ò @code{NOT NULL} ¤ËÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤ÏÁ´¤Æ¤ò¤è¤ê®¤¯¤·¡¢
-³Æ¥Õ¥£¡¼¥ë¥ÉËè¤Ë1¥Ó¥Ã¥È¤òÀáÌó¤·¤Þ¤¹¡£
-Note that if you really need
-@code{NULL} in your application you should definitely use it. Just avoid
-haveing it on all columns by default.
-@item
-²ÄÊÑĹ¤Î¥Õ¥£¡¼¥ë¥É (@code{VARCHAR}, @code{TEXT}, @code{BLOB}) ¤ò»ý¤¿¤Ê¤¤¾ì¹ç¤Ï¡¢
-¸ÇÄꥵ¥¤¥º¥ì¥³¡¼¥É·Á¼°¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï¤«¤Ê¤ê®¤¤¤Ç¤¹¡£¤·¤«¤·¤¢¤¤¤Ë¤¯¤¤¤¯¤é¤«¤ÎÎΰè¤òϲÈñ¤·¤Þ¤¹¡£
-@xref{MyISAM table formats}.
-@item
-¤½¤ì¤¾¤ì¤Î¥Æ¡¼¥Ö¥ë¤Ï²Äǽ¤Ê¸Â¤êû¤¤¥×¥é¥¤¥Þ¥ê¡¦¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Ä¤Ù¤­¤Ç¤¹¡£
-¤³¤ì¤Ï£±¥ì¥³¡¼¥É¤ò°ì°Õ¤Ë¤·¡¢¸úΨŪ¤Ë¤·¤Þ¤¹¡£
-@item
-¤½¤ì¤¾¤ì¤Î¥Æ¡¼¥Ö¥ë¤Ë¤Ä¤¤¤Æ¡¢¤É¤Î¥Æ¡¼¥Ö¥ë¤Î·Á¼°¤ò»ÈÍѤ¹¤ë¤«¤ò
-·è¤á¤Þ¤¹¡£ @xref{Table types}.
-@item
-ËÜÅö¤ËɬÍפÊʪ¤Ë¤À¤±¥¤¥ó¥Ç¥Ã¥¯¥¹¤òºîÀ®¤·¤Þ¤¹¡£
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¸¡º÷¤Ë¤ÏÎɤ¤¤Ç¤¹¤¬¡¢¤è¤ê®¤¯Êݸ¤·¤¿¤¤¾ì¹ç¤Ë¤ÏÎɤ¯¤¢¤ê¤Þ¤»¤ó¡£
-¤â¤·¥Æ¡¼¥Ö¥ë¤ò¥Õ¥£¡¼¥ë¥É¤ÎÁȤ߹ç¤ï¤»¤Ç¥µ¡¼¥Á¤¹¤ë¤³¤È¤¬¤Û¤È¤ó¤É¤Ç¤¢¤ì¤Ð¡¢
-¤½¤ì¤é¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òºîÀ®¤·¤Þ¤¹¡£ ºÇ½é¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÉôʬ¤Ï¡¢¤â¤Ã¤È¤â
-»ÈÍѤµ¤ì¤ë¥Õ¥£¡¼¥ë¥É¤Ë¤¹¤Ù¤­¤Ç¤¹¡£
-If you are
-ALWAYS using many columns you should use the column with more duplicates
-first to get better compression of the index.
-@item
-¤â¤·¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬Æ¬¤«¤é¤Î²¿Ê¸»ú¤«¤Ç°ì°ÕÀ­¤ò»ý¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢¤³¤ÎÉôʬ¤Ë¤À¤±
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÄ¥¤ëÊý¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£ @strong{MySQL} ¤Ïʸ»úÎó¥Õ¥£¡¼¥ë¥É¤Î
-°ìÉôʬ¤ËÂФ·¤Æ¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
-û¤¤¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¡¢¥Ç¥£¥¹¥¯¥¹¥Ú¡¼¥¹¤òÀáÌ󤹤ë¤À¤±¤Ç¤Ê¤¯¡¢
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¥­¥ã¥Ã¥·¥å¤Ë¼ý¤Þ¤ê¤ä¤¹¤¯¤Ê¤ë¤³¤È¤Ë¤è¤ê¡¢¥Ç¥£¥¹¥¯¡¦¥·¡¼¥¯¤â¾¯¤Ê¤¯¤Ê¤ë¤Î¤Ç¡¢
-®¤¯¤Ê¤ê¤Þ¤¹¡£ @xref{Server parameters}.
-@item
-¤¤¤¯¤Ä¤«¤Î¾õ¶·²¼¤Ç¡¢¤È¤Æ¤â¤è¤¯Áöºº¤µ¤ì¤ë¥Æ¡¼¥Ö¥ë¤ò£²¤Ä¤Ëʬ³ä¤¹¤ë¤³¤È¤Ï¡¢
-Íø±×¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-This is especially true if it is a dynamic
-format table and it is possible to use a smaller static format table that
-can be used to find the relevant rows when scanning the table.
-@end itemize
-
-@node MySQL indexes, Query Speed, Data size, Performance
-@section MySQL ¤Ï¤É¤Î¤è¤¦¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ¹¤ë¤«¡©
-
-Indexes are used to find rows with a specific value of one column
-fast.
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¤Ê¤¤¾ì¹ç¡¢@strong{MySQL} ¤Ï¡¢¤½¤Î¥ì¥³¡¼¥É¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¡¢
-ºÇ½é¤Î¥ì¥³¡¼¥É¤«¤é¥Æ¡¼¥Ö¥ë¤ò¤Ê¤á¤Æ¤¤¤­¤Þ¤¹¡£ Â礭¤Ê¥Æ¡¼¥Ö¥ë¤Ç¤Ï¿¤¯¤Î
-¼ê´Ö¤¬¤«¤«¤ê¤Þ¤¹¡£ ¤â¤·Ì䤤¹ç¤ï¤»¤ÎÃæ¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Ã¤¿¥Õ¥£¡¼¥ë¥É¤¬
-¤¢¤ë¾ì¹ç¡¢@strong{MySQL} ¤ÏÁ´¤Æ¤Î¥Ç¡¼¥¿¤ò¤ß¤ë¤³¤È¤Ê¤¯¡¢¥Ç¡¼¥¿¤ÎÅÓÃæ¤Î°ÌÃÖ¤ò®¤¯
-ÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤â¤·¤¢¤ë¥Æ¡¼¥Ö¥ë¤¬1000¥ì¥³¡¼¥É»ý¤Ã¤Æ¤¤¤¿¤È¤¹¤ë¤È¡¢
-½çÈÖ¤ËƬ¤«¤é¤Ê¤á¤Æ¤¤¤¯¤³¤È¤ËÈæ¤Ù¤Æ¡¢¤³¤ì¤Ï¾¯¤Ê¤¯¤È¤â100ÇÜ®¤¤¤³¤È¤Ë
-¤Ê¤ê¤Þ¤¹¡£ Note that is you need to access almost all 1000
-rows it is faster to read sequentially because we then avoid disk seeks.
-
-Á´¤Æ¤Î @strong{MySQL} ¥¤¥ó¥Ç¥Ã¥¯¥¹, @code{PRIMARY}, @code{UNIQUE} ¤½¤·¤Æ @code{INDEX()}
-¤Ï B tree ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£Ê¸»úÎó¤Ï¼«Æ°Åª¤Ë»Ï¤á¤È½ª¤ê¤Î¶õÇò¤¬°µ½Ì¤µ¤ì¤Þ¤¹¡£
-@xref{CREATE INDEX, , @code{CREATE INDEX}}.
-
-Indexes are used to:
-@itemize @bullet
-@item
-@code{WHERE}Àá¤Ë¥Þ¥Ã¥Á¤·¤¿¹Ô¤ÎÁÇÁᤤ¸¡º÷
-
-@item
-join ¤ò¼Â¹Ô¤·¤¿¤È¤­¤Î¾¤Î¥Æ¡¼¥Ö¥ë¤«¤é¤Î¹Ô¤Î¸¡º÷
-
-@item
-Í¿¤¨¤é¤ì¤¿¥Õ¥£¡¼¥ë¥É¤Î @code{MAX()} ¤ä @code{MIN()} Ãͤγä¤ê½Ð¤·
-
-@item
-¥Æ¡¼¥Ö¥ë¤ò¥½¡¼¥È¤«¥°¥ë¡¼¥×²½¤¹¤ë¾ì¹ç¤Ç¡¢¥½¡¼¥È(¥°¥ë¡¼¥×²½)¤¬°ìÈÖº¸(ÀÜƬÉô)¤Î
-¥­¡¼¤ò»ÈÍѤ·¤Æ¹Ô¤ï¤ì¤ë¾ì¹ç(Î㤨¤Ð @code{ORDER BY key_part_1,key_part_2 })¡£
-¤â¤· @code{DESC} »ØÄ꤬¤¢¤ì¤Ð¡¢Á´¤Æ¤Î¥­¡¼¤ÏµÕ½ç¤ËÆɤޤì¤Þ¤¹¡£
-
-The index can also be used even if the @code{ORDER BY} doesn't match the index
-exactly, as long as all the not used index parts and all the extra
-are @code{ORDER BY} columns are constants in the @code{WHERE} clause. The
-following queries will use the index to resolve the @code{ORDER BY} part.
-
-@example
-SELECT * FROM foo ORDER BY key_part1,key_part2,key_part3;
-SELECT * FROM foo WHERE column=constant ORDER BY column, key_part1;
-SELECT * FROM foo WHERE key_part1=const GROUP BY key_part2;
-@end example
-
-@item
-¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ò»²¾È¤¹¤ë¤³¤È¤Ê¤¯Ãͤò¸¡º÷¤¹¤ë¾ì¹ç¡£
-¤â¤·»ÈÍѤ¹¤ëÁ´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤¬¿ôÃͤǤ«¤Ä¡¢°ìÈÖº¸¤«¤é(ÀÜƬÉô¤«¤é)¥­¡¼¤ò·ÁÀ®¤¹¤ë¾ì¹ç¡¢
-Ãͤϥ¤¥ó¥Ç¥Ã¥¯¥¹¥Ä¥ê¡¼¤«¤é¸¡º÷¤µ¤ì¡¢¤³¤ì¤Ï¤È¤Æ¤â®¤¯¤Ê¤ê¤Þ¤¹¡£
-
-@end itemize
-
-°Ê²¼¤Î¤è¤¦¤Ê @code{SELECT} ʸ¤òȯ¹Ô¤·¤¿¤È¤·¤Þ¤¹¡§
-
-@example
-mysql> SELECT * FROM tbl_name WHERE col1=val1 AND col2=val2;
-@end example
-
-¤â¤· @code{col1} ¤È @code{col2} ¤ËÊ£¿ô¥Õ¥£¡¼¥ë¥É¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-¤¹¤°¤Ë»×¤Ã¤¿¤È¤ª¤ê¤Î·ë²Ì¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
-If separate single-column
-indexes exist on @code{col1} and @code{col2}, the optimizer tries to
-find the most restrictive index by deciding which index will find fewer
-rows and using that index to fetch the rows.
-
-@cindex Indexes, leftmost prefix of
-@cindex Leftmost prefix of indexes
-¤â¤·¥Æ¡¼¥Ö¥ë¤¬Ê£¿ô¥Õ¥£¡¼¥ë¥É¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Ä¤Ê¤é¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÀÜƬÉô°ìÈÖº¸¤ÎÉôʬ
-¤¬¥ì¥³¡¼¥É¤ò¸«¤Ä¤±¤ë¤¿¤á¤ÎºÇŬ²½¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£Î㤨¤Ð¡¢3¤Ä¤Î¥Õ¥£¡¼¥ë¥É
- @code{(col1,col2,col3)} ¤ËÂФ·¤Æ°ì¤Ä¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Ã¤Æ¤¤¤¿¤È¤·¤Þ¤¹¡£
-¤¹¤ë¤È¡¢¤³¤ì¤Ï @code{(col1)}, @code{(col1,col2)} ,
-@code{(col1,col2,col3)} ¤Ç¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¥µ¡¼¥Á¤µ¤ì¤Þ¤¹¡£
-
-¤â¤·°ìÈÖº¸¤Ë»ØÄꤷ¤Æ¤¤¤ë¥Õ¥£¡¼¥ë¥É¤¬¥¤¥ó¥Ç¥Ã¥¯¥¹¤òºîÀ®¤·¤Æ¤¤¤Ê¤¤¤Ê¤é¡¢
-@strong{MySQL} ¤ÏÉôʬŪ¤Ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤Þ¤»¤ó¡£
-
-°Ê²¼¤Î¤è¤¦¤Ê @code{SELECT} ʸ¤òȯ¹Ô¤·¤¿¤È¤·¤Þ¤¹¡§
-
-@example
-mysql> SELECT * FROM tbl_name WHERE col1=val1;
-mysql> SELECT * FROM tbl_name WHERE col2=val2;
-mysql> SELECT * FROM tbl_name WHERE col2=val2 AND col3=val3;
-@end example
-
-¤â¤·¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬ @code{(col1,col2,col3)} ¤Ë¤¢¤ë¤Ê¤é¤Ð¡¢
-¾å¤Ë¼¨¤·¤¿ºÇ½é¤Î¥¯¥¨¥ê¤À¤±¤¬¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤Þ¤¹¡£ÆóÈÖÌÜ»°ÈÖÌܤΥ¯¥¨¥ê¤Ï
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Ä¥Õ¥£¡¼¥ë¥É¤òȯư¤·¤Þ¤¹¤¬¡¢
-@code{(col2)} ¤È @code{(col2,col3)} ¤Ï¡¢@code{(col1,col2,col3)} ¤Î
-ÀÜƬÉô°ìÈÖº¸¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-
-@findex LIKE, and indexes
-@findex LIKE, and wildcards
-@cindex Indexes, and @code{LIKE}
-@cindex Wildcards, and @code{LIKE}
-@strong{MySQL} ¤Ï¡¢¤â¤· @code{LIKE} ¤¬¥ï¥¤¥ë¥É¥«¡¼¥É¤«¤é»Ï¤Þ¤Ã¤Æ¤¤¤Ê¤¯¤Æ¡¢
-¤¢¤ë¼ï¸ÇÄꤵ¤ì¤¿Ê¸»ú¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢
-@code{LIKE} ¤Îɾ²Á¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤Þ¤¹¡£
-Î㤨¤Ð¡¢°Ê²¼¤Î @code{SELECT} ʸ¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤Þ¤¹:
-
-@example
-mysql> select * from tbl_name where key_col LIKE "Patrick%";
-mysql> select * from tbl_name where key_col LIKE "Pat%_ck%";
-@end example
-
-°ì¤ÄÌܤÎʸ¤Ï¡¢@code{"Patrick" <= key_col < "Patricl"} ¤È¤Ê¤ë¥ì¥³¡¼¥É¤À¤±¡¢¹Í褵¤ì¤Þ¤¹¡£
-Æó¤ÄÌܤÎʸ¤Ï¡¢@code{"Pat" <= key_col < "Pau"} ¤È¤Ê¤ë¥ì¥³¡¼¥É¤À¤±¡¢¹Í褵¤ì¤Þ¤¹¡£
-
-°Ê²¼¤Î @code{SELECT} ʸ¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤Þ¤»¤ó:
-@example
-mysql> select * from tbl_name where key_col LIKE "%Patrick%";
-mysql> select * from tbl_name where key_col LIKE other_col;
-@end example
-
-ºÇ½é¤Îʸ¤Ï¡¢@code{LIKE} ¤¬¥ï¥¤¥ë¥É¥«¡¼¥Éʸ»ú¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£
-Æó¤ÄÌܤÎʸ¤Ï¡¢@code{LIKE} ¤¬Äê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-
-@findex IS NULL, and indexes
-@cindex Indexes, and @code{IS NULL}
-Searching using @code{column_name IS NULL} will use indexes if column_name
-is an index.
-
-@strong{MySQL} ¤ÏÄ̾°ìÈÖ¾¯¤Ê¤¤¥ì¥³¡¼¥É¿ô¤ò¸«¤Ä¤±¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤Þ¤¹¡£
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¡¢°Ê²¼¤Ë¼¨¤¹±é»»»Ò¤òÍѤ¤¤ÆÈæ³Ó¤Ç¤­¤ë¥Õ¥£¡¼¥ë¥É¤ËÂФ·¤Æ¡¢»ÈÍѤµ¤ì¤Þ¤¹¡§
-@code{=}, @code{>}, @code{>=}, @code{<}, @code{<=}, @code{BETWEEN} ¤½¤·¤Æ
-@code{'something%'} ¤ÎÍͤËƬ¤Ë¥ï¥¤¥ë¥É¥«¡¼¥É¤¬¤Ê¤¤ @code{LIKE}¡£
-
-@code{WHERE} ÀáÆâ¤ÎÁ´¤Æ¤Î @code{AND} ¤Ë¤«¤«¤é¤Ê¤¤¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¡¢
-Á´¤¯¥¯¥¨¥ê¤ÎºÇŬ²½¤Ë»ÈÍѤµ¤ì¤Þ¤»¤ó¡£
-In other words: To be able to use an
-index, a prefix of the index must be used in every @code{AND} group.
-
-°Ê²¼¤Î @code{WHERE} Àá¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤Þ¤¹¡§
-@example
-... WHERE index_part1=1 AND index_part2=2 AND other_column=3
-... WHERE index=1 OR A=10 AND index=2 /* index = 1 OR index = 2 */
-... WHERE index_part1='hello' AND index_part_3=5
- /* optimized like "index_part1='hello'" */
-... WHERE index1=1 and index2=2 or index1=3 and index3=3;
- /* Can use index on index1 but not on index2 or index 3 */
-@end example
-
-°Ê²¼¤Î @code{WHERE} Àá¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò@strong{»ÈÍѤ·¤Þ¤»¤ó}¡§
-@example
-... WHERE index_part2=1 AND index_part3=2 /* index_part_1 is not used */
-... WHERE index=1 OR A=10 /* Index is not used in both AND parts */
-... WHERE index_part1=1 OR index_part2=10 /* No index spans all rows */
-@end example
-
-@node Query Speed, Tips, MySQL indexes, Performance
-@section ¥Ç¡¼¥¿¤ò¥¢¥¯¥»¥¹¡¦¹¹¿·¤¹¤ë¥¯¥¨¥ê¤Î®ÅÙ
-
-ºÇ½é¤Ë¡¢Á´¤Æ¤Î¥¯¥¨¥ê¤Ë±Æ¶Á¤¹¤ë°ì¤Ä¤Î»öÊÁ¤ò¤Î¤Ù¤Þ¤¹¡§
-¤è¤êÊ£»¨¤Ê¸¢¸Â¤ÎÀßÄê¤ò¹Ô¤¦¤È¡¢¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬Â¿¤¯¤Ê¤ê¤Þ¤¹¡£
-
-¤â¤·¤¢¤Ê¤¿¤¬¤¤¤«¤Ê¤ë @code{GRANT} ʸ¤â¹Ô¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢
-@strong{MySQL} ¤Ï¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Î¸¡ºº¤ò¾¯¤·¤·¤«ºÇŬ²½¤·¤Ê¤¤¤Ç¤·¤ç¤¦¡£
-So if you have a very high volume it
-may be worth the time to avoid grants. Otherwise more permission check
-results in a larger overhead.
-
-¤â¤· @strong{MySQL} ´Ø¿ô¤Î¤¢¤ë¤â¤Î¤¬³Î¼Â¤ËÌäÂê¤ò°ú¤­µ¯¤³¤·¤Æ¤¤¤ë¤Î¤Ê¤é¤Ð¡¢
-¾ï¤Ë @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¦¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡§
-
-@example
-mysql> select benchmark(1000000,1+1);
-+------------------------+
-| benchmark(1000000,1+1) |
-+------------------------+
-| 0 |
-+------------------------+
-1 row in set (0.32 sec)
-@end example
-
-¾å¤ÎÎã¤Ç¤Ï @strong{MySQL} ¤Ï 1,000,000 @code{+} ¼°¤ò 0.32 ÉäǼ¹ԤǤ­¤Æ¤¤¤Þ¤¹
-(¤¿¤ó¤Ê¤ë @code{PentiumII 400MHz} ¥Þ¥·¥ó¤Ç)¡£
-
-Á´¤Æ¤Î @strong{MySQL} ´Ø¿ô¤ÏºÇŬ²½¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢
-¤¤¤¯¤Ä¤«¤ÏÎã³°¤¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-@code{benchmark(loop_count,expression)}¤Ï¤¢¤Ê¤¿¤Î¥¯¥¨¥ê¤Î
-ÌäÂê¤ò¸«¤Ä¤±¤ë¤¿¤á¤Î¤È¤Æ¤â¤è¤¤¥Ä¡¼¥ë¤Ç¤¹¡£
-
-@menu
-* Estimating performance:: Estimating query performance
-* SELECT speed:: Speed of @code{SELECT} queries
-* Where optimizations:: How MySQL optimizes @code{WHERE} clauses
-* LEFT JOIN optimization:: How MySQL optimizes @code{LEFT JOIN}
-* LIMIT optimization:: How MySQL optimizes @code{LIMIT}
-* Insert speed:: Speed of @code{INSERT} queries
-* Update speed:: Speed of @code{UPDATE} queries
-* Delete speed:: Speed of @code{DELETE} queries
-@end menu
-
-@node Estimating performance, SELECT speed, Query Speed, Query Speed
-@subsection ¥¯¥¨¥ê¤ÎÀ­Ç½É¾²Á
-
-¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢¥Ç¥£¥¹¥¯¡¦¥·¡¼¥¯¤ò¿ô¤¨¤ë¤³¤È¤Ç¤À¤¤¤¿¤¤¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤òͽ¬¤Ç¤­¤Þ¤¹¡£
-¾®¤µ¤Ê¥Æ¡¼¥Ö¥ë¤Ç¤Ï¡¢Ä̾1²ó¤Î¥Ç¥£¥¹¥¯¡¦¥·¡¼¥¯¤Ç¥ì¥³¡¼¥É¤ò¸«¤Ä¤±¤ì¤ë¤Ç¤·¤ç¤¦
-(¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¤¿¤Ö¤ó¥­¥ã¥Ã¥·¥å¤µ¤ì¤ë¤Î¤Ç)¡£ Â礭¤Ê¥Æ¡¼¥Ö¥ë¤Ç¤Ï¡¢
-¤ª¤ª¤è¤½¤Îͽ¬¤È¤·¤Æ¡¢(B++ ¥Ä¥ê¡¼¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç)¡¢
-@code{log(row_count) /
-log(index_block_length / 3 * 2 / (index_length + data_pointer_length)) +
-1} ¥·¡¼¥¯¡¢1¥ì¥³¡¼¥É¤ò¸«¤Ä¤±¤ë¤Î¤ËɬÍפȤʤë¤Ç¤·¤ç¤¦¡£
-
-@strong{MySQL} ¤Ç¤Ï¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¡¦¥Ö¥í¥Ã¥¯¤ÏÄ̾ï 1024 ¥Ð¥¤¥È¤Ç¡¢
-¥Ç¡¼¥¿¡¦¥Ý¥¤¥ó¥¿¡¼¤ÏÄ̾ï 4 ¥Ð¥¤¥È¤Ç¤¹¡£ ¤³¤ì¤Ï¡¢
-¥¤¥ó¥Ç¥Ã¥¯¥¹Ä¹¤¬ 3 (medium integer) ¡¢¥Ç¡¼¥¿¤¬ 500,000 ¥ì¥³¡¼¥É¤¢¤ë¥Æ¡¼¥Ö¥ë¤Ç¤Ï¡¢
-@code{log(500,000)/log(1024/3*2/(3+4)) + 1} = 4 ¥·¡¼¥¯¤È¤Ê¤ê¤Þ¤¹¡£
-
-As the above index would require about 500,000 * 7 * 3/2 = 5.2M,
-(assuming that the index buffers are filled to 2/3 (which is typical) )
-you will probably have much of the index in memory and you will probably
-only need 1-2 calls to read data from the OS to find the row.
-
-½ñ¤­¹þ¤ß»þ¤Ë¤Ï¡¢¾å¤Î¾ì¹ç¡¢¿·¤·¤¤¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò½ñ¤­¹þ¤á¤ë¾ì½ê¤ò
-õ¤·½Ð¤¹¤Î¤Ë¡¢4 ¥·¡¼¥¯¤«¤«¤ê¡¢¤µ¤é¤Ë¡¢Ä̾¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¹¹¿·¤·¡¢
-¥ì¥³¡¼¥É¤ò½ñ¤¯¤Î¤Ë 2 ¥·¡¼¥¯É¬ÍפǤ¹¡£
-
-Note that the above doesn't mean that your application will slowly
-degenerate by N log N! As long as everything is cached by the OS or SQL
-server things will only go marginally slower while the table gets
-bigger. After the data gets too big to be cached, things will start to
-go much slower until your applications is only bound by disk-seeks
-(which increase by N log N). To avoid this, increase the index cache as
-the data grows. @xref{Server parameters}.
-
-@node SELECT speed, Where optimizations, Estimating performance, Query Speed
-@subsection @code{SELECT} ¥¯¥¨¥ê¤Î®ÅÙ
-
-Ä̾ÃÙ¤¤ @code{SELECT ... WHERE} ¤ò®¤¯¤¹¤ë¤Ë¤Ï¡¢
-¤Þ¤ººÇ½é¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¤¢¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£@xref{MySQL
-indexes, , @strong{MySQL} indexes}.
-°ã¤¦¥Æ¡¼¥Ö¥ë¤ò»²¾È¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ÉáÄ̤ϥ¤¥ó¥Ç¥Ã¥¯¥¹¤ò¤È¤â¤Ê¤¦¤Ù¤­¤Ç¤¹¡£
-@code{EXPLAIN} ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ì¤Ð¡¢@code{SELECT} ¤Ç¤É¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬
-»ÈÍѤµ¤ì¤Æ¤¤¤ë¤«³Îǧ¤Ç¤­¤Þ¤¹¡£
-@xref{EXPLAIN, , @code{EXPLAIN}}.
-
-Some general tips:
-
-@itemize @bullet
-@item
-To help @strong{MySQL} optimize queries better, run @code{myisamchk
---analyze} on a table after it has been loaded with relevant data. This
-updates a value for each index part that indicates the average number of
-rows that have the same value. (For unique indexes, this is always 1,
-of course.). @strong{MySQL} will use this to decide which index to
-choose when you connect two tables with 'a non-constant expression'.
-You can check the result from the @code{analyze} run by doing @code{SHOW
-INDEX FROM table_name} and examining the @code{Cardinality} column.
-
-@item
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¥Ç¡¼¥¿¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹½ç¤Ë½¾¤Ã¤Æ¥½¡¼¥È¤¹¤ë¤Ë¤Ï¡¢
-@code{myisamchk --sort-index --sort-records=1} ¤ò»ÈÍѤ·¤Þ¤¹
-(¤â¤· £±ÈÖÌܤΥ¤¥ó¥Ç¥Ã¥¯¥¹½ç¤Ë¥½¡¼¥È¤¹¤ë¤Ê¤é)¡£
-If you
-have a unique index from which you want to read all records in order
-according to that index, this is a good way to make that faster.
-¤·¤«¤·¡¢¤³¤Î¥½¡¼¥ÈÊýË¡¤ÏºÇŬ¾õÂ֤ǤϽñ¤«¤ì¤º¡¢¤Þ¤¿Â礭¤Ê¥Æ¡¼¥Ö¥ë¤Ç¤Ï
-¿¤¯¤Î»þ´Ö¤¬¤«¤«¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡ª
-@end itemize
-
-@cindex Optimizations
-@node Where optimizations, LEFT JOIN optimization, SELECT speed, Query Speed
-@subsection MySQL ¤Ï¤É¤Î¤è¤¦¤Ë @code{WHERE} Àá¤òºÇŬ²½¤¹¤ë¤«¡©
-
-@code{WHERE} ¤ÎºÇŬ²½¤Ï¡¢@code{WHERE} ¤¬¤Û¤È¤ó¤É @code{SELECT} ¤Ç»ÈÍѤµ¤ì¤ë¤¿¤á¡¢
-@code{SELECT} ¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ ¤·¤«¤·¡¢Æ±¤¸ºÇŬ²½¤Ï
-@code{DELETE} ¤ä @code{UPDATE} ʸ¤Ç¤â»ÈÍѤµ¤ì¤Þ¤¹¡£
-
-¤³¤Î¥»¥¯¥·¥ç¥ó¤ÎºÇŬ²½¤ÎÀâÌÀ¤Ï¤Þ¤ÀÉÔ½½Ê¬¤Ç¤¹¡£
-¤Ê¤¼¤Ê¤é¡¢ @strong{MySQL} ¤Ï¤È¤Æ¤â¿¤¯¤ÎºÇŬ²½¤ò¹Ô¤Ã¤Æ¤ª¤ê¡¢
-¤½¤ì¤éÁ´¤Æ¤Ë¤Ä¤¤¤Æ¤ÎÀâÌÀ¤ò½ñ¤±¤ë»þ´Ö¤¬¡¢²æ¡¹¤Ï¤È¤ì¤Þ¤»¤ó¡£
-
-@strong{MySQL}¤Ë¤è¤ëºÇŬ²½¤Î¤¤¤¯¤Ä¤«¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹:
-
-@itemize @bullet
-@item
-³ç¸Ì¤Î½üµî (Á´¤Æ¤ÎÉÔɬÍפʳç¸Ì¤Ïºï½ü¤µ¤ì¤Þ¤¹):
-@example
- ((a AND b) AND c OR (((a AND b) AND (c AND d))))
--> (a AND b AND c) OR (a AND b AND c AND d)
-@end example
-@item
-Äê¿ô¤ÎÊÝ»ý:
-@example
- (a<b AND b=c) AND a=5
--> b>5 AND b=c AND a=5
-@end example
-@item
-Äê¿ô¾ò·ï¤Î½üµî (Äê¿ôÊÝ»ý¤Î¤¿¤á¤ËɬÍפȤµ¤ì¤Þ¤¹):
-@example
- (B>=5 AND B=5) OR (B=6 AND 5=5) OR (B=7 AND 5=6)
--> B=5 OR B=6
-@end example
-@item
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë»ÈÍѤµ¤ì¤ëÁ´¤Æ¤Îɽ¸½¤Ï°ìÅÙ¤À¤±É¾²Á¤µ¤ì¤Þ¤¹¡£
-@item
-°ì¤Ä¤Î¥Æ¡¼¥Ö¥ë¾å¤Î @code{WHERE} ¤¬¤Ê¤¤ @code{CONST(*)} ¤Ï¡¢¥Æ¡¼¥Ö¥ë¤«¤é
-ľÀܼè¤ê½Ð¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¤Þ¤¿Æ±¤¸¾ò·ï²¼¤Ç¤ÎǤ°Õ¤Î @code{NOT NULL} ɽ¸½
-¤Î¤¿¤á¤Ë¤â¹Ô¤ï¤ì¤Þ¤¹¡£
-@item
-ÉÔÅö¤ÊÄê¿ôɽ¸½¤ÏÁ᤯¸¡½Ð¤µ¤ì¤Þ¤¹¡£
-@strong{MySQL} ¤ÏÉÔ²Äǽ¤Ê @code{SELECT} ¹½Ê¸¤òÁÇÁ᤯¸«¤Ä¤±¡¢0 ¹Ô¤ò·ë²Ì¤È¤·¤ÆÊÖ¤·¤Þ¤¹¡£
-@item
-@code{GROUP BY} ¤Þ¤¿¤Ï group ´Ø¿ô (@code{COUNT()}, @code{MIN()}...) ¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¤Ï¡¢
-@code{HAVING} ¤Ï @code{WHERE} ¤È¥Þ¡¼¥¸¤µ¤ì¤Þ¤¹¡£
-@item
-³Æ¥µ¥Ö·ë¹ç¤Ë¤Ä¤¤¤Æ¤Î®¤¤ @code{WHERE} ɾ²Á¤òÆÀ¤ë¤¿¤á¤Ë¡¢¤Þ¤¿¡¢²Äǽ¤Ê¸Â¤ê
-Á᤯¥ì¥³¡¼¥É¤ò¥¹¥­¥Ã¥×¤¹¤ë¤¿¤á¤Ë¡¢³Æ¥µ¥Ö·ë¹ç¤Ë¤Ä¤¤¤Æ¤è¤ê´Êñ¤Ê
-@code{WHERE} ¤¬¹½ÃÛ¤µ¤ì¤Þ¤¹¡£
-@cindex Constant table
-@cindex Table, constant
-@item
-Á´¤Æ¤ÎÄê¿ô¥Æ¡¼¥Ö¥ë¤ò¥¯¥¨¥ê¡¼Ãæ¤Î¾¤Î¥Æ¡¼¥Ö¥ë¤è¤êÀè¤ËÆɤߤޤ¹¡£
-Äê¿ô¥Æ¡¼¥Ö¥ë¤Ï¼¡¤Ç¤¹:
-@itemize @minus
-@item
-0 ¤Þ¤¿¤Ï 1 ¹Ô¤Î¥Æ¡¼¥Ö¥ë¡£
-@item
-@code{WHERE} Àá¤Ç @code{UNIQUE} ¥¤¥ó¥Ç¥Ã¥¯¥¹¤ä @code{PRIMARY KEY} ¤¬»ÈÍѤµ¤ì¤¿¥Æ¡¼¥Ö¥ë¤Ç¡¢
-¤«¤Ä¡¢Á´¤Æ¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬Äê¿ô¼°¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤Æ¡¢
-¤«¤Ä¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¥Ñ¡¼¥È¤¬ @code{NOT NULL} ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¡£
-@end itemize
-°Ê²¼¤Î¥Æ¡¼¥Ö¥ë¤Î¤è¤¦¤ËÄê¿ô¤À¤±¤ò»ÈÍѤ¹¤ë¥Æ¡¼¥Ö¥ë:
-@example
-mysql> SELECT * FROM t WHERE primary_key=1;
-mysql> SELECT * FROM t1,t2
- WHERE t1.primary_key=1 AND t2.primary_key=t1.id;
-@end example
-
-@item
-¥Æ¡¼¥Ö¥ë¤ò·ë¹ç¤¹¤ë¤¿¤á¤ËºÇÎɤηë¹ç¤ÎÁȹ礻¤ò¸«¤Ä¤±¤Þ¤¹¡£Á´¤Æ¤Î²ÄǽÀ­¤ò»î¤·¤Æ ¡£
-@code{ORDER BY} ¤Þ¤¿¤Ï @code{GROUP} Æâ¤ÎÁ´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤¬Æ±¤¸¥Æ¡¼¥Ö¥ë¤Î¾ì¹ç¤Ï¡¢
-¤³¤Î¥Æ¡¼¥Ö¥ë¤Ï·ë¹ç»þ¤ËºÇ½é¤ËÍ¥À褵¤ì¤Þ¤¹¡£
-@item
-@code{ORDER BY} Àá¤È @code{GROUP BY} À᤬¤¢¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï @code{ORDER BY} ¤« @code{GROUP BY} ¤¬·ë¹ç¥­¥å¡¼
-Æâ¤ÎºÇ½é¤Î¥Æ¡¼¥Ö¥ë¤Ç¤Ï¤Ê¤¤Â¾¤Î¥Æ¡¼¥Ö¥ë¤«¤é¤Î¹àÌܤò´Þ¤à¾ì¹ç¡¢°ì»þ¥Æ¡¼¥Ö¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
-@item
-¤â¤· @code{SQL_SMALL_RESULT} ¤ò»ÈÍѤ¹¤ë¤Ê¤é, @strong{MySQL} ¤Ï¥á¥â¥ê¡¼Æâ¤Î°ì¼¡¥Æ¡¼¥Ö¥ë¤ò
-»ÈÍѤ·¤Þ¤¹
-@item
-@code{DISTINCT} ¤Ï¡¢Á´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤ËÂФ¹¤ë @code{GROUP BY} ¤ËÊÑ´¹¤µ¤ì¤ë¤¿¤á¡¢
-@code{ORDER BY} ¤È¹ç¤ï¤·¤¿ @code{DISTINCT} ¤Ï¿¤¯¤Î¾ì¹ç¤Ç°ì»þ¥Æ¡¼¥Ö¥ë¤¬
-ɬÍפˤʤê¤Þ¤¹¡£
-@item
-³Æ¥Æ¡¼¥Ö¥ë¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¥¯¥¨¥ê¤µ¤ì¡¢ÆÀ¤é¤ì¤ë¹Ô¤Î 30% ̤Ëþ¤ÎÉý¤·¤«¤Ê¤¤ºÇÎɤΥ¤¥ó¥Ç¥Ã¥¯¥¹¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤½¤Î¤è¤¦¤Ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¸«¤Ä¤±¤é¤ì¤Ê¤¤¾ì¹ç¡¢ÁÇÁᤤ¥Æ¡¼¥Ö¥ë¤ÎÁöºº(quick table scan)¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-@item
-Ʊ¤¸¤è¤¦¤Ë¡¢@strong{MySQL} ¤Ï¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤òÅù¤·¤¯Ä´¤Ù¤Ï¤·¤Ê¤¤¥¤¥ó¥Ç¥Ã¥¯¥¹¤«¤é
-¥ì¥³¡¼¥É¤òÆɤळ¤È¤¬²Äǽ¤Ç¤¹¡£¤â¤·Á´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤¬¿ôÃÍ·¿¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ê¤é¡¢
-¥¤¥ó¥Ç¥Ã¥¯¥¹¥Ä¥ê¡¼¤À¤±¤¬¥¯¥¨¥ê¤Î²ò·è¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-@item
-³Æ¥ì¥³¡¼¥É¤¬½ÐÎϤµ¤ì¤ëÁ°¤Ë¡¢@code{HAVING} Àá¤ËŬ¹ç¤¹¤ë¤â¤Î¤ò¥¹¥­¥Ã¥×¤·¤Þ¤¹¡£
-@end itemize
-
-°Ê²¼¤Ï¤È¤Æ¤â®¤¤¥¯¥¨¥ê¤ÎÎã¤Ç¤¹:
-
-@example
-mysql> SELECT COUNT(*) FROM tbl_name;
-mysql> SELECT MIN(key_part1),MAX(key_part1) FROM tbl_name;
-mysql> SELECT MAX(key_part2) FROM tbl_name
- WHERE key_part_1=constant;
-mysql> SELECT ... FROM tbl_name
- ORDER BY key_part1,key_part2,... LIMIT 10;
-mysql> SELECT ... FROM tbl_name
- ORDER BY key_part1 DESC,key_part2 DESC,... LIMIT 10;
-@end example
-
-°Ê²¼¤Î¥¯¥¨¥ê¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¥Ä¥ê¡¼¤Î¤ß¤ò»ÈÍѤ·¤Þ¤¹(¥¤¥ó¥Ç¥Ã¥¯¥¹²½¤µ¤ì¤Æ¤¤¤ë¥Õ¥£¡¼¥ë¥É¤Ï
-¿ôÃÍ·¿¤È²¾Äꤷ¤Þ¤¹)¡§
-
-@example
-mysql> SELECT key_part1,key_part2 FROM tbl_name WHERE key_part1=val;
-mysql> SELECT COUNT(*) FROM tbl_name
- WHERE key_part1=val1 AND key_part2=val2;
-mysql> SELECT key_part2 FROM tbl_name GROUP BY key_part1;
-@end example
-
-°Ê²¼¤Î¥¯¥¨¥ê¤Ï¡¢¥½¡¼¥È¤µ¤ì¤¿¹Ô¤Î¸¡º÷¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤Þ¤¹¡§
-
-@example
-mysql> SELECT ... FROM tbl_name ORDER BY key_part1,key_part2,...
-mysql> SELECT ... FROM tbl_name ORDER BY key_part1 DESC,key_part2 DESC,...
-@end example
-
-@node LEFT JOIN optimization, LIMIT optimization, Where optimizations, Query Speed
-@subsection MySQL ¤Ï¤É¤Î¤è¤¦¤Ë @code{LEFT JOIN} ¤òºÇŬ²½¤¹¤ë¤«¡©
-
-@code{A LEFT JOIN B} ¤Ï @strong{MySQL} ¤Ë°Ê²¼¤Î¤è¤¦¤ËÁȤߤ³¤Þ¤ì¤Æ¤¤¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-The table @code{B} is set to be dependent on table @code{A} and all tables
-that @code{A} is dependent on.
-@item
-¥Æ¡¼¥Ö¥ë @code{A} ¤¬ @code{LEFT JOIN} ¾ò·ïÃæ¤Ë»ÈÍѤµ¤ì¤ëÁ´¤Æ¤Î¥Æ¡¼¥Ö¥ë
-¡Ê¤¿¤À¤· @code{B} ¤Ï½ü¤¯¡Ë¤Ë°Í¸¤¹¤ë¤È¡¢¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£
-@item
-Á´¤Æ¤Î @code{LEFT JOIN} ¾ò·ï¤¬ @code{WHERE} Àá¤Ë°ÜÆ°¤µ¤ì¤Þ¤¹¡£
-@item
-All standard join optimizations are done, with the exception that a table is
-always read after all tables it is dependent on. If there is a circular
-dependence then @strong{MySQL} will issue an error.
-@item
-Á´¤Æ¤Î @code{WHERE} Àá¤ÎºÇŬ²½¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
-@item
-@code{WHERE} Àá¤Ë¥Þ¥Ã¥Á¤¹¤ë¥ì¥³¡¼¥É¤¬ @code{A} ¤Ë¤¢¤ê¡¢
-@code{LEFT JOIN} ¾ò·ï¤Ë¥Þ¥Ã¥Á¤¹¤ë¥ì¥³¡¼¥É¤¬ @code{B} ¤Ë¤Ê¤¤¾ì¹ç¡¢
-Á´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤¬ @code{NULL} ¤Ë¥»¥Ã¥È¤µ¤ì¤¿ @code{B} ¤Î¥ì¥³¡¼¥É¤¬
-ºîÀ®¤µ¤ì¤Þ¤¹¡£
-@item
-If you use @code{LEFT JOIN} to find rows that doesn't exist in some
-table and you have the following test: @code{column_name IS NULL} in the
-@code{WHERE} part, where column_name is a column that is declared as
-@code{NOT NULL}, then @code{MySQL} will stop searching after more rows
-(for a particular key combination) after it has found one row that
-matches the @code{LEFT JOIN} condition.
-@end itemize
-
-The table read order forced by @code{LEFT JOIN} and @code{STRAIGHT JOIN} will help
-the join optimizer (which calculates in which order tables should be joined) to do
-its work much more quickly as there are fewer table permutations to check.
-
-Note that the above means that if you do a query of type:
-
-@example
-SELECT * FROM a,b LEFT JOIN c ON (c.key=a.key) LEFT JOIN d (d.key=a.key) WHERE b.key=d.key
-@end example
-
-Then @strong{MySQL} will do a full scan on @code{b} as the @code{LEFT JOIN} will
-force it to be read before @code{d}.
-
-The fix in this case is to change the query to:
-
-@example
-SELECT * FROM b,a LEFT JOIN c ON (c.key=a.key) LEFT JOIN d (d.key=a.key) WHERE b.key=d.key
-@end example
-
-@node LIMIT optimization, Insert speed, LEFT JOIN optimization, Query Speed
-@subsection MySQL ¤Ï¤É¤Î¤è¤¦¤Ë @code{LIMIT} ¤òºÇŬ²½¤¹¤ë¤«¡©
-
-In some cases @strong{MySQL} will handle the query differently when you are
-using @code{LIMIT #} and not using @code{HAVING}:
-
-@itemize @bullet
-@item
-¤â¤· @code{LIMIT} ¤ò»ÈÍѤ·¤Æ¸ÂÄꤷ¤¿¿ô¤À¤± select ¤ò¹Ô¤¦¤Ê¤é¡¢ @strong{MySQL} ¤Ï¡¢
-¤¢¤ë¾ì¹ç¡¢¥Æ¡¼¥Ö¥ë¤òÁ´¤ÆÁöºº¤¹¤ë¤è¤ê¤â¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤è¤¦¤È¤·¤Þ¤¹¡£
-@item
-¤â¤· @code{LIMIT #} ¤ò @code{ORDER BY} ¤È¶¦¤Ë»ÈÍѤ¹¤ë¤Ê¤é, @strong{MySQL} ¤Ï
-ºÇ½é¤Î @code{#} ¹Ô¤ò¸«¤Ä¤±¤¿¤é¤¹¤°¤Ë¡¢Á´¥Æ¡¼¥Ö¥ë¤Î¥½¡¼¥È¤Ï¹Ô¤ï¤º¤Ë¡¢
-¥½¡¼¥È¤ò½ª¤ï¤é¤»¤Þ¤¹¡£
-@item
-@code{LIMIT #} ¤ò @code{DISTINCT} ¤È¶¦¤Ë»ÈÍѤ¹¤ë¤Ê¤é, @strong{MySQL} ¤Ï
-@code{#} ¸Ä¤Î°ì°Õ¤Ê¥ì¥³¡¼¥É¤ò¸«¤Ä¤±¤¿»þÅÀ¤Ç½ª¤ï¤ê¤Þ¤¹¡£
-@item
-In some cases a @code{GROUP BY} can be resolved by reading the key in order
-(or do a sort on the key) and then calculate summaries until the
-key value changes. In this case @code{LIMIT #} will not calculate any
-unnecessary @code{GROUP BY}'s.
-@item
-@strong{MySQL} ¤Ï¡¢ºÇ½é¤Î @code{#} ¹Ô¤ò¥¯¥é¥¤¥¢¥ó¥È¤ËÁ÷¤Ã¤¿¤¢¤Èľ¤Ë¡¢
-¥¯¥¨¥ê¤òÃæÃǤ·¤Þ¤¹¡£
-@item
-@code{LIMIT 0} ¤Ï¾ï¤ËÁÇÁ᤯¶õ¤Î·ë²Ì¤òÊÖ¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¥¯¥¨¥ê¤Î¥Á¥§¥Ã¥¯¤ä·ë²Ì¤È¤·¤ÆÆÀ¤é¤ì¤ë¥Õ¥£¡¼¥ë¥É¤Î·¿¤òÆÀ¤ë¤¿¤á¤ËÍøÍѤǤ­¤Þ¤¹¡£
-@item
-°ì»þ¥Æ¡¼¥Ö¥ë¤ÎÂ礭¤µ¤Ï¡¢¥¯¥¨¥ê¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¤É¤ì¤°¤é¤¤¤Î¥¹¥Ú¡¼¥¹¤¬¤¤¤ë¤«¤ò
-·×»»¤¹¤ë¤Î¤Ë¡¢@code{LIMIT #} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-@end itemize
-
-@node Insert speed, Update speed, LIMIT optimization, Query Speed
-@subsection @code{INSERT} ¥¯¥¨¥ê¤Î®ÅÙ
-
-¥ì¥³¡¼¥É¤òÁÞÆþ¤¹¤ë»þ´Ö¤Ï¤ª¤ª¤è¤½¼¡¤«¤é¤Ê¤ê¤Þ¤¹:
-
-@itemize @bullet
-@item
-Àܳ: (3)
-@item
-¥¯¥¨¥ê¤ò¥µ¡¼¥Ð¤ØÁ÷¿®: (2)
-@item
-¥¯¥¨¥ê¤Î²òÀÏ: (2)
-@item
-¥ì¥³¡¼¥É¤ÎÁÞÆþ: (1 x size of record)
-@item
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÁÞÆþ: (1 x number of indexes)
-@item
-¥¯¥í¡¼¥º: (1)
-@end itemize
-
-¤³¤³¤Ç (¿ô»ú) ¤ÏÈæÎã»þ´Ö¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥Æ¡¼¥Ö¥ë¤Î¥ª¡¼¥×¥ó¤Ë¤«¤«¤ë½é´ü¥ª¡¼¥Ð¡¼¥Ø¥Ã
-¥É(¤³¤ì¤ÏƱ»þ¤ËÆ°ºî¤¹¤ë³Æ¥¯¥¨¥êËè¤Ë1²ó¹Ô¤Ê¤ï¤ì¤Þ¤¹)¤Ï¹Í褵¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-
-¥Æ¡¼¥Ö¥ë¤Î¥µ¥¤¥º¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÁÞÆþ¤ò N log N ¤ÇÃÙ¤¯¤·¤Þ¤¹ (B-tree)¡£
-
-INSERT ¤ò®¤¯¤¹¤ë¤¤¤¯¤Ä¤«¤ÎÊýË¡¡§
-
-@itemize @bullet
-@item
-¤â¤·Æ±¤¸¥¯¥é¥¤¥¢¥ó¥È¤«¤é¿¤¯¤Î¥ì¥³¡¼¥É¤òƱ»þ¤Ë¥¤¥ó¥µ¡¼¥È¤¹¤ë¤Ê¤é¡¢
-Ê£¿ô¤ÎÃͤ¬½ñ¤±¤ë @code{INSERT} ʸ¤ò»ÈÍѤ·¤Þ¤¹¡£ ¤³¤ì¤Ï¸Ä¡¹¤Ë @code{INSERT} ʸ
-¤òȯ¹Ô¤¹¤ë¾ì¹ç¤ËÈæ¤Ù¤Æ¡¢¤È¤Æ¤â®¤¯¤Ê¤ê¤Þ¤¹¡£
-@item
-¤â¤·°ã¤¦¥¯¥é¥¤¥¢¥ó¥È¤«¤é¿¤¯¤Î¥ì¥³¡¼¥É¤òƱ»þ¤Ë¥¤¥ó¥µ¡¼¥È¤¹¤ë¤Ê¤é¡¢
- @code{INSERT DELAYED} ʸ¤Î»ÈÍѤǡ¢¤è¤ê®¤¯¤Ê¤ë¤Ç¤·¤ç¤¦¡£ @xref{INSERT,
-, @code{INSERT}}.
-@item
-@code{MyISAM} ¤Ç¤Ï¡¢Ê£¿ô¤Î @code{SELECT} ¤¬Áö¤Ã¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ¡¢
-Ʊ»þ¤Ë¡¢¥ì¥³¡¼¥É¤òÁÞÆþ¤Ç¤­¤Þ¤¹¡£ ¤¿¤À¤·¤½¤Î¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ
-¥ì¥³¡¼¥É¤Îºï½ü¤¬¤Ê¤¤¾ì¹ç¤Ë¡£
-@item
-¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥Æ¡¼¥Ö¥ë¤Ë¥Ç¡¼¥¿¤ò¤¤¤ì¤ë¾ì¹ç¤Ï¡¢ @code{LOAD DATA INFILE} ¤ò
-»ÈÍѤ·¤Þ¤¹¡£ ¤³¤ì¤Ï¤¿¤¯¤µ¤ó¤Î @code{INSERT} ʸ¤Îȯ¹Ô¤ËÈæ¤Ù¤ÆÄ̾ï 20ÇÜ ÄøÅÙ
-®¤¯¤Ê¤ê¤Þ¤¹
-@xref{LOAD DATA, , @code{LOAD DATA}}.
-@item
-¥Æ¡¼¥Ö¥ë¤¬Â¿¤¯¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢¤¢¤ëÊýË¡¤Ç¡¢ @code{LOAD DATA INFILE} ¤Î
-¼Â¹Ô¤ò®¤¯¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-°Ê²¼¤Î¼ê½ç¤Ç¹Ô¤¤¤Þ¤¹¡§
-
-@enumerate
-@item
-Optionally create the table with @code{CREATE TABLE}. For example using
-@code{mysql} or Perl-DBI.
-
-@item
-@code{FLUSH TABLES} ¤Î¼Â¹Ô¡£ ¤¢¤ë¤¤¤Ï @code{mysqladmin flush-tables}
-¥³¥Þ¥ó¥É¤Î¼Â¹Ô¡£
-
-@item
-@code{myisamchk --keys-used=0 -rq /path/to/db/tbl_name} ¤Î»ÈÍÑ¡£
-¤³¤ì¤Ï»ØÄꤵ¤ì¤¿¥Æ¡¼¥Ö¥ë¤«¤éÁ´¤Æ¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤òºï½ü¤·¤Þ¤¹¡£
-
-@item
-¤½¤Î¥Æ¡¼¥Ö¥ë¤Ë @code{LOAD DATA INFILE} ¤ò»ÈÍѤ·¤Æ¥Ç¡¼¥¿¤òÆþ¤ì¤Þ¤¹.
-¤³¤ì¤Ï¤¤¤«¤Ê¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤â¹¹¿·¤·¤Ê¤¤¤Ç¤·¤ç¤¦¤·¡¢¤½¤Î¤¿¤á¡¢Â®¤¯¤â¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-
-@item
-¤â¤· @code{myisampack} ¤ò¤ª»ý¤Á¤Ç¡¢¥Æ¡¼¥Ö¥ë¤ò°µ½Ì¤·¤¿¤¤¤Ê¤é¡¢
-@code{myisampack} ¤ò¼Â¹Ô¤·¤Þ¤¹. @xref{Compressed format}.
-
-@item
-@code{myisamchk -r -q /path/to/db/tbl_name} ¤Ç¥¤¥ó¥Ç¥Ã¥¯¥¹¤òºÆ¹½ÃÛ.
-¤³¤ì¤Ï disk ¤Ë½ñ¤­¹þ¤àÁ°¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¥á¥â¥ê¤ËºîÀ®¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¿¤¯¤Î¥Ç¥£¥¹¥¯¥·¡¼¥¯¤òÈò¤±¤ë¤³¤È¤¬½ÐÍè¤ë¤Î¤Ç¤È¤Æ¤â®¤¯¤Ê¤ê¤Þ¤¹¡£
-¤Ç¤­¾å¤¬¤Ã¤¿¥¤¥ó¥Ç¥Ã¥¯¥¹¥Ä¥ê¡¼¤Ï¡¢¥Ð¥é¥ó¥¹¤Î¤è¤¤¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@item
-@code{FLUSH TABLES} ¤Î¼Â¹Ô¡£ ¤¢¤ë¤¤¤Ï @code{mysqladmin flush-tables}
-¥³¥Þ¥ó¥É¤Î¼Â¹Ô¡£
-@end enumerate
-
-¤³¤Î¼ê½ç¤Ï¡¢¾­Íè¤Î MySQL ¤Î @code{LOAD DATA INFILE} ¤ËÁȤ߹þ¤à¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-@item
-¥Æ¡¼¥Ö¥ë¤ò¥í¥Ã¥¯¤¹¤ë¤³¤È¤Ç¡¢ÁÞÆþ¤ò®¤¯¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡§
-
-@example
-mysql> LOCK TABLES a WRITE;
-mysql> INSERT INTO a VALUES (1,23),(2,34),(4,33);
-mysql> INSERT INTO a VALUES (8,26),(6,29);
-mysql> UNLOCK TABLES;
-@end example
-
-¼ç¤Ê®ÅÙº¹¤Ï¡¢Á´¤Æ¤Î @code{INSERT} ¹½Ê¸¤Ç¥¤¥ó¥Ç¥Ã¥¯¥¹¥Ð¥Ã¥Õ¥¡¤¬°ìÅÙ¤À¤±¥Ç¥£¥¹¥¯¤Ë¥Õ
-¥é¥Ã¥·¥å¤µ¤ì¤ë¤³¤È¤Ç¤¹¡£Ä̾ï¤Ï @code{INSERT} ¹½Ê¸¤¬¤¢¤ë¤Î¤ÈƱ¤¸¤¯¤é¤¤Â¿¤¯¤Î¥¤¥ó¥Ç¥Ã
-¥¯¥¹¥Ð¥Ã¥Õ¥¡¥Õ¥é¥Ã¥·¥å¤¬¤¢¤ê¤Þ¤¹¡£Ã±°ì¹½Ê¸¤ÎÁ´¤Æ¤Î¥ì¥³¡¼¥É¤Ï¡¢¥í¥Ã¥¯¤Ê¤·¤ÇÁÞÆþ¤Ç¤­¤Þ¤¹¡£
-
-¥í¥Ã¥¯¤âÊ£¿ôÀܳ¥Æ¥¹¥È¤Î¹ç·×»þ´Ö¤òÄ㤯¤·¤Þ¤¹¤¬¡¢¤¤¤¯¤Ä¤«¤Î¥¹¥ì¥Ã¥É¤ÎºÇÂç
-ÂÔ¤Á»þ´Ö¤Ï¾å¤¬¤ê¤Þ¤¹(¥í¥Ã¥¯¤òÂԤäƤ¤¤ë¤«¤é)¡£
-Î㤨¤Ð:
-
-@example
-thread 1 does 1000 inserts
-thread 2, 3, and 4 does 1 insert
-thread 5 does 1000 inserts
-@end example
-
-¥í¥Ã¥¯¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¡¢2, 3 ¤½¤·¤Æ 4 ¤Ï 1 ¤È 5 ¤ÎÁ°¤Ë½ª¤ê¤Þ¤¹¡£¥í¥Ã¥¯¤ò
-»ÈÍѤ¹¤ë¾ì¹ç¡¢2,3,4 ¤Ï 1 ¤ä 5 ¤ÎÁ°¤Ë½ª¤ï¤ë¤³¤È¤Ï¤ª¤½¤é¤¯¤¢¤ê¤Þ¤»¤ó¤¬¡¢¹ç
-·×»þ´Ö¤ÏÌó 40 % ®¤¯¤Ê¤ê¤Þ¤¹¡£
-
-@code{INSERT}, @code{UPDATE} , @code{DELETE} ¤Ï¡¢ @strong{MySQL} ¤Ç¤Ï¤È¤Æ¤â®¤¤¤Î¤Ç¡¢
-1 ¹Ô¤ÇÌó 5 ¤Ä°Ê¾å¡¢Ãͤò ÁÞÆþ¡¦¹¹¿· ¤ò¤¹¤ëÁàºî¤ËÂФ·¤Æ¡¢
-¥í¥Ã¥¯¤òÄɲ乤ì¤Ð¡¢Á´ÈÌŪ¤Ë¤è¤êÎɤ¤À­Ç½¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
-¤È¤Æ¤â¿¤¤ insert ¤ò¹Ô¤Ê¤¦¾ì¹ç¡¢
-¾¤Î¥¹¥ì¥Ã¥É¤Ë¤½¤Î¥í¥Ã¥¯¤·¤¿¥Æ¡¼¥Ö¥ë¤Ø¤Î¥¢¥¯¥»¥¹¤òÍ¿¤¨¤ë¤¿¤á¤Ë ¡¢
-¤À¤¤¤¿¤¤ 1000 ¥ì¥³¡¼¥É¤´¤È¤Ë°ìÅÙ¡¢@code{UNLOCK TABLES} ¤·¤¿¸å¤Ë
- @code{LOCK TABLES} ¤ò¹Ô¤¤¤Þ¤¹¡£ ¤³¤ì¤Ç¤â¤Þ¤ÀÎɤ¤À­Ç½¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
-
-¤â¤Á¤í¤ó @code{LOAD DATA INFILE} ¤Ï¤È¤Æ¤â®¤¤¤Ç¤¹¡£
-@end itemize
-
-@code{LOAD DATA INFILE} ¤È @code{INSERT} ¤ò¶¦¤Ë®¤¯¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
-¥­¡¼¥Ð¥Ã¥Õ¥¡¤òÁý¤ä¤·¤Þ¤¹¡£ @xref{Server parameters}.
-
-@node Update speed, Delete speed, Insert speed, Query Speed
-@subsection @code{UPDATE} ¥¯¥¨¥ê¤Î®ÅÙ
-
-@code{UPDATE} ¥¯¥¨¥ê¤Ï @code{SELECT} ¥¯¥¨¥ê¤Î¤è¤¦¤ËºÇŬ²½¤µ¤ì¤Þ¤¹¤¬¡¢
-½ñ¤­¹þ¤ß¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬²Ã¤ï¤ê¤Þ¤¹¡£
-½ñ¤­¹þ¤ß®Å٤ϡ¢¹¹¿·¤µ¤ì¤ë¥Ç¡¼¥¿¤ÎÂ礭¤µ¡¢¹¹¿·¤µ¤ì¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹¿ô¤Ë
-°Í¤ê¤Þ¤¹¡£ Êѹ¹¤µ¤ì¤Ê¤¤¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¹¹¿·¤µ¤ì¤Þ¤»¤ó¡£
-
-Also another way to get fast updates is to delay updates and then do
-many updates in a row later.
-°ìʸ¤Ç¿¤¯¤Î¹¹¿·¤ò¹Ô¤¨¤Ð¡¢¤â¤·¥Æ¡¼¥Ö¥ë¤¬¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢
-°ìʸ¤Ç°ì¸Ä¤Å¤Ä¹¹¿·¤¹¤ë¤è¤ê¤â¡¢¤È¤Æ¤â®¤¯¤Ê¤ê¤Þ¤¹¡£
-
-Note that, with dynamic record format, updating a record to
-a longer total length may split the record. So if you do this often
-it is very important to @code{OPTIMIZE TABLE} sometimes.
-@xref{OPTIMIZE TABLE, , @code{OPTIMIZE TABLE}}.
-
-@node Delete speed, , Update speed, Query Speed
-@subsection @code{DELETE} ¥¯¥¨¥ê¤Î®ÅÙ
-
-1¥ì¥³¡¼¥É¤òºï½ü¤¹¤ë»þ´Ö¤Ï¡¢¤Á¤ç¤¦¤É¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¿ô¤ËÈæÎ㤷¤Þ¤¹¡£
-¤è¤ê®¤¯¥ì¥³¡¼¥É¤òºï½ü¤·¤¿¤¤¤Ê¤é¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¡¦¥­¥ã¥Ã¥·¥å¤ò
-Áý¤ä¤·¤Þ¤¹¡£ @xref{Server parameters}.
-
-¥Æ¡¼¥Ö¥ëÃ椫¤é¥ì¥³¡¼¥É¤ÎÂ礭¤ÊÉôʬ¤ò¾Ã¤¹¤è¤ê¤â¡¢
-Á´¤Æ¤Î¥ì¥³¡¼¥É¤ò¾Ã¤¹¤Û¤¦¤¬¡¢¤È¤Æ¤â®¤¤¤Ç¤¹¡£
-
-@node Tips, Benchmarks, Query Speed, Performance
-@section ºÇŬ²½¤Ë´Ø¤¹¤ë¤½¤Î¾¤Î½õ¸À
-
-Unsorted tips for faster systems:
-
-@itemize @bullet
-@item
-¥³¥Í¥¯¥·¥ç¥ó¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤òÈò¤±¤ë¤¿¤á¤Ë¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ·¤Æ¡¢
-Ã༡¥³¥Í¥¯¥·¥ç¥ó¤òÍî¤È¤µ¤Ê¤¤¤è¤¦¤Ë¡¢¾ï¤ËÀܳ¤òÊݤÁ¤Þ¤¹¡£
-If you can't use persistent connections and you are doing a
-lot of new connections to the database, you may want to change the value
-of the @code{thread_cache_size} variable. @xref{Server parameters}.
-@item
-¤¢¤Ê¤¿¤Î¥¯¥¨¥ê¤¬¥Æ¡¼¥Ö¥ë¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¤«¡¢¤¤¤Ä¤â¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
-@strong{MySQL} ¤Ç¤Ï @code{EXPLAIN} ¥³¥Þ¥ó¥É¤Ç¤³¤ì¤¬¹Ô¤¨¤ì¤Þ¤¹¡£
-@xref{EXPLAIN, Explain, Explain, manual}.
-@item
-¤¿¤¯¤µ¤óÊѹ¹¤µ¤ì¤ë¤è¤¦¤Ê¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ¡¢Ê£»¨¤Ê @code{SELECT} ¥¯¥¨¥ê¤ò
-Èò¤±¤ë¤è¤¦¤Ë»î¤ß¤Þ¤¹¡£ ¤³¤ì¤Ï¥Æ¡¼¥Ö¥ë¡¦¥í¥Ã¥¯¤ÎÌäÂê¤òÈò¤±¤ë¤¿¤á¤Ç¤¹¡£
-@item
-¿·¤·¤¤ @code{MyISAM} ¥Æ¡¼¥Ö¥ë¤Ç¤Ï¡¢¤¢¤ë¥Æ¡¼¥Ö¥ë¤Ë¥ì¥³¡¼¥É¤¬ÁÞÆþ(ºï½ü¤Ï̵¤·¤Ç)
-¤µ¤ì¤Æ¤¤¤ëºÇÃæ¤Ë¡¢Æ±»þ¤Ë¡¢Æ±¤¸¥Æ¡¼¥Ö¥ë¤«¤é¥Ç¡¼¥¿¤òÆɤळ¤È¤¬²Äǽ¤Ç¤¹¡£
-¤³¤ì¤¬¤¢¤Ê¤¿¤Ë¤È¤Ã¤Æ½ÅÍ×¹àÌܤǤ¢¤ë¤Ê¤é¡¢
-¥ì¥³¡¼¥É¤Îºï½ü¤ÎɬÍפΤʤ¤ÊýË¡¤ä¡¢Â¿¤¯¤Î¥ì¥³¡¼¥É¤òºï½ü¤·¤¿¸å¤Ë @code{OPTIMIZE TABLE} ¤ò
-¼Â¹Ô¤¹¤ë¤³¤È¤ò¡¢¹Íθ¤¹¤Ù¤­¤Ç¤¹¡£
-@item
-In some cases it may make sense to introduce a column that is 'hashed'
-based on information from other columns. If this column is short and
-reasonably unique it may be much faster than a big index on many
-columns. In @strong{MySQL} its very easy to use this extra column:
-@code{SELECT * from table where hash='calculated hash on col1 and col2'
-and col_1='constant' and col_2='constant' and ..}
-@item
-¿¤¯¤ÎÊѹ¹¤¬¤Ê¤µ¤ì¤ë¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ¤Ï¡¢Á´¤Æ¤Î @code{VARCHAR} ¤ä @code{BLOB}
-¥Õ¥£¡¼¥ë¥É¤òÈò¤±¤ë¤è¤¦¤Ë»î¤ß¤ë¤Ù¤­¤Ç¤¹¡£
-You will get dynamic row length as soon as you
-are using a single @code{VARCHAR} or @code{BLOB} columns. @xref{Table
-types}.
-@item
-Ä̾¤¢¤ë¥Æ¡¼¥Ö¥ë¤ò°ã¤¦¥Æ¡¼¥Ö¥ë¤Ëʬ¤±¤ë¤³¤È¤Ï¡¢¥ì¥³¡¼¥É¤¬Â礭¤¯¤Ê¤ë
-¤¿¤á¤ËÌòΩ¤Á¤Þ¤»¤ó¡£
-¥ì¥³¡¼¥É¤Ë¥¢¥¯¥»¥¹¤¹¤ëºÝ¡¢¤½¤Î¥ì¥³¡¼¥É¤ÎºÇ½é¤Î¥Ð¥¤¥È¤ò¸«¤Ä¤±¤ë¤¿¤á¤Î
-¥Ç¥£¥¹¥¯¡¦¥·¡¼¥¯¤¬¡¢°ìÈÖ¤«¤«¤ê¤Þ¤¹¡£
-After finding
-the data most new disks can read the whole row fast enough for most
-applications. The only cases it really matters to split up a table is if
-its a dynamic row size table (see above) that you can change to a fixed
-row size. Or if you very often need to scan the table and don't need
-most of the columns. @xref{Table types}.
-@item
-¤â¤·¡¢Â¿¤¯¤Î¥ì¥³¡¼¥É¤«¤é¤Î¾ðÊó¤ò¸µ¤Ë¤·¤¿·×»»(¤¢¤ë¤â¤Î¤Î¥«¥¦¥ó¥È¤È¤«)¤ò
-¤·¤ç¤Ã¤Á¤å¤¦¹Ô¤¦É¬Íפ¬¤¢¤ë¤Ê¤é¡¢¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤òÍÑ°Õ¤·¡¢Ã༡¥«¥¦¥ó¥¿¡¼¤ò
-¹¹¿·¤·¤¿Êý¤¬Â¿Ê¬Îɤ¤¤Ç¤·¤ç¤¦¡£
-@code{UPDATE table set count=count+1 where index_column=constant} ¤Î¹¹¿·¤Ï
-¤È¤Æ¤â®¤¤¤Ç¤¹¡ª
-
-¤³¤ì¤Ï¡¢@strong{MySQL} ¤Î¤è¤¦¤Ê¥Æ¡¼¥Ö¥ë¡¦¥í¥Ã¥­¥ó¥°
-(multiple readers / single writers)¤ò¤â¤Ä¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò
-»È¤¦¾å¤Ç¡¢ËÜÅö¤Ë½ÅÍפʤ³¤È¤Ç¤¹¡£
-This will
-also give better performance with most databases as the row locking
-manager in this case will have less to do.
-@item
-¤â¤·¤¿¤¯¤µ¤ó¤ÎÂ礭¤Ê¥Æ¡¼¥Ö¥ë¤«¤éÅý·×¤ò¼ý½¸¤¹¤ëɬÍפ¬¤¢¤ë¤Ê¤é¡¢
-Á´¥Æ¡¼¥Ö¥ë¤òÁöºº¤¹¤ëÂå¤ï¤ê¤Ë¡¢¥µ¥Þ¥ê¡¼¥Æ¡¼¥Ö¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£
-Maintaing the summarys should be
-much faster than trying to do statistics 'live'. It's much faster to
-re-generate new summary tables from the logs when things changes
-(depending on business decisions) than to have to change the running
-application!
-@item
-If possible one should classify reports as 'live' or 'statistical',
-where data needed for statistical reports are only generated based on
-summary tables that are generated from the actual data.
-@item
-¥Õ¥£¡¼¥ë¥É¤Ë¤Ï¥Ç¥Õ¥©¥ë¥ÈÃͤ¬¤¢¤ë¤È¤¤¤¦»ö¤òÍøÍѤ·¤Æ²¼¤µ¤¤¡£
-Ãͤ¬¥Ç¥Õ¥©¥ë¥È¤È¤Ï°ã¤¦¾ì¹ç¤Ë¸Â¤ê¡¢ÃͤòÁÞÆþ¤·¤Þ¤¹¡£
-¤³¤ì¤Ï @strong{MySQL} ¤¬É¬ÍפȤ¹¤ëʬÀϤò¾¯¤Ê¤¯¤·¡¢¥¤¥ó¥µ¡¼¥È¤Î®ÅÙ¤¬¸þ¾å¤·¤Þ¤¹¡£
-@item
-¤¢¤ë¾ì¹ç¤Ç¤Ï¡¢BLOB ¤Ë¥Ç¡¼¥¿¤ò¥Ñ¥Ã¥¯¤·¤ÆÊݸ¤¹¤ë¤Î¤¬ÊØÍø¤Ç¤¹¡£
-¤³¤Î¾ì¹ç¡¢BLOB ¤ËÆþ¤ì¤¿Ãͤò ¥Ñ¥Ã¥¯¡¦¥¢¥ó¥Ñ¥Ã¥¯ ¤¹¤ë¤¿¤á¤Î¥³¡¼¥É¤ò
-¤¢¤Ê¤¿¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÁȤ߹þ¤Þ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-¤·¤«¤·¤³¤ì¤Ï¡¢Â¿¤¯¤Î¥¢¥¯¥»¥¹¤òÍÞÀ©¤¹¤ë¤Ç¤·¤ç¤¦¡£
-¤³¤ì¤Ï¡¢ÀÅŪ(¸ÇÄêĹ)¥Æ¡¼¥Ö¥ë¹½Â¤¤ËŬ¤·¤Ê¤¤¥Ç¡¼¥¿¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë
-¼ÂÍѤˤʤê¤Þ¤¹¡£
-@item
-Ä̾¤¢¤Ê¤¿¤ÏÁ´¤Æ¤Î¥Ç¡¼¥¿¤ò¾éŤÎ̵¤¤¤è¤¦¤Ë(¥Ç¡¼¥¿¥Ù¡¼¥¹ÍýÏÀ¤Ç
-Â裳Àµµ¬·Á , 3rd Normal Form , 3NF ¤È¸Æ¤Ð¤ì¤ë)
-¤·¤è¤¦¤È¤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¤·¤«¤·¡¢¤è¤ê¥¹¥Ô¡¼¥É¤òµá¤á¤ë¾ì¹ç¤Ï¡¢
-½ÅÊ£¤ä¥µ¥Þ¥ê¡¼¥Æ¡¼¥Ö¥ë¤ÎºîÀ®¤ò¤ª¤½¤ì¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
-@item
-¥¹¥È¥¢¥É¡¦¥×¥í¥·¡¼¥¸¥ã ¤ä UDF (¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô) ¤Ï¤è¤ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤òÆÀ¤ë
-¤¿¤á¤Ë¤Ï¤è¤¤ÊýË¡¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-In this case you should however always have a way
-to do this some other (slower) way if you use some database that doesn't
-support this.
-@item
-You can always gain something by caching queries/answers in your
-application and trying to do many inserts/updates at the same time. If
-your database supports lock tables (like @strong{MySQL} and Oracle),
-this should help to ensure that the index cache is only flushed once
-after all updates.
-@item
-¥Ç¡¼¥¿¤ò¤¹¤°¤Ë¤Ï½ñ¤¯É¬Íפ¬¤Ê¤¤¤È¤­¡¢@code{INSERT /*! DELAYED */} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢°ì²ó¤Î¥Ç¥£¥¹¥¯¤Ø¤Î½ñ¤­¹þ¤ß¤Ç¡¢Â¿¤¯¤Î¥ì¥³¡¼¥É¤¬¤«¤«¤ì¤ë¤Î¤Ç¡¢
-®¤¯¤Ê¤ê¤Þ¤¹¡£
-@item
-SELECT ¤¬¤è¤ê½ÅÍפʾì¹ç¡¢@code{INSERT /*! LOW_PRIORITY */} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-@item
-¥­¥å¡¼¤ò̵»ë¤·¤Æ SELECT ¤òÍ¥ÀèŪ¤Ë¹Ô¤¤¤¿¤¤¤È¤­¤Ï
-@code{SELECT /*! HIGH_PRIORITY */} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢¤¿¤È¤¨Ã¯¤«¤¬½ñ¤­¹þ¤ß¤òÂԤäƤ¤¤¿¤È¤·¤Æ¤â¡¢¤½¤Î SELECT ¤Ï
-¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-@item
-Ê£¿ô¹Ô @code{INSERT} ʸ¤Î»ÈÍÑ¡£ ¤³¤ì¤Ï¿¤¯¤Î¥ì¥³¡¼¥É¤ò°ì¤Ä¤Î SQL ¥³¥Þ¥ó¥É¤Ç
-ÁÞÆþ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
-(¿¤¯¤Î SQL ¥µ¡¼¥Ð¡¼¤¬¤³¤ì¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹)
-@item
-Â礭¤Ê¥Ç¡¼¥¿¤ÎÆɤ߹þ¤ß¤Ë¤Ï @code{LOAD DATA INFILE} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-This if
-faster than normal inserts and will be even faster when @code{myisamchk}
-is integrated in @code{mysqld}.
-@item
-°ì°Õ¤ÎÃͤòºî¤ë¤¿¤á¤Ë¡¢ @code{AUTO_INCREMENT} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-@item
-ưŪ¥Æ¡¼¥Ö¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤Î»ÈÍÑ»þ¤Ë¤Ï¡¢¥Õ¥é¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó¤òÈò¤±¤ë¤¿¤á¤Ë¡¢
-@code{OPTIMIZE TABLE} ¤ò»þ¡¹»ÈÍѤ·¤Þ¤¹¡£
-@xref{OPTIMIZE TABLE, , @code{OPTIMIZE TABLE}}.
-
-@item
-²Äǽ¤Ê¤é¤Ð @code{HEAP} ¥Æ¡¼¥Ö¥ë¤ò¥¹¥Ô¡¼¥É¥¢¥Ã¥×¤Î¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹. @xref{Table
-types}.
-@item
-Ä̾ï¤Î Web ¥µ¡¼¥Ð¡¼¤ÎÀßÄê¤Ê¤é¤Ð¡¢¥¤¥á¡¼¥¸¤Ï¥Õ¥¡¥¤¥ë¤ËÊݸ¤¹¤Ù¤­¤Ç¤¹¡£
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤Ï¡¢¤½¤ì¤é¥Õ¥¡¥¤¥ë¤Î»²¾È(¥Ñ¥¹¤È¤«)¤Î¤ß¤òÆþ¤ì¤Þ¤¹¡£
-¤³¤Î¼ç¤ÊÍýͳ¤Ï¡¢Ä̾ï¤Î Web ¥µ¡¼¥Ð¡¼¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤è¤ê¤â¥³¥ó¥Æ¥ó¥Ä¤ò
-¤è¤ê¤è¤¯¥­¥ã¥Ã¥·¥å¤·¤Æ¤¯¤ì¤ë¤«¤é¤Ç¤¹¡£ ¤½¤ì¤Ç¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¤Ê¤é¡¢
-®¤¤¥·¥¹¥Æ¥à¤ò¤è¤ê´Êñ¤ËÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@item
-½ÅÍפǤʤ¤¥Ç¡¼¥¿¤Ç¡¢¤è¤¯¥¢¥¯¥»¥¹¤µ¤ì¤ëʪ¤Ï¡¢¥á¥â¥ê¥Æ¡¼¥Ö¥ë¤Ë¤¤¤ì¤Þ¤¹¡£
-(like
-information about the last shown banner for users that doesn't have
-cookies)
-@item
-Columns with identical information in different tables should be
-declared identical and have identical names. Before version 3.23 you
-got slow joins otherwise.
-
-̾Á°¤Ïñ½ã¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡Êcustomer ¥Æ¡¼¥Ö¥ë¤Ç¤Ï @code{customer_name} ¤Î
-¤«¤ï¤ê¤Ë @code{name} ¤ò»È¤¦¤È¤«¡Ë¡£ ¾¤Î SQL ¥µ¡¼¥Ð¡¼¤Ø¤Î°Ü¿¢¤ò¹Íθ¤¹¤ë¤Ê¤é¡¢
-̾Á°¤Ï 18 ʸ»ú¤è¤êû¤¯¤¹¤Ù¤­¤Ç¤¹¡£
-@item
-¤â¤·ËÜÅö¤Ë¥Ï¥¤¡¦¥¹¥Ô¡¼¥É¤¬É¬Íפʤ顢SQL ¥µ¡¼¥Ð¡¼¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ëʪ¤È¤Ï
-°ã¤¦¡¢¥í¡¼¥ì¥Ù¥ë¤Î¥Ç¡¼¥¿Êݸ¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ËÃíÌܤ¹¤Ù¤­¤Ç¤¹¡£
-Î㤨¤Ð¡¢ @strong{MySQL} @code{MyISAM} ¤òľÀÜ¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤Ï¡¢
-SQL ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤¹¤ë¤è¤ê¤â¡¢2¡Á5ÇÜ®¤¯¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-¤³¤ì¤ò²Äǽ¤Ë¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥Ç¡¼¥¿¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÈƱ¤¸¥Þ¥·¥ó¾å¤Ë¤Ê¤¯¤Æ¤Ï¤Ê¤é¤º¡¢
-Ä̾°ì¤Ä¤Î¥×¥í¥»¥¹¤À¤±¤Ç¥¢¥¯¥»¥¹¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£
-(¤Ê¤¼¤Ê¤é¡¢³°Éô¥Õ¥¡¥¤¥ë¥í¥Ã¥¯¤Ï¡¢¤È¤Æ¤âÃÙ¤¤¤«¤é)¡£
-¾å¤ÎÌäÂê¤Ï¡¢@strong{MySQL} ¥µ¡¼¥Ð¡¼Æâ¤Î @code{MyISAM} ¤Î¥í¡¼¥ì¥Ù¥ë¤Î¥³¥Þ¥ó¥É¤Î
-ƳÆþ¤Ç²ò·è¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£ (¤³¤ì¤Ï¤è¤ê¤è¤¤¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤òÆÀ¤ë¤³¤È¤Î½ÐÍè¤ë¡¢
-´Êñ¤ÊÊýË¡¤Î°ì¤Ä¤Ç¤¹)¡£ By carefully designing the database interface
-it should be quite easy to support this types of optimisations.
-@item
-¿¤¯¤Î¾ì¹ç¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¥Ç¡¼¥¿¤ò¥¢¥¯¥»¥¹¤¹¤ëÊý¤¬(Àܳ¤ò°Ý»ý¤·¤Æ¤¤¤ì¤Ð)¡¢
-¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤ò¥¢¥¯¥»¥¹¤¹¤ë¤è¤ê¤â®¤¤¤Ç¤¹¡£ ¤Ê¤¼¤Ê¤é¡¢
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤è¤ê¤â¥³¥ó¥Ñ¥¯¥È¤Ë¤Ê¤ê¡Ê¿ôÃͥǡ¼¥¿¤Î¾ì¹ç¡Ë¡¢
-¤³¤Î¤¿¤á¡¢¥Ç¥£¥¹¥¯¥¢¥¯¥»¥¹¤¬¾¯¤Ê¤¯¤Ê¤ë¤«¤é¤Ç¤¹¡£
-¤Þ¤¿¡¢¹Ô¤ä¹àÌܤò¸«¤Ä¤±¤ë¤¿¤á¤Ë¡¢¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤ò²òÀϤ¹¤ëɬÍפâ¾Ê¤±¤Þ¤¹¡£
-@item
-Ê£À½¤â¥¹¥Ô¡¼¥É¥¢¥Ã¥×¤Ë»ÈÍѤǤ­¤ë¤Ç¤·¤ç¤¦¡£ @xref{Replication}.
-@item
-@code{DELAY_KEY_WRITE=1} ¤¬ÄêµÁ¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤Ï¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¹¹¿·¤¬Â®¤¯¤Ê¤ê¤Þ¤¹¡£
-¤³¤ì¤Ï¤½¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¡¦¥Õ¥¡¥¤¥ë¤¬ÊĤ¸¤é¤ì¤ë¤Þ¤Ç¥Ç¥£¥¹¥¯¤Ëµ­Ï¿¤µ¤ì¤Ê¤¤¤«¤é¤Ç¤¹¡£
-¤·¤¿¤¬¤Ã¤Æ¡¢¤Ê¤Ë¤«¤¬ÅÓÃæ¤Ç @code{mysqld} ¤ò¥­¥ë¤·¤Æ¤â¥Æ¡¼¥Ö¥ë¤¬Âç¾æÉפʤ褦¤Ë¤¹¤ë¤¿¤á¡¢
-@code{mysqld} ¤òµ¯Æ°¤¹¤ëÁ°¤Ë¤Ï¡¢@code{myisamchk} ¤ò¤½¤ì¤é¤Î¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ¼Â¹Ô¤¹¤Ù¤­¤Ç¤¹¡£
-As the key information can always be generated
-from the data you should not lose anything by using @code{DELAY_KEY_WRITE}.
-@end itemize
-
-@node Benchmarks, Design, Tips, Performance
-@section Using your own benchmarks
-
-You should definately benchmark your application and database to find
-out where the bottlenecks are. By fixing it (or by replacing the
-bottleneck with a 'dummy module') you can then easily identify the next
-bottleneck (and so on). Even if the overall performance for your
-application is sufficient you should at least make a plan for each
-bottleneck, and decide how to solve it if someday you really need the
-extra performance.
-
-For an example of portable benchmark programs look at the @strong{MySQL}
-benchmark suite. @xref{MySQL Benchmarks, , @strong{MySQL} Benchmarks}. You
-can take any program from this suite and modify it for your needs. By doing this,
-you can try different solutions to your problem and test which is really the
-fastest solution for you.
-
-It is very common that some problems only occur when the system is very
-heavily loaded. We have had many customers who contact us when they
-have a (tested) system in production and have encountered load problems. In
-every one of these cases so far it has been problems with basic design
-(table scans are NOT good at high load) or OS/Library issues. Most of
-this would be a @strong{LOT} easier to fix if the systems were not
-already in production.
-
-To avoid problems like this you should put some effort into benchmarking
-your whole application under the worst possible load! You can use Sasha's
-recent hack for this -
-@uref{http://www.mysql.com/Contrib/mysql-bench-0.6.tar.gz, mysql-super-smack}.
-As the name suggests, it can bring your system down to its knees if you ask it,
-so make sure to use it only on your developement systems.
-
-@node Design, Design Limitations, Benchmarks, Performance
-@section Design choices
-
-@code{MySQL} ¤Ï¡¢¥ì¥³¡¼¥É¤Î¥Ç¡¼¥¿¤È¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÊ̤Υե¡¥¤¥ë¤ËÊݸ¤·¤Þ¤¹¡£
-¾¤Î¿¤¯¤Î(¤Û¤È¤ó¤ÉÁ´¤Æ)¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤Ï¡¢Æ±¤¸¥Õ¥¡¥¤¥ë¤Ë¥Ç¡¼¥¿¤È¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò
-º®ºß¤µ¤»¤ÆÊݸ¤·¤Þ¤¹¡£ ²æ¡¹¤Ï¡¢ºÇ¶á¤Î¥·¥¹¥Æ¥à¤Ë¤Ï¡¢@strong{MySQL} ¤ÎÁªÂò¤ÎÊý¤¬
-Îɤ¤¤È¿®¤¸¤Æ¤¤¤Þ¤¹¡£
-
-Another way to store the row data is to keep the information for each
-column in a separate area (examples are SDBM and Focus). This will cause a
-performance hit for every query that accesses more than one column. Because
-this degenerates so quickly when more than one column is accessed,
-we believe that this model is not good for general purpose databases.
-
-The more common case is that the index and data are stored together
-(like in Oracle/Sybase et al). In this case you will find the row
-information at the leaf page of the index. The good thing with this
-layout is that it, in many cases, depending on how well the index is
-cached, saves a disk read. The bad things with this layout is:
-
-@table @bullet
-@item
-Table scanning is much slower because you have to read through the indexes
-to get at the data.
-@item
-You lose a lot of space as you must duplicate indexes from the nodes
-(as you can't store the row in the nodes).
-@item
-Deletes will degenerate the table over time (as indexes in nodes are
-usually not updated on delete).
-@item
-You can't use only the index table to retrieve data for a query.
-@item
-The index data is harder to cache.
-@end table
-
-@node Design Limitations, Portability, Design, Performance
-@section MySQL design limitations/tradeoffs
-
-Because @strong{MySQL} uses extremely fast table locking (multiple readers /
-single writers) the biggest remaining problem is a mix of a steady stream of
-inserts and slow selects on the same table.
-
-We belive that for a huge number of systems the extremely fast
-performance in other cases make this choice a win. This case is usually
-also possible to solve by having multiple copies of the table, but it
-takes more effort and hardware.
-
-We are also working on some extensions to solve this problem for some
-common application niches.
-
-@node Portability, Internal use, Design Limitations, Performance
-@section Portability
-
-Because all SQL servers implement different parts of SQL, it takes work to
-write portable SQL applications. For very simple selects/inserts it is
-very easy but the more you need the harder it gets. If you want an
-application that is fast with many databases it becomes even harder!
-
-To make a complex application portable you need to choose a number of
-SQL servers that it should work with.
-
-You can use the @strong{MySQL} crash-me program/web-page
-@uref{http://www.mysql.com/crash-me-choose.htmy} to find functions,
-types and limits you can use with a selection of database
-servers. Crash-me now tests far from everything possible but it
-is still comprehensive with about 450 things tested.
-
-For example, you shouldn't have column names longer than 18 characters
-if you want to be able to use Informix or DB2.
-
-Both the @strong{MySQL} benchmarks and crash-me programs are very
-database-independent. By taking a look at how we have handled this, you
-can get a feeling of what you have to do to write your application
-database-independent. The benchmarks themselves can be found in the
-@file{sql-bench} directory in the @strong{MySQL} source
-distribution. They are written in Perl with DBI database interface
-(which solves the access part of the problem).
-
-See @uref{http://www.mysql.com/benchmark.html} the results from this
-benchmark.
-
-As you can see in these results all databases have some weak points. That
-is, they have different design compromises that lead to different
-behavior.
-
-If you strive for database independence you need to get a good feeling
-of each SQL server's bottlenecks. @strong{MySQL} is VERY fast in
-retrieving and updating things, but will have a problem in mixing slow
-readers/writers on the same table. Oracle on the other hand has a big
-problem when you try to access rows that you have recently updated
-(until they are flushed to disk). Transaction databases in general are
-not very good at generating summary tables from log tables as in this
-case row locking is almost useless.
-
-To get your application @emph{really} database-independent you need to define
-an easy extendable interface through which you manipulate your data. As
-C++ is available on most systems, it makes sense to use a C++ classes
-interface to the databases.
-
-If you use some specific feature for some database (like the
-@code{REPLACE} command in @strong{MySQL}), you should code a method for
-the other SQL servers to implement the same feature (but slower). With
-@strong{MySQL} you can use the @code{/*! */} syntax to add
-@strong{MySQL} specific keywords to a query. The code inside
-@code{/**/} will be treated as a comment (ignored) by most other SQL
-servers.
-
-If REAL high performance is more important than exactness, like in some
-web applications, a possibility is to create an application layer that
-caches all results to give you even higher performance. By letting
-old results 'expire' after a while you can keep the cache reasonably
-fresh. This is quite nice in case of extremely high load, in which case
-you can dynamically increase the cache and set the expire timeout higher
-until things get back to normal.
-
-In this case the table creation information should contain information
-of the initial size of the cache and how often the table should normally
-be refreshed.
-
-@node Internal use, , Portability, Performance
-@section What have we used MySQL for?
-
-@strong{MySQL} ¤Î½é´ü¤Î³«È¯´ü¤Ë¤Ï¡¢@strong{MySQL} ¤Ï²æ¡¹¤Î¤â¤Ã¤È¤âÂç¸ý¤Î¸ÜµÒ¤Ë¹ç¤¦¤è¤¦¤Ë
-µ¡Ç½¤¬ºîÀ®¤µ¤ì¤Þ¤·¤¿¡£ Èà¤é¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥¹¥¦¥§¡¼¥Ç¥óºÇÂç¼ê¤Î¾®Çä¤ê¶È¼Ô
-¤Î¤¿¤á¤Ë¡¢ÁҸˤËÆþ¤ì¤Æ¤¤¤ë¡Ê¾¦Éʡ˥ǡ¼¥¿¤ò¼è¤ê°·¤¤¤Þ¤¹¡£
-
-²æ¡¹¤Ï¡¢¤¹¤Ù¤Æ¤ÎŹ¤«¤é¡¢Á´¥Ü¡¼¥Ê¥¹¡¦¥«¡¼¥É¼è°·¹â¤Î¡¢¤½¤Î½µ´Ö¤Þ¤È¤á¤òÆÀ¤Þ¤¹¡£
-¤½¤·¤Æ¡¢¤½¤ÎŹ¤Î¥ª¡¼¥Ê¤Ë¤È¤Ã¤ÆÍ­±×¤Ê¾ðÊ󡢤½¤ÎŹ¤Î¹­¹ð¥­¥ã¥ó¥Ú¡¼¥ó¤¬
-¤ªµÒ¤Ë¤É¤ÎÄøÅٱƶÁ¤òµÚ¤Ü¤¹¤«¡¢¤òÄ󶡤¹¤ë¤³¤È¤¬¡¢²æ¡¹¤Ëµá¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£
-
-¤½¤Î¥Ç¡¼¥¿¤Ï¡¢¤È¤Æ¤âÂ礭¤¯¤Æ (Ìó700Ëü/·î ²ó¤Î¼è¤ê°·¤¤)¡¢
-²æ¡¹¤Ï¤½¤Î¸ÜµÒ¤ËÄ󶡤¹¤ëɬÍפΤ¢¤ë¥Ç¡¼¥¿¤ò 4¡Á10ǯʬ¡¢»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
-²æ¡¹¤Ï¡¢¥«¥¹¥¿¥Þ¡¼¤«¤é¡¢Èà¤é¤¬¤³¤Î¥Ç¡¼¥¿¤«¤é¤Ç¤­¤ë¿·¤·¤¤¥ì¥Ý¡¼¥È¤Ë
-¡É¨»þ¤Ë¡É¥¢¥¯¥»¥¹¤·¤¿¤¤¤È¤¤¤¦¡¢Í×µá¤ò¼õ¤±¤Þ¤·¤¿¡£
-
-²æ¡¹¤Ï¤³¤ì¤ò¡¢Á´¤Æ¤Î·î¤´¤È¤Î¾ðÊó¤ò°µ½Ì¤·¤¿ 'transaction' ¥Æ¡¼¥Ö¥ë¤Ë
-Êݸ¤¹¤ë¤³¤È¤Ç²ò·è¤·¤Þ¤·¤¿¡£
-We have a set of simple macros (script) that
-generates summary tables grouped by different criteria (product group,
-customer id, store ...) from the transaction tables.
-¤½¤Î¥ì¥Ý¡¼¥È¤Ï Web ¥Ú¡¼¥¸¤Ç¡¢¤³¤ì¤Ï¾®¤µ¤Ê perl ¥¹¥¯¥ê¥×¥È¤ÇưŪ¤Ë
-ºîÀ®¤µ¤ì¤Þ¤¹¡£ ¤³¤Î perl script ¤Ï Web Page ¤òʬÀϤ·¡¢SQL ʸ¤ò
-¼Â¹Ô¤·¡¢·ë²Ì¤òÁÞÆþ¤·¤Þ¤¹¡£
-We would have used PHP or mod_perl instead but they were
-not available at that time.
-
-²èÁü¥Ç¡¼¥¿¤Î¤¿¤á¤Ë¡¢²æ¡¹¤Ï´Êñ¤Ê¥Ä¡¼¥ë¤ò @code{C} ¤Ç¤«¤­¤Þ¤·¤¿¡£
-¤³¤ì¤Ï SQL ¤Î¥¯¥¨¥ê¤Î·ë²Ì¤ò¸µ¤Ë(·ë²Ì¤Ë¤¤¤¯¤Ä¤«½èÍý¤ò¤·¤Æ) GIF ¤òÄ󶡤·¤Þ¤¹¡£
-¤³¤ì¤âưŪ¤Ë perl ¥¹¥¯¥ê¥×¥È(@code{HTML} ¥Õ¥¡¥¤¥ë¤òʬÀϤ¹¤ë)¤«¤é¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-
-In most cases a new report can simply be done by copying an existing
-script and modifying the SQL query in it. In some cases we will need to
-add more fields to an existing summary table or generate a new one, but
-this is also quite simple as we keep all transactions tables on disk.
-(Currently we have at least 50G of transactions tables and 200G of other
-customer data).
-
-We also let our customers access the summary tables directly with ODBC
-so that the advanced users can themselves experiment with the data.
-
-²æ¡¹¤Ï¤³¤ì¤é¤ò Sun Ultra SPARCstation (2x200 Mz) ¤Ç°·¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢
-¤Ê¤ó¤ÎÌäÂê¤â¤¢¤ê¤Þ¤»¤ó¡£
-We recently upgraded one of our servers to a 2
-CPU 400 Mhz UltraSPARC and we are now planning to start handling
-transactions on the product level, which would mean a ten-fold increase
-of data. We think we can keep up with this by just adding more disk to
-our systems.
-
-We are also experimenting with Intel-Linux to be able to get more CPU
-power cheaper. ¸½ºß¡¢²æ¡¹¤Ï¥Ð¥¤¥Ê¥ê¸ß´¹¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥©¡¼¥Þ¥Ã¥È¤ò»ý¤Ã¤Æ¤ª¤ê
-(new in 3.23) ¡¢²æ¡¹¤Ï¤³¤ì¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¤¤¤¯¤Ä¤«¤ÎÉôʬ¤Ë»ÈÍѤ·¤Ï¤¸¤á¤ë»ö¤Ç¤·¤ç¤¦¡£
-
-Our initial feelings are that Linux will perform much better on low to
-medium load but Solaris will perform better when you start to get a
-high load because of extreme disk IO, but we don't yet have anything
-conclusive about this. After some discussion with a Linux Kernel
-developer this might be a side effect of Linux giving so much resources
-to the batch job that the interactive performance gets very low. This
-makes the machine feel very slow and unresponsive while big batches are
-going. Hopefully this will be better handled in future Linux Kernels.
-
-@node MySQL Benchmarks, Tools, Performance, Top
-@chapter @strong{MySQL} ¥Ù¥ó¥Á¥Þ¡¼¥¯¥¹¥¤¡¼¥È
-
-¤³¤³¤Ë¤Ï @strong{MySQL} ¥Ù¥ó¥Á¥Þ¡¼¥¯¥¹¥¤¡¼¥È(¤È @code{crash-me})¤Î
-µ»½Ñ¾å¤Î²òÀ⤬½ñ¤«¤ì¤ë¤Ï¤º¤Ç¤¹¤¬¡¢¤Þ¤À½ñ¤«¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-¸½ºß¡¢¥Ù¥ó¥Á¥Þ¡¼¥¯¤Î¥³¡¼¥É¤È·ë²Ì¤Ï¥½¡¼¥¹¤ÎÃæ¤Î @file{sql-bench} ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£
-(¤â¤Á¤í¤ó Web ¥Ú¡¼¥¸ @uref{http://www.mysql.com/crash-me-choose.htmy} ¤Ë¤â)
-
-¤Ê¤ó¤Î SQL ¼ÂÁõ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬Îɤ¤¤Î¤«°­¤¤¤Î¤«¤ò¡¢¤É¤ó¤Ê¥æ¡¼¥¶¡¼¤ËÂФ·¤Æ¤â
-¼¨¤¹¤Î¤¬¥Ù¥ó¥Á¥Þ¡¼¥¯¤Ç¤¹¡£
-
-Note that this benchmark is single threaded so it measures the minimum
-time for the operations.
-
-For example (run on the same NT 4.0 machine):
-
-@multitable @columnfractions .6 .2 .2
-@strong{Reading 2000000 rows by index} @tab @strong{Seconds} @tab @strong{Seconds}
-@item mysql @tab 367 @tab 249
-@item mysql_odbc @tab 464
-@item db2_odbc @tab 1206
-@item informix_odbc @tab 121126
-@item ms-sql_odbc @tab 1634
-@item oracle_odbc @tab 20800
-@item solid_odbc @tab 877
-@item sybase_odbc @tab 17614
-@end multitable
-
-@multitable @columnfractions .6 .2 .2
-@strong{Inserting (350768) rows} @tab @strong{Seconds} @tab @strong{Seconds}
-@item mysql @tab 381 @tab 206
-@item mysql_odbc @tab 619
-@item db2_odbc @tab 3460
-@item informix_odbc @tab 2692
-@item ms-sql_odbc @tab 4012
-@item oracle_odbc @tab 11291
-@item solid_odbc @tab 1801
-@item sybase_odbc @tab 4802
-@end multitable
-
-In the above test @strong{MySQL} was run with a 8M index cache.
-
-Note that Oracle is not included because they asked to be removed. All
-Oracle benchmarks has to be passed by Oracle! We believe that makes
-Oracle benchmarks @strong{VERY} biased because the above bechmarks are
-supposed to show what a standard installation can do for a single
-client.
-
-@code{crash-me} ¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¥µ¥Ý¡¼¥È¤¹¤ëµ¡Ç½¡¢Ç½ÎÏ¡¢À©¸Â¤Ë¤Ä¤¤¤Æ¡¢
-¼ÂºÝ¤Ë¥¯¥¨¥ê¤òÁö¤é¤»¤Æ³Îǧ¤·¤Þ¤¹¡£
-Î㤨¤Ð¡¢°Ê²¼¤Î¤è¤¦¤Ê»ö¤Ë¤Ä¤¤¤ÆÄ´¤Ù¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¹àÌܤη¿¤Ï¤Ê¤Ë¤«
-@item
-¥µ¥Ý¡¼¥È¤¹¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎºÇÂç¿ô¤Ï
-@item
-¤É¤Î¤è¤¦¤Ê´Ø¿ô¤¬¤¢¤ë¤Î¤«
-@item
-¼õ¤±¤ì¤ë¥¯¥¨¥ê¤ÎÂ礭¤µ¤Ï¤É¤³¤Þ¤Ç¤«
-@item
-@code{VARCHAR} ·¿¤Ï¤É¤³¤Þ¤ÇÂ礭¤¯¤Ç¤­¤ë¤Î¤«
-@end itemize
-
-@node Tools, Maintenance, MySQL Benchmarks, Top
-@chapter @strong{MySQL} ¥æ¡¼¥Æ¥£¥ê¥Æ¥£
-
-@menu
-* Programs:: ¼Â¹Ô¥Õ¥¡¥¤¥ë¤¬¹Ô¤Ê¤¦¤³¤È¤Ï¡©
-* mysql:: ¥³¥Þ¥ó¥É¥é¥¤¥ó¥Ä¡¼¥ë
-* mysqladmin:: Administering a @strong{MySQL} server
-* mysqldump:: Dumping the structure and data from @strong{MySQL} databases and tables
-* mysqlimport:: Importing data from text files
-* mysqlshow::
-* myisampack:: The @strong{MySQL} compressed read-only table generator
-@end menu
-
-@cindex Environment variables
-@node Programs, mysql, Tools, Tools
-@section ÍÍ¡¹¤Ê @strong{MySQL} ¥×¥í¥°¥é¥à¤Î³µÍ×
-
-¥µ¡¼¥Ð¤ÈÄÌ¿®¤¹¤ë @code{mysqlclient} ¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ·¤Æ¤¤¤ëÁ´¤Æ¤Î
-@strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¤Ï¼¡¤Î´Ä¶­ÊÑ¿ô¤ò»ÈÍѤ·¤Þ¤¹:
-
-@tindex MYSQL_UNIX_PORT environment variable
-@tindex Environment variable, MYSQL_UNIX_PORT
-@tindex MYSQL_TCP_PORT environment variable
-@tindex Environment variable, MYSQL_TCP_PORT
-@tindex MYSQL_PWD environment variable
-@tindex Environment variable, MYSQL_PWD
-@tindex MYSQL_DEBUG environment variable
-@tindex Environment variable, MYSQL_DEBUG
-@multitable @columnfractions .25 .75
-@item @strong{Name} @tab @strong{Description}
-@item @code{MYSQL_UNIX_PORT} @tab ¥Ç¥Õ¥©¥ë¥È¤Î¥½¥±¥Ã¥È; @code{localhost} ¤Ø¤ÎÀܳ¤Ë»ÈÍѤµ¤ì¤ë
-@item @code{MYSQL_TCP_PORT} @tab ¥Ç¥Õ¥©¥ë¥È¤Î TCP/IP ¥Ý¡¼¥È
-@item @code{MYSQL_PWD} @tab ¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¥¹¥ï¡¼¥É
-@item @code{MYSQL_DEBUG} @tab ¥Ç¥Ð¥Ã¥°¥ª¥×¥·¥ç¥ó
-@item @code{TMPDIR} @tab °ì»þ tables/files ¤¬ºîÀ®¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê
-@end multitable
-
-@code{MYSQL_PWD} ¤Î»ÈÍѤϰÂÁ´¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-@xref{Connecting}.
-
-@tindex MYSQL_HISTFILE environment variable
-@tindex Environment variable, MYSQL_HISTFILE
-@tindex HOME environment variable
-@tindex Environment variable, HOME
-@cindex History file
-@cindex Command line history
-@tindex .mysql_history file
-@file{mysql} ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢@code{MYSQL_HISTFILE} ´Ä¶­ÊÑ¿ô¤Ë
-»ØÄꤵ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Ë¥³¥Þ¥ó¥É¥é¥¤¥ó¤ÎÍúÎò¤ò½ñ¤­½Ð¤·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤ÎÍúÎò¥Õ¥¡¥¤¥ë¤Ï¡¢ @file{$HOME/.mysql_history} ¤Ç¡¢@code{$HOME} ¤Ï
- @code{HOME} ´Ä¶­ÊÑ¿ô¤ÎÃͤǤ¹¡£ @xref{Environment variables}.
-
-Á´¤Æ¤Î @strong{MySQL} ¥×¥í¥°¥é¥à¤Ï¿¤¯¤ÎÍÍ¡¹¤Ê¥ª¥×¥·¥ç¥ó¤ò»ý¤Á¤Þ¤¹¡£¼ï¡¹
-¤Î¥ª¥×¥·¥ç¥ó¤Î´°Á´¤ÊÀâÌÀ¤òÆÀ¤ë¤Ë¤Ï¥¹¥¤¥Ã¥Á @code{--help} ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£Îã
-¤¨¤Ð@code{mysql --help} ¤ò»î¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ç¡¢Á´¤Æ¤Îɸ½à¥¯¥é¥¤¥¢¥ó¥È¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥ª¥×¥·¥ç¥ó¤ò
-Êѹ¹¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-@ref{Option files}.
-
-@strong{MySQL} ¥×¥í¥°¥é¥à¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹:
-
-@table @code
-
-@cindex @code{myisamchk}
-@item myisamchk
-@strong{MySQL} ¥Æ¡¼¥Ö¥ë¤ò¥Á¥§¥Ã¥¯, ºÇŬ²½¤½¤·¤Æ½¤Éü¤·¤Þ¤¹¡£
-@code{myisamchk} ¤Ë¤Ï¿¤¯¤Îµ¡Ç½¤¬¤¢¤ë¤Î¤Ç¡¢°ì¾Ï³ä¤êÅö¤Æ¤ÆÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£
-@xref{Maintenance}.
-
-@cindex @code{make_binary_release}
-@item make_binary_release
-¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿ @strong{MySQL} ¤Î¥Ð¥¤¥Ê¥ê¥ê¥ê¡¼¥¹¤òºîÀ®¤·¤Þ¤¹¡£¤³¤ì¤Ï¾
-¤Î MySQL ¥æ¡¼¥¶¤ÎÍøÊؤΤ¿¤á¤Ë¡¢ftp ¤Ç @code{ftp.tcx.se} ¤Î @file{/pub/mysql/Incoming}
-¤ËÁ÷¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@cindex @code{msql2mysql}
-@item msql2mysql
-@code{mSQL} ¥×¥í¥°¥é¥à¤ò @strong{MySQL} ¤ËÊÑ´¹¤¹¤ë¥·¥§¥ë¥¹¥¯¥ê¥×¥È¡£Á´¤Æ
-¤Î¥±¡¼¥¹¤Ç½èÍý¤Ç¤­¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢ÊÑ´¹»þ¤ËÎɤ¤¥¹¥¿¡¼¥È¤òÍ¿¤¨¤Þ¤¹¡£
-
-@cindex Scripts
-@cindex @code{mysql}
-@item mysql
-@code{mysql} ¤Ï´Êñ¤Ê SQL ¥·¥§¥ë (GNU @code{readline} ¤Ä¤­) ¤Ç¤¹¡£¤³¤ì¤ÏÂÐÏÃŪ¤Ê»ÈÍѤä
-ÈóÂÐÏ÷¿Ì䤤¹ç¤ï¤»¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ÂÐÏÃŪ¤Ë»ÈÍѤµ¤ì¤ë¤È¡¢ASCII ¥Æ¡¼¥Ö¥ë
-·Á¼°¤Ç·ë²Ì¤¬Í¿¤¨¤é¤ì¤Þ¤¹¡£¥Õ¥£¥ë¥¿¤È¤·¤Æ»ÈÍѤµ¤ì¤ë¤È¡¢½ÐÎϤϥ¿¥Ö¤Ç¶èÀÚ¤é
-¤ì¤Þ¤¹¡Ê¤³¤ì¤Ïµ¯Æ°»þ¤Î¥ª¥×¥·¥ç¥ó¤Ç¾¤Î¤â¤Î¤ËÊѹ¹¤Ç¤­¤Þ¤¹¡Ë¡£
-¤¢¤Ê¤¿¤Ï°Ê²¼¤Î¤è¤¦¤Ë´Êñ¤Ë¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹:
-
-@example
-shell> mysql database < script.sql > output.tab
-@end example
-
-¥¯¥é¥¤¥¢¥ó¥È¤Î¥á¥â¥ê¤¬½½Ê¬¤Ç¤Ê¤¤¤³¤È¤Ë¤è¤ëÌäÂ꤬¤¢¤ë¾ì¹ç¤Ï¡¢
-@code{--quick} ¥¹¥¤¥Ã¥Á¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡ª ¤³¤ì¤Ï·ë²Ì¤ò¼è¤ê½Ð¤¹¤Î¤Ë
- @code{mysql_store_result()} ¤ÎÂå¤ï¤ê¤Ë @code{mysql_use_result()} ¤ò»ÈÍÑ
-¤¹¤ë¤è¤¦¤Ë @code{mysql} ¤Ë¶¯À©¤µ¤»¤Þ¤¹¡£
-
-@cindex @code{mysqlaccess}
-@item mysqlaccess
-¥Û¥¹¥È, ¥æ¡¼¥¶¤½¤·¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÁȹ礻¤Ç¸¢¸Â¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤¿¤á¤Î¥¹¥¯¥ê
-¥×¥È¡£
-
-@cindex @code{mysqladmin}
-@item mysqladmin
-´ÉÍý¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡£¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºîÀ®/ÇË´þ¡£reload (¿·¤·¤¤¥æ¡¼¥¶¤ÎÆɤß
-¹þ¤ß) ¤È refresh (¥Ç¥£¥¹¥¯¤Ø¤Î¥Æ¡¼¥Ö¥ë¤Î¥Õ¥é¥Ã¥·¥å, ¥í¥°¥Õ¥¡¥¤¥ë¤ÎºÆ¥ª¡¼
-¥×¥ó)¡£¥µ¡¼¥Ð¤Î¥Ð¡¼¥¸¥ç¥ó¤È½èÍý¤È¾õÂÖ¾ðÊó¤âÍ¿¤¨¤Þ¤¹¡£
-@xref{mysqladmin, , @code{mysqladmin}}.
-
-@cindex @code{mysqlbug}
-@item mysqlbug
-@strong{MySQL} ¥Ð¥°¥ì¥Ý¡¼¥È¥¹¥¯¥ê¥×¥È¡£
-¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï @strong{MySQL} ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë¥Ð¥°¥ì¥Ý¡¼¥È¤ò½Ð¤¹ºÝ¡¢
-¾ï¤Ë»ÈÍѤ·¤Þ¤¹¡£
-
-@cindex @code{mysqld}
-@item mysqld
-SQL ¥Ç¡¼¥â¥ó¡£¤³¤ì¤Ï¾ï¤Ë¼Â¹Ô¤µ¤ì¤Æ¤Þ¤¹¡£
-
-@cindex @code{mysqldump}
-@item mysqldump
-@strong{MySQL} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î SQL ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Þ¤¿¤Ï¥¿¥Ö¤Ç¶èÀÚ¤é¤ì¤¿¥Æ
-¥­¥¹¥È¤Î¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤·¤Þ¤¹¡£Igor Romanenko ¤Ë¤è¤Ã¤ÆÆÈÁÏŪ¤Ë¥¨¥ó¥Ï¥ó
-¥¹¤µ¤ì¤¿¥Õ¥ê¡¼¥¦¥§¥¢¡£
-@xref{mysqldump, , @code{mysqldump}}.
-
-@cindex @code{mysqlimport}
-@item mysqlimport
-°ì¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤ò¤½¤ì¤¾¤ì¤Î¥Æ¡¼¥Ö¥ë¤ËÆɤ߹þ¤ß¤Þ¤¹¡£@code{LOAD
-DATA INFILE} ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëÁ´¤Æ¤Î·Á¼°¤ò»ÈÍѤǤ­¤Þ¤¹¡£ @xref{mysqlimport, , @code{mysqlimport}}.
-
-@cindex @code{mysqlshow}
-@item mysqlshow
-¥Ç¡¼¥¿¥Ù¡¼¥¹, ¥Æ¡¼¥Ö¥ë, ¹àÌܤ½¤·¤Æ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£
-
-@cindex @code{mysql_install_db}
-@item mysql_install_db
-@strong{MySQL} ¾µÇ§¥Æ¡¼¥Ö¥ë¤ò¥Ç¥Õ¥©¥ë¥È¤Î¸¢¸Â¤ÇºîÀ®¤·¤Þ¤¹¡£¤³¤ì¤ÏÄ̾ºÇ
-½é¤Î @strong{MySQL} ¥ê¥ê¡¼¥¹¤ò¿·¤·¤¤¥·¥¹¥Æ¥à¾å¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë»þ¤Ë°ì²ó
-¤À¤±¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-
-@cindex @code{replace}
-@item replace
-@code{msql2mysql} ¤Ç»ÈÍѤµ¤ì¤ë¥Ð¥¤¥Ê¥ê¡£¥Õ¥¡¥¤¥ëÆâ¤Þ¤¿¤Ïɸ½àÆþÎϾå¤Îʸ»úÎó¤òÊÑ
-´¹¤¹¤ë¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥×¥í¥°¥é¥à¡£¤è¤êŤ¤Ê¸»úÎó¤ËºÇ½é¤ËŬ¹ç¤¹¤ë¤¿¤áÍ­¸Â¾õ
-ÂÖ¥Þ¥·¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£Ê¸»úÎó¤ò¸ò´¹¤¹¤ë¤¿¤á¤Ë»ÈÍѤǤ­¤Þ¤¹¡£Î㤨¤Ð¡¢
-@code{a} ¤È @code{b} ¤òÍ¿¤¨¤é¤ì¤¿¥Õ¥¡¥¤¥ëÆâ¤Ç¸ò´¹¤·¤Þ¤¹:
-
-@example
-shell> replace a b b a -- file1 file2 ...
-@end example
-
-@cindex @code{safe_mysqld}
-
-@item safe_mysqld
-@code{mysqld} ¥Ç¡¼¥â¥ó¤ò¤¤¤¯¤Ä¤«¤Î°ÂÁ´¤Êµ¡Ç½¤Ç³«»Ï¤·¤Þ¤¹¡£¥¨¥é¡¼»þ¤Ë¤ÏºÆµ¯Æ°¤·¡¢
-¼Â¹Ô»þ¾ðÊó¤ò¥í¥°¥Õ¥¡¥¤¥ë¤Øµ­Æþ¤·¤Þ¤¹¡£
-@end table
-
-@cindex Scripts
-@cindex @code{mysql}
-@node mysql, mysqladmin, Programs, Tools
-@section ¥³¥Þ¥ó¥É¥é¥¤¥ó¥Ä¡¼¥ë¡¡¡Ê @code{mysql} ¡Ë
-
-@code{mysql} ¤Ï¥·¥ó¥×¥ë¤Ê SQL shell ¤Ç¤¹(GNU @code{readline} ¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹).
-¤³¤ì¤ÏÂÐÏå⡼¥É¤È¡¢ÈóÂÐÏå⡼¥É¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ ÂÐÏå⡼¥É¤Ç»ÈÍѤµ¤ì¤¿¾ì¹ç¡¢
-¥¯¥¨¥ê¤Î·ë²Ì¤Ï ASCII ¥Æ¡¼¥Ö¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ÇÍ¿¤¨¤é¤ì¤Þ¤¹¡£
-ÈóÂÐÏå⡼¥É¤Ç»ÈÍѤµ¤ì¤¿¾ì¹ç(Î㤨¤Ð¥Õ¥£¥ë¥¿¡¼¤È¤·¤Æ)¡¢·ë²Ì¤Ï¥¿¥Ö¶èÀÚ¤ê¤Î
-¥Õ¥©¡¼¥Þ¥Ã¥È¤ÇÊÖ¤ê¤Þ¤¹¡£
-(½ÐÎÏ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î¥ª¥×¥·¥ç¥ó¤ÇÊѹ¹¤Ç¤­¤Þ¤¹)
-°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡§
-
-@example
-shell> mysql database < script.sql > output.tab
-@end example
-
-¤â¤·¥¯¥é¥¤¥¢¥ó¥È¤Ç¥á¥â¥ê¡¼ÉÔ­¤ÎÌäÂ꤬½Ð¤¿¾ì¹ç¡¢@code{--quick} ¥ª¥×¥·¥ç¥ó¤ò
-»ÈÍѤ·¤Þ¤¹¡ª ¤³¤ì¤Ï @code{mysql} ¤Ë¡¢·ë²Ì¥»¥Ã¥È¤ò¼èÆÀ¤¹¤ëºÝ¤Ë¡¢
-@code{mysql_store_result()} ¤Ç¤Ï¤Ê¤¯ @code{mysql_use_result()} ¤ò
-»ÈÍѤµ¤»¤Þ¤¹¡£
-
-@code{mysql} ¤Î»ÈÍѤϤȤƤâ´Êñ¤Ç¤¹¡§
-@code{mysql database} ¤ä @code{mysql --user=user_name --password=your_password d
-atabase} ¤Î¤è¤¦¤Ë¤·¤Æ¤Ï¤¸¤á¤Þ¤¹¡£
-SQL ʸ¤òÆþÎϤ·¡¢°ìʸ¤ò @samp{;}, @samp{\g} or @samp{\G} ¤Ç½ª¤¨¡¢
-return/enter ¤ò²¡¤·¤Þ¤¹¡£
-
-@code{mysql} ¤Ï°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡§
-
-@table @code
-@item -?, --help
-help ¤òɽ¼¨¤·¤Æ½ªÎ»
-@item -A, --no-auto-rehash
-¼«Æ°¥ê¥Ï¥Ã¥·¥å¤ò¤·¤Ê¤¤¡£ ¥Æ¡¼¥Ö¥ë¤È¥Õ¥£¡¼¥ë¥É¤Î¼èÆÀ¤Ë¤Ï 'rehash' ¤ò»ÈÍѤ·¤Ê¤¯¤Æ¤Ï
-¤Ê¤ê¤Þ¤»¤ó¡£ ¤³¤ì¤Ï @code{mysql} ¤Îµ¯Æ°¤ò®¤¯¤·¤Þ¤¹¡£
-@item -B, --batch
-·ë²Ì¤ò¥¿¥Ö¶èÀڤꡢ£±¥ì¥³¡¼¥É¤Ï£±¹Ô¤Ç½ÐÎϤ·¤Þ¤¹¡£ history ¥Õ¥¡¥¤¥ë¤Ï»ÈÍѤ·¤Þ¤»¤ó¡£
-@item -C, --compress
-¥µ¡¼¥Ð¡¼¡¦¥¯¥é¥¤¥¢¥ó¥È´Ö¤ÎÄÌ¿®¤ò°µ½Ì¤·¤Þ¤¹
-@item -#, --debug[=...]
-¥Ç¥Ð¥Ã¥°¥í¥°¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 'd:t:o,/tmp/mysql.trace'
-@item -D, --database=..
-»ÈÍѤ¹¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¡£ ¤³¤ì¤Ï @code{my.cnf} ¥Õ¥¡¥¤¥ë¤¬ÊØÍø¤Ç¤¹
-@item -e, --execute=...
-¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ½ªÎ»¡£ (Output like with --batch)
-@item -E, --vertical
-¿âľ¤Ë¥ì¥³¡¼¥É¤ò½ÐÎϤ·¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢
-SQL ʸ¤ò @code{\G} ¤Ç½ªÎ»¤·¤¿¾ì¹ç¡¢Æ±¤¸¤è¤¦¤Ë¿âľ¤Ë½ÐÎϤ·¤Þ¤¹¡£
-@item -f, --force
-SQL ¥¨¥é¡¼¤¬¤ª¤­¤¿¤È¤·¤Æ¤â¡¢½èÍý¤ò³¤±¤Þ¤¹
-@item -i, --ignore-space
-´Ø¿ô̾¤Î¸å¤í¤Ë¤Ä¤¤¤¿¥¹¥Ú¡¼¥¹¤ò̵»ë¤·¤Þ¤¹
-@item -h, --host=...
-»ØÄꤷ¤¿¥Û¥¹¥È¤ËÀܳ¤·¤Þ¤¹
-@item -H, --html
-·ë²Ì¤ò HTML ¥Õ¥©¡¼¥Þ¥Ã¥È¤ÇÊÖ¤·¤Þ¤¹
-@item -L, --skip-line-numbers
-¥¨¥é¡¼¤Îµ¯¤­¤¿¹Ô¤ÎÈÖ¹æ¤ò½ñ¤­¤Þ¤»¤ó¡£ ¤³¤ì¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò´Þ¤ó¤À·ë²Ì¤ò
-Èæ³Ó¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
-@item -n, --unbuffered
-¤½¤ì¤¾¤ì¤Î¥¯¥¨¥êËè¤Ë¥Ð¥Ã¥Õ¥¡¤ò¥Õ¥é¥Ã¥·¥å¤·¤Þ¤¹
-@item -N, --skip-column-names
-·ë²Ì¤Ë¡¢¥Õ¥£¡¼¥ë¥É̾¤ò½ñ¤­½Ð¤·¤Þ¤»¤ó¡£
-@item -O, --set-variable var=option
-ÊÑ¿ô¤ËÃͤò¥»¥Ã¥È¤·¤Þ¤¹¡£ @code{--help} lists variables
-@item -o, --one-database
-¥Ç¥Õ¥©¥ë¥È¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¤ß¹¹¿·¤·¤Þ¤¹¡£ ¤³¤ì¤Ï update ¥í¥°¥Õ¥¡¥¤¥ë¤ò
-»ÈÍѤ·¤Æ¹¹¿·¤¹¤ë¾ì¹ç¡¢Â¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¹¹¿·¤òÈò¤±¤¿¤¤»þ¤ËÊØÍø¤Ç¤¹¡£
-@item -p[password], --password[=...]
-¥µ¡¼¥Ð¡¼¤ËÀܳ¤¹¤ëºÝ¤Î¥Ñ¥¹¥ï¡¼¥É¡£ ¤â¤·¥Ñ¥¹¥ï¡¼¥É¤¬¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë
-»ØÄꤵ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¡¢tty ¾å¤Ç¥Ñ¥¹¥ï¡¼¥É¤¬Ì䤤¹ç¤ï¤µ¤ì¤Þ¤¹¡£
-@code{-p} ¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤È¥Ñ¥¹¥ï¡¼¥É¤Î´Ö¤Ë¤Ï
-¥¹¥Ú¡¼¥¹¤¬ÉÔÍפÀ¤È¤¤¤¦¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-@item -P --port=...
-Àܳ¤Ë»ÈÍѤ¹¤ë TCP/IP ¥Ý¡¼¥ÈÈÖ¹æ
-@item -q, --quick
-·ë²Ì¤ò¥­¥ã¥Ã¥·¥å¤»¤º¡¢°ì¥ì¥³¡¼¥É¤Å¤Ä½ÐÎϤ·¤Þ¤¹¡£
-¤³¤ì¤Ï¤â¤·½ÐÎϤòÃæ»ß¤·¤¿¾ì¹ç¡¢¥µ¡¼¥Ð¡¼¤òÃÙ¤¯¤·¤Þ¤¹¡£
-¥Ò¥¹¥È¥ê¥Õ¥¡¥¤¥ë¤Ï»ÈÍѤ·¤Þ¤»¤ó¡£
-@item -r, --raw
-¥¨¥¹¥±¡¼¥×½èÍý¤ò¤·¤Ê¤¤¤ÇÃͤò½ñ¤­½Ð¤·¤Þ¤¹¡£ @code{--batch} ¤È¤È¤â¤Ë»ÈÍѤµ¤ì¤Þ¤¹
-@item -s, --silent
-ÀŽͥ⡼¥É
-@item -S --socket=...
-Àܳ¤Ë»ÈÍѤ¹¤ë ¥½¥±¥Ã¥È¥Õ¥¡¥¤¥ë
-@item -t --table
-ɽ¤Î·Á¼°¤Ç½ÐÎϤ·¤Þ¤¹¡£ ¤³¤ì¤Ï batch ¥â¡¼¥É°Ê³°¤Ç¤Î¥Ç¥Õ¥©¥ë¥È¤Ç¤¹¡£
-@item -T, --exit-info
-Only used when debugging. --exit-info=0 will print some usage information
-one exit.
-@item -u, --user=#
-¥í¥°¥¤¥ó¥æ¡¼¥¶¡¼Ì¾
-@item -U, --safe-updates[=#], --i-am-a-dummy[=#]
-¥­¡¼¤ò»ÈÍѤ¹¤ë @code{UPDATE} and @code{DELETE} ¤Î¤ß¤ò¹Ô¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï¸å½Ò¤·¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¤â¤· @code{my.cnf} ¤Ë½ñ¤¤¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
-@code{--safe-updates=0} ¤Ç¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¥ê¥»¥Ã¥È¤Ç¤­¤Þ¤¹¡£
-@item -v, --verbose
-¾éĹ½ÐÎÏ¡£ (-v -v -v ¤Ïɽ·Á¼°¤Î½ÐÎϤòÍ¿¤¨¤ë)
-@item -V, --version
-¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤·¤Æ½ªÎ»
-@item -w, --wait
-¤â¤·Àܳ¤¬Íî¤Á¤¿¾ì¹ç¡¢ÃæÃǤ·¤Ê¤¤¤Ç¡¢ÂԤäơ¢ºÆ»î¹Ô¤·¤Þ¤¹¡£
-@end table
-
-¤â¤·¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç 'help' ¤ÈÂǤ俾ì¹ç¡¢@code{mysql} ¤Ï¥µ¥Ý¡¼¥È¤¹¤ë
-¥³¥Þ¥ó¥É¤òɽ¼¨¤·¤Þ¤¹¡§
-
-@example
-mysql> help
-
-MySQL commands:
-help (\h) Display this text
-? (\h) Synonym for `help'
-clear (\c) Clear command
-connect (\r) Reconnect to the server. Optional arguments are db and host
-edit (\e) Edit command with $EDITOR
-exit (\q) Exit mysql. Same as quit
-go (\g) Send command to mysql server
-ego (\G) Send command to mysql server; Display result vertically
-print (\p) Print current command
-quit (\q) Quit mysql
-rehash (\#) Rebuild completion hash
-source (\.) Execute a SQL script file. Takes a file name as an argument
-status (\s) Get status information from the server
-use (\u) Use another database. Takes database name as argument
-@end example
-
-@code{status} ¥³¥Þ¥ó¥É¤Ï¡¢º£»ÈÍѤ·¤Æ¤¤¤ë
-Àܳ¤È¥µ¡¼¥Ð¡¼¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤ò¤¤¤¯¤Ä¤«É½¼¨¤·¤Þ¤¹¡£
-¤â¤· @code{--safe-updates} ¥â¡¼¥É¤Ç»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢ @code{status} ¤Ï
-¤¢¤Ê¤¿¤Î¥¯¥¨¥ê¤Ë±Æ¶Á¤¹¤ë @code{mysql} ÊÑ¿ô¤ÎÃͤòɽ¼¨¤·¤Þ¤¹¡£
-
-½é¿´¼Ô¤ËÊØÍø¤Êµ¯Æ°¥ª¥×¥·¥ç¥ó(@strong{MySQL} 3.23.11 ¤ÇƳÆþ¤µ¤ì¤Þ¤·¤¿)¤Ï¡¢
-@code{--safe-mode} (¤¢¤ë¤¤¤Ï @code{--i-am-a-dummy}) ¤Ç¡¢
-¤³¤ì¤Ï @code{DELETE FROM table_name} ¤ò @code{WHERE} Àá¤ò˺¤ì¤Æ
-¼Â¹Ô¤·¤è¤¦¤È¤·¤¿¾ì¹ç¤Î¤¿¤á¤Ë¤¢¤ê¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤ë¤È¡¢ @code{mysql} ¤ÏÀܳ»þ¤Ë @strong{MySQL} ¥µ¡¼¥Ð¡¼¤Ë
-°Ê²¼¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤òÁ÷¤ê¤Þ¤¹¡§
-
-@example
-SET SQL_SAFE_UPDATES=1,SQL_SELECT_LIMIT=#select_limit#,
- SQL_MAX_JOIN_SIZE=#max_join_size#"
-@end example
-
-¤³¤³¤Ç @code{#select_limit#} ¤È @code{#max_join_size#} ¤ÏÊÑ¿ô¤Ç
-¤³¤ì¤é¤Ï @code{mysql} ¥³¥Þ¥ó¥É¤«¤é¥»¥Ã¥È²Äǽ¤Ç¤¹¡£
-@xref{SET OPTION, @code{SET}}.
-
-¤³¤Î¸ú²Ì¤Ï¡§
-
-@itemize bullet
-@item
-¤â¤· @code{WHERE} Àá¤Ç¥­¡¼¤ò»ÈÍѤ·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢@code{UPDATE} ¤ä @code{DELETE}
-¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó¡£ ¤·¤«¤·¡¢ @code{LIMIT} ¤ò»ÈÍѤ¹¤ì¤Ð @code{UPDATE/DELETE} ¤ò
-¶¯À©¼Â¹Ô¤Ç¤­¤Þ¤¹¡§
-@example
-UPDATE table_name SET not_key_column=# WHERE not_key_column=# LIMIT 1;
-@end example
-@item
-Á´¤Æ¤Î¿¤­¤Ê·ë²Ì¤Ï¼«Æ°Åª¤Ë @code{#select_limit#} ¥ì¥³¡¼¥É¤Þ¤Ç¤ËÍÞ¤¨¤é¤ì¤Þ¤¹¡£
-@item
-ɾ²Á¤Ë @code{#max_join_size} °Ê¾å¤Î¹Ô¤òɬÍפȤ¹¤ë¤Ç¤¢¤í¤¦ @code{SELECT} ¤Ï
-ÃæÃǤµ¤ì¤Þ¤¹¡£
-@end itemize
-
-@node mysqladmin, mysqldump, mysql, Tools
-@section @strong{MySQL} ¥µ¡¼¥Ð¡¼¤Î´ÉÍý¡¡( @code{mysqladmin} )
-
-´ÉÍý¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡£¥·¥ó¥¿¥Ã¥¯¥¹¤Ï:
-
-@example
-shell> mysqladmin [OPTIONS] command [command-option] command ...
-@end example
-
-@code{mysqladmin --help} ¤Ë¤è¤Ã¤Æ¡¢¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤ò¼ê¤Ë¤¤¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-¸½ºß¤Î @code{mysqladmin} ¤Ï°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡§
-
-@multitable @columnfractions .3 .7
-@item create databasename @tab ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºîÀ®
-@item drop databasename @tab ¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¥Æ¡¼¥Ö¥ë¤ÎÁ´ºï½ü¡£
-@item extended-status @tab ¥µ¡¼¥Ð¡¼¤«¤é³ÈÄ¥¥¹¥Æ¡¼¥¿¥¹¤ò¼èÆÀ¡£
-@item flush-hosts @tab ¥­¥ã¥Ã¥·¥å¤µ¤ì¤Æ¤¤¤ëÁ´¥Û¥¹¥È¤ò¥Õ¥é¥Ã¥·¥å¡£
-@item flush-logs @tab Á´¤Æ¤Î¥í¥°¤ò¥Õ¥é¥Ã¥·¥å
-@item flush-tables @tab Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ò¥Õ¥é¥Ã¥·¥å
-@item flush-privileges @tab µö²Ä¥Æ¡¼¥Ö¥ë¤ÎºÆÆɤ߹þ¤ß (reload ¤ÈƱ¤¸)
-@item kill id,id,... @tab mysql ¥¹¥ì¥Ã¥É¤Î kill.
-@item password new-password @tab ¸Å¤¤¥Ñ¥¹¥ï¡¼¥É¤ò new-password ¤ËÊѹ¹
-@item ping @tab mysqld ¤¬À¸¤­¤Æ¤¤¤ë¤«¥Á¥§¥Ã¥¯
-@item processlist @tab ¸½ºß³èÆ°Ãæ¤Î mysql ¥¹¥ì¥Ã¥É¤òɽ¼¨
-@item reload @tab µö²Ä¥Æ¡¼¥Ö¥ë¤ÎºÆÆɤ߹þ¤ß
-@item refresh @tab Á´¥Æ¡¼¥Ö¥ë¤ò¥Õ¥é¥Ã¥·¥å¤·¡¢¥í¥°¥Õ¥¡¥¤¥ë¤ò°ìÅÙÊĤ¸¤Æ³«¤­¤Þ¤¹¡£
-@item shutdown @tab ¥µ¡¼¥Ð¡¼¤ò¥À¥¦¥ó¤µ¤»¤Þ¤¹¡£
-@item slave-start @tab Start slave replication thread
-@item slave-stop @tab Stop slave replication thread
-@item status @tab ¥µ¡¼¥Ð¡¼¤«¤éû¤¤¥¹¥Æ¡¼¥¿¥¹¤òÆÀ¤Þ¤¹¡£
-@item variables @tab ÊÑ¿ô¤Îɽ¼¨
-@item version @tab ¥µ¡¼¥Ð¡¼¤«¤é¥Ð¡¼¥¸¥ç¥ó¤òÆÀ¤Þ¤¹¡£
-@end multitable
-
-Á´¤Æ¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥æ¥Ë¡¼¥¯¤Ê¥×¥ì¥Õ¥£¥Ã¥¯¥¹¤Ç¾Êά²Äǽ¤Ç¤¹¡£
-Î㤨¤Ð¡§
-
-@example
-shell> mysqladmin proc stat
-+----+-------+-----------+----+-------------+------+-------+------+
-| Id | User | Host | db | Command | Time | State | Info |
-+----+-------+-----------+----+-------------+------+-------+------+
-| 6 | monty | localhost | | Processlist | 0 | | |
-+----+-------+-----------+----+-------------+------+-------+------+
-Uptime: 10077 Threads: 1 Questions: 9 Slow queries: 0 Opens: 6 Flush tables: 1 Open tables: 2 Memory in use: 1092K Max memory used: 1116K
-@end example
-
-@code{mysqladmin status} ¥³¥Þ¥ó¥É¤Î·ë²Ì¤Ï¡¢°Ê²¼¤Î¹àÌܤò»ý¤Á¤Þ¤¹:
-
-@multitable @columnfractions .3 .7
-@item Uptime @tab @strong{MySQL} ¥µ¡¼¥Ð¡¼¤Îµ¯Æ°Éÿô
-@item Threads @tab ²ÔƯÃæ¤Î¥¹¥ì¥Ã¥É¿ô (clients)
-@item Questions @tab @code{mysqld} ¤¬³«»Ï¤·¤Æ¤«¤é¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Î¥¯¥¨¥ê¿ô
-@item Slow queries @tab @code{long_query_time} Éäè¤ê»þ´Ö¤Î¤«¤«¤Ã¤¿¥¯¥¨¥ê¤Î¿ô
-@item Opens @tab @code{mysqld} ¤¬³«¤¤¤¿¥Æ¡¼¥Ö¥ë¿ô
-@item Flush tables @tab @code{flush ...}, @code{refresh} and @code{reload} ¥³¥Þ¥ó¥É¤Î¼Â¹Ô²ó¿ô
-@item Open tables @tab ¸½ºß³«¤«¤ì¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¤Î¿ô
-@item Memory in use @tab mysqld ¤Î¥³¡¼¥É¤Ë¤è¤Ã¤ÆľÀܳä¤êÅö¤Æ¤é¤ì¤¿¥á¥â¥ê (only available when @strong{MySQL} is compiled with --with-debug)
-@item Max memory used @tab mysqld ¤Î¥³¡¼¥É¤Ë¤è¤Ã¤ÆľÀܳä¤êÅö¤Æ¤é¤ì¤ëºÇÂç¥á¥â¥ê¡¼ÎÌ (only available when @strong{MySQL} is compiled with --with-debug)
-@end multitable
-
-If you do @code{mysqladmin shutdown} on a socket (in other words, on a
-the computer where @code{mysqld} is running), @code{mysqladmin} will
-wait until the @code{MySQL} @code{pid-file} is removed to ensure that
-the @code{mysqld server} has stopped properly.
-
-@node mysqldump, mysqlimport, mysqladmin, Tools
-@section @strong{MySQL} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¥Æ¡¼¥Ö¥ë¤«¤é¡¢¹½Â¤¤È¥Ç¡¼¥¿¤ò¥À¥ó¥×¡¡( @code{mysqldump} )
-
-¥Ç¡¼¥¿¥Ù¡¼¥¹¡¢¤¢¤ë¤¤¤Ï¡¢
-¥Ð¥Ã¥¯¥¢¥Ã¥×¡¢Â¾¤ÎSQL¥µ¡¼¥Ð¡¼¤Ø¤Î¥Ç¡¼¥¿¤ò°ÜÆ°¤òÌÜŪ¤È¤·¤¿¥Ç¡¼¥¿¤Î¤Þ¤È¤Þ¤ê¡¢
-¤³¤ì¤é¤ò¥À¥ó¥×¤¹¤ë¤¿¤á¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡£
-¥À¥ó¥×¤Ï¡¢¥Æ¡¼¥Ö¥ë¤ÎºîÀ®¤Î¤¿¤á¤Î SQL ʸ¤ò´Þ¤ß¤Þ¤¹¡£
-
-@example
-shell> mysqldump [OPTIONS] database [tables]
-OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
-OR mysqldump [OPTIONS] --all-databases [OPTIONS]
-@end example
-
-¤â¤·¥Æ¡¼¥Ö¥ë¤ò»ØÄꤻ¤º¡¢@code{--databases} ¤ä @code{--all-databases} ¤ò
-»ÈÍѤ·¤Ê¤«¤Ã¤¿¤Ê¤é¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÁ´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤¬¥À¥ó¥×¤µ¤ì¤Þ¤¹¡£
-
-@code{mysqldump --help} ¤Ë¤è¤Ã¤Æ¡¢¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤ò¼ê¤Ë¤¤¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-¤â¤· @code{mysqldump} ¤ò @code{--quick} ¤ä @code{--opt} ¤Ê¤·¤Ç¼Â¹Ô¤¹¤ë¤Ê¤é¤Ð¡¢
-@code{mysqldump} ¤Ï·ë²Ì¤òɽ¼¨¤¹¤ëÁ°¤Ë¡¢·ë²Ì¤ò¥á¥â¥ê¤ËÁ´¤Æ¥í¡¼¥É¤¹¤ë¤³¤È¤Ë
-Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤ì¤ÏÂ礭¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥À¥ó¥×¤¹¤ëºÝ¤ËÌäÂê¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-
-@code{mysqldump} ¤Ï°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡§
-
-@table @code
-@item --add-locks
-¥Æ¡¼¥Ö¥ë¤Î¥À¥ó¥×¤ÎÁ°¤Ë @code{LOCK TABLES} ʸ¤òÄɲä·¡¢
-¥Æ¡¼¥Ö¥ë¤Î¥À¥ó¥×¸å¤Ë @code{UNLOCK TABLE} ʸ¤òÄɲä·¤Þ¤¹¡£
-( ¤¢¤È¤Ç @strong{MySQL} ¤ËÁÞÆþ¤¹¤ë¤È¤­¤Ë¤³¤ì¤Ï®¤¯¤Ê¤ê¤Þ¤¹ ).
-@item --add-drop-table
-¥Æ¡¼¥Ö¥ë¤Î create ʸ¤ÎÁ°¤Ë¡¢@code{drop table} ʸ¤òÄɲä·¤Þ¤¹¡£
-@item -A, --all-databases
-Dump all the databases. This will be same as @code{--databases} with all
-databases selected.
-@item -a, --all
-Include all @strong{MySQL} specific create options.
-@item --allow-keywords
-¥­¡¼¥ï¡¼¥É(ͽÌó¸ì) ¤ÈƱ¤¸Ì¾Á°¤ò¤â¤Ä¥Õ¥£¡¼¥ë¥É¤ÎºîÀ®¤òµö¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥Õ¥£¡¼¥ë¥É¤ÎÁ°¤Ë¡¢¥Æ¡¼¥Ö¥ë̾¤òÉÕ¤±Â­¤·¤Þ¤¹¡£
-@item -c, --complete-insert
-´°Á´¤Ê INSERT ʸ(¥Õ¥£¡¼¥ë¥É̾¤ò½ñ¤¤¤¿Ê¸) ¤ò»ÈÍѤ·¤Þ¤¹¡£
-@item -C, --compress
-¤â¤·¥µ¡¼¥Ð¡¼¤È¥¯¥é¥¤¥¢¥ó¥È¤ÎÁÐÊý¤¬°µ½Ì¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢
-ξ¼Ô¤Î´Ö¤Ç¹Ô¤ï¤ì¤ëÄÌ¿®¤òÁ´¤Æ°µ½Ì¤·¤Þ¤¹¡£
-@item -B, --databases
-To dump several databases. Note the difference in usage; In this case
-no tables are given. All name arguments are regarded as databasenames.
-@code{USE db_name;} will be included in the output before each new database.
-@item --delayed
-@code{INSERT DELAYED} ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¥ì¥³¡¼¥É¤ò INSERT ¤·¤Þ¤¹¡£
-@item -e, --extended-insert
-¿·¤·¤¤¥Þ¥ë¥Á¥é¥¤¥ó @code{INSERT} ¹½Ê¸¤ò»ÈÍѤ·¤Þ¤¹¡£(¤³¤ì¤Ï¤¢¤È¤ÇÁÞÆþ¤¹¤ëºÝ¡¢
-¤è¤ê¥³¥ó¥Ñ¥¯¥È¤«¤Ä®¤¯¤Ê¤ê¤Þ¤¹¡£)
-@item -#, --debug[=option_string]
-Trace usage of the program (for debugging).
-@item --help
-Display a help message and exit.
-@item --fields-terminated-by=...
-@itemx --fields-enclosed-by=...
-@itemx --fields-optionally-enclosed-by=...
-@itemx --fields-escaped-by=...
-@itemx --lines-terminated-by=...
-¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï @code{-T} ¤È¤È¤â¤Ë»ÈÍѤµ¤ì¡¢
-@code{LOAD DATA INFILE} ¤ÈƱÍͤΰÕÌ£¤ò¤Ê¤·¤Þ¤¹¡£
-@xref{LOAD DATA, , @code{LOAD DATA}}.
-@item -F, --flush-logs
-¥À¥ó¥×¤¹¤ëÁ°¤Ë¡¢ @strong{MySQL} ¥µ¡¼¥Ð¡¼¤Î¥í¥°¥Õ¥¡¥¤¥ë¤ò¥Õ¥é¥Ã¥·¥å¤·¤Þ¤¹¡£
-@item -f, --force,
-¥À¥ó¥×¤ÎÅÓÃæ¤Ç SQL ¥¨¥é¡¼¤¬È¯À¸¤·¤Æ¤â¡¢¥À¥ó¥×¤ò³¤±¤Þ¤¹¡£
-@item -h, --host=..
-»ØÄꤵ¤ì¤¿¥Û¥¹¥È¤Î @strong{MySQL} ¥µ¡¼¥Ð¡¼¤«¤é¥À¥ó¥×¤·¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Î¥Û¥¹¥È¤Ï @code{localhost}.
-@item -l, --lock-tables.
-¥À¥ó¥×¤ò³«»Ï¤¹¤ë¤È¤­Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ò¥í¥Ã¥¯¤·¤Þ¤¹¡£ The tables are locked with
-@code{READ LOCAL} to allow concurrent inserts in the case of @code{MyISAM}
-tables.
-@item -n, --no-create-db
-'CREATE DATABASE /*!32312 IF NOT EXISTS*/ db_name;' will not be put in the
-output. The above line will be added otherwise, if --databases or
---all-databases option was given.
-@item -t, --no-create-info
-¥Æ¡¼¥Ö¥ë¤ÎºîÀ®¾ðÊó( @code{CREATE TABLE} ʸ) ¤ò½ñ¤­½Ð¤·¤Þ¤»¤ó¡£
-@item -d, --no-data
-¥Æ¡¼¥Ö¥ëÆâ¤Î¥ì¥³¡¼¥É¤ò½ñ¤­½Ð¤·¤Þ¤»¤ó¡£
-¤³¤ì¤Ï¥Æ¡¼¥Ö¥ë¤Î¹½Â¤¤À¤±¤ò¼è¤ê½Ð¤·¤¿¤¤¤È¤­¤Ë¤È¤Æ¤âÊØÍø¤Ç¤¹¡ª
-@item --opt
-@code{--quick --add-drop-table --add-locks --extended-insert --lock-tables} ¤ÈƱ¤¸.
-@strong{MySQL} ¥µ¡¼¥Ð¡¼¤«¤éÆɤ߽Ф¹»þ´Ö¤òºÇû¤Ë¤·¤Æ¤¯¤ì¤Þ¤¹¡£
-@item -pyour_pass, --password[=your_pass]
-¥µ¡¼¥Ð¡¼¤ËÀܳ¤¹¤ëºÝ¤Î¥Ñ¥¹¥ï¡¼¥É¤òÍ¿¤¨¤Þ¤¹¡£
-¤â¤· @samp{=your_pass} Éôʬ¤òÍ¿¤¨¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢
-@code{mysqldump} ¤Ï¥Ñ¥¹¥ï¡¼¥É¤Î¥×¥í¥ó¥×¥È¤ò¤À¤·¤Þ¤¹¡£
-@item -P port_num, --port=port_num
-¥µ¡¼¥Ð¡¼¤ËÀܳ¤¹¤ëºÝ¤Ë»ÈÍѤ¹¤ë TCP/IP ¥Ý¡¼¥ÈÈֹ档
- (¤³¤ì¤Ï @code{localhost} °Ê³°¤Î¥Û¥¹¥È¤Ø¤ÎÀܳ¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
- @code{localhost} ¤Î¾ì¹ç¤Ï¡¢Unix ¥½¥±¥Ã¥È¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£)
-@item -q, --quick
-¥¯¥¨¥ê¤ò¥Ð¥Ã¥Õ¥¡¤Ë¤¿¤á¹þ¤ß¤Þ¤»¤ó¡£stdout ¤ËľÀܽФ·¤Þ¤¹¡£
-@code{mysql_use_result()} ¤ò¤³¤ì¤Ë»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£
-@item -S /path/to/socket, --socket=/path/to/socket
-@code{localhost} ¤ËÀܳ¤¹¤ëºÝ¤Î¥½¥±¥Ã¥È¥Õ¥¡¥¤¥ë¤Î»ØÄê (¥Ç¥Õ¥©¥ë¥È¤Ï /tmp/mysql.sock )
-@item --tables
-Overrides option --databases (-B).
-@item -T, --tab=path-to-some-directory
-Í¿¤¨¤é¤ì¤¿¥Æ¡¼¥Ö¥ëËè¤Ë¡¢
-SQL CREATE ʸ¤ò´Þ¤à @code{table_name.sql} ¥Õ¥¡¥¤¥ë¡¢
-¥Ç¡¼¥¿¤ò´Þ¤à @code{table_name.txt} ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£
-@strong{NOTE}:
-¤³¤ì¤Ï @code{mysqld} ¥Ç¡¼¥â¥ó¤¬Áö¤Ã¤Æ¤¤¤ë¥Þ¥·¥ó¾å¤Ç @code{mysqldump} ¤ò
-¼Â¹Ô¤¹¤ë¾ì¹ç¤Ë¤À¤±¡¢Æ°ºî¤·¤Þ¤¹¡£
- @code{.txt} ¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¢
- @code{--fields-xxx} ¤È @code{--lines--xxx} ¥ª¥×¥·¥ç¥ó¤Ë½¾¤¤¤Þ¤¹¡£
-@item -u user_name, --user=user_name
-¥µ¡¼¥Ð¡¼¤ËÀܳ¤¹¤ëºÝ¤Î @strong{MySQL} ¥æ¡¼¥¶¡¼Ì¾¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Unix ¤Î¥í¥°¥¤¥ó̾¤Ë¤Ê¤ê¤Þ¤¹¡£
-@item -O var=option, --set-variable var=option
-ÊÑ¿ô¤ÎÃͤò¥»¥Ã¥È¡£ ²Äǽ¤ÊÊÑ¿ô¤Ï¸å¤Ç¼¨¤·¤·¤Þ¤¹¡£
-@item -v, --verbose
-¾éĹ¥â¡¼¥É¡£ ¥×¥í¥°¥é¥à¤¬²¿¤ò¹Ô¤Ã¤Æ¤¤¤ë¤«¤è¤êɽ¼¨¤·¤Þ¤¹¡£
-@item -V, --version
-¥Ð¡¼¥¸¥ç¥ó¤ò¼¨¤·¤Æ½ªÎ»¡£
-@item -w, --where='where-condition'
-ÁªÂò¤µ¤ì¤¿¥ì¥³¡¼¥É¤Î¤ß¤ò¥À¥ó¥×¡§ ¥¯¥ª¡¼¥È¤Ïɬ¿Ü¤Ç¤¹¡ª
-
-@example
-"--where=user='jimf'" "-wuserid>1" "-wuserid<1"
-@end example
-@item -O net_buffer_length=#, where # < 24M
-When creating multi-row-insert statements (as with option
-@code{--extended-insert} or @code{--opt}), @code{mysqldump} will create
-rows up to @code{net_buffer_length} length. If you increase this
-variable, you should also ensure that the @code{max_allowed_packet}
-variable in the @strong{MySQL} server is bigger than the
-@code{net_buffer_length}.
-@end table
-
-@code{mysqldump} ¤ÎÉáÄ̤λÈÍѤϥǡ¼¥¿¥Ù¡¼¥¹¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤Ç¤·¤ç¤¦¡£ @xref{Backup}.
-
-@example
-mysqldump --opt database > backup-file.sql
-@end example
-
-¾¤Î @strong{MySQL} ¥µ¡¼¥Ð¡¼¤Ø¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥³¥Ô¡¼¤¹¤ë¾ì¹ç¤Ë¤âÊØÍø¤Ç¤¹¡§
-
-@example
-mysqldump --opt database | mysql ---host=remote-host -C database
-@end example
-
-It is possible to dump several databases with one command:
-
-@example
-mysqldump --databases database1 [database2 database3...] > my_databases.sql
-@end example
-
-If all the databases are wanted, one can use:
-
-@example
-mysqldump --all-databases > all_databases.sql
-@end example
-
-
-@node mysqlimport, mysqlshow, mysqldump, Tools
-@section ¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê¹þ¤à¡¡( @code{mysqlimport} )
-
-@code{mysqlimport} ¤Ï¡¢@code{LOAD DATA INFILE} SQL ¹½Ê¸¤ò¡¢
-¥³¥Þ¥ó¥É¥é¥¤¥ó¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ÇÄ󶡤·¤Þ¤¹¡£
-@code{mysqlimport} ¤Î¥ª¥×¥·¥ç¥ó¤Î¤Û¤È¤ó¤É¤¬¡¢
- @code{LOAD DATA INFILE} ¤Ø¤ÎƱ¤¸¥ª¥×¥·¥ç¥ó¤ËÂбþ¤·¤Þ¤¹¡£
-@xref{LOAD DATA, , @code{LOAD DATA}}.
-
-@code{mysqlimport} ¤Î¼Â¹Ô¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹:
-
-@example
-shell> mysqlimport [options] database textfile1 [textfile2....]
-@end example
-
-@code{mysqlimport} ¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î°ú¿ô¤ËÍ¿¤¨¤é¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Î³ÈÄ¥»Ò¤ò¼è¤ê¡¢
-³ÈÄ¥»Ò¤ò¼è¤Ã¤¿¸å¤Î̾Á°¤ò¡¢¥Õ¥¡¥¤¥ë¤ÎÆâÍƤò¼è¤ê¹þ¤à¥Æ¡¼¥Ö¥ë¤Î̾Á°¤È¤·¤Þ¤¹¡£
-Î㤨¤Ð¡¢@file{patient.txt}, @file{patient.text}, @file{patient} ¤È¤¤¤¦
-¥Õ¥¡¥¤¥ë¤ÏÁ´¤Æ¡¢@code{patient} ¤È¤È¤¤¤¦Ì¾Á°¤Î¥Æ¡¼¥Ö¥ë¤Ë¼è¤ê¹þ¤Þ¤ì¤Þ¤¹¡£
-
-@code{mysqlimport} ¤Ï°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹:
-
-@table @code
-@item -c, --columns=...
-This option takes a comma separated list of field names as an argument.
-The field list is passed to LOAD DATA INFILE MySQL sql command, which
-mysqlimport calls MySQL to execute. For more information, please see
-@code{LOAD DATA INFILE}. @xref{LOAD DATA, , @code{LOAD DATA}}.
-@item -C, --compress
-¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¡¼¤ÎξÊý¤¬°µ½Ì¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤Ê¤é¡¢
-¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð¡¼´Ö¤Ç¤ä¤ê¼è¤ê¤µ¤ì¤ëÁ´¤Æ¤Î¾ðÊó¤ò°µ½Ì¤·¤Þ¤¹¡£
-
-@item -#, --debug[=option_string]
-¥×¥í¥°¥é¥à¤Î¥È¥ì¡¼¥¹(¥Ç¥Ð¥Ã¥°)
-
-@item -d, --delete
-¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤ò¼è¤ê¹þ¤àÁ°¤Ë¥Æ¡¼¥Ö¥ë¤ò¶õ¤Ë¤·¤Þ¤¹¡£
-
-@item --fields-terminated-by=...
-@itemx --fields-enclosed-by=...
-@itemx --fields-optionally-enclosed-by=...
-@itemx --fields-escaped-by=...
-@itemx --lines-terminated-by=...
-¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢@code{LOAD DATA INFILE} ¤ÎÂбþ¤¹¤ëʸÀá¤ÈƱ¤¸°ÕÌ£¤Ë¤Ê¤ê¤Þ¤¹¡£
-@xref{LOAD DATA, , @code{LOAD DATA}}.
-
-@item -f, --force
-¥¨¥é¡¼¤ò̵»ë¤·¤Þ¤¹¡£Î㤨¤Ð¡¢¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤ò¼è¤ê¹þ¤à¥Æ¡¼¥Ö¥ë¤¬¤Ê¤¤¾ì¹ç¡¢
-»Ä¤ê¤Î¥Õ¥¡¥¤¥ë¤Î½èÍý¤Ë°Ü¤ê¤Þ¤¹¡£ @code{--force} ¤¬¤Ê¤±¤ì¤Ð¡¢
-¥Æ¡¼¥Ö¥ë¤¬¤Ê¤±¤ì¤Ð @code{mysqlimport} ¤Ï½ªÎ»¤·¤Þ¤¹¡£
-
-@item --help
-¥Ø¥ë¥×¤òɽ¼¨¤·¤Æ½ªÎ»¡£
-
-@item -h host_name, --host=host_name
-̾Á°¤ò»ØÄꤵ¤ì¤¿ @strong{MySQL} ¥µ¡¼¥Ð¡¼¤Ë¥Ç¡¼¥¿¤ò¼è¤êÆþ¤ì¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï @code{localhost}.
-
-@item -i, --ignore
-@code{--replace} ¥ª¥×¥·¥ç¥ó¤ÎÀâÌÀ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£
-
-@item -l, --lock-tables
-¤½¤ì¤¾¤ì¤Î¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤ò½èÍý¤¹¤ëÁ°¤Ë¡¢½ñ¤­¹þ¤Þ¤ì¤ë
-@strong{Á´¤Æ¤Î}¥Æ¡¼¥Ö¥ë¤ò¥í¥Ã¥¯¤·¤Þ¤¹¡£
-¤³¤ì¤Ï³Î¼Â¤Ë¡¢¤¹¤Ù¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ò¥µ¡¼¥Ð¾å¤ÇƱ´ü¤µ¤»¤Þ¤¹¡£
-
-@item -L, --local
-¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤òÆɤߤޤ¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢@code{localhost} ¤ËÀܳ¤·¤¿¾ì¹ç¡¢¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ï
-¥µ¡¼¥Ð¡¼¾å¤Ë¤¢¤ë¤È²¾Äꤵ¤ì¤Þ¤¹¡£(@code{localhost} ¤Ï¥Ç¥Õ¥©¥ë¥ÈÃÍ)
-
-@item -pyour_pass, --password[=your_pass]
-¥µ¡¼¥Ð¡¼¤ËÀܳ¤¹¤ë¤È¤­¤Ë»ÈÍѤ¹¤ë¥Ñ¥¹¥ï¡¼¥É¡£
-¤â¤· @samp{=your_pass} ¤Î¤È¤³¤í¤Ë¥Ñ¥¹¥ï¡¼¥É¤ò½ñ¤«¤Ê¤±¤ì¤Ð¡¢
-@code{mysqlimport} ¤Ï¥Ñ¥¹¥ï¡¼¥É¤Î¤¿¤á¤Î¥×¥í¥ó¥×¥È¤ò¤À¤·¤Þ¤¹¡£
-
-@item -P port_num, --port=port_num
-¥Û¥¹¥È¤ËÀܳ¤¹¤ë¤¿¤á¤Î TCP/IP ¥Ý¡¼¥ÈÈֹ档
-(¤³¤ì¤Ï @code{localhost} ¤ò½ü¤¯¥Û¥¹¥È¤Ø¤ÎÀܳ¤Ë»ÈÍѤ·¤Þ¤¹¡£
-@code{localhost} ¤Ø¤Ï¡¢UNIX ¥½¥±¥Ã¥È¤ò»ÈÍѤ·¤Þ¤¹¡£)
-
-@item -r, --replace
-@code{--replace} ¤È @code{--ignore} ¥ª¥×¥·¥ç¥ó¤Ï¡¢
-ÆþÎϤµ¤ì¤Æ¤¤¤ë¥ì¥³¡¼¥É¤Î¥æ¥Ë¡¼¥¯¥­¡¼¤ÎÃͤ¬¡¢
-´û¤Ë¸ºß¤·¤Æ¤¤¤ë¥ì¥³¡¼¥É¤Î¥æ¥Ë¡¼¥¯¥­¡¼¤ÎÃͤÈƱ¤¸¾ì¹ç¡¢
-¤½¤ÎÆþÎϤµ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤Î¼è¤ê°·¤¤¤ò·èÄꤷ¤Þ¤¹¡£
-¤â¤· @code{--replace} ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤Ê¤é¡¢
-´û¤Ë¤¢¤ë¥ì¥³¡¼¥É¤Ï¿·¤·¤¯Æɤޤ줿¥ì¥³¡¼¥É¤ËÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£
-¤â¤· @code{--ignore} ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤Ê¤é¡¢
-ÆþÎϤµ¤ì¤¿Êª¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
-¤É¤Á¤é¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-¥­¡¼¤ÎÃͤ¬½Å¤Ê¤Ã¤Æ¤¤¤ë¤È¥¨¥é¡¼¤òȯ¤·¡¢
-¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Î»Ä¤ê¤ÎÉôʬ¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
-
-@item -s, --silent
-ÀŽͥ⡼¥É¡£¥¨¥é¡¼¤À¤±½ÐÎϤ·¤Þ¤¹¡£
-
-@item -S /path/to/socket, --socket=/path/to/socket
-@code{localhost} ¤Ø¤ÎÀܳ»þ¤Ë»ÈÍѤ¹¤ë¥½¥±¥Ã¥È¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
-
-@item -u user_name, --user=user_name
-¥µ¡¼¥Ð¡¼¤ÎÀܳ¤Ë»ÈÍѤ¹¤ë @strong{MySQL} ¥æ¡¼¥¶¡¼Ì¾¤Î»ØÄê¡£
-¥Ç¥Õ¥©¥ë¥È¤Ï¡¢Unix ¤Î¥í¥°¥¤¥ó̾¡£
-
-@item -v, --verbose
-¾éĹ¥â¡¼¥É¡£¥×¥í¥°¥é¥à¤¬¤·¤Æ¤¤¤ë»ö¤Ë¤Ä¤¤¤Æ¿¤¯½ÐÎϤ·¤Þ¤¹¡£
-
-@item -V, --version
-¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤·¤Æ½ªÎ»¡£
-@end table
-
-Here follows a sample run of using @code{mysqlimport}:
-
-@example
-$ mysql --version
-mysql Ver 9.33 Distrib 3.22.25, for pc-linux-gnu (i686)
-$ uname -a
-Linux xxx.com 2.2.5-15 #1 Mon Apr 19 22:21:09 EDT 1999 i586 unknown
-$ mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test
-$ ed
-a
-100 Max Sydow
-101 Count Dracula
-.
-w imptest.txt
-32
-q
-$ od -c imptest.txt
-0000000 1 0 0 \t M a x S y d o w \n 1 0
-0000020 1 \t C o u n t D r a c u l a \n
-0000040
-$ mysqlimport --local test imptest.txt
-test.imptest: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
-$ mysql -e 'SELECT * FROM imptest' test
-+------+---------------+
-| id | n |
-+------+---------------+
-| 100 | Max Sydow |
-| 101 | Count Dracula |
-+------+---------------+
-@end example
-
-@node mysqlshow, myisampack, mysqlimport, Tools
-@section Showing databases, tables and columns¡¡¡Ê@code{mysqlshow}¡Ë
-
-@code{mysqlshow} can be used to quickly look at which databases exist,
-their tables, and the table's columns.
-
-With the @code{mysql} program you can get the same information with the
-@code{SHOW} commands. @xref{SHOW}.
-
-@code{mysqlshow} is invoked like this:
-
-@example
-shell> mysqlshow [OPTIONS] [database [table [column]]]
-@end example
-
-@itemize @bullet
-@item
-If no database is given, all matching databases are shown.
-@item
-If no table is given, all matching tables in database are shown.
-@item
-If no column is given, all matching columns and column types in table
-are shown.
-@end itemize
-
-Note that in newer @strong{MySQL} versions you only see those
-database/tables/columns for which you have some privileges.
-
-If the last argument contains a shell or SQL wildcard (@code{*}, @code{?},
-@code{%} or @code{_}) then only what's matched by the wildcard is shown.
-This may cause some confusion when you try to display the columns for a
-table with a @code{_} as in this case @code{mysqlshow} only shows you
-the table names that matches the pattern. This is easily fixed by
-adding an extra @code{%} last on the command line (as a separate
-argument).
-
-@cindex @code{myisampack}
-@cindex @code{pack_isam}
-@node myisampack, , mysqlshow, Tools
-@section @strong{MySQL} ¤Î°µ½Ì¤µ¤ì¤¿Æɤ߹þ¤ßÀìÍѥơ¼¥Ö¥ë¥¸¥§¥Í¥ì¡¼¥¿¡¡( @code{myisampack} ¡¦ @code{pack_isam} )
-
-@code{myisampack} is used to compress MyISAM tables and @code{pack_isam}
-is used to compress ISAM tables. Because ISAM tables are deprecated, we
-will only discuss @code{myisampack} here.
-
-@code{myisampack} ¤Ï¡¢
-1 @strong{MySQL} ¥é¥¤¥»¥ó¥¹°Ê¾å¤Þ¤¿¤Ï @strong{MySQL} ¥µ¥Ý¡¼¥È¤òÃíʸ¤·¤¿»þ¤ËÆÀ
-¤é¤ì¤ëÆÃÊ̤ʥ桼¥Æ¥ê¥Æ¥£¤Ç¤¹¡£¤³¤ì¤é¤Ï¥Ð¥¤¥Ê¥ê¤À¤±¤ÎÇÛÉۤΤ¿¤á¡¢
-¤¤¤¯¤Ä¤«¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤Ç¤À¤±¤ËÍ­¸ú¤Ç¤¹¡£
-
-In the following we only talk about @code{myisampack}, but everything
-is also true for @code{pack_isam}.
-
-@code{myisampack} ¤Ï¥Æ¡¼¥Ö¥ëÆâ¤Î³Æ¹àÌܤòÊÌ¡¹¤Ë°µ½Ì¤¹¤ë¤è¤¦¤ËƯ¤­¤Þ¤¹¡£Å¸³«¤Î¤¿¤á
-¤Î¾ðÊó¤Ï¡¢¥Æ¡¼¥Ö¥ë¤¬¥ª¡¼¥×¥ó¤µ¤ì¤¿»þ¤Ë¥á¥â¥ê¤ËÆɤޤì¤Þ¤¹¡£¤³¤ì¤Ï¡¢Àµ³Î¤Ë1¥ì¥³¡¼
-¥É¤À¤±¤òŸ³«¤¹¤ëɬÍפ¬¤¢¤ë¤è¤¦¤Ê¡¢¸Ä¡¹¤Î¥ì¥³¡¼¥É¤Ø¤Î¥¢¥¯¥»¥¹»þ¤Ë¤È¤Æ¤âÎÉ
-¤¤À­Ç½¤òÍ¿¤¨¤Þ¤¹¡£MSDOS ¾å¤Î Stacker »ÈÍÑ»þ¤Î¤è¤¦¤Ë¡¢¥Ç¥£¥¹¥¯¥Ö¥í¥Ã¥¯¤Ï
-¤½¤ó¤Ê¤ËÂ礭¤¯¤¢¤ê¤Þ¤»¤ó¡£
-Ä̾@code{myisampack} ¤Ï¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ò 40¡Á70% ¤Ë¥Ñ¥Ã¥¯¤·¤Þ¤¹¡£
-
-@strong{MySQL} ¤Ï°µ½Ì¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤Ç¥á¥â¥ê¥Þ¥Ã¥× (@code{mmap()}) ¤ò»ÈÍѤ·¤Þ¤¹¡£
-@code{mmap()} ¤¬Æ¯¤«¤Ê¤¤¾ì¹ç¤Ï¡¢Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤ÎÆɤ߽ñ¤­¤ò»ÈÍѤ·¤Þ¤¹¡£
-
-¸½ºß @code{myisampack} ¤Ë¤Ï2¤Ä¤ÎÀ©¸Â¤¬¤¢¤ê¤Þ¤¹:
-@itemize @bullet
-@item
-¥Ñ¥Ã¥¯¸å¡¢¥Æ¡¼¥Ö¥ë¤ÏÆɤ߹þ¤ßÀìÍѤˤʤê¤Þ¤¹¡£
-@item
-@code{myisampack} can also pack @code{BLOB} or @code{TEXT} columns. The
-older @code{pack_isam} could not do this.
-@end itemize
-
-¤³¤ì¤é¤ÎÀ©¸Â¤Î½¤Àµ¤Ï TODO ¤Ë¤¢¤ê¤Þ¤¹¤¬¡¢Í¥ÀèÅÙ¤ÏÄ㤤¤Ç¤¹¡£
-
-@code{myisampack} ¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æµ¯Æ°¤·¤Þ¤¹:
-
-@example
-shell> myisampack [options] filename ...
-@end example
-
-¤½¤ì¤¾¤ì¤Î¥Õ¥¡¥¤¥ë̾¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë(@file{.MYI})¤Î̾Á°¤Ç¤¹¡£
-¤â¤·¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò°ÜÆ°¤·¤Æ¤¤¤Ê¤¤¤Ê¤é¡¢
-¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£@file{.MYI} ³ÈÄ¥»Ò¤Ï
-¾Êά¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-
-@code{myisampack} ¤Ï°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹:
-
-@table @code
-@item -b, --backup
-@code{tbl_name.OLD} ¤È¤·¤Æ¥Ð¥Ã¥¯¥¢¥Ã¥×¤òºîÀ®¤·¤Þ¤¹.
-
-@item -#, --debug=debug_options
-¥Ç¥Ð¥Ã¥¯½ÐÎÏ¡£@code{debug_options} ¤Ï @code{'d:t:o,filename'}.
-
-@item -f, --force
-°ì»þ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Æ¤¤¤è¤¦¤¬¡¢¥µ¥¤¥º¤¬Â礭¤¯¤Ê¤í¤¦¤¬¡¢¶¯À©Åª¤Ë¥Æ¡¼¥Ö¥ë¤ò
-¥Ñ¥Ã¥¯¤·¤Þ¤¹¡£
-@code{myisampack} ¤Ï¥Æ¡¼¥Ö¥ë¤ò°µ½Ì¤·¤Æ¤¤¤ë´Ö¡¢
-°ì»þ¥Õ¥¡¥¤¥ë¤ò @file{tbl_name.TMD} ¤È¤¤¤¦Ì¾Á°¤ÇºîÀ®¤·¤Þ¤¹¡£
-¤â¤· @code{myisampack} ¤òÅÓÃæ¤Ç kill ¤·¤¿¾ì¹ç¡¢ @file{.TMD} ¥Õ¥¡¥¤¥ë¤¬¾Ã¤µ¤ì¤Æ
-¤¤¤Ê¤¤»ö¤¬¤¢¤ê¤Þ¤¹¡£Ä̾@code{myisampack} ¤Ï @file{tbl_name.TMD} ¥Õ¥¡¥¤¥ë¤¬
-´û¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¥¨¥é¡¼¤Ç½ªÎ»¤·¤Þ¤¹¡£ @code{--force} ¤ò»ÈÍѤ¹¤ë¤È¡¢
-@code{myisampack} ¤Ï¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ç¤â¥Æ¡¼¥Ö¥ë¤ò¥Ñ¥Ã¥¯¤·¤Þ¤¹¡£
-
-@item -?, --help
-¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ½ªÎ»¡£
-
-@item -j big_tbl_name, --join=big_tbl_name
-Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤¿ @code{big_tbl_name} °ì¤Ä¤Ë
-¤Þ¤È¤á¤Þ¤¹¡£·ë¹ç¤µ¤ì¤ëÁ´¤Æ¤Î¥Æ¡¼¥Ö¥ëÄêµÁ¤ÏƱ¤¸¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó
-(Ʊ¤¸¹àÌÜ̾¡¢Æ±¤¸¹àÌÜ·¿¡¢Æ±¤¸¥¤¥ó¥Ç¥Ã¥¯¥¹¡¢Åù)
-
-@item -p #, --packlength=#
-Specify the record length storage size, in bytes. The value should be 1, 2
-or 3. (@code{myisampack} stores all rows with length pointers of 1, 2 or 3
-bytes. In most normal cases, @code{myisampack} can determine the right length
-value before it begins packing the file, but it may notice during the packing
-process that it could have used a shorter length. In this case,
-@code{myisampack} will print a note that the next time you pack the same file,
-you could use a shorter record length.)
-
-@item -s, --silent
-Silent mode. Write output only when errors occur.
-
-@item -t, --test
-Don't pack table, only test packing it.
-
-@item -T dir_name, --tmp_dir=dir_name
-Use the named directory as the location in which to write the temporary table.
-
-@item -v, --verbose
-Verbose mode. Write info about progress and packing result.
-
-@item -V, --version
-Display version information and exit.
-
-@item -w, --wait
-Wait and retry if table is in use.
-If the @code{mysqld} server was invoked with the @code{--skip-locking}
-option, it is not a good idea to invoke @code{myisampack} if the table might
-be updated during the packing process.
-@end table
-
-The sequence of commands shown below illustrates a typical table compression
-session:
-
-@example
-shell> ls -l station.*
--rw-rw-r-- 1 monty my 994128 Apr 17 19:00 station.ISD
--rw-rw-r-- 1 monty my 53248 Apr 17 19:00 station.ISM
--rw-rw-r-- 1 monty my 994128 Apr 17 19:00 station.MYD
--rw-rw-r-- 1 monty my 53248 Apr 17 19:00 station.MYI
--rw-rw-r-- 1 monty my 5767 Apr 17 19:00 station.frm
-
-shell> myisamchk -dvv station
-
-MyISAM file: station
-Isam-version: 2
-Creation time: 1996-03-13 10:08:58
-Recover time: 1997-02-02 3:06:43
-Data records: 1192 Deleted blocks: 0
-Datafile: Parts: 1192 Deleted data: 0
-Datafile pointer (bytes): 2 Keyfile pointer (bytes): 2
-Max datafile length: 54657023 Max keyfile length: 33554431
-Recordlength: 834
-Record format: Fixed length
-
-table description:
-Key Start Len Index Type Root Blocksize Rec/key
-1 2 4 unique unsigned long 1024 1024 1
-2 32 30 multip. text 10240 1024 1
-
-Field Start Length Type
-1 1 1
-2 2 4
-3 6 4
-4 10 1
-5 11 20
-6 31 1
-7 32 30
-8 62 35
-9 97 35
-10 132 35
-11 167 4
-12 171 16
-13 187 35
-14 222 4
-15 226 16
-16 242 20
-17 262 20
-18 282 20
-19 302 30
-20 332 4
-21 336 4
-22 340 1
-23 341 8
-24 349 8
-25 357 8
-26 365 2
-27 367 2
-28 369 4
-29 373 4
-30 377 1
-31 378 2
-32 380 8
-33 388 4
-34 392 4
-35 396 4
-36 400 4
-37 404 1
-38 405 4
-39 409 4
-40 413 4
-41 417 4
-42 421 4
-43 425 4
-44 429 20
-45 449 30
-46 479 1
-47 480 1
-48 481 79
-49 560 79
-50 639 79
-51 718 79
-52 797 8
-53 805 1
-54 806 1
-55 807 20
-56 827 4
-57 831 4
-
-shell> myisampack station.MYI
-Compressing station.MYI: (1192 records)
-- Calculating statistics
-
-normal: 20 empty-space: 16 empty-zero: 12 empty-fill: 11
-pre-space: 0 end-space: 12 table-lookups: 5 zero: 7
-Original trees: 57 After join: 17
-- Compressing file
-87.14%
-
-shell> ls -l station.*
--rw-rw-r-- 1 monty my 127874 Apr 17 19:00 station.ISD
--rw-rw-r-- 1 monty my 55296 Apr 17 19:04 station.ISM
--rw-rw-r-- 1 monty my 127874 Apr 17 19:00 station.MYD
--rw-rw-r-- 1 monty my 55296 Apr 17 19:04 station.MYI
--rw-rw-r-- 1 monty my 5767 Apr 17 19:00 station.frm
-
-shell> myisamchk -dvv station
-
-MyISAM file: station
-Isam-version: 2
-Creation time: 1996-03-13 10:08:58
-Recover time: 1997-04-17 19:04:26
-Data records: 1192 Deleted blocks: 0
-Datafile: Parts: 1192 Deleted data: 0
-Datafilepointer (bytes): 3 Keyfile pointer (bytes): 1
-Max datafile length: 16777215 Max keyfile length: 131071
-Recordlength: 834
-Record format: Compressed
-
-table description:
-Key Start Len Index Type Root Blocksize Rec/key
-1 2 4 unique unsigned long 10240 1024 1
-2 32 30 multip. text 54272 1024 1
-
-Field Start Length Type Huff tree Bits
-1 1 1 constant 1 0
-2 2 4 zerofill(1) 2 9
-3 6 4 no zeros, zerofill(1) 2 9
-4 10 1 3 9
-5 11 20 table-lookup 4 0
-6 31 1 3 9
-7 32 30 no endspace, not_always 5 9
-8 62 35 no endspace, not_always, no empty 6 9
-9 97 35 no empty 7 9
-10 132 35 no endspace, not_always, no empty 6 9
-11 167 4 zerofill(1) 2 9
-12 171 16 no endspace, not_always, no empty 5 9
-13 187 35 no endspace, not_always, no empty 6 9
-14 222 4 zerofill(1) 2 9
-15 226 16 no endspace, not_always, no empty 5 9
-16 242 20 no endspace, not_always 8 9
-17 262 20 no endspace, no empty 8 9
-18 282 20 no endspace, no empty 5 9
-19 302 30 no endspace, no empty 6 9
-20 332 4 always zero 2 9
-21 336 4 always zero 2 9
-22 340 1 3 9
-23 341 8 table-lookup 9 0
-24 349 8 table-lookup 10 0
-25 357 8 always zero 2 9
-26 365 2 2 9
-27 367 2 no zeros, zerofill(1) 2 9
-28 369 4 no zeros, zerofill(1) 2 9
-29 373 4 table-lookup 11 0
-30 377 1 3 9
-31 378 2 no zeros, zerofill(1) 2 9
-32 380 8 no zeros 2 9
-33 388 4 always zero 2 9
-34 392 4 table-lookup 12 0
-35 396 4 no zeros, zerofill(1) 13 9
-36 400 4 no zeros, zerofill(1) 2 9
-37 404 1 2 9
-38 405 4 no zeros 2 9
-39 409 4 always zero 2 9
-40 413 4 no zeros 2 9
-41 417 4 always zero 2 9
-42 421 4 no zeros 2 9
-43 425 4 always zero 2 9
-44 429 20 no empty 3 9
-45 449 30 no empty 3 9
-46 479 1 14 4
-47 480 1 14 4
-48 481 79 no endspace, no empty 15 9
-49 560 79 no empty 2 9
-50 639 79 no empty 2 9
-51 718 79 no endspace 16 9
-52 797 8 no empty 2 9
-53 805 1 17 1
-54 806 1 3 9
-55 807 20 no empty 3 9
-56 827 4 no zeros, zerofill(2) 2 9
-57 831 4 no zeros, zerofill(1) 2 9
-@end example
-
-The information printed by @code{myisampack} is described below:
-
-@table @code
-@item normal
-The number of columns for which no extra packing is used.
-
-@item empty-space
-The number of columns containing
-values that are only spaces; these will occupy 1 bit.
-
-@item empty-zero
-The number of columns containing
-values that are only binary 0's; these will occupy 1 bit.
-
-@item empty-fill
-The number of integer columns that don't occupy the full byte range of their
-type; these are changed to a smaller type (for example, an @code{INTEGER}
-column may be changed to @code{MEDIUMINT}).
-
-@item pre-space
-The number of decimal columns that are stored with leading space. In this
-case, each value will contain a count for the number of leading spaces.
-
-@item end-space
-The number of columns that have a lot of trailing space. In this case, each
-value will contain a count for the number of trailing spaces.
-
-@item table-lookup
-The column had only a small number of different values, and that were
-converted to an @code{ENUM} before Huffman compression.
-
-@item zero
-The number of columns for which all values are zero.
-
-@item Original trees
-The initial number of Huffman trees.
-
-@item After join
-The number of distinct Huffman trees left after joining
-trees to save some header space.
-@end table
-
-After a table has been compressed, @code{myisamchk -dvv} prints additional
-information about each field:
-
-@table @code
-@item Type
-The field type may contain the following descriptors:
-
-@table @code
-@item constant
-All rows have the same value.
-
-@item no endspace
-Don't store endspace.
-
-@item no endspace, not_always
-Don't store endspace and don't do end space compression for all values.
-
-@item no endspace, no empty
-Don't store endspace. Don't store empty values.
-
-@item table-lookup
-The column was converted to an @code{ENUM}.
-
-@item zerofill(n)
-The most significant @code{n} bytes in the value are always 0 and are not
-stored.
-
-@item no zeros
-Don't store zeros.
-
-@item always zero
-0 values are stored in 1 bit.
-@end table
-
-@item Huff tree
-The Huffman tree associated with the field.
-
-@item Bits
-The number of bits used in the Huffman tree.
-@end table
-
-After you have run @code{pack_isam}/@code{myisampack} you must run
-@code{isamchk}/@code{myisamchk} to recreate the index. At this time you
-can also sort the index blocks and create statistics that is needed for
-the @strong{MySQL} optimizer to work more efficiently.
-
-@example
-myisamchk -rq --analyze --sort-index table_name.MYI
-isamchk -rq --analyze --sort-index table_name.ISM
-@end example
-
-After you have installed the packed table into the @strong{MySQL} database
-directory you should do @code{mysqladmin flush-tables} to force @code{mysqld}
-to start using the new table.
-
-@node Maintenance, Adding functions, Tools, Top
-@chapter Maintaining a @strong{MySQL} installation
-
-@menu
-* Table maintenance:: Using @code{myisamchk} for table maintenance and crash recovery
-* Maintenance regimen:: Setting up a table maintenance regimen
-* Table-info:: Getting information about a table
-* Crash recovery:: Using @code{myisamchk} for crash recovery
-* Log files:: Log file maintenance
-@end menu
-
-@node Table maintenance, Maintenance regimen, Maintenance, Maintenance
-@section ¥Æ¡¼¥Ö¥ë¤Î¥á¥ó¥Æ¥Ê¥ó¥¹¡¢¥¯¥é¥Ã¥·¥å¤«¤é¤Î½¤Éü¤Î¤¿¤á¤Î @code{myisamchk} »ÈÍÑ
-
-Starting with @strong{MySQL} 3.23.13, you can check tables MyISAM with the
-@code{CHECK TABLE} command. @xref{CHECK TABLE}. You can repair tables
-with the @code{REPAIR TABLE} command. @xref{REPAIR TABLE}.
-
-MyISAM ¥Æ¡¼¥Ö¥ë (@code{.MYI} and @code{.MYD}) ¤Î¸¡ºº¡¦½¤Éü¤Ë¤Ï @code{myisamchk} ¤ò
-»ÈÍѤ·¤Þ¤¹¡£
-ISAM ¥Æ¡¼¥Ö¥ë (@code{.ISM} and @code{.ISD}) ¤Î¸¡ºº¡¦½¤Éü¤Ë¤Ï @code{isamchk} ¤ò
-»ÈÍѤ·¤Þ¤¹¡£
-@xref{Table types}.
-
-°Ê²¼¤Îʸ¤Ï @code{myisamchk} ¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤Æ¤¤¤Þ¤¹¤¬¡¢@code{isamchk} ¤Ë¤â¤¹¤Ù¤Æ
-Åö¤Æ¤Ï¤Þ¤ê¤Þ¤¹¡£
-
-@code{myisamchk} ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Æ¡¼¥Ö¥ë¤Î¾ðÊó¤òÆÀ¤¿¤ê¡¢
-¥Á¥§¥Ã¥¯¤·¤¿¤ê¡¢¥Æ¡¼¥Ö¥ë¤Î½¤Éü¤äºÇŬ²½¤Ë»ÈÍѤ·¤Þ¤¹¡£
-°Ê²¼¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢ @code{myisamchk} ¤Îµ¯Æ°ÊýË¡(¥ª¥×¥·¥ç¥ó¤ÎÀâÌÀ¤â´Þ¤à)¡¢
-¥Æ¡¼¥Ö¥ë¤ÎÊݼ饹¥±¥¸¥å¡¼¥ë¤Î¤¿¤ÆÊý¡¢
-@code{myisamchk} ¤Î¿§¡¹¤Êµ¡Ç½¤Î»È¤¤Êý¤ò½Ò¤Ù¤Þ¤¹¡£
-
-¤â¤· @code{mysqld} ¤ò @code{--skip-locking} ¤ÇÁö¤é¤»¤Æ¤¤¤ë¤Ê¤é¡¢
-(¤³¤ì¤Ï Linux ¤Ê¤É¡¢¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¤Ç¥Ç¥Õ¥©¥ë¥È¤Ç¤¹)¡¢
-@code{mysqld} ¤¬¤¢¤ë¥Æ¡¼¥Ö¥ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È¤­¡¢¤¢¤Ê¤¿¤ÏƱ¤¸¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ
- @code{myisamchk} ¤Ç³Î¼Â¤Ë¸¡ºº¤Ç¤­¤Þ¤»¤ó¡£¤â¤· @code{myisamchk} Ãæ¤Ë¡¢
-¤À¤ì¤â @code{mysqld} ¤òÄ̤·¤Æ¤½¤Î¥Æ¡¼¥Ö¥ë¤ò¥¢¥¯¥»¥¹¤·¤Ê¤¤¤Î¤¬³Î¼Â¤Ê¤é¡¢
-¥Æ¡¼¥Ö¥ë¤ò¸¡ºº¤¹¤ëÁ°¤Ë @code{mysqladmin flush-tables} ¤ò¹Ô¤¦¤Ù¤­¤Ç¤¹¡£
-¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢¥Æ¡¼¥Ö¥ë¤Î¸¡ººÃæ¤Ï @code{mysqld} ¤òÍî¤È¤¹¤Ù¤­¤Ç¤¹¡£
-¤â¤· @code{mysqld} ¤¬¥Æ¡¼¥Ö¥ë¤ò¹¹¿·Ãæ¤Ë @code{myisamchk} ¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢
-¥Æ¡¼¥Ö¥ë¤¬Êѹ¹¤µ¤ì¤¿»Ý¤Î¥ï¡¼¥Ë¥ó¥°¤¬¤Ç¤ë¤Ç¤·¤ç¤¦¡£
-
-¤â¤· @code{--skip-locking} ¤ò»ÈÍѤ·¤Æ¤¤¤Ê¤¤¤Ê¤é¡¢¤¤¤Ä¤Ç¤â @code{myisamchk} ¤Ï
-»ÈÍѤǤ­¤Þ¤¹¡£¤³¤ì¤ò¼Â¹Ô¤·¤Æ¤¤¤ë´Ö¡¢Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ò¹¹¿·¤¹¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ï
-@code{myisamchk} ¤¬½àÈ÷¤Ç¤­¤ë¤Þ¤ÇÂÔ¤Á¤Þ¤¹¡£
-
-¤â¤· @code{myisamchk} ¤ò¥Æ¡¼¥Ö¥ë¤Î½¤Éü¡¢ºÇŬ²½¤Ë»ÈÍѤ¹¤ë¤Ê¤é¡¢¤½¤ÎºÇÃæ¤Ë¡¢
-@code{mysqld} ¤¬¤½¤Î¥Æ¡¼¥Ö¥ë¤òÀäÂФ˻ÈÍѤ·¤Ê¤¤¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð
-¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï @code{--skip-locking} ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ëµ¯¤³¤ê¤¨¤Þ¤¹¡£
-¤â¤· @code{mysqld} ¤ò¥À¥¦¥ó¤µ¤»¤Æ¤¤¤Ê¤¤¤Ê¤é¡¢ºÇÄã @code{myisamchk} ¼Â¹ÔÁ°¤Ë¡¢
- @code{mysqladmin flush-tables} ¤ò¼Â¹Ô¤¹¤Ù¤­¤Ç¤¹¡£
-
-¥Æ¡¼¥Ö¥ë¤Î½¤Éü¤ÈºÇŬ²½¤Î¤¿¤á¤Ë¡¢¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢ @code{OPTIMIZE TABLES}
-¥³¥Þ¥ó¥É¤¬»ÈÍѤǤ­¤Þ¤¹¡£¤·¤«¤·¤³¤ì¤Ï @code{myisamchk} ¤ËÈæ¤Ù¤Æ¡¢
-ÃÙ¤¯¤Æ³Î¼Â¤Ç¤â¤¢¤ê¤Þ¤»¤ó¡£(fatal errorȯÀ¸»þ¤Î¾ì¹ç)¡£¤³¤ì¤Ï
-¤½¤ÎÈ¿ÌÌ¡¢»ÈÍÑÊýË¡¤¬´Êñ¤Ç¥Æ¡¼¥Ö¥ë¤Î¥Õ¥é¥Ã¥·¥å¤òµ¤¤Ë¤«¤±¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£
-@xref{OPTIMIZE TABLE, , @code{OPTIMIZE TABLE}}.
-
-@menu
-* myisamchk syntax:: @code{myisamchk} µ¯Æ°¹½Ê¸
-* myisamchk memory:: @code{myisamchk} ¥á¥â¥ê»ÈÍÑ
-@end menu
-
-@node myisamchk syntax, myisamchk memory, Table maintenance, Table maintenance
-@section @code{myisamchk} µ¯Æ°¹½Ê¸
-
-@code{myisamchk} ¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æµ¯Æ°¤·¤Þ¤¹:
-
-@example
-shell> myisamchk [options] tbl_name
-@end example
-
-@code{options} ¤Ë¡¢¤¢¤Ê¤¿¤¬ @code{myisamchk} ¤Ë¤µ¤»¤¿¤¤¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡£
-¤½¤ÎÀâÌÀ¤Ï¸å½Ò¤·¤Þ¤¹¡£(@code{myisamchk --help} ¤È¼Â¹Ô¤¹¤ì¤Ð¡¢¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤¬¼è¤ì¤Þ¤¹)¡£
-¥ª¥×¥·¥ç¥ó¤¬¤Ê¤±¤ì¤Ð¡¢ @code{myisamchk} ¤Ïñ¤Ë¥Æ¡¼¥Ö¥ë¤ò¸¡ºº¤¹¤ë¤À¤±¤Ç¤¹¡£
-¤è¤ê¿¤¯¤Î¾ðÊó¤òÆÀ¤¿¤¤¡¢¤¢¤ë¤¤¤Ï¡¢ @code{myisamchk} ¤Ë¸í¤êÄûÀµ¤Î¹ÔÆ°¤ò¼è¤é¤»¤ë»ö¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤·¤Þ¤¹¡£
-
-@code{tbl_name} ¤Ï¸¡ºº¤·¤¿¤¤¥Æ¡¼¥Ö¥ë̾¤Ç¤¹¡£
-¤â¤·¤É¤³¤«°ã¤¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ·¤Æ @code{myisamchk} ¤òÁö¤é¤»¤¿¤¤¤Ê¤é¡¢
- @code{myisamchk} ¤Ë¤Ï¥Õ¥¡¥¤¥ë¤¬¤É¤³¤Ë¤¢¤ë¤«¤ï¤«¤é¤Ê¤¤¤Î¤Ç¡¢
-¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¼ÂºÝ¡¢ @code{myisamchk} ¤Ï¤¢¤Ê¤¿¤¬»ÈÍѤ·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¤«¤É¤¦¤«¤Ï¹Íθ¤·¤Þ¤»¤ó¡¨
-¤Û¤«¤Î¾ì½ê¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¥Æ¡¼¥Ö¥ë¤Î¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¡¢¤½¤Î¥³¥Ô¡¼¤·¤¿¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ
-²óÉüÁàºî¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@code{myisamchk} ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¤Ï¡¢Ê£¿ô¤Î¥Æ¡¼¥Ö¥ë̾¤¬»ØÄê¤Ç¤­¤Þ¤¹¡£
-¤Þ¤¿¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë̾(@file{.MYI} ÀÜÈø¸ì¤Î¤Ä¤¤¤¿¥Õ¥¡¥¤¥ë)¤â»ØÄê¤Ç¤­¡¢
-¤µ¤é¤Ë @file{*.MYI} ¤È¤¹¤ì¤Ð¡¢¥Ç¥£¥ì¥¯¥È¥êÆâ¤ÎÁ´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤¬»ØÄê¤Ç¤­¤Þ¤¹¡£
-Î㤨¤Ð¡¢¸½ºß¤Î¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤¬¥Ç¡¼¥¿¡¼¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ê¤é¤Ð¡¢
-¤½¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤ÎÁ´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¸¡ºº¤Ç¤­¤Þ¤¹¡§
-
-@example
-shell> myisamchk *.MYI
-@end example
-
-¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤ËÆþ¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-¥Ñ¥¹¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤êÁ´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤¬¸¡ºº¤Ç¤­¤Þ¤¹¡§
-
-@example
-shell> myisamchk /path/to/database_dir/*.MYI
-@end example
-
-@strong{MySQL} ¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ñ¥¹¤Ë¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÁ´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤â¸¡ºº¤Ç¤­¤Þ¤¹¡§
-
-@example
-shell> myisamchk /path/to/datadir/*/*.MYI
-@end example
-
-@code{myisamchk} ¤Ï°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤ò»ý¤Á¤Þ¤¹:
-
-@table @code
-@item -a, --analyze
-¥­¡¼¤ÎʬÉÛ(ÇÛÃÖ)¤òʬÀϤ·¤Þ¤¹¡£
-¤³¤ì¤Ï @strong{MySQL} ¤Î¤¤¤¯¤Ä¤«¤Î·ë¹ç¤ò®¤¯¤·¤Þ¤¹¡£
-
-@item -#, --debug=debug_options
-¥Ç¥Ð¥Ã¥°¥í¥°¤Î½ÐÎÏ¡£
-@code{debug_options} ¤Ï¤è¤¯ @code{'d:t:o,filename'} ¤È¤µ¤ì¤Þ¤¹¡£
-
-@item -d, --description
-¥Æ¡¼¥Ö¥ë¤Ë´Ø¤¹¤ë¤¤¤¯¤é¤«¤Î¾ðÊó¤òɽ¼¨¤·¤Þ¤¹
-
-@item -e, --extend-check
-¥Æ¡¼¥Ö¥ë¤òÈó¾ï¤ËÅ°ÄìŪ¤Ë¸¡ºº¤·¤Þ¤¹¡£
-¶Ëü¤Ê¾ì¹ç¤Ë¤À¤±¤ÇɬÍפȤµ¤ì¤Þ¤¹¡£
-Ä̾ï @code{myisamchk} ¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ê¤·¤ÇÁ´¤Æ¤Î¥¨¥é¡¼¤ò¸«¤Ä¤±¤ë¤Ï¤º¤Ç¤¹¡£
-
-@item -f, --force
-¸Å¤¤°ì»þŪ¤Ê¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤·¤Þ¤¹¡£
-@code{myisamchk} ¤ò @code{-r} ¤Ê¤·¤ÇÁö¤é¤»¤Æ¥Æ¡¼¥Ö¥ë¤ò¸¡ºº¤·¤Æ¤¤¤ë¤È¤­¤Ë¡¢
-@code{-f} ¤ò»ÈÍѤ¹¤ë¤Ê¤é¤Ð¡¢
-@code{myisamchk} ¤Ï¥Á¥ã¥Ã¥¯¤Ç¥¨¥é¡¼¤¬½Ð¤¿¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ¡¢
-¼«Æ°Åª¤Ë @code{-r} ¤òȼ¤Ã¤Æ¡¢¸¡ºº¤òºÆ³«¤·¤Þ¤¹¡£
-
-@item --help
-¥Ø¥ë¥×¤òɽ¼¨¤·¤Æ½ªÎ»¡£
-
-@item -i, --information
-¸¡ºº¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ÎÅý·×¾ðÊó¤òɽ¼¨¡£
-
-@item -k #, --keys-used=#
-@code{-r} ¤È¶¦¤Ë»ÈÍѤ·¤Þ¤¹¡£
-NISAM ¥Æ¡¼¥Ö¥ë¥Ï¥ó¥É¥é¡¼¤ËºÇ½é¤Î @code{#} ¥¤¥ó¥Ç¥Ã¥¯¥¹¤À¤±¤ò¹¹¿·¤¹¤ë¤è¤¦¤Ë»Ø¼¨¤·¤Þ¤¹¡£
-If you are using MyISAM tells which keys to use, where each
-binary bit stands for one key (First key is bit 0).
-¤³¤ì¤Ï¥¤¥ó¥µ¡¼¥È¤ò®¤¯¤·¤Þ¤¹¡ª
-Èó¥¢¥¯¥Æ¥£¥Ö¤Ë¤Ê¤Ã¤¿¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¡¢@code{myisamchk -r} ¤ò»ÈÍѤ¹¤ì¤ÐºÆ¤Ó¥¢¥¯¥Æ¥£¥Ö¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@item -l, --no-symlinks
-½¤Éü»þ¤Ë¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤òÄɤ¤¤Þ¤»¤ó¡£
-Ä̾@code{myisamchk} ¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬»Ø¤·¼¨¤¹¥Æ¡¼¥Ö¥ë¤â½¤Éü¤·¤Þ¤¹¡£
-
-@item -q, --quick
-@code{-r} ¤È¶¦¤Ë»ÈÍѤµ¤ì¡¢½¤Éü¤òÁ᤯¹Ô¤¤¤Þ¤¹¡£
-Ä̾¥ª¥ê¥¸¥Ê¥ë¤Î¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤Ï¸¡ºº¤µ¤ì¤Þ¤»¤ó¡¨
-Æó²ó @code{-q} ¤ò»ØÄꤹ¤ë¤È¡¢¶¯À©Åª¤Ë¥ª¥ê¥¸¥Ê¥ë¤Î¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤â»ÈÍѤ·¤Þ¤¹¡£
-
-@item -r, --recover
-½¤Éü¥â¡¼¥É¡£
-Can fix almost anything except unique keys that aren't unique
-(which is a extremely unlikely error with ISAM/MyISAM tables).
-If you want to recover a table, this is the option to try first. Only if
-myisamchk reports that the table can't be recovered by @code{-r}, you
-should then try @code{-o}. (Note that in the unlikely case that @code{-r}
-fails, the data file is still intact).
-
-@item -o, --safe-recover
-½¤Éü¥â¡¼¥É¡£
-¸Å¤¤½¤ÉüÊýË¡¤ò»ÈÍѤ·¤Þ¤¹ (reads through all rows in order and updates
-all index trees based on the found rows)¡¨
-¤³¤ì¤Ï @code{-r} ¤è¤ê¤âÃÙ¤¤¤Ç¤¹¤¬¡¢ @code{-r} ¤¬°·¤¨¤Ê¤¤¤â¤Î¤â°·¤¨¤Þ¤¹¡£
-Normally one should always first repair with
-@code{-r} and only if this fails use @code{-o}.
-
-@item -O var=option, --set-variable var=option
-ÊÑ¿ô¤ËÃͤòÆþ¤ì¤Þ¤¹¡£²Äǽ¤ÊÊÑ¿ô¤Ï¸å½Ò¤·¤Þ¤¹¡£
-
-@item -s, --silent
-ÀŽͥ⡼¥É¡£
-¥¨¥é¡¼¤Î¤ß¤ò½ÐÎϤ·¤Þ¤¹¡£
-ÆóÅÙ @code{-s} ¤ò»ØÄꤹ¤ë¤È(@code{-ss})¡¢@code{myisamchk} ¤Ï
-¤Û¤È¤ó¤É½ÐÎϤò¤·¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
-
-@item -S, --sort-index
-¥¤¥ó¥Ç¥Ã¥¯¥¹¥Ö¥í¥Ã¥¯¤Î¥½¡¼¥È¡£
-¤³¤ì¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Î ``read-next'' ¤ò®¤¯¤·¤Þ¤¹¡£
-
-@item -R index_num, --sort-records=index_num
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë½¾¤Ã¤Æ¥½¡¼¥È¡£
-¤³¤ì¤Ï¤¢¤Ê¤¿¤Î¥Ç¡¼¥¿¤ò¤è¤ê¤è¤¯ÇÛÃÖ¤·¡¢¤³¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ø¤Î
- @code{SELECT}, @code{ORDER BY} ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤ò®¤¯¤·¤Þ¤¹¡£
-(¤³¤ÎÁàºî¤ÎºÇ½é¤Î¥½¡¼¥È¤ÏÈó¾ï¤ËÃÙ¤¯¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡ª)
-¥Æ¡¼¥Ö¥ë¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÈÖ¹æ¤ò¤ß¤Ä¤±¤ë¤Ë¤Ï @code{SHOW INDEX} ¤ò»ÈÍѤ·¤Þ¤¹¤¬¡¢
-¤³¤ì¤Ï @code{myisamchk} ¤¬¥Æ¡¼¥Ö¥ë¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¸«¤Ä¤±¤ë¤Î¤ÈƱ¤¸½ç½ø¤Ç¹Ô¤¤¤Þ¤¹¡£
-¥¤¥ó¥Ç¥Ã¥¯¥¹ÈÖ¹æ¤Ï 1 ¤«¤é»Ï¤Þ¤ê¤Þ¤¹¡£
-
-@item -u, --unpack
-@code{pack_isam} ¤Ç¥Ñ¥Ã¥¯¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ò¥¢¥ó¥Ñ¥Ã¥¯¤·¤Þ¤¹¡£
-
-@item -U, --update-status
-Store in the @file{.MYI} file when the table was checked and if the table was
-crashed. This should be used to get full benefit of the @code{--fast}
-option, but you shouldn't use this if option if the @code{mysqld} server is
-using the table and you are running @code{mysqld} with
-@code{--skip-locking}.
-
-@item -v, --verbose
-¾éĹ¥â¡¼¥É¡£¤è¤ê¿¤¯¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£
-@code{-d} ¤È @code{-e} ¥ª¥×¥·¥ç¥ó¤È¶¦¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-@code{-v} ¤òÊ£¿ô»ØÄꤹ¤ë¤È(@code{-vv}, @code{-vvv})¡¢¤â¤Ã¤È½ÐÎϤ¬Â¿¤¯¤Ê¤ê¤Þ¤¹¡ª
-
-@item -V, --version
-@code{myisamchk} ¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤·¤Æ½ªÎ»¡£
-
-@item -w, --wait
-¥Æ¡¼¥Ö¥ë¤¬¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤¿¤éÂÔ¤Á¤Þ¤¹¡£
-@end table
-
-@code{--set-variable} (@code{-O}) ¥ª¥×¥·¥ç¥ó¤Ç²Äǽ¤ÊÊÑ¿ô¡§
-
-@example
-key_buffer_size current value: 16776192
-read_buffer_size current value: 262136
-write_buffer_size current value: 262136
-sort_buffer_size current value: 2097144
-sort_key_blocks current value: 16
-decode_bits current value: 9
-@end example
-
-@code{key_buffer_size} is only used when you check the table with @code{-e} or
-repair it with @code{-o}.
-@code{sort_buffer_size} is used when you repair the table with @code{-r}.
-
-If you want a faster repair, set the above variables to about 1/4 of your
-available memory. You can set both variables to big values as only one
-of the above buffers will be used at at time.
-
-@node myisamchk memory, , myisamchk syntax, Table maintenance
-@section @code{myisamchk} ¥á¥â¥ê»ÈÍÑ
-
-@code{myisamchk} ¤òÁö¤é¤¹¾å¤Ç¥á¥â¥ê¡¼¤ÎÇÛʬ¤Ï½ÅÍפǤ¹¡£
-@code{myisamchk} ¤Ï @code{-O} ¥ª¥×¥·¥ç¥ó¤ÇÄêµÁ¤·¤¿°Ê¾å¤Î¥á¥â¥ê¤Ï»ÈÍѤ·¤Þ¤»¤ó¡£
-¤È¤Æ¤âÂ礭¤Ê¥Õ¥¡¥¤¥ë¤Î¤¿¤¤¤·¤Æ @code{myisamchk} ¤ò¤«¤±¤¿¤¤¤Ê¤é¡¢
-¥á¥â¥ê¡¼¤ò¤É¤ì¤¯¤é¤¤»ÈÍѤ¹¤ë¤«¤òºÇ½é¤Ë·è¤á¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-¥Ç¥Õ¥©¥ë¥È¤Ï¸ÇÄê¤ÇÌó 3M ¤À¤±¤ò»ÈÍѤ·¤Þ¤¹¡£Â礭¤ÊÃͤò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢
-@code{myisamchk} ¤ò¤è¤ê®¤¯Æ°ºî¤Ç¤­¤Þ¤¹¡£
-Î㤨¤Ð¡¢32MBytes¤ÎRAM¤¬¤¢¤ë¤Ê¤é¡¢°Ê²¼¤Î¤è¤¦¤Ë»ØÄê¤Ç¤­¤Þ¤¹
-(¾¤Î¥ª¥×¥·¥ç¥ó¤â»ØÄꤷ¤Æ):
-
-@example
-shell> myisamchk -O sort=16M -O key=16M -O read=1M -O write=1M ...
-@end example
-
-@code{-O sort=16M} ¤Î»ÈÍѤÏ¿¤¯¤Î¾ì¹ç¤ª¤½¤é¤¯½½Ê¬¤Ç¤·¤ç¤¦¡£
-
-¤·¤«¤·¡¢@code{myisamchk} ¤Ï @code{TMPDIR} Æâ¤Ë°ì»þ¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£
-@code{TMPDIR} ¤¬¥á¥â¥ê¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò»Ø¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢´Êñ¤Ë out of
-memory ¥¨¥é¡¼¤òÆÀ¤ë¤Ç¤·¤ç¤¦¡£
-If this happens, set @code{TMPDIR} to point at some directory
-with more space and restart @code{myisamchk}
-
-
-@node Maintenance regimen, Table-info, Table maintenance, Maintenance
-@section ¥Æ¡¼¥Ö¥ë¤ÎÊݼéÂÎÀ©¤ÎÀßÄê
-
-ÌäÂ꤬ȯÀ¸¤¹¤ë¤Þ¤ÇÂԤĤè¤ê¡¢Äê´üŪ¤Ë¥Æ¡¼¥Ö¥ë¤ò¸¡ºº¤¹¤ëÊý¤¬¤è¤ê¤è¤¤¹Í¤¨¤Ç¤¹¡£
-ÊݼéÌÜŪ¤Ë¤Ï¡¢@code{myisamchk -s} ¤Ç¥Æ¡¼¥Ö¥ë¤ò¸¡ºº¤¹¤ë¤Î¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£
-@code{-s} ¥ª¥×¥·¥ç¥ó¤Ï¥µ¥¤¥ì¥ó¥È¥â¡¼¥É¤Ê¤Î¤Ç¡¢¥¨¥é¡¼¤¬µ¯¤­¤¿¾ì¹ç¤Ë¤À¤±¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£
-
-@tindex .pid (process ID) file
-¥µ¡¼¥Ð¡¼¤ò³«»Ï¤¹¤ë¤È¤­¤Ë¥Æ¡¼¥Ö¥ë¤ò¸¡ºº¤¹¤ë¤Î¤â¤è¤¤¹Í¤¨¤Ç¤¹¡£
-Î㤨¤Ð¡¢¹¹¿·ºÇÃæ¤Ë¥Þ¥·¥ó¤¬¥ê¥Ö¡¼¥È¤µ¤ì¤¿¤Ê¤é¡¢Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤Ë´Ø¤·¤Æ
-¤½¤Î±Æ¶Á¤¬¤Ê¤¤¤«¸¡ºº¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¡Ê¤³¤ì¤Ï``expected crashed table''¤Ç¤¹¡Ë
-¥ê¥Ö¡¼¥È¸å¤Ë¤â¤·¸Å¤¤ @file{.pid} ¥Õ¥¡¥¤¥ë(¥×¥í¥»¥¹ID) ¤¬¤¢¤ë¤Ê¤é¤Ð¡¢
-24»þ´Ö°ÊÆâ¤ËÊѹ¹¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ @code{myisamchk} ¤òÁö¤é¤»¤Æ¸¡ºº¤µ¤»¤ë¤è¤¦¤Ë¡¢
-@code{safe_mysqld} ¤Ë¥Æ¥¹¥È¤òÄɲ䷤Ƥ⹽¤¤¤Þ¤»¤ó¡£
-(@file{.pid} ¥Õ¥¡¥¤¥ë¤Ï @code{mysqld} µ¯Æ°»þ¤Ëºî¤é¤ì¡¢Ä̾、λ»þ¤Ë¾Ã¤µ¤ì¤Þ¤¹¡£
-¥¹¥¿¡¼¥È»þ¤Ë @file{.pid} ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¤Ê¤é @code{mysqld} ¤¬°Û¾ï½ªÎ»¤·¤¿¤³¤È¤ò¼¨¤·¤Þ¤¹¡£)
-
-Îɤ¤¥Æ¥¹¥È¤Ï¡¢@file{.pid} ¥Õ¥¡¥¤¥ë¤ÎºîÀ®»þ´Ö°Ê¹ß¤ËÊѹ¹¤µ¤ì¤¿
-Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ò¸¡ºº¤¹¤ë¥Æ¥¹¥È¤Ç¤¹¡£
-
-Ä̾ï¤Î¥·¥¹¥Æ¥à±¿ÍÑÃæ¤Ë¤â¥Æ¡¼¥Ö¥ë¤ò¸¡ºº¤¹¤Ù¤­¤Ç¤¹¡£
-TcX ¤Ç¤Ï¡¢½µ¤Ë°ìÅÙ¡¢ @code{cron} ¤ò»ÈÍѤ·¤Æ½ÅÍפʥơ¼¥Ö¥ë¤ò¸¡ºº¤·¤Æ¤¤¤Þ¤¹¡£
-@file{crontab} ¥Õ¥¡¥¤¥ë¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡§
-
-@example
-35 0 * * 0 /path/to/myisamchk -s /path/to/datadir/*/*.MYI
-@end example
-
-¤³¤ì¤Ï²õ¤ì¤¿¥Æ¡¼¥Ö¥ë¤Î¾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¤Î¤Ç¡¢É¬ÍפȤ¢¤é¤Ð¸¡ºº¡¢½¤Éü¤¬¹Ô¤¨¤ë¤ï¤±¤Ç¤¹¡£
-
-ͽÁÛ³°¤Î»ö¸Î¤Ç²õ¤ì¤¿¥Æ¡¼¥Ö¥ë(¥Ï¡¼¥É¥¦¥§¥¢¤Î¥È¥é¥Ö¥ë¤¬¸¶°ø¤ÇÊø²õ)¤ò½ü¤­¡¢
-2,3ǯ´Ö¡¢¥Æ¡¼¥Ö¥ë¤Ï²õ¤ì¤¿¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó(¤³¤ì¤ÏËÜÅö¤ËËÜÅö¤Ç¤¹)¡£
-¤Î¤Ç¡¢°ì½µ´Ö¤Ë°ìÅ٤ΥÁ¥§¥Ã¥¯¤Ç¤â½½Ê¬¤Ç¤¹¡£
-
-24»þ´Ö°ÊÆâ¤ËÊѹ¹¤µ¤ì¤¿Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ¡¢
-@code{myisamchk -s} ¤òËèÈռ¹Ԥ¹¤ë»ö¤ò´«¤á¤Þ¤¹¡£
-¤½¤¦¤¹¤ì¤Ð¡¢¤¢¤Ê¤¿¤Ï²æ¡¹¤ÈƱ¤¸¤°¤é¤¤¤Ë @strong{MySQL} ¤ò
-¿®Íꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-
-@node Table-info, Crash recovery, Maintenance regimen, Maintenance
-@section ¥Æ¡¼¥Ö¥ë¾ðÊó¼èÆÀ
-
-¥Æ¡¼¥Ö¥ë¤«¤é¾ÜºÙ/Åý·×¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¼¡¤ÎÊýË¡¤ò»ÈÍѤ·¤Þ¤¹¡£¸å¤Ç¤µ¤é¤Ë¾ÜºÙ¤Ê¾ð
-Êó¤ò¤¤¤¯¤Ä¤«ÀâÌÀ¤·¤Þ¤¹¡£
-
-@table @code
-@item myisamchk -d tbl_name
-@code{myisamchk} ¤ò ``describe mode'' ¤Ç¼Â¹Ô¤·¡¢¥Æ¡¼¥Ö¥ë¤ÎÀâÌÀµ­½Ò¤òºî¤ê¤Þ¤¹¡£
-@code{--skip-locking} ¤ò»ØÄꤷ¤Æ @strong{MySQL} ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤¿¾ì¹ç¡¢
-@code{myisamchk} ¤Ï myisamchk ¼Â¹ÔÃæ¤Ë¹¹¿·¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤Ë¤Ä¤¤¤Æ¥¨¥é¡¼¤òÊó¹ð¤·¤Þ¤¹.
-¤·¤«¤· @code{myisamchk} ¤Ï describe mode ¤Ç¤Ï¥Æ¡¼¥Ö¥ë¤òÊѤ¨¤Ê¤¤¤Î¤Ç¡¢
-¥Ç¡¼¥¿¤òÇ˲õ¤¹¤ë´í¸±À­¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-
-@item myisamchk -d -v tbl_name
-@code{myisamchk} ¤¬¤·¤Æ¤¤¤ë¤³¤È¤Ë´Ø¤¹¤ë¡¢¤è¤ê¿¤¯¤Î¾ðÊó¤òºî¤ê½Ð¤¹¤Ë¤Ï¡¢
-@code{-v} ¤ò¤Ä¤±¤Æ¾éĹ¥â¡¼¥É¤ÇÁö¤é¤»¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
-
-@item myisamchk -eis tbl_name
-¥Æ¡¼¥Ö¥ë¤«¤éºÇ¤â½ÅÍפʾðÊó¤À¤±¤ò¼¨¤·¤Þ¤¹¡£
-¥Æ¡¼¥Ö¥ëÁ´ÂΤòÆɤޤʤ±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤Ç¡¢ÃÙ¤¤¤Ç¤¹¡£
-
-@item myisamchk -eiv tbl_name
-@code{-eis} ¤È»÷¤Æ¤¤¤ë¤¬¡¢²¿¤ò¹Ô¤Ã¤Æ¤¤¤ë¤«¤òɽ¼¨¤·¤Þ¤¹¡£
-@end table
-
-@code{myisamchk -d} ½ÐÎϤÎÎã:
-@example
-ISAM file: company.MYI
-Data records: 1403698 Deleted blocks: 0
-Recordlength: 226
-Record format: Fixed length
-
-table description:
-Key Start Len Index Type
-1 2 8 unique double
-2 15 10 multip. text packed stripped
-3 219 8 multip. double
-4 63 10 multip. text packed stripped
-5 167 2 multip. unsigned short
-6 177 4 multip. unsigned long
-7 155 4 multip. text
-8 138 4 multip. unsigned long
-9 177 4 multip. unsigned long
- 193 1 text
-@end example
-
-
-@code{myisamchk -d -v} ½ÐÎϤÎÎã:
-@example
-ISAM file: company.MYI
-Isam-version: 2
-Creation time: 1996-08-28 11:44:22
-Recover time: 1997-01-12 18:35:29
-Data records: 1403698 Deleted blocks: 0
-Datafile: Parts: 1403698 Deleted data: 0
-Datafilepointer (bytes): 3 Keyfile pointer (bytes): 3
-Max datafile length: 3791650815 Max keyfile length: 4294967294
-Recordlength: 226
-Record format: Fixed length
-
-table description:
-Key Start Len Index Type Root Blocksize Rec/key
-1 2 8 unique double 15845376 1024 1
-2 15 10 multip. text packed stripped 25062400 1024 2
-3 219 8 multip. double 40907776 1024 73
-4 63 10 multip. text packed stripped 48097280 1024 5
-5 167 2 multip. unsigned short 55200768 1024 4840
-6 177 4 multip. unsigned long 65145856 1024 1346
-7 155 4 multip. text 75090944 1024 4995
-8 138 4 multip. unsigned long 85036032 1024 87
-9 177 4 multip. unsigned long 96481280 1024 178
- 193 1 text
-@end example
-
-
-@code{myisamchk -eis} ½ÐÎϤÎÎã:
-@example
-Checking ISAM file: company.MYI
-Key: 1: Keyblocks used: 97% Packed: 0% Max levels: 4
-Key: 2: Keyblocks used: 98% Packed: 50% Max levels: 4
-Key: 3: Keyblocks used: 97% Packed: 0% Max levels: 4
-Key: 4: Keyblocks used: 99% Packed: 60% Max levels: 3
-Key: 5: Keyblocks used: 99% Packed: 0% Max levels: 3
-Key: 6: Keyblocks used: 99% Packed: 0% Max levels: 3
-Key: 7: Keyblocks used: 99% Packed: 0% Max levels: 3
-Key: 8: Keyblocks used: 99% Packed: 0% Max levels: 3
-Key: 9: Keyblocks used: 98% Packed: 0% Max levels: 4
-Total: Keyblocks used: 98% Packed: 17%
-
-Records: 1403698 M.recordlength: 226 Packed: 0%
-Recordspace used: 100% Empty space: 0% Blocks/Record: 1.00
-Recordblocks: 1403698 Deleteblocks: 0
-Recorddata: 317235748 Deleted data: 0
-Lost space: 0 Linkdata: 0
-
-User time 1626.51, System time 232.36
-Maximum resident set size 0, Integral resident set size 0
-Non physical pagefaults 0, Physical pagefaults 627, Swaps 0
-Blocks in 0 out 0, Messages in 0 out 0, Signals 0
-Voluntary context switches 639, Involuntary context switches 28966
-@end example
-
-@code{myisamchk -eiv} ½ÐÎϤÎÎã:
-@example
-Checking ISAM file: company.MYI
-Data records: 1403698 Deleted blocks: 0
-- check file-size
-- check delete-chain
-index 1:
-index 2:
-index 3:
-index 4:
-index 5:
-index 6:
-index 7:
-index 8:
-index 9:
-No recordlinks
-- check index reference
-- check data record references index: 1
-Key: 1: Keyblocks used: 97% Packed: 0% Max levels: 4
-- check data record references index: 2
-Key: 2: Keyblocks used: 98% Packed: 50% Max levels: 4
-- check data record references index: 3
-Key: 3: Keyblocks used: 97% Packed: 0% Max levels: 4
-- check data record references index: 4
-Key: 4: Keyblocks used: 99% Packed: 60% Max levels: 3
-- check data record references index: 5
-Key: 5: Keyblocks used: 99% Packed: 0% Max levels: 3
-- check data record references index: 6
-Key: 6: Keyblocks used: 99% Packed: 0% Max levels: 3
-- check data record references index: 7
-Key: 7: Keyblocks used: 99% Packed: 0% Max levels: 3
-- check data record references index: 8
-Key: 8: Keyblocks used: 99% Packed: 0% Max levels: 3
-- check data record references index: 9
-Key: 9: Keyblocks used: 98% Packed: 0% Max levels: 4
-Total: Keyblocks used: 9% Packed: 17%
-
-- check records and index references
-[LOTS OF ROW NUMBERS DELETED]
-
-Records: 1403698 M.recordlength: 226 Packed: 0%
-Recordspace used: 100% Empty space: 0% Blocks/Record: 1.00
-Recordblocks: 1403698 Deleteblocks: 0
-Recorddata: 317235748 Deleted data: 0
-Lost space: 0 Linkdata: 0
-
-User time 1639.63, System time 251.61
-Maximum resident set size 0, Integral resident set size 0
-Non physical pagefaults 0, Physical pagefaults 10580, Swaps 0
-Blocks in 4 out 0, Messages in 0 out 0, Signals 0
-Voluntary context switches 10604, Involuntary context switches 122798
-@end example
-
-¾å¤Ç»ÈÍѤµ¤ì¤¿¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤ò¤³¤³¤Ë¼¨¤·¤Þ¤¹:
-
-@example
--rw-rw-r-- 1 monty tcx 317235748 Jan 12 17:30 company.ISD
--rw-rw-r-- 1 davida tcx 96482304 Jan 12 18:35 company.ISM
--rw-rw-r-- 1 monty tcx 317235748 Jan 12 17:30 company.MYD
--rw-rw-r-- 1 davida tcx 96482304 Jan 12 18:35 company.MYI
-@end example
-
-@code{myisamchk} ¤¬À¸À®¤¹¤ë¾ðÊó¤ÎÀâÌÀ¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£
-``keyfile'' ¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
-``Record'' ¤È ``row'' ¤ÏƱµÁ¤Ç¤¹¡£
-
-@table @code
-@item ISAM file
-ISAM (index) ¥Õ¥¡¥¤¥ë¤Î̾Á°
-
-@item Isam-version
-ISAM ·Á¼°¤Î¥Ð¡¼¥¸¥ç¥ó¡£¸½ºß¤Ï¾ï¤Ë 2 ¡£
-
-@item Creation time
-¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤¿»þ¡£
-
-@item Recover time
-¥¤¥ó¥Ç¥Ã¥¯¥¹/¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤¬ºÇ¸å¤ËºÆ¹½ÃÛ¤µ¤ì¤¿»þ¡£
-
-@item Data records
-¥ì¥³¡¼¥É/¹Ô¤Î¿ô¡£
-
-@item Deleted blocks
-ͽÌ󤵤줿Îΰè¤ò¤Þ¤À»ý¤Ã¤Æ¤¤¤ëºï½ü¥Ö¥í¥Ã¥¯¿ô¡£
-¤³¤Î¥¹¥Ú¡¼¥¹¤òºÇ¾®¤Ë¤¹¤ë¤¿¤á¤Ë¼«Ê¬¤Î¥Æ¡¼¥Ö¥ë¤òºÇŬ²½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@xref{Optimization}.
-
-@item Datafile: Parts
-ưŪ¤Ê¥ì¥³¡¼¥É·Á¼°¤Ë¤¤¤¯¤Ä¤Î¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯¤¬¤¢¤ë¤«¤òɽ¼¨¤·¤Þ¤¹¡£
-ʬ³ä¤Ê¤·¤ÇºÇŬ²½¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤Ç¤Ï @code{Data records} ¤ÈƱ¤¸¤Ç¤¹¡£
-
-@item Deleted data
-²þÁ±¤µ¤ì¤Æ¤¤¤Ê¤¤ºï½ü¥Ç¡¼¥¿¤Î¥Ð¥¤¥È¿ô¡£
-¤³¤Î¥¹¥Ú¡¼¥¹¤òºÇ¾®¤Ë¤¹¤ë¤¿¤á¤Ë¼«Ê¬¤Î¥Æ¡¼¥Ö¥ë¤òºÇŬ²½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@xref{Optimization}.
-
-@item Datafile pointer
-¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿¤ÎÂ礭¤µ(¥Ð¥¤¥È¿ô)¡£¤³¤ì¤ÏÉáÄÌ 2, 3, 4 ¤Þ¤¿¤Ï 5 ¥Ð
-¥¤¥È¤Ç¤¹¡£Â¿¤¯¤Î¥Æ¡¼¥Ö¥ë¤Ï 2 ¥Ð¥¤¥È¤Ç´ÉÍý¤µ¤ì¤Þ¤¹¤¬¡¢¤³¤ì¤Ï¤Þ¤À
-@strong{MySQL} ¤«¤éÀ©¸æ¤Ç¤­¤Þ¤»¤ó¡£¸ÇÄê¥Æ¡¼¥Ö¥ë¤Ç¤Ï¤³¤ì¤Ï¥ì¥³¡¼¥É¥¢¥É¥ì
-¥¹¤Ç¤¹¡£Æ°Åª¥Æ¡¼¥Ö¥ë¤Ç¤Ï¤³¤ì¤Ï¥Ð¥¤¥È¥¢¥É¥ì¥¹¤Ç¤¹¡£
-
-@item Keyfile pointer
-¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿¤Î¥Ð¥¤¥È¿ô¡£¤³¤ì¤ÏÉáÄÌ 1, 2 ¤Þ¤¿¤Ï 3 ¥Ð¥¤¥È¤Ç¤¹¡£
-¿¤¯¤Î¥Æ¡¼¥Ö¥ë¤Ï 2 ¥Ð¥¤¥È¤Ç´ÉÍý¤µ¤ì¤Þ¤¹¤¬¡¢¤³¤ì¤Ï @strong{MySQL} ¤Ç¤Ï¼«Æ°Åª¤Ë
-·×»»¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¾ï¤Ë¥Ö¥í¥Ã¥¯¥¢¥É¥ì¥¹¤Ç¤¹¡£
-
-@item Max datafile length
-¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë (@code{.MYD} ¥Õ¥¡¥¤¥ë) ¤¬³ÍÆÀ¤Ç¤­¤ëŤµ (¥Ð¥¤¥È¿ô)¡£
-
-@item Max keyfile length
-¥Æ¡¼¥Ö¥ë¤Î¥­¡¼¥Õ¥¡¥¤¥ë (@code{.MYI} ¥Õ¥¡¥¤¥ë) ¤¬³ÍÆÀ¤Ç¤­¤ëŤµ (¥Ð¥¤¥È¿ô)¡£
-
-@item Recordlength
-³Æ¥ì¥³¡¼¥É/¹Ô¤¬»ÈÍѤ¹¤ëÎΰè¤ÎÂ礭¤µ(¥Ð¥¤¥È¿ô)¡£
-
-@item Record format
-³Æ¥Æ¡¼¥Ö¥ë¤Î¹Ô¤¬»ý¤Ä·Á¼°¡£¤³¤ÎÎã¤Ç¤Ï @code{Fixed length} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-¾¤ÎÃͤDzÄǽ¤Êʪ¤Ï@code{°µ½Ì}¡¢@code{¥Ñ¥Ã¥¯}¤·¤Þ¤¹¡£
-
-@item table description
-¥Æ¡¼¥Ö¥ëÆâ¤ÎÁ´¤Æ¤Î¥­¡¼¤Î¥ê¥¹¥È¡£³Æ¥­¡¼¤Ë¤Ä¤¤¤Æ¡¢¤¤¤¯¤Ä¤«¤ÎÄã¥ì¥Ù¥ë¾ðÊó¤¬Ä󶡤µ
-¤ì¤Þ¤¹:
-
-@table @code
-@item Key
-¤³¤Î¥­¡¼Èֹ档
-
-@item Start
-¤³¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹Éô¤¬³«»Ï¤¹¤ë¥ì¥³¡¼¥É/¹ÔÆâ¤Î°ÌÃÖ¡£
-
-@item Len
-¥¤¥ó¥Ç¥Ã¥¯¥¹Éô¤ÎŤµ¡£¥Ñ¥Ã¥¯¤µ¤ì¤¿¿ôÃͤǤϡ¢¤³¤ì¤Ï¾ï¤Ë¹àÌܤδ°Á´¤ÊŤµ¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-ʸ»ú·¿¤Ë¤ª¤¤¤Æ¤Ï¡¢Ê¸»ú·¿¤Î¹àÌܤÎƬ¤ÎÉôʬ¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¤Ä¤¯»ö¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢
-¥¤¥ó¥Ç¥Ã¥¯¥¹¹àÌܤκÇÂ獵¤è¤ê¤â¤³¤ÎÃͤÏû¤¯¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-
-@item Index
-@code{unique} or @code{multip.} (multiple). ¤³¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹Æâ¤Ç¤Ï1¤Ä¤ÎÃͤ¬Ê£¿ô
-²ó¸ºß¤·ÆÀ¤Þ¤¹¡£
-
-@item Type
-¤³¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹Éô¤¬»ý¤Ä¥Ç¡¼¥¿·¿¡£
-¤³¤ì¤Ï NISAM ¥Ç¡¼¥¿·¿¤Ç¡¢
-@code{packed}, @code{stripped} ¤« @code{empty} ¥ª¥×¥·¥ç¥ó¤ò»ý¤Á¤Þ¤¹¡£
-
-@item Root
-¥ë¡¼¥È¥¤¥ó¥Ç¥Ã¥¯¥¹¥Ö¥í¥Ã¥¯¤Î¥¢¥É¥ì¥¹¡£
-
-@item Blocksize
-³Æ¥¤¥ó¥Ç¥Ã¥¯¥¹¥Ö¥í¥Ã¥¯¤Î¥µ¥¤¥º¡£¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï 1024 ¤Ç¤¹¤¬¡¢¥³¥ó¥Ñ
-¥¤¥ë»þ¤ËÊѹ¹¤Ç¤­¤Þ¤¹¡£
-
-@item Rec/key
-¤³¤ì¤Ï¥ª¥×¥Æ¥£¥Þ¥¤¥¶¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤ëÅý·×ÃͤǤ¹¡£¤³¤Î¥­¡¼¤ÎÃͤ´¤È¤Î¥ì¥³¡¼
-¥É¿ô¤òÃΤ餻¤Þ¤¹¡£¥æ¥Ë¡¼¥¯¥­¡¼¤Ï¾ï¤Ë1¤ÎÃͤò»ý¤Á¤Þ¤¹¡£¤³¤ì¤Ï¥Æ¡¼¥Ö¥ë¤¬¥í¡¼¥É¤µ
-¤ì¤¿(¤Þ¤¿¤ÏÂ礭¤¯Êѹ¹¤µ¤ì¤¿)¸å¤Ë @code{myisamchk -a} ¤Ç¹¹¿·¤µ¤ì¤Þ¤¹¡£¤³¤ì
-¤¬Á´¤¯¹¹¿·¤µ¤ì¤Ê¤¤¾ì¹ç¤Ï¥Ç¥Õ¥©¥ë¥ÈÃͤΠ30 ¤¬Í¿¤¨¤é¤ì¤Þ¤¹¡£
-@end table
-
-@item
-¾å¤ÎºÇ½é¤ÎÎã¤Ç¤Ï¡¢9ÈÖÌܤΥ­¡¼¤Ï2¤Ä¤ÎÉôʬ¤ò¤â¤Ã¤¿¥Þ¥ë¥Á¥Ñ¡¼¥È¥­¡¼¤Ç¤¹¡£
-
-@item Keyblocks used
-»ÈÍѤµ¤ì¤¿¥­¡¼¥Ö¥í¥Ã¥¯¤Î¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸¡£¤³¤Î¥Æ¡¼¥Ö¥ë¤Ï @code{myisamchk} ¤ÇºÆÇÛÃÖ
-¤µ¤ì¤ë¤¿¤á¡¢ÃͤϤȤƤâ¹â¤¯¤Ê¤ê¤Þ¤¹ (ÍýÏÀŪ¤ÊºÇÂç¤Ë¤È¤Æ¤â¶á¤¯¤Ê¤ê¤Þ¤¹)¡£
-
-@item Packed
-@strong{MySQL} ¤Ï°ìÈ̤ÎÀÜÈø¼­¤Ç¥­¡¼¤Î¥Ñ¥Ã¥¯¤ò»î¤ß¤Þ¤¹¡£¤³¤ì¤Ï
-@code{CHAR}/@code{VARCHAR}/@code{DECIMAL} ¥­¡¼¤Ç¤À¤±»ÈÍѤǤ­¤Þ¤¹¡£Ì¾Á°¤Î
-¤è¤¦¤ÊŤ¤Ê¸»úÎó¤Ç¤Ï¡¢¤³¤ì¤Ï»ÈÍÑÎΰè¤ò¸²Ãø¤Ë¸º¤é¤·¤Þ¤¹¡£¾å¤Î»°ÈÖÌܤÎÎã¤Ç¤Ï4ÈÖÌÜ
-¤Î¥­¡¼¤¬10ʸ»úĹ¤Ç¡¢Îΰè¤Î60%¤Î¸º¾¯¤òÆÀ¤Þ¤¹¡£
-
-@item Max levels
-¤³¤Î¥­¡¼¤Î Btree ¤Î¿¼¤µ¡£Ä¹¤¤¥­¡¼¤ò»ý¤ÄÂ礭¤Ê¥Æ¡¼¥Ö¥ë¤Ï¹â¤¤ÃͤòÆÀ¤Þ¤¹¡£
-
-@item Records
-¥Æ¡¼¥Ö¥ë¤¬»ý¤Ã¤Æ¤¤¤ë¹Ô¿ô¡£
-
-@item M.recordlength
-Ê¿¶Ñ¤Î¹ÔĹ¡£¸ÇÄê¥Æ¡¼¥Ö¥ë¤Ç¤Ï¡¢¤³¤ì¤Ï¥ì¥³¡¼¥ÉŤǤ¹¡£
-
-@item Packed
-@strong{MySQL} ¤Ïʸ»úÎó¤ÎºÇ¸å¤«¤é¶õÇò¤ò½ü¤­¤Þ¤¹¡£¤³¤ì¤Ë¤è¤Ã¤ÆÀáÌ󤵤줿
-¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸¤ò @code{Packed} ¤Ï¼¨¤·¤Þ¤¹¡£
-
-@item Recordspace used
-¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤¬»ÈÍѤµ¤ì¤¿¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸¡£
-
-@item Empty space
-¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸¡£
-
-@item Blocks/Record
-¥ì¥³¡¼¥ÉËè¤Î¥Ö¥í¥Ã¥¯¿ô (i.e., ÃÇÊÒ²½¥ì¥³¡¼¥É¤Î¹½À®¿ô)¡£
-¤³¤ì¤Ï¸ÇÄê·Á¼°¥Æ¡¼¥Ö¥ë¤Ç¤Ï¾ï¤Ë1¤Ç¤¹¡£¤³¤ÎÃͤϲÄǽ¤Ê¸Â
-¤ê 1.0 ¤Ëα¤Þ¤ê¤Þ¤¹¡£¤³¤ì¤¬Â礭¤¹¤®¤ë¾ì¹ç¤Ï¡¢@code{myisamchk} ¤Ç¥Æ¡¼¥Ö¥ë¤òºÆÇÛÃ֤Ǥ­¤Þ¤¹¡£
-@xref{Optimization}.
-
-@item Recordblocks
-»ÈÍѤµ¤ì¤¿¥Ö¥í¥Ã¥¯ (links) ¿ô¡£¸ÇÄê·¿¼°¤Ç¤Ï¤³¤ì¤Ï¥ì¥³¡¼¥É¿ô¤ÈƱ¤¸¤Ç¤¹¡£
-
-@item Deleteblocks
-ºï½ü¤µ¤ì¤¿¥Ö¥í¥Ã¥¯ (links) ¿ô¡£
-
-@item Recorddata
-¥Ç¡¼¥¿¥Õ¥¡¥¤¥ëÃæ¤Ë¤¢¤ë¼ÂºÝ¤Î¥æ¡¼¥¶¥Ç¡¼¥¿¤Î¥Ð¥¤¥È¿ô¡£
-
-@item Deleted data
-¥Ç¡¼¥¿¥Õ¥¡¥¤¥ëÃæ¤Ë¤¢¤ëºï½ü¤µ¤ì¤¿(unused)¥Ç¡¼¥¿¤Î¥Ð¥¤¥È¿ô¡£
-
-@item Lost space
-¥ì¥³¡¼¥É¤¬¤è¤êû¤¤Ä¹¤µ¤Ë¹¹¿·¤µ¤ì¤¿¾ì¹ç¡¢¤¤¤¯¤Ä¤«¤ÎÎΰ褬¼º¤ï¤ì¤Þ¤¹¡£¤³¤ì
-¤Ï¤½¤Î¤è¤¦¤Ê¾Ã¼º¤ÎÁ´¤Æ¤Î¹ç·×¤Ç¤¹¡£in bytes.
-
-@item Linkdata
-ưŪ·Á¼°¤Î»ÈÍÑ»þ¡¢¥Ö¥í¥Ã¥¯¤Ï¥Ý¥¤¥ó¥¿(4¡Á7¥Ð¥¤¥È)¤Ë¥ê¥ó¥¯¤µ¤ì¤Þ¤¹¡£@code{Linkdata}¤Ï
-¤½¤Î¥Ý¥¤¥ó¥¿¤ÎÁ´¤Æ¤Î¹ç·×¤Ç¤¹¡£
-@end table
-
-¥Æ¡¼¥Ö¥ë¤¬ @code{pack_isam} ¤Ç°µ½Ì¤µ¤ì¤Æ¤¤¤ë¤Ê¤é¡¢@code{myisamchk -d} ¤Ï
-¤½¤ì¤¾¤ì¤Î¥Æ¡¼¥Ö¥ë¥³¥é¥à¤Ë´Ø¤¹¤ëÄɲþðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£
-@ref{myisampack, ,@code{myisampack}}. ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤Î¾ðÊóÎã¤ÈÀâÌÀµ­½Ò¤Î°ÕÌ£¤¬¤¢¤ê¤Þ¤¹¡£
-
-@node Crash recovery, Log files, Table-info, Maintenance
-@section Using @code{myisamchk} for crash recovery
-
-@strong{MySQL} ¤¬¥Ç¡¼¥¿³ÊǼ¤Ë»ÈÍѤ¹¤ë¥Õ¥¡¥¤¥ë·Á¼°¤Ï¡¢
-¹­ÈϰϤˤ錄¤Ã¤Æ¥Æ¥¹¥È¤µ¤ì¤Þ¤·¤¿¡£¤¬¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Æ¡¼¥Ö¥ë¤¬
-Ç˲õ¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤³°Åª¾õ¶·¤¬¤¢¤ê¤Þ¤¹:
-
-@itemize @bullet
-@item
-@code{mysqld} ¥×¥í¥»¥¹¤¬½ñ¤­¹þ¤ßºÆÃæ¤Ë killed ¤µ¤ì¤¿¾ì¹ç
-@item
-ͽ´ü¤»¤Ì¥³¥ó¥Ô¥å¡¼¥¿¤ÎÄä»ß(Î㤨¤ÐÅŸ»¤¬ÀÚ¤é¤ì¤¿¾ì¹ç)
-@item
-¥Ï¡¼¥É¥¦¥§¥¢¥¨¥é¡¼
-@end itemize
-
-ËÜÀá¤Ç¤Ï¡¢@strong{MySQL} ¤Î¥Ç¡¼¥¿¤Î°·¤¤Êý¡¢¸¡ºº¤ÎÊýË¡¤ò½Ò¤Ù¤Þ¤¹¡£
-¤â¤·¥Æ¡¼¥Ö¥ë¤¬¤¿¤¯¤µ¤ó¥À¥á¤Ë¤Ê¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
-¤¢¤Ê¤¿¤Ï¡¢¤³¤ÎÍýͳ¤ò¸«¤Ä¤±¤ë¤è¤¦»î¤ß¤ë¤Ù¤­¤Ç¤¹!
-@xref{Debugging server}.
-
-Ç˲õ¤«¤é¤Î½¤Éü¤ò¤¹¤ë¾ì¹ç¡¢¡É¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î¤½¤ì¤¾¤ì¤Î¥Æ¡¼¥Ö¥ë @code{tbl_name} ¤Ï¡¢
-¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤¢¤ë»°¤Ä¤Î¥Õ¥¡¥¤¥ë¤Ë°ìÃפ¹¤ë¡É¡¢¤³¤ì¤òÍý²ò¤¹¤ë»ö¤Ï
-¤È¤Æ¤â½ÅÍפǤ¹¡§
-
-@multitable @columnfractions .2 .8
-@item @strong{File} @tab @strong{Purpose}
-@item @file{tbl_name.frm} @tab Table definition (form) file
-@item @file{tbl_name.MYD} @tab Data file
-@item @file{tbl_name.MYI} @tab Index file
-@end multitable
-
-¤³¤ì¤é»°¤Ä¤Î¥Õ¥¡¥¤¥ë¤ÏÍÍ¡¹¤ÊÊýË¡¤ÇÇ˲õ¤ò¼õ¤±¤ë»ö¤¬¤¢¤ê¤Þ¤¹¤¬¡¢
-¤³¤Î¾ì¹çºÇ¤âÌäÂ꤬µ¯¤³¤ê¤ä¤¹¤¤¤Î¤Ï¡¢¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤È¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
-
-@code{myisamchk} ¤Ï @file{.MYD} ¥Õ¥¡¥¤¥ë(¥Ç¡¼¥¿)¤Î¥³¥Ô¡¼¤ò°ì¹Ô°ì¹Ô¤ª¤³¤Ê¤¤¤Þ¤¹¡£
-¤³¤Î½¤Íý²áÄø¤ÎºÇ¸å¤Ë¡¢¸Å¤¤ @file{.MYD} ¥Õ¥¡¥¤¥ë¤ò¾Ã¤·¡¢¿·¤·¤¤¥Õ¥¡¥¤¥ë¤ò¥ª¥ê¥¸¥Ê¥ë¤Î̾Á°¤ËÊѹ¹¤·¤Þ¤¹¡£
-¤â¤· @code{--quick} ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¤Ê¤é¡¢@code{myisamchk} ¤Ï
- @file{.MYD} ¥Õ¥¡¥¤¥ë¤Î°ì»þ¥Õ¥¡¥¤¥ë¤òºî¤ê¤Þ¤»¤ó¡£¤½¤Î¤«¤ï¤ê¡¢@file{.MYD} ¥Õ¥¡¥¤¥ë
-¤¬Àµ¤·¤¤¤È²¾Äꤷ¤Æ¿·¤·¤¤¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤À¤±¤òºî¤ê¤Þ¤¹¡£
-¤³¤Î»þ @file{.MYD} ¥Õ¥¡¥¤¥ë¤Ï¤¤¤¸¤ê¤Þ¤»¤ó¡£
-¤³¤Î¾ì¹ç¡¢@code{myisamchk} ¤Ï¼«Æ°¤Ç @file{.MYD} ¥Õ¥¡¥¤¥ë¤Î´Ö°ã¤¤¤ò¸¡½Ð¤·¤Æ
-½¤Éü¤òÃæ»ß¤¹¤ë¤Î¤Ç¡¢°ÂÁ´¤Ç¤¹¡£
-
-@code{myisamchk} ¤ËÆó¤Ä @code{--quick} ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢@code{myisamchk} ¤Ï¤¤¤¯¤Ä¤«¤Î¥¨¥é¡¼(¥­¡¼¤Î½ÅÊ£¤È¤«)¤Ç¤ÏÃæ»ß¤Ï¤·¤Þ¤»¤ó¡£
-¤«¤ï¤ê¤Ë @file{.MYD} ¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤Þ¤¹¡£
-
-Ä̾ï¤Î½¤Íý¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë¥Ç¥£¥¹¥¯¤Î¥¹¥Ú¡¼¥¹¤Î¶õ¤­¤¬¾¯¤·¤·¤«Ìµ¤¤¾ì¹ç¤Ë¸Â¤Ã¤Æ¡¢
- @code{--quick} ¤ÎÆó²ó»ØÄ꤬Ìò¤ËΩ¤Á¤Þ¤¹¡£
-¤³¤Î¾ì¹ç,¤¢¤Ê¤¿¤Ï @code{myisamchk} ¤òÁö¤é¤»¤ëÁ°¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò
-¾¯¤Ê¤¯¤È¤â¤È¤ë¤Ù¤­¤Ç¤¹¡£
-
-@menu
-* Check:: ¥Æ¡¼¥Ö¥ë¤Î¥¨¥é¡¼¥Á¥§¥Ã¥¯ÊýË¡
-* Repair:: ¥Æ¡¼¥Ö¥ë¤Î½¤ÉüÊýË¡
-* Optimization:: ¥Æ¡¼¥Ö¥ë¤ÎºÇŬ²½
-@end menu
-
-@cindex Checking tables for errors
-@node Check, Repair, Crash recovery, Crash recovery
-@subsection ¥Æ¡¼¥Ö¥ë¤Î¥¨¥é¡¼¥Á¥§¥Ã¥¯ÊýË¡
-
-¥Æ¡¼¥Ö¥ë¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤Ë¤Ï,°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤:
-
-@table @code
-@item myisamchk tbl_name
-¤³¤ì¤Ï¤¹¤Ù¤Æ¤Î¸í¤ê¤Î99.99%¤ò¸«¤Ä¤±¤Þ¤¹¡£
-¤³¤ì¤¬¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤Êª¤Ï¡¢¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ÎÇ˲õ@strong{¤À¤±}¤Ç¤¹
-(¤³¤ì¤ÏÈó¾ï¤Ë¤Þ¤ì)¡£¤â¤·¥Æ¡¼¥Ö¥ë¤ò¥Á¥§¥Ã¥¯¤·¤¿¤¤¤Ê¤é¡¢¥ª¥×¥·¥ç¥ó¤Ê¤·¤Ç
- @code{myisamchk} ¤òÁö¤é¤¹¤«¡¢@code{-s} or @code{--silent} ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Þ¤¹¡£
-
-@item myisamchk -m tbl_name
-This finds 99.999% of all errors. It checks first all index for errors and
-then it reads through all rows. It calculates a checksum for all keys in
-the rows and verifies that they checksum matches the checksum for the keys
-in the index tree.
-
-@item myisamchk -e tbl_name
-¤³¤ì¤ÏÁ´¤Æ¤Î¥Ç¡¼¥¿¤ò´°àú¤ËÅ°ÄìŪ¤Ë¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
-(@code{-e} ¤Ï ``extended check'' ¤Î°Õ)¡£
-Á´¤Æ¤Î¥­¡¼¤Ë¤Ä¤¤¤Æ¡¢¤½¤ì¤é¤¬¤µ¤¹¹Ô¤¬Àµ¤·¤¤¤«¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë¡¢
-Æɤ߹þ¤ß¥Á¥§¥Ã¥¯¤ò¹Ô¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï¤¿¤¯¤µ¤ó¤Î¥­¡¼¤¬¤¢¤ëÂ礭¤Ê¥Æ¡¼¥Ö¥ë¤Ç¤Ï¡¢À¨¤¯»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹¡£
-@code{myisamchk} ¤ÏÄ̾ºÇ½é¤Î¥¨¥é¡¼¤¬¸«¤Ä¤«¤Ã¤¿»þÅÀ¤Ç»ß¤Þ¤ê¤Þ¤¹¡£
-¤â¤·¤è¤ê¾ðÊó¤¬ÆÀ¤¿¤¤¤Ê¤é¡¢@code{--verbose} (@code{-v}) ¥ª¥×¥·¥ç¥ó¤ò²Ã¤¨¤Þ¤¹¡£
-¤³¤ì¤Ï @code{myisamchk} ¤ò¥¨¥é¡¼¤¬20¸Ä½Ð¤ë¤Þ¤ÇÆ°ºî¤µ¤»Â³¤±¤Þ¤¹¡£
-ÉáÄ̤˻ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢@code{myisamchk} ¤À¤±¤Ç½½Ê¬¤Ç¤¹¡£(¥Æ¡¼¥Ö¥ë̾°Ê³°¤Î°ú¿ô¤Ï°ìÀÚ̵¤·)
-
-@item myisamchk -e -i tbl_name
-Á°¤Î¥³¥Þ¥ó¥É¤È»÷¤Æ¤¤¤Þ¤¹¤¬¡¢ @code{-i} ¥ª¥×¥·¥ç¥ó¤Ï @code{myisamchk} ¤Ë¤¤¤¯¤é¤«¤Î
-Åý·×¾ðÊó¤ò½Ð¤µ¤»¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
-@end table
-
-@node Repair, Optimization, Check, Crash recovery
-@subsection ¥Æ¡¼¥Ö¥ë¤Î½¤ÉüÊýË¡
-
-¥Æ¡¼¥Ö¥ëÇ˲õ¤ÎÃû¤·¤È¤·¤Æ¡¢¥¯¥¨¥ê¤¬Í½´ü¤»¤ºÃæÃǤ·¤¿¤ê¡¢°Ê²¼¤Î¤è¤¦¤Ê¥¨¥é¡¼¤¬½Ð¤¿¤ê¤·¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-@file{tbl_name.frm} is locked against change
-@item
-Can't find file @file{tbl_name.MYI} (Errcode: ###)
-@item
-Got error ### from table handler (Error 135 is an exception in this case)
-@item
-Unexpected end of file
-@item
-Record file is crashed
-@end itemize
-
-¤³¤ì¤é¤Î¾ì¹ç¡¢¤¢¤Ê¤¿¤Ï¼«Ê¬¤Î¥Æ¡¼¥Ö¥ë¤ò½¤Íý¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-@code{myisamchk} ¤Ï¤Û¤È¤ó¤É¤ÎÌäÂê¤ò¸«¤Ä¤±½Ð¤·½¤Àµ¤·¤Þ¤¹¡£
-
-½¤Éü²áÄø¤Ï°Ê²¼¤Çµ­½Ò¤¹¤ëºÇÂç4¤Ä¤ÎÃʳ¬¤òƧ¤ß¤Þ¤¹¡£
-¤³¤ì¤ò»Ï¤á¤ëÁ°¤Ë¡¢¤¢¤Ê¤¿¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ë @code{cd} ¤·¤Æ
-¥Æ¡¼¥Ö¥ë¥Õ¥¡¥¤¥ë¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò³Îǧ¤¹¤Ù¤­¤Ç¤¹¡£
-¤³¤ì¤é¥Õ¥¡¥¤¥ë¤Ï @code{mysqld} ¤ò¼Â¹Ô¤·¤Æ¤¤¤ëUnix¥æ¡¼¥¶¡¼¤¬Æɤ߹þ¤ß²Äǽ
-¤Ç¤¢¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤(¸¡ºº¤Î¤¹¤ë¤Î¤Ë¤¢¤Ê¤¿¤Ë¥Õ¥¡¥¤¥ë¤Î¥¢¥¯¥»¥¹¸¢¤âɬÍ×)¡£
-¤â¤·¥Õ¥¡¥¤¥ë¤ÎÊѹ¹¤ò¤¹¤ëɬÍפ¬¤¢¤ë¤Ê¤é¤Ð¡¢¥Õ¥¡¥¤¥ë¤Ø¤Î½ñ¤­¹þ¤ßµö²Ä¤âɬÍפǤ¹¡£
-
-If you are using @strong{MySQL} 3.23.16 and above you can (and should) use the
-@code{CHECK} and @code{REPAIR} commands to check and repair @code{MyISAM}
-tables. @xref{CHECK TABLE}. @xref{REPAIR TABLE}.
-
-The manual section about table maintenence includes the options to
-@code{isamchk}/@code{myisamchk}. @xref{Table maintenance}.
-
-The following section is for the cases where the above command fails or
-if you want to use the extended features that isamchk/myisamchk provides.
-
-If you are going to repair a table from the command line, you must first
-take down the @code{mysqld} server. Note that when you do
-@code{mysqladmin shutdown} on a remote server, the @code{mysqld} server
-will still be alive for a while after @code{mysqladmin} returns until
-all queries are stopped and all keys have been flushed to disk.
-
-@noindent
-@strong{Stage 1: ¥Æ¡¼¥Ö¥ë¤ò¥Á¥§¥Ã¥¯¤¹¤ë}
-
-@code{myisamchk *.MYI} (»þ´Ö¤¬¤«¤«¤Ã¤Æ¤â¤è¤¤¤Ê¤é @code{myisamchk -e *.MYI})
-¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-@code{-s} (silent) ¥ª¥×¥·¥ç¥ó¤ÏÉÔÍפʾðÊó¤Î½ÐÎϤò¤ª¤µ¤¨¤Þ¤¹¡£
-
-If the mysqld server is done you should use the --update option to tell
-@code{myisamchk} to mark the table as 'checked'.
-
-@code{myisamchk} ¤¬¥¨¥é¡¼¤òÊÖ¤·¤¿¾ì¹ç¤Ë¤À¤±¡¢¥Æ¡¼¥Ö¥ë¤ò½¤Éü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢Stage 2 ¤Ø¿Ê¤ß¤Þ¤¹¡£
-
-¥Á¥§¥Ã¥¯»þ¤Ë´ñ̯¤Ê¥¨¥é¡¼(@code{out of memory} ¥¨¥é¡¼¤Î¤è¤¦¤Ê) ¤¬µ¯¤­¤¿¾ì¹ç¡¢
-¤¢¤ë¤¤¤Ï @code{myisamchk} ¤¬Íî¤Á¤¿¾ì¹ç¡¢Stage 3 ¤Ë¿Ê¤ó¤Ç¤¯¤À¤µ¤¤¡£
-
-@noindent
-@strong{Stage 2: ´Êñ¤Ç°ÂÁ´¤Ê½¤Éü}
-
-¤Þ¤ººÇ½é¤Ë @code{myisamchk -r -q tbl_name} ¤ò»î¤ß¤Æ¤¯¤À¤µ¤¤
-(@code{-r -q} ¤Ï ``quick recovery mode''¤Î°Õ)¡£
-¤³¤ì¤Ï¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤Ë¿¨¤ì¤Ê¤¤¤Ç¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤Î½¤Íý¤ò»î¤ß¤Þ¤¹¡£
-¤â¤·¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤¬Á´¤Æ¤È¥Ç¡¼¥¿¥Õ¥¡¥¤¥ëÃæ¤ÎÀµ¤·¤¤¾ì½ê¤Ç¤Îºï½ü¥ê¥ó¥¯¥Ý¥¤¥ó¥È¤ò
-´Þ¤ó¤Ç¤¤¤ë¤Ê¤é¡¢¤³¤ì¤ÏÆ°ºî¤·¤Æ¥Æ¡¼¥Ö¥ë¤ò½¤Éü¤·¤Þ¤¹¡£
-À®¸ù¸å¡¢¼¡¤Î¥Æ¡¼¥Ö¥ë¤Î½¤Éü¤Ë¿Ê¤ó¤Ç¤¯¤À¤µ¤¤¡£
-¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¡¢°Ê²¼¤Î¼ê½ç¤Ç»î¤ß¤Æ¤¯¤À¤µ¤¤¡§
-
-@enumerate
-@item
-³¤±¤ëÁ°¤Ë¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-@code{myisamchk -r tbl_name} ¤ò»ÈÍѤ·¤Þ¤¹(@code{-r} ¤Ï ``recovery mode''¤Î°Õ)¡£
-¤³¤ì¤ÏÉÔÀµ¤Ê¥ì¥³¡¼¥É¤Èºï½ü¤µ¤ì¤¿¥ì¥³¡¼¥É¤ò¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤«¤é¾Ãµî¤·¡¢
-¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë(.MYI)¤òºÆ¹½ÃÛ¤·¤Þ¤¹¡£
-
-@item
-¾åµ­¤¬¼ºÇÔ¤·¤¿¾ì¹ç¡¢@code{myisamchk --safe-recover tbl_name} ¤ò»ÈÍѤ·¤Æ²¼¤µ¤¤¡£
-Safe recovery ¥â¡¼¥É¤Ï¸Å¤¤ÊýË¡¤ò»ÈÍѤ·¤Æ½¤Éü¤·¤Þ¤¹¡£
-¤³¤ì¤ÏÉáÄ̤ν¤Éü¥â¡¼¥É¤Ç¤Ï¹Ô¤ï¤Ê¤¤Áàºî¤ò¤¤¤¯¤Ä¤«¤â¤Ã¤Æ¤¤¤Þ¤¹¡£(ÃÙ¤¤¤Ç¤¹¤¬)
-@end enumerate
-
-¥Á¥§¥Ã¥¯¤Þ¤¿¤Ï½¤Éü»þ¤Ë¡¢¥á¥â¥êÉÔ­¤Î¤è¤¦¤Ê̯¤Ê¥¨¥é¡¼¤¬¤Ç¤¿¾ì¹ç¡¢¤Þ¤¿¤Ï
-@code{myisamchk} ¤¬¥¯¥é¥Ã¥·¥å¤·¤¿¾ì¹ç¤Ï¡¢Stage 3 ¤Ë¿Ê¤ó¤Ç¤¯¤À¤µ¤¤¡£
-
-@noindent
-@strong{Stage 3: Æñ¤·¤¤½¤Éü}
-
-¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë(.MYI)¤ÎºÇ½é¤Î 16K ¥Ö¥í¥Ã¥¯¤¬Ç˲õ¤µ¤ì¤¿¾ì¹ç¡¢
-¤Þ¤¿¤ÏÉÔÀµ¤Ê¾ðÊó¤ò´Þ¤à¾ì¹ç¡¢¤Þ¤¿¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤¬¤Ê¤¤¾ì¹ç¤Ë¤À¤±¡¢
-Ëܽ¤ÉüÃʳ¬¤ò·Ð¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢¿·¤·¤¤¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¼¡¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤:
-
-@enumerate
-@item
-¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë .MYD ¥Õ¥¡¥¤¥ë¤ò¤É¤³¤«°ÂÁ´¾ì½ê¤Ë°ÜÆ°¤·¤Þ¤¹¡£
-
-@item
-¿·¤·¤¤¶õ¤Î¥Ç¡¼¥¿¤È¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤òºî¤ë¤¿¤á¤Ë¡¢
-¥Æ¡¼¥Ö¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡§
-
-@example
-shell> mysql db_name
-mysql> DELETE FROM tbl_name;
-mysql> quit
-@end example
-
-@item
-¸Å¤¤¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ò¿·¤·¤¯ºî¤Ã¤¿¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£
-(¸Å¤¤¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ò move ¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡¨¤Ê¤ó¤éƬ¤ÎÌäÂ꤬µ¯¤­¤Þ¤¹)
-@end enumerate
-
-Stage 2 ¤ËÌá¤Ã¤Æ¤¯¤À¤µ¤¤¡£ @code{myisamchk -r -q} ¤Ï´û¤ËÆ°ºî¤·¤Þ¤¹¡£
-(¤³¤ì¤Ï̵¸Â¥ë¡¼¥×¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó).
-
-@noindent
-@strong{Stage 4: ¤È¤Æ¤âÆñ¤·¤¤½¤Éü}
-
-¤³¤ì¤Ï¡¢¥Ç¥£¥¹¥¯¥ê¥×¥¿¥Õ¥¡¥¤¥ë(.frm)¤â¥¯¥é¥Ã¥·¥å¤·¤¿¾ì¹ç¤Ë¤À¤±È¯À¸¤·¤Þ¤¹¡£
-¤³¤ì¤ÏȯÀ¸¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤Ê¤¼¤Ê¤é¥Ç¥£¥¹¥¯¥ê¥×¥¿¥Õ¥¡¥¤¥ë¤Ï
-¥Æ¡¼¥Ö¥ë¤¬À¸À®¤µ¤ì¤¿¸å¤Ë½ñ¤«¤ì¤ë¤³¤È¤Ï¤Ê¤¤¤«¤é¤Ç¤¹¡£
-
-@enumerate
-@item
-¥Ç¥£¥¹¥¯¥ê¥×¥¿¥Õ¥¡¥¤¥ë¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤«¤é¥ê¥¹¥È¥¢¤·¤Æ¡¢Stage 3 ¤ËÌá¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¥¢¤â¤Ç¤­¤Þ¤¹¡£¤½¤·¤Æ Stage 2 ¤ËÌá¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-¸å¼Ô¤Î¾ì¹ç¡¢@code{myisamchk -r} ¤Ç³«»Ï¤¹¤Ù¤­¤Ç¤¹¡£
-
-@item
-¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò»ý¤Ã¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢¥Æ¡¼¥Ö¥ë¤¬¤É¤Î¤è¤¦¤ËºîÀ®¤µ¤ì¤¿¤«¤òÀµ³Î¤ËÃΤäÆ
-¤¤¤ì¤Ð¡¢Â¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Ë¥Æ¡¼¥Ö¥ë¤Î¥³¥Ô¡¼¤òÀ¸À®¤·¤Þ¤¹¡£
-¿·¤·¤¤¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤òºï½ü¤·¡¢Àè¤Û¤Éºî¤Ã¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÃæ¤Î
-¥Ç¥£¥¹¥¯¥ê¥×¥¿¥Õ¥¡¥¤¥ë¤È¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤ò¡¢²õ¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Ë
-°ÜÆ°¤·¤Þ¤¹¡£¤³¤ì¤Ï¿·¤·¤¤¥Ç¥£¥¹¥¯¥ê¥×¥¿¥Õ¥¡¥¤¥ë¤È¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤ò
-Í¿¤¨¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤Ï¤½¤Î¤Þ¤Þ»Ä¤Ã¤Æ¤¤¤Þ¤¹¡£
-Stage 2 ¤Ë¿Ê¤ß¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤Î½¤Éü¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-@end enumerate
-
-@node Optimization, , Repair, Crash recovery
-@subsection ¥Æ¡¼¥Ö¥ë¤ÎºÇŬ²½
-
-ÃÇÊÒ²½¤µ¤ì¤¿¥ì¥³¡¼¥É¤Î·ë¹ç¤È¡¢
-¥ì¥³¡¼¥É¤Îºï½ü¤È¹¹¿·¤«¤éÀ¸¤¸¤ë̵Â̤ʥ¹¥Ú¡¼¥¹¤ÎÇÓ½ü¡¢
-¤³¤ì¤é¹Ô¤¦¤Ë¤Ï¡¢½¤Éü¥â¡¼¥É(recovery mode)¤Ç @code{myisamchk} ¤ò¼Â¹Ô¤·¤Þ¤¹¡§
-
-@example
-shell> myisamchk -r tbl_name
-@end example
-
-SQL @code{OPTIMIZE TABLE} ¤Ç¤âƱÍͤ˥ơ¼¥Ö¥ë¤òºÇŬ²½¤Ç¤­¤Þ¤¹¡£
-@code{OPTIMIZE TABLE} ¤Ï´Êñ¤Ç¤¹¤¬¡¢ @code{myisamchk} ¤ÎÊý¤¬Â®¤¤¤Ç¤¹¡£
-
-
-@code{myisamchk} ¤Ë¤Ï¡¢¤¢¤Ê¤¿¤¬¥Æ¡¼¥Ö¥ë¤ÎÀ­Ç½¤ò¸þ¾å¤µ¤»¤ë¤Î¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë
-¾¤Î¿¤¯¤Î¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹:
-
-@table @code
-@item -S, --sort-index
-¥¤¥ó¥Ç¥Ã¥¯¥¹¥Ä¥ê¡¼¥Ö¥í¥Ã¥¯¤Î¥½¡¼¥È¡£¹ß½ç¤Ë¥½¡¼¥È¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¥·¡¼¥¯(seek)¤òºÇŬ²½¤·¡¢¥­¡¼¤ò»ÈÍѤ·¤¿¥Æ¡¼¥Ö¥ë¤ÎÁöºº(scan)¤ò®¤¯¤·¤Þ¤¹¡£
-
-@item -R index_num, --sort-records=index_num
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¤è¤ë¥½¡¼¥È¡£¤³¤ì¤Ï¤¢¤Ê¤¿¤Î¥Ç¡¼¥¿¤ò¤è¤êÎɤ¯ÇÛÃÖ¤·¡¢
-¤³¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ·¤¿ @code{SELECT} , @code{ORDER BY} Áàºî¤ò®¤¯¤·¤Þ¤¹¡£
-(ºÇ½é¤Ë¤³¤ì¤ò¼Â¹Ô¤·¤Æ¥½¡¼¥È¤¹¤ë¤È¤­¤Ï»þ´Ö¤¬¤È¤Æ¤â¤«¤«¤ê¤Þ¤¹¡ª)
-¥Æ¡¼¥Ö¥ë¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹ÈÖ¹æ¤ò¸«¤Ä¤±¤ë¤¿¤á¤Ë¡¢ @code{SHOW INDEX} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤³¤ì¤Ï @code{myisamchk} ¤¬¹Ô¤¦¤Î¤ÈƱÍͤνç¤Ç¥Æ¡¼¥Ö¥ë¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤òɽ¼¨¤·¤Þ¤¹¡£
-¥¤¥ó¥Ç¥Ã¥¯¥¹ÈÖ¹æ¤Ï 1 ¤«¤é³«»Ï¤µ¤ì¤Þ¤¹¡£
-
-@item -a, --analyze
-¥Æ¡¼¥Ö¥ëÆâ¤Î¥­¡¼ÇÛÃÖ¤ÎʬÀÏ¡£
-¤³¤Î¥Æ¡¼¥Ö¥ë¤«¤é¥ì¥³¡¼¥É¤ò¼èÆÀ¤¹¤ëºÝ¤Ë¡¢
-·ë¹ç(join)¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò¸þ¾å¤µ¤»¤Þ¤¹¡£
-@end table
-
-For a full description of the option see @ref{myisamchk syntax}.
-
-@node Log files, , Crash recovery, Maintenance
-@section Log file maintenance
-
-@strong{MySQL} ¤ò¥í¥°¥Õ¥¡¥¤¥ë¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¾ì¹ç¡¢
-¤¢¤Ê¤¿¤Ï¡¢»þ¡¹¸Å¤¤¥í¥°¥Õ¥¡¥¤¥ë¤ò ¥ê¥à¡¼¥Ö/¥Ð¥Ã¥¯¥¢¥Ã¥× ¤·¡¢
- @strong{MySQL} ¤Ë¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Ë¥í¥°¤ò¼è¤ë¤è¤¦¤Ë»Ø¼¨¤·¤¿¤¤¤È»×¤¦¤³¤È¤Ç¤·¤ç¤¦¡£
-@xref{Update log}.
-
-@code{Redhat} Linux ¤Ë¤ª¤¤¤Æ¤Ï¡¢@code{mysql-log-rotate} ¥¹¥¯¥ê¥×¥È¤ò
-¤³¤ì¤Ë»ÈÍѤǤ­¤Þ¤¹¡£ ¤â¤· RPM ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Î @strong{MySQL} ¤ò
-¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤Ê¤é¡¢¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¼«Æ°¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£
-
-¾¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¼«Ê¬¼«¿È¤Çû¤¤¥¹¥¯¥ê¥×¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
-@code{cron} ¤Ç¥í¥°¥Õ¥¡¥¤¥ë¤ò°·¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£
-
-@code{mysqladmin flush-logs} ¥³¥Þ¥ó¥É¤« @code{FLUSH LOGS} SQLʸ¤Ç¡¢
-@strong{MySQL} ¤Ë¿·¤·¤¤¥í¥°¥Õ¥¡¥¤¥ë¤ò»ÈÍѤµ¤»¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
-¤â¤·¤¢¤Ê¤¿¤¬ @strong{MySQL} 3.21 ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢
- @code{mysqladmin refresh} ¤ò»ÈÍѤ·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-¾åµ­¤Î¥³¥Þ¥ó¥É¤Ï¡¢°Ê²¼¤Î¤è¤¦¤ËÆ°ºî¤·¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¤â¤·Ä̾ï¤Î¥í¥° (@code{--log}) ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢¤³¤Î¥í¥°¥Õ¥¡¥¤¥ë¤ò
-°ìÅÙÊĤ¸¤Æ¤«¤éºÆ¤Ó³«¤­¤Þ¤¹¡£
-(@file{mysql.log} ¤¬¥Ç¥Õ¥©¥ë¥È¤Î¥í¥°¥Õ¥¡¥¤¥ë).
-@item
-¤â¤·¹¹¿·¥í¥° (@code{--log-update}) ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢
-¹¹¿·¥í¥°¤òÊĤ¸¡¢¿·¤·¤¤¥í¥°¥Õ¥¡¥¤¥ë¤ò³«¤­¤Þ¤¹¡£¤½¤Î¤µ¤¤¡¢
-¥í¥°¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤¤¤ëÈÖ¹æ¤ÏÁý¤¨¤Þ¤¹¡£
-@end itemize
-
-¤â¤·¹¹¿·¥í¥°¤À¤±¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢¤¢¤Ê¤¿¤Ï¡¢¥í¥°¤ò flush ¤¹¤ë¤À¤±¤Ç¤è¤¯¤Æ¡¢
-¤½¤Î»þ¡¢¥Ð¥Ã¥¯¥¢¥Ã¥×¤Î¤¿¤á¸Å¤¤¹¹¿·¥í¥°¥Õ¥¡¥¤¥ë¤ò°ÜÆ°¤·¤Þ¤¹¡£
- ¤â¤·ÉáÄÌ¤Î¥í¥°¤ò»È¤Ã¤Æ¤¤¤ì¤Ð¡¢¤¢¤Ê¤¿¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-
-@example
-shell> cd mysql-data-directory
-shell> mv mysql.log mysql.old
-shell> mysqladmin flush-tables
-@end example
-
-¤³¤¦¤·¤Æ¤ª¤¤¤Æ¡¢@file{mysql.old} ¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤·ºï½ü¤·¤Þ¤¹¡£.
-
-@node Adding functions, Adding procedures, Maintenance, Top
-@chapter @strong{MySQL} ¤Ø¤Î¿·¤·¤¤´Ø¿ô¤ÎÄɲÃ
-
-@strong{MySQL}¤Ë¿·¤·¤¤´Ø¿ô¤òÄɲ乤ë¤Ë¤Ï2¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹:
-
-@itemize @bullet
-@item ¥æ¡¼¥¶ÄêµÁ´Ø¿ô(UDF:user-definable function)¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ̤·¤Æ´Ø¿ô¤òÄɲäǤ­¤Þ¤¹¡£
-¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤Ï¡¢@code{CREATE FUNCTION} ¤È @code{DROP FUNCTION} ¥¹¥Æ¡¼
-¥È¥á¥ó¥È¤ò»ÈÍѤ·¤Æ¡¢Æ°Åª¤ËÄɲᢺï½ü¤µ¤ì¤Þ¤¹¡£
-@xref{CREATE FUNCTION, , @code{CREATE FUNCTION}}.
-
-@item ¥Í¥¤¥Æ¥£¥Ö(¥Ó¥ë¥È¥¤¥ó) @strong{MySQL} ´Ø¿ô¤È¤·¤Æ´Ø¿ô¤òÄɲäǤ­¤Þ¤¹¡£
-¥Í¥¤¥Æ¥£¥Ö´Ø¿ô¤Ï @code{mysqld} ¥µ¡¼¥Ð¤ËÅý¹ç¤µ¤ì¡¢¹±µ×Ū¤ËÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-@end itemize
-
-¤½¤ì¤¾¤ì¤ÎÊýË¡¤Ë¤Ï¡¢Í­Íø¤ÊÅÀ¤ÈÉÔÍø¤ÊÅÀ¤¬¤¢¤ê¤Þ¤¹:
-
-@itemize @bullet
-@item
-¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤ò½ñ¤¯¾ì¹ç¡¢¥µ¡¼¥Ð¼«¿È¤ËÄɲ乤륪¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤ò¥¤¥ó
-¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£´Ø¿ô¤ò¥µ¡¼¥Ð¤ËÅý¹ç¤¹¤ë¾ì¹ç¤¢¤½¤ì¤ò¹Ô¤Ê¤¦É¬Í×
-¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-@item
-UDF ¤ò¥Ð¥¤¥Ê¥ê @strong{MySQL} ÇÛÉÛ¤ËÄɲ乤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Í¥¤¥Æ¥£¥Ö´Ø
-¿ô¤Ï¥½¡¼¥¹ÇÛÉÛ¤ÎÊѹ¹¤¬É¬ÍפǤ¹¡£
-@item
-@strong{MySQL} ÇÛÉÛ¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¾ì¹ç¡¢Á°¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿ UDF
-¤Î»ÈÍѤò·Ñ³¤Ç¤­¤Þ¤¹¡£¥Í¥¤¥Æ¥£¥Ö´Ø¿ô¤Ç¤Ï¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É¤ÎÅÙ¤ËÊѹ¹¤ò·«¤ê
-ÊÖ¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-@end itemize
-
-¿·¤·¤¤´Ø¿ô¤òÄɲ乤뤿¤á¤Ë¤É¤Á¤é¤ÎÊýË¡¤ò»ÈÍѤ·¤Æ¤â¡¢@code{ABS()} ¤ä
-@code{SOUNDEX()} ¤Î¤è¤¦¤Ê¥Í¥¤¥Æ¥£¥Ö´Ø¿ô¤ÈƱ¤¸¤è¤¦¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ
-¤¹¡£
-
-@menu
-* Adding UDF:: ¿·¤·¤¤¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤ÎÄɲÃ
-* Adding native function:: ¿·¤·¤¤¥Í¥¤¥Æ¥£¥Ö´Ø¿ô¤ÎÄɲÃ
-@end menu
-
-@cindex Adding user-definable functions
-@cindex User-definable functions, adding
-@cindex Functions, user-definable, adding
-@node Adding UDF, Adding native function, Adding functions, Adding functions
-@section ¿·¤·¤¤¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤ÎÄɲÃ
-
-@menu
-* UDF calling sequences:: UDF calling sequences
-* UDF arguments:: Argument processing
-* UDF return values:: Return values and error handling
-* UDF compiling:: Compiling and installing user-definable functions
-@end menu
-
-UDF µ¡¹½¤¬Æ°ºî¤¹¤ë¤¿¤á¤Ë¤Ï¡¢´Ø¿ô¤Ï C ¤« C++ ¤Ç½ñ¤«¤ì¤ëɬÍפ¬¤¢¤ê¡¢OS ¤¬
-ưŪ¥í¡¼¥Ç¥£¥ó¥°¤ò¥µ¥Ý¡¼¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£@strong{MySQL} ¥½¡¼¥¹ÇÛÉÛ
-¤Ï @file{sql/udf_example.cc} ¤ò´Þ¤ó¤Ç¤¤¤Æ¡¢¤³¤ì¤Ï£µ¤Ä¤Î¿·¤·¤¤´Ø¿ô¤òÄêµÁ
-¤·¤Æ¤¤¤Þ¤¹¡£UDF ¤Î¸Æ¤Ó½Ð¤·ÊýË¡¤¬¤É¤Î¤è¤¦¤ËƯ¤¯¤«¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤ò»²¹Í¤Ë¤·
-¤Æ¤¯¤À¤µ¤¤¡£
-
-SQL ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç»ÈÍѤ·¤¿¤¤¤½¤ì¤¾¤ì¤Î´Ø¿ô¤Ë¤Ä¤¤¤Æ¡¢Âбþ¤¹¤ë C (¤Þ¤¿¤Ï
-C++) ´Ø¿ô¤òÄêµÁ¤¹¤Ù¤­¤Ç¤¹¡£²¼¤ÎÀâÌÀ¤Ç¤Ï¡¢Ì¾Á° ``xxx'' ¤¬¥µ¥ó¥×¥ë´Ø¿ô̾¤È
-¤·¤Æ»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£SQL ¤È C/C++ »ÈÍÑË¡¤ò distinquish ¤¹¤ë¤¿¤á¤Ë¡¢
-@code{XXX()} (Âçʸ»ú) ¤Ï SQL ´Ø¿ô¸Æ¤Ó½Ð¤·¤òɽ¤ï¤·¡¢@code{xxx()} (¾®Ê¸»ú)
-¤Ï C/C++ ´Ø¿ô¸Æ¤Ó½Ð¤·¤òɽ¤ï¤·¤Þ¤¹¡£
-
-@code{XXX()} ¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤Ë½ñ¤¯ C/C++ ´Ø¿ô¤Ï:
-
-@table @asis
-@item @code{xxx()} (ɬÍ×)
-¥á¥¤¥ó´Ø¿ô¡£¤³¤ì¤Ï´Ø¿ô·ë²Ì¤¬·×»»¤µ¤ì¤ë¤È¤³¤í¤Ç¤¹¡£SQL ·¿¤È C/C++ ´Ø¿ô¤Î
-Ìá¤êÃÍ·¿¤ÎÂбþ¤Ï¼¡¤Ë¼¨¤·¤Þ¤¹:
-
-@multitable @columnfractions .2 .8
-@item @strong{SQL ·¿} @tab @strong{C/C++ ·¿}
-@item @code{STRING} @tab @code{char *}
-@item @code{INTEGER} @tab @code{long long}
-@item @code{REAL} @tab @code{double}
-@end multitable
-
-@item @code{xxx_init()} (¥ª¥×¥·¥ç¥ó)
-@code{xxx()} ¤Î½é´ü²½´Ø¿ô¡£¤³¤ì¤Ï¼¡¤Î¤è¤¦¤Ë»ÈÍѤµ¤ì¤Þ¤¹:
-
-@itemize @bullet
-@item
-@code{XXX()} ¤Î°ú¿ô¤Î¿ô¤Î¥Á¥§¥Ã¥¯
-@item
-°ú¿ô¤¬Í׵ᤵ¤ì¤ë·¿¤«¤É¤¦¤«¤Î¥Á¥§¥Ã¥¯¡¢¤Þ¤¿¡¢¥á¥¤¥ó´Ø¿ô¤¬¸Æ¤Ð¤ì¤ë»þ¤Ë˾¤à
-·¿¤Ë°ú¿ô¤ò¶¯À©¤¹¤ë¤è¤¦¤Ë @strong{MySQL} ¤ËÅÁ¤¨¤ë
-@item
-¥á¥¤¥ó´Ø¿ô¤¬É¬ÍפȤ¹¤ë¥á¥â¥ê¤Î³ä¤êÅö¤Æ
-@item
-·ë²Ì¤ÎºÇÂçŤλØÄê
-@item
-(@code{REAL} ´Ø¿ô¤Ç¤Ï) ¾®¿ôÉô¤ÎºÇÂç·å¿ô¤Î»ØÄê
-@item
-·ë²Ì¤¬ @code{NULL} ¤Ë¤Ê¤êÆÀ¤ë¤«¤É¤¦¤«¤Î»ØÄê
-@end itemize
-
-@item @code{xxx_deinit()} (¥ª¥×¥·¥ç¥ó)
-@code{xxx()} ¤Î½ªÎ»´Ø¿ô(deinitialization function)¡£¤³¤ì¤Ï½é´ü²½´Ø¿ô¤Ë¤è¤Ã
-¤Æ³ä¤êÅö¤Æ¤é¤ì¤¿¥á¥â¥ê¤ò²òÊü¤¹¤Ù¤­¤Ç¤¹¡£
-@end table
-
-SQL ¥¹¥Æ¡¼¥È¥á¥ó¥È¤¬ @code{XXX()} ¤ò¸Æ¤Ó½Ð¤¹¤È¤­¡¢@strong{MySQL} ¤Ï°ú¿ô
-¥Á¥§¥Ã¥¯¤ä¥á¥â¥ê³ä¤êÅö¤Æ¤Î¤è¤¦¤Ë¡¢É¬Íפʥ»¥Ã¥È¥¢¥Ã¥×¤ò¹Ô¤Ê¤ï¤»¤ë¤¿¤á¤Ë¡¢
-½é´ü²½´Ø¿ô @code{xxx_init()} ¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£@code{xxx_init()} ¤¬¥¨¥é¡¼
-¤òÊÖ¤¹¾ì¹ç¡¢SQL ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤È¶¦¤Ë°Û¾ï½ªÎ»¤·¡¢¥á¥¤¥ó
-´Ø¿ô¤È½ªÎ»´Ø¿ô¤Ï¸Æ¤Ó½Ð¤µ¤ì¤Þ¤»¤ó¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢¥á¥¤¥ó´Ø¿ô
-@code{xxx()} ¤¬³Æ¹ÔËè¤Ë¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£Á´¤Æ¤Î¹Ô¤¬½èÍý¤µ¤ì¤¿¸å¡¢½ªÎ»´Ø¿ô
-@code{xxx_deinit()} ¤¬¡¢É¬ÍפÊÁݽü¤ò¹Ô¤Ê¤¦¤¿¤á¤Ë¡¢¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£
-
-Á´¤Æ¤Î´Ø¿ô¤Ï¥¹¥ì¥Ã¥É°ÂÁ´¤Ç¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó(¥á¥¤¥ó´Ø¿ô¤À¤±¤Ç¤Ê¤¯¡¢½é´ü
-²½´Ø¿ô¤È½ªÎ»´Ø¿ô¤âƱÍͤǤ¹)¡£¤³¤ì¤ÏÊѹ¹¤µ¤ì¤¦¤ë¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤äÀÅŪÊÑ¿ô
-¤ò³ä¤êÅö¤Æ¤ë¤³¤È¤Ïµö¤µ¤ì¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡ª ¥á¥â¥ê¤¬É¬Íפʾì¹ç¤Ï¡¢
-@code{xxx_init()} ¤Ç³ä¤êÅö¤Æ¡¢@code{xxx_deinit()} ¤Ç¤½¤ì¤ò²òÊü¤¹¤Ù¤­¤Ç¤¹¡£
-
-@node UDF calling sequences, UDF arguments, Adding UDF, Adding UDF
-@subsection UDF ¸Æ¤Ó½Ð¤·¥·¡¼¥±¥ó¥¹
-
-¥á¥¤¥ó´Ø¿ô¤Ï²¼¤Ë¼¨¤¹¤è¤¦¤ËÀë¸À¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£Ìá¤êÃÍ·¿¤È°ú¿ô¤Ï¡¢
-@code{CREATE FUNCTION} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç¡¢SQL ´Ø¿ô @code{XXX()} ¤ÎÌá¤êÃÍ
-¤ò@code{STRING}, @code{INTEGER}, @code{REAL} ¤Î¤É¤ì¤ËÀë¸À¤¹¤ë¤«¤Ë°Í¸¤·
-¤Æ°Û¤Ê¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤:
-
-@noindent
-@code{STRING} ´Ø¿ô¤Ç¤Ï:
-
-@example
-char *xxx(UDF_INIT *initid, UDF_ARGS *args,
- char *result, unsigned long *length,
- char *is_null, char *error);
-@end example
-
-@noindent
-@code{INTEGER} ´Ø¿ô¤Ç¤Ï:
-
-@example
-long long xxx(UDF_INIT *initid, UDF_ARGS *args,
- char *is_null, char *error);
-@end example
-
-@noindent
-@code{REAL} ´Ø¿ô¤Ç¤Ï:
-
-@example
-double xxx(UDF_INIT *initid, UDF_ARGS *args,
- char *is_null, char *error);
-@end example
-
-½é´ü²½¤È½ªÎ»´Ø¿ô¤Ï¼¡¤Î¤è¤¦¤ËÀë¸À¤·¤Þ¤¹:
-
-@example
-my_bool xxx_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
-
-void xxx_deinit(UDF_INIT *initid);
-@end example
-
-@code{initid} °ú¿ô¤Ï£³¤Ä¤Î´Ø¿ôÁ´¤Æ¤ËÅϤµ¤ì¤Þ¤¹¡£¤³¤ì¤Ï @code{UDF_INIT}
-¹½Â¤ÂΤò¼¨¤·¡¢´Ø¿ô´Ö¤Ç¾ðÊó¤òÅÁ㤹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£@code{UDF_INIT}
-¹½Â¤ÂΤΥá¥ó¥Ð¤Ï²¼¤Ë°ìÍ÷¤·¤Þ¤¹¡£½é´ü²½´Ø¿ô¤ÏÊѹ¹¤·¤¿¤¤Á´¤Æ¤Î¥á¥ó¥Ð¤òËä¤á
-¤ë¤Ù¤­¤Ç¤¹¡£(¥á¥ó¥Ð¤Ë¥Ç¥Õ¥©¥ë¥È¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢Ì¤Êѹ¹¤Î¤Þ¤Þ¤Ë¤·¤Æ¤¯¤À¤µ
-¤¤¡£)
-
-@table @code
-@item my_bool maybe_null
-@code{xxx()} ¤¬ @code{NULL} ¤òÊÖ¤¹¾ì¹ç¡¢@code{xxx_init()} ¤Ï
-@code{maybe_null} ¤ò @code{1} ¤ËÀßÄꤹ¤Ù¤­¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢°ú¿ô¤Î¤¤
-¤º¤ì¤«¤¬ @code{maybe_null} ¤È¤·¤ÆÀë¸À¤µ¤ì¤¿¾ì¹ç¡¢@code{1} ¤Ç¤¹¡£
-
-@item unsigned int decimals
-¾®¿ôÉô¤Î·å¿ô¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϥᥤ¥ó´Ø¿ô¤ËÅϤµ¤ì¤ë°ú¿ô¤Î¾®¿ôÉô¤ÎºÇÂç·å¿ô¤Ç
-¤¹¡£(Î㤨¤Ð¡¢´Ø¿ô¤Ë @code{1.34}, @code{1.345}, @code{1.3} ¤¬ÅϤµ¤ì¤¿¾ì¹ç¡¢
-¥Ç¥Õ¥©¥ë¥È¤Ï 3 ¤Ç¤¹¡£@code{1.345} ¤¬ 3 ·å¤Î¾®¿ôÉô¤ò»ý¤Ä¤¿¤á¤Ç¤¹¡£)
-
-@item unsigned int max_length
-ʸ»úÎó·ë²Ì¤ÎºÇÂçĹ¡£¥Ç¥Õ¥©¥ë¥ÈÃͤϴؿô¤ÎÌá¤êÃÍ·¿¤Ë°Í¸¤·¤Æ°Û¤Ê¤ê¤Þ¤¹¡£Ê¸
-»úÎó´Ø¿ô¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤ÏºÇ¤âŤ¤°ú¿ô¤ÎŤµ¤Ç¤¹¡£À°¿ô´Ø¿ô¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë
-¥È¤Ï 21 ·å¤Ç¤¹¡£¼Â¿ô´Ø¿ô¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ï 13 ¤Ë @code{initid->decimals}
-¤Ç¼¨¤µ¤ì¤ë¾®¿ôÉô¤Î·å¿ô¤ò²Ã¤¨¤¿¤â¤Î¤Ç¤¹¡£(¿ôÃÍ´Ø¿ô¤Ç¤Ï¡¢Ä¹¤µ¤ÏÉä¹æ¤È¾®¿ô
-ÅÀʸ»ú¤ò´Þ¤ß¤Þ¤¹¡£)
-
-@item char *ptr
-¤½¤ì¼«¿È¤ÎÌÜŪ¤Î¤¿¤á¤Ë´Ø¿ô¤¬»ÈÍѤǤ­¤ë¥Ý¥¤¥ó¥¿¤Ç¤¹¡£Î㤨¤Ð¡¢´Ø¿ô¤Ï³ä¤êÅö
-¤Æ¤¿¥á¥â¥ê¤ò´Ø¿ô´Ö¤ÇÅÁ㤹¤ë¤¿¤á¤Ë¡¢@code{initid->ptr} ¤ò»ÈÍѤǤ­¤Þ¤¹¡£
-@code{xxx_init()} ¤Ç¤Ï¡¢¥á¥â¥ê¤ò³ÍÆÀ¤·¡¢¤³¤Î¥Ý¥¤¥ó¥¿¤Ë³ä¤êÅö¤Æ¤Þ¤¹:
-
-@example
-initid->ptr = allocated_memory;
-@end example
-
-@code{xxx()} ¤È @code{xxx_deinit()} ¤Ç¤Ï¡¢@code{initid->ptr} ¤ò»²¾È¤·¤Æ¡¢
-¥á¥â¥ê¤ò»ÈÍѤޤ¿¤Ï²òÊü¤·¤Þ¤¹¡£
-@end table
-
-@node UDF arguments, UDF return values, UDF calling sequences, Adding UDF
-@subsection °ú¿ô½èÍý
-
-@code{args} °ú¿ô¤Ï¼¡¤Ë¼¨¤¹¥á¥ó¥Ð¤ò»ý¤Ä @code{UDF_ARGS} ¹½Â¤ÂΤؤΥݥ¤¥ó
-¥¿¤Ç¤¹:
-
-@table @code
-@item unsigned int arg_count
-°ú¿ô¤Î¿ô¡£´Ø¿ô¤¬ÆÃÄê¤Î°ú¿ô¤Î¿ô¤Ç¸Æ¤Ó½Ð¤µ¤ì¤ë¤³¤È¤ò´üÂÔ¤¹¤ë¾ì¹ç¤Ï¡¢½é´ü²½
-´Ø¿ô¤Ç¤³¤ÎÃͤò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£Î㤨¤Ð:
-
-@example
-if (args->arg_count != 2)
-@{
- strcpy(message,"XXX() requires two arguments");
- return 1;
-@}
-@end example
-
-
-@item enum Item_result *arg_type
-°ú¿ô¤Î·¿¡£²Äǽ¤Ê·¿¤ÎÃÍ¤Ï @code{STRING_RESULT}, @code{INT_RESULT},
-@code{REAL_RESULT} ¤Ç¤¹¡£
-
-°ú¿ô¤¬Í¿¤¨¤é¤ì¤¿·¿¤Ç¤¢¤ë¤³¤È¤È¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¥¨¥é¡¼¤òÊÖ¤¹¤³¤È¤ò³Î¼Â¤Ë¤¹
-¤ë¤¿¤á¤Ë¡¢½é´ü²½´Ø¿ô¤Ç @code{arg_type} ÇÛÎó¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£Î㤨
-¤Ð:
-
-@example
-if (args->arg_type[0] != STRING_RESULT
- && args->arg_type[1] != INT_RESULT)
-@{
- strcpy(message,"XXX() requires a string and an integer");
- return 1;
-@}
-@end example
-
-´Ø¿ô¤Î°ú¿ô¤¬ÆÃÄê¤Î·¿¤òÍ׵᤹¤ë¤¿¤á¤ÎÂå°Æ¤È¤·¤Æ¡¢½é´ü²½´Ø¿ô¤ò»ÈÍѤ·¤Æ¡¢
-@code{arg_type} Í×ÁǤòµá¤á¤ë·¿¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï @strong{MySQL} ¤Ë
-@code{xxx()} ¤Î³Æ¸Æ¤Ó½Ð¤·¤Ë¤³¤ì¤é¤Î·¿¤ò°ú¿ô¤Ë¶¯À©¤¹¤ë¤è¤¦¤Ë¤µ¤»¤Þ¤¹¡£Îã
-¤¨¤Ð¡¢ºÇ½é¤Î£²¤Ä¤Î°ú¿ô¤Ëʸ»úÎó¤ÈÀ°¿ô¤ò¶¯À©¤¹¤ë¤è¤¦¤Ë»ØÄꤹ¤ë¤Ë¤Ï¡¢
-@code{xxx_init()} ¤Ç¼¡¤ò¹Ô¤Ê¤Ã¤Æ¤¯¤À¤µ¤¤:
-
-@example
-args->arg_type[0] = STRING_RESULT;
-args->arg_type[1] = INT_RESULT;
-@end example
-
-@item char **args
-@code{args->args} ¤Ï¡¢´Ø¿ô¤¬¸Æ¤Ð¤ì¤ë»þ¤Î°ú¿ô¤Î°ìÈÌŪ¤ÊÆÃÀ­¤Ë¤Ä¤¤¤Æ¡¢¾ðÊó
-¤ò½é´ü²½´Ø¿ô¤ËÅÁ㤷¤Þ¤¹¡£Äê¿ô°ú¿ô @code{i} ¤Ë¤Ä¤¤¤Æ¡¢
-@code{args->args[i]} ¤Ï°ú¿ôÃͤΤò¥Ý¥¤¥ó¥È¤·¤Þ¤¹¡£(ÃͤؤÎÀµ¤·¤¤¥¢¥¯¥»¥¹Êý
-Ë¡¤Ë¤Ä¤¤¤Æ¤Ï¸å½Ò¡£)ÈóÄê¿ô°ú¿ô¤Ë¤Ä¤¤¤Æ¡¢@code{args->args[i]} ¤Ï @code{0}
-¤Ç¤¹¡£Äê¿ô°ú¿ô¤ÏÄê¿ô¤À¤±¤ò»ÈÍѤ¹¤ëɽ¸½¤Ç¡¢@code{3}, @code{4*7-2},
-@code{SIN(3.14)} ¤Ê¤É¤Ç¤¹¡£ÈóÄê¿ô°ú¿ô¤Ï¹Ô¤«¤é¹Ô¤ËÊѹ¹¤µ¤ì¤ëÃͤò»²¾È¤¹¤ë
-ɽ¸½¤Ç¡¢¹àÌÜ̾¤äÈóÄê¿ô°ú¿ô¤Ç¸Æ¤Ó½Ð¤µ¤ì¤ë´Ø¿ô¤Ê¤É¤Ç¤¹¡£
-
-¥á¥¤¥ó´Ø¿ô¤Î¤½¤ì¤¾¤ì¤Î¸Æ¤Ó½Ð¤·¤Ë¤Ä¤¤¤Æ¡¢@code{args->args} ¤Ï¸½ºß½èÍý¤µ¤ì
-¤Æ¤¤¤ë¹Ô¤ËÅϤµ¤ì¤ë¼ÂºÝ¤Î°ú¿ô¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£
-
-´Ø¿ô¤Ï¼¡¤Î¤è¤¦¤Ë°ú¿ô @code{i} ¤ò»²¾È¤Ç¤­¤Þ¤¹:
-
-@itemize @bullet
-@item
-@code{STRING_RESULT} ·¿¤Î°ú¿ô¤Ï¡¢¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤Þ¤¿¤ÏǤ°Õ¤ÎŤµ¤Î¥Ç¡¼¥¿
-¤Î½èÍý¤òµö¤¹¤¿¤á¡¢Ê¸»úÎó¥Ý¥¤¥ó¥¿¡ÜŤµ¤È¤·¤ÆÍ¿¤¨¤é¤ì¤Þ¤¹¡£Ê¸»úÎóÆâÍƤÏ
-@code{args->args[i]} ¤È¤·¤ÆÍ­¸ú¤Ç¡¢Ê¸»úÎóĹ¤Ï @code{args->lengths[i]} ¤Ç
-¤¹¡£Ê¸»úÎó¤Ï NULL ½ªÃ¼¤È¤ß¤Ê¤¹¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-
-@item
-@code{INT_RESULT} ·¿¤Î°ú¿ô¤Ë¤Ä¤¤¤Æ¡¢@code{args->args[i]} ¤ò
-@code{long long} Ãͤ˥­¥ã¥¹¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹:
-
-@example
-long long int_val;
-int_val = *((long long*) args->args[i]);
-@end example
-
-@item
-@code{REAL_RESULT} ·¿¤Î°ú¿ô¤Ë¤Ä¤¤¤Æ¡¢@code{args->args[i]} ¤ò
-@code{double} Ãͤ˥­¥ã¥¹¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹:
-
-@example
-double real_val;
-real_val = *((double*) args->args[i]);
-@end example
-@end itemize
-
-@item unsigned long *lengths
-½é´ü²½´Ø¿ô¤Ç¤Ï¡¢@code{lengths} ÇÛÎó¤Ï³Æ°ú¿ô¤Ë¤Ä¤¤¤Æ¤ÎºÇÂçʸ»úÎóŤò¼¨¤·
-¤Þ¤¹¡£¥á¥¤¥ó´Ø¿ô¤Î³Æ¸Æ¤Ó½Ð¤·¤Ë¤Ä¤¤¤Æ¤Ï¡¢@code{lengths} ¤Ï¡¢¸½ºß½èÍý¤µ¤ì
-¤Æ¤¤¤ë¹Ô¤ËÅϤµ¤ì¤ëǤ°Õ¤Îʸ»úÎó°ú¿ô¤Î¼ÂºÝ¤ÎŤµ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£
-@code{INT_RESULT}, @code{REAL_RESULT} ·¿¤Î°ú¿ô¤Ë¤Ä¤¤¤Æ¤Ï¡¢@code{lengths}
-¤Ï¤Þ¤À°ú¿ô¤ÎºÇÂçŤò´Þ¤ó¤Ç¤¤¤Þ¤¹(½é´ü²½´Ø¿ô¤Ë¤Ä¤¤¤Æ¤Ï)¡£
-@end table
-
-@node UDF return values, UDF compiling, UDF arguments, Adding UDF
-@subsection Ìá¤êÃͤȥ¨¥é¡¼½èÍý
-
-½é´ü²½´Ø¿ô¤Ï¡¢¥¨¥é¡¼¤¬Ìµ¤¤¾ì¹ç¤Ï @code{0} ¤ò¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤Ð @code{1} ¤ò
-ÊÖ¤¹¤Ù¤­¤Ç¤¹¡£¥¨¥é¡¼¤¬È¯À¸¤¹¤ë¾ì¹ç¤Ï¡¢@code{xxx_init()} ¤Ï NULL ½ªÃ¼¥¨¥é¡¼
-¥á¥Ã¥»¡¼¥¸¤ò @code{message} ¥Ñ¥é¥á¡¼¥¿¤Ë³ÊǼ¤¹¤Ù¤­¤Ç¤¹¡£¤³¤Î¥á¥Ã¥»¡¼¥¸¤Ï
-¥¯¥é¥¤¥¢¥ó¥È¤ËÊÖ¤µ¤ì¤Þ¤¹¡£¥á¥Ã¥»¡¼¥¸¥Ð¥Ã¥Õ¥¡¤Ï @code{MYSQL_ERRMSG_SIZE}
-ʸ»úŤǤ¹¤¬¡¢80 ʸ»ú¤è¤ê¾®¤µ¤¯ÊݤĤ褦¤Ë»î¤ß¤ë¤Ù¤­¤Ç¤¹¡£É¸½àŪ¤ÊüËö²è
-Ì̤ÎÉý¤Ë¥Õ¥£¥Ã¥È¤¹¤ë¤è¤¦¤Ë¤Ç¤¹¡£
-
-¥á¥¤¥ó´Ø¿ô @code{xxx()} ¤ÎÊÖ¤¹ÃÍ¤Ï @code{long long} ¤È @code{double} ´Ø
-¿ô¤Ë¤Ä¤¤¤Æ¤Ï´Ø¿ôÃͤǤ¹¡£Ê¸»úÎó´Ø¿ô¤Ë¤Ä¤¤¤Æ¤Ï¡¢@code{result} ¤È
-@code{length} °ú¿ô¤Çʸ»úÎó¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£@code{result} ¤Ï¾¯¤Ê¤¯¤È¤â 255
-¥Ð¥¤¥ÈĹ¤Î¥Ð¥Ã¥Õ¥¡¤Ç¤¹¡£¤³¤ì¤é¤ËÆâÍƤÈÌá¤êÃͤÎŤµ¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£Îã
-¤¨¤Ð:
-
-@example
-memcpy(result, "result string", 13);
-*length = 13;
-@end example
-
-ʸ»úÎó´Ø¿ô¤ÏÄ̾ï¤Ï·ë²Ì¤ò¥Ý¥¤¥ó¥È¤¹¤ëÃͤòÊÖ¤·¤Þ¤¹¡£
-
-¥á¥¤¥ó´Ø¿ô¤Ç @code{NULL} ÃͤÎÌá¤êÃͤò¼¨¤¹¤Ë¤Ï¡¢@code{is_null} ¤ò
-@code{1} ¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤:
-
-@example
-*is_null = 1;
-@end example
-
-¥á¥¤¥ó´Ø¿ô¤Ç¥¨¥é¡¼¤ÎÌá¤êÃͤò¼¨¤¹¤Ë¤Ï¡¢@code{error} ¥Ñ¥é¥á¡¼¥¿¤ò @code{1}
-¤ËÀßÄꤷ¤Þ¤¹:
-
-@example
-*error = 1;
-@end example
-
-@code{xxx()} ¤¬Ç¤°Õ¤Î¹Ô¤Ë¤Ä¤¤¤Æ @code{*error} ¤Ë @code{1} ¤òÀßÄꤹ¤ë¾ì¹ç¡¢
-´Ø¿ôÃͤϸ½ºß¤Î¹Ô¤Ë¤Ä¤¤¤Æ¤È¡¢¤½¤Î¸å¤Î @code{XXX()} ¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¥¹¥Æ¡¼¥È
-¥á¥ó¥È¤Ë¤è¤Ã¤Æ½èÍý¤µ¤ì¤ëǤ°Õ¤Î¹Ô¤Ë¤Ä¤¤¤Æ @code{NULL} ¤Ç¤¹¡£(@code{xxx()}
-¤Ï³¤¯¹Ô¤Ë¤Ä¤¤¤Æ¤Ï¸Æ¤Ó½Ð¤·¤µ¤¨¤µ¤ì¤Þ¤»¤ó¡£) @strong{Ãí°Õ:} 3.22.10 ¤è¤ê
-Á°¤Î @strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢@code{*error} ¤È @code{*is_null} ¤Î
-ξÊý¤ËÀßÄꤹ¤Ù¤­¤Ç¤¹:
-
-@example
-*error = 1;
-*is_null = 1;
-@end example
-
-@node UDF compiling, , UDF return values, Adding UDF
-@subsection ¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤Î¥³¥ó¥Ñ¥¤¥ë¤È¥¤¥ó¥¹¥È¡¼¥ë
-
-UDF ¤ò¼ÂÁõ¤¹¤ë¥Õ¥¡¥¤¥ë¤Ï¥µ¡¼¥Ð¤¬Æ°ºî¤¹¤ë¥Û¥¹¥È¾å¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¥¤¥ó¥¹¥È¡¼
-¥ë¤µ¤ì¤Ê¤¤¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î½èÍý¤Ï¥µ¥ó¥×¥ë UDF ¥Õ¥¡¥¤¥ë
-@file{udf_example.cc} ¤Ë¤Ä¤¤¤Æ¼¡¤ËÀâÌÀ¤·¤Þ¤¹¡£¤³¤ì¤Ï @strong{MySQL} ¥½¡¼
-¥¹ÇÛÉۤ˴ޤޤì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¼¡¤Î´Ø¿ô¤ò´Þ¤ß¤Þ¤¹:
-
-@itemize @bullet
-@item
-@code{metaphon()} ¤Ïʸ»úÎó°ú¿ô¤Î metaphon ʸ»úÎó¤òÊÖ¤·¤Þ¤¹¡£¤³¤ì¤Ï»þ¤Ë¤Ï
-soundex ʸ»úÎó¤Ç¤¹¤¬¡¢¤µ¤é¤Ë±Ñ¸ìÍѤËÄ´À°¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-@item
-@code{myfunc_double()} ¤Ï°ú¿ô¤Îʸ»ú¤Î ASCII Ãͤιç·×¤ò°ú¿ô¤ÎŤµ¤Î¹ç·×¤Ç
-³ä¤Ã¤¿ÃͤòÊÖ¤·¤Þ¤¹¡£
-@item
-@code{myfunc_int()} ¤Ï°ú¿ô¤ÎŤµ¤Î¹ç·×¤òÊÖ¤·¤Þ¤¹¡£
-@item
-@code{lookup()} ¤Ï¥Û¥¹¥È̾¤Î IP ÈÖ¹æ¤òÊÖ¤·¤Þ¤¹¡£
-@item
-@code{reverse_lookup()} ¤Ï IP ÈÖ¹æ¤Î¥Û¥¹¥È̾¤òÊÖ¤·¤Þ¤¹¡£¤³¤Î´Ø¿ô¤Ïʸ»úÎó
-@code{"xxx.xxx.xxx.xxx"} ¤Þ¤¿¤Ï£´¤Ä¤Î¿ôÃͤȤȤâ¤Ë¸Æ¤Ð¤ì¤Þ¤¹¡£
-@end itemize
-
-ưŪ¥í¡¼¥É²Äǽ¥Õ¥¡¥¤¥ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê²¿¤é¤«¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢¶¦Í­¥ª¥Ö
-¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤Ù¤­¤Ç¤¹:
-
-@example
-shell> gcc -shared -o udf_example.so myfunc.cc
-@end example
-
-@strong{MySQL} ¥½¡¼¥¹¥Ä¥ê¡¼¤Î @file{sql} ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ç¼¡¤Î¥³¥Þ¥ó¥É¤ò
-¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¥·¥¹¥Æ¥à¤Î¥³¥ó¥Ñ¥¤¥é¥ª¥×¥·¥ç¥ó¤ò´Êñ¤ËÀµ¤·¤¯¸«¤Ä¤±½Ð
-¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-
-@example
-shell> make udf_example.o
-@end example
-
-@code{make} ¤¬É½¼¨¤¹¤ë¤â¤Î¤Ë»÷¤¿¥³¥ó¥Ñ¥¤¥ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤Ù¤­¤Ç¤¹¤¬¡¢¹Ô
-Ëö¶á¤¯¤Î @code{-c} ¥ª¥×¥·¥ç¥ó¤ò¼è¤ê½ü¤¤¤Æ¡¢@code{-o udf_example.so} ¤ò¹Ô
-Ëö¤Ë¤Ä¤±¤Æ¤¯¤À¤µ¤¤¡£(¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¤Ë @code{-c} ¤ò»Ä¤¹
-ɬÍפ¬¤¢¤ê¤Þ¤¹¡£)
-
-UDF ¤ò´Þ¤à¶¦Í­¥ª¥Ö¥¸¥§¥¯¥È¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢¤½¤ì¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤½¤Î
-¤³¤È¤ò @strong{MySQL} ¤ËÃΤ餻¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£@file{udf_example.cc} ¤«
-¤é¤Î¶¦Í­¥ª¥Ö¥¸¥§¥¯¥È¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï¡¢@file{udf_example.so} ¤Î¤è¤¦¤Ê²¿¤«¤Î
-¥Õ¥¡¥¤¥ë̾¤òÄ󶡤·¤Þ¤¹(¼ÂºÝ¤Î̾Á°¤Ï¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤ÆÊѤï¤ê¤Þ¤¹)¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤ò @file{/usr/lib} ¤Î¤è¤¦¤Ê @code{ld} ¤¬Ãµ¤¹¤É¤³¤«¤Î¥Ç¥£¥ì¥¯
-¥È¥ê¤Ë¥³¥Ô¡¼¤·¤Æ¤¯¤À¤µ¤¤¡£Â¿¤¯¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢@code{LD_LIBRARY} ¤Þ¤¿¤Ï
-@code{LD_LIBRARY_PATH} ´Ä¶­ÊÑ¿ô¤òÀßÄꤷ¤Æ¡¢UDF ´Ø¿ô¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¥Ç¥£¥ì
-¥¯¥È¥ê¤ò¼¨¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£@code{dlopen} ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï¥·¥¹¥Æ¥à¾å¤Ç
-»ÈÍѤ¹¤Ù¤­ÊÑ¿ô¤ò¶µ¤¨¤Æ¤¯¤ì¤Þ¤¹¡£¤³¤ì¤ò @code{mysql.server} ¤Þ¤¿¤Ï
-@code{safe_mysqld} ¤ËÀßÄꤷ¡¢@code{mysqld} ¤òºÆµ¯Æ°¤¹¤Ù¤­¤Ç¤¹¡£
-
-¥é¥¤¥Ö¥é¥ê¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¸å¡¢@code{mysqld} ¤Ë¿·¤·¤¤´Ø¿ô¤Ë¤Ä¤¤¤Æ¼¡¤Î
-¥³¥Þ¥ó¥É¤ÇÄÌÃΤ¹¤Ù¤­¤Ç¤¹:
-
-@example
-mysql> CREATE FUNCTION metaphon RETURNS STRING SONAME "udf_example.so";
-mysql> CREATE FUNCTION myfunc_double RETURNS REAL SONAME "udf_example.so";
-mysql> CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "udf_example.so";
-mysql> CREATE FUNCTION lookup RETURNS STRING SONAME "udf_example.so";
-mysql> CREATE FUNCTION reverse_lookup RETURNS STRING SONAME "udf_example.so";
-@end example
-
-´Ø¿ô¤Ï @code{DROP FUNCTION} ¤ò»ÈÍѤ·¤Æºï½ü¤Ç¤­¤Þ¤¹:
-
-@example
-mysql> DROP FUNCTION metaphon;
-mysql> DROP FUNCTION myfunc_double;
-mysql> DROP FUNCTION myfunc_int;
-mysql> DROP FUNCTION lookup;
-mysql> DROP FUNCTION reverse_lookup;
-@end example
-
-@code{CREATE FUNCTION} ¤È @code{DROP FUNCTION} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ï
-@code{mysql} ¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ë @code{func} ¤ò¹¹¿·¤·¤Þ¤¹¡£
-´Ø¿ô¤Î̾Á°¡¢·¿¡¢¶¦Í­¥é¥¤¥Ö¥é¥ê̾¤Ï¥Æ¡¼¥Ö¥ë¤ËÊݸ¤µ¤ì¤Þ¤¹¡£ºîÀ®¤ÈÇË´þµ¡Ç½
-¤Î¤¿¤á¤Ë¤Ï¡¢@code{mysql} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë @strong{insert} ¤È
-@strong{delete} ¸¢¸Â¤ò»ý¤ÄɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-´û¤ËÀ¸À®¤·¤Æ¤¢¤ë´Ø¿ô¤òÄɲ乤뤿¤á¤Ë @code{CREATE FUNCTION} ¤ò»ÈÍѤ¹¤Ù¤­
-¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£´Ø¿ô¤ÎºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¬É¬Íפʾì¹ç¤Ï¡¢@code{DROP FUNCTION}
-¤Ç¤½¤ì¤òºï½ü¤·¡¢¤½¤ì¤«¤é @code{CREATE FUNCTION} ¤ÇºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤Ù¤­¤Ç
-¤¹¡£Î㤨¤Ð¡¢´Ø¿ô¤Î¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤ÎºÆ¥³¥ó¥Ñ¥¤¥ë¤ò¤·¤¿¾ì¹ç¡¢
-@code{mysqld} ¤¬¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤òÆÀ¤ë¤¿¤á¤Ë¡¢¤³¤ì¤ò¹Ô¤Ê¤¦É¬Íפ¬¤¢¤ë¤Ç¤·¤ç
-¤¦¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢¥µ¡¼¥Ð¤Ï¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î»ÈÍѤò·Ñ³¤·¤Þ¤¹¡£
-
-@code{mysqld} ¤ò @code{--skip-grant-tables} ¥ª¥×¥·¥ç¥ó¤Çµ¯Æ°¤·¤Ê¤¯¤Æ¤â¡¢
-Í­¸ú¤Ê´Ø¿ô¤Ï¥µ¡¼¥Ð¤Î³«»ÏËè¤ËºÆÆɤ߹þ¤ß¤µ¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢UDF ½é´ü²½¤ÏÈô
-¤Ð¤µ¤ì¡¢UDF ¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£(Í­¸ú¤Ê´Ø¿ô¤Ï @code{CREATE FUNCTION} ¤Ç¥í¡¼
-¥É¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤Ç¡¢@code{DROP FUNCTION} ¤Çºï½ü¤µ¤ì¤Æ¤¤¤Ê¤¤¤â¤Î¤Ç¤¹¡£)
-
-@cindex Adding native functions
-@cindex Native functions, adding
-@cindex Functions, native, adding
-@node Adding native function, , Adding UDF, Adding functions
-@section ¿·¤·¤¤¥Í¥¤¥Æ¥£¥Ö´Ø¿ô¤ÎÄɲÃ
-
-¥Í¥¤¥Æ¥£¥Ö´Ø¿ô¤òÄɲ乤뤿¤á¤Î¥×¥í¥·¥¸¥ã¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£¥Ð¥¤¥Ê¥êÇÛÉÛ¤Ë
-¤Ï¥Í¥¤¥Æ¥£¥Ö´Ø¿ô¤òÄɲäǤ­¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥×¥í¥·¥¸¥ã¤Ï
-@strong{MySQL} ¥½¡¼¥¹¥³¡¼¥É¤ÎÊѹ¹¤òɬÍפȤ¹¤ë¤¿¤á¤Ç¤¹¡£@strong{MySQL} ¤ò
-¥½¡¼¥¹ÇÛÉÛ¤«¤é¼«Ê¬¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢@strong{MySQL}
-¤Î¾¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë°Ü¹Ô¤¹¤ë¾ì¹ç(Î㤨¤Ð¡¢¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤¿
-»þ)¡¢¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Ç¤³¤Î¥×¥í¥·¥¸¥ã¤ò·«¤êÊÖ¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-
-¿·¤·¤¤¥Í¥¤¥Æ¥£¥Ö @strong{MySQL} ´Ø¿ô¤òÄɲ乤뤿¤á¤Ë¤Ï¡¢¼¡¤Î¥¹¥Æ¥Ã¥×¤Ë½¾¤Ã
-¤Æ¤¯¤À¤µ¤¤:
-
-@enumerate
-@item
-@code{sql_functions[]} ÇÛÎóÆâ¤Ç´Ø¿ô̾¤òÄêµÁ¤·¤Æ¤¤¤ë @file{lex.h} ¤Ë£±¹Ô
-Äɲ䷤Ƥ¯¤À¤µ¤¤¡£
-@item
-@file{sql_yacc.yy} ¤Ë£²¹ÔÄɲ䷤Ƥ¯¤À¤µ¤¤¡£°ì¤Ä¤Ï¡¢@code{yacc} ¤¬ÄêµÁ¤¹
-¤Ù¤­¥×¥ê¥×¥í¥»¥Ã¥µ¥·¥ó¥Ü¥ë¤ò»Ø¼¨¤·¤Þ¤¹(¤³¤ì¤Ï¥Õ¥¡¥¤¥ë¤ÎÀèƬ¤ËÄɲ乤٤­
-¤Ç¤¹)¡£¤½¤ì¤«¤é´Ø¿ô¥Ñ¥é¥á¡¼¥¿¤òÄêµÁ¤·¡¢¤³¤ì¤é¤Î¥Ñ¥é¥á¡¼¥¿¤È¤È¤â¤Ë
-``item'' ¤ò @code{simple_expr} ¥Ñ¡¼¥¹µ¬Â§¤ËÄɲä·¤Þ¤¹¡£Î㤨¤Ð¡¢¤³¤ì¤¬¤É
-¤Î¤è¤¦¤ËÆ°ºî¤¹¤ë¤«¤ò¸«¤ë¤Ë¤Ï¡¢@file{sql_yacc.yy} Æâ¤Î @code{SOUNDEX} ¤Î
-Á´¤Æ¤Î½ÐÍè»ö¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
-@item
-@file{item_func.h} Æâ¤Ç¡¢´Ø¿ô¤¬¿ôÃͤޤ¿¤Ïʸ»úÎó¤Î¤É¤Á¤é¤òÊÖ¤¹¤«¤Ë°Í¸¤·
-¤Æ¡¢@code{Item_num_func} ¤Þ¤¿¤Ï @code{Item_str_func} ¤«¤é·Ñ¾µ¤¹¤ë¥¯¥é¥¹
-¤òÀë¸À¤·¤Æ¤¯¤À¤µ¤¤¡£
-@item
-@file{item_func.cc} Æâ¤Ç¡¢¿ôÃͤޤ¿¤Ïʸ»úÎó¤Î¤É¤Á¤é¤Î´Ø¿ô¤òÄêµÁ¤¹¤ë¤«¤Ë°Í
-¸¤·¤Æ¡¢¼¡¤ÎÀë¸À¤Î°ì¤Ä¤òÄɲ䷤Ƥ¯¤À¤µ¤¤:
-@example
-double Item_func_newname::val()
-longlong Item_func_newname::val_int()
-String *Item_func_newname::Str(String *str)
-@end example
-@item
-¤ª¤½¤é¤¯¼¡¤Î´Ø¿ô¤âÄêµÁ¤¹¤Ù¤­¤Ç¤¹:
-@example
-void Item_func_newname::fix_length_and_dec()
-@end example
-¤³¤Î´Ø¿ô¤ÏÍ¿¤¨¤é¤ì¤¿°ú¿ô¤Ë´ð¤Å¤¤¤Æ¾¯¤Ê¤¯¤È¤â @code{max_length} ¤ò·×»»¤¹
-¤Ù¤­¤Ç¤¹¡£@code{max_length} ¤Ï´Ø¿ô¤¬ÊÖ¤·ÆÀ¤ëʸ»ú¤ÎºÇÂç¿ô¤Ç¤¹¡£¤³¤Î´Ø¿ô¤Ï¡¢
-¥á¥¤¥ó´Ø¿ô¤¬ @code{NULL} ÃͤòÊÖ¤¹¤³¤È¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢@code{maybe_null = 0}
-¤âÀßÄꤹ¤Ù¤­¤Ç¤¹¡£´Ø¿ô¤Ï¡¢°ú¿ô¤Î @code{maybe_null} ÊÑ¿ô¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤³
-¤È¤Ç¡¢´Ø¿ô¤ÎǤ°Õ¤Î°ú¿ô¤¬ @code{NULL} ¤òÊÖ¤·¤¦¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤Ç¤­¤Þ
-¤¹¡£
-@end enumerate
-
-Á´¤Æ¤Î´Ø¿ô¤Ï¥¹¥ì¥Ã¥É°ÂÁ´¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-ʸ»úÎó´Ø¿ô¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼¡¤Î¤¤¤¯¤Ä¤«¤ÎÄɲø¡Æ¤»ö¹à¤¬¤¢¤ê¤Þ¤¹:
-@itemize @bullet
-@item
-@code{String *str} °ú¿ô¤Ï¡¢·ë²Ì¤òÊÝ»ý¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ëʸ»úÎó¥Ð¥Ã¥Õ¥¡
-¤òÄ󶡤·¤Þ¤¹¡£
-@item
-´Ø¿ô¤Ï·ë²Ì¤òÊÝ»ý¤¹¤ëʸ»úÎó¤òÊÖ¤¹¤Ù¤­¤Ç¤¹¡£
-@item
-Á´¤Æ¤Î¸½ºß¤Îʸ»úÎó´Ø¿ô¤Ï¡¢ÀäÂФËɬÍפǤʤ¤¸Â¤ê¡¢¥á¥â¥ê³ä¤êÅö¤Æ¤òÈò¤±¤ë¤è
-¤¦¤Ë»î¤ß¤Æ¤¯¤À¤µ¤¤¡ª
-@end itemize
-
-@node Adding procedures, ODBC, Adding functions, Top
-@chapter Adding new procedures to MySQL
-
-In @strong{MySQL}, you can define a procedure in C++ that can access and
-modify the data in a query before it is sent to the client. The modification
-can be done on row by row or @code{GROUP BY} level.
-
-We have created an example procedure in @strong{MySQL} 3.23 to
-show you what can be done.
-
-@menu
-* procedure analyse:: Procedure analyse
-* Writing a procedure:: Writing a procedure.
-@end menu
-
-@node procedure analyse, Writing a procedure, Adding procedures, Adding procedures
-@section Procedure analyse
-
-@code{analyse([max elements,[max memory]])}
-
-This procedure is defined in the @file{sql/sql_analyse.cc}. This
-examines the result from your query and returns an analysis of the
-results.
-
-@itemize @bullet
-@item
-@code{max elements} (default 256) is the maximum number of distinct values
-@code{analyse} will notice per column. This is used by @code{analyse} to check if
-the optimal column type should be of type @code{ENUM}.
-@item
-@code{max memory} (default 8192) is the maximum memory @code{analyse} should
-allocate per column while trying to find all distinct values.
-@end itemize
-
-@example
-SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max elements,[max memory]])
-@end example
-
-@node Writing a procedure, , procedure analyse, Adding procedures
-@section Writing a procedure.
-
-For the moment, the only documentation for this is the source. :(
-
-You can find all information about procedures by examining the following files:
-
-@itemize @bullet
-@item @file{sql/sql_analyse.cc}
-@item @file{sql/procedure.h}
-@item @file{sql/procedure.cc}
-@item @file{sql/sql_select.cc}
-@end itemize
-
-@cindex ODBC
-@cindex Windows
-@cindex MyODBC
-@node ODBC, Common programs, Adding procedures, Top
-@chapter @strong{MySQL} ODBC Support
-
-@menu
-* Which ODBC OS:: Operating systems supported by @strong{MyODBC}
-* ODBC administrator:: How to fill in the various fields in the ODBC administrator program
-* ODBC Problems:: How to report problems with @strong{MySQL} ODBC
-* MyODBC clients:: Programs known to work with @strong{MyODBC}
-* ODBC and last_insert_id:: How to get the value of an @code{AUTO_INCREMENT} column in ODBC
-* MyODBC bug report:: Reporting problems with MyODBC
-@end menu
-
-@strong{MySQL} ¤Ï @strong{MyODBC} ¥×¥í¥°¥é¥à¤Ç ODBC µ¡Ç½¤òÄ󶡤·¤Þ¤¹¡£
-
-@node Which ODBC OS, ODBC administrator, ODBC, ODBC
-@section Operating systems supported by @strong{MyODBC}
-
-@strong{MyODBC} ¤Ï 32-bit ODBC (2.50) level 0 driver ¤Ç¡¢
-ODBC ²½¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ @strong{MySQL} ¤ËÀܳ¤¹¤ë¾ì¹ç¤Ë»ÈÍѤ·¤Þ¤¹¡£
-@strong{MyODBC} ¤Ï¡¢Windows95, Windows98, NT ¤È¤Û¤È¤ó¤É¤Î Unix ¤ÇÆ°¤­¤Þ¤¹¡£
-
-Ä̾@strong{MyODBC} ¤Ï Windows ¥Þ¥·¥ó¤Ë¤À¤±¡¢¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
-¡¢¤¢¤Ê¤¿¤Î¥×¥í¥°¥é¥à¤¬ ColdFusion ¤Î¤è¤¦¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤ÎÀܳ¤Ë
-ODBC ¤À¤±¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ë¸Â¤ê¡¢UNIX ¤Ë @strong{MyODBC} ¤¬É¬ÍפǤ¹¡£
-
-@strong{MyODBC} ¤Ï¥Ñ¥Ö¥ê¥Ã¥¯¡¦¥É¥á¥¤¥ó¤Ç¡¢ºÇ¿·¤Îʪ¤Ï°Ê²¼¤Ë¤¢¤ê¤Þ¤¹¡§
-@uref{http://www.mysql.com/download_myodbc.html}.
-
-ÆüËܸìʸ»ú¥³¡¼¥É¤ËÂбþ¤µ¤»¤¿Êª¤Ï¡§
-@uref{http://www.SoftAgency.co.jp/}.
-
-¤â¤·¡¢UNIX ¤Ë @strong{MyODBC} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤¤Ê¤é¡¢ @strong{ODBC}
-¥Þ¥Í¡¼¥¸¥ã¡¼¤âɬÍפǤ·¤ç¤¦¡£ @strong{MyODBC} ¤Ï UNIX ¤Î ODBC ¥Þ¥Í¡¼¥¸¥ã¡¼
-¤Ç¤âÆ°ºî¤¹¤ë¤³¤È¤¬ÃΤé¤ì¤Æ¤¤¤Þ¤¹¡£ @strong{MySQL} useful links page ¤Î
-@strong{ODBC}-related links Àá¤Ë¡¢¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@xref{Useful Links}.
-
-Windows/NT ¤Î¾ì¹ç¡¢@strong{MyODBC} ¤ò¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë¤¤¤«¤Î¤è¤¦¤Ê
-¥¨¥é¡¼¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó:
-
-@example
-An error occurred while copying C:\WINDOWS\SYSTEM\MFC30.DLL. Restart Windows
-and try installing again (before running any applications which use ODBC)
-@end example
-
-The problem in this case is that some other program is using ODBC and
-because of how windows is designed, one cannot in this case install new
-ODBC drivers with Microsoft's ODBC setup program. :(
-¤³¤ì¤ò²ò·è¤¹¤ë¤Ë¤Ï¡¢°ìÅÙ ¡Ç¥»¡¼¥Õ¥â¡¼¥É¡Ç¤Ç¥³¥ó¥Ô¥å¡¼¥¿¤òΩ¤Á¾å¤²Ä¾¤·¡¢
-(windows ¥ê¥Ö¡¼¥È»þ¤Ë¡¢F8¥­¡¼¤ò²¡¤¹¤³¤È¤Ç¡¢¥»¡¼¥Õ¥â¡¼¥É¤ÎÁªÂò¤¬²Äǽ¤Ç¤¹)
-@strong{MyODBC} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¡¢¥ê¥Ö¡¼¥È¤·¤Þ¤¹¡£
-
-@itemize @bullet
-@item
-Windows ¥Þ¥·¥ó¤«¤é UNIX ¤Ë ODBC ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò»ÈÍѤ·¤ÆÀܳ¤¹¤ë¤Ë¤Ï¡¢
-¤Þ¤ººÇ½é¤Ë Windows ¥Þ¥·¥ó¤Ë @strong{MyODBC} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¯¤Æ¤Ï
-¤Ê¤ê¤Þ¤»¤ó¡£
-@item
-UNIX ¾å¤Î @strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËÂФ·¤Æ¡¢¥æ¡¼¥¶¡¼¤È Windows ¥Þ¥·¥ó¤Î
-¥¢¥¯¥»¥¹µö²Ä¤òÍ¿¤¨¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢ @code{GRANT} ¥³¥Þ¥ó¥É¤Ç²Äǽ¤Ç¤¹¡£
-@xref{GRANT,,@code{GRANT}}.
-@item
-ODBC DSN ¤ò°Ê²¼¤Î¤è¤¦¤Ë¤·¤ÆºîÀ®¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡§
-
-@itemize @bullet
-@item
-Windows ¥Þ¥·¥ó¤Î¥³¥ó¥È¥í¡¼¥ë¥Ñ¥Í¥ë¤ò³«¤¯
-@item
-ODBC ¥¢¥¤¥³¥ó¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯
-@item
-"¥æ¡¼¥µ¡¼DSN" ¤ò¥¯¥ê¥Ã¥¯
-@item
-"ÄɲÃ..." ¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯
-@item
-¿·¤·¤¤¥Ç¡¼¥¿¥½¡¼¥¹ ¤Î²èÌ̤«¤é¡¢@strong{MySQL} ¤òÁª¤Ó¡¢´°Î»¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¡£
-@item
-TCX @strong{MySQL} Driver ¤Î¥Ç¥Õ¥©¥ë¥ÈÀßÄ꤬¸½¤ì¤Þ¤¹¡£
-@xref{ODBC administrator}.
-@end itemize
-
-@item
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤·¡¢¥³¥ó¥È¥í¡¼¥ë¥Ñ¥Í¥ë¤ÇÀßÄꤷ¤¿ ODBC DSN ¤òÁª¤Ó¤Þ¤¹
-@end itemize
-
-MyODBC ¤ÎÀßÄê²èÌ̤ˤϡ¢@strong{MySQL} Àܳ»þ¤Î¥ª¥×¥·¥ç¥ó¤¬¤¤¤¯¤Ä¤«
-ÀßÄê¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
-¤â¤·ÌäÂ꤬¤¢¤ë¾ì¹ç¤Ï¡¢¤³¤ì¤é¤ò»î¤·¤Þ¤¹¡£
-
-
-@node ODBC administrator, ODBC Problems, Which ODBC OS, ODBC
-@section ODBC ´ÉÍý¥×¥í¥°¥é¥à¤Î³Æ¼ï¹àÌܤòËä¤á¤ë¤Ë¤Ï¡©
-
-Windows95 ¾å¤Î¥µ¡¼¥Ð̾¤Îµ­½Ò¤Ë¤Ï3¤Ä¤Î²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹:
-
-@itemize @bullet
-@item
-¥µ¡¼¥Ð¤Î IP ¥¢¥É¥ì¥¹¤Î»ÈÍÑ
-@item
-¥Õ¥¡¥¤¥ë @file{\windows\lmhosts} ¤Ø¤Î¼¡¤Î¾ðÊó¤ÎÄɲÃ:
-
-@example
-ip hostname
-@end example
-
-Î㤨¤Ð¡§
-
-@example
-194.216.84.21 my
-@end example
-
-@item
-DNS ¤ò»ÈÍѤ¹¤ë¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£
-@end itemize
-
-@code{ODBC setup} ¤òËä¤á¤ëÊýË¡¤ÎÎã:
-@example
-Windows DSN name: test
-Description: This is my test database
-MySql Database: test
-Server: 194.216.84.21
-User: monty
-Password: my_password
-Port:
-@end example
-
-@code{Windows DSN name} ¹àÌܤÎÃͤϡ¢¤¢¤Ê¤¿¤Îwindows ODBC setup ¤Ë¤ª¤±¤ë
-°ì°Õ¤Î̾Á°¤Ç¤¹¡£
-
-ODBC setup ²èÌ̤ǡ¢@code{Server}, @code{User}, @code{Password}, @code{Port}
- ¥Õ¥£¡¼¥ë¥É¤òÀßÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-¤·¤«¤·¡¢¤³¤³¤ÇÀßÄê¤ò¤¹¤ë¤È¡¢¸å¤Ç¥µ¡¼¥Ð¡¼¤ËÀܳ¤¹¤ëºÝ¤Ë¡¢
-ÀßÄꤷ¤¿Ãͤ¬¥Ç¥Õ¥©¥ë¥ÈÃͤȤ·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£
-»ÈÍÑ»þ¤ËÃͤòÊѹ¹¤¹¤ë¥ª¥×¥·¥ç¥ó¤Ï¤¢¤ê¤Þ¤¹¡£
-
-¥Ý¡¼¥ÈÈֹ椬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤Ê¤é¡¢¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È (@value{default_port}) ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-
-¤â¤·¥ª¥×¥·¥ç¥ó¤ò @code{Read options from C:\my.cnf} ¤Ë¤¹¤ë¤È,
-@code{client} ¤È @code{odbc} ¥°¥ë¡¼¥×¤Ï @file{C:\my.cnf} ¥Õ¥¡¥¤¥ë¤«¤éÆɤޤì¤Þ¤¹¡£
-@code{mysql_options()} ¤Ç»ÈÍѤǤ­¤ëÁ´¤Æ¤Î¥ª¥×¥·¥ç¥ó¤¬ÍøÍѲÄǽ¤Ç¤¹¡£
-@xref{mysql_options}.
-
-
-@node ODBC Problems, MyODBC clients, ODBC administrator, ODBC
-@section @strong{MyODBC}¤Ç¤ÎÌäÂê¤ò¤É¤Î¤è¤¦¤ËÊó¹ð¤¹¤Ù¤­¤«¡©
-
-@strong{MyODBC} ¤Ï°Ê²¼¤Ç¥Æ¥¹¥È¤µ¤ì¤Þ¤·¤¿¡§ Access, Admndemo.exe, C++-Builder,
-Borland Builder 4, Centura Team Developer (formerly Gupta SQL/Windows),
-ColdFusion (on Solaris and NT with svc pack 5), Crystal Reports,
-DataJunction, Delphi, ERwin, Excel, iHTML, FileMaker Pro, FoxPro, Notes
-4.5/4.6, SBSS, Perl DBD-ODBC, Paradox, Powerbuilder, Powerdesigner 32
-bit, VC++ and Visual Basic.
-
-@strong{MyODBC} ¤ÇÆ°ºî¤¹¤ë¾¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤âÃΤäƤ¤¤ë¤Ê¤é¡¢
-@email{myodbc@@lists.mysql.com} ¤Þ¤Ç¥á¡¼¥ë¤ò¤¯¤À¤µ¤¤¡ª
-
-With some programs you may get an error like:
-@code{Another user has modifies the record that you have modified}. In most
-cases this can be solved by doing one of the following things:
-
-@itemize @bullet
-@item
-Add a primary key for the table if there isn't one already.
-@item
-Add a timestamp column if there isn't one already.
-@item
-Only use double float fields. Some programs may fails when they comparing
-single floats.
-@end itemize
-
-If the above doesn't help, you should do a @code{MyODBC} trace file and
-from this try to figure out why things goes wrong.
-
-@node MyODBC clients, ODBC and last_insert_id, ODBC Problems, ODBC
-@section @strong{MyODBC}¤ÇÆ°ºî¤¹¤ë¤³¤È¤¬ÃΤé¤ì¤Æ¤¤¤ë¥×¥í¥°¥é¥à
-
-¿¤¯¤Î¥×¥í¥°¥é¥à¤¬ @strong{MyODBC} ¤ÇÆ°ºî¤·¤Þ¤¹¡£¤³¤ì¤é¤Ï²æ¡¹¼«¿È¤¬¥Æ¥¹¥È¤·¤¿¤«¡¢
-¤Þ¤¿¤Ï²¿¿Í¤«¤Î¾¤Î¥æ¡¼¥¶¤«¤éÆ°ºî¤¹¤ë¤È¤¤¤¦³Î¾Ú¤òÆÀ¤¿¤â¤Î¤Ç¤¹:
-
-@table @asis
-@item @strong{Program}
-@strong{Comment}
-@item Access
-Access ¤òÆ°ºî¤µ¤»¤ë¤Ë¤Ï:
-@itemize @bullet
-@item
-¥Æ¡¼¥Ö¥ë¤Ë¥×¥é¥¤¥Þ¥ê¥­¡¼¤òÀßÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-@item
-¹¹¿·²Äǽ¤Ê¥Æ¡¼¥Ö¥ë¤ÎÁ´¤Æ¤Ë¡¢timestamp ¤ò»ý¤¿¤»¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-@item
-¥À¥Ö¥ë¥Õ¥í¡¼¥È·¿¤À¤±¤¬(¼Â¿ô¤Ë)»ÈÍѤǤ­¤Þ¤¹¡£Access¤Ç¤Ï¥·¥ó¥°¥ë¥Õ¥í¡¼¥È¤ÈÈæ³Ó¤Ï¼ºÇÔ¤·¤Þ¤¹¡£
-@item
-@strong{MySQL} ¤ËÀܳ¤¹¤ëºÝ¤Ï¡¢'Return matching rows' ¥ª¥×¥·¥ç¥ó¤ò¥»¥Ã¥È¤·¤Þ¤¹¡£
-@item
-NT ¾å¤Î Access ¤Ï @code{BLOB} ¥Õ¥£¡¼¥ë¥É¤ò @code{OLE OBJECTS} ¤Èǧ¼±¤·¤Þ¤¹¡£
-¤â¤· @code{MEMO} ¥Õ¥£¡¼¥ë¥É¤òÂå¤ï¤ê¤Ë»ÈÍѤ·¤¿¤¤¤Ê¤é¡¢ @code{ALTER TABLE} ¤ò»È¤Ã¤Æ¡¢
-@code{TEXT} ·¿¤Ë¥Õ¥£¡¼¥ë¥É¤òÊѹ¹¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-@item
-Access ¤Ï @code{DATE} ¥Õ¥£¡¼¥ë¥É¤ò¤¤¤Ä¤âÀµ¤·¤¯°·¤¦¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£
-¤â¤·¤³¤ì¤é¤ÎÌäÂ꤬¤¢¤Ã¤¿¾ì¹ç¡¢¥Õ¥£¡¼¥ë¥É·¿¤ò @code{DATETIME} ¤ËÊѤ¨¤Æ¤¯¤À¤µ¤¤¡£
-@end itemize
-@item
-¥¢¥¯¥»¥¹¤Ï¡¢@strong{MySQL} ¤¬Íý²ò¤Ç¤­¤Ê¤¤´Ö°ã¤Ã¤¿ SQL ¥¯¥¨¥ê¤ò
-ºîÀ®¤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤³¤ì¤Ï¥¢¥¯¥»¥¹¤Î¥á¥Ë¥å¡¼¤«¤é
-@code{"Query|SQLSpecific|Pass-Through"} ¤òÁªÂò¤¹¤ì¤Ð
-ľ¤¹¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-@item Borland Builder 4
-When you start a query you can use the property @code{Active} or use the
-method @code{Open}. Note that @code{Active} will start by automatically issue
-a @code{SELECT * FROM ...} query that may not be a good thing if your tables
-are big!
-
-@item ColdFusion (On Unix)
-The following information is taken from the ColdFusion documentation:
-
-Use the following information to configure ColdFusion Server for Linux
-to use the unixODBC driver with @strong{MyODBC} for @strong{MySQL} data
-sources. Allaire has verified that @strong{MyODBC} version 2.50.26
-works with @strong{MySQL} version 3.22.27 and ColdFusion for Linux. (Any
-newer version should also work). You can download @strong{MyODBC} at
-@uref{http://www.mysql.com/download_myodbc.html}
-
-ColdFusion 4.5.1 allows you to us the ColdFusion Administrator to add
-the @strong{MySQL} data source. However, the driver is not included with
-ColdFusion 4.5.1. Before the @strong{MySQL} driver will appear in the ODBC
-datasources drop-down list, you must build and copy the @strong{MyODBC} driver
-to @file{/opt/coldfusion/lib/libmyodbc.so}.
-
-@item DataJunction
-You have to change it to output @code{VARCHAR} rather than @code{ENUM}, as
-it exports the latter in a manner that causes @strong{MySQL} grief.
-@item Excel
-Æ°ºî¡£Some tips:
-@itemize @bullet
-@item
-ÆüÉÕ¤ËÌäÂ꤬µ¯¤­¤¿¾ì¹ç¡¢@code{CONCAT()} ´Ø¿ô¤ò»ÈÍѤ·¡¢Ê¸»ú¤È¤·¤Æ SELECT ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
-Î㤨¤Ð¡§
-@example
-select CONCAT(rise_time), CONCAT(set_time)
- from sunrise_sunset;
-@end example
-¤³¤ÎÊýË¡¤Çʸ»ú¤È¤·¤ÆÊ֤äƤ­¤¿Ãͤò¡¢Excel97 ¤Ç»þ´Ö¤È¤·¤Æ°·¤¦¤è¤¦¤Ë¤¹¤Ù¤­¤Ç¤¹¡£
-
-¤³¤ÎÎã¤Î @code{CONCAT()} ¤ÎÌÜŪ¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Î·¿¤¬Ê¸»úÎó¤Ç¤¢¤ë¤È ODBC ¤ò¤À¤Þ¤¹¤³¤È¤Ç¤¹¡£
-@code{CONCAT()} ¤¬¤Ê¤±¤ì¤Ð¡¢ODBC ¤Ï¥Õ¥£¡¼¥ë¥É¤Î·¿¤¬ÆüÉդȤ狼¤ë¤Î¤Ç¡¢
-Excel ¤¬º£Å٤Ϥ½¤ì¤òÍý²ò¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
-
-¤³¤ì¤Ï Excel ¤Î¥Ð¥°¤Ç¤¹¡£¤Ê¤¼¤Ê¤éʸ»ú¤ò¼«Æ°¤ÇÆüÉÕ¤Ëľ¤¹¤Î¤Ç¤¹¤«¤é¡£
-¤³¤ì¤Ïñ¤Ë¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤ò°·¤¦¾ì¹ç¤Ê¤é¤Ð¤¤¤¤¤Î¤Ç¤¹¤¬¡¢
-³Æ¹àÌܤη¿¤òÃΤ餻¤ë ODBC Àܳ¤Î¾ðÊó¤ò°·¤¦¾ì¹ç¤Ï¡¢¤È¤Æ¤â¶ò¤«¤ÊÊýË¡¤Ç¤¹¡£
-@end itemize
-@item odbcadmin
-ODBC ¤Î¥Æ¥¹¥È¥×¥í¥°¥é¥à.
-@item Delphi
-DBE 3.2 °Ê¾å¤òɬ¤º»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-@strong{MySQL} ¤ËÀܳ¤¹¤ëºÝ¤Ë¤Ï¡¢'Don't optimize column width' ¥ª¥×¥·¥ç¥ó¤ò¥»¥Ã¥È¤·¤Þ¤¹¡£
-
-ODBC¥¨¥ó¥È¥ê¤ÈBDE¥¨¥ó¥È¥ê¤ÎξÊý¤ò¥»¥Ã¥È¥¢¥Ã¥×¤¹¤ë¤ª¤ê¤ËÌò¤ËΩ¤Ä¤Ç¤¢¤í¤¦
- Delphi ¤Î¥³¡¼¥ÉÎã¤ò¼¨¤·¤Þ¤¹
-( BDE ¤Ï Delphi Super Page ¤«¤é̵½þ¤ÇÆÀ¤é¤ì¤ë BDE Alias Editor ¤¬É¬ÍפǤ¹)¡£
-: (Thanks to Bryan Brunton @email{bryan@@flesherfab.com} for this)
-
-@example
-fReg:= TRegistry.Create;
- fReg.OpenKey('\Software\ODBC\ODBC.INI\DocumentsFab', True);
- fReg.WriteString('Database', 'Documents');
- fReg.WriteString('Description', ' ');
- fReg.WriteString('Driver', 'C:\WINNT\System32\myodbc.dll');
- fReg.WriteString('Flag', '1');
- fReg.WriteString('Password', '');
- fReg.WriteString('Port', ' ');
- fReg.WriteString('Server', 'xmark');
- fReg.WriteString('User', 'winuser');
- fReg.OpenKey('\Software\ODBC\ODBC.INI\ODBC Data Sources', True);
- fReg.WriteString('DocumentsFab', 'MySQL');
- fReg.CloseKey;
- fReg.Free;
-
- Memo1.Lines.Add('DATABASE NAME=');
- Memo1.Lines.Add('USER NAME=');
- Memo1.Lines.Add('ODBC DSN=DocumentsFab');
- Memo1.Lines.Add('OPEN MODE=READ/WRITE');
- Memo1.Lines.Add('BATCH COUNT=200');
- Memo1.Lines.Add('LANGDRIVER=');
- Memo1.Lines.Add('MAX ROWS=-1');
- Memo1.Lines.Add('SCHEMA CACHE DIR=');
- Memo1.Lines.Add('SCHEMA CACHE SIZE=8');
- Memo1.Lines.Add('SCHEMA CACHE TIME=-1');
- Memo1.Lines.Add('SQLPASSTHRU MODE=SHARED AUTOCOMMIT');
- Memo1.Lines.Add('SQLQRYMODE=');
- Memo1.Lines.Add('ENABLE SCHEMA CACHE=FALSE');
- Memo1.Lines.Add('ENABLE BCD=FALSE');
- Memo1.Lines.Add('ROWSET SIZE=20');
- Memo1.Lines.Add('BLOBS TO CACHE=64');
- Memo1.Lines.Add('BLOB SIZE=32');
-
- AliasEditor.Add('DocumentsFab','MySQL',Memo1.Lines);
-@end example
-
-@item C++Builder
-BDE 3.0¤Ç,¥Æ¥¹¥È¤µ¤ì¤Þ¤·¤¿¡£Í£°ì¤ÎÃΤé¤ì¤¿ÌäÂê¤Ï¡¢
-¥Æ¡¼¥Ö¥ë¥¹¥­¡¼¥Þ¤¬ÊѲ½¤¹¤ë»þ¡¢¥¯¥¨¥ê¥Õ¥£¡¼¥ë¥É¤¬¹¹¿·¤µ¤ì¤Ê¤¤¤³¤È¤Ç¤¹¡£
-BDE ¤Ï¡¢index PRIMARY ¤À¤±¤òǧ¼±¤·¡¢¥×¥é¥¤¥Þ¥ê¡¼¥­¡¼¤Ïǧ¼±¤·¤Æ¤¤¤Ê¤¤¤è¤¦¤Ë»×¤¨¤Þ¤¹¡£¤³¤ì¤Ï¤µ¤Û¤ÉÌäÂê¤Ç¤Ï¤Ê¤¤¤Ç¤¹¤¬¡£
-@item Visual Basic
-¥Æ¡¼¥Ö¥ë¤Î¹¹¿·¤ò²Äǽ¤Ë¤¹¤ë¤¿¤á¡¢¥Æ¡¼¥Ö¥ë¤Ë¥×¥é¥¤¥Þ¥ê¡¼¥­¡¼¤òºîÀ®¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-Visual Basic with ADO can't handle big integers; This means that some queries
-like @code{SHOW PROCESSLIST} will not work properly. The fix is to set
-add the option @code{OPTION=16834} in the ODBC connect string or set
-the @code{Change BIGINT columns to INT} option in the MyODBC connect screen.
-@end table
-
-@node ODBC and last_insert_id, MyODBC bug report, MyODBC clients, ODBC
-@section @code{AUTO_INCREMENT} ¥Õ¥£¡¼¥ë¥É¤ÎÃͤò ODBC ¤ÇÆÀ¤ëÊýË¡
-
-¶¦Ä̤ÎÌäÂê¤Ï¡¢@code{INSERT} ¤Ç¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤ëID¤ÎÃͤòÆÀ¤ë¤³¤È¤Ç¤¹¡£
-ODBC¤Ç¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹( ÎãÃæ¤Î @code{auto} ¤¬ @code{AUTO_INCREMENT} ¥Õ¥£¡¼¥ë¥É¤Ç¤¹)¡§
-
-@example
-INSERT INTO foo (auto,text) VALUES(NULL,'text');
-SELECT LAST_INSERT_ID();
-@end example
-
-¤â¤·¤¯¤Ï¡¢Â¾¤Î¥Æ¡¼¥Ö¥ë¤ËID¤òÁÞÆþ¤¹¤ë¤À¤±¤Ê¤é°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-INSERT INTO foo (auto,text) VALUES(NULL,'text');
-INSERT INTO foo2 (id,text) VALUES(LAST_INSERT_ID(),'text');
-@end example
-
-¤¤¤¯¤Ä¤«¤ÎODBC¥¢¥×¥ê¥±¡¼¥·¥ç¥ó(¾¯¤Ê¤¯¤È¤âDelphi¤ÈAccess)¤Ï¡¢
-¿·¤·¤¯ÁÞÆþ¤µ¤ì¤¿¹Ô¤ò¸«¤Ä¤±¤ë¤Î¤Ë¡¢°Ê²¼¤Î¥¯¥¨¥ê¤¬»ÈÍѤǤ­¤Þ¤¹¡§
-@example
-SELECT * FROM tbl_name WHERE auto IS NULL;
-@end example
-
-@node MyODBC bug report, , ODBC and last_insert_id, ODBC
-@section Reporting problems with MyODBC
-
-¤â¤· @strong{MyODBC} »ÈÍÑ»þ¤ËÆñ¤·¤¤ÌäÂê¤Ë¤¢¤¿¤Ã¤¿¾ì¹ç¡¢
-ODBC ¥Þ¥Í¡¼¥¸¥ã¤Î¥í¥°¥Õ¥¡¥¤¥ë (ODBCADMIN ¤«¤é¥ê¥¯¥¨¥¹¥È¤·¤¿¤È¤­¤Î¥í¥°)
-¤È @strong{MyODBC} ¤Î¥í¥°¤ò¼è¤ê»Ï¤á¤ë¤Ù¤­¤Ç¤¹¡£
-¤³¤ì¤Ï¤¤¤«¤Ê¤ëÌäÂê¤Ë¤â²ò·è¤Î»å¸ý¤Ë¤Ê¤ë¤Ï¤º¤Ç¤¹¡£
-@strong{MyODBC} ¥í¥°¤ò¼è¤ë¤Ë¤Ï¡¢ @strong{MyODBC} connect/configure ²èÌ̤Î
- 'Trace MyODBC' ¥ª¥×¥·¥ç¥ó¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
-¥í¥°¤Ï @file{C:\myodbc.log} ¤Ë½ñ¤­½Ð¤µ¤ì¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤ËÅö¤¿¤ê¡¢ @code{MYSQL2.DLL} ¤Ç¤Ï¤Ê¤¯¡¢
- @code{MYSQL.DLL} ¤ò»ÈÍѤ·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡ª
-
-MyODBC ¤¬ @strong{MySQL} ¥µ¡¼¥Ð¡¼¤ËÁ÷¤Ã¤Æ¤¤¤ë¥¯¥¨¥ê¤ò³Îǧ¤·¤Þ¤¹¡¨
-¤³¤ì¤Ï @file{myodbc.log} ¥Õ¥¡¥¤¥ëÃæ¤Ë¡¢@code{>mysql_real_query} ¤È
-¤¤¤¦Ê¸»úÎ󤬴ޤޤì¤Æ¤¤¤ë¹Ô¤Ç¤¹¡£
-
-¤Þ¤¿¡¢MyODBC ¤« @strong{MySQL} ¤Î¥¨¥é¡¼¤ò¸«¤Ä¤±¤ë¤¿¤á¤Ë¤Ï¡¢
-Ʊ¤¸¥³¥Þ¥ó¥É¤ò¡¢@code{mysql} ¥³¥Þ¥ó¥É¤ä @code{admndemo} ¤Ç¤â»î¤¹¤Ù¤­¤Ç¤¹¡£
-
-¤â¤·¡¢ÌäÂê¤òȯ¸«¤·¤¿¤Ê¤é¡¢´Ø·¸¤¹¤ë¹Ô¤ò¡ÊºÇÂç40¹Ô¡Ë @email{myodbc@@lists.mysql.com} ¤Ë
-Á÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£ MyODBC ¤ä ODBC ¤Î¥í¥°¥Õ¥¡¥¤¥ëÁ´¤Æ¤òÁ÷¤é¤Ê¤¤¤è¤¦¤Ë
-¤·¤Æ¤¯¤À¤µ¤¤¡ª
-
-¤â¤·ÌäÂê¤ò¸«¤Ä¤±¤ë¤³¤È¤¬½ÐÍè¤Ê¤«¤Ã¤¿¾ì¹ç¡¢MyODBC ¥í¥°¥Õ¥¡¥¤¥ë¡¢
-ODBC ¥í¥°¥Õ¥¡¥¤¥ë¡¢ÌäÂê¤ÎÀâÌÀ¤¹¤ë README ¥Õ¥¡¥¤¥ë¤ò´Þ¤ó¤À
-¥¢¡¼¥«¥¤¥Ö(tar ¤« zip) ¤òºîÀ®¤·¤Þ¤¹¡£
-¤³¤ì¤ò @uref{ftp://www.mysql.com/pub/mysql/secret}. ¤ËÁ÷¤ê¤Þ¤¹¡£
-TCX ¤À¤±¤¬¡¢¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£
-
-¤â¤·ÌäÂê¤ò¸«¤ë¤¿¤á¤Î¥×¥í¥°¥é¥à¤âºî¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢¤½¤ì¤âƱ»þ¤ËÁ÷¤ê¤Þ¤¹¡£
-
-¤â¤·¤½¤Î¥×¥í¥°¥é¥à¤¬Â¾¤Î SQL ¥µ¡¼¥Ð¡¼¤ÇÆ°¤¯¤Ê¤é¡¢
-¾¤Î SQL ¥µ¡¼¥Ð¡¼¤ÇƱ¤¸¤³¤È¤ò¤·¤¿¾ì¹ç¤Î ODBC ¥í¥°¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤Ù¤­¤Ç¤¹¡£
-
-¿¤¯¤Î¾ðÊó¤ò¤¢¤Ê¤¿¤¬Ä󶡤¹¤ì¤Ð¡¢²æ¡¹¤ÏÌäÂê¤ò²ò·è¤·¤ä¤¹¤¯¤Ê¤ë¤³¤È¤ò
-ǰƬ¤Ë¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
-
-@node Common programs, Problems, ODBC, Top
-@chapter ¤¤¤¯¤Ä¤«¤Î°ìÈÌŪ¤Ê¥×¥í¥°¥é¥à¤Ç¤Î @code{MySQL} ¤Î»ÈÍÑ
-
-@menu
-* Apache:: Apache ¤Ç¤Î MySQL ¤Î»ÈÍÑ
-@end menu
-
-@node Apache, , Common programs, Common programs
-@section Apache ¤Ç¤Î MySQL ¤Î»ÈÍÑ
-
-Contrib ¤Ë¤Ï¡¢
-@strong{MySQL} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÅÐÏ¿¤·¤Æ¤¤¤ë¥æ¡¼¥¶¡¼¤Ç
-ǧ¾Ú¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ë¥×¥í¥°¥é¥à¤È¡¢
-¥í¥°¤ò @strong{MySQL} ¥Æ¡¼¥Ö¥ë¤Ë½ñ¤­¹þ¤à¥×¥í¥°¥é¥à¤¬
-´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ @xref{Contrib}.
-
-°Ê²¼¤Î¤è¤¦¤Ë Apache ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤¹¤ì¤Ð¡¢
-Apache ¤Î¥í¥°¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ò¡¢@code{MySQL} ¤ËÆɤߤ䤹¤¤Êª¤ËÊѹ¹¤Ç¤­¤Þ¤¹¡§
-
-@example
-LogFormat \
- "\"%h\",%@{%Y%m%d%H%M%S@}t,%>s,\"%b\",\"%@{Content-Type@}o\", \
- \"%U\",\"%@{Referer@}i\",\"%@{User-Agent@}i\""
-@end example
-
-¤³¤¦¤¹¤ì¤Ð¡¢@strong{MySQL} ¤Ç¡¢°Ê²¼¤Î¤è¤¦¤Ë¤Ç¤­¤Þ¤¹¡§
-
-@example
-LOAD DATA INFILE '/local/access_log' INTO TABLE table_name
-FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\'
-@end example
-
-@node Problems, Common problems, Common programs, Top
-@chapter ÌäÂê¤È¤è¤¯¤¢¤ë¥¨¥é¡¼
-
-@menu
-* What is crashing:: How to determinate what is causing problems
-* Crashing:: What to do if @strong{MySQL} keeps crashing
-* Common errors:: Some common errors when using @strong{MySQL}
-* Full disk:: How @strong{MySQL} handles a full disk
-* Multiple sql commands:: How to run SQL commands from a text file
-* Temporary files:: Where @strong{MySQL} stores temporary files
-* Problems with mysql.sock:: How to protect @file{/tmp/mysql.sock}
-* Error Access denied:: @code{Access denied} error
-* Changing MySQL user :: How to run @strong{MySQL} as a normal user
-* Resetting permissions:: How to reset a forgotten password.
-* File permissions :: Problems with file permissions
-* Not enough file handles:: File not found
-* Using DATE:: Problems using @code{DATE} columns
-* Timezone problems:: Timezone problems
-* Case sensitivity:: Case sensitivity in searches
-* Problems with NULL:: Problems with @code{NULL} values
-* Problems with alias:: Problems with @code{alias}
-* Deleting from related tables:: Deleting rows from related tables
-* No matching rows:: Solving problems with no matching rows
-* ALTER TABLE problems:: Problems with @code{ALTER TABLE}.
-* Change column order:: How to change the order of columns in a table
-@end menu
-
-@menu
-* Crashing:: What to do if @strong{MySQL} keeps crashing
-@end menu
-
-@node What is crashing, Crashing, Problems, Problems
-@section How to determinate what is causing problems
-
-When you run into problems, the first thing you should do is to find out
-which program / piece of equipment is causing problems.
-
-@itemize @bullet
-@item
-If you have one of the following symptoms, then it is probably a hardware
-(like memory, motherboard, CPU, or harddisk) or kernel problem:
-@itemize @bullet
-@item
-The keyboard doesn't work. This can normally be checked by pressing
-Caps Lock; If the Caps Lock light doesn't change you have to replace
-your keyboard. (Before doing this, you should however try to reboot
-your computer and check all cables to the keyboard :)
-@item
-The mouse pointer doesn't move.
-@item
-The machine doesn't answer to a remote machine's pings.
-@item
-Different, unrelated programs don't behave correctly.
-@item
-If your system rebooted unexpectedly (a faulty user level program should
-NEVER be able to take down your system).
-@end itemize
-
-In this case you should start by checking all your cables and run some
-diagnostic tool to check your hardware!
-You should also check if there are any patches, updates or service
-packs for your operating system that could likely solve your problems.
-Check also that all your libraries (like glibc) are up to date.
-
-It's always good to use a machine with ECC memory to discover
-memory problems early!
-@item
-If your keyboard is locked up, you may be able to fix this by
-logging into your machine from another machine and execute
-@code{kbd_mode -a} on it.
-
-@item
-Please examine your system log file, (/var/log/messages or similar) for
-reasons for your problems. If you think the problem is in @strong{MySQL}
-then you should also examine @strong{MySQL}'s log files. @xref{Update log}.
-
-@item
-If you don't think you have hardware problems, you should try to find
-out which program is causing problems.
-
-Try using @code{top}, @code{ps}, @code{taskmanager} or some similar program,
-to check which program is taking all CPU, or is locking the machine.
-
-@item
-Check with @code{top}, @code{df} or a similar programs if you are out of
-memory, disk space, open files or some other critical resource.
-
-@item
-If the problem is some runaway process, you can always try to kill if. If it
-doesn't want to die, this is probably a bug in the operating system.
-@end itemize
-
-If after you have examined all other possibilities and you have
-concluded that its the @strong{MySQL} server or a @strong{MySQL} client
-that is causing the problem, it's time to do a bug report for our
-mailing list or our support team. In the bug report, try to describe
-very detailed how the system is behaving and what you think is
-happening. You should also state why you think it's @strong{MySQL} that
-is causing the problems. Take in consideration all the situations in
-this chapter. State any problems exactly how they appear when you
-examine your system.. Use the 'cut and paste' method for any output
-and/or error messages from programs and/or log files!
-
-Try to describe very detailed which program is not working and all
-symptoms you see! We have in the past got many bug reports that just
-states "the system doesn't work". This doesn't provide us with any
-information of what could be the problem.
-
-If a program fails, it's always useful to know:
-
-@itemize @bullet
-@item
-Has the program in question made a segmentation fault (core dumped)?
-@item
-Is the program taking the whole CPU? Check with @code{top}. Let the
-program run for a while, it may be evaluating something heavy.
-@item
-If it's the @code{mysqld} server that is causing problems; Can you
-do @code{mysqladmin -u root ping}, or @code{mysqladmin -u root processlist}?
-@item
-What does a client program say (try with @code{mysql} for example)
-when you try to connect to the @strong{MySQL} server?
-Does the client jam? Do you get any output from the program?
-@end itemize
-
-When send a bug report, you should of course follow the outlines
-described in this manual. @xref{Asking questions}.
-
-@node Crashing, Common errors, What is crashing, Problems
-@subsection @strong{MySQL} ¤¬¥¯¥é¥Ã¥·¥å¤¹¤ë¾ì¹ç¤Ë¹Ô¤¦¤³¤È
-
-Á´¤Æ¤Î @strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤Ï¥ê¥ê¡¼¥¹¤ÎÁ°¤Ë¿¤¯¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç
-¥Æ¥¹¥È¤µ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï @strong{MySQL} ¤Ë¤¤¤«¤Ê¤ë¥Ð¥°¤â¤Ê¤¤¤È¤¤¤¦¤³¤È¤ò
-°ÕÌ£¤·¤Þ¤¹¤¬¡¢È¯¸«¤¹¤ë¤Î¤¬º¤Æñ¤Ç¡¢¤ï¤º¤«¤Ê¥Ð¥°¤¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-¤â¤·ÌäÂ꤬¤¢¤Ã¤¿¾ì¹ç¡¢²¿¤¬¥·¥¹¥Æ¥à¤ò¥¯¥é¥Ã¥·¥å¤·¤Æ¤¤¤ë¤«¤ò¸«¤Ä¤±¤è¤¦¤È¤¹¤ë»ö¤Ï¡¢
-ÌäÂê¤òÁ᤯½¤Àµ¤¹¤ë¤¿¤á¤Î¤è¤êÎɤ¤µ¡²ñ¤Ç¤â¤¢¤ê¤Þ¤¹¡£
-
-¤Þ¤ººÇ½é¤Ë, ¤½¤ÎÌäÂê¤Ç @code{mysqld} ¥Ç¡¼¥â¥ó¤¬»à¤Ê¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«¤É¤¦¤«¤«, ¤Þ¤¿
-¤Ï¤½¤ÎÌäÂ꤬¥¯¥é¥¤¥¢¥ó¥È¤Ç½èÍý¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¤Ù¤­¤Ç¤¹¡£
-@code{mysqladmin version} ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ @code{mysqld} ¥µ¡¼¥Ð¡¼¤¬
-¤É¤ì¤°¤é¤¤²ÔƯ¤·¤Æ¤¤¤¿¤«¤ï¤«¤ê¤Þ¤¹¡£ ¤â¤· @code{mysqld} ¤¬»à¤ó¤Ç¤¤¤¿¤Ê¤é¡¢
-¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¤¢¤ë¤Î¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹. mysqld¤¬»à¤ó¤À¤Ê¤é¡¢
-¤½¤Î¸¶°ø¤ò @file{mysql-data-directory/'hostname'.err} ¤Ç¸«¤Ä¤±¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-
-Many crashes of @strong{MySQL} is caused by corrupted index / data
-files. @strong{MySQL} will update the data on disk, with the
-@code{write()} system call, after every SQL statement and before the
-client is notified about the result (this is not true if you are running
-with @code{delayed_key_writes}, in which case only the data is written).
-This means that the data is safe even if mysqld crashes as the OS will
-ensure that the not flushed data is written to disk.
-You can force @strong{MySQL} to sync everything to disk by starting
-@code{mysqld} with @code{--flush}.
-
-The above means that normally you shouldn't get corrupted tables unless:
-
-@itemize @bullet
-@item
-Someone/something killed @code{mysqld} or the machine in the middle
-of an update.
-@item
-You have found a bug in @code{mysqld} that caused it to die in the
-middle of an update.
-@item
-Someone is manipulating the data/index files outside of @strong{mysqld}
-without locking the table properly.
-@item
-If you are running many @code{mysqld} servers on the same data on a
-system that doesn't support good file system locks (normally handled by
-the @code{lockd} deamon.) or if you are running
-multiple servers with @code{--skip-locking}
-@item
-You have a crashed index/data file that contains very wrong data that
-got mysqld confused.
-@item
-You have found a bug in the data storage code. This isn't that likely,
-but it's at least possible. In this case you can try to change the file
-type to another database handler by using @code{ALTER TABLE} on a
-repaired copy of the table!
-@end itemize
-
-²¿¤«¤¬¥¯¥é¥Ã¥·¥å¤¹¤ëÍýͳ¤òÃΤë¤Î¤ÏÈó¾ï¤ËÆñ¤·¤¤¤Î¤Ç¡¢¤Þ¤º¡¢Â¾¤Î¿Í¤ÇÆ°¤¯¤â
-¤Î¤¬¤¢¤Ê¤¿¤Ç¥¯¥é¥Ã¥·¥å¤¹¤ë¤Î¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¼¡¤Î¤³¤È¤ò¹Ô¤Ã
-¤Æ¤¯¤À¤µ¤¤¡£
-
-@itemize @bullet
-@item
-@code{mysqld} ¥Ç¡¼¥â¥ó¤ò @code{mysqladmin shutdown} ¤ÇÄä»ß¤·, Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤Ç
-@code{myisamchk --silent --force */*.MYI} ¤ò¼Â¹Ô¤·¡¢¤½¤·¤Æ @code{mysqld} ¥Ç¡¼¥â¥ó¤ò
-ºÆµ¯Æ°¤·¤Þ¤¹. ¤³¤ì¤Ï¤­¤ì¤¤¤Ê¾õÂÖ¤«¤é³«»Ï¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-@xref{Maintenance}.
-
-@item
-@code{mysqld --log} ¤ò»ÈÍѤ·¡¢¥í¥°¤Î¾ðÊ󤫤éÆÃÄê¤Î¥¯¥¨¥ê¤¬¥µ¡¼¥Ð¡¼¤ò¥­¥ë¤·¤Æ¤¤¤ë¤«¤ò
-¸«¤Ä¤±½Ð¤·¤Æ¤¯¤À¤µ¤¤¡£ 95% ¤Î¥Ð¥°¤ÏÆÃÄê¤Î¥¯¥¨¥ê¤Ë´Ø·¸¤¬¤¢¤ê¤Þ¤¹¡ª
-Ä̾盧¤ì¤Ï¡¢ @strong{MySQL} ¤¬ºÆµ¯Æ°¤µ¤ì¤ëÁ°¤Î¡¢¥í¥°¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤Î¥¯¥¨¥ê¤Î°ì¤Ä¤Ç¤¹¡£
-
-¤³¤ì¤ò¡¢°Ê²¼¤Î¼ê½ç¤Ç³Îǧ¤¹¤ë¤³¤È¤â½ÐÍè¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-@strong{MySQL} ¥Ç¡¼¥â¥ó¤ò ( @code{mysqladmin shutdown} ¤Ç) Ää»ß¡£
-@item
-@strong{MySQL} ¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¡£
-(As the server is stopped, you can just copy the files to some other
-directory)
-@item
-Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤¬Àµ¤·¤¤¤Î¤«¤ò¡¢@code{myisamchk -s */*.MYI} ¤Ç¥Á¥§¥Ã¥¯¡£
-¤â¤·¥Æ¡¼¥Ö¥ë¤¬²õ¤ì¤Æ¤¤¤ë¤è¤¦¤Ê¤é¡¢
-@code{myisamchk -r path-to-table.MYI} ¤Ç¤½¤ì¤ò½¤Àµ¡£
-You should take the backup
-before checking the tables as the problem could be related to corrupted
-tables.
-@item
-¥í¥°¥Õ¥¡¥¤¥ë¤ò @strong{MySQL} ¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê¤«¤éºï½ü (¤« °ÜÆ°)¡£
-@item
-@code{safe_mysqld --log-update} ¤« @code{safe_mysql --log --log-update} ¤Ç¥µ¡¼¥Ð¡¼µ¯Æ°¡£
-@item
-If @code{mysqld} now dies, you have two options:
-@itemize @bullet
-@item
-First take a backup of your backup database. (Just copy the file(s)
-somewhere again). This is because we want to keep the original start
-situation untouched. Start a mysqld process on the other backup database
-(you can do this with option @code{--datadir=/path/to/backup/}).
-@item
-Just restore the backup on your original database and restart @code{mysqld}.
-You will not any lose information, because you have the @code{log-update} file.
-@end itemize
-@item
-
-Now you can test if the problem is a specific update statement by executing
-@code{mysql database_name < path-to-log-update-file}.
-
-You can also use the script @code{mysql_find_rows} to just execute some of the
-update statements if you want to narrow down the problem.
-
-If mysqld now crashes, then you have something repeatable
-available. Please mail @email{bugs@@lists.mysql.com}, or
-@email{developers@@mysql.com}, or (if you are a support customer) to
-@email{support@@mysql.com} about the problem and the @strong{MySQL} team
-will fix it as soon as possible.
-@end itemize
-
-@item
-¥Ù¥ó¥Á¥Þ¡¼¥¯¤ò»î¤·¤Þ¤·¤¿¤«¡© ¤³¤ì¤Ï @strong{MySQL} ¤ò¤è¤êÎɤ¯¥Æ¥¹¥È¤·¤Þ
-¤¹¡£¤¢¤Ê¤¿¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥·¥ß¥å¥ì¡¼¥È¤¹¤ë¥³¡¼¥É¤òÄɲ乤뤳¤È¤â¤Ç¤­
-¤Þ¤¹¡£¥Ù¥ó¥Á¥Þ¡¼¥¯¤Ï¥½¡¼¥¹ÇÛÉÛ¤Ç¤Ï @strong{MySQL} ¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È
-¥êÇÛ²¼¤Î @file{bench} ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¡¢¥Ð¥¤¥Ê¥êÇÛÉÛ¤Ç¤Ï @file{sql-bench}
-¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸«¤Ä¤±¤é¤ì¤Þ¤¹¡£
-
-@item
-@code{fork_test.pl} ¤È @code{fork2_test.pl} ¤ò»î¤·¤Þ¤¹¡£
-
-@item
-¥¨¥é¡¼¤¬¤Ê¤¤¤«¡¢@file{mysql-data-directory/'hostname'.err} ¥Õ¥¡¥¤¥ë¤ò³Îǧ¤·¤Þ¤¹¡£
-
-@item
-¥Ç¥Ð¥Ã¥°ÍÑ¤Ë @strong{MySQL} ¤ò¥³¥ó¥Õ¥£¥°¤¹¤ë¤È¡¢²¿¤«¤¬°­¤¯¤Ê¤ë¾ì¹ç¤Ë¥¨¥é¡¼
-¤ò¸«¤Ä¤±½Ð¤¹¤Î¤¬¤è¤ê´Êñ¤Ë¤Ê¤ê¤Þ¤¹¡£@code{configure} ¤Ë
-@code{--with-debug} ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æ @strong{MySQL} ¤òºÆ¥³¥ó¥Õ¥£¥°¤·¡¢
-ºÆ¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£@xref{Debugging server}.
-
-@item
-¥Ç¥Ð¥Ã¥°ÍÑ¤Ë @strong{MySQL} ¤ò¥³¥ó¥Õ¥£¥°¤¹¤ë¤È¡¢¤¤¤¯¤Ä¤«¤Î¥¨¥é¡¼¤ò¸¡½Ð¤Ç
-¤­¤ë°ÂÁ´¤Ê¥á¥â¥ê³ä¤êÅö¤Æ¤ò´Þ¤á¤Þ¤¹¡£¤³¤ì¤Ï²¿¤¬µ¯¤­¤Æ¤¤¤ë¤«¤Ë¤Ä¤¤¤Æ¤Î¿¤¯
-¤Î½ÐÎϤâÄ󶡤·¤Þ¤¹¡£
-
-@item
-¤¢¤Ê¤¿¤Î OS ¤ÎºÇ¿·¤Î¥Ñ¥Ã¥Á¤òŬÍѤ·¤Þ¤·¤¿¤«¡©
-
-@item
-@code{--skip-locking} ¥ª¥×¥·¥ç¥ó¤ò @code{mysqld} ¤Ë»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£¤¤
-¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¾å¤Ç¤Ï¡¢@code{lockd} ¥í¥Ã¥¯¥Þ¥Í¡¼¥¸¥ã¤ÏÀµ¤·¤¯Æ°¤­¤Þ¤»¤ó;
-@code{--skip-locking} ¥ª¥×¥·¥ç¥ó¤Ï @code{mysqld} ¤Ë³°Éô¥í¥Ã¥­¥ó¥°¤ò»ÈÍÑ
-¤·¤Ê¤¤¤è¤¦¤ËÅÁ¤¨¤Þ¤¹¡£(¤³¤ì¤ÏƱ¤¸¥Ç¡¼¥¿¾å¤Ç2¤Ä¤Î @code{mysqld} ¥µ¡¼¥Ð¤ò
-Æ°¤¹¤³¤È¤¬¤Ç¤­¤º¡¢@code{myisamchk} ¤Î»ÈÍÑ»þ¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¤³¤È¤ò
-°ÕÌ£¤·¤Þ¤¹¡£¤·¤«¤·¡¢¥Æ¥¹¥È¤È¤·¤Æ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»î¤¹¤³¤È¤Ï»Ø¼¨¤Ç¤­¤Þ¤¹¡£)
-
-@item
-@code{mysqld} ¤¬Æ°¤¤¤Æ¤¤¤ë¤Î¤Ë±þÅú¤¬¤Ê¤¤¤è¤¦¤Ë¸«¤¨¤¿»þ
-@code{mysqladmin -u root processlist} ¤ò»î¤·¤Þ¤·¤¿¤«¡© »þ¡¹
-@code{mysqld} ¤Ï¤½¤¦»×¤¨¤Æ¤â»à¤ó¤Ç¤¤¤Þ¤»¤ó¡£ÌäÂê¤ÏÁ´¤Æ¤ÎÀܳ¤¬»ÈÍÑÃæ¤Ç¤¢
-¤ë¤³¤È¤«¡¢¤¤¤¯¤Ä¤«¤ÎÆâÉô¥í¥Ã¥¯ÌäÂ꤬¤¢¤ë¤³¤È¤Ç¤¹¡£@code{mysqladmin
-processlist} ¤ÏÄ̾盧¤ì¤é¤Î¾ì¹ç¤Ç¤âÀܳ¤òºî¤ë¤³¤È¤¬¤Ç¤­¡¢¸½ºß¤ÎÀܳ¿ô¤È
-¤½¤ì¤é¤Î¾õÂ֤ˤĤ¤¤Æ¤ÎÍ­ÍѤʾðÊó¤òÄ󶡤Ǥ­¤Þ¤¹¡£
-
-@item
-Ê̤Υ¦¥£¥ó¥É¥¦¤Ç¡¢Åý·×½ÐÎϤΤ¿¤á¤Ë¥³¥Þ¥ó¥É @code{mysqladmin -i 5 status}
-¤ò¥¯¥¨¥êÃæ¡¢¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-¼¡¤ò»î¤·¤Æ¤¯¤À¤µ¤¤:
-@enumerate
-@item
-@code{gdb} (¤Þ¤¿¤Ï¾¤Î¥Ç¥Ð¥Ã¥¬) ¤«¤é @code{mysqld} ¤ò³«»Ï¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-¤¢¤Ê¤¿¤Î¥Æ¥¹¥È¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-Print the backtrace and the local variables at the 3 lowest levels. In gdb you
-can do this with the following commands when @code{mysqld} has crashed inside
-gdb:
-
-@example
-backtrace
-info local
-up
-info local
-up
-info local
-@end example
-
-With gdb you can also examine which threads there exists with @code{info
-threads} and switch to a specific thread with @code{thread #}, where
-@code{#} is the thread id.
-@end enumerate
-
-@item
-@strong{MySQL} ¤Ë¥¯¥é¥Ã¥·¥å¤Þ¤¿¤Ï´Ö°ã¤Ã¤¿¿¶¤ëÉñ¤¤¤ò¤µ¤»¤ë¤¢¤Ê¤¿¤Î¥¢¥×¥ê
-¥±¡¼¥·¥ç¥ó¤Î¥·¥ß¥å¥ì¡¼¥È¤ò Perl ¥¹¥¯¥ê¥×¥È¤Ç»î¤ß¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-¤Þ¤¿¤ÏÄ̾ï¤Î¥Ð¥°¥ì¥Ý¡¼¥È¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£@xref{Bug reports}¡£¤·¤«¤·Ä̾ï
-¤è¤ê¤â¤µ¤é¤Ë¾ÜºÙ¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£@strong{MySQL} ¤Ï¿¤¯¤Î¿Í¤Î¤¿¤á¤ËƯ¤¤¤Æ
-¤¤¤ë¤¿¤á¡¢¥¯¥é¥Ã¥·¥å¤Ï¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¤À¤±¤Ë¸ºß¤¹¤ë²¿¤«(Î㤨¤Ð¡¢¤¢
-¤Ê¤¿¤ÎÆÃÊ̤ʥ·¥¹¥Æ¥à¥é¥¤¥Ö¥é¥ê¤Ë´ØÏ¢¤·¤¿¥¨¥é¡¼)¤«¤éÀ¸¤¸¤Æ¤¤¤ë¤È»×¤ï¤ì¤Þ
-¤¹¡£
-@item
-¤â¤·²ÄÊÑĹ¤Î¥ì¥³¡¼¥É¤ò°·¤¦¥Æ¡¼¥Ö¥ë¤ÇÌäÂ꤬¤¢¤Ã¤¿¾ì¹ç¡¢
-¤â¤·¡¢@code{BLOB/TEXT} ¥Õ¥£¡¼¥ë¥É¤Ï»ÈÍѤ·¤Æ¤ª¤é¤º¡¢@code{VARCHAR} ¥Õ¥£¡¼¥ë¥É
-¤À¤±»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢Á´¤Æ¤Î @code{VARCHAR} ¥Õ¥£¡¼¥ë¥É¤ò
- @code{ALTER TABLE} ¤Ç @code{CHAR} ¤ËÊѹ¹¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤ì¤Ï @strong{MySQL} ¤Ë¸ÇÄêĹ¥ì¥³¡¼¥É¤ò»ÈÍѤµ¤»¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
-¸ÇÄêĹ¥ì¥³¡¼¥É¤Ï¾¯¤·Í¾Ê¬¤ÊÎΰè¤ò¤È¤ê¤Þ¤¹¤¬¡¢¤è¤ê¥¨¥é¡¼¤ËÂФ·¤Æ
-¶¯¤¯¤Ê¤ê¤Þ¤¹¡£
-
-¸½ºß¤Î²ÄÊÑĹ¤Î¥ì¥³¡¼¥É¤Î¥³¡¼¥É¤Ï TCX ¤Ç¾¯¤Ê¤¯¤È¤â£³Ç¯°Ê¾åÌäÂê¤Ê¤¯
-»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤·¤«¤·²ÄÊÑĹ¤Î¥ì¥³¡¼¥É¤Ï¤è¤ê¥¨¥é¡¼¤Î·¹¸þ¤¬¤¢¤ê¡¢
-¾åµ­¤Î»öÊÁ¤ò»î¤¹¤³¤È¤ÏÎɤ¤¥¢¥¤¥Ç¥¢¤Ç¤¹¡ª
-@end itemize
-
-@node Common errors, Full disk, Crashing, Problems
-@section @strong{MySQL}»ÈÍÑ»þ¤Î¤è¤¯¤¢¤ë¤¤¤¯¤Ä¤«¤Î¥¨¥é¡¼
-
-@menu
-* Gone away:: @code{MySQL server has gone away} error
-* Can not connect to server:: @code{Can't connect to [local] MySQL server} error
-* Blocked host:: @code{Host '...' is blocked} error
-* Too many connections:: @code{Too many connections} error
-* Out of memory:: @code{Out of memory} error
-* Packet too large:: @code{Packet too large} error
-* Full table:: @code{The table is full} error
-* Commands out of sync:: @code{Commands out of sync} error in client
-* Ignoring user:: @code{Ignoring user} error
-* Cannot find table:: @code{Table 'xxx' doesn't exist} error
-@end menu
-
-@node Gone away, Can not connect to server, Common errors, Common errors
-@subsection @code{MySQL server has gone away} ¥¨¥é¡¼
-
-¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï @code{Lost connection to server
-during query} ¥¨¥é¡¼¤Ë´Ø¤¹¤ë¤³¤È¤â¥«¥Ð¡¼¤·¤Þ¤¹¡£
-
-@code{MySQL server has gone away} ¥¨¥é¡¼¤Î¤â¤Ã¤È¤â°ìÈÌŪ¤ÊÍýͳ¤Ï¡¢¥µ¡¼¥Ð
-¤¬¥¿¥¤¥à¥¢¥¦¥È¤ÇÀܳ¤ò¥¯¥í¡¼¥º¤·¤¿¤³¤È¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢²¿¤âµ¯¤­¤Ê¤¤
-¾ì¹ç¡¢¥µ¡¼¥Ð¤Ï 8 »þ´Ö¸å¤ËÀܳ¤ò¥¯¥í¡¼¥º¤·¤Þ¤¹¡£
-¤³¤Î»þ´Ö¤Ï mysqld µ¯Æ°»þ¤Î @code{wait_timeout} ÊÑ¿ô¤ËÍ¿¤¨¤ë¤³¤È¤Ë¤è¤ê¡¢Êѹ¹¤Ç¤­¤Þ¤¹¡£
-
-@code{mysqladmin version} ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç @strong{MySQL} ¤¬»à¤ó¤Ç¤¤¤ë¤«¤É¤¦¤«¡¢
-¤Þ¤¿ uptime ¤Ï¤É¤ì¤°¤é¤¤¤«¡¢¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£
-
-¥¹¥¯¥ê¥×¥È¤Î¾ì¹ç¤Ï¡¢¼«Æ°Åª¤ËºÆÀܳ¤¹¤ë¤¿¤á¤Ë¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥¯¥¨¥ê¤òºÆȯ
-¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-¤³¤Î¾ì¹ç¡¢Ä̾盧¤ì¤é¤Î¥¨¥é¡¼¥³¡¼¥É¤òÆÀ¤Þ¤¹:
-(OS °Í¸¤Ç¤¹):
-
-@multitable @columnfractions .3 .7
-@item @code{CR_SERVER_GONE_ERROR} @tab ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¡¼¤ËÌ䤤¹ç¤ï¤»¤òÁ÷¤ë¤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿
-@item @code{CR_SERVER_LOST} @tab ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¡¼¤Ë½ñ¤­¹þ¤ß¤ò¹Ô¤Ã¤¿¤È¤­¤Ë¤Ï¥¨¥é¡¼¤Ï̵¤«¤Ã¤¿¤±¤ì¤É¤â¡¢Ì䤤¹ç¤ï¤»¤ËÂФ·¤Æ´°Á´¤Ë²óÅú¤¬Ê֤äƤ³¤Ê¤¤
-@end multitable
-
-´Ö°ã¤Ã¤Æ¤¤¤ë¤«Â礭¤¹¤®¤ë¥¯¥¨¥ê¤ò¥µ¡¼¥Ð¤ËÁ÷¤Ã¤¿¾ì¹ç¤Ë¤â¤³¤Î¥¨¥é¡¼¤¬È¯À¸¤·
-¤Þ¤¹¡£@code{mysqld} ¤¬´Ö°ã¤Ã¤¿¥Ö¥í¥Ã¥¯¤òÆÀ¤¿¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î²¿¤«¤¬´Ö°ã¤Ã¤¿
-¤È¸«¤Ê¤·¡¢Àܳ¤ò¥¯¥í¡¼¥º¤·¤Þ¤¹¡£Â礭¤Ê¥¯¥¨¥ê¤¬É¬Íפʾì¹ç¡¢Î㤨¤ÐÂ礭¤Ê
-@code{BLOB} ¤ÇƯ¤«¤»¤ë¾ì¹ç¤Ï¡¢@code{mysqld} ¤ò¥ª¥×¥·¥ç¥ó @code{-O max_query_size=#}
-(¥Ç¥Õ¥©¥ë¥È 1M) ¤Çµ¯Æ°¤¹¤ë¤³¤È¤Ç¥¯¥¨¥êÀ©¸Â¤òÁý²Ã¤Ç¤­¤Þ¤¹¡£³ÈÄ¥¥á¥â¥ê
-¤ÏÍ×µá¤Ë¤è¤Ã¤Æ³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢@code{mysqld} ¤ÏÂ礭¤Ê¥¯¥¨¥ê¤òȯ¹Ô¤·
-¤¿»þ¤äÂ礭¤Ê·ë²Ì¹Ô¤òÊÖ¤¹É¬ÍפΤ¢¤ë»þ¤À¤±¡¢Â¿¤¯¤Î¥á¥â¥ê¤ò»ÈÍѤ·¤Þ¤¹¡ª
-
-
-@node Can not connect to server, Blocked host, Gone away, Common errors
-@subsection @code{Can't connect to [local] MySQL server} ¥¨¥é¡¼
-
-UNIX ¾å¤Î @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¤Ï @code{mysqld} ¥µ¡¼¥Ð¤Ë2¤Ä¤Î°Û¤Ê¤ëÊýË¡¤ÇÀܳ¤Ç¤­¤Þ
-¤¹: Unix ¥½¥±¥Ã¥È, ¤³¤ì¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Î¥Õ¥¡¥¤¥ë(¥Ç¥Õ¥©¥ë¥È
-@file{/tmp/mysql.sock})¤òÄ̤·¤ÆÀܳ¤·¤Þ¤¹¡£¤Þ¤¿¤Ï TCP/IP, ¤³¤ì¤Ï¥Ý¡¼¥ÈÈÖ
-¹æ¤òÄ̤·¤ÆÀܳ¤·¤Þ¤¹¡£Unix ¥½¥±¥Ã¥È¤Ï TCP/IP ¤è¤ê¤â®¤¤¤Ç¤¹¤¬¡¢¥µ¡¼¥Ð¤È
-Ʊ¤¸¥³¥ó¥Ô¥å¡¼¥¿¤«¤éÀܳ¤¹¤ë»þ¤·¤«»È¤¨¤Þ¤»¤ó¡£Unix ¥½¥±¥Ã¥È¤Ï¡¢¥Û¥¹¥È̾
-¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤«¡¢ÆÃÊ̤ʥۥ¹¥È̾ @code{localhost} ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë»ÈÍѤµ¤ì
-¤Þ¤¹¡£
-
-On Windows you can connect only with TCP/IP if the @code{mysqld} server
-is running on Win95/Win98. If it's running on NT, you can also connect
-with named pipes. The name of the named pipe is @code{MySQL}. If you
-don't give a hostname when connecting to @code{mysqld}, a @strong{MySQL} client
-will first try to connect to the named pipe and if this doesn't work it
-will connect to the TCP/IP port. You can force the use of named pipes
-on Windows by using @code{.} as the hostname.
-
-(2002) @code{Can't connect to ...} ¥¨¥é¡¼¤Ï¡¢Ä̾@strong{MySQL} ¥µ¡¼¥Ð¡¼¤¬
-¥·¥¹¥Æ¥à¾å¤ËÁö¤Ã¤Æ¤¤¤Ê¤¤¤«¡¢¤¢¤Ê¤¿¤¬¡¢´Ö°ã¤Ã¤¿¥½¥±¥Ã¥È¥Õ¥¡¥¤¥ë¤ä
-TCP/IP ¥Ý¡¼¥È¤ò»ÈÍѤ·¤Æ @code{mysqld} ¤ËÀܳ¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤Ë¤ª¤­¤Þ¤¹¡£
-
-Start by check
-¥µ¡¼¥Ð¡¼¾å¤Ë @code{mysqld} ¤È¤¤¤¦¥×¥í¥»¥¹¤¬Áö¤Ã¤Æ¤¤¤ë¤« ( @code{ps} ¤ò»ÈÍѤ·¤Æ¡£ Windows ¤Î¾ì¹ç¤Ï¥¿¥¹¥¯¥Þ¥Í¡¼¥¸¥ã¤Ç¤ß¤Æ)
-³Îǧ¤¹¤ë¤³¤È¤«¤é³«»Ï¤·¤Æ¤¯¤À¤µ¤¤¡ª
-@xref{Starting server}.
-
-@code{mysqld} ¥×¥í¥»¥¹¤¬Áö¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢°ã¤¦Àܳ¤ò»î¤¹¤³¤È¤Ç¥µ¡¼¥Ð¡¼¤ò
-³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡Ê¤â¤Á¤í¤ó¡¢¥Ý¡¼¥ÈÈÖ¹æ¤È¥½¥±¥Ã¥È¤Î¥Ñ¥¹¤Ï¤¢¤Ê¤¿¤¬
-¥»¥Ã¥È¥¢¥Ã¥×¤·¤¿¤â¤Î¤È¤Ï°ã¤¦¤Ç¤·¤ç¤¦¡Ë¡§
-
-@example
-shell> mysqladmin version
-shell> mysqladmin variables
-shell> mysqladmin -h `hostname` version variables
-shell> mysqladmin -h `hostname` --port=3306 version
-shell> mysqladmin -h 'ip for your host' version
-shell> mysqladmin --socket=/tmp/mysql.sock version
-@end example
-
-@code{hostname} ¥³¥Þ¥ó¥É¤Ï¥Õ¥©¥ï¡¼¥É¥¯¥ª¡¼¥È¤Ç¤Ê¤¯¥Ð¥Ã¥¯¥¯¥ª¥Æ¡¼¥·¥ç¥ó¤Ç
-°Ï¤ó¤Ç¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡¨ ¤³¤ì¤Ï @code{¥Û¥¹¥È̾} (¥«¥ì¥ó¥È¤Î¥Û¥¹¥È̾)
-¤ò @code{mysqladmin} ¥³¥Þ¥ó¥É¤ËÍ¿¤¨¤Þ¤¹¡£
-
-@code{Can't connect to local MySQL server} ¥¨¥é¡¼¤¬µ¯¤³¤ê¤¦¤ëÍýͳ¤È¤·¤Æ¡§
-
-@itemize @bullet
-@item @code{mysqld} is not running.
-@item MIT-pthreads ¤ò»ÈÍѤ¹¤ë¥·¥¹¥Æ¥à¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¡£
-¥Í¥¤¥Æ¥£¥Ö¥¹¥ì¥Ã¥É¤ò»ý¤¿¤Ê¤¤¥·¥¹¥Æ¥à¾å¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç @code{mysqld} ¤Ï MIT-pthreads ¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ·¤Þ¤¹¡£
-@xref{Which OS}.
-MIT-pthreads ¥¹¥ì¥Ã¥É¤Ï¥½¥±¥Ã¥È¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£
-¤½¤Î¤¿¤á¡¢¥µ¡¼¥Ð¤ËÀܳ¤¹¤ë»þ¤Ï¾ï¤Ë¥Û¥¹¥È̾¤òÍ¿¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¥µ¡¼¥Ð¡¼¤Ø¤ÎÀܳ¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤¿¤á¤Ë¡¢°Ê²¼¤ò»î¤·¤Æ¤¯¤À¤µ¤¤¡§
-@example
-shell> mysqladmin -h `hostname` version
-@end example
-
-@item 狼¤¬ @code{mysqld} ¤¬»ÈÍѤ¹¤ë unix ¥½¥±¥Ã¥È ¤òºï½ü¤·¤¿ (default @file{/tmp/mysqld.sock}).
-¤À¤ì¤«¤¬ @code{cron} ¤Ç @strong{MySQL} ¥½¥±¥Ã¥È¤òºï½ü¤·¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£(Î㤨¤Ð @file{/tmp} ¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸Å¤¤¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¤è¤¦¤Ê¥¯¥í¡¼¥ó¤Ç)¡£
-¤¤¤Ä¤Ç¤â @code{mysqladmin version} ¤ò¼Â¹Ô¤·¤Æ
-@code{mysqladmin} ¤¬»ÈÍѤ¹¤ë¥½¥±¥Ã¥È¤¬ËÜÅö¤Ë¸ºß¤¹¤ë¤«¤ò¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¤Î½¤Àµ¤Ï¡¢@file{mysqld.sock} ¤ò¾Ã¤µ¤Ê¤¤¤è¤¦¤Ë @code{cron} ¤òÊѹ¹¤¹¤ë¤«¡¢¤Þ¤¿¤Ï¥½¥±¥Ã¥È¤ò¤É¤³¤«Â¾¤Î¾ì½ê¤Ë°Ü¤¹¤³¤È¤Ç¤¹¡£
-
-@strong{MySQL} ¤ò ./configure ¤¹¤ë¾ì¹ç¤Ë¥½¥±¥Ã¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹:
-@example
-shell> ./configure --with-unix-socket-path=/path/to/socket
-@end example
-
-¤Þ¤¿¡¢@code{safe_mysqld} ¤ò @code{--socket=/path/to/socket} ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æµ¯Æ°¤·¤Æ¤â¹½¤¤¤Þ¤»¤ó¤·¡¢
-@code{MYSQL_UNIX_PORT} ´Ä¶­ÊÑ¿ô¤ò¥»¥Ã¥È¤·¤Æ @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¤ò¼Â¹Ô¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
-
-@item @code{--socket=/path/to/socket} ¥ª¥×¥·¥ç¥ó¤Ç @code{mysqld} ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤Ç¤­¤Þ¤¹¡£
-¤â¤·¥µ¡¼¥Ð¡¼¤Î¥½¥±¥Ã¥È¤Î¥Ñ¥¹¤òÊѤ¨¤¿¾ì¹ç¡¢@strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¤Ë¡¢¿·¤·¤¤¥Ñ¥¹¤ò¶µ¤¨¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤³¤Î¾ì¹ç¡¢ @code{MYSQL_UNIX_PORT} ´Ä¶­ÊÑ¿ô¤ËÀßÄꤹ¤ë¤³¤È¤Ë¤è¤ê²Äǽ¤Ç¤¹¡£
-¥½¥±¥Ã¥È¤Î¥Æ¥¹¥È¤ò¤¹¤ë¾ì¹ç¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-shell> mysqladmin --socket=/path/to/socket version
-@end example
-
-@item
-Linux ¤ò»ÈÍѤ·¤Æ¤¤¤Æ¥¹¥ì¥Ã¥É¤¬°ì¤Ä»à¤ó¤À¤È¤­¡Ê¥³¥¢¥À¥ó¥×¤·¤¿¡Ë¡£
-¤³¤Î¾ì¹ç¡¢Â¾¤Î @code{mysqld} ¥¹¥ì¥Ã¥É¤ò¥­¥ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤¿¤È¤¨¤Ð¡¢@code{mysql_zap} ¥¹¥¯¥ê¥×¥È¤ò¡¢¿·¤·¤¯ @strong{MySQL} ¥µ¡¼¥Ð¡¼¤ò
-µ¯Æ°¤¹¤ëÁ°¤Ë¼Â¹Ô¤·¤Þ¤¹¡£ @xref{Crashing}.
-@end itemize
-
-¤â¤· @code{Can't connect to MySQL server on some_hostname} ¥¨¥é¡¼¤Î¾ì¹ç,
-²¿¤¬ÌäÂê¤Ê¤Î¤«¤ò¸«¤Ä¤±¤ë¤¿¤á¤Ë¡¢°Ê²¼¤Î¼ê½ç¤òƧ¤ß¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¤â¤· @code{telnet your-host-name tcp-ip-port-number} ¤ò¼Â¹Ô¤¹¤ë¤È
-¥µ¡¼¥Ð¡¼¤¬¥¢¥Ã¥×¤¹¤ë¤Ê¤é¡¢ @code{RETURN} ¤ò²¿²ó¤«¤¿¤¿¤¤¤Æ¤¯¤À¤µ¤¤¡£
-¤â¤·¤³¤Î¥Ý¡¼¥È¤Ç @strong{MySQL} ¥µ¡¼¥Ð¡¼¤¬Áö¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢
-Áö¤Ã¤Æ¤¤¤ë @strong{MySQL} ¥µ¡¼¥Ð¡¼¤Î¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤ò´Þ¤ó¤À
-¥ì¥¹¥Ý¥ó¥¹¤¬ÆÀ¤é¤ì¤ë¤Ï¤º¤Ç¤¹¡£
-¤â¤· @code{telnet: Unable to connect to remote host: Connection refused} ¤Î¤è¤¦¤Ê
-¥¨¥é¡¼¤Ë¤Ê¤Ã¤¿¤Ê¤é¤Ð¡¢¤³¤Î¥Ý¡¼¥È¤ò»ÈÍѤ·¤Æ¤¤¤ë¥µ¡¼¥Ð¡¼¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-
-@item
-¥í¡¼¥«¥ë¤Î¥Þ¥·¥ó¤Î @code{mysqld} ¥Ç¡¼¥â¥ó¤ËÀܳ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
-@code{mysqld} ¤¬»ÈÍѤ¹¤ë¤è¤¦¤Ë»ØÄꤵ¤ì¤¿ TCP/IP ¥Ý¡¼¥È¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
-¡Ê@code{mysqladmin variables} ¤ÇÆÀ¤é¤ì¤ë @code{port} ÊÑ¿ô¡Ë
-
-@item
-@code{mysqld} ¥µ¡¼¥Ð¡¼¤¬ @code{--skip-networking} ¥ª¥×¥·¥ç¥ó¤Çµ¯Æ°¤µ¤ì¤Æ¤¤¤Ê¤¤¤«
-³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
-@end itemize
-
-@node Blocked host, Too many connections, Can not connect to server, Common errors
-@subsection @code{Host '...' is blocked} ¥¨¥é¡¼
-
-°Ê²¼¤Î¥¨¥é¡¼¤Î¾ì¹ç¡§
-
-@example
-Host 'hostname' is blocked because of many connection errors.
-Unblock with 'mysqladmin flush-hosts'
-@end example
-
-¤³¤ì¤Ï @code{mysqld} ¤¬Â¿¤¯¤Î @code{'hostname'} ¥Û¥¹¥È¤«¤é¤ÎÀܳ¥¨¥é¡¼(@code{max_connect_errors})
-¤ò¼õ¤±¤¿¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£
-¤³¤Î @code{max_connect_errors} ÂçÎÌȯÀ¸¸å¡¢@code{mysqld} ¤Ï²¿¤«(¥¯¥é¥Ã¥«¡¼¤Ë¤è¤ë¥µ¡¼¥Ð¡¼¤Ø¤Î¥¢¥¿¥Ã¥¯¤Ê¤É)¤¬µ¯¤³¤Ã¤¿¤ÈȽÃǤ·¡¢¤³¤Î¥Û¥¹¥È¤«¤é¤ÎÀܳ¤ò¤¤¤Ã¤µ¤¤µñÈݤ¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
-¤³¤ì¤ò²ò½ü¤¹¤ë¤Ë¤Ï¡¢@code{mysqladmin flush-hosts} ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢10²ó¤ÎÀܳ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¡¢@code{mysqld} ¤Ï¤½¤Î¥Û¥¹¥È¤òµñÈݤ·¤Þ¤¹¡£
-¤³¤ÎÃͤϰʲ¼¤Î¤è¤¦¤Ë¤·¤Æ´Êñ¤ËÊѹ¹¤Ç¤­¤Þ¤¹¡§
-
-@example
-shell> safe_mysqld -O max_connect_errors=10000 &
-@end example
-
-¤â¤·¤³¤Î¥¨¥é¡¼¤¬¤¢¤ë¥Û¥¹¥È¤ËÂФ·¤ÆȯÀ¸¤¹¤ë¤Ê¤é¤Ð¡¢¤Þ¤ººÇ½é¤Ë¤½¤Î¥Û¥¹¥È¤«¤é¤Î TCP/IP Àܳ¤ËÉÔ¶ñ¹ç¤¬¤Ê¤¤¤«¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤â¤· TCP/IP Àܳ¤¬Æ°ºî¤·¤Æ¤¤¤Ê¤¤¤è¤¦¤Ê¤é¡¢ @code{max_connect_errors} ÃͤòÁý¤ä¤¹¤³¤È¤Ï¤è¤¯¤Ê¤¤¤³¤È¤Ç¤¹¡ª
-
-@node Too many connections, Out of memory, Blocked host, Common errors
-@subsection @code{Too many connections} ¥¨¥é¡¼
-
-¤â¤· @strong{MySQL} ¤ËÀܳ¤·¤è¤¦¤È¤·¤Æ @code{Too many connections} ¤È¤Ê¤Ã¤¿¾ì¹ç¡¢
-¤³¤ì¤Ï´û¤Ë @code{max_connections} ʬ¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é @code{mysqld} ¥µ¡¼¥Ð¡¼¤Ø¤Î
-Àܳ¤¬¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£
-
-¤â¤·¥Ç¥Õ¥©¥ë¥È¤Î100¤è¤ê¤â¿¤¤Àܳ¤òɬÍפȤ¹¤ë¤Ê¤é¤Ð¡¢
-@code{max_connections} ÊÑ¿ô¤Ë¿¤¯¤ÎÃͤòÍ¿¤¨¤Æ¡¢@code{mysqld} ¤ò
-¥ê¥¹¥¿¡¼¥È¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-¼ÂºÝ¤Ï¡¢@code{mysqld} ¤Ï (@code{max_connections}+1) ¸Ä¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤ÎÀܳ¤òµö¤·¤Æ¤¤¤Þ¤¹¡£
-ºÇ¸å¤Î£±¸Ä¤Ï¡¢ @code{process} ¸¢¸Â¤ò¤â¤Ä¥æ¡¼¥¶¡¼¤Î¤¿¤á¤Ë¼è¤Ã¤Æ¤¢¤ê¤Þ¤¹¡£
-By not giving this privilege to normal users (they shouldn't need this), an
-administrator with this privilege can login and use @code{SHOW PROCESSLIST}
-to find out what could be wrong. @xref{SHOW}.
-
-@node Out of memory, Packet too large, Too many connections, Common errors
-@subsection @code{Out of memory} ¥¨¥é¡¼
-
-¥¯¥¨¥ê¤ò¹Ô¤Ã¤Æ¡¢¼¡¤Î¥¨¥é¡¼¤Î¤è¤¦¤Ê¤â¤Î¤òÆÀ¤¿¾ì¹ç:
-
-@example
-mysql: Out of memory at line 42, 'malloc.c'
-mysql: needed 8136 byte (8k), memory in use: 12481367 bytes (12189k)
-ERROR 2008: MySQL client ran out of memory
-@end example
-
-¥¨¥é¡¼¤Ï @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È @code{mysql} ¤Ë´Ø·¸¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¥¨
-¥é¡¼¤ÎÍýͳ¤Ïñ½ã¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬·ë²ÌÁ´ÂΤò³ÊǼ¤¹¤ë¤Î¤Ë½½Ê¬¤Ê¥á¥â¥ê¤ò»ý¤Ã
-¤Æ¤¤¤Ê¤¤¤³¤È¤Ç¤¹¡£
-
-¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤Ë¤¢¤¿¤ê¡¢¤Þ¤ººÇ½é¤Ë¥¯¥¨¥ê¡¼¤¬Àµ¤·¤¤¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤½¤Î¥¯¥¨¥ê¡¼¤ÏÂçÎ̤ηë²Ì¤òÊÖ¤¹¤â¤Î¤Ç¤·¤ç¤¦¤«¡©
-¤â¤·¤½¤¦¤Ê¤é¡¢@code{mysql --quick} ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤ì¤Ï·ë²Ì¤ò¼è¤ê½Ð¤¹¤¿¤á¤Ë @code{mysql_use_result()} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤³¤ì¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¥í¡¼¥ÉÉÔ­¤òÊ䤤¤Þ¤¹(¥µ¡¼¥Ð¡¼¤è¤ê¿¤¤Îΰè¤Ï¼è¤ì¤Þ¤»¤ó)¡£
-
-@node Packet too large, Full table, Out of memory, Common errors
-@subsection @code{Packet too large} ¥¨¥é¡¼
-
-@strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¤¬ @code{max_allowed_packet} ¤è¤ê¤âÂ礭¤Ê¥Ö¥í¥Ã¥¯¤ò @code{mysqld} ¥µ¡¼¥Ð¡¼¤«¤éÆÀ¤¿»þ¡¢@code{Packet too large} ¥¨¥é¡¼¤òȯ¤·¤Þ¤¹¡£
-
-@code{mysql} ¥¯¥é¥¤¥¢¥ó¥È¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢@code{mysql --set-variable=max_allowed_packet=8M}
- ¤Ç¥¯¥é¥¤¥¢¥ó¥È¤ò³«»Ï¤¹¤ë¤³¤È¤Ç¡¢¥Ð¥Ã¥Õ¥¡¤òÂ礭¤¯ÀßÄê¤Ç¤­¤Þ¤¹¡£
-
-¤â¤·(@code{DBI} ¤Î¤è¤¦¤Ë)ºÇÂç¥Ñ¥±¥Ã¥È¥µ¥¤¥º¤ò»ØÄê¤Ç¤­¤Ê¤¤¥¯¥é¥¤¥¢¥ó¥È¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢
-¥Ñ¥±¥Ã¥È¥µ¥¤¥º¤ò»ØÄꤷ¤Æ¥µ¡¼¥Ð¡¼¤òΩ¤Á¾å¤²Ä¾¤·¤Þ¤¹¡£
-¤³¤ì¤Ï @code{mysqld} ¤Î¥ª¥×¥·¥ç¥ó¤Î @code{max_allowed_packet} ¤ËÂ礭¤ÊÃͤòÀßÄꤹ¤ë¤³¤È¤Ç¹Ô¤¤¤Þ¤¹¡£
-Î㤨¤Ð¡¢ @code{BLOB} ·¿¤ÎµöÍÆÈϰϤ¤¤Ã¤Ñ¤¤¤Î¥Ç¡¼¥¿¤ò¥Æ¡¼¥Ö¥ë¤ËÆþ¤ì¤ë¾ì¹ç¡¢
-@code{--set-variable=max_allowed_packet=24M} ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-@cindex The table is full
-@node Full table, Commands out of sync, Packet too large, Common errors
-@subsection @code{The table is full} ¥¨¥é¡¼
-
-¤³¤Î¥¨¥é¡¼¤Ï¡¢¸Å¤¤ @strong{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤Ë¤ª¤¤¤Æ¡¢
-¥á¥â¥êÆâ°ì»þ¥Æ¡¼¥Ö¥ë¤¬ @code{tmp_table_size} ¤è¤ê¤âÂ礭¤¯¤Ê¤Ã
-¤¿»þ¤ËȯÀ¸¤·¤Þ¤¹¡£¤³¤ÎÌäÂê¤ò²óÈò¤¹¤ë¤¿¤á¤Ë¡¢@code{mysqld} ¤Î¥ª¥×¥·¥ç¥ó @code{-O
-tmp_table_size=#} ¤ÇÁý²Ã¡¢¤Þ¤¿¤Ï¡¢SQL ¥ª¥×¥·¥ç¥ó @code{SQL_BIG_TABLES}
-¤òÌäÂê¤Î¥¯¥¨¥ê¤ÎÁ°¤Ë»ÈÍѤǤ­¤Þ¤¹¡£@xref{SET OPTION, , @code{SET OPTION}}.
-
-@code{mysqld} ¤ò @code{--big-tables} ¥ª¥×¥·¥ç¥ó»ØÄꤷ¤Æµ¯Æ°¤·¤Þ¤¹¡£
-¤³¤ì¤ÏÁ´¤Æ¤Î¥¯¥¨¥ê¡¼¤ËÂФ·¤Æ @code{SQL_BIG_TABLES} ¤ò»ÈÍѤ¹¤ë¤Î¤ÈƱ¤¸¤Ç¤¹¡£
-
-In @strong{MySQL} 3.23 in-memory temporary tables will automaticly be
-converted to a disk based @code{MyISAM} table after the table size gets
-bigger than @code{tmp_table_size}.
-
-@cindex Commands out of sync
-@node Commands out of sync, Ignoring user, Full table, Common errors
-@subsection @code{Commands out of sync} error in client
-
-@code{Commands out of sync; You can't run this command now} ¤ò¥¯¥é¥¤¥¢¥ó
-¥È¥³¡¼¥ÉÃæ¤ÇÆÀ¤¿¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È´Ø¿ô¤ò´Ö°ã¤Ã¤¿½çÈ֤ǸƤӽФ·¤Þ¤·¤¿¡ª
-
-¤³¤ì¤ÏÎ㤨¤Ð¡¢@code{mysql_use_result()} ¤ò»ÈÍѤ·¤Æ¤¤¤Æ¡¢@code{mysql_free_result()}
-¤ò¹Ô¤¦Á°¤Ë¿·¤·¤¤¥¯¥¨¥ê¤Î¼Â¹Ô¤ò»î¤ß¤¿¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£¤³¤ì¤Ï¤Þ¤¿¡¢¥Ç¡¼¥¿
-¤òÊÖ¤¹£²¤Ä¤Î¥¯¥¨¥ê¤Î¼Â¹Ô¤ò¡¢´Ö¤Ë @code{mysql_use_result()} ¤ä
-@code{mysql_store_result()} ̵¤·¤Ç»î¤ß¤¿¾ì¹ç¤Ë¤âȯÀ¸¤·¤Þ¤¹¡£
-
-
-@node Ignoring user, Cannot find table, Commands out of sync, Common errors
-@subsection @code{Ignoring user} ¥¨¥é¡¼
-
-°Ê²¼¤Î¥¨¥é¡¼¤Î¾ì¹ç¡§
-
-@code{Found wrong password for user: 'some_user@@some_host'; Ignoring user}
-
-¤³¤ì¤Ï @code{mysqld} ¤Î³«»Ï¤Þ¤¿¤Ï 'reload' »þ¤Ë @code{user} ¥Æ¡¼¥Ö¥ëÆâ¤ËÀµ¤·¤¤¥Ñ¥¹¥ï¡¼
-¥É¤ò»ý¤¿¤Ê¤¤¥¨¥ó¥È¥ê¤ò¸«¤Ä¤±¤¿¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-¤³¤ì¤Ïñ¤Ë¥¨¥ó¥È¥ê¤¬µö²Ä¥·¥¹¥Æ¥à¤ËµñÈݤµ¤ì¤Æ¤¤¤ë¤À¤±¤Ç¤¹¡£
-
-µ¯¤³¤êÆÀ¤ë¤³¤È¤È¤½¤Î²ò·è:
-
-@itemize @bullet
-@item
-¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î @code{mysqld} ¤ò¡¢¸Å¤¤¥Ð¡¼¥¸¥ç¥óÍѤΠ@code{user} ¥Æ¡¼¥Ö¥ë¤ÇÁö¤é¤»¤Æ¤¤¤ë¤Î¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-@code{mysqlshow mysql user} ¤ò¹Ô¤¦¤³¤È¤Ë¤è¤Ã¤Æ¤³¤ì¤ò¸¡¾Ú¤Ç¤­¤Þ¤¹¡£
-¥Ñ¥¹¥ï¡¼¥É¥Õ¥£¡¼¥ë¥É¤¬ 16 ʸ»ú¤è¤ê¤âû¤¤¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤â¤·¤½¤¦¤Ê¤é¡¢¤³¤ì¤ò½¤Àµ¤¹¤ë¤¿¤á¤Ë¡¢@code{scripts/add_long_password} ¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-¥æ¡¼¥¶¡¼¤¬¸Å¤¤¥Ñ¥¹¥ï¡¼¥É(ºÇÂç8ʸ»ú) ¤ò»ÈÍѤ·¤Æ¤¤¤Æ¡¢@code{mysqld} ¤ò @code{--old-protocol} ¥ª¥×¥·¥ç¥ó¤Çµ¯Æ°¤·¤Æ¤¤¤Ê¤¤¤Î¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤Ç @code{user} ¥Æ¡¼¥Ö¥ëÆâ¤Î¥æ¡¼¥¶¤ò¹¹¿·¤¹¤ë¤«¡¢@code{--old-protocol}
-ÉÕ¤­¤Ç @code{mysqld} ¤òºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-@findex PASSWORD()
-@code{user} ¥Æ¡¼¥Ö¥ë¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¡¢@code{PASSWORD()} ´Ø¿ô¤ò»ÈÍѤ·¤Ê¤¤¤ÇÅÐÏ¿¤·¤¿¤Î¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-¤³¤Î¾ì¹ç¡¢@code{user} ¥Æ¡¼¥Ö¥ë¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¡¢@code{mysql} ¤ò»ÈÍѤ·¤Æ¹¹¿·¤·¤Þ¤¹¡£
-@code{PASSWORD()} ´Ø¿ô¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ»ÈÍѤ·¤Þ¤¹¡§
-
-@example
-mysql> update user set password=PASSWORD('your password')
- where user='XXX';
-@end example
-@end itemize
-
-@node Cannot find table, , Ignoring user, Common errors
-@subsection @code{Table 'xxx' doesn't exist} error
-
-¤â¤· @code{Table 'xxx' doesn't exist} ¤« @code{Can't find file: 'xxx' (errno: 2)}
- ¥¨¥é¡¼¤¬½Ð¤¿¾ì¹ç¡¢»ÈÍѤ·¤Æ¤¤¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë @code{xxx} ¤È¤¤¤¦Ì¾Á°¤Î¥Æ¡¼¥Ö¥ë¤¬
-¸«ÉÕ¤«¤é¤Ê¤«¤Ã¤¿¤³¤È¤ò¼¨¤·¤Þ¤¹
-
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¥Æ¡¼¥Ö¥ë¤ÎÊݸ¤Ë¡¢@strong{MySQL} ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤È¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¡¢
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¥Æ¡¼¥Ö¥ë¤Î̾Á°¤Ï@strong{¥±¡¼¥¹°Í¸}¤Ç¤¹!
-(Win32 ¤Ç¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¥Æ¡¼¥Ö¥ë̾¤Ï¥±¡¼¥¹Èó°Í¸¤Ç¤¹¡£
-¥¯¥¨¥êÃæ¤Î¥Æ¡¼¥Ö¥ë¤ËÂФ¹¤ëÌ䤤¹ç¤ï¤»¤ÏÁ´¤Æ¡¢Æ±¤¸¥±¡¼¥¹¤Ç½ñ¤«¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡ª)
-
-@code{SHOW TABLES} ¤ò»ÈÍѤ·¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Æ¡¼¥Ö¥ë¤ò³Îǧ¤Ç¤­¤Þ¤¹. @xref{SHOW, , @code{SHOW}}.
-
-@cindex Full disk
-@cindex Disk full
-@node Full disk, Multiple sql commands, Common errors, Problems
-@section @strong{MySQL} ¤Ï¥Õ¥ë¥Ç¥£¥¹¥¯¤ò¤É¤Î¤è¤¦¤Ë°·¤¦¤«¡©
-
-@noindent
-¥Ç¥£¥¹¥¯¥Õ¥ë¤¬µ¯¤­¤¿¾ì¹ç @strong{MySQL} ¤Ï¼¡¤Î¤³¤È¤ò¹Ô¤¤¤Þ¤¹:
-
-@itemize @bullet
-@item
-¸½ºß¤Î¹Ô¤ò½ñ¤¯¤Î¤Ë½½Ê¬¤ÊÎΰ褬¤¢¤ë¤«¤É¤¦¤«¤ò1ʬËè¤Ë1²ó¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£½½
-ʬ¤Ê¥Ç¥£¥¹¥¯¤¬¤¢¤ë¾ì¹ç¤Ï¡¢²¿¤âµ¯¤­¤Ê¤«¤Ã¤¿¤è¤¦¤Ë·Ñ³¤·¤Þ¤¹¡£
-@item
-6ʬËè¤Ë¥í¥°¥Õ¥¡¥¤¥ë¤Ë¥Ç¥£¥¹¥¯¥Õ¥ë¤ò·Ù¹ð¤¹¤ë¥¨¥ó¥È¥ê¤ò½ñ¤­½Ð¤·¤Þ¤¹¡£
-@end itemize
-
-@noindent
-¤³¤ÎÌäÂê¤Î¾ì¹ç¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-·Ñ³¤¹¤ë¤¿¤á¤Ë¤Ï¡¢Á´¤Æ¤Î¥ì¥³¡¼¥É¤òÁÞÆþ¤¹¤ë¤Î¤Ë½½Ê¬¤ÊÎΰè¤ò²òÊü¤¹¤ëɬÍפ¬
-¤¢¤ê¤Þ¤¹¡£
-@item
-¥¹¥ì¥Ã¥É¤ò¥¢¥Ü¡¼¥È¤¹¤ë¤¿¤á¤Ë¤Ï¡¢@code{mysqladmin kill} ¤ò¥¹¥ì¥Ã¥É¤ËÁ÷¤ë
-ɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¹¥ì¥Ã¥É¤Ï¼¡¤Ë(1ʬ)¥Ç¥£¥¹¥¯¤ò¥Á¥§¥Ã¥¯¤·¤¿»þ¤Ë¥¢¥Ü¡¼¥È¤·
-¤Þ¤¹¡£
-@item
-¾¤Î¥¹¥ì¥Ã¥É¤¬ ``disk full'' ¤¬È¯À¸¤·¤¿¥Æ¡¼¥Ö¥ë¤ÇÂÔ¤¿¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ
-¤¯¤À¤µ¤¤¡£Â¿¤¯¤Î ``locked'' ¥¹¥ì¥Ã¥É¤¬¤¢¤ë¾ì¹ç¡¢disk full ¤òÂԤİì¤Ä¤Î¥¹¥ì¥Ã
-¥É¤ò kill ¤¹¤ë¤³¤È¤Ç¡¢Â¾¤Î¥¹¥ì¥Ã¥É¤Î·Ñ³¤òµö¤·¤Þ¤¹¡£
-@end itemize
-
-
-@node Multiple sql commands, Temporary files, Full disk, Problems
-@section ¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é SQL ¥³¥Þ¥ó¥É¤ò¼Â¹Ô
-
-@code{mysql} ¥¯¥é¥¤¥¢¥ó¥È¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤ÆÂÐÏÃŪ¤Ë»ÈÍѤ·¤Þ¤¹¡§
-
-@example
-shell> mysql database
-@end example
-
-¤·¤«¤· SQL ¥³¥Þ¥ó¥É¤ò¥Õ¥¡¥¤¥ë¤Ë½ñ¤¤¤Æ¤ª¤­¡¢¤½¤ì¤ò @code{mysql} ¤ËÆɤ߹þ¤Þ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë @file{text_file} ¤Ë¼Â¹Ô¤·¤¿¤¤¥³¥Þ¥ó¥É¤ò½ñ¤¤¤Æ¤ª¤­¡¢
-°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ @code{mysql} ¤òµ¯Æ°¤·¤Þ¤¹¡§
-
-@example
-shell> mysql database < text_file
-@end example
-
-¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤ÎÀèƬ¤Ë @code{USE db_name} ¹½Ê¸¤ò½ñ¤¯¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤ËÍ¿¤¨¤ëɬÍפÏ̵¤¯¡¢°Ê²¼¤Î¤è¤¦¤Ë¤Ç¤­¤Þ¤¹¡§
-
-@example
-shell> mysql < text_file
-@end example
-
-@xref{Programs}.
-
-
-@node Temporary files, Problems with mysql.sock, Multiple sql commands, Problems
-@section @strong{MySQL} ¤¬°ì»þ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê
-
-@strong{MySQL} ¤Ï°ì»þ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¾ì½ê¤È¤·¤Æ @code{TMPDIR} ´Ä¶­ÊÑ¿ô¤ÎÃͤò
-»ÈÍѤ·¤Þ¤¹¡£@code{TMPDIR} ¤òÀßÄꤷ¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢@strong{MySQL} ¤Ï¥·¥¹¥Æ¥à¤Î¥Ç¥Õ¥©
-¥ë¥È¤ò»ÈÍѤ·¤Þ¤¹¡£Ä̾ï¤Ï @file{/tmp} ¤Þ¤¿¤Ï @file{/usr/tmp} ¤Ç¤¹¡£@code{TMPDIR} ¤¬¾®¤µ
-¤¹¤®¤ë¾ì¹ç¡¢@code{safe_mysqld} ¤òÊÔ½¸¤·¤Æ¡¢½½Ê¬¤ÊÎΰ褬¤¢¤ë¾¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»Ø
-¤¹¤è¤¦¤Ë @code{TMPDIR} ¤òÀßÄꤹ¤Ù¤­¤Ç¤¹¡ª
-@code{--tmpdir} ¥ª¥×¥·¥ç¥ó¤ò @code{mysqld} ¤ËÍ¿¤¨¤ë¤³¤È¤Ç¡¢°ì»þ¥Õ¥¡¥¤¥ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
-
-@strong{MySQL} ¤ÏÁ´¤Æ¤Î°ì»þ¥Õ¥¡¥¤¥ë¤ò ``±£¤·¥Õ¥¡¥¤¥ë'' ¤È¤·¤ÆÀ¸À®¤·¤Þ¤¹¡£
-¤³¤ì¤Ï @code{mysqld} ¤¬½ªÎ»¤·¤¿¾ì¹ç¤Ë¡¢°ì»þ¥Õ¥¡¥¤¥ë¤¬ºï½ü¤µ¤ì¤Ê¤¤¤³¤È¤ò³Î¼Â¤Ë¤·
-¤Þ¤¹¡£±£¤·¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë '°­¤¤' ¦Ì̤ϡ¢¾®¤µ¤¹¤®¤ë°ì»þ¥Ç¥£¥¹¥¯¤ò°ìÇÕ
-¤Ë¤¹¤ëÂ礭¤Ê°ì»þ¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤é¤ì¤Ê¤¤¤³¤È¤Ç¤¹¡£
-
-¥½¡¼¥È»þ (@code{ORDER BY} ¤Þ¤¿¤Ï @code{GROUP BY})¡¢@strong{MySQL} ¤ÏÄ̾ï°ì¤Ä¤Þ¤¿¤ÏÆó¤Ä
-¤Î°ì»þ¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£É¬ÍפʺÇÂç¤Î¥Ç¥£¥¹¥¯ÍÆÎ̤Ï:
-
-@example
-(length of what is sorted + sizeof(database pointer))
-* number of matched rows
-* 2
-@end example
-
-@code{sizeof(database_pointer)} ¤ÏÄ̾¤Ç¤¹¤¬¡¢¾­ÍèËÜÅö¤ËÂ礭¤Ê¥Æ¡¼¥Ö¥ë
-¤Î¤¿¤á¤ËÂ礭¤¯¤Ê¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
-
-¤¤¤¯¤Ä¤«¤Î @code{SELECT} ¥¯¥¨¥ê¤Ï°ì»þŪ¤Ê SQL ¥Æ¡¼¥Ö¥ë¤âÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤é¤Ï±£
-¤·¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¡¢@file{SQL_*} ¤È¤¤¤¦Ì¾Á°¤Ç¤¹¡£
-
-@code{ALTER TABLE} , @code{OPTIMIZE TABLE} ¤Ï°ì»þ¥Æ¡¼¥Ö¥ë¤ò¥ª¥ê¥¸¥Ê¥ë¥Æ¡¼¥Ö¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê
-Æâ¤ËÀ¸À®¤·¤Þ¤¹¡£
-
-
-@node Problems with mysql.sock, Error Access denied, Temporary files, Problems
-@section @file{/tmp/mysql.sock} ¤òºï½ü¤«¤é¼é¤ëÊýË¡
-
-¤â¤·Ã¯¤«¤Ë @strong{MySQL} ¤Î¥½¥±¥Ã¥È¥Õ¥¡¥¤¥ë @file{/tmp/mysql.sock} ¤¬¾Ã¤µ¤ì¤ë¤Ê¤é¡¢
-¤Û¤È¤ó¤É¤Î Unix ¤¬¤½¤¦¤Ç¤¢¤ë¤è¤¦¤Ë¡¢ @file{/tmp} ¤Ë @code{sticky} ¥Ó¥Ã¥È¤ò¤¿¤Æ¤ÆÊݸ¤Þ¤¹¡£
-@code{root} ¤Ç¥í¥°¥¤¥ó¤·¤Æ¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-shell> chmod +t /tmp
-@end example
-
-¤³¤ì¤Ï¥Õ¥¡¥¤¥ë¤Î¥ª¡¼¥Ê¡¼¤È¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼(@code{root}) ¤Î¤ß¤¬¡¢
- @file{/tmp} ¤Î¥Õ¥¡¥¤¥ë¤ò¾Ã¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@code{sticky} ¥Ó¥Ã¥È¤¬Î©¤Ã¤Æ¤¤¤ë¤«³Îǧ¤¹¤ë¤Ë¤Ï¡¢ @code{ls -ld /tmp} ¤ò¹Ô¤¤¤Þ¤¹¡£
-¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ÎºÇ¸å¤Î¥Ó¥Ã¥È¤¬ @code{t} ¤Ê¤é¤Ð¡¢¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-
-@node Error Access denied, Changing MySQL user , Problems with mysql.sock, Problems
-@section @code{Access denied} ¥¨¥é¡¼
-
-@xref{Privileges}.¡¡@xref{Access denied}.
-
-
-@node Changing MySQL user , Resetting permissions, Error Access denied, Problems
-@section °ìÈ̥桼¥¶¤Ç @strong{MySQL} ¤òÆ°¤«¤¹ÊýË¡
-
-@code{mysqld} (@strong{MySQL} ¥µ¡¼¥Ð) ¤Ïï¤Ç¤â³«»Ï¤·¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@code{mysqld} ¤ò¥æ¡¼¥¶ @code{user_name} ¤Ç¼Â¹Ô¤¹¤ë¤è¤¦¤ËÊѹ¹¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¼¡¤ò¹Ô¤Ê¤¦É¬Íפ¬
-¤¢¤ê¤Þ¤¹:
-
-@enumerate
-@item
-¥µ¡¼¥Ð¡¼¤ò»ß¤á¤Þ¤¹ (use @code{mysqladmin shutdown}).
-
-@item
-@code{user_name} ¤¬Æɤ߽ñ¤­¤Ç¤­¤ë¤è¤¦¤Ë¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤È¤½¤ÎÃæ¤Î¥Õ¥¡¥¤¥ë¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÊѹ¹¤·¤Þ¤¹¡£(¤³¤ì¤Ï Unix @code{root} ¥æ¡¼¥¶¡¼¤Ç¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦)¡§
-
-@example
-shell> chown -R user_name /path/to/mysql/datadir
-@end example
-
-@strong{MySQL} ¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ç¥£¥ì¥¯¥È¥ê¡¼¤ä¥Õ¥¡¥¤¥ë¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¾ì¹ç¡¢
-¤³¤ì¤é¥ê¥ó¥¯¤ÎÀè¤Î¥Ç¥£¥ì¥¯¥È¥ê¤È¥Õ¥¡¥¤¥ë¤âÊѹ¹¤·¤Þ¤¹¡£@code{chown -R} ¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯Àè¤òÊѹ¹¤·¤Æ¤¯¤ì¤Þ¤»¤ó¡£
-
-@item
-¥æ¡¼¥¶ @code{user_name} ¤Ç¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤¹¡£¤Þ¤¿¤Ï @strong{MySQL} 3.22 °Ê¹ß¤ò»ÈÍѤ¹¤ë
-¾ì¹ç¤Ï¡¢@code{mysqld} ¤ò Unix @code{root} ¤Çµ¯Æ°¤· @code{--user=user_name} ¥¹¥¤¥Ã¥Á¤ò»ÈÍѤ·¤Þ¤¹¡£
-@code{mysqld} ¤Ï¡¢Àܳ¤òµö²Ä¤¹¤ëÁ°¤Ë¡¢Í¿¤¨¤é¤ì¤¿ Unix user @code{user_name} ¤Ç¼Â¹Ô¤¹¤ë¤è¤¦¤ËÀÚ¤êÂؤ¨¤Þ¤¹¡£
-
-@item
-¥·¥¹¥Æ¥àºÆµ¯Æ°»þ¡¢ @code{mysql.server} ¤ò»ÈÍѤ·¤Æ @code{mysqld} ¤òµ¯Æ°¤¹¤ë¾ì¹ç¡¢¥æ¡¼¥¶
-@code{user_name} ¤Ø¤Î @code{su} ¤ò¹Ô¤Ê¤¦¤è¤¦¤Ë¤Þ¤¿¤Ï @code{--user} ¥¹¥¤¥Ã¥Á¤ò»ÈÍѤ·¤Æ @code{mysqld} ¤òµ¯Æ°¤¹¤ë¤è¤¦¤Ë @code{mysql.server} ¤ò Êѹ¹¤¹¤Ù¤­¤Ç¤¹¡£
-(No changes to @code{safe_mysqld} are necessary.)
-@end enumerate
-
-¤³¤Î»þÅÀ¤Ç¡¢¤¢¤Ê¤¿¤Î @code{mysqld} ¥×¥í¥»¥¹¤Ï Unix user @code{user_name} ¤ÇÀµ¾ï¤ËÆ°ºî¤·¤Þ¤¹¡£
-
-°ì¤Ä¤Î¤³¤È¤ÏÊѤï¤ê¤Þ¤»¤ó¡£¤½¤ì¤Ï¸¢¸Âµö²Ä¥Æ¡¼¥Ö¥ë¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È
-(¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¥Æ¡¼¥Ö¥ë¥¤¥ó¥¹¥È¡¼¥ë¥¹¥¯¥ê¥×¥È@code{mysql_install_db}¼Â¹Ô¸å¤Î¸¢¸Â) ¤Ç¤Ï¡¢@code{mysql}¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤ä¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºîÀ®¡¢ÇË´þ¤Ï¥æ¡¼¥¶ @strong{MySQL} user @code{root} ¤À¤±¤Ç¤¹¡£
-¤³¤ì¤òÊѹ¹¤·¤Ê¤¤¤È¡¢¤½¤ì¤Ï¤½¤Î¤Þ¤Þ¤Ç¤¹¡£
-@code{root} °Ê³°¤ÎUnix user¤Ç¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë»þ¤Ç¤â¡¢¤¢¤Ê¤¿¤Ï
-@strong{MySQL} @code{root} user ¤È¤·¤Æ¥¢¥¯¥»¥¹¤Ï²Äǽ¤Ç¤¹ - ¤¿¤À¥×¥í¥°¥é¥à¤Ë @code{-u root} ¤ò¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤Ë¥ª¥×¥·¥ç¥ó»ØÄꤹ¤ë¤À¤±¤Ç¤¹¡£
-
-@strong{MySQL} ¤Ë @code{root} ¤È¤·¤Æ¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢
-¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç @code{-u root} ¤ò»ÈÍѤ¹¤ë¤À¤±¤Ç¤¤¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-Unix @code{root} user ¤ä @strong{MySQL} ¤òÁö¤é¤»¤Æ¤¤¤ë Unix ¥æ¡¼¥¶¡¼¤Ç¤¢¤ëɬÍפÏ@emph{¤Ê¤¤}¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-@strong{MySQL} ¤Î¥¢¥¯¥»¥¹¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤È@strong{MySQL} ¤Î¥æ¡¼¥¶¤Ï¡¢
-UNIX ¥æ¡¼¥¶¤È¤Ï´°Á´¤ËÊ̤Τâ¤Î¤Ç¤¹¡£UNIX ¥æ¡¼¥¶¤Ë´Ø·¸¤¹¤ë¤Î¤Ï¡¢¥¯¥é¥¤¥¢¥ó
-¥È¤Ë @code{-u} ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¤À¤±¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï
-@strong{MySQL} ¤Ø¤Î¥í¥°¥¤¥ó¤ò¡¢¤¢¤Ê¤¿¤Î UNIX ¥í¥°¥¤¥ó̾¤Ç»î¤ß¤Þ¤¹¡£
-
-¤¢¤Ê¤¿¤Î UNIX ¥Þ¥·¥ó¤½¤ì¼«¿È¤¬°ÂÁ´¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¾¯¤Ê¤¯¤È¤â @strong{MySQL} ¥¢
-¥¯¥»¥¹¥Æ¡¼¥Ö¥ë¤Î @strong{MySQL} @code{root} ¥æ¡¼¥¶¤Ë¤Ï¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤹ¤Ù¤­¤Ç¤¹¡£
-¤É¤³¤«¤Î狼¤¬ @code{mysql -u root db_name} ¤ò¹Ô¤Ê¤¤¡¢Èब˾¤à¤³¤È¤ÎÁ´¤Æ¤ò¼Â¹Ô¤Ç¤­¤Æ¤·¤Þ¤¦¤«¤é¤Ç¤¹¡£
-
-
-@node Resetting permissions, File permissions , Changing MySQL user , Problems
-@section ˺¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ò¥ê¥»¥Ã¥È¤¹¤ë
-
-¤â¤· @strong{MySQL} ¤Î @code{root} ¥æ¡¼¥¶¡¼¤Î¥Ñ¥¹¥ï¡¼¥É¤ò˺¤ì¤¿¾ì¹ç¡¢
-¤³¤ì¤ò°Ê²¼¤Î¤è¤¦¤Ë¤·¤ÆÆþ¤ìľ¤¹¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-
-@enumerate
-@item
-@code{mysqld} ¥µ¡¼¥Ð¡¼¤ò @code{kill} ¤ÇÍî¤È¤¹¡£
-(@code{kill -9} ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡ª)
-PID ÈÖ¹æ¤ÏÄ̾ï @strong{MySQL} ¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë @code{.pid} ¥Õ¥¡¥¤¥ë¤È¤·¤Æ
-½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡§
-
-@example
-kill `cat /mysql-data-directory/hostname.pid`
-@end example
-
-¤³¤ì¤ò¡¢ UNIX @code{root} ¥æ¡¼¥¶¡¼¤«¡¢@strong{MySQL} ¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤·¤¿
-¥æ¡¼¥¶¡¼¤Ç¹Ô¤¤¤Þ¤¹¡£
-
-@item
-@code{mysqld} ¤ò @code{--skip-grant-tables} ¥ª¥×¥·¥ç¥ó¤Çµ¯Æ°¡£
-
-@item
-@code{mysql -h hostname mysql} ¤Ç@code{mysqld} ¥µ¡¼¥Ð¡¼¤ËÀܳ¤·¡¢
-@code{GRANT} ¥³¥Þ¥ó¥É¤Ç¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤Þ¤¹¡£ @xref{GRANT,,@code{GRANT}}.
-@code{mysqladmin -h hostname -u user password 'new password'}
-¤Ç¤âÊѹ¹²Äǽ¤Ç¤¹¡£
-
-@item
-µö²Ä¥Æ¡¼¥Ö¥ë¤òÆɤ߹þ¤ß¤Þ¤¹¡§
-@code{mysqladmin -h hostname flush-privileges} ¤«¡¢SQL ʸ¤Î
-@code{FLUSH PRIVILEGES} ¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-@end enumerate
-
-
-@node File permissions , Not enough file handles, Resetting permissions, Problems
-@section ¥Õ¥¡¥¤¥ë¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ÎÌäÂê
-
-¥Õ¥¡¥¤¥ë¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ÎÌäÂ꤬¤¢¤ë¾ì¹ç¡¢
-Î㤨¤Ð¡¢¥Æ¡¼¥Ö¥ë¤ÎÀ¸À®»þ¤Ë @code{mysql} ¤¬¼¡¤ò½ÐÎϤ¹¤ë¾ì¹ç:
-
-@example
-ERROR: Can't find file: 'path/with/filename.frm' (Errcode: 13)
-@end example
-
-@tindex UMASK environment variable
-@tindex Environment variable, UMASK
-¤³¤ì¤Ï @code{UMASK} ´Ä¶­ÊÑ¿ô¤¬ @code{mysqld} µ¯Æ°»þ¤Ë´Ö°ã¤Ã¤Æ¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤È¹Í¤¨¤é¤ì¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Î umask ¤Ï @code{0660} ¤Ç¤¹.
-¤³¤ì¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ @code{safe_mysqld} Ω¤Á¾å¤²»þ¤ËÊѹ¹¤Ç¤­¤Þ¤¹:
-
-@example
-shell> UMASK=384 # = 600 in octal
-shell> export UMASK
-shell> /path/to/safe_mysqld &
-@end example
-
-@tindex UMASK_DIR environment variable
-@tindex Environment variable, UMASK_DIR
-By default @strong{MySQL} will create database and @code{RAID}
-directories with permission type 0700. You can modify this behaviour by
-setting the the @code{UMASK_DIR} variable. If you set this, new
-directories are created with the combined @code{UMASK} and
-@code{UMASK_DIR}. For example, if you want to give group access to
-all new directories, you can do:
-
-@example
-shell> UMASK_DIR=504 # = 770 in octal
-shell> export UMASK_DIR
-shell> /path/to/safe_mysqld &
-@end example
-
-@xref{Environment variables}.
-
-@node Not enough file handles, Using DATE, File permissions , Problems
-@section File not found
-
-@code{ERROR '...' not found (Errcode: 23)}, @code{Can't open file: ... (errno: 24)}
- ¤ä @code{errcode 23} @code{errno 24} ¤Î¥¨¥é¡¼¤ò @strong{MySQL} ¤«¤éÆÀ¤¿¾ì¹ç¡¢
-¤³¤ì¤Ï @strong{MySQL} ¤Ë½½Ê¬¤Ê¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤¬³ä¤êÅö¤Æ¤é¤ì¤Ê¤«¤Ã¤¿¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-@code{perror #} ¤Ï¤µ¤é¤ËÆɤߤ䤹¤¤·Á¼°¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÍ¿¤¨¤Þ¤¹:
-
-@example
-shell> perror 23
-File table overflow
-shell> perror 24
-Too many open files
-@end example
-
-¤³¤ì¤Ï @code{mysqld} ¤¬Â¿¤¯¤Î¥Õ¥¡¥¤¥ë¤ò³«¤³¤¦¤È¤·¤¿¤³¤È¤Ëµ¯°ø¤·¤Þ¤¹¡£
-@code{mysqld} ¤Ë°ìÅ٤˳«¤¯¥Õ¥¡¥¤¥ë¿ô¤ò¿¤¯³«¤«¤Ê¤¤¤è¤¦¤·¤¿¤ê¡¢¤¢¤ë¤¤¤Ï¡¢
-@code{mysqld} ¤¬°·¤¨¤ë¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤Î¿ô¤òÍ¿¤¨¤¿¤ê¤Ç¤­¤Þ¤¹¡£
-
-@code{mysqld} ¤¬°ìÅ٤˳«¤¯¥Õ¥¡¥¤¥ë¤Î¿ô¤ò¾¯¤Ê¤¯¤¹¤ë¤Ë¤Ï¡¢@code{-O table_cache=32} ¥ª¥×¥·¥ç¥ó(¥Ç¥Õ¥©¥ë¥È¤Ï64)¤ò @code{safe_mysqld} ¤ËÍ¿¤¨¤ë¤³¤È¤Ç²Äǽ¤Ç¤¹¡£
-¤Þ¤¿¡¢@code{max_connections} ¤ÎÃÍ(¥Ç¥Õ¥©¥ë¥È¤Ï90)¤ò¾¯¤Ê¤¯¤¹¤ë¤Ê¤é¤Ð¡¢³«¤¯¥Õ¥¡¥¤¥ë¿ô¤â¾¯¤Ê¤¯¤Ç¤­¤Þ¤¹¡£
-
-@tindex ulimit
-@code{mysqld} ¤¬¼è¤ê°·¤¨¤ë¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤Î¿ô¤òÊѹ¹¤¹¤ë¤Ë¤Ï¡¢ @code{safe_mysqld} ¤òÊÔ½¸¤·¤Þ¤¹¡£
-¤³¤ÎÃæ¤Ë @code{ulimit -n 256} ¤¬¥³¥á¥ó¥È¥¢¥¦¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î¥³¥á¥ó¥È¤ò¤Ï¤º¤·(@code{'#'}ʸ»ú¤ò¾Ã¤¹)¡¢256 ¤ò @code{mysqld} ¤¬°·¤¦¿ô¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@code{ulimit} ¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ÎÀ©¸ÂÆâ¤Ç¤·¤«¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤Î¿ô¤ò»ØÄê¤Ç¤­¤Þ¤»¤ó¡£
-¤â¤· OS ¤ÎÀ©¸Â°Ê¾å¤Ë¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤Î¥ª¡¼¥×¥ó¿ô¤òÁý¤ä¤·¤¿¤¤¾ì¹ç¡¢
-¤ª»È¤¤¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥É¥­¥å¥á¥ó¥È¤ò¸«¤ÆÂн褷¤Æ¤¯¤À¤µ¤¤¡£
-
-@code{tcsh} ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï @code{ulimit} ¤ÏÆ°¤«¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡ª
-@code{tcsh} ¤Ï¸½ºß¤ÎÀ©¸Â¤ò¤¢¤Ê¤¿¤¬Ì䤤¹ç¤ï¤»¤Æ¤â¡¢°ã¤Ã¤¿ÃͤòÊó¹ð¤¹¤ë¤Ç¤·¤ç¤¦¡£
-¤³¤Î¾ì¹ç¡¢@code{safe_mysqld} ¤Ï @code{sh} ¤Çµ¯Æ°¤¹¤Ù¤­¤Ç¤¹¡ª
-
-
-@node Using DATE, Timezone problems, Not enough file handles, Problems
-@section @code{DATE} ¥Õ¥£¡¼¥ë¥É»ÈÍÑ»þ¤ÎÌäÂê
-
-ÆüÉÕ @code{DATE} ¤Î·Á¼°¤Ï @code{'YYYY-MM-DD'} ¤Ç¤¹¡£ANSI SQL ¤Ë½¾¤Ã¤Æ¼ÂºÝ¤Ë¤Ï¾¤Î¤Ïµö¤µ¤ì¤Þ
-¤»¤ó¡£¹¹¿·¤Þ¤¿¤Ï @code{SELECT} ʸÃæ¤Î WHERE ÀáÆâ¤Ç¤Ï¤³¤Î·Á¼°¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£¤¹¤Ê¤ï¤Á:
-
-@example
-mysql> SELECT * FROM tbl_name WHERE date >= '1997-05-05';
-@end example
-
-ÍøÊؤΤ¿¤á @strong{MySQL} ¤Ï¡¢ÆüÉÕ¤¬¿ôÃͤÎʸ̮¤Ç»ÈÍѤµ¤ì¤ë¤È¡¢ÆüÉÕ¤ò¼«Æ°Åª¤Ë¿ô
-ÃͤËÊÑ´¹¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¹¹¿·¤È @code{TIMESTAMP}, @code{DATE} ¤Þ¤¿¤Ï
-@code{DATETIME} ¥Õ¥£¡¼¥ë¥É¤Ç¤Î @code{WHERE} »þ¤Ë¡¢¤ï¤ê¤È¼«Í³¤ËÆüÉÕ¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-(¤³¤Îµ­½Ò¤òµö¤¹¤¿¤á¡¢¶çÆɵ­¹æ¤òÆüÉդΥ»¥Ñ¥ì¡¼¥¿¡¼¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£
-Î㤨¤Ð¡¢@code{'1998-08-15'} ¤È @code{'1998#08#15'} ¤ÏƱ°ì¤Ç¤¹.)
-¤â¤·¤í¤ó¥»¥Ñ¥ì¡¼¥¿¡¼¤Î¤Ê¤¤µ­½Ò(Î㡧@code{'19980815'})¤âÆüÉդȤ·¤ÆÊÑ´¹¤·¤Æ¤¯¤ì¤Þ¤¹¡£
-
-ÆÃÊ̤ÊÆüÉÕ @code{'0000-00-00'} ¤Ï @code{'0000-00-00'} ¤È¤·¤Æ³ÊǼ¤µ¤ì¼è¤ê½Ð¤µ¤ì¤Þ¤¹¡£
-@strong{MyODBC} ¤òÄ̤·¤Æ @code{'0000-00-00'} ÆüÉÕ¤ò»ÈÍѤ¹¤ë»þ¡¢@strong{MyODBC} 2.50.12 °Ê¾å¤Ç¤Ï¼«
-ưŪ¤Ë @code{NULL} ¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ODBC ¤Ï¤³¤ÎÆüÉդμïÎà¤ò°·¤¨¤Ê¤¤¤¿¤á¤Ç¤¹¡£
-
-¤³¤ì¤Ï¼¡¤¬Æ°¤¯¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹:
-
-@example
-mysql> INSERT INTO tbl_name (idate) VALUES (19970505);
-mysql> INSERT INTO tbl_name (idate) VALUES ('19970505');
-mysql> INSERT INTO tbl_name (idate) VALUES ('97-05-05');
-mysql> INSERT INTO tbl_name (idate) VALUES ('1997.05.05');
-mysql> INSERT INTO tbl_name (idate) VALUES ('1997 05 05');
-mysql> INSERT INTO tbl_name (idate) VALUES ('0000-00-00');
-
-mysql> SELECT idate FROM tbl_name WHERE idate >= '1997-05-05';
-mysql> SELECT idate FROM tbl_name WHERE idate >= 19970505;
-mysql> SELECT mod(idate,100) FROM tbl_name WHERE idate >= 19970505;
-mysql> SELECT idate FROM tbl_name WHERE idate >= '19970505';
-@end example
-
-@noindent
-¼¡¤ÏÆ°¤­¤Þ¤»¤ó:
-
-@example
-mysql> SELECT idate FROM tbl_name WHERE STRCMP(idate,'19970505')=0;
-@end example
-
-@code{STRCMP()} ¤Ïʸ»úÎó´Ø¿ô¤Ç¡¢@code{idate} ¤òʸ»ú¤ËÊÑ´¹¤·¤Æ¡¢Ê¸»úÈæ³Ó¤ò¹Ô¤¤¤Þ¤¹¡£
-@code{'19970505'} ¤ÏÆüÉդˤÏÊÑ´¹¤·¤Æ¤¯¤ì¤º¡¢ÆüÉÕ¤ÎÈæ³Ó¤â¹Ô¤¤¤Þ¤»¤ó¡£
-
-@strong{MySQL} ¤ÏÆüÉÕ¤¬Àµ¤·¤¤¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À
-¤µ¤¤¡£´Ö°ã¤Ã¤¿ÆüÉÕ(Î㤨¤Ð @code{'1998-2-31'})¤ò³ÊǼ¤¹¤ë¤È¡¢¤½¤Î´Ö°ã¤Ã¤¿ÆüÉÕ¤¬³ÊǼ
-¤µ¤ì¤Þ¤¹¡£ÆüÉÕ¤¬Á´ÂÎŪ¤ËÉÔ²Äǽ¤Ê¾ì¹ç¡¢@code{0} ¤¬ @code{DATE} ¥Õ¥£¡¼¥ë¥É¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï¼ç¤Ë®ÅÙ¤ÎÌäÂê¤Ç¡¢ÆüÉդΥÁ¥§¥Ã¥¯¤Ï¥µ¡¼¥Ð¤Ç¤Ï¤Ê¤¯¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤È²æ¡¹
-¤Ï¹Í¤¨¤Æ¤¤¤Þ¤¹¡£
-
-@cindex Timezone problems
-@tindex TZ environment variable
-@tindex Environment variable, TZ
-@node Timezone problems, Case sensitivity, Using DATE, Problems
-@section Timezone problems
-
-¤â¤· @code{SELECT NOW()} ¤¬¤¢¤Ê¤¿¤Î¥í¡¼¥«¥ë»þ´Ö¤Ç¤Ï¤Ê¤¯ GMT ¤òÊÖ¤¹¤Ê¤é¡¢
- @code{TZ} ´Ä¶­ÊÑ¿ô¤ò¥í¡¼¥«¥ë¤ÎTimezone ¤ËÀßÄꤷ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-´Ä¶­ÊÑ¿ô¤ÎÀßÄê¤Ï¡¢¥µ¡¼¥Ð¡¼¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¹Ô¤ï¤ì¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-¤¿¤È¤¨¤Ð¡¢@code{safe_mysqld} ¤ä @code{mysql.server} ¥¹¥¯¥ê¥×¥È¤Ç
-¹Ô¤¤¤Þ¤¹¡£
-
-
-@cindex Case sensitivity, in searches
-@cindex Chinese
-@cindex Big5 Chinese character encoding
-@node Case sensitivity, Problems with NULL, Timezone problems, Problems
-@section ¸¡º÷»þ¤Î¥±¡¼¥¹°Í¸
-
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï @strong{MySQL} ¥Õ¥£¡¼¥ë¥É¤Ï¥±¡¼¥¹Èó°Í¸¤Ç¤¹ (¤·¤«¤·¡¢¥±¡¼¥¹Èó°Í
-¸¤Ë¤Ê¤é¤Ê¤¤¤¤¤¯¤Ä¤«¤Îʸ»ú¥»¥Ã¥È¤Ï¤¢¤ê¤Þ¤¹such as @code{czech})¡£
-¤³¤ì¤Ï¡¢@code{col_name LIKE 'a%'}
-¤Ç¸¡º÷¤·¤¿¾ì¹ç¡¢@code{A} ¤Þ¤¿¤Ï @code{a} ¤Ç»Ï¤Þ¤ëÁ´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤òÆÀ¤ë¤³¤È¤ò
-°ÕÌ£¤·¤Þ¤¹¡£¸¡º÷¤ò¥±¡¼¥¹°Í¸¤Ë¤·¤¿¤¤¤Î¤Ê¤é¡¢»Ï¤Þ¤ê¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤Ë¤Ï
-@code{INDEX(column, "A")=0} ¤Î¤è¤¦¤Ê¤³¤È¤ò¡¢¤Þ¤¿¡¢Ê¸»úÎóÁ´ÂΤ¬Æ±¤¸¤«¤É¤¦
-¤«¤Ë¤Ï @code{STRCMP(column, "A") = 0} ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-
-ñ½ã¤ÊÈæ³ÓÁàºî @code{>=, >, =, <, <=}¡¢¥½¡¼¥È¤½¤·¤Æ¥°¥ë¡¼¥×²½¤Ï¡¢Ê¸»ú ``sort value''
-¾å¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£Æ±¤¸¥½¡¼¥ÈÃͤÎʸ»ú (like E, e and @'e)¤ÏƱ¤¸Ê¸»ú¤È
-¤·¤Æ°·¤ï¤ì¤Þ¤¹¡ª
-
-@code{LIKE} Èæ³Ó¤Ï³Æʸ»ú¤ÎÂçʸ»ú¤Ç¹Ô¤ï¤ì¤Þ¤¹
-(E == e but E <> @'e)
-
-@code{column} ¤ò¤¤¤Ä¤Ç¤â¥±¡¼¥¹°Í¸¤Ç°·¤¤¤¿¤¤¾ì¹ç¤Ï¡¢¤½¤ì¤ò @code{BINARY}
-¤È¤·¤ÆÀë¸À¤·¤Æ¤¯¤À¤µ¤¤¡£@xref{CREATE TABLE, , @code{CREATE TABLE}}.
-
-big5 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤È¸Æ¤Ð¤ì¤ëÃæ¹ñ¸ì¥Ç¡¼¥¿¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Á´¤Æ¤Î
-ʸ»ú¹àÌܤò @code{BINARY} ¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢big5 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Ê¸
-»ú¤Î¥½¡¼¥È½ç¤¬ ascii ¥³¡¼¥É¤¬´ð¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤¿¤á¡¢µ¡Ç½¤·¤Þ¤¹¡£
-
-
-@cindex NULL values vs. empty values
-@tindex NULL
-@node Problems with NULL, Problems with alias, Case sensitivity, Problems
-@section @code{NULL} ÃͤǤÎÌäÂê
-
-SQL ¤Î½é¿´¼Ô¤Î¤¢¤ê¤¬¤Á¤Êº®Íð¤Ï¡¢@code{NULL} Ãͤ¬¶õʸ»úÎó @code{''} ¤ÈƱ¤¸Êª¤À¤È¹Í¤¨¤ë¤³
-¤È¤Ç¤¹¡£¤³¤ì¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡ª Î㤨¤Ð¡¢¼¡¤Î¥¹¥Æ¡¼¥È¥á¥ó¥È¤ÏÁ´¤¯Ê̤Τâ
-¤Î¤Ç¤¹:
-
-@example
-mysql> INSERT INTO my_table (phone) VALUES (NULL);
-mysql> INSERT INTO my_table (phone) VALUES ("");
-@end example
-
-ξÊý¤Îʸ¤È¤â @code{phone} ¥Õ¥£¡¼¥ë¥É¤ËÃͤòÁÞÆþ¤·¤Æ¤¤¤Þ¤¹¤¬¡¢
-½é¤á¤Î¤Ï @code{NULL} ÃͤòÁÞÆþ¤·¡¢ÆóÈÖÌܤΤ϶õʸ»úÎó¤òÁÞÆþ¤·¤Æ¤¤¤Þ¤¹¡£
-½é¤á¤Î¤Ï ``ÅÅÏÃÈÖ¹æ¤òÃΤé¤Ê¤¤'' ¤È¸«¤Ê¤µ¤ì¡¢ÆóÈÖÌÜ¤Î¤Ï ``Èà½÷¤ÏÅÅÏäò
-»ý¤Ã¤Æ¤¤¤Ê¤¤'' ¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£
-
-SQL ¤Ç¤Ï¡¢ @code{NULL} ¤Ï¾¤ÎÁ´¤Æ¤ÎÃÍ(¤¿¤È¤¨ @code{NULL} ¤Ç¤â)¤ÈÈæ³Ó¤·¤¿»þ¤Ë¡¢¾ï¤Ëµ¶¤Ë
-¤Ê¤ëÃͤǤ¹¡£ @code{NULL} ¤ò´Þ¤à¼°¤Ï¡¢ÆäËÃǤ꤬¤Ê¤±¤ì¤Ð¡¢¾ï¤Ë @code{NULL} ÃͤòÀ¸À®¤·¤Þ
-¤¹¡£¼¡¤Î¹àÌܤÏÁ´¤Æ @code{NULL} ¤òÊÖ¤·¤Þ¤¹:
-
-@example
-mysql> SELECT NULL,1+NULL,CONCAT('Invisible',NULL);
-@end example
-
-@code{NULL} Ãͤ¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¹àÌܤò¸¡º÷¤¹¤ë¾ì¹ç¡¢
- @code{=NULL} ¥Æ¥¹¥È¤ò¹Ô¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
-¤³¤ì¤Ï @code{expr = NULL} ¤¬ FALSE ¤Ê¤Î¤Ç¡¢¤Ê¤ó¤Î¹Ô¤âÊÖ¤·¤Þ¤»¤ó¡£
-Î㤨¤Ð°Ê²¼¤ÎÎ㡧
-
-@example
-mysql> SELECT * FROM my_table WHERE phone = NULL;
-@end example
-
-@code{NULL} Ãͤò»ý¤Ä¥Õ¥£¡¼¥ë¥É¤ò¸¡º÷¤·¤¿¤¤¾ì¹ç¤Ï¡¢@code{IS NULL} ¥Æ¥¹¥È¤ò»ÈÍѤ·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ
-¤»¤ó¡£¼¡¤Ï @code{NULL} ÅÅÏÃÈÖ¹æ¤È¶õ¤ÎÅÅÏÃÈÖ¹æ¤ò¸«¤Ä¤±¤ëÊýË¡¤ò¼¨¤·¤Æ¤¤¤Þ¤¹:
-
-@example
-mysql> SELECT * FROM my_table WHERE phone IS NULL;
-mysql> SELECT * FROM my_table WHERE phone = "";
-@end example
-
-@strong{MySQL} ¤Ç¤Ï¡¢Â¾¤Î¿¤¯¤Î SQL ¥µ¡¼¥Ð¤Î¤è¤¦¤Ë¡¢@code{NULL} Ãͤò»ý¤Ä
-¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥£¡¼¥ë¥É¤ò»ý¤Æ¤Þ¤»¤ó¡£¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤Ï @code{NOT NULL} ¤ÈÀë¸À¤·¤Ê
-¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
-¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥£¡¼¥ë¥É¤Ë¤Ï¡¢@code{NULL} ¤òÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
-
-@findex LOAD DATA INFILE
-@code{LOAD DATA INFILE} ¤Ç¥Ç¡¼¥¿¤òÆɤ߹þ¤à¤È¤­¤Ï¡¢¶õ¤Î¥Õ¥£¡¼¥ë¥É¤Ï @code{''} ¤Ç¹¹¿·¤µ¤ì¤Þ¤¹¡£
-¹àÌܤò @code{NULL} Ãͤˤ·¤¿¤¤¾ì¹ç¤Ï¡¢¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ëÃæ¤Ë @code{\N} ¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£
-¥ê¥Æ¥é¥ë¤È¤·¤Æ¤Î @code{'NULL'} ¸ì¤¬¡¢¤¢¤ë¾õ¶·²¼¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£
-@xref{LOAD DATA, , @code{LOAD DATA}}.
-
-@code{ORDER BY} »ÈÍÑ»þ, @code{NULL} ÃͤϺǽé¤ËÄ󼨤µ¤ì¤Þ¤¹.
-@code{DESC} ¤ò»ÈÍѤ·¤Æ¹ß½ç¤Ë¥½¡¼¥È¤¹¤ë»þ¡¢@code{NULL} ÃͤϺǸå¤Ë¤Ê¤ê¤Þ¤¹¡£
-@code{GROUP BY} »ÈÍÑ»þ, Á´¤Æ¤Î @code{NULL} ÃͤÏÅù¤·¤¤¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£
-
-@code{NULL} ½èÍý¤ò¼ê½õ¤±¤¹¤ë¤¿¤á¡¢¼¡¤Î´Ø¿ô¤ò»ÈÍѤǤ­¤Þ¤¹:
-@code{IS NULL}, @code{IS NOT NULL}, @code{IFNULL()}.
-
-@cindex @code{TIMESTAMP}, and @code{NULL} values
-@cindex @code{AUTO_INCREMENT}, and @code{NULL} values
-@cindex @code{NULL} values, and @code{TIMESTAMP} columns
-@cindex @code{NULL} values, and @code{AUTO_INCREMENT} columns
-¤¤¤¯¤Ä¤«¤Î¹àÌÜ·¿¤Ç¤Ï¡¢@code{NULL} Ãͤϥϥó¥É¥ë¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
-¤â¤·¥Æ¡¼¥Ö¥ëÆâ¤ÎºÇ½é¤Î @code{TIMESTAMP} ¹à¤Ë @code{NULL} ¤òÁÞÆþ¤¹¤ë¤Ê¤é¡¢
-¸½ºß¤ÎÆüÉդȻþ¹ï¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£¤â¤· @code{AUTO_INCREMENT} ¹à¤Ë@code{NULL} ÃͤòÁÞÆþ¤¹¤ë¤Ê¤é¡¢
-¼¡¤Î¥·¡¼¥±¥ó¥¹Èֹ椬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£
-
-@tindex alias
-@node Problems with alias, Deleting from related tables, Problems with NULL, Problems
-@section @code{alias} ¤ÎÌäÂê
-
-@code{GROUP BY}, @code{ORDER BY}, @code{HAVING} Àá¤Ë¤ª¤¤¤Æ
-¹àÌܤò»²¾È¤¹¤ë¤ËÅö¤¿¤ê¥¨¥¤¥ê¥¢¥¹¤¬»ÈÍѤǤ­¤Þ¤¹¡£
-¥¨¥¤¥ê¥¢¥¹¤Ï¹àÌܤȤ·¤Æ¤è¤êÎɤ¤Ì¾¾Î¤òÍ¿¤¨¤ë¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡§
-
-@example
-SELECT SQRT(a*b) as rt FROM table_name GROUP BY rt HAVING rt > 0;
-SELECT id,COUNT(*) AS cnt FROM table_name GROUP BY id HAVING cnt > 0;
-SELECT id AS "Customer identity" FROM table_name;
-@end example
-
- ANSI SQL ¤¬ @code{WHERE} ÀáÆâ¤Ç¥¨¥¤¥ê¥¢¥¹¤ò»²¾È¤¹¤ë¤³¤È¤ò
-µö²Ä¤·¤Æ¤¤¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï @code{WHERE} ¤¬¼Â¹Ô¤µ¤ì¤ë»þÅÀ¤Ç
-¹àÌܤÎÃͤ¬¤Þ¤À·èÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£Î㤨¤Ð¡¢°Ê²¼¤Î¥¯¥¨¥ê¤Ï @strong{¤¢¤ä¤Þ¤ê¤Ç¤¹}¡§
-
-@example
-SELECT id,COUNT(*) AS cnt FROM table_name WHERE cnt > 0 GROUP BY id;
-@end example
-
-¤É¤Î¹Ô¤¬ @code{GROUP BY} ¤Ë´Þ¤Þ¤ì¤ë¤«¤ò·è¤á¤ë¤¿¤á¤Ë @code{WHERE} ¹½Ê¸¤¬
-¼Â¹Ô¤µ¤ì¤ë°ìÊý¤Ç¡¢
-ÆÀ¤é¤ì¤¿·ë²Ì¤Î¤É¤Î¹Ô¤ò»È¤¦¤«³ÎÄꤹ¤ë¤¿¤á¤Ë @code{HAVING} ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-
-
-@node Deleting from related tables, No matching rows, Problems with alias, Problems
-@section Deleting rows from related tables
-
-@strong{MySQL} ¤Ï¸½ºß sub-select ¤Ï̤¥µ¥Ý¡¼¥È¤Ç¡¢¤Þ¤¿
- @code{DELETE} ¹½Ê¸¤ÇÊ£¿ô¤Î¥Æ¡¼¥Ö¥ë¤ò°·¤¦»ö¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¡£
-¤·¤¿¤¬¤Ã¤Æ¡¢£²¤Ä¤Î¥Æ¡¼¥Ö¥ë¤Ë´ØÏ¢¤¹¤ë¥ì¥³¡¼¥É¤ò¾Ã¤¹¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¹Ô¤¤¤Þ¤¹¡§
-
-@enumerate
-@item
-¤¤¤¯¤Ä¤«¤Î @code{WHERE} ¾ò·ï¤ò»ÈÍѤ·¤Æ¡¢´ðËܤȤʤë¥Æ¡¼¥Ö¥ë¤«¤é¹Ô¤ò @code{SELECT}
-@item
-Ʊ¤¸¾ò·ï²¼¤Ç¡¢´ðËܤȤʤë¥Æ¡¼¥Ö¥ë¤Ë´Þ¤Þ¤ì¤ë¹Ô¤ò @code{DELETE}
-@item
-@code{DELETE FROM related_table WHERE related_column IN (selected_rows)}
-@end enumerate
-
-@code{related_column} ¤Î¥¯¥¨¥ê¤Î¹ç·×ʸ»ú¿ô¤¬¡¢1,048,576 (¥Ç¥Õ¥©¥ë¥È¤Ï @code{max_allowed_packet} ¤ÎÃÍ) ¤ò¤³¤¨¤ë¾ì¹ç¡¢
-¤½¤ì¤ò¤¤¤¯¤Ä¤«¤Ëʬ³ä¤·¤Æ¡¢Ê£¿ô¤Î @code{DELETE} ¹½Ê¸¤Ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-
-@code{related_column} ¤¬¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¡¢100-1000 ¤Î@code{related_column}¤À¤±¤ò¾Ã¤¹¾ì¹ç¡¢
-¤è¤ê¤Ï¤ä¤¯ @code{DELETE} ¤Ç¤­¤Þ¤¹¡£
-¤â¤· @code{related_column} ¤¬¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤Ê¤¤¾ì¹ç¡¢¤½¤Î®ÅÙ¤Ï @code{IN} Àá¤Î°ú¿ô¤Î¿ô¤Ë̵´Ø·¸¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-
-@node No matching rows, ALTER TABLE problems, Deleting from related tables, Problems
-@section Solving problems with no matching rows
-
-Ê£»¨¤Ê¥¯¥¨¥ê¡¼¤ò¹Ô¤Ã¤Æ¡¢¤â¤·¤Ê¤ó¤Î·ë²Ì¤âÊÖ¤µ¤Ê¤±¤ì¤Ð¡¢
-¤½¤Î¥¯¥¨¥ê¡¼¤Î²¿¤¬°­¤¤¤«¤ò¸«¤Ä¤±¤ë¤¿¤á¡¢°Ê²¼¤Î¼ê³¤­¤ò¹Ô¤¤¤Þ¤¹¡§
-
-@enumerate
-@item
-@code{EXPLAIN} ¤ò»ÈÍѤ·¤Æ¥¯¥¨¥ê¡¼¤ò¥Æ¥¹¥È¤·¡¢ÌÀÇò¤Ê´Ö°ã¤¤¤ò¸«¤Ä¤±¤Þ¤¹¡£
-@xref{EXPLAIN, , @code{EXPLAIN}}.
-
-@item
-@code{WHERE} Àá¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¥Õ¥£¡¼¥ë¥É¤À¤±¤ò Select ¤·¤Æ¤ß¤Þ¤¹
-
-@item
-·ë²Ì¤¬Ê֤äƤ¯¤ë¤Þ¤Ç¡¢°ì¤Ä°ì¤Ä¥¯¥¨¥ê¡¼¤«¤é¥Æ¡¼¥Ö¥ë¤ò¼è¤ê½ü¤¤¤Æ¤¤¤­¤Þ¤¹¡£
-¥Æ¡¼¥Ö¥ë¤¬Â礭¤¤¾ì¹ç¡¢@code{LIMIT 10} ¤ò¥¯¥¨¥ê¡¼¤Ç»ÈÍѤ¹¤ë¤³¤È¤ÏÎɤ¯¤¢¤ê¤Þ¤»¤ó¡£
-
-@item
-¹Ô¤Ë¥Þ¥Ã¥Á¤¹¤Ù¤­¤Ç¤¢¤í¤¦¹à¤ò @code{SELECT} ¤·¤Æ¤ß¤Þ¤¹¡£
-¤½¤Î¾ì¹ç¡¢select ¤¹¤ë¤Î¤Ï¡¢¾åµ­¤ÇºÇ¸å¤Ë¼è¤ê½ü¤¤¤¿¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ¹Ô¤¤¤Þ¤¹¡£
-
-@item
-¤â¤· @code{FLOAT} ¤« @code{DOUBLE} ·¿¤Î¤â¤Î¤ò¿ô»ú¤ÈÈæ³Ó¤¹¤ë¤Ê¤é¡¢
- @code{=} ¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡ª¤³¤ì¤Ï¤Û¤È¤ó¤É¤Î¥³¥ó¥Ô¥å¡¼¥¿¸À¸ì¤Ë¤ª¤¤¤Æ¡¢
-ÉâÆ°¾®¿ôÅÀ¤ÎÃͤϤԤ俤ê¤ÎÃͤˤʤé¤Ê¤¤¤«¤é¤Ç¤¹¡£
-
-@example
-mysql> SELECT * FROM table_name WHERE float_column=3.5;
- ->
-mysql> SELECT * FROM table_name WHERE float_column between 3.45 and 3.55;
-@end example
-
-In most cases, changing the @code{FLOAT} to a @code{DOUBLE} will fix this!
-
-@item
-¤â¤·¤Ê¤Ë¤â°­¤¤¤È¤³¤í¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-¾®¤µ¤Ê¥Æ¥¹¥È¤ò¤Ä¤¯¤Ã¤Æ @code{mysql test < query.sql} ¤ò¹Ô¤Ã¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
-@code{mysqldump --quick database tables > query.sql} ¤Ç¥Æ¥¹¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤¹¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤ò¥¨¥Ç¥£¥¿¡¼¤ÇÊÔ½¸¤·¡¢¤¤¤¯¤Ä¤«¤Îinsert¹Ô¤ò(¿¤¹¤®¤ë¤Ê¤é)¾Ã¤·¤Þ¤¹¡£
-¤½¤·¤Æ¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤Ëselect¹½Ê¸¤òÉÕ¤±Â­¤·¤Þ¤¹¡£
-
-¥Æ¥¹¥È¤ò¹Ô¤¦¤Ë¤Ï¡§
-
-@example
-shell> mysqladmin create test2
-shell> mysql test2 < query.sql
-@end example
-
-@code{mysqlbug} ¤ò»ÈÍѤ·¤Æ @email{mysql@@lists.mysql.com} ¤Ë¥Æ¥¹¥È¤òÅê¹Æ¤·¤Æ¤¯¤À¤µ¤¤¡£
-@end enumerate
-
-@node ALTER TABLE problems, Change column order, No matching rows, Problems
-@section Problems with @code{ALTER TABLE}.
-
-¤â¤· @code{ALTER TABLE} ¤¬°Ê²¼¤Î¤è¤¦¤Ê¥¨¥é¡¼¤Ç»à¤ó¤À¾ì¹ç¡§
-
-@example
-Error on rename of './database/name.frm' to './database/B-a.frm' (Errcode: 17)
-@end example
-
-¤³¤ì¤Ï°ÊÁ°¤Î @code{ALTER TABLE} ¤Ç @strong{MySQL} ¤¬¥¯¥é¥Ã¥·¥å¤·¤Æ¤ª¤ê¡¢
-@file{A-something} ¤« @file{B-something} ¤È¤¤¤¦Ì¾Á°¤Î¡¢¸í¤Ã¤¿¾ðÊó¤òή¤·¤Æ¤¤¤ë
-¸Å¤¤¥Æ¡¼¥Ö¥ë¤¬Â¸ºß¤·¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢@strong{MySQL} ¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê¤ËÆþ¤ê¡¢@code{A-} ¤ä @code{B-} ¤Ç»Ï¤Þ¤ë
-̾Á°¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤òÁ´¤Æ¾Ã¤·¤Þ¤¹¡£
-(¾Ã¤¹Âå¤ï¤ê¤Ë¤É¤³¤«¤Ë°ÜÆ°¤·¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£)
-
-@code{ALTER TABLE} ¤Ï°Ê²¼¤Î¤è¤¦¤ËÆ°ºî¤·¤Þ¤¹:
-
-@itemize @bullet
-@item Êѹ¹Í×µá¤Î¤¢¤Ã¤¿ @file{A-xxx} ¤È¤¤¤¦Ì¾Á°¤Î¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤òºîÀ®¡£
-@item ¸µ¤Î¥Æ¡¼¥Ö¥ëÆâ¤ÎÁ´¤Æ¤Î¹Ô¤ò @file{A-xxx} ¤Ë¥³¥Ô¡¼¡£
-@item ¸µ¤Î¥Æ¡¼¥Ö¥ë¤ò @file{B-xxx} ¤Ë̾¾ÎÊѹ¹¡£
-@item @file{A-xxx} ¤Ï¸µ¤Î¥Æ¡¼¥Ö¥ë̾¤Ë̾¾ÎÊѹ¹¤µ¤ì¤ë¡£
-@item @file{B-xxx} ¤Ï¾Ãµî¤µ¤ì¤ë¡£
-@end itemize
-
-¤â¤·Ì¾¾ÎÊѹ¹¤ÎºÝ¤ËÌäÂ꤬¤¢¤ë¤È¡¢@strong{MySQL} ¤ÏÊѹ¹¤ò¼è¤ê¾Ã¤¹¤è¤¦¤ËÆ°¤­¤Þ¤¹¡£
-Ã×̿Ū¤ÊÌäÂ꤬µ¯¤­¤¿¾ì¹ç(¤¢¤ê¤¨¤Þ¤»¤ó¤¬)¡¢@strong{MySQL} ¤Ï¸µ¤Î¸Å¤¤¥Æ¡¼¥Ö¥ë¤ò
- @file{B-xxx} ¤È¤¤¤¦Ì¾Á°¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤­¤Þ¤¹¡£Ã±¤Ë̾¾ÎÊѹ¹¤¹¤ì¤Ð¥Ç¡¼¥¿¤ÏÌá¤ê¤Þ¤¹¡£
-
-@node Change column order, , ALTER TABLE problems, Problems
-@section How to change the order of columns in a table
-
-The whole point of SQL is to abstract the application from the data
-storage format. You should always specify the order in wish you wish to
-retrieve your data. For example:
-
-@example
-SELECT col_name1, col_name2, col_name3 FROM tbl_name;
-@end example
-
-will return columns in the order @code{col_name1}, @code{col_name2}, @code{col_name3}, whereas:
-
-@example
-SELECT col_name1, col_name3, col_name2 FROM tbl_name;
-@end example
-
-will return columns in the order @code{col_name1}, @code{col_name3}, @code{col_name2}.
-
-You should @strong{NEVER}, in an application, use @code{SELECT *} and
-retrieve the columns based on their position, because the order in which columns are
-returned @strong{CANNOT} be guaranteed over time; A simple change to
-your database may cause your application to fail rather dramatically.
-
-If you want to change the order of columns anyway, you can do it as follows:
-
-@enumerate
-@item
-Create a new table with the columns in the right order.
-@item
-Execute
-@code{INSERT INTO new_table SELECT fields-in-new_table-order FROM old_table}.
-@item
-Drop or rename @code{old_table}
-@item
-@code{ALTER TABLE new_table RENAME old_table}
-@end enumerate
-
-@node Common problems, Clients, Problems, Top
-@chapter Solving some common problems with @strong{MySQL}
-
-@cindex Replication
-@menu
-* Log Replication:: ¹¹¿·¥í¥°¤ò»ÈÍѤ·¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÊ£À½
-* Backup:: ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×
-* Update log:: The update log
-* Multiple servers:: Ʊ°ì¥Þ¥·¥ó¾å¤ËÊ£¿ô¤Î @strong{MySQL} ¥µ¡¼¥Ð¡¼¤òÁö¤é¤»¤ë
-@end menu
-
-@cindex Database replication
-@cindex Log Replication, database
-@node Log Replication, Backup, Common problems, Common problems
-@section ¹¹¿·¥í¥°¤ò»ÈÍѤ·¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÊ£À½
-
-Now that master-slave internal replication is available starting in 3.23.15, this is the recommended way.
-However, it is still possible to replicate a database by using the update log.
-@xref{Update log}. ¤³¤ì¤Ï¡¢°ì¤Ä¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¥Þ¥¹¥¿¡¼(¼ç)¤È¤·¤ÆÆ°ºî¤Õ¤ë¤Þ¤Ã¤Æ¤ª¤ê
-(Á´¤Æ¤Î¥Ç¡¼¥¿Êѹ¹¤¬¤³¤³¤Ç¹Ô¤ï¤ì¤Þ¤¹)¡¢¤«¤Ä¡¢°ì¤Ä°Ê¾å¤Î¾¤Î¥µ¡¼¥Ð¡¼¤¬¥¹¥ì¡¼¥Ö(½¾)¤È
-¤·¤ÆÆ°ºî¤·¤Æ¤¤¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡£
-¥¹¥ì¡¼¥Ö¤ò¹¹¿·¤¹¤ë¤Ë¤Ï
-@code{mysql < update_log} ¤ò¼Â¹Ô¤¹¤ë¤À¤±¤Ç¤¹¡£
-¥¹¥ì¡¼¥Ö¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Û¥¹¥È¡¢¥æ¡¼¥¶¡¼¡¢¥Ñ¥¹¥ï¡¼¥É¤ò¥³¥Þ¥ó¥É¤Î¥ª¥×¥·¥ç¥ó¤ËÍ¿¤¨¡¢
-¥Þ¥¹¥¿¡¼¤«¤é¼èÆÀ¤·¤¿¹¹¿·¥í¥°¤òÆþÎϤ˻ÈÍѤ·¤Þ¤¹¡£
-
-¤â¤·¡¢¥Æ¡¼¥Ö¥ë¤«¤é¤Ê¤Ë¤âºï½ü¤·¤Ê¤¤¾ì¹ç¡¢ @code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É¤ò»ÈÍѤ¹¤ì¤Ð¡¢
-ºÇ¸å¤ÎÊ£À½»þ°Ê¸å¤Ë¡¢¿·µ¬¤ËÁÞÆþ¤µ¤ì¤¿¤â¤Î¤äÊѹ¹¤µ¤ì¤¿¤â¤Î¤À¤±¤ò
-¥ß¥é¡¼¥µ¡¼¥Ð¡¼¤Ë¥³¥Ô¡¼¤Ç¤­¤Þ¤¹¡£(ºÇ¸å¤ÎÊ£À½¤ò¹Ô¤Ã¤¿»þ´Ö¤ÈÈæ³Ó¤¹¤ì¤ÐÃê½Ð¤Ç¤­¤Þ¤¹)
-
-¹¹¿·¥í¥°(ºï½ü¤Î¤¿¤á)¤È¥¿¥¤¥à¥¹¥¿¥ó¥×(Ç)¤ÎξÊý¤ò»ÈÍѤ¹¤ë2¤Ä¤ÎÊýË¡¤Î
-¹¹¿·¥·¥¹¥Æ¥à¤òºî¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤·¤«¤·¤³¤Î¾ì¹ç¤Ï¡¢Æ±¤¸¥Ç¡¼¥¿¤¬Î¾Â¦¤ÇÊÑ
-¹¹¤µ¤ì¤¿»þ¤Ë¡¢¤¢¤Ê¤¿¤¬¾×ÆͤòÁàºî¤Ç¤­¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¢¤Ê¤¿¤Ï¤ª¤½¤é¤¯
-²¿¤¬¹¹¿·¤µ¤ì¤¿¤«¤ò·èÄꤹ¤ë¤Î¤ò½õ¤±¤ë¤¿¤á¤Ë¡¢¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤òÊÝ»ý¤·¤¿¤¤¤Ç
-¤·¤ç¤¦¡£
-
-¤³¤Î»þ¹Ô¤¦Ê£À½¤Ë¤Ï SQL ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç¹Ô¤ï¤ì¤ë¤¿¤á¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¹¹¿·¤¹
-¤ë¥¹¥Æ¡¼¥È¥á¥ó¥ÈÃæ¤Ç¼¡¤Î´Ø¿ô¤Ï»È¤Ã¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£¤³¤ì¤é¤Ï¾¤Î
-¥³¥Ô¡¼¸µ¤Î¥µ¡¼¥Ð¤È¤Ï°ã¤¦ÃͤòÊÖ¤¹¤«¤é¤Ç¤¹:
-
-@itemize @bullet
-@item @code{DATABASE()}
-@item @code{GET_LOCK()} and @code{RELEASE_LOCK()}
-@item @code{RAND()}
-@item @code{USER()}, @code{SYSTEM_USER()} or @code{SESSION_USER()}
-@item @code{VERSION()}, @code{CONNECT_ID()}
-@end itemize
-
-Á´¤Æ¤Î»þ¹ï´Ø¿ô¤Ï¡¢É¬Íפʾì¹ç¤Ë¥ß¥é¡¼¤Ë¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÁ÷¤ë¤è¤¦¤Ë¤·¤Æ¡¢°Â
-Á´¤Ë»ÈÍѤǤ­¤Þ¤¹¡£@code{LAST_INSERT_ID()} ¤â°ÂÁ´¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-
-
-@cindex Backups
-@node Backup, Update log, Log Replication, Common problems
-@section ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×
-
-@strong{MySQL} ¥Æ¡¼¥Ö¥ë¤Ï¥Õ¥¡¥¤¥ë¤È¤·¤Æ³ÊǼ¤µ¤ì¤ë¤¿¤á¡¢¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¹Ô
-¤¦¤Î¤Ï´Êñ¤Ç¤¹¡£Ì·½â¤Î¤Ê¤¤¥Ð¥Ã¥¯¥¢¥Ã¥×¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢@code{LOCK TABLES}
-¤ò´ØÏ¢¤¹¤ë¥Æ¡¼¥Ö¥ë¤Ç¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£@xref{LOCK TABLES, , @code{LOCK TABLES}}.
-Æɤ߹þ¤ß¥í¥Ã¥¯¤À
-¤±¤¬É¬ÍפʤΤǡ¢¤½¤Î¥Æ¡¼¥Ö¥ë¤Ç¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼
-¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë´Ö¤â¡¢Â¾¤Î¥¹¥ì¥Ã¥É¤Ï¥¯¥¨¥ê¤ò·Ñ³¤Ç¤­¤Þ¤¹¡£¤â¤·¤¯¤Ï¡¢¥Æ¡¼¥Ö¥ë¤ò
-SQL ¥ì¥Ù¥ë¤Ç¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢@code{SELECT INTO OUTFILE} ¤ò»È
-ÍѤǤ­¤Þ¤¹¡£
-
-¾¤ÎÊýË¡¤Ï @code{mysqldump} ¥×¥í¥°¥é¥à¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¤¹:
-
-@enumerate
-@item
-¥Õ¥ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¤È¤ë¤Ë¤Ï¡§
-
-@example
-shell> mysqldump --tab=/path/to/some/dir --opt --full
-@end example
-
-¼ã¤·¥µ¡¼¥Ð¡¼¤¬¤¤¤Ã¤µ¤¤¥Ç¡¼¥¿¤ÎÊѹ¹¤ò¤·¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
-ñ¤ËÁ´¤Æ¤Î¥Æ¡¼¥Ö¥ë¥Õ¥¡¥¤¥ë(@file{*.frm}, @file{*.MYD}, @file{*.MYI} files)¤ò
-¥³¥Ô¡¼¤¹¤ë¤À¤±¤Ç¤â¹½¤¤¤Þ¤»¤ó¡£
-The script @code{mysqlhotcopy} does use this method.
-
-@item
-@cindex Log file, names
-@code{mysqld} ¤ò»ß¤á¡¢¤½¤·¤Æ @code{--log-update[=file_name]} ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æµ¯Æ°¤·¤Þ¤¹¡£
-@xref{Update log}. ¥í¥°¥Õ¥¡¥¤¥ë¤Ï¡¢ @code{mysqldump} ¼Â¹Ô¸å¤Ë¹Ô¤ï¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÊѹ¹¤ò
-Ê£À½¤¹¤ë¤¿¤á¤Î¾ðÊó¤òÍ¿¤¨¤Æ¤¯¤ì¤Þ¤¹¡£
-@end enumerate
-
-¤â¤·¥ê¥¹¥È¥¢¤ò¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¡¢¤Þ¤ººÇ½é¤Ë @code{myisamchk -r} ¤ò¼Â¹Ô¤·¤Æ
-¥Æ¡¼¥Ö¥ë¤Î½¤Éü¤ò»î¤ß¤Æ¤¯¤À¤µ¤¤¡£
-¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢99.9% ½¤Éü¤Ï¤Ç¤­¤ë¤Ï¤º¤Ç¤¹¡£
-¤â¤· @code{myisamchk} ¤¬¼ºÇÔ¤·¤¿¾ì¹ç¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-(This will only work if you have started @strong{MySQL} with
-@code{--log-update}. @xref{Update log}.)
-
-@enumerate
-@item
-¥ª¥ê¥¸¥Ê¥ë¤Î @code{mysqldump} ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Ç¡¼¥¿¤ò¥ê¥¹¥È¥¢¤·¤Þ¤¹¡£
-@item
-°Ê²¼¤Î¥³¥Þ¥ó¥É¤Î¤è¤¦¤Ë¤·¤Æ¡¢¹¹¿·¥í¥°¤Ëµ­Ï¿¤µ¤ì¤Æ¤¤¤ëÊѹ¹¤òŬÍѤ·¤Þ¤¹¡£
-@example
-shell> ls -1 -t -r hostname.[0-9]* | xargs cat | mysql
-@end example
-@end enumerate
-
-@code{ls} ¤Ï¡¢Á´¤Æ¤Î¹¹¿·¥í¥°¥Õ¥¡¥¤¥ë¤òÀµ¤·¤¤½ç¤ÇÆÀ¤ë¤¿¤á¤Ë¹Ô¤ï¤ì¤Þ¤¹¡£
-
-@code{SELECT * INTO OUTFILE 'file_name' FROM tbl_name} ¤Ç¤ÎÁªÂòŪ¥Ð¥Ã¥¯¥¢¥Ã¥×¤È
-@code{LOAD DATA FROM INFILE 'file_name' REPLACE ...} ¤Ç¤Î¥ê¥¹¥È¥¢¤ò¹Ô¤¦
-¤³¤È¤â¤Ç¤­¤Þ¤¹¡£½ÅÊ£¥ì¥³¡¼¥É¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢¥Æ¡¼¥Ö¥ëÆâ¤Ë @code{PRIMARY KEY}
- or a @code{UNIQUE} ¤¬É¬ÍפǤ¹¡£@code{REPLACE} ¤Ï¡¢'½ÅÊ£¥¤¥ó¥Ç¥Ã¥¯¥¹' ¾×Æͤ¬¤¢¤Ã¤¿¾ì¹ç¡¢
-¿·¤·¤¤¥ì¥³¡¼¥É¤òÁÞÆþ¤¹¤ë»þ¤Ë¸Å¤¤¥ì¥³¡¼¥É¤¬¿·¤·¤¤¤â¤Î¤ËÃÖ¤­´¹¤¨¤é¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-
-@cindex Update log
-@node Update log, Multiple servers, Backup, Common problems
-@section ¹¹¿·¥í¥°
-
-@code{--log-update=file_name}¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ@code{mysqld}¤òµ¯Æ°¤¹¤ë¤È¡¢
-¥Ç¡¼¥¿¤ò¹¹¿·¤·¤¿Á´¤Æ¤ÎSQL¥³¥Þ¥ó¥É¤ò¥í¥°¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¤Þ¤¹¡£
-¤â¤· file_name ¤¬Í¿¤¨¤é¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Û¥¹¥È̾¤¬¥Ç¥Õ¥©¥ë¥È¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤â¤· file_name ¤Ë¥Ç¥£¥ì¥¯¥È¥ê¥Ñ¥¹¤¬´Þ¤Þ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë½ñ¤«¤ì¤Þ¤¹¡£
-¤â¤· file_name ¤¬³ÈÄ¥¤ò»ý¤¿¤Ê¤«¤Ã¤¿¤Ê¤é¡¢@code{mysqld} ¤Ï
-@code{file_name.#} ¤È¤¤¤¦·Á¤Ç¥í¥°¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£
-¤³¤Î¥í¥°¥Õ¥¡¥¤¥ë¤Ï¥Ç¡¼¥¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤«¤«¤ì¡¢
-¤½¤Î̾Á°¤Ï @code{file_name.#} ¤È¤¤¤¦·Á¼°¤Î̾Á°¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
-
-@code{#} ¤Ï @code{mysqladmin refresh} ¤« @code{mysqladmin flush-logs} ¤ò¼Â¹Ô¤¹¤ëÅ٤ˡ¢
-¤¢¤ë¤¤¤Ï @code{FLUSH LOGS} ¹½Ê¸¤ò¼Â¹Ô¤·¤¿¤ê¡¢¥µ¡¼¥Ð¡¼¤ò¥ê¥¹¥¿¡¼¥È¤¹¤ëÅÙ¤Ë
-¼«Æ°Åª¤ËÁý¤¨¤ë¿ô»ú¤Ç¤¹¡£
-
-¤â¤· @code{--log} ¤« @code{-l} ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥í¥°¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï
-@code{mysqld} ¤ÏÁ´Éô¤Î¥í¥°¤ò @file{hostname.log} ¤Ë½ñ¤­½Ð¤·¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢¥ê¥¹¥¿¡¼¥È¤ä¤ê¥Õ¥ì¥Ã¥·¥å¤ò¹Ô¤Ã¤Æ¤â¿·¤·¤¯¥í¥°¥Õ¥¡¥¤¥ë¤òºî¤ê¤Þ¤»¤ó¡£
-(°ìÅÙ¥¯¥í¡¼¥º¤·¤ÆºÆÅÙ¥ª¡¼¥×¥ó¤·¤Þ¤¹¤¬¡£)
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢@code{mysql.server} ¥¹¥¯¥ê¥×¥È¤Ï @code{-l} ¥ª¥×¥·¥ç¥ó¤òÉղä·¤Æ
-@strong{MySQL} ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Þ¤¹¡£
-¤â¤· @strong{MySQL} ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò¤¢¤²¤ÆËÜÈִĶ­¤Ê¤É¤Ç»ÈÍѤ·¤¿¤¤¾ì¹ç¡¢
-@code{mysql.server} ¥¹¥¯¥ê¥×¥È¤«¤é @code{-l} ¥ª¥×¥·¥ç¥ó¤ò³°¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-¹¹¿·¥í¥°¤Ï¡¢¼ÂºÝ¤Ë¹¹¿·¤µ¤ì¤¿¥Ç¡¼¥¿¤Î¥¹¥Æ¡¼¥È¥á¥ó¥È¤À¤±¤ò½ñ¤¯¤¿¤á¡¢¤­¤Ó¤­¤Ó¤ÈÆ°ºî¤·¤Þ¤¹¡£
-@code{WHERE} ¤ò»ÈÍѤ·¤¿ @code{UPDATE} ¤« @code{DELETE} ¤Ç·ë²Ì¤¬ÆÀ¤é¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-¥í¥°¤Ï½ñ¤­½Ð¤µ¤ì¤Þ¤»¤ó¡£
-¤¹¤Ç¤Ë¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ëÃͤˡ¢¤â¤¦°ìÅÙ¹àÌܤò¹¹¿·¤¹¤ë¤è¤¦¤Ê @code{UPDATE} ¤â¥¹¥­¥Ã¥×¤µ¤ì¤Þ¤¹¡£
-
-¥í¥°¥Õ¥¡¥¤¥ë¤Î¹¹¿·¤Ë½¾¤Ã¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¹¹¿·¤·¤¿¤¤¾ì¹ç¤Ï¡¢¼¡¤ò¹Ô¤¤¤Þ¤¹
-(¹¹¿·¥í¥°¥Õ¥¡¥¤¥ë̾¤ò @file{file_name.#} ¤È²¾Äꤷ¤Þ¤¹):
-
-@example
-shell> ls -1 -t -r file_name.[0-9]* | xargs cat | mysql
-@end example
-
-@code{ls} ¤ÏÁ´¤Æ¤Î¥í¥°¥Õ¥¡¥¤¥ë¤òÀµ¤·¤¯Ê¤٤뤿¤á¤Ë»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£
-
-¤³¤ì¤Ï¡¢¥¯¥é¥Ã¥·¥å¸å¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤¿¾õÂÖ¤Þ¤ÇÌá¤ê¤¿¤¤¡¢¤¢¤ë¤¤¤Ï¡¢
-¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤¿¸å¤«¤é¥¯¥é¥Ã¥·¥å¤¹¤ë¤Þ¤Ç¤Î´Ö¤Î¥Ç¡¼¥¿¤Î¹¹¿·¤ò¹Ô¤¤¤¿¤¤¡¢
-¤½¤ó¤Ê¾ì¹ç¤Ë»È¤¨¤Þ¤¹¡£
-
-@cindex Database replication
-@cindex Replication, database
-@cindex Database mirroring
-@cindex Mirroring, database
-¥í¥°¤Ï°ã¤¦¥Û¥¹¥È¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥ß¥é¡¼¤ä¥Þ¥¹¥¿¡¼¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÊ£À½¤òºî¤ë¾ì¹ç¤Ë¤âÍøÍѤǤ­¤Þ¤¹¡£
-@xref{Replication}.
-
-@cindex Multiple servers
-@node Multiple servers, , Update log, Common problems
-@section Ʊ°ì¥Þ¥·¥ó¾å¤ËÊ£¿ô¤Î @strong{MySQL} ¥µ¡¼¥Ð¡¼¤òÁö¤é¤»¤ë
-
-Ʊ¤¸¥Þ¥·¥ó¾å¤ÇÊ£¿ô¤Î¥µ¡¼¥Ð¡¼¤òÁö¤é¤»¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
-Î㤨¤Ð¡¢¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¡¼¤Ï¤½¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¤¤Æ¡¢¿·¤·¤¤ @strong{MySQL} ¤ò¥Æ¥¹¥È¤·¤¿¤¤¾ì¹ç¤ä¡¢
-¤¢¤ë¤¤¤Ï¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥×¥í¥Ð¥¤¥À¡¼¤ò±Ä¤ó¤Ç¤¤¤Æ¡¢@strong{MySQL} ¤ò¤½¤ì¤¾¤ì¤Î¸ÜµÒÍѤËÄ󶡤·¤¿¤¤¾ì¹ç¤Ê¤É¡£
-
-Ê£¿ô¤Î¥µ¡¼¥Ð¡¼¤ò¤¿¤Á¤¢¤²¤ë¾ì¹ç¡¢´Êñ¤ÊÊýË¡¤È¤·¤Æ¡¢
-TCP/IP ¥Ý¡¼¥È¡¢¥½¥±¥Ã¥È¥Õ¥¡¥¤¥ë¤òÊѤ¨¤Æ¡¢¥µ¡¼¥Ð¡¼¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
-
-¤½¤Ç¤ËÁö¤Ã¤Æ¤¤¤ë¥µ¡¼¥Ð¡¼¤¬¥Ç¥Õ¥©¥ë¥È¤Î¥Ý¡¼¥ÈÈÖ¹æ¤È¥½¥±¥Ã¥È¥Õ¥¡¥¤¥ë¤ÇÆ°ºî¤·¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£
-¿·¤·¤¯¥µ¡¼¥Ð¡¼¤òºî¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë @code{configure} ¤·¤Þ¤¹¡§
-
-@example
-shell> ./configure --with-tcp-port=port_number \
- --with-unix-socket=file_name \
- --prefix=/usr/local/mysql-3.22.9
-@end example
-
-@code{port_number} ¤È @code{file_name} ¤Ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥Ý¡¼¥ÈÈֹ桢¥½¥±¥Ã¥È¥Õ¥¡¥¤¥ë¤È¤Ï°ã¤¦¤â¤Î¤ò»ØÄꤷ¤Þ¤¹¡£
-¤½¤·¤Æ @code{--prefix} ¤ò¡¢¤¹¤Ç¤ËÁö¤Ã¤Æ¤¤¤ë @strong{MySQL} ¤Î¥¤¥ó¥¹¥È¡¼¥ëÀè¤È¤Ï°ã¤¦¥Ç¥£¥ì¥¯¥È¥ê¡¼¤Ë»ØÄꤷ¤Þ¤¹¡£
-
-¸½ºßÁö¤Ã¤Æ¤¤¤ë @strong{MySQL} ¥µ¡¼¥Ð¡¼¤Î¥½¥±¥Ã¥È¤È¥Ý¡¼¥È¤òÃΤë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@example
-shell> mysqladmin -h hostname --port=port_number variables
-@end example
-
-¤¢¤Ê¤¿¤¬»ÈÍѤ·¤Æ¤¤¤ë¥Ý¡¼¥È¤Ë @strong{MySQL} ¥µ¡¼¥Ð¡¼¤¬Áö¤Ã¤Æ¤¤¤ì¤Ð¡¢
-¤³¤ì¤ÏÊѹ¹²Äǽ¤Ê @strong{MySQL} ÊÑ¿ô¤ò(¥½¥±¥Ã¥È¥Õ¥¡¥¤¥ë¤Î̾Á°¤â´Þ¤ó¤Ç)½ÐÎϤ·¤Þ¤¹¡£
-
-Ω¤Á¾å¤²¥¹¥¯¥ê¥×¥È(¤ª¤½¤é¤¯ @file{mysql.server} ¥Õ¥¡¥¤¥ë)¤òÊÔ½¸¤·¤Æ
-Ê£¿ô¤Î @strong{MySQL} ¥µ¡¼¥Ð¡¼¤òΩ¤Á¤¢¤²¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£
-
-¤³¤Î¾ì¹ç¡¢ @strong{MySQL} ¥µ¡¼¥Ð¡¼¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-@code{safe_mysqld} ¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤¹¤ì¤Ð¡¢¥Ý¡¼¥È¤È¥½¥±¥Ã¥È¤òÊѹ¹¤Ç¤­¤Þ¤¹¡§
-
-@example
-shell> /path/to/safe_mysqld --socket=file-name --port=port_number
-@end example
-
-¤â¤·¡¢Â¾¤Î¥µ¡¼¥Ð¡¼¤¬¥í¥®¥ó¥°¤ò¹Ô¤Ã¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤ò¡¢
-¿·¤·¤¤¥µ¡¼¥Ð¡¼¤Ç»ÈÍѤ¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢¥í¥°¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤Ù¤­¤Ç¤¹¡£
-( @code{safe_mysqld} ¤Ë @code{--log} ¤È @code{--log-update} ¤ò»ØÄꤹ¤ë)
-¤½¤¦¤·¤Ê¤¤¤È¡¢Î¾Êý¤Î¥µ¡¼¥Ð¡¼¤¬Æ±¤¸¥í¥°¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤â¤¦¤È¤¹¤ë¤«¤é¤Ç¤¹¡£
-
-@strong{Warning}: Ä̾Æó¤Ä¥µ¡¼¥Ð¡¼¤ËƱ¤¸¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÁàºî¤µ¤»¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡ª
-¤â¤·»ÈÍѤ·¤Æ¤¤¤ë OS ¤¬ fault-free system locking ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤È¡¢
-¤³¤ì¤ÏÈá»´¤Ê¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡ª
-
-¤â¤·Æó¤ÄÌܤΥµ¡¼¥Ð¡¼¤Ë°ã¤¦¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤ò»ÈÍѤµ¤»¤¿¤¤¾ì¹ç¡¢
- @code{safe_mysqld} ¤Ë @code{--datadir=path} ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£
-
-@example
-shell> /path/to/safe_mysqld --datadir=/new/path/to/datadir \
- --socket=file-name --port=file-name
-@end example
-
-¤â¤·°ã¤¦¥Ý¡¼¥È¤ÇÁö¤Ã¤Æ¤¤¤ë @strong{MySQL} ¥µ¡¼¥Ð¡¼¤Ë¡¢
-¤³¤ì¤Þ¤¿°ã¤¦¥Ý¡¼¥È¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ëºî¤é¤ì¤¿¥¯¥é¥¤¥¢¥ó¥È¤«¤éÀܳ¤·¤¿¤¤¾ì¹ç¡¢
-°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¥¯¥é¥¤¥¢¥ó¥È¤ò @code{--host 'hostname' --port=port_numer} ¤«
-@code{[--host localhost] --socket=file_name} ¥ª¥×¥·¥ç¥ó¤Çµ¯Æ°¤·¤Þ¤¹¡£
-
-@item
-C ¤¢¤ë¤¤¤Ï Perl ¥×¥í¥°¥é¥à¤Î¾ì¹ç¡¢¥Ý¡¼¥È¤È¥½¥±¥Ã¥È¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡§
-
-@item
-@tindex MYSQL_UNIX_PORT environment variable
-@tindex MYSQL_TCP_PORT environment variable
-@tindex Environment variable, MYSQL_UNIX_PORT
-@tindex Environment variable, MYSQL_TCP_PORT
-@code{MYSQL_UNIX_PORT} ¤È @code{MYSQL_TCP_PORT} ´Ä¶­ÊÑ¿ô¤Ë UNIX ¥½¥±¥Ã¥È¥Õ¥¡¥¤¥ë¤È
- TCP/IP ¤Î¥Ý¡¼¥ÈÈÖ¹æ¤È¥»¥Ã¥È¤·¡¢¥¯¥é¥¤¥¢¥ó¥È¤òΩ¤Á¤¢¤²¤Þ¤¹¡£
-¤â¤·¡¢¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ä¥½¥±¥Ã¥È¥Õ¥¡¥¤¥ë¤ò¾ï¤Ë»ÈÍѤ¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
- @file{.login} ¥Õ¥¡¥¤¥ë¤«¤Ê¤Ë¤«¤Ë´Ä¶­ÊÑ¿ô¤ò¥»¥Ã¥È¤¹¤ë¤è¤¦¤Ë½ñ¤¤¤Æ¤ª¤±¤Ð¤è¤¤¤Ç¤·¤ç¤¦¡£
-@xref{Environment variables}. @xref{Programs}.
-
-@item
-@tindex .my.cnf file
-¤¢¤Ê¤¿¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î @file{.my.cnf} ¥Õ¥¡¥¤¥ë¤Ë¡¢
-Ä̾ï»ÈÍѤ¹¤ë¥Ý¡¼¥ÈÈÖ¹æ¤È¥½¥±¥Ã¥È¥Õ¥¡¥¤¥ë¤ò½ñ¤¯¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-@xref{Option files}.
-@end itemize
-
-@node Clients, Comparisons, Common problems, Top
-@chapter @strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¥Ä¡¼¥ë¤È API
-
-@menu
-* C:: @strong{MySQL} C API
-* C API datatypes:: C API ¥Ç¡¼¥¿·¿
-* C API function overview:: C API ´Ø¿ô³µÍ×
-* C API functions:: C API ´Ø¿ôÀâÌÀ
-* Perl:: @strong{MySQL} Perl API
-* Eiffel:: @strong{MySQL} Eiffel wrapper
-* Java:: @strong{MySQL} Java connectivity (JDBC)
-* PHP:: @strong{MySQL} PHP API
-* Cplusplus:: @strong{MySQL} C++ APIs
-* Python:: @strong{MySQL} Python APIs
-* Tcl:: @strong{MySQL} Tcl APIs
-* Ruby:: @strong{MySQL} Ruby API
-@end menu
-
-@node C, C API datatypes, Clients, Clients
-@section @strong{MySQL} C API
-
-C API ¥³¡¼¥É¤Ï @strong{MySQL} ¤È¤È¤â¤ËÇÛÉÛ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï
-@code{libmysqlclient} ¥é¥¤¥Ö¥é¥ê¤Ë´Þ¤Þ¤ì¡¢C ¥×¥í¥°¥é¥à¤«¤é¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø
-¤Î¥¢¥¯¥»¥¹¤òµö¤·¤Þ¤¹¡£
-
-MySQL ¥½¡¼¥¹¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥óÆâ¤Î¥¯¥é¥¤¥¢¥ó¥È¤Î¿¤¯¤Ï C ¤Ç½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£C API ¤Î»È
-ÍÑË¡¤ò¼¨¤¹Îã¤òõ¤¹¤Ê¤é¡¢¤³¤ì¤é¤Î¥¯¥é¥¤¥¢¥ó¥È¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£
-
-¾¤Î¥¯¥é¥¤¥¢¥ó¥È API ¤Î¿¤¯(Java ¤ò½ü¤¯Á´¤Æ)¤Ï¡¢@strong{MySQL} ¥µ¡¼¥Ð¤È
-¤ÎÄÌ¿®¤Ë¤³¤Î¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ·¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢Î㤨¤Ð¡¢Â¾¤Î¥¯¥é¥¤¥¢¥ó¥È¥×
-¥í¥°¥é¥à¤Ç»ÈÍѤµ¤ì¤ë¤Î¤ÈƱ¤¸´Ä¶­ÊÑ¿ô¤Î¿¤¯¤ÎÍøÅÀ¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤½
-¤ì¤é¤Ï¥é¥¤¥Ö¥é¥ê¤«¤é»²¾È¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£¤³¤ì¤é¤ÎÊÑ¿ô¤Î¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï
-@ref{Programs} ¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡£
-
-¥¯¥é¥¤¥¢¥ó¥È¤ÏºÇÂçÄÌ¿®¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¤ò»ý¤Á¤Þ¤¹¡£ºÇ½é¤Ë³ä¤êÅö¤Æ¤é¤ì¤ë¥Ð¥Ã
-¥Õ¥¡¤Î¥µ¥¤¥º(16K ¥Ð¥¤¥È)¤Ï¼«Æ°Åª¤ËºÇÂ祵¥¤¥º(¥Ç¥Õ¥©¥ë¥È¤Ï 24M)¤Þ¤ÇÁý²Ã¤·
-¤Þ¤¹¡£¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¤ÏɬÍפ˱þ¤¸¤ÆÁý²Ã¤¹¤ë¤¿¤á¡¢Ã±½ã¤Ë¥Ç¥Õ¥©¥ë¥È¤ÎºÇÂçÀ©
-¸Â¤òÁý²Ã¤·¤Æ¤â¡¢¤µ¤é¤ËÆâÉô¤Ç»ñ¸»¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¥µ¥¤¥º¥Á¥§¥Ã
-¥¯¤Ï¼ç¤Ë´Ö°ã¤Ã¤¿¥¯¥¨¥ê¤ÈÄÌ¿®¥Ñ¥±¥Ã¥È¤Î¤¿¤á¤Î¥Á¥§¥Ã¥¯¤Ç¤¹¡£
-
-ÄÌ¿®¥Ð¥Ã¥Õ¥¡¤Ï°ì¤Ä¤Î SQL ¥¹¥Æ¡¼¥È¥á¥ó¥È(¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤Ø¤ÎÄÌ¿®)¤È¡¢
-ÊÖ¤µ¤ì¤ë¥Ç¡¼¥¿(¥µ¡¼¥Ð¤«¤é¥¯¥é¥¤¥¢¥ó¥È¤Ø¤ÎÄÌ¿®)¤Î£±¥ì¥³¡¼¥É¤ò´Þ¤à¤Î¤Ë
-½½Ê¬Â礭¤¯¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£³Æ¥¹¥ì¥Ã¥É¤Î
-ÄÌ¿®¥Ð¥Ã¥Õ¥¡¤Ï¡¢Ç¤°Õ¤Î¥ì¥³¡¼¥É¤ä¥¯¥¨¥ê¤ò½èÍý¤¹¤ë¤¿¤á¤Ë¡¢»ØÄꤵ¤ì¤¿À©¸Â¤Þ¤ÇưŪ
-¤ËÁýÂ礷¤Þ¤¹¡£Î㤨¤Ð¡¢ºÇÂç 16M ¤Î¥Ç¡¼¥¿¤ò´Þ¤à @code{BLOB} Ãͤ¬¤¢¤ë¾ì¹ç¡¢
-¾¯¤Ê¤¯¤È¤â 16M ¤òÄÌ¿®¥Ð¥Ã¥Õ¥¡À©¸Â¤È¤·¤Æ»ý¤ÄɬÍפ¬¤¢¤ê¤Þ¤¹(¥µ¡¼¥Ð¤È¥¯¥é¥¤
-¥¢¥ó¥È¤ÎξÊý¤Ç)¡£
-¥¯¥é¥¤¥¢¥ó¥È¤Î¥Ç¥Õ¥©¥ë¥È¤ÎºÇÂçÃÍ¤Ï 24M ¤Ç¤¹¤¬¡¢¥µ¡¼¥Ð¤ÎºÇÂçÃͤΥǥե©¥ë¥È¤Ï
-1M ¤Ç¤¹¡£¤³¤ì¤Ï¥µ¡¼¥Ðµ¯Æ°»þ¤Ë¡¢@code{max_allowed_packet} ¥Ñ¥é¥á¡¼¥¿¤Î
-ÃͤòÊѹ¹¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢Áý¤ä¤¹¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
-@xref{Server parameters}.
-
-@strong{MySQL} ¥µ¡¼¥Ð¤Ï¡¢³Æ¥¯¥¨¥ê¸å¤Ë³ÆÄÌ¿®¥Ð¥Ã¥Õ¥¡¤ò
-@code{net_buffer_length} ¥Ð¥¤¥È¤Ë½Ì¾®¤·¤Þ¤¹¡£
-¥¯¥é¥¤¥¢¥ó¥È¤Ç¤Ï¡¢Àܳ¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥Ð¥Ã¥Õ¥¡¤Î¥µ¥¤¥º¤Ï¡¢Àܳ¤¬ÊĤ¸¤é¤ì¤ë¤Þ¤Ç¸º¾¯¤·¤Þ¤»¤ó¡£
-¥¯¥é¥¤¥¢¥ó¥È¥á¥â¥ê¤ÏÀܳ¤¬¥¯¥í¡¼¥º¤µ¤ì¤¿»þ¤ËÄ´À°¤µ¤ì¤Þ¤¹¡£
-
-¥¹¥ì¥Ã¥É¥×¥í¥°¥é¥ß¥ó¥°¤ò¹Ô¤Ê¤¦¾ì¹ç¤Ï¡¢@strong{MySQL} C API ¤ò
-@code{--with-thread-safe-client} ÉÕ¤­¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤Ù¤­¤Ç¤¹¡£¤³¤ì¤Ï C
-API ¤òÀܳËè¤Î¥¹¥ì¥Ã¥É°ÂÁ´¤Ë¤·¤Þ¤¹¡£¼¡¤Î¾ì¹ç¤Ë¸Â¤ê¡¢£²¤Ä¤Î¥¹¥ì¥Ã¥É¤ÏƱ¤¸ÀÜ
-³¤ò¶¦Í­¤Ç¤­¤Þ¤¹:
-
-@table @asis
-@item
-£²¤Ä¤Î¥¹¥ì¥Ã¥É¤¬Æ±¤¸Àܳ¾å¤ÇƱ»þ¤Ë @strong{MySQL} ¤Ë¥¯¥¨¥ê¤òÁ÷¿®¤¹¤ë¤³¤È¤Ï
-¤Ç¤­¤Þ¤»¤ó¡£ÆÃ¤Ë @code{mysql_query()} ¤È @code{mysql_store_result()} ¤Î´Ö
-¤Ç¡¢Â¾¤Î¥¹¥ì¥Ã¥É¤¬Æ±¤¸Àܳ¤ò»ÈÍѤ·¤Ê¤¤¤³¤È¤ò³Î¼Â¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-@item
-¿¤¯¤Î¥¹¥ì¥Ã¥É¤¬ @code{mysql_store_result()} ¤Ç¼è¤ê½Ð¤µ¤ì¤¿ÊÌ¡¹¤Î·ë²Ì¥»¥Ã
-¥È¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£
-@item
-@code{mysql_use_result} ¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢·ë²Ì¥»¥Ã¥È¤¬¥¯¥í¡¼¥º¤µ¤ì¤ë¤Þ¤Ç¡¢Â¾
-¤Î¥¹¥ì¥Ã¥É¤¬Æ±¤¸Àܳ¾å¤Ç²¿¤â¿Ò¤Í¤Ê¤¤¤³¤È¤ò³Î¼Â¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-@end table
-
-@node C API datatypes, C API function overview, C, Clients
-@section C API ¥Ç¡¼¥¿·¿
-@table @code
-
-@tindex MYSQL C type
-@item MYSQL
-¤³¤Î¹½Â¤ÂΤϰì¤Ä¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹Àܳ¤Î¥Ï¥ó¥É¥ë¤òɽ¤ï¤·¤Þ¤¹¡£¤³¤ì¤Ï¤Û¤È¤ó¤ÉÁ´¤Æ
-¤Î @strong{MySQL} ´Ø¿ô¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-
-@tindex MYSQL_RES C type
-@item MYSQL_RES
-¤³¤Î¹½Â¤ÂΤϥ쥳¡¼¥É¤òÊÖ¤¹¥¯¥¨¥ê(@code{SELECT}, @code{SHOW}, @code{DESCRIBE}, @code{EXPLAIN})¤Î·ë²Ì¤òɽ¤ï
-¤·¤Þ¤¹¡£¥¯¥¨¥ê¤«¤éÊÖ¤µ¤ì¤ë¾ðÊó¤Ï¡¢¤³¤ÎÀá¤Î»Ä¤ê¤Ç¤Ï@emph{·ë²Ì¥»¥Ã¥È}¤È¸Æ
-¤Ð¤ì¤Þ¤¹¡£
-
-@tindex MYSQL_ROW C type
-@item MYSQL_ROW
-¤³¤ì¤Ï¥Ç¡¼¥¿¤Î£±¥ì¥³¡¼¥É¤Î°ÂÁ´¤Ê·¿É½¸½¤Ç¤¹¡£¤³¤ì¤Ï¸½ºß¥Ð¥¤¥Èʸ»úÎó¤ÎÇÛÎó¤È¤·¤Æ¼Â
-Áõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£(¥Õ¥£¡¼¥ë¥ÉÃͤ¬¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤ò´Þ¤à¤³¤È¤¬¤¢¤ë¾ì¹ç¡¢¤³¤ì¤ò NULL
-½ªÃ¼Ê¸»úÎó¤È¤·¤Æ°·¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤½¤Î¤è¤¦¤ÊÃͤÏÆâÉô¤Ë NULL ¥Ð¥¤¥È¤ò´Þ
-¤à¤³¤È¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£) @code{mysql_fetch_row()} ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤ê¥ì¥³¡¼¥É¤¬³ÍÆÀ
-¤µ¤ì¤Þ¤¹¡£
-
-@tindex MYSQL_FIELD C type
-@item MYSQL_FIELD
-¤³¤Î¹½Â¤ÂΤϥե£¡¼¥ë¥É¤Ë¤Ä¤¤¤Æ¤Î¾ðÊ󡢤Ĥޤê¥Õ¥£¡¼¥ë¥É¤Î̾Á°¡¢·¿¡¢¥µ¥¤¥º
-Åù¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£¤³¤Î¥á¥ó¥Ð¤Ï¸å¤Ç¤µ¤é¤Ë¾ÜºÙ¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-@code{mysql_fetch_field()} ¤ò·«¤êÊÖ¤·¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤ê¡¢³Æ¥Õ¥£¡¼¥ë¥É¤Î
-@code{MYSQL_FIELD} ¹½Â¤ÂΤòÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-¥Õ¥£¡¼¥ë¥ÉÃͤϤ³¤Î¹½Â¤ÂΤΰìÉô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó; ¤½¤ì¤Ï @code{MYSQL_ROW} ¹½Â¤
-ÂΤ˴ޤޤì¤Æ¤¤¤Þ¤¹¡£
-
-@tindex MYSQL_FIELD_OFFSET C type
-@item MYSQL_FIELD_OFFSET
-¤³¤ì¤Ï¡¢@strong{MySQL} ¥Õ¥£¡¼¥ë¥É¥ê¥¹¥È¤Ø¤Î¥ª¥Õ¥»¥Ã¥È¤Î°ÂÁ´¤Ê·¿É½¸½¤Ç¤¹¡£
-(@code{mysql_field_seek()} ¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£)¥ª¥Õ¥»¥Ã¥È¤Ï¥ì¥³¡¼¥ÉÆâ¤Î¥Õ¥£¡¼¥ë¥É
-ÈÖ¹æ¤Ç¡¢0 ¤«¤é»Ï¤Þ¤ê¤Þ¤¹¡£
-
-@tindex my_ulonglong C type
-@tindex my_ulonglong values, printing
-@item my_ulonglong
-¥ì¥³¡¼¥É¿ô¤È @code{mysql_affected_rows()},
-@code{mysql_num_rows()} ¤½¤·¤Æ @code{mysql_insert_id()} ¤Ë»ÈÍѤµ¤ì¤ë·¿¤Ç¤¹¡£
-¤³¤Î·¿¤Ï @code{0} ¤«¤é @code{1.84e19} ¤ÎÈϰϤòÍ¿¤¨¤Þ¤¹¡£
-
-¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¡¢@code{my_ulonglong} ·¿¤ÎÃͤòɽ¼¨¤·¤è¤¦¤È¤·¤Æ¤â¡¢Æ°ºî
-¤·¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÃͤòɽ¼¨¤¹¤ë¤Ë¤Ï¡¢@code{unsigned long} ¤ËÊÑ´¹
-¤·¡¢@code{%lu} ½ÐÎϽñ¼°¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£Îã:
-@example
-printf (Number of rows: %lu\n", (unsigned long) mysql_num_rows(result));
-@end example
-@end table
-
-@noindent
-@code{MYSQL_FIELD} ¹½Â¤ÂΤϼ¡¤Î¥á¥ó¥Ð¤ò´Þ¤ß¤Þ¤¹:
-
-@table @code
-@item char * name
-¥Õ¥£¡¼¥ë¥É¤Î̾Á°¡£null½ªÃ¼Ê¸»úÎó¡£
-
-@item char * table
-¤³¤Î¥Õ¥£¡¼¥ë¥É¤ò´Þ¤à¥Æ¡¼¥Ö¥ë¤Î̾Á°¡£·×»»¤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¤Ç¤Ê¤¤¾ì¹ç¤Î¤ßÍ­
-¸ú¤Ç¤¹¡£·×»»¤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¤Ç¤Ï¡¢@code{table} Ãͤ϶õʸ»úÎó¤Ç¤¹¡£
-
-@item char * def
-¤³¤Î¥Õ¥£¡¼¥ë¥É¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¡£null½ªÃ¼Ê¸»úÎó¡£
-¤³¤ì¤Ï @code{mysql_list_fields()} »ÈÍÑ»þ¤Ë¤À¤±ÀßÄꤵ¤ì¤Þ¤¹¡£
-
-@item enum enum_field_types type
-¥Õ¥£¡¼¥ë¥É¤Î·¿¡£
-@code{type} Ãͤϼ¡¤Î°ì¤Ä¤Ç¤¹:
-
-@multitable @columnfractions .3 .55
-@item @strong{·¿¤ÎÃÍ} @tab @strong{·¿¤Î°ÕÌ£}
-@item @code{FIELD_TYPE_TINY} @tab @code{TINYINT} ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_SHORT} @tab @code{SMALLINT} ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_LONG} @tab @code{INTEGER} ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_INT24} @tab @code{MEDIUMINT} ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_LONGLONG} @tab @code{BIGINT} ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_DECIMAL} @tab @code{DECIMAL} ¤Þ¤¿¤Ï @code{NUMERIC} ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_FLOAT} @tab @code{FLOAT} ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_DOUBLE} @tab @code{DOUBLE} ¤Þ¤¿¤Ï @code{REAL} ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_TIMESTAMP} @tab @code{TIMESTAMP} ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_DATE} @tab @code{DATE} ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_TIME} @tab @code{TIME} ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_DATETIME} @tab @code{DATETIME} ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_YEAR} @tab @code{YEAR} ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_STRING} @tab ʸ»úÎó (@code{CHAR} ¤Þ¤¿¤Ï @code{VARCHAR}) ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_BLOB} @tab @code{BLOB} ¤Þ¤¿¤Ï @code{TEXT} ¥Õ¥£¡¼¥ë¥É (ºÇÂçŤò³ÎÄꤹ¤ë¤Ë¤Ï @code{max_length} ¤ò»ÈÍѤ·¤Æ²¼¤µ¤¤)
-@item @code{FIELD_TYPE_SET} @tab @code{SET} ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_ENUM} @tab @code{ENUM} ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_NULL} @tab @code{NULL}·¿ ¥Õ¥£¡¼¥ë¥É
-@item @code{FIELD_TYPE_CHAR} @tab Èó¿ä¾©; @code{FIELD_TYPE_TINY} ¤òÂå¤ï¤ê¤Ë»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤
-@end multitable
-
-@code{IS_NUM()} ¥Þ¥¯¥í¤Ç¡¢¥Õ¥£¡¼¥ë¥É¤¬¿ôÃÍ¥¿¥¤¥×¤«¤É¤¦¤«¤ò¥Æ¥¹¥È¤Ç¤­¤Þ¤¹¡£
-¥Õ¥£¡¼¥ë¥É¤¬¿ôÃͤξì¹ç¡¢@code{type} ¥á¥ó¥Ð¤ò @code{IS_NUM()} ¤ËÅϤ¹¤È
-TRUE ¤Èɾ²Á¤·¤Þ¤¹:
-
-@example
-if (IS_NUM(field->type))
- printf("Field is numeric\n");
-@end example
-
-@item unsigned int length
-¥Õ¥£¡¼¥ë¥É¤ÎÉý¡£¤³¤ì¤Ï¥Æ¡¼¥Ö¥ëÄêµÁ¤Ç»ØÄꤵ¤ì¤¿¤â¤Î¤Ç¤¹¡£
-
-@item unsigned int max_length
-·ë²Ì¥»¥Ã¥È¤Î¥Õ¥£¡¼¥ë¥É¤ÎºÇÂçÉý(¼ÂºÝ¤Î·ë²Ì¥»¥Ã¥È¤ÎÃæ¤Î¥ì¥³¡¼¥É¤ÎºÇĹ¥Õ¥£¡¼¥ë¥ÉÃÍ
-¤ÎŤµ)¡£@code{mysql_store_result()} ¤Þ¤¿¤Ï @code{mysql_list_fields()} ¤ò
-»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¤³¤ì¤Ï¥Õ¥£¡¼¥ë¥É¤ÎºÇÂçÉý¤Ë¤Ê¤ê¤Þ¤¹¡£
-@code{mysql_use_result()} ¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¤³¤ÎÊÑ¿ô¤ÎÃÍ¤Ï 0 ¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@item unsigned int flags
-¥Õ¥£¡¼¥ë¥É¤Î¼ï¡¹¤Î¥Ó¥Ã¥È¥Õ¥é¥°¡£@code{flags} ÃÍ¤Ï 0 ¤Þ¤¿¤Ï¼¡¤Î¥Ó¥Ã¥È¤Î°ì¤Ä
-°Ê¾å¤ÎÁȤ߹ç¤ï¤»¤Ç¤¹:
-
-@multitable @columnfractions .3 .55
-@item @strong{¥Õ¥é¥°¤ÎÃÍ} @tab @strong{¥Õ¥é¥°¤Î°ÕÌ£}
-@item @code{NOT_NULL_FLAG} @tab ¥Õ¥£¡¼¥ë¥É¤Ï @code{NULL} ¤Ë¤Ç¤­¤Ê¤¤
-@item @code{PRI_KEY_FLAG} @tab ¥Õ¥£¡¼¥ë¥É¤Ï¥×¥é¥¤¥Þ¥ê¥­¡¼¤Î°ìÉô¤Ç¤¢¤ë
-@item @code{UNIQUE_KEY_FLAG} @tab ¥Õ¥£¡¼¥ë¥É¤Ï¥æ¥Ë¡¼¥¯¥­¡¼¤Î°ìÉô¤Ç¤¢¤ë
-@item @code{MULTIPLE_KEY_FLAG} @tab ¥Õ¥£¡¼¥ë¥É¤ÏÈó¥æ¥Ë¡¼¥¯¥­¡¼¤Î°ìÉô¤Ç¤¢¤ë
-@item @code{UNSIGNED_FLAG} @tab ¥Õ¥£¡¼¥ë¥É¤Ï @code{UNSIGNED} °À­¤ò»ý¤Ã¤Æ¤¤¤ë
-@item @code{ZEROFILL_FLAG} @tab ¥Õ¥£¡¼¥ë¥É¤Ï @code{ZEROFILL} °À­¤ò»ý¤Ã¤Æ¤¤¤ë
-@item @code{BINARY_FLAG} @tab ¥Õ¥£¡¼¥ë¥É¤Ï @code{BINARY} °À­¤ò»ý¤Ã¤Æ¤¤¤ë
-@item @code{AUTO_INCREMENT_FLAG} @tab ¥Õ¥£¡¼¥ë¥É¤Ï @code{AUTO_INCREMENT} °À­¤ò»ý¤Ã¤Æ¤¤¤ë
-@item @code{ENUM_FLAG} @tab ¥Õ¥£¡¼¥ë¥É¤Ï @code{ENUM} ¤Ç¤¢¤ë (Èó¿ä¾©)
-@item @code{BLOB_FLAG} @tab ¥Õ¥£¡¼¥ë¥É¤Ï @code{BLOB} ¤Þ¤¿¤Ï @code{TEXT} ¤Ç¤¢¤ë (Èó¿ä¾©)
-@item @code{TIMESTAMP_FLAG} @tab ¥Õ¥£¡¼¥ë¥É¤Ï @code{TIMESTAMP} ¤Ç¤¢¤ë (Èó¿ä¾©)
-@end multitable
-
-@code{BLOB_FLAG}, @code{ENUM_FLAG}, @code{TIMESTAMP_FLAG} ¤Î»ÈÍѤϿ侩¤µ
-¤ì¤Þ¤»¤ó¡£¤³¤ì¤é¤Ï·¿¤Î°À­¤Ç¤Ï¤Ê¤¯¥Õ¥£¡¼¥ë¥É¤Î·¿¤ò¼¨¤¹¤«¤é¤Ç¤¹¡£Âå¤ï¤ê
-¤Ë @code{field->type} ¤ò @code{FIELD_TYPE_BLOB}, @code{FIELD_TYPE_ENUM},
-@code{FIELD_TYPE_TIMESTAMP} ¤ËÂФ·¤Æ¥Æ¥¹¥È¤¹¤ëÊý¤ò¤ª´«¤á¤·¤Þ¤¹¡£
-
-@noindent
-¼¡¤ÎÎã¤Ï @code{flags} ÃͤÎŵ·¿Åª¤Ê»ÈÍѤò¼¨¤·¤Æ¤¤¤Þ¤¹:
-
-@example
-if (field->flags & NOT_NULL_FLAG)
- printf("Field can't be null\n");
-@end example
-
-@code{flags} Ãͤο¿µ¶¾õÂÖ¤òÄ´¤Ù¤ë¤¿¤á¤Ë¡¢¼¡¤ÎÊØÍø¤Ê¥Þ¥¯¥í¤ò»ÈÍѤǤ­
-¤Þ¤¹:
-
-@multitable @columnfractions .3 .5
-@item @code{IS_NOT_NULL(flags)} @tab ¤³¤Î¥Õ¥£¡¼¥ë¥É¤¬ @code{NOT NULL} ¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ì¤Ð¿¿
-@item @code{IS_PRI_KEY(flags)} @tab ¤³¤Î¥Õ¥£¡¼¥ë¥É¤¬¥×¥é¥¤¥Þ¥ê¥­¡¼¤Ê¤é¤Ð¿¿
-@item @code{IS_BLOB(flags)} @tab ¤³¤Î¥Õ¥£¡¼¥ë¥É¤¬ @code{BLOB} ¤Þ¤¿¤Ï @code{TEXT} ¤Ê¤é¤Ð¿¿ (Èó¿ä¾©; Âå¤ï¤ê¤Ë @code{field->type} ¤ò¥Æ¥¹¥È¤·¤Æ²¼¤µ¤¤)
-@end multitable
-
-@item unsigned int decimals
-¿ôÃÍ¥Õ¥£¡¼¥ë¥É¤Î¾®¿ôÉô·å¿ô¡£
-@end table
-
-@node C API function overview, C API functions, C API datatypes, Clients
-@section C API ´Ø¿ô³µÍ×
-
-C API ¤Ë¤Ï¼¡¤Ë°ìÍ÷¤µ¤ì¤¿´Ø¿ô¤¬Â¸ºß¤·¤Þ¤¹¡£¤³¤ì¤é¤Î´Ø¿ô¤Ï¼¡¤ÎÀá¤Ç¤«¤Ê
-¤ê¾ÜºÙ¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-@xref{C API functions}¡£
-
-@multitable @columnfractions .3 .7
-@item @strong{mysql_affected_rows()} @tab
-ºÇ¸å¤Î @code{UPDATE}, @code{DELETE}, @code{INSERT} ¥¯¥¨¥ê¤Ë¤è¤Ã¤Æ±Æ¶Á¤µ
-¤ì¤¿¥ì¥³¡¼¥É¿ô¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_close()} @tab
-¥µ¡¼¥ÐÀܳ¤ò¥¯¥í¡¼¥º¤·¤Þ¤¹¡£
-
-@item @strong{mysql_connect()} @tab
-@strong{MySQL} ¥µ¡¼¥Ð¤ËÀܳ¤·¤Þ¤¹¡£¤³¤Î´Ø¿ô¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó; Âå¤ï¤ê¤Ë
-@code{mysql_real_connect()} ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item @strong{mysql_change_user()} @tab
-ÀܳÃæ¤Î¤Î¥æ¡¼¥¶¤È¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÊѹ¹¤·¤Þ¤¹¡£
-
-@item @strong{mysql_create_db()} @tab
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î´Ø¿ô¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó; Âå¤ï¤ê¤Ë SQL ¥³¥Þ¥ó
-¥É @code{CREATE DATABASE} ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item @strong{mysql_data_seek()} @tab
-¥¯¥¨¥ê·ë²Ì¥»¥Ã¥ÈÃæ¤ÎǤ°Õ¤Î¥ì¥³¡¼¥É¤Ë¥·¡¼¥¯¤·¤Þ¤¹¡£
-
-@item @strong{mysql_debug()} @tab
-Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤Ç @code{DBUG_PUSH} ¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£
-
-@item @strong{mysql_drop_db()} @tab
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÇË´þ¤·¤Þ¤¹¡£¤³¤Î´Ø¿ô¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó; Âå¤ï¤ê¤Ë SQL ¥³¥Þ¥ó
-¥É @code{DROP DATABASE} ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item @strong{mysql_dump_debug_info()} @tab
-¥µ¡¼¥Ð¤Ë¡¢¥Ç¥Ð¥Ã¥°¾ðÊó¤ò¥í¥°¤Ë½ñ¤­½Ð¤µ¤»¤Þ¤¹¡£
-
-@item @strong{mysql_eof()} @tab
-·ë²Ì¥»¥Ã¥È¤ÎºÇ¸å¤Î¥ì¥³¡¼¥É¤¬Æɤޤ줿¤«¤É¤¦¤«¤òȽÄꤷ¤Þ¤¹¡£¤³¤Î´Ø¿ô¤Ï¿ä¾©¤µ¤ì¤Þ¤»
-¤ó; Âå¤ï¤ê¤Ë @code{mysql_errno()} ¤Þ¤¿¤Ï @code{mysql_error()} ¤ò»ÈÍѤ·¤Æ²¼
-¤µ¤¤¡£
-
-@item @strong{mysql_errno()} @tab
-ºÇ¸å¤Î @strong{MySQL} ´Ø¿ô¤«¤é¤Î¥¨¥é¡¼ÈÖ¹æ¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_error()} @tab
-ºÇ¸å¤Î @strong{MySQL} ´Ø¿ô¤«¤é¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_real_escape_string()} @tab
-Escapes special characters in a string for use in a SQL statement taking
-into account the current charset of the connection.
-
-@item @strong{mysql_escape_string()} @tab
-SQL ¥¹¥Æ¡¼¥È¥á¥ó¥ÈÆâ¤Ç»ÈÍѤ¹¤ë¤¿¤á¤Ëʸ»úÎóÃæ¤ÎÆüìʸ»ú¤ò¥¨¥¹¥±¡¼¥×¤·¤Þ¤¹¡£
-
-@item @strong{mysql_fetch_field()} @tab
-¥Æ¡¼¥Ö¥ë¤Î¼¡¤Î¥Õ¥£¡¼¥ë¥É¤Î·¿¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_fetch_field_direct()} @tab
-¥Æ¡¼¥Ö¥ë¤Î¡¢ÈÖ¹æ¤Ç»ØÄꤵ¤ì¤¿¥Õ¥£¡¼¥ë¥É¤Î·¿¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_fetch_fields()} @tab
-Á´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¹½Â¤ÂΤÎÇÛÎó¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_fetch_lengths()} @tab
-¸½ºß¤Î¥ì¥³¡¼¥ÉÃæ¤ÎÁ´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤ÎŤµ¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_fetch_row()} @tab
-·ë²Ì¥»¥Ã¥È¤«¤é¼¡¤Î¥ì¥³¡¼¥É¤ò¼è¤ê½Ð¤·¤Þ¤¹¡£
-
-@item @strong{mysql_field_seek()} @tab
-»ØÄꤵ¤ì¤¿¥Õ¥£¡¼¥ë¥É¾å¤Ë¥Õ¥£¡¼¥ë¥É¥«¡¼¥½¥ë¤òÃÖ¤­¤Þ¤¹¡£
-
-@item @strong{mysql_field_count()} @tab
-ºÇ¸å¤Î¥¯¥¨¥ê¤Î·ë²Ì¤Î¥Õ¥£¡¼¥ë¥É¤Î¿ô¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_field_tell()} @tab
-ºÇ¸å¤Î @code{mysql_fetch_field()} ¤Ç»ÈÍѤµ¤ì¤¿¥Õ¥£¡¼¥ë¥É¥«¡¼¥½¥ë¤Î°ÌÃÖ¤òÊÖ
-¤·¤Þ¤¹¡£
-
-@item @strong{mysql_free_result()} @tab
-·ë²Ì¥»¥Ã¥È¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤¿¥á¥â¥ê¤ò²òÊü¤·¤Þ¤¹¡£
-
-@item @strong{mysql_get_client_info()} @tab
-¥¯¥é¥¤¥¢¥ó¥È¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_get_host_info()} @tab
-Àܳ¤òÀâÌÀ¤¹¤ëʸ»úÎó¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_get_proto_info()} @tab
-Àܳ¤Ë»ÈÍѤµ¤ì¤ë¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_get_server_info()} @tab
-¥µ¡¼¥Ð¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_info()} @tab
-ºÇ¸å¤Ë¼Â¹Ô¤µ¤ì¤¿¥¯¥¨¥ê¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_init()} @tab
-@code{MYSQL} ¹½Â¤ÂΤò³ÍÆÀ¤Þ¤¿¤Ï½é´ü²½¤·¤Þ¤¹¡£
-
-@item @strong{mysql_insert_id()} @tab
-@code{AUTO_INCREMENT} ¥Õ¥£¡¼¥ë¥É¤ËºÇ¸å¤ËÀ¸À®¤µ¤ì¤¿ ID ¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_kill()} @tab
-»ØÄꤵ¤ì¤¿¥¹¥ì¥Ã¥É¤ò»¦¤·¤Þ¤¹¡£
-
-@item @strong{mysql_list_dbs()} @tab
-´Ê°×Àµµ¬É½¸½¤ËŬ¹ç¤¹¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_list_fields()} @tab
-´Ê°×Àµµ¬É½¸½¤ËŬ¹ç¤¹¤ë¥Õ¥£¡¼¥ë¥É̾¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_list_processes()} @tab
-¸½ºß¤Î¥µ¡¼¥Ð¥¹¥ì¥Ã¥É¤Î¥ê¥¹¥È¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_list_tables()} @tab
-´Ê°×Àµµ¬É½¸½¤ËŬ¹ç¤¹¤ë¥Æ¡¼¥Ö¥ë̾¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_num_fields()} @tab
-·ë²Ì¥»¥Ã¥ÈÃæ¤Î¥Õ¥£¡¼¥ë¥É¿ô¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_num_rows()} @tab
-·ë²Ì¥»¥Ã¥ÈÃæ¤Î¥ì¥³¡¼¥É¿ô¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_options()} @tab
-@code{mysql_connect()} ¤Î¤¿¤á¤ÎÀܳ¥ª¥×¥·¥ç¥ó¤òÀßÄꤷ¤Þ¤¹¡£
-
-@item @strong{mysql_ping()} @tab
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬Æ°ºî¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
-ɬÍפǤ¢¤ì¤ÐºÆÀܳ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_query()} @tab
-NULL ½ªÃ¼Ê¸»úÎó¤È¤·¤Æµ­½Ò¤µ¤ì¤¿ SQL ¥¯¥¨¥ê¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-
-@item @strong{mysql_real_connect()} @tab
-@strong{MySQL} ¥µ¡¼¥Ð¤ËÀܳ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_real_query()} @tab
-¿ô¤¨¤é¤ì¤¿Ê¸»úÎó¤È¤·¤Æµ­½Ò¤µ¤ì¤¿ SQL ¥¯¥¨¥ê¤ò¼Â¹Ô¤·¤Þ¤¹¡£
-
-@item @strong{mysql_reload()} @tab
-¸¢¸Â¥Æ¡¼¥Ö¥ë¤òºÆÆɤ߹þ¤ß¤¹¤ë¤è¤¦¤Ë¥µ¡¼¥Ð¤Ë»Ø¼¨¤·¤Þ¤¹¡£
-
-@item @strong{mysql_row_seek()} @tab
-·ë²Ì¥»¥Ã¥ÈÆâ¤Î¤¢¤ë¥ì¥³¡¼¥É¤Ø¥·¡¼¥¯¤·¤Þ¤¹¡£@code{mysql_row_tell()} ¤«¤éÊÖ¤µ¤ì¤ëÃͤò
-»ÈÍѤ·¤Þ¤¹¡£
-
-@item @strong{mysql_row_tell()} @tab
-¥ì¥³¡¼¥É¥«¡¼¥½¥ë¤Î°ÌÃÖ¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_select_db()} @tab
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÁªÂò¤·¤Þ¤¹¡£
-
-@item @strong{mysql_shutdown()} @tab
-¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¡¼¥Ð¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤·¤Þ¤¹¡£
-
-@item @strong{mysql_start_slave()} @tab
-Starts slave replication thread
-
-@item @strong{mysql_stat()} @tab
-ʸ»úÎó¤Ç¥µ¡¼¥Ð¾õÂÖ¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_store_result()} @tab
-¥¯¥é¥¤¥¢¥ó¥È¤Ë´°Á´¤Ê·ë²Ì¥»¥Ã¥È¤ò¼è¤ê½Ð¤·¤Þ¤¹¡£
-
-@item @strong{mysql_stop_slave()} @tab
-Stops slave replication thread
-
-@item @strong{mysql_thread_id()} @tab
-¸½ºß¤Î¥¹¥ì¥Ã¥É ID ¤òÊÖ¤·¤Þ¤¹¡£
-
-@item @strong{mysql_thread_save()} @tab
-Returns 1 if the clients are compiled as threadsafe.
-
-@item @strong{mysql_use_result()} @tab
-³Æ¥ì¥³¡¼¥É¤ÎưŪ·ë²Ì¥»¥Ã¥È¤ò½é´ü²½¤·¤Þ¤¹¡£
-@end multitable
-
-¥µ¡¼¥Ð¤ØÀܳ¤¹¤ë¤Ë¤Ï¡¢Àܳ¥Ï¥ó¥É¥é¤ò½é´ü²½¤¹¤ë¤¿¤á¤Ë @code{mysql_init()}
-¤ò¸Æ¤Ó¤À¤·¡¢¤½¤ì¤«¤é @code{mysql_real_connect()} ¤ò¤½¤Î¥Ï¥ó¥É¥é¤Ç¸Æ¤Ó¤À¤·
-¤Þ¤¹ (¥Û¥¹¥È̾¡¢¥æ¡¼¥¶Ì¾¡¢¥Ñ¥¹¥ï¡¼¥É¤Î¤è¤¦¤Ê¾¤Î¾ðÊó¤Ë²Ã¤¨¤Æ)¡£
-Upon connection, @code{mysql_real_connect()} sets the
-@code{reconnect} flag (part of the MYSQL structure) to a value of
-@code{1}. This flag indicates, in the event that a query cannot be
-performed because of a lost connection, to try reconnecting to the
-server before giving up.
-¤½¤ÎÀܳ¤Ç
-¤Î½èÍý¤¬½ªÎ»¤·¤¿»þ¤Ï¡¢Àܳ¤ò½ªÎ»¤µ¤»¤ë¤¿¤á¤Ë @code{mysql_close()} ¤ò¸Æ¤Ó¤À
-¤·¤Þ¤¹¡£
-
-Àܳ¤¬Í­¸ú¤Ê´Ö¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï @code{mysql_query()} ¤Þ¤¿¤Ï
-@code{mysql_real_query()} ¤ò»ÈÍѤ·¤Æ SQL ¥¯¥¨¥ê¤ò¥µ¡¼¥Ð¤ËÁ÷¿®¤Ç¤­¤Þ¤¹¡£¤³
-¤Î£²¤Ä¤Î°ã¤¤¤Ï¡¢@code{mysql_query()} ¤Ï NULL½ªÃ¼Ê¸»úÎó¤È¤·¤Æ¥¯¥¨¥ê¤¬µ­½Ò¤µ
-¤ì¤ë¤³¤È¤ò´üÂÔ¤¹¤ë¤Î¤ËÂФ·¡¢@code{mysql_real_query()} ¤Ï¿ô¤¨¤é¤ì¤¿Ê¸»úÎó¤ò
-´üÂÔ¤¹¤ë¤³¤È¤Ç¤¹¡£Ê¸»úÎ󤬥Х¤¥Ê¥ê¥Ç¡¼¥¿(NUL¥Ð¥¤¥È¤ò´Þ¤ß¤³¤È¤¬¤¢¤ë)¤ò´Þ¤à
-¾ì¹ç¤Ï¡¢@code{mysql_real_query()} ¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-Èó@code{SELECT} ¥¯¥¨¥ê(Î㤨¤Ð¡¢@code{INSERT}, @code{UPDATE},
-@code{DELETE})¤Ç¤Ï¡¢¤É¤ì¤¯¤é¤¤¤Î¥ì¥³¡¼¥É¤¬±Æ¶Á(Êѹ¹)¤µ¤ì¤¿¤«¤ò
-@code{mysql_affected_rows()} ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¸«¤Ä¤±½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@code{SELECT} ¥¯¥¨¥ê¤Ç¤Ï¡¢ÁªÂò¤µ¤ì¤¿¥ì¥³¡¼¥É¤ò·ë²Ì¥»¥Ã¥È¤È¤·¤Æ¼è¤ê½Ð¤·¤Þ¤¹¡£
-(Ãí°Õ: ¤¤¤¯¤Ä¤«¤Î¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ï¡¢¥ì¥³¡¼¥É¤òÊÖ¤¹¤È¤¤¤¦ÅÀ¤Ç
-@code{SELECT}¤Ë»÷¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤Ï @code{SHOW}, @code{DESCRIBE},
-@code{EXPLAIN} ¤Ç¤¹¡£¤³¤ì¤é¤Ï @code{SELECT} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤ÈƱ¤¸ÊýË¡¤Ç°·¤ï
-¤ì¤ë¤Ù¤­¤Ç¤¹¡£)
-
-¥¯¥é¥¤¥¢¥ó¥È¤¬·ë²Ì¥»¥Ã¥È¤ò½èÍý¤¹¤ë¤Ë¤Ï£²¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£°ì¤ÄÌܤϡ¢
-@code{mysql_store_result()} ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¡¢·ë²Ì¥»¥Ã¥ÈÁ´ÂΤò°ìÅ٤ˤ¹¤Ù¤Æ
-¼è¤ê½Ð¤¹¤³¤È¤Ç¤¹¡£¤³¤Î´Ø¿ô¤Ï¥µ¡¼¥Ð¤«¤é¥¯¥¨¥ê¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥ì¥³¡¼
-¥É¤ò¼èÆÀ¤·¡¢¤½¤ì¤ò¥¯¥é¥¤¥¢¥ó¥È¤Ë³ÊǼ¤·¤Þ¤¹¡£Æó¤ÄÌܤϡ¢
-@code{mysql_use_result()} ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¡¢¥ì¥³¡¼¥É¤´¤È¤Î·ë²Ì¥»¥Ã¥È¼è¤ê½Ð
-¤·¤ò½é´ü²½¤¹¤ë¤³¤È¤Ç¤¹¡£¤³¤Î´Ø¿ô¤Ï¼è¤ê½Ð¤·¤ò½é´ü²½¤·¤Þ¤¹¤¬¡¢¼ÂºÝ¤Ë¤Ï¥µ¡¼¥Ð
-¤«¤é²¿¤Î¥ì¥³¡¼¥É¤âÆÀ¤Þ¤»¤ó¡£
-
-¤É¤Á¤é¤Î¾ì¹ç¤Ç¤â¡¢@code{mysql_fetch_row()} ¤ò¸Æ¤Ó½Ð¤·¤Æ¥ì¥³¡¼¥É¤Ë¥¢¥¯¥»¥¹
-¤·¤Þ¤¹¡£@code{mysql_store_result()} ¤Ç¤Ï¡¢@code{mysql_fetch_row()} ¤Ï´û¤Ë
-¥µ¡¼¥Ð¤«¤é¼èÆÀ¤·¤Æ¤¢¤ë¥ì¥³¡¼¥É¤Ë¥¢¥¯¥»¥¹¤·¤Þ¤¹¡£
-@code{mysql_use_result()} ¤Ç¤Ï¡¢@code{mysql_fetch_row()} ¤Ï¼ÂºÝ¤Ë¥µ¡¼¥Ð¤«
-¤é¥ì¥³¡¼¥É¤ò¼è¤ê½Ð¤·¤Þ¤¹¡£³Æ¥ì¥³¡¼¥É¤Î¥Ç¡¼¥¿ÃͤΥµ¥¤¥º¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Ï
-@code{mysql_fetch_lengths()} ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤ÇÆÀ¤é¤ì¤Þ¤¹¡£
-
-·ë²Ì¥»¥Ã¥È¤Ç¤Î½èÍý¤¬½ª¤Ã¤¿¸å¤Ï¡¢@code{mysql_free_result()} ¤ò¸Æ¤Ó½Ð¤·¡¢¤½
-¤ì¤¬»ÈÍѤ·¤Æ¤¤¤¿¥á¥â¥ê¤ò²òÊü¤·¤Æ²¼¤µ¤¤¡£
-
-¤³¤Î£²¤Ä¤Î¼è¤ê½Ð¤·µ¡¹½¤ÏÁêÊäŪ¤Ê¤â¤Î¤Ç¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤Ï¡¢É¬ÍפË
-¤è¤Ã¤Æ¤â¤Ã¤È¤âŬÀڤʥ¢¥×¥í¡¼¥Á¤òÁªÂò¤¹¤Ù¤­¤Ç¤¹¡£´·ÎãŪ¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï°ì
-ÈÌ¤Ë @code{mysql_store_result()} ¤ò»ÈÍѤ¹¤ë·¹¸þ¤Ë¤¢¤ê¤Þ¤¹¡£
-
-@code{mysql_store_result()} ¤ÎÍøÅÀ¤Ï¡¢¤¹¤Ù¤Æ¤Î¥ì¥³¡¼¥É¤ò¥¯¥é¥¤¥¢¥ó¥È¤Ë¼è¤Ã
-¤ÆÍè¤ë¤¿¤á¡¢Ï¢Â³¤·¤Æ¥ì¥³¡¼¥É¤ò¥¢¥¯¥»¥¹¤Ç¤­¤ë¤À¤±¤Ç¤Ê¤¯¡¢·ë²Ì¥»¥Ã¥ÈÃæ¤Î¸½ºß
-¤Î¥ì¥³¡¼¥É°ÌÃÖ¤òÊѹ¹¤¹¤ë¤¿¤á¤Ë¡¢@code{mysql_data_seek()} ¤ä
-@code{mysql_row_seek()} ¤ò»ÈÍѤ·¤Æ¡¢·ë²Ì¥»¥Ã¥È¤ÎÃæ¤ò¸å¤äÁ°¤Ë°ÜÆ°¤¹¤ë¤³¤È¤¬
-¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢@code{mysql_num_rows()} ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¡¢¥ì¥³¡¼¥É¿ô¤ò¸«¤Ä
-¤±¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£°ìÊý¡¢@code{mysql_store_result()} ¤ÎɬÍ×¥á¥â¥ê¤Ï¡¢Â礭
-¤Ê·ë²Ì¥»¥Ã¥È¤Ç¤Ï¤È¤Æ¤â¹â¤¯¡¢out-of-memory ¾õÂÖ¤ËÁø¶ø¤¹¤ë²ÄǽÀ­¤¬¹â¤¯¤Ê¤ê¤Þ
-¤¹¡£
-
-@code{mysql_use_result()} ¤ÎÍøÅÀ¤Ï¡¢°ìÅ٤˰ì¤Ä¤Î¥ì¥³¡¼¥É¤À¤±¤òÊÝ»ý¤¹¤ë¤¿¤á¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬·ë²Ì¥»¥Ã¥È¤ËÍ׵᤹¤ë¥á¥â¥ê¤¬¾¯¤Ê¤¤¤³¤È¤Ç¤¹¡Ê¤½¤·¤Æ¡¢³äÅö¤Î¥ª¡¼
-¥Ð¡¼¥Ø¥Ã¥É¤â¾¯¤Ê¤¤¤Î¤Ç¡¢@code{mysql_use_result()} ¤Ï¤è¤ê®¤¯¤Ê¤ê¤Þ¤¹¡Ë¡£ÉÔ
-Íø¤ÊÅÀ¤Ï¡¢¥µ¡¼¥Ð¤Î¹´Â«¤òÈò¤±¤ë¤¿¤á¡¢³Æ¥ì¥³¡¼¥É¤òÁÇÁ᤯½èÍý¤¹¤ëɬÍפ¬¤¢¤ë¤³
-¤È¡¢·ë²Ì¥»¥Ã¥ÈÃæ¤Ç¥ì¥³¡¼¥É¤Î¥é¥ó¥À¥à¥¢¥¯¥»¥¹¤¬¤Ç¤­¤Ê¤¤¤³¤È¡Ê¥ì¥³¡¼¥É¤ò½çÈÖ
-¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤·¤«¤Ç¤­¤Þ¤»¤ó¡Ë¡¢¤½¤·¤Æ¡¢¤¹¤Ù¤Æ¤Î¥ì¥³¡¼¥É¤ò¼è¤ê½Ð¤µ¤Ê¤¤
-¸Â¤ê¡¢·ë²Ì¥»¥Ã¥ÈÃæ¤Ë¤¤¤¯¤Ä¤Î¥ì¥³¡¼¥É¤¬¤¢¤ë¤«¤òÃΤ뤳¤È¤¬¤Ç¤­¤Ê¤¤¤³¤È¤Ç¤¹¡£
-¤µ¤é¤Ë¡¢¤¢¤Ê¤¿¤¬Ãµ¤·¤Æ¤¤¤ë¾ðÊó¤ò¡¢¸¡º÷¤ÎÅÓÃæ¤Ç¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Æ¡¢ÌäÂ꤬
-²ò·è¤·¤¿¤È¤·¤Æ¤â¡¢¤¹¤Ù¤Æ¤Î¥ì¥³¡¼¥É¤ò¼è¤ê½Ð¤µ@emph{¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó}¡£
-
-API ¤Ï¥¯¥é¥¤¥¢¥ó¥È¤¬¥¯¥¨¥ê¤¬ @code{SELECT} ¤Ç¤¢¤ë¤«¤É¤¦¤«¤òÃΤ뤳¤È¤Ê¤·¤Ë¡¢
-¡ÊɬÍ×»þ¤À¤±¥ì¥³¡¼¥É¤ò¼è¤ê½Ð¤¹¡Ë¥¯¥¨¥ê¤ËŬÀڤ˱þÅú¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
-¤½¤ì¤¾¤ì¤Î @code{mysql_query()}¡Ê¤Þ¤¿¤Ï @code{mysql_real_query()}¡Ë¤Î¸å¤Ç¡¢
-@code{mysql_store_result()} ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¡¢¤³¤ì¤¬²Äǽ¤Ç¤¹¡£·ë²Ì¥»¥Ã¥È¤Î
-¸Æ¤Ó½Ð¤·¤¬À®¸ù¤¹¤ë¤È¡¢¥¯¥¨¥ê¤Ï @code{SELECT} ¤Ç¤¢¤ê¡¢¥ì¥³¡¼¥É¤òÆɤळ¤È¤¬
-¤Ç¤­¤Þ¤¹¡£·ë²Ì¥»¥Ã¥È¸Æ¤Ó½Ð¤·¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¡¢·ë²Ì¤¬¼ÂºÝ¤Ë´üÂÔ¤µ¤ì¤¿¤â¤Î¤Ç
-¤¢¤ë¤«¤É¤¦¤«¤ò³ÎÄꤹ¤ë¤¿¤á¤Ë¡¢@code{mysql_field_count()} ¤ò¸Æ¤Ó½Ð¤·¤Æ¤¯¤À
-¤µ¤¤¡£@code{mysql_field_count()} ¤¬ 0 ¤òÊÖ¤¹¾ì¹ç¤Ï¡¢¥¯¥¨¥ê¤Ï¥Ç¡¼¥¿¤òÊÖ¤·¤Þ
-¤»¤ó¡Ê¥¯¥¨¥ê¤¬ @code{INSERT}, @code{UPDATE}, @code{DELETE} Åù¤Ç¤¢¤ë¤³¤È¤ò
-¼¨¤·¤Þ¤¹¡Ë¡£¤Ä¤Þ¤ê¥ì¥³¡¼¥É¤¬Ê֤뤳¤È¤ò´üÂԤǤ­¤Þ¤»¤ó¡£
-@code{mysql_field_count()} ¤¬ 0 ¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¥¯¥¨¥ê¤Ï¥ì¥³¡¼¥É¤òÊÖ¤¹¤Ù¤­¤Ê
-¤Î¤Ë¡¢ÊÖ¤µ¤Ê¤«¤Ã¤¿¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤³¤ì¤Ï¥¯¥¨¥ê¤¬ @code{SELECT} ¤Ç¼ºÇÔ¤·¤¿
-¤È¤¤¤¦¤³¤È¤ò¼¨¤·¤Þ¤¹¡£¤³¤ì¤ò¤É¤Î¤è¤¦¤Ë¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤ë¤«¤ÎÎã¤Ï¡¢
-@code{mysql_field_count()} ¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@code{mysql_store_result()} ¤È @code{mysql_use_result()} ¤Ï¤É¤Á¤é¤â¡¢·ë²Ì
-¥»¥Ã¥È¤òºî¤ë¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¡Ê¥Õ¥£¡¼¥ë¥É¤Î¿ô¡¢¤½¤Î̾Á°¤ä·¿¤Ê¤É¡Ë¤ò
-³ÍÆÀ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£@code{mysql_fetch_field()} ¤ò·«¤êÊÖ¤·¸Æ¤Ó½Ð¤¹¤³¤È
-¤Ç½çÈ֤ˡ¢¤Þ¤¿¤Ï¡¢@code{mysql_fetch_field_direct()} ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¥ì¥³¡¼
-¥ÉÆâ¤Î¥Õ¥£¡¼¥ë¥ÉÈÖ¹æ¤Ç¡¢¥ì¥³¡¼¥ÉÆâ¤Î¥Õ¥£¡¼¥ë¥É¾ðÊó¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤­
-¤Þ¤¹¡£¸½ºß¤Î¥Õ¥£¡¼¥ë¥É¥«¡¼¥½¥ë°ÌÃÖ¤Ï @code{mysql_field_seek()} ¤ò¸Æ¤Ó½Ð¤¹
-¤³¤È¤ÇÊѹ¹¤Ç¤­¤Þ¤¹¡£¥Õ¥£¡¼¥ë¥É¥«¡¼¥½¥ë¤ÎÀßÄê¤Ï¡¢¤½¤Î¸å¤Î
-@code{mysql_fetch_field()} ¸Æ¤Ó½Ð¤·¤Ë±Æ¶Á¤·¤Þ¤¹¡£
-@code{mysql_fetch_fields()} ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¡¢°ìÅ٤ˤ¹¤Ù¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤Î¾ð
-Êó¤òÆÀ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
-
-¥¨¥é¡¼¤Î¸¡½Ð¡¢Êó¹ð¤Ë¤Ä¤¤¤Æ¤Ï¡¢@code{mysql_errno()} ¤È
-@code{mysql_error()} ´Ø¿ô¤ÎÊýË¡¤Ë¤è¤Ã¤Æ¡¢@strong{MySQL} ¤Ï¥¨¥é¡¼¾ðÊó¤Ø¤Î¥¢
-¥¯¥»¥¹¤òÄ󶡤·¤Þ¤¹¡£¤³¤ì¤é¤Ï¡¢ºÇ¸å¤Ë¸Æ¤Ó½Ð¤µ¤ì¤¿À®¸ù¤Þ¤¿¤Ï¼ºÇÔ¤·ÆÀ¤ë´Ø¿ô¤Ë
-¤Ä¤¤¤Æ¤Î¥¨¥é¡¼¥³¡¼¥É¤È¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÊÖ¤·¡¢¥¨¥é¡¼¤¬¤¤¤Ä²¿¤ÇȯÀ¸¤·¤¿¤«¤ò
-³ÎÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@node C API functions, Perl, C API function overview, Clients
-@section C API ´Ø¿ôÀâÌÀ
-
-@menu
-* mysql_affected_rows:: @code{mysql_affected_rows()}
-* mysql_close:: @code{mysql_close()}
-* mysql_connect:: @code{mysql_connect()}
-* mysql_change_user:: @code{mysql_change_user()}
-* mysql_create_db:: @code{mysql_create_db()}
-* mysql_data_seek:: @code{mysql_data_seek()}
-* mysql_debug:: @code{mysql_debug()}
-* mysql_drop_db:: @code{mysql_drop_db()}
-* mysql_dump_debug_info:: @code{mysql_dump_debug_info()}
-* mysql_eof:: @code{mysql_eof()}
-* mysql_errno:: @code{mysql_errno()}
-* mysql_error:: @code{mysql_error()}
-* mysql_escape_string:: @code{mysql_escape_string()}
-* mysql_fetch_field:: @code{mysql_fetch_field()}
-* mysql_fetch_fields:: @code{mysql_fetch_fields()}
-* mysql_fetch_field_direct:: @code{mysql_fetch_field_direct()}
-* mysql_fetch_lengths:: @code{mysql_fetch_lengths()}
-* mysql_fetch_row:: @code{mysql_fetch_row()}
-* mysql_field_count:: @code{mysql_field_count()}
-* mysql_field_seek:: @code{mysql_field_seek()}
-* mysql_field_tell:: @code{mysql_field_tell()}
-* mysql_free_result:: @code{mysql_free_result()}
-* mysql_get_client_info:: @code{mysql_get_client_info()}
-* mysql_get_host_info:: @code{mysql_get_host_info()}
-* mysql_get_proto_info:: @code{mysql_get_proto_info()}
-* mysql_get_server_info:: @code{mysql_get_server_info()}
-* mysql_info:: @code{mysql_info()}
-* mysql_init:: @code{mysql_init()}
-* mysql_insert_id:: @code{mysql_insert_id()}
-* mysql_kill:: @code{mysql_kill()}
-* mysql_list_dbs:: @code{mysql_list_dbs()}
-* mysql_list_fields:: @code{mysql_list_fields()}
-* mysql_list_processes:: @code{mysql_list_processes()}
-* mysql_list_tables:: @code{mysql_list_tables()}
-* mysql_num_fields:: @code{mysql_num_fields()}
-* mysql_num_rows:: @code{mysql_num_rows()}
-* mysql_options:: @code{mysql_options()}
-* mysql_ping:: @code{mysql_ping()}
-* mysql_query:: @code{mysql_query()}
-* mysql_real_connect:: @code{mysql_real_connect()}
-* mysql_real_escape_string:: @code{mysql_real_escape_string()}
-* mysql_real_query:: @code{mysql_real_query()}
-* mysql_reload:: @code{mysql_reload()}
-* mysql_row_seek:: @code{mysql_row_seek()}
-* mysql_row_tell:: @code{mysql_row_tell()}
-* mysql_select_db:: @code{mysql_select_db()}
-* mysql_shutdown:: @code{mysql_shutdown()}
-* mysql_stat:: @code{mysql_stat()}
-* mysql_store_result:: @code{mysql_store_result()}
-* mysql_thread_id:: @code{mysql_thread_id()}
-* mysql_use_result:: @code{mysql_use_result()}
-* NULL mysql_store_result:: Why is it that after @code{mysql_query()} returns success, @code{mysql_store_result()} sometimes returns @code{NULL?}
-* Query results:: What results can I get from a query?
-* Getting unique ID:: How can I get the unique ID for the last inserted row?
-* C API linking problems:: Problems linking with the C API
-* Thread-safe clients:: How to make a thread-safe client
-@end menu
-
-°Ê²¼¤ÎÀâÌÀ¤Ç¤Ï¡¢@code{NULL} ¤Î°ú¿ô¤Þ¤¿¤ÏÌá¤êÃÍ¤Ï C ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç
-¤Î @code{NULL} ¤ò°ÕÌ£¤·¤Þ¤¹¡£@strong{MySQL} @code{NULL} ÃͤǤϤ¢¤ê¤Þ¤»¤ó¡£
-
-´Ø¿ô¤ÏÄ̾ï¥Ý¥¤¥ó¥¿¤«À°¿ô¤ÎÃͤòÊÖ¤·¤Þ¤¹¡£¤·¤«¤·´Ø¿ôÀâÌÀ¤Ëµ­½Ò¤¬¤¢¤ë¾ì¹ç¡¢
-¥Ý¥¤¥ó¥¿¤òÊÖ¤¹´Ø¿ô¤Ï¡¢À®¸ù¤ò¼¨¤¹¤¿¤á¤ËÈó @code{NULL} ÃͤòÊÖ¤·¡¢¥¨¥é¡¼¤ò¼¨¤¹¤¿
-¤á¤Ë @code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£À°¿ô¤òÊÖ¤¹´Ø¿ô¤Ï¡¢À®¸ù¤ò¼¨¤¹¤¿¤á¤Ë 0 ¤òÊÖ¤·¡¢
-¥¨¥é¡¼¤ò¼¨¤¹¤¿¤á¤ËÈó0¤òÊÖ¤·¤Þ¤¹¡£``Èó0'' ¤Ï´Ø¿ôÀâÌÀ¤¬Â¾¤Ë½Ò¤Ù¤Æ¤¤¤Ê¤¤¸Â
-¤ê¡¢¤½¤Î°ÕÌ£¤Ë¤Ê¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤; ´Ø¿ôÀâÌÀ¤¬Â¾¤Ë½Ò¤Ù¤Æ¤¤¤ë¾ì¹ç¡¢
-¤³¤ì¤é¤ËÂФ·¤Æ 0 °Ê³°¤Î¸ÇÍ­¤ÎÃͤò¥Æ¥¹¥È¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤:
-
-@example
-if (result) /* Àµ¤·¤¤ */
- ... error ...
-
-if (result < 0) /* ´Ö°ã¤¤ */
- ... error ...
-
-if (result == -1) /* ´Ö°ã¤¤ */
- ... error ...
-@end example
-
-´Ø¿ô¤¬¥¨¥é¡¼¤òÊÖ¤¹¤È¤­¡¢´Ø¿ôÀâÌÀ¤Î @strong{¥¨¥é¡¼} À᤬µ¯¤êÆÀ¤ë¥¨¥é¡¼¤Î
-¼ïÎà¤ò°ìÍ÷¤·¤Æ¤¤¤Þ¤¹¡£@code{mysql_errno()} ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¤É¤ì¤¬È¯À¸
-¤·¤¿¤«¤ò¸«¤Ä¤±½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥¨¥é¡¼¤òɽ¸½¤¹¤ëʸ»úÎó¤Ï
-@code{mysql_error()} ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤Þ¤¹¡£
-
-@findex @code{mysql_affected_rows()}
-@node mysql_affected_rows, mysql_close, C API functions, C API functions
-@subsection @code{mysql_affected_rows()}
-
-@code{my_ulonglong mysql_affected_rows(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-ºÇ¸å¤Î @code{UPDATE}, @code{DELETE}, @code{INSERT} ¥¯¥¨¥ê¤Ë¤è¤Ã¤Æ±Æ¶Á¤µ
-¤ì¤¿(Êѹ¹¤µ¤ì¤¿)¹Ô¿ô¤òÊÖ¤·¤Þ¤¹¡£@code{UPDATE}, @code{DELETE}, @code{INSERT} ¥¹¥Æ¡¼¥È
-¥á¥ó¥È¤Ç¤Î @code{mysql_query()} ľ¸å¤Ë¸Æ¤Ó½Ð¤·¤Þ¤¹¡£@code{SELECT} ¥¹¥Æ¡¼¥È
-¥á¥ó¥È¤Ç¤Ï¡¢¤³¤ì¤Ï @code{mysql_num_rows()} ¤Ë»÷¤¿Æ°¤­¤ò¤·¤Þ¤¹¡£
-
-@code{mysql_affected_rows()} ¤Ï¸½ºß¥Þ¥¯¥í¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-0 ¤è¤êÂ礭¤¤À°¿ô¤Ï±Æ¶Á¤µ¤ì¤¿¹Ô¿ô¤Þ¤¿¤Ï¼è¤ê½Ð¤µ¤ì¤¿¹Ô¿ô¤ò¼¨¤·¤Þ¤¹¡£¥¯¥¨¥ê
-¤Î @code{WHERE} Àá¤ËŬ¹ç¤·¤¿¥ì¥³¡¼¥É¤¬¤Ê¤¤¾ì¹ç¤Þ¤¿¤Ï¥¯¥¨¥ê¤¬¤Þ¤À¼Â¹Ô¤µ¤ì
-¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï 0 ¤Ç¤¹¡£¥¯¥¨¥ê¤¬¥¨¥é¡¼¤òÊÖ¤·¤¿¤«¡¢@code{SELECT} ¥¯¥¨¥ê¤Ë
-¤Ä¤¤¤Æ @code{mysql_store_result()} ¤¬¸Æ¤Ð¤ì¤ëÁ°¤Ë
-@code{mysql_affected_rows()} ¤¬¸Æ¤Ð¤ì¤¿¾ì¹ç¤Ï -1 ¤Ç¤¹¡£
-
-@subsubheading ¥¨¥é¡¼
-
-̵¤·¡£
-
-@subsubheading Îã
-
-@example
-mysql_query(&mysql,"UPDATE products SET cost=cost*1.25 WHERE group=10");
-printf("%d products updated",mysql_affected_rows(&mysql));
-@end example
-
-@findex @code{mysql_close()}
-@node mysql_close, mysql_connect, mysql_affected_rows, C API functions
-@subsection @code{mysql_close()}
-
-@code{void mysql_close(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-Á°¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤¿Àܳ¤ò¥¯¥í¡¼¥º¤·¤Þ¤¹¡£¥Ï¥ó¥É¥ë¤¬ @code{mysql_init()} ¤Þ
-¤¿¤Ï @code{mysql_connect()} ¤Ç¼«Æ°Åª¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¾ì¹ç¡¢
-@code{mysql_close()} ¤Ï @code{mysql} ¤Ç¼¨¤µ¤ì¤ëÀܳ¥Ï¥ó¥É¥ë¤Î²òÊü¤â¹Ô¤Ê¤¤
-¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-̵¤·¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@findex @code{mysql_connect()}
-@node mysql_connect, mysql_change_user, mysql_close, C API functions
-@subsection @code{mysql_connect()}
-
-@code{MYSQL *mysql_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd)}
-
-@subsubheading ÀâÌÀ
-
-¤³¤Î´Ø¿ô¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó¡£Âå¤ï¤ê¤Ë @code{mysql_real_connect()} ¤Î»ÈÍѤò
-¤ª´«¤á¤·¤Þ¤¹¡£
-
-@code{mysql_connect()} ¤Ï @code{host} ¾å¤ÇÆ°ºî¤·¤Æ¤¤¤ë @strong{MySQL} ¥Ç¡¼
-¥¿¥Ù¡¼¥¹¥¨¥ó¥¸¥ó¤Ø¤ÎÀܳ¤Î³ÎΩ¤ò»î¤ß¤Þ¤¹¡£@code{mysql_get_client_info()}
-¤ò½ü¤¯Â¾¤Î¤¹¤Ù¤Æ¤Î API ´Ø¿ô¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë@code{mysql_connect()} ¤¬À®¸ù½ªÎ»
-¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-¥Ñ¥é¥á¡¼¥¿¤Î°ÕÌ£¤Ï @code{mysql_real_connect()} ¤ÎÂбþ¤¹¤ë¥Ñ¥é¥á¡¼¥¿¤ÈƱ¤¸¤Ç¤¹¤¬¡¢
-Àܳ¥Ñ¥é¥á¡¼¥¿¤Ï @code{NULL} ¤Ë¤Ç¤­¤ë¤³¤È¤¬°Û¤Ê¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç C API ¤ÏÀÜ
-³¹½Â¤ÂΤ˼«Æ°Åª¤Ë¥á¥â¥ê¤ò³ä¤êÅö¤Æ¡¢@code{mysql_close()} ¸Æ¤Ó½Ð¤·»þ¤Ë¤½¤ì
-¤ò²òÊü¤·¤Þ¤¹¡£¤³¤Î¥¢¥×¥í¡¼¥Á¤ÎÉÔÍø¤ÊÅÀ¤ÏÀܳ¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¥¨¥é¡¼¥á¥Ã¥»¡¼
-¥¸¤ò¼è¤ê½Ð¤¹¤³¤È¤¬¤Ç¤­¤Ê¤¤¤³¤È¤Ç¤¹¡£¡Ê@code{mysql_errno()} ¤Þ¤¿¤Ï
-@code{mysql_error()} ¤«¤é¥¨¥é¡¼¾ðÊó¤òÆÀ¤ë¤Ë¤Ï¡¢Àµ¤·¤¤ @code{MYSQL} ¥Ý¥¤¥ó
-¥¿¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¡Ë
-
-@subsubheading Ìá¤êÃÍ
-
-@code{mysql_real_connect()} ¤ÈƱ¤¸
-
-@subsubheading ¥¨¥é¡¼
-
-@code{mysql_real_connect()} ¤ÈƱ¤¸
-
-@findex @code{mysql_change_user()}
-@node mysql_change_user, mysql_create_db, mysql_connect, C API functions
-@subsection @code{mysql_change_user()}
-
-@code{my_bool mysql_change_user(MYSQL *mysql, const char *user, const
-char *password, const char *db)}
-
-@subsubheading ÀâÌÀ
-
-¥æ¡¼¥¶¤òÊѹ¹¤·¡¢@code{mysql} ¤Ç¼¨¤µ¤ì¤¿Àܳ¾å¤Ç¡¢@code{db} ¤Ç¼¨¤µ¤ì¤¿¥Ç¡¼
-¥¿¥Ù¡¼¥¹¤¬¥Ç¥Õ¥©¥ë¥È¡Ê¸½ºß¤Î¡Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤Î¸å¤Î¥¯¥¨¥ê¤Ç¤Ï¡¢
-ÌÀ¼¨Åª¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î»ØÄê¤ò´Þ¤ó¤Ç¤¤¤Ê¤¤¥Æ¡¼¥Ö¥ë»²¾È¤Ë¤Ä¤¤¤Æ¡¢¤³¤Î¥Ç¡¼¥¿¥Ù¡¼
-¥¹¤¬¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-¤³¤Î´Ø¿ô¤Ï @strong{MySQL} 3.23.3 ¤ÇƳÆþ¤µ¤ì¤Þ¤·¤¿¡£
-
-@code{mysql_change_user()} ¤ÏÀܳ¤µ¤ì¤¿¥æ¡¼¥¶¤¬Ç§¾Ú¤µ¤ì¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï¥Ç¡¼
-¥¿¥Ù¡¼¥¹¤ò»ÈÍѤ¹¤ë¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¼ºÇÔ¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥æ¡¼¥¶¤È¥Ç¡¼
-¥¿¥Ù¡¼¥¹¤ÏÊѹ¹¤µ¤ì¤Þ¤»¤ó¡£
-
-¥Ç¥Õ¥©¥ë¥È¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»ý¤Á¤¿¤¯¤Ê¤¤¾ì¹ç¡¢@code{db} ¥Ñ¥é¥á¡¼¥¿¤ò
-@code{NULL} ¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-À®¸ù»þ 0¡£¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤ÏÈó0¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@code{mysql_real_connect()} ¤«¤éÆÀ¤é¤ì¤ë¤â¤Î¤ÈƱ¤¸¤Ç¤¹¡£
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@item ER_UNKNOWN_COM_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤Ï¤³¤Î¥³¥Þ¥ó¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤Ê¤¤¡Ê¤ª¤½¤é¤¯¸Å¤¤¥µ¡¼¥Ð¡Ë¡£
-@item ER_ACCESS_DENIED_ERROR
-¥æ¡¼¥¶¤Þ¤¿¤Ï¥Ñ¥¹¥ï¡¼¥É¤¬´Ö°ã¤Ã¤Æ¤¤¤ë¡£
-@item ER_BAD_DB_ERROR
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬Â¸ºß¤·¤Ê¤¤¡£
-@item ER_DBACCESS_DENIED_ERROR
-¥æ¡¼¥¶¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡£
-@item ER_WRONG_DB_NAME
-¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¤¬Ä¹²á¤®¤ë¡£
-@end table
-
-@subsubheading Îã
-
-@example
-if (mysql_change_user(&mysql, "user", "password", "new_database"))
-@{
- fprintf(stderr, "Failed to change user. Error: %s\n",
- mysql_error(&mysql));
-@}
-@end example
-
-@findex @code{mysql_create_db()}
-@node mysql_create_db, mysql_data_seek, mysql_change_user, C API functions
-@subsection @code{mysql_create_db()}
-
-@code{int mysql_create_db(MYSQL *mysql, const char *db)}
-
-@subsubheading ÀâÌÀ
-@code{db} °ú¿ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤·¤Þ¤¹¡£
-
-¤³¤Î´Ø¿ô¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó¡£Âå¤ï¤ê¤Ë @code{mysql_query()} ¤ò»È¤Ã¤Æ¡¢SQL
-@code{CREATE DATABASE} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤òȯ¹Ô¤¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºîÀ®¤¬À®¸ù¤·¤¿¾ì¹ç¤Ï0¡£¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤ÏÈó0¡£
-
-@subsubheading ¥¨¥é¡¼
-@table @code
-
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@subsubheading Îã
-
-@example
-if(mysql_create_db(&mysql, "my_database"))
-@{
- fprintf(stderr, "Failed to create new database. Error: %s\n",
- mysql_error(&mysql));
-@}
-@end example
-
-@findex @code{mysql_data_seek()}
-@node mysql_data_seek, mysql_debug, mysql_create_db, C API functions
-@subsection @code{mysql_data_seek()}
-
-@code{void mysql_data_seek(MYSQL_RES *result, unsigned long long offset)}
-
-@subsubheading ÀâÌÀ
-¥¯¥¨¥ê·ë²Ì¥»¥Ã¥ÈÃæ¤ÎǤ°Õ¤Î¥ì¥³¡¼¥É¤Ë¥·¡¼¥¯¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢·ë²Ì¥»¥Ã¥È¹½Â¤ÂÎ
-¤¬¥¯¥¨¥ê¤Î¤¹¤Ù¤Æ¤Î·ë²Ì¤ò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢
-@code{mysql_data_seek()} ¤Ï @code{mysql_store_result()} ¤È¶¦¤Ë¤À¤±»ÈÍѤµ¤ì¡¢
-@code{mysql_use_result()} ¤È¶¦¤Ë¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£
-
-¥ª¥Õ¥»¥Ã¥È¤ÎÃÍ¤Ï @code{0} ¤«¤é @code{mysql_num_rows(result)-1} ¤Ç¤Ê¤¯¤Æ¤Ï
-¤Ê¤ê¤Þ¤»¤ó¡£
-
-@subsubheading Ìá¤êÃÍ
-
-̵¤·¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@findex @code{mysql_debug()}
-@node mysql_debug, mysql_drop_db, mysql_data_seek, C API functions
-@subsection @code{mysql_debug()}
-
-@code{void mysql_debug(char *debug)}
-
-@subsubheading ÀâÌÀ
-Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤Ç @code{DBUG_PUSH} ¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£@code{mysql_debug()}
-¤Ï Fred Fish ¤¬ºîÀ®¤·¤¿ debug library ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î´Ø¿ô¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¥Ð¥Ã
-¥°¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¥é¥¤¥Ö¥é¥ê¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפ¬¤¢¤ê
-¤Þ¤¹¡£
-@xref{Debugging server}. @xref{Debugging client}.
-
-@subsubheading Ìá¤êÃÍ
-
-̵¤·¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@subsubheading Îã
-
-¼¡¤Ë¼¨¤·¤¿¸Æ¤Ó½Ð¤·¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¥é¥¤¥Ö¥é¥ê¤¬¡¢¥¯¥é¥¤¥¢¥ó¥È¥Þ¥·¥ó¾å¤Î
-@file{/tmp/client.trace} ¤Ë¥È¥ì¡¼¥¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹:
-
-@example
-mysql_debug("d:t:O,/tmp/client.trace");
-@end example
-
-@findex @code{mysql_drop_db()}
-@node mysql_drop_db, mysql_dump_debug_info, mysql_debug, C API functions
-@subsection @code{mysql_drop_db()}
-
-@code{int mysql_drop_db(MYSQL *mysql, const char *db)}
-
-@subsubheading ÀâÌÀ
-@code{db} °ú¿ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÇË´þ¤·¤Þ¤¹¡£
-
-¤³¤Î´Ø¿ô¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó¡£Âå¤ï¤ê¤Ë @code{mysql_query()} ¤ò»È¤Ã¤Æ¡¢SQL
-@code{DROP DATABASE} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤òȯ¹Ô¤¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÇË´þ¤¬À®¸ù¤·¤¿¾ì¹ç¤Ï0¡£¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤ÏÈó0¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@subsubheading Îã
-
-@example
-if(mysql_drop_db(&mysql, "my_database"))
- fprintf(stderr, "Failed to drop the database: Error: %s\n",
- mysql_error(&mysql));
-@end example
-
-@findex @code{mysql_dump_debug_info()}
-@node mysql_dump_debug_info, mysql_eof, mysql_drop_db, C API functions
-@subsection @code{mysql_dump_debug_info()}
-
-@code{int mysql_dump_debug_info(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-¤¤¤¯¤Ä¤«¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤ò¥í¥°¤Ë¥À¥ó¥×¤¹¤ë¤è¤¦¤Ë¥µ¡¼¥Ð¤Ë»Ø¼¨¤·¤Þ¤¹¡£¤³¤ÎÆ°
-ºî¤ò¤¹¤ë¤¿¤á¤Ë¤Ï¡¢Àܳ¤µ¤ì¤¿¥æ¡¼¥¶¤¬ @strong{process} ¸¢¤ò»ý¤Ã¤Æ¤¤¤Ê¤±
-¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-
-@subsubheading Ìá¤êÃÍ
-
-¥³¥Þ¥ó¥É¤¬À®¸ù¤·¤¿¾ì¹ç¤Ï0¡£¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤ÏÈó0¡£
-
-@subsubheading ¥¨¥é¡¼
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@findex @code{mysql_eof()}
-@node mysql_eof, mysql_errno, mysql_dump_debug_info, C API functions
-@subsection @code{mysql_eof()}
-
-@code{my_bool mysql_eof(MYSQL_RES *result)}
-
-@subsubheading ÀâÌÀ
-
-¤³¤Î´Ø¿ô¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó¡£@code{mysql_errno()} ¤« @code{mysql_error()} ¤¬
-Âå¤ï¤ê¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-
-@code{mysql_eof()} ¤Ï·ë²Ì¥»¥Ã¥È¤ÎºÇ¸å¤Î¥ì¥³¡¼¥É¤¬Æɤޤ줿¤«¤É¤¦¤«¤òÄ´¤Ù¤Þ
-¤¹¡£
-
-@code{mysql_store_result()} ¤Î¸Æ¤Ó½Ð¤·¤¬À®¸ù¤·¤Æ¡¢·ë²Ì¥»¥Ã¥È¤òÆþ¼ê¤·¤¿¾ì¹ç¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Ï°ì¤Ä¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ç¤¹¤Ù¤Æ¤Î¥»¥Ã¥È¤ò¼õ¤±¼è¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢
-@code{mysql_fetch_row()} ¤«¤éÊÖ¤µ¤ì¤ë @code{NULL} ¤Ï¡¢¾ï¤Ë·ë²Ì¥»¥Ã¥È¤Î½ªÃ¼
-¤Ë㤷¤¿¤³¤È¤ò°ÕÌ£¤·¡¢@code{mysql_eof()} ¤ò¸Æ¤ÖɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-
-°ìÊý¡¢·ë²Ì¥»¥Ã¥È¼è¤ê½Ð¤·¤Î½é´ü²½¤Î¤¿¤á¤Ë @code{mysql_use_result()} ¤ò»ÈÍÑ
-¤¹¤ë¾ì¹ç¡¢¥»¥Ã¥È¤Î¥ì¥³¡¼¥É¤Ï @code{mysql_fetch_row()} ¤ò·«¤êÊÖ¤·¸Æ¤Ö¤³¤È¤Ë
-¤è¤ê¡¢¤Ò¤È¤Ä¤º¤Ä¥µ¡¼¥Ð¤«¤é³ÍÆÀ¤µ¤ì¤Þ¤¹¡£¤³¤Î½èÍýÃæ¤ËÀܳ¾å¤Ç¥¨¥é¡¼¤¬È¯À¸¤·
-ÆÀ¤ë¤¿¤á¡¢@code{mysql_fetch_row()} ¤«¤é¤ÎÌá¤êÃÍ @code{NULL} ¤Ï¡¢Ä̾ïɬ¤º¤·
-¤â·ë²Ì¥»¥Ã¥È¤Î½ªÃ¼¤Ë㤷¤¿¤³¤È¤ò°ÕÌ£¤·¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç
-@code{mysql_eof()} ¤ò»ÈÍѤ·¤Æ¡¢²¿¤¬µ¯¤³¤Ã¤¿¤«¤ò¸¡½Ð¤Ç¤­¤Þ¤¹¡£·ë²Ì¥»¥Ã¥È¤Î
-½ªÃ¼¤Ë㤷¤¿¾ì¹ç¤Ï @code{mysql_eof()} ¤ÏÈó0ÃͤòÊÖ¤·¡¢¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç
-¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡£
-
-Îò»ËŪ¤Ë @code{mysql_eof()} ¤Ïɸ½à @strong{MySQL} ¥¨¥é¡¼´Ø¿ô
-@code{mysql_errno()} ¤È @code{mysql_error()} °ÊÁ°¤ËÁ̤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¥¨¥é¡¼
-´Ø¿ô¤ÏƱ¤¸¾ðÊó¤òÄ󶡤¹¤ë¤Î¤Ç¡¢¤³¤ì¤é¤Î»ÈÍѤ¬ @code{mysql_eof()} ¤è¤ê¤â¹¥¤Þ
-¤ì¤Þ¤¹¡£@code{mysql_eof()} ¤Ï¸½ºß¿ä¾©¤µ¤ì¤Þ¤»¤ó¡£¡Ê¼ÂºÝ¡¢¤³¤ì¤é¤Ï¿¤¯¤Î¾ð
-Êó¤òÄ󶡤·¤Þ¤¹¡£¥¨¥é¡¼´Ø¿ô¤Ï¥¨¥é¡¼¤¬È¯À¸¤·¤¿»þ¤Î¥¨¥é¡¼¤ÎÍýͳ¤ò¼¨¤·¤Þ¤¹¤¬¡¢
-@code{mysql_eof()} ¤Ï¿¿µ¶ÃͤÀ¤±¤òÊÖ¤·¤Þ¤¹¡£¡Ë
-
-@subsubheading Ìá¤êÃÍ
-
-¥¨¥é¡¼¤¬È¯À¸¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï0¡£·ë²Ì¥»¥Ã¥È¤Î½ªÃ¼¤Ë㤷¤¿¾ì¹ç¤ÏÈó0¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@subsubheading Îã
-
-¼¡¤ÎÎã¤Ï @code{mysql_eof} ¤Î»ÈÍÑÊýË¡¤ò¼¨¤·¤Þ¤¹:
-
-@example
-mysql_query(&mysql,"SELECT * FROM some_table");
-result = mysql_use_result(&mysql);
-while((row = mysql_fetch_row(result)))
-@{
- // do something with data
-@}
-if(!mysql_eof(result)) // mysql_fetch_row() failed due to an error
-@{
- fprintf(stderr, "Error: %s\n", mysql_error(&mysql));
-@}
-@end example
-
-¤·¤«¤·¡¢É¸½à @strong{MySQL} ¥¨¥é¡¼´Ø¿ô¤ÇƱ¤¸¸ú²Ì¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-
-@example
-mysql_query(&mysql,"SELECT * FROM some_table");
-result = mysql_use_result(&mysql);
-while((row = mysql_fetch_row(result)))
-@{
- // do something with data
-@}
-if(mysql_errno(&mysql)) // mysql_fetch_row() failed due to an error
-@{
- fprintf(stderr, "Error: %s\n", mysql_error(&mysql));
-@}
-@end example
-
-@findex @code{mysql_errno()}
-@node mysql_errno, mysql_error, mysql_eof, C API functions
-@subsection @code{mysql_errno()}
-
-@code{unsigned int mysql_errno(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-@code{mysql} ¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿Àܳ¾å¤Ç¡¢ºÇ¸å¤Ë¸Æ¤Ó½Ð¤µ¤ì¤¿ API ´Ø¿ô¤ÎÀ®ÈݤΥ¨¥é¡¼¥³¡¼
-¥É¤òÊÖ¤·¤Þ¤¹¡£Ìá¤êÃÍ0¤Ï¥¨¥é¡¼¤¬È¯À¸¤·¤Ê¤«¤Ã¤¿¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¥¯¥é¥¤¥¢
-¥ó¥È¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸ÈÖ¹æ¤Ï @file{errmsg.h} ¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥µ¡¼¥Ð
-¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸ÈÖ¹æ¤Ï @file{mysqld_error.h} ¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ:
-
-¥¨¥é¡¼¥³¡¼¥ÉÃÍ¡£¥¨¥é¡¼¤¬È¯À¸¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï0¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@findex @code{mysql_error()}
-@node mysql_error, mysql_escape_string, mysql_errno, C API functions
-@subsection @code{mysql_error()}
-
-@code{char *mysql_error(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-@code{mysql} ¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿Àܳ¾å¤Ç¡¢ @code{mysql_error()} ¤Ï
-ºÇ¸å¤Ë¸Æ¤Ó½Ð¤µ¤ì¤¿ API ´Ø¿ô¤ÎÀ®Èݤò¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤È¤·¤ÆÊÖ¤·¤Þ¤¹¡£
-¥¨¥é¡¼È¯À¸¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¶õʸ»úÎó (@code{""}) ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï¼¡¤Î£²¤Ä¤Î¥Æ¥¹¥È¤¬Æ±¤¸¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹:
-
-@example
-if(mysql_errno(&mysql))
-@{
- // an error occurred
-@}
-
-if(mysql_error(&mysql)[0] != '\0')
-@{
- // an error occurred
-@}
-@end example
-
-¥¯¥é¥¤¥¢¥ó¥È¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Î¸À¸ì¤Ï @strong{MySQL} ¥¯¥é
-¥¤¥¢¥ó¥È¥é¥¤¥Ö¥é¥ê¤ÎºÆ¥³¥ó¥Ñ¥¤¥ë¤ÇÊѹ¹¤Ç¤­¤Þ¤¹¡£¸½ºß¤Ï¤¤¤¯¤Ä¤«¤Î¸À¸ì¤Ç½ñ¤«¤ì¤¿
-¥¯¥é¥¤¥¢¥ó¥È¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÁªÂò¤Ç¤­¤Þ¤¹¡£
-@xref{Languages}.
-
-@subsubheading Ìá¤êÃÍ
-
-¥¨¥é¡¼¤òɽ¤ï¤¹Ê¸»úÎó¡£
-¥¨¥é¡¼¤¬È¯À¸¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¶õʸ»úÎó¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@findex @code{mysql_escape_string()}
-@node mysql_escape_string, mysql_fetch_field, mysql_error, C API functions
-@subsection @code{mysql_escape_string()}
-
-You should use @code{mysql_real_escape_string()} instead!
-
-This is identical to @code{mysql_real_escape_string()} except that it takes
-the connection as the first argument. @code{mysql_real_escape_string()}
-will escape the string according to the current character set while @code{mysql_escape_string()}
-does not respect the current charset setting.
-
-@findex @code{mysql_fetch_field()}
-@node mysql_fetch_field, mysql_fetch_fields, mysql_escape_string, C API functions
-@subsection @code{mysql_fetch_field()}
-
-@code{MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result)}
-
-@subsubheading ÀâÌÀ
-
-·ë²Ì¥»¥Ã¥È¤Î°ì¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤ÎÄêµÁ¤ò @code{MYSQL_FIELD} ¹½Â¤ÂΤȤ·¤ÆÊÖ¤·¤Þ
-¤¹¡£·ë²Ì¥»¥Ã¥ÈÆâ¤ÎÁ´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤Æ¾ðÊó¤ò¼è¤ê½Ð¤¹¤Ë¤Ï¡¢¤³¤Î´Ø¿ô¤ò·«
-¤êÊÖ¤·¸Æ¤ó¤Ç¤¯¤À¤µ¤¤¡£@code{mysql_fetch_field()} ¤Ï¥Õ¥£¡¼¥ë¥É¤¬»Ä¤Ã¤Æ¤¤¤Ê
-¤¤¤È @code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£
-
-@code{mysql_fetch_field()} ¤Ï¡¢¿·¤·¤¤ @code{SELECT} ¥¯¥¨¥ê¤ò¼Â¹Ô¤¹¤ë¤¿¤Ó¤Ë¡¢
-ºÇ½é¤Î¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÊÖ¤¹¤è¤¦¤Ë¥ê¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£
-@code{mysql_fetch_field()} ¤ÇÊÖ¤µ¤ì¤ë¥Õ¥£¡¼¥ë¥É¤Ï
-@code{mysql_field_seek()} ¤Î¸Æ¤Ó½Ð¤·¤Ë¤â±Æ¶Á¤ò¤¦¤±¤Þ¤¹¡£
-
-¥Æ¡¼¥Ö¥ë¤ò @code{SELECT} ¤¹¤ë¤¿¤á¤Ë @code{mysql_query()} ¤ò¸Æ¤Ó¡¢¤·¤«¤·¤Þ
-¤À @code{mysql_store_result()} ¤ò¸Æ¤ó¤Ç¤¤¤Ê¤¤¾ì¹ç¡¢
-@code{mysql_fetch_field()} ¤ò @code{BLOB} ¥Õ¥£¡¼¥ë¥É¤ÎŤµ¤ÎÌ䤤¹ç¤ï¤»¤Ë»È
-ÍѤ¹¤ë¤È¡¢@strong{MySQL} ¤Ï¥Ç¥Õ¥©¥ë¥È¤Î blob Ĺ (8K bytes) ¤òÊÖ¤·¤Þ¤¹¡£
-(8K ¥µ¥¤¥º¤Ë¤Ê¤ë¤Î¤Ï¡¢@strong{MySQL} ¤Ï @code{BLOB} ¤ÎºÇÂçŤòÃΤé¤Ê¤¤¤«¤é
-¤Ç¤¹¡£¤³¤ì¤Ï¤¤¤Ä¤«¥³¥ó¥Õ¥£¥°²Äǽ¤Ë¤Ê¤ë¤Ù¤­¤Ç¤¹¡£) °ìÅÙ·ë²Ì¥»¥Ã¥È¤ò¼è¤ê½Ð¤»
-¤Ð¡¢@code{field->max_length} ¤Ï»ØÄꤷ¤¿¥¯¥¨¥êÆâ¤Ç¤Î¤³¤Î¥Õ¥£¡¼¥ë¥É¤ÎºÇÂçÃÍ
-¤ÎŤµ¤ò´Þ¤ß¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-¸½ºß¤Î¥Õ¥£¡¼¥ë¥É¤Î @code{MYSQL_FIELD} ¹½Â¤ÂΡ£¥Õ¥£¡¼¥ë¥É¤¬»Ä¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï
-@code{NULL}¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@subsubheading Îã
-
-@example
-MYSQL_FIELD *field;
-
-while((field = mysql_fetch_field(result)))
-@{
- printf("field name %s\n", field->name);
-@}
-@end example
-
-@findex @code{mysql_fetch_fields()}
-@node mysql_fetch_fields, mysql_fetch_field_direct, mysql_fetch_field, C API functions
-@subsection @code{mysql_fetch_fields()}
-
-@code{MYSQL_FIELD *mysql_fetch_fields(MYSQL_RES *result)}
-
-@subsubheading ÀâÌÀ
-
-·ë²Ì¥»¥Ã¥È¤Î¤¹¤Ù¤Æ¤Î @code{MYSQL_FIELD} ¹½Â¤ÂΤÎÇÛÎó¤òÊÖ¤·¤Þ¤¹¡£³Æ¹½Â¤ÂΤÏ
-·ë²Ì¥»¥Ã¥È¤Î°ì¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤Î¥Õ¥£¡¼¥ë¥ÉÄêµÁ¤òÄ󶡤·¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-·ë²Ì¥»¥Ã¥È¤ÎÁ´¤Æ¤Î¹àÌܤΠ@code{MYSQL_FIELD} ¹½Â¤ÂΤÎÇÛÎó¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@subsubheading Îã
-
-@example
-unsigned int num_fields;
-unsigned int i;
-MYSQL_FIELD *fields;
-
-num_fields = mysql_num_fields(result);
-fields = mysql_fetch_fields(result);
-for(i = 0; i < num_fields; i++)
-@{
- printf("Field %u is %s\n", i, fields[i].name);
-@}
-@end example
-
-@findex @code{mysql_fetch_field_direct()}
-@node mysql_fetch_field_direct, mysql_fetch_lengths, mysql_fetch_fields, C API functions
-@subsection @code{mysql_fetch_field_direct()}
-
-@code{MYSQL_FIELD *mysql_fetch_field_direct(MYSQL_RES *result, unsigned int fieldnr)}
-
-@subsubheading ÀâÌÀ
-
-·ë²Ì¥»¥Ã¥ÈÃæ¤Î¥Õ¥£¡¼¥ë¥É¤ò¼¨¤¹¥Õ¥£¡¼¥ë¥ÉÈÖ¹æ @code{fieldnr} ¤¬Í¿¤¨¤é¤ì¡¢¤½
-¤Î¥Õ¥£¡¼¥ë¥É¤Î¥Õ¥£¡¼¥ë¥ÉÄêµÁ¤ò @code{MYSQL_FIELD} ¹½Â¤ÂΤȤ·¤ÆÊÖ¤·¤Þ¤¹¡£¤³
-¤Î´Ø¿ô¤ÏǤ°Õ¤Î¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤Æ¤ÎÄêµÁ¤ò¼è¤ê½Ð¤¹¤³¤È¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-@code{fieldnr} ¤ÎÃÍ¤Ï 0 ¤«¤é @code{mysql_num_fields(result)-1} ¤ÎÈϰϤˤ¹
-¤Ù¤­¤Ç¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-»ØÄꤵ¤ì¤¿¥Õ¥£¡¼¥ë¥É¤Î @code{MYSQL_FIELD} ¹½Â¤ÂΡ£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@subsubheading Îã
-
-@example
-unsigned int num_fields;
-unsigned int i;
-MYSQL_FIELD *field;
-
-num_fields = mysql_num_fields(result);
-for(i = 0; i < num_fields; i++)
-@{
- field = mysql_fetch_field_direct(result, i);
- printf("Field %u is %s\n", i, field->name);
-@}
-@end example
-
-@findex @code{mysql_fetch_lengths()}
-@node mysql_fetch_lengths, mysql_fetch_row, mysql_fetch_field_direct, C API functions
-@subsection @code{mysql_fetch_lengths()}
-
-@code{unsigned long *mysql_fetch_lengths(MYSQL_RES *result)}
-
-@subsubheading ÀâÌÀ
-
-·ë²Ì¥»¥Ã¥ÈÃæ¤Î¸½ºß¤Î¥ì¥³¡¼¥É¤Î¥Õ¥£¡¼¥ë¥É¤ÎŤµ¤òÊÖ¤·¤Þ¤¹¡£¥Õ¥£¡¼¥ë¥É¤ÎÃͤò¥³¥Ô¡¼¤¹¤ë¾ì¹ç¡¢
-¤³¤ÎŤµ¾ðÊó¤ÏºÇŬ²½¤Ë¤âÍ­ÍѤǤ¹¡£@code{strlen()} ¤Î¸Æ¤Ó½Ð¤·¤ò²óÈò¤Ç¤­¤ë
-¤¿¤á¤Ç¤¹¡£
-¤µ¤é¤Ë¡¢·ë²Ì¥»¥Ã¥È¤¬¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤ò»ý¤Ä¾ì¹ç¤Ï¡¢¥Ç¡¼¥¿¤Î¥µ¥¤¥º¤òÆÃÄꤹ¤ë¤¿¤á¤Ë¤³¤Î´Ø¿ô¤ò@emph{»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó}¡£
-¤Ê¤¼¤Ê¤é @code{strlen()} ¤Ï NULL ʸ»ú¤ò´Þ¤à¥Õ¥£¡¼¥ë¥É¤Ë¤Ä¤¤¤Æ¤Î·ë²Ì¤òÀµ¤·¤¯ÊÖ¤µ¤Ê¤¤¤«¤é¤Ç¤¹¡£
-
-¶õ¥Õ¥£¡¼¥ë¥É¤ÎŤµ¤È @code{NULL} Ãͤò´Þ¤à¥Õ¥£¡¼¥ë¥É¤ÎŤµ¤Ï 0 ¤Ç¤¹¡£¤³¤Î£²
-¤Ä¤Î¥±¡¼¥¹¤ò¶èÊ̤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢@code{mysql_fetch_row()} ¤ÎÀâÌÀ¤ò»²¾È
-¤·¤Æ²¼¤µ¤¤¡£
-
-@subsubheading Ìá¤êÃÍ
-
-³Æ¥Õ¥£¡¼¥ë¥É¤Î¥µ¥¤¥º (½ªÃ¼ NUL ʸ»ú¤Ï´Þ¤ß¤Þ¤»¤ó)¤òÄ󶡤¹¤ë unsigned long
-À°¿ô¤ÎÇÛÎó¡£
-¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï @code{NULL}¡£
-
-@subsubheading ¥¨¥é¡¼
-@code{mysql_fetch_lengths()} ¤Ï·ë²Ì¥»¥Ã¥È¤Î¸½ºß¤Î¥ì¥³¡¼¥É¤Ë¤Ä¤¤¤Æ¤À¤±Í­¸ú
-¤Ç¤¹¡£@code{mysql_fetch_row()} ¤ò¸Æ¤Ó½Ð¤¹Á°¡¢¤Þ¤¿¤Ï·ë²Ì¤ÎÁ´¤Æ¤Î¥ì¥³¡¼¥É¤ò
-¼è¤ê½Ð¤·¤¿¸å¤Ë¤³¤ì¤ò¸Æ¤ó¤À¾ì¹ç¡¢@code{NULL} ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
-
-@subsubheading Îã
-
-@example
-MYSQL_ROW row;
-unsigned long *lengths;
-unsigned int num_fields;
-unsigned int i;
-
-row = mysql_fetch_row(result);
-if (row)
-@{
- num_fields = mysql_num_fields(result);
- lengths = mysql_fetch_lengths(result);
- for(i = 0; i < num_fields; i++)
- @{
- printf("Column %u is %lu bytes in length.\n", i, lengths[i]);
- @}
-@}
-@end example
-
-@findex @code{mysql_fetch_row()}
-@node mysql_fetch_row, mysql_field_count, mysql_fetch_lengths, C API functions
-@subsection @code{mysql_fetch_row()}
-
-@code{MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)}
-
-@subsubheading ÀâÌÀ
-
-·ë²Ì¥»¥Ã¥È¤Î¼¡¤Î¥ì¥³¡¼¥É¤ò¼è¤ê½Ð¤·¤Þ¤¹¡£@code{mysql_store_result()} ¤Î¸å¤Ë»ÈÍѤ¹¤ë¤È¡¢
-¤³¤ì°Ê¾å¼è¤ê½Ð¤¹¥ì¥³¡¼¥É¤¬¤Ê¤¤»þ¤Ï¡¢@code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£
-@code{mysql_use_result()} ¤Î¸å¤Ë»ÈÍѤ¹¤ë¤Ê¤é¡¢
-¤³¤ì°Ê¾å¼è¤ê½Ð¤¹¥ì¥³¡¼¥É¤¬¤Ê¤¤¾ì¹ç¤ä¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë @code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£
-
-¥ì¥³¡¼¥ÉÆâ¤ÎÃͤοô¤Ï @code{mysql_num_fields(result)} ¤Ë¤è¤Ã¤ÆÍ¿¤¨¤é¤ì¤Þ¤¹¡£
-@code{row} ¤¬ @code{mysql_fetch_row()} ¤Î¸Æ¤Ó½Ð¤·¤«¤é¤ÎÌá¤êÃͤòÊÝ»ý¤¹¤ë¾ì
-¹ç¡¢ÃͤؤΥݥ¤¥ó¥¿¤Ï @code{row[0]} ¤«¤é
-@code{row[mysql_num_fields(result)-1} ¤È¤·¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤¹¡£¥ì¥³¡¼¥ÉÆâ¤Î
-@code{NULL} ÃͤÏ@code{NULL} ¥Ý¥¤¥ó¥¿¤Ë¤è¤Ã¤Æ¼¨¤µ¤ì¤Þ¤¹¡£
-
-¥ì¥³¡¼¥É¤Î¥Õ¥£¡¼¥ë¥ÉÃͤÎŤµ¤Ï¡¢@code{mysql_fetch_lengths()} ¤Î¸Æ¤Ó½Ð¤·¤Ç
-³ÍÆÀ¤Ç¤­¤Þ¤¹¡£¶õ¥Õ¥£¡¼¥ë¥É¤È @code{NULL} ¤ò´Þ¤à¥Õ¥£¡¼¥ë¥É¤Ï¤É¤Á¤é¤âŤµ
-0 ¤ò»ý¤Á¤Þ¤¹; ¥Õ¥£¡¼¥ë¥ÉÃͤΥݥ¤¥ó¥¿¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤³¤È¤Ç¡¢¤³¤ì¤é¤ò¶èÊ̤Ǥ­
-¤Þ¤¹¡£¥Ý¥¤¥ó¥¿¤¬ @code{NULL} ¤Î¾ì¹ç¡¢¥Õ¥£¡¼¥ë¥É¤Ï @code{NULL} ¤Ç¤¹; ¤½¤¦¤Ç
-¤Ê¤±¤ì¤Ð¥Õ¥£¡¼¥ë¥É¤Ï¶õ¤Ç¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-¼¡¤Î¥ì¥³¡¼¥É¤Î @code{MYSQL_ROW} ¹½Â¤ÂΡ¢¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤«¡¢¤â¤¦¼è¤ê½Ð¤¹¥ì
-¥³¡¼¥É¤¬¤Ê¤¤¾ì¹ç¤Ï @code{NULL}¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@subsubheading Îã
-
-@example
-MYSQL_ROW row;
-unsigned int num_fields;
-unsigned int i;
-
-num_fields = mysql_num_fields(result);
-while ((row = mysql_fetch_row(result)))
-@{
- unsigned long *lengths;
- lengths = mysql_fetch_lengths(result);
- for(i = 0; i < num_fields; i++)
- @{
- printf("[%.*s] ", (int) lengths[i], row[i] ? row[i] : "NULL");
- @}
- printf("\n");
-@}
-@end example
-
-@findex @code{mysql_field_count()}
-@node mysql_field_count, mysql_field_seek, mysql_fetch_row, C API functions
-@subsection @code{mysql_field_count()}
-
-@code{unsigned int mysql_field_count(MYSQL *mysql)}
-
-3.22.24 ¤è¤êÁ°¤Î @code{MySQL} ¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢
-@code{unsigned int mysql_num_fields(MYSQL *mysql)} ¤òÂå¤ï¤ê¤Ë»ÈÍѤ¹¤Ù¤­¤Ç
-¤¹¡£
-
-@subsubheading ÀâÌÀ
-
-Àܳ¾å¤ÎºÇ¸å¤Î¥¯¥¨¥ê¤Î¥Õ¥£¡¼¥ë¥É¿ô¤òÊÖ¤·¤Þ¤¹¡£
-
-¤³¤Î´Ø¿ô¤ÏÄ̾ï @code{mysql_store_result()} ¤¬ @code{NULL} ¤òÊÖ¤·¤¿»þ¡Ê¤½¤·
-¤Æ¤³¤Î¤è¤¦¤Ë·ë²Ì¥»¥Ã¥È¥Ý¥¤¥ó¥¿¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤»þ¡Ë¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢
-@code{mysql_store_result()} ¤¬¶õ¤Ç¤Ê¤¤·ë²Ì¤òÄ󶡤¹¤Ù¤­¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¤¿¤á
-¤Ë¡¢@code{mysql_field_count()} ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¯¥¨¥ê¤¬
-@code{SELECT}¡Ê¤Þ¤¿¤Ï @code{SELECT}¤Ë»÷¤¿¡Ë¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç¤¢¤ë¤«¤òÃΤ뤳
-¤È̵¤·¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤Ë¡¢Å¬ÀڤʹÔÆ°¤ò¤È¤é¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£²¼
-¤Ë¼¨¤µ¤ì¤ëÎã¤Ï¡¢¤³¤ì¤ò¤É¤Î¤è¤¦¤Ë¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤ë¤«¤òÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£
-
-@xref{NULL mysql_store_result, , @code{NULL mysql_store_result()}}.
-
-@subsubheading Ìá¤êÃÍ
-
-·ë²Ì¥»¥Ã¥ÈÃæ¤Î¥Õ¥£¡¼¥ë¥ÉÈÖ¹æ¤òɽ¤¹ unsigned integer¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@subsubheading Îã
-
-@example
-MYSQL_RES *result;
-unsigned int num_fields;
-unsigned int num_rows;
-
-if (mysql_query(&mysql,query_string))
-@{
- // error
-@}
-else // query succeeded, process any data returned by it
-@{
- result = mysql_store_result(&mysql);
- if (result) // there are rows
- @{
- num_fields = mysql_num_fields(result);
- // retrieve rows, then call mysql_free_result(result)
- @}
- else // mysql_store_result() returned nothing; should it have?
- @{
- if(mysql_field_count(&mysql) == 0)
- @{
- // query does not return data
- // (it was not a SELECT)
- num_rows = mysql_affected_rows(&mysql);
- @}
- else // mysql_store_result() should have returned data
- @{
- fprintf(stderr, "Error: %s\n", mysql_error(&mysql));
- @}
- @}
-@}
-@end example
-
-Ê̤ÎÊýË¡¤Ï¡¢@code{mysql_field_count(&mysql)} ¸Æ¤Ó½Ð¤·¤ò
-@code{mysql_errno(&mysql)} ¤ËÃÖ¤­´¹¤¨¤ë¤³¤È¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢¥¹¥Æ¡¼¥È¥á¥ó¥È
-¤¬ @code{SELECT} ¤«¤É¤¦¤«¤ò @code{mysql_field_count()} ¤ÎÃͤ«¤é¿ä¬¤¹¤ë¤Î
-¤Ç¤Ï¤Ê¤¯¡¢Ä¾ÀÜ @code{mysql_store_result()} ¤«¤é¤Î¥¨¥é¡¼¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
-
-@findex @code{mysql_field_seek()}
-@node mysql_field_seek, mysql_field_tell, mysql_field_count, C API functions
-@subsection @code{mysql_field_seek()}
-
-@code{MYSQL_FIELD_OFFSET mysql_field_seek(MYSQL_RES *result, MYSQL_FIELD_OFFSET offset)}
-
-@subsubheading ÀâÌÀ
-
-Í¿¤¨¤é¤ì¤¿¥ª¥Õ¥»¥Ã¥È¤Ë¥Õ¥£¡¼¥ë¥É¥«¡¼¥½¥ë¤òÀßÄꤷ¤Þ¤¹¡£¼¡¤Î
-@code{mysql_fetch_field()} ¤Î¸Æ¤Ó½Ð¤·¤Ï¤½¤Î¥ª¥Õ¥»¥Ã¥È¤ËÂбþ¤·¤¿¥Õ¥£¡¼¥ë¥É¤ò¼è
-¤ê½Ð¤·¤Þ¤¹¡£
-
-¥ì¥³¡¼¥É¤ÎºÇ½é¤Ë¥·¡¼¥¯¤¹¤ë¤Ë¤Ï¡¢0 ¤Î @code{offset} ÃͤòÅϤ·¤Æ¤¯¤À¤µ¤¤¡£
-
-@subsubheading Ìá¤êÃÍ
-
-¥Õ¥£¡¼¥ë¥É¥«¡¼¥½¥ë¤ÎÁ°¤ÎÃÍ¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@findex @code{mysql_field_tell()}
-@node mysql_field_tell, mysql_free_result, mysql_field_seek, C API functions
-@subsection @code{mysql_field_tell()}
-
-@code{MYSQL_FIELD_OFFSET mysql_field_tell(MYSQL_RES *result)}
-
-@subsubheading ÀâÌÀ
-
-ºÇ¸å¤Î @code{mysql_fetch_field()} ¤Ë»ÈÍѤ·¤¿¥Õ¥£¡¼¥ë¥É¥«¡¼¥½¥ë¤Î°ÌÃÖ¤òÊÖ
-¤·¤Þ¤¹¡£¤³¤ÎÃÍ¤Ï @code{mysql_field_seek()} ¤Ø¤Î°ú¿ô¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-¥Õ¥£¡¼¥ë¥É¥«¡¼¥½¥ë¤Î¸½ºß¤Î¥ª¥Õ¥»¥Ã¥È¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@findex @code{mysql_free_result()}
-@node mysql_free_result, mysql_get_client_info, mysql_field_tell, C API functions
-@subsection @code{mysql_free_result()}
-
-@code{void mysql_free_result(MYSQL_RES *result)}
-
-@subsubheading ÀâÌÀ
-
-@code{mysql_store_result()}, @code{mysql_use_result()},
-@code{mysql_list_dbs()} Åù¤Ë¤è¤Ã¤Æ·ë²Ì¥»¥Ã¥È¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥á¥â¥ê¤ò²òÊü
-¤·¤Þ¤¹¡£·ë²Ì¥»¥Ã¥È¤Ç²¿¤«¤ò¹Ô¤Ê¤Ã¤¿»þ¡¢@code{mysql_free_result()} ¤ò¸Æ¤Ó
-½Ð¤·¤Æ¤½¤ì¤¬»ÈÍѤ·¤¿¥á¥â¥ê¤ò²òÊü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-̵¤·¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@findex @code{mysql_get_client_info()}
-@node mysql_get_client_info, mysql_get_host_info, mysql_free_result, C API functions
-@subsection @code{mysql_get_client_info()}
-
-@code{char *mysql_get_client_info(void)}
-
-@subsubheading ÀâÌÀ
-
-¥¯¥é¥¤¥¢¥ó¥È¥é¥¤¥Ö¥é¥ê¥Ð¡¼¥¸¥ç¥ó¤òɽ¤ï¤¹Ê¸»úÎó¤òÊÖ¤·¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-@strong{MySQL} ¥¯¥é¥¤¥¢¥ó¥È¥é¥¤¥Ö¥é¥ê¥Ð¡¼¥¸¥ç¥ó¤òɽ¤ï¤¹Ê¸»úÎó¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@findex @code{mysql_get_host_info()}
-@node mysql_get_host_info, mysql_get_proto_info, mysql_get_client_info, C API functions
-@subsection @code{mysql_get_host_info()}
-
-@code{char *mysql_get_host_info(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-»ÈÍÑÃæ¤ÎÀܳ¥¿¥¤¥×¤òɽ¤ï¤¹Ê¸»úÎó¤òÊÖ¤·¤Þ¤¹¡£¥µ¡¼¥Ð¤Î¥Û¥¹¥È̾¤ò´Þ¤ß¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-¥µ¡¼¥Ð¥Û¥¹¥È̾¤ÈÀܳ¥¿¥¤¥×¤òɽ¤ï¤¹Ê¸»úÎó¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@findex @code{mysql_get_proto_info()}
-@node mysql_get_proto_info, mysql_get_server_info, mysql_get_host_info, C API functions
-@subsection @code{mysql_get_proto_info()}
-
-@code{unsigned int mysql_get_proto_info(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-¸½ºß¤ÎÀܳ¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ë¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤òÊÖ¤·¤Þ¤¹¡£
-
-@subsubheading Return values
-
-¸½ºß¤ÎÀܳ¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ë¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤òɽ¤ï¤¹Éä¹æ̵¤·À°¿ôÃÍ¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@findex @code{mysql_get_server_info()}
-@node mysql_get_server_info, mysql_info, mysql_get_proto_info, C API functions
-@subsection @code{mysql_get_server_info()}
-
-@code{char *mysql_get_server_info(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-¥µ¡¼¥Ð¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òɽ¤ï¤¹Ê¸»úÎó¤òÊÖ¤·¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-¥µ¡¼¥Ð¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òɽ¤ï¤¹Ê¸»úÎó¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@findex @code{mysql_info()}
-@node mysql_info, mysql_init, mysql_get_server_info, C API functions
-@subsection @code{mysql_info()}
-
-@code{char * mysql_info(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-ºÇ¤âºÇ¶á¤Ë¼Â¹Ô¤µ¤ì¤¿¥¯¥¨¥ê¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òʸ»úÎó¤ÇÊÖ¤·¤Þ¤¹¡£¤¬¡¢
-°Ê²¼¤Ëµó¤²¤ë¹½Ê¸¤Ë¸Â¤ê¤Þ¤¹¡£
-¾¤Î¹½Ê¸¤Ç¤Ï@code{mysql_info()} ¤Ï @code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£
-ʸ»úÎó¤Î·Á¼°
-¤Ï¥¯¥¨¥ê¤Î·¿¤Ë¤è¤Ã¤ÆÍÍ¡¹¤Ç¤¹¡£¼¡¤ËÀâÌÀ¤·¤Þ¤¹ (¿ôÃͤÏÎã¤Ç¤¹; ʸ»úÎó¤Ï¥¯¥¨
-¥ê¤ËŬ¤·¤¿Ãͤò´Þ¤ß¤Þ¤¹):
-
-@table @code
-@item INSERT INTO ... SELECT ...
-String format: @code{Records: 100 Duplicates: 0 Warnings: 0}
-@item INSERT INTO ... VALUES (...),(...),(...)...
-String format: @code{Records: 3 Duplicates: 0 Warnings: 0}
-@item LOAD DATA INFILE ...
-String format: @code{Records: 1 Deleted: 0 Skipped: 0 Warnings: 0}
-@item ALTER TABLE
-String format: @code{Records: 3 Duplicates: 0 Warnings: 0}
-@item UPDATE
-String format: @code{Rows matched: 40 Changed: 40 Warnings: 0}
-@end table
-
-Ãí°Õ: Ê£¿ô¤ÎÃͥꥹ¥È¤¬¥¹¥Æ¡¼¥È¥á¥ó¥ÈÃæ¤Ëµ­½Ò¤µ¤ì¤¿¾ì¹ç¤Ë¤À¤±¡¢
-@code{mysql_info()} ¤Ï¡¢@code{INSERT ... VALUES} ¥¹¥Æ¡¼¥È¥á¥ó¥È¤ËÈó
-@code{NULL}ÃͤòÊÖ¤·¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-ºÇ¤âºÇ¶á¤Ë¼Â¹Ô¤µ¤ì¤¿¥¯¥¨¥ê¤Ë¤Ä¤¤¤Æ¤ÎÄɲþðÊó¤òɽ¤ï¤¹Ê¸»úÎó¡£¥¯¥¨¥ê¤ËÍ­¸ú
-¤Ê¾ðÊ󤬤ʤ¤¾ì¹ç¤Ï @code{NULL} ¥Ý¥¤¥ó¥¿¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@findex @code{mysql_init()}
-@node mysql_init, mysql_insert_id, mysql_info, C API functions
-@subsection @code{mysql_init()}
-
-@code{MYSQL * mysql_init(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-@code{mysql_real_connect()} ¤ËŬ¤·¤¿ @code{MYSQL} ¥ª¥Ö¥¸¥§¥¯¥È¤Î³ä¤êÅö¤Æ
-¤Þ¤¿¤Ï½é´ü²½¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£°ú¿ô¤¬ @code{NULL} ¥Ý¥¤¥ó¥¿¤Î¾ì¹ç¡¢´Ø¿ô¤Ï¿·¤·
-¤¤¥ª¥Ö¥¸¥§¥¯¥È¤ò³ä¤êÅö¤Æ¤Æ½é´ü²½¤·ÊÖ¤·¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¥ª¥Ö¥¸¥§¥¯¥È¤Ï
-½é´ü²½¤µ¤ì¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥É¥ì¥¹¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£¿·¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È¤¬³ä¤ê
-Åö¤Æ¤é¤ì¤¿¾ì¹ç¡¢@code{mysql_close()} ¤Ï¤³¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò²òÊü¤·¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-½é´ü²½¤µ¤ì¤¿ @code{MYSQL*} ¥Ï¥ó¥É¥ë¡¢¤Þ¤¿¤Ï¿·¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È¤ò³ä¤êÅö¤Æ
-¤ë¤Î¤Ë½½Ê¬¤Ê¥á¥â¥ê¤¬¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï @code{NULL} ¥Ý¥¤¥ó¥¿¡£
-
-@subsubheading ¥¨¥é¡¼
-¥á¥â¥êÉÔ­¤Î¾ì¹ç¤Ï @code{NULL} ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
-
-@findex @code{mysql_insert_id()}
-@node mysql_insert_id, mysql_kill, mysql_init, C API functions
-@subsection @code{mysql_insert_id()}
-
-@code{my_ulonglong mysql_insert_id(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-Á°¤Î¥¯¥¨¥ê¤Ë¤è¤Ã¤Æ @code{AUTO_INCREMENT} ¥Õ¥£¡¼¥ë¥É¤ËÀ¸À®¤µ¤ì¤¿ ID ¤òÊÖ¤·¤Þ¤¹¡£
-@code{AUTO_INCREMENT} ¥Õ¥£¡¼¥ë¥É¤ò´Þ¤à¥Æ¡¼¥Ö¥ë¤Ë @code{INSERT} ¥¯¥¨¥ê¤ò
-¼Â¹Ô¤·¤¿¸å¤Ç¡¢¤³¤Î´Ø¿ô¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-
-Ãí°Õ: Á°¤Î¥¯¥¨¥ê¤¬ @code{AUTO_INCREMENT} ÃͤòÀ¸À®¤·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-@code{mysql_insert_id()} ¤Ï @code{0} ¤òÊÖ¤·¤Þ¤¹¡£¸å¤Î¤¿¤á¤ËÃͤòÊݸ¤¹¤ëɬ
-Íפ¬¤¢¤ë¾ì¹ç¡¢ÃͤòÀ¸À®¤¹¤ë¥¯¥¨¥ê¤Îľ¸å¤Ë @code{mysql_insert_id()} ¤ò¸Æ¤Ó½Ð
-¤¹¤³¤È¤Ëµ¤¤ò¤Ä¤±¤Æ¤¯¤À¤µ¤¤¡£
-
-¤Þ¤¿¡¢SQL @code{LAST_INSERT_ID()} ¾ï¤ËºÇ¸å¤ËÀ¸À®¤µ¤ì¤¿
-@code{AUTO_INCREMENT} Ãͤò´Þ¤ß¡¢¥¯¥¨¥ê´Ö¤Ç¥ê¥»¥Ã¥È¤µ¤ì¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ²¼
-¤µ¤¤¡£¤½¤Î´Ø¿ô¤ÎÃͤϥµ¡¼¥ÐÆâ¤ÇÊݼ餵¤ì¤ë¤«¤é¤Ç¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-Á°¤Î¥¯¥¨¥ê¤Ë¤è¤Ã¤Æ¹¹¿·¤µ¤ì¤¿ @code{AUTO_INCREMENT} ¥Õ¥£¡¼¥ë¥É¤ÎÃÍ¡£Àܳ¾å
-¤ÎÁ°¤Î¥¯¥¨¥ê¤¬¤Ê¤¤¾ì¹ç¡¢¥¯¥¨¥ê¤¬ @code{AUTO_INCREMENT} Ãͤò¹¹¿·¤·¤Ê¤«¤Ã¤¿
-¾ì¹ç¤Ë¤Ï 0 ¤¬ÊÖ¤ê¤Þ¤¹¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@findex @code{mysql_kill()}
-@node mysql_kill, mysql_list_dbs, mysql_insert_id, C API functions
-@subsection @code{mysql_kill()}
-
-@code{int mysql_kill(MYSQL *mysql, unsigned long pid)}
-
-@subsubheading ÀâÌÀ
-
-@code{pid} ¤Ç»ØÄꤵ¤ì¤¿¥¹¥ì¥Ã¥É¤ò»¦¤¹¤è¤¦¤Ë¥µ¡¼¥Ð¤ËÍê¤ß¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-À®¸ù»þ0¡£¼ºÇÔ»þÈó0¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@findex @code{mysql_list_dbs()}
-@node mysql_list_dbs, mysql_list_fields, mysql_kill, C API functions
-@subsection @code{mysql_list_dbs()}
-
-@code{MYSQL_RES *mysql_list_dbs(MYSQL *mysql, const char *wild)}
-
-@subsubheading ÀâÌÀ
-
-¥µ¡¼¥Ð¾å¤Î¡¢@code{wild} °ú¿ô¤Ç»ØÄꤵ¤ì¤¿´Ê°×Àµµ¬É½¸½¤ËŬ¹ç¤¹¤ë¡¢¥Ç¡¼¥¿¥Ù¡¼
-¥¹Ì¾¤«¤é¤Ê¤ë·ë²Ì¥»¥Ã¥È¤òÊÖ¤·¤Þ¤¹¡£@code{wild} ¤Ï¥ï¥¤¥ë¥É¥«¡¼¥Éʸ»ú
-@samp{%} ¤Þ¤¿¤Ï @samp{_} ¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢Á´¤Æ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹
-¤ËŬ¹ç¤¹¤ë¤è¤¦¤Ë @code{NULL} ¥Ý¥¤¥ó¥¿¤Ë¤Ç¤­¤Þ¤¹¡£@code{mysql_list_dbs()}
-¤Î¸Æ¤Ó½Ð¤·¤Ï¥¯¥¨¥ê @code{SHOW databases [LIKE wild]} ¤ò¼Â¹Ô¤¹¤ë¤Î¤ÈƱÍÍ
-¤Ç¤¹¡£
-
-@code{mysql_free_result()} ¤Ç·ë²Ì¥»¥Ã¥È¤ò²òÊü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-À®¸ù»þ @code{MYSQL_RES} ·ë²Ì¥»¥Ã¥È¡£¼ºÇÔ¤·¤¿¾ì¹ç¤Ï @code{NULL}¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_OUT_OF_MEMORY
-¥á¥â¥êÉÔ­¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@findex @code{mysql_list_fields()}
-@node mysql_list_fields, mysql_list_processes, mysql_list_dbs, C API functions
-@subsection @code{mysql_list_fields()}
-
-@code{MYSQL_RES *mysql_list_fields(MYSQL *mysql, const char *table, const char *wild)}
-
-@subsubheading ÀâÌÀ
-
-Í¿¤¨¤é¤ì¤¿¥Æ¡¼¥Ö¥ëÆâ¤Î¡¢@code{wild} °ú¿ô¤Ç»ØÄꤵ¤ì¤¿´Ê°×Àµµ¬É½¸½¤ËŬ¹ç¤¹¤ë
-¥Õ¥£¡¼¥ë¥É̾¤«¤é¤Ê¤ë·ë²Ì¥»¥Ã¥È¤òÊÖ¤·¤Þ¤¹¡£@code{wild} ¤Ï¥ï¥¤¥ë¥É¥«¡¼
-¥Éʸ»ú @samp{%} ¤Þ¤¿¤Ï @samp{_} ¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢Á´¤Æ¤Î¥Õ¥£¡¼
-¥ë¥É¤ËŬ¹ç¤¹¤ë¤è¤¦¤Ë @code{NULL} ¥Ý¥¤¥ó¥¿¤Ë¤Ç¤­¤Þ¤¹¡£
-@code{mysql_list_fields()} ¤Ï¥¯¥¨¥ê @code{SHOW COLUMNS FROM table [LIKE
-wild]} ¤ò¼Â¹Ô¤¹¤ë¤Î¤ÈƱÍͤǤ¹¡£
-
-Ãí°Õ: @code{mysql_list_fields()} ¤ÎÂå¤ï¤ê¤Ë @code{SHOW COLUMNS FROM
-tbl_name} ¤Î»ÈÍѤò´«¤á¤Þ¤¹¡£
-
-@code{mysql_free_result()} ¤Ç·ë²Ì¥»¥Ã¥È¤ò²òÊü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-À®¸ù»þ @code{MYSQL_RES} ·ë²Ì¥»¥Ã¥È¡£¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï @code{NULL}¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@findex @code{mysql_list_processes()}
-@node mysql_list_processes, mysql_list_tables, mysql_list_fields, C API functions
-@subsection @code{mysql_list_processes()}
-
-@code{MYSQL_RES *mysql_list_processes(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-¸½ºß¤Î¥µ¡¼¥Ð¥¹¥ì¥Ã¥É¤ò¼¨¤¹·ë²Ì¥»¥Ã¥È¤òÊÖ¤·¤Þ¤¹¡£¤³¤ì¤Ï @code{mysqladmin
-processlist} ¤ä @code{SHOW PROCESSLIST} ¥¯¥¨¥ê¤Ç
-Êó¹ð¤µ¤ì¤ë¤â¤Î¤ÈƱ¤¸¼ïÎà¤Î¾ðÊó¤Ç¤¹¡£
-
-@code{mysql_free_result()} ¤Ç·ë²Ì¥»¥Ã¥È¤ò²òÊü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-À®¸ù»þ @code{MYSQL_RES} ·ë²Ì¥»¥Ã¥È¡£¼ºÇÔ¤·¤¿¾ì¹ç¤Ï @code{NULL}¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@findex @code{mysql_list_tables()}
-@node mysql_list_tables, mysql_num_fields, mysql_list_processes, C API functions
-@subsection @code{mysql_list_tables()}
-
-@code{MYSQL_RES *mysql_list_tables(MYSQL *mysql, const char *wild)}
-
-@subsubheading ÀâÌÀ
-
-@code{wild} °ú¿ô¤Ç»ØÄꤵ¤ì¤¿´Ê°×Àµµ¬É½¸½¤ËŬ¹ç¤¹¤ë¡¢¸½ºß¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹
-Æâ¤Î¥Æ¡¼¥Ö¥ë̾¤«¤é¤Ê¤ë·ë²Ì¥»¥Ã¥È¤òÊÖ¤·¤Þ¤¹¡£@code{wild} ¤Ï¥ï¥¤¥ë¥É¥«¡¼¥É
-ʸ»ú @samp{%} ¤Þ¤¿¤Ï @samp{_} ¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë
-¤ËŬ¹ç¤¹¤ë¤è¤¦¤Ë @code{NULL} ¥Ý¥¤¥ó¥¿¤Ë¤Ç¤­¤Þ¤¹¡£
-@code{mysql_list_tables()} ¤Ï¥¯¥¨¥ê @code{SHOW tables [LIKE wild]} ¤ò¼Â
-¹Ô¤¹¤ë¤Î¤ÈƱÍͤǤ¹¡£
-
-@code{mysql_free_result()} ¤Ç·ë²Ì¥»¥Ã¥È¤ò²òÊü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-À®¸ù»þ @code{MYSQL_RES} ·ë²Ì¥»¥Ã¥È¡£¼ºÇÔ¤·¤¿¾ì¹ç¤Ï @code{NULL}¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@findex @code{mysql_num_fields()}
-@findex @code{mysql_field_count()}
-@node mysql_num_fields, mysql_num_rows, mysql_list_tables, C API functions
-@subsection @code{mysql_num_fields()}
-
-@code{unsigned int mysql_num_fields(MYSQL_RES *result)}
-
-¤Þ¤¿¤Ï
-
-@code{unsigned int mysql_num_fields(MYSQL *mysql)}
-
-ÆóÈÖÌܤηÁ¼°¤Ï @strong{MySQL} 3.23 °Ê¾å¤Ç¤ÏÆ°ºî¤·¤Þ¤»¤ó¡£@code{MYSQL*} °ú
-¿ô¤òÄ̤¹¾ì¹ç¤Ï¡¢Âå¤ï¤ê¤Ë @code{unsigned int mysql_field_count(MYSQL*mysql)}
-¤ò»ÈÍѤ·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
-
-@subsubheading ÀâÌÀ
-
-·ë²Ì¥»¥Ã¥ÈÃæ¤Î¥Õ¥£¡¼¥ë¥É¿ô¤òÊÖ¤·¤Þ¤¹¡£
-
-Ãí°Õ: ·ë²Ì¥»¥Ã¥È¤Ø¤Î¥Ý¥¤¥ó¥¿¤Þ¤¿¤ÏÀܳ¥Ï¥ó¥É¥ë¤Î¤¤¤º¤ì¤«¤«¤é¥Õ¥£¡¼¥ë¥É¤Î¿ô
-¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£@code{mysql_store_result()} ¤Þ¤¿¤Ï
-@code{mysql_use_result()} ¤¬ @code{NULL} ¤òÊÖ¤·¤¿¡Ê¤Ä¤Þ¤ê·ë²Ì¥»¥Ã¥È¥Ý¥¤¥ó
-¥¿¤¬Ìµ¤¤¡Ë¾ì¹ç¡¢Àܳ¥Ï¥ó¥É¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢
-@code{mysql_field_count()} ¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢@code{mysql_store_result()} ¤¬¶õ
-¤Ç¤Ê¤¤·ë²Ì¤òÄ󶡤¹¤Ù¤­¤«¤É¤¦¤«¤ò·èÄê¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¥×¥í
-¥°¥é¥à¤Ï¥¯¥¨¥ê¤¬ @code{SELECT}¡Ê¤Þ¤¿¤Ï @code{SELECT} ¤Ë»÷¤¿¡Ë¥¹¥Æ¡¼¥È¥á¥ó
-¥È¤À¤Ã¤¿¤«¤É¤¦¤«¤òÃΤ뤳¤È¤Ê¤·¤Ë¡¢Å¬ÀڤʹÔÆ°¤ò¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£°Ê²¼¤Ë¼¨
-¤¹Îã¤Ï¤³¤ì¤ò¤É¤Î¤è¤¦¤Ë¹Ô¤Ê¤¦¤«¤òÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£
-
-@xref{NULL mysql_store_result, , @code{NULL mysql_store_result()}}.
-
-@subsubheading Ìá¤êÃÍ
-
-·ë²Ì¥»¥Ã¥ÈÃæ¤Î¥Õ¥£¡¼¥ë¥É¿ô¤òɽ¤ï¤¹Éä¹æ̵¤·À°¿ô¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@subsubheading Îã
-
-@example
-MYSQL_RES *result;
-unsigned int num_fields;
-unsigned int num_rows;
-
-if (mysql_query(&mysql,query_string))
-@{
- // error
-@}
-else // query succeeded, process any data returned by it
-@{
- result = mysql_store_result(&mysql);
- if (result) // there are rows
- @{
- num_fields = mysql_num_fields(result);
- // retrieve rows, then call mysql_free_result(result)
- @}
- else // mysql_store_result() returned nothing; should it have?
- @{
- if (mysql_errno(&mysql))
- @{
- fprintf(stderr, "Error: %s\n", mysql_error(&mysql));
- @}
- else if (mysql_field_count(&mysql) == 0)
- @{
- // query does not return data
- // (it was not a SELECT)
- num_rows = mysql_affected_rows(&mysql);
- @}
- @}
-@}
-@end example
-
-¡Ê·ë²Ì¥»¥Ã¥È¤¬ÊÖ¤ë¤Ù¤­¥¯¥¨¥ê¤Ç¤¢¤ë¤³¤È¤òÃΤäƤ¤¤ë¾ì¹ç¤Î¡ËÊýË¡¤Ï¡¢
-@code{mysql_errno(&mysql)} ¥³¡¼¥ë¤ò @code{mysql_field_count(&mysql)} ¤¬
-0 ¤«¤É¤¦¤«¤Î¥Á¥§¥Ã¥¯¤ËÃÖ¤­´¹¤¨¤ë¤³¤È¤Ç¤¹¡£¤³¤ì¤Ï²¿¤«¤¬°­¤¤¾ì¹ç¤Ë¤À¤±µ¯¤³¤ê
-¤Þ¤¹¡£
-
-@findex @code{mysql_num_rows()}
-@node mysql_num_rows, mysql_options, mysql_num_fields, C API functions
-@subsection @code{mysql_num_rows()}
-
-@code{my_ulonglong mysql_num_rows(MYSQL_RES *result)}
-
-@subsubheading ÀâÌÀ
-
-·ë²Ì¥»¥Ã¥ÈÃæ¤Î¥ì¥³¡¼¥É¿ô¤òÊÖ¤·¤Þ¤¹¡£
-
-@code{mysql_num_rows()} ¤Î»ÈÍѤϡ¢·ë²Ì¥»¥Ã¥È¤òÊÖ¤¹¤Î¤Ë
-@code{mysql_store_result()} ¤« @code{mysql_use_result()} ¤Î¤É¤Á¤é¤ò»ÈÍѤ¹
-¤ë¤«¤Ë°Í¸¤·¤Þ¤¹¡£@code{mysql_store_result()} ¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢
-@code{mysql_num_rows()} ¤Ï¤¹¤°¤Ë¸Æ¤Ö¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@code{mysql_use_result()} ¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢·ë²Ì¥»¥Ã¥È¤ÎÁ´¤Æ¤Î¥ì¥³¡¼¥É¤¬¼è¤ê
-½Ð¤µ¤ì¤ë¤Þ¤Ç¡¢@code{mysql_num_rows()} ¤ÏÀµ¤·¤¤ÃͤòÊÖ¤·¤Þ¤»¤ó¡£
-
-@subsubheading Ìá¤êÃÍ
-
-·ë²Ì¥»¥Ã¥È¤Î¥ì¥³¡¼¥É¿ô¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@findex @code{mysql_options()}
-@node mysql_options, mysql_ping, mysql_num_rows, C API functions
-@subsection @code{mysql_options()}
-
-@code{int mysql_options(MYSQL *mysql, enum mysql_option option, const char *arg)}
-
-@subsubheading ÀâÌÀ
-
-ÆÃÊ̤ÊÀܳ¥ª¥×¥·¥ç¥ó¤òÀßÄꤷ¡¢Àܳ¤Î¿¶Éñ¤¤¤Ë±Æ¶Á¤òÍ¿¤¨¤ë¤¿¤á¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-¤³¤Î´Ø¿ô¤ÏÊ£¿ô¤Î¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¤¿¤á¤ËÊ£¿ô²ó¸Æ¤Ö¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@code{mysql_options()} ¤Ï @code{mysql_init()} ¤Î¸å¤Ç¡¢
-@code{mysql_connect()} ¤ä @code{mysql_real_connect()} ¤ÎÁ°¤Ë¸Æ¤Ð¤ì¤Ê¤±¤ì¤Ð
-¤Ê¤ê¤Þ¤»¤ó¡£
-
-@code{option} °ú¿ô¤ÏÀßÄꤷ¤¿¤¤¥ª¥×¥·¥ç¥ó¤Ç¤¹; @code{arg} °ú¿ô¤Ï¥ª¥×¥·¥ç¥ó
-¤ËÂФ¹¤ëÃͤǤ¹¡£¥ª¥×¥·¥ç¥ó¤¬À°¿ô¤Î¾ì¹ç¡¢@code{arg} ¤ÏÀ°¿ôÃͤؤΥݥ¤¥ó¥¿¤Ç
-¤¹¡£
-
-Í­¸ú¤Ê¥ª¥×¥·¥ç¥óÃÍ:
-
-@multitable @columnfractions .25 .25 .5
-@item @strong{¥ª¥×¥·¥ç¥ó} @tab @strong{°ú¿ô·¿} @tab @strong{µ¡Ç½}
-@item @code{MYSQL_OPT_CONNECT_TIMEOUT} @tab @code{unsigned int *} @tab Àܳ¥¿¥¤¥à¥¢¥¦¥È¡ÊÉáˡ£
-@item @code{MYSQL_OPT_COMPRESS} @tab »ÈÍѤ·¤Ê¤¤ @tab °µ½Ì¥¯¥é¥¤¥¢¥ó¥È¡¿¥µ¡¼¥Ð¥×¥í¥È¥³¥ë¤ò»ÈÍѤ¹¤ë¡£
-@item @code{MYSQL_OPT_NAMED_PIPE} @tab »ÈÍѤ·¤Ê¤¤ @tab NT ¾å¤Î @strong{MySQL} ¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤Ë̾Á°Éեѥ¤¥×¤ò»ÈÍѤ¹¤ë¡£
-@item @code{MYSQL_INIT_COMMAND} @tab @code{char *} @tab @strong{MySQL} ¥µ¡¼¥Ð¤Ø¤ÎÀܳ»þ¤Ë¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¡£ºÆÀܳ»þ¤Ë¼«Æ°Åª¤ËºÆ¼Â¹Ô¤µ¤ì¤ë¡£
-@item @code{MYSQL_READ_DEFAULT_FILE} @tab @code{char *} @tab @file{my.cnf} ¤ÎÂå¤ï¤ê¤Ë»ØÄꤵ¤ì¤¿¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤«¤é¥ª¥×¥·¥ç¥ó¤òÆɤ߹þ¤à¡£
-@item @code{MYSQL_READ_DEFAULT_GROUP} @tab @code{char *} @tab @file{my.cnf} ¤Þ¤¿¤Ï @code{MYSQL_READ_DEFAULT_FILE} ¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤«¤é»ØÄꤵ¤ì¤¿¥°¥ë¡¼¥×¤Î¥ª¥×¥·¥ç¥ó¤òÆɤ߹þ¤à¡£
-@end multitable
-
-Ãí°Õ: @code{MYSQL_READ_DEFAULT_FILE} ¤È @code{MYSQL_READ_DEFAULT_GROUP} ¤ò
-»ÈÍѤ¹¤ë¾ì¹ç¡¢@code{client} ¥°¥ë¡¼¥×¤¬¾ï¤ËÆɤޤì¤Þ¤¹¡£
-
-¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ëÃæ¤Ë»ØÄꤵ¤ì¤ë¥°¥ë¡¼¥×¤Ï¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤Þ
-¤¹:
-
-@multitable @columnfractions .3 .7
-@item @code{compress} @tab °µ½Ì¥¯¥é¥¤¥¢¥ó¥È¡¿¥µ¡¼¥Ð¥×¥í¥È¥³¥ë¤ò»ÈÍѤ¹¤ë¡£
-@item @code{database} @tab Àܳ̿ÎáÃæ¤Ç¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¡¢¤³¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÀܳ¤¹¤ë¡£
-@item @code{debug} @tab ¥Ç¥Ð¥Ã¥°¥ª¥×¥·¥ç¥ó
-@item @code{host} @tab ¥Ç¥Õ¥©¥ë¥È¥Û¥¹¥È̾
-@item @code{init-command} @tab @strong{MySQL} ¥µ¡¼¥Ð¤Ø¤ÎÀܳ»þ¤Ë¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¡£ºÆÀܳ»þ¤Ë¼«Æ°Åª¤ËºÆ¼Â¹Ô¤µ¤ì¤ë¡£
-@item @code{password} @tab ¥Ç¥Õ¥©¥ë¥È¥Ñ¥¹¥ï¡¼¥É
-@item @code{pipe} @tab NT ¾å¤Î @strong{MySQL} ¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤Ë̾Á°Éեѥ¤¥×¤ò»ÈÍѤ¹¤ë¡£
-@item @code{port} @tab ¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥ÈÈÖ¹æ
-@item @code{return-found-rows} @tab @code{UPDATE} »ÈÍÑ»þ¡¢@code{mysql_info()} ¤¬¹¹¿·¤µ¤ì¤¿¹Ô¤ÎÂå¤ï¤ê¤Ë¸«¤Ä¤«¤Ã¤¿¹Ô¤òÊÖ¤¹¤è¤¦¤Ë¤¹¤ë¡£
-@item @code{socket} @tab ¥Ç¥Õ¥©¥ë¥È¥½¥±¥Ã¥ÈÈÖ¹æ
-@item @code{timeout} @tab Àܳ¥¿¥¤¥à¥¢¥¦¥È¡ÊÉáˡ£
-@item @code{user} @tab ¥Ç¥Õ¥©¥ë¥È¥æ¡¼¥¶
-@end multitable
-
-¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Î¤µ¤é¤Ê¤ë¾ðÊó¤Ï¡¢@ref{Option files} ¤ò»²¾È¤·¤Æ
-²¼¤µ¤¤¡£
-
-@subsubheading Ìá¤êÃÍ
-
-À®¸ù¤Î¾ì¹ç¤Ï0¡£Ì¤ÃΤΥª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¾ì¹ç¤ÏÈó0¡£
-
-@subsubheading Îã
-
-@example
-MYSQL mysql;
-
-mysql_init(&mysql);
-mysql_options(&mysql,MYSQL_OPT_COMPRESS,0);
-mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"odbc");
-if (!mysql_real_connect(&mysql,"host","user","passwd","database",0,NULL,0))
-@{
- fprintf(stderr, "Failed to connect to database: Error: %s\n",
- mysql_error(&mysql));
-@}
-@end example
-
-¾åµ­¤Ï¡¢°µ½Ì¥¯¥é¥¤¥¢¥ó¥È¡¿¥µ¡¼¥Ð¥×¥í¥È¥³¥ë¤ò»ÈÍѤ·¡¢@code{my.cnf} ¥Õ¥¡¥¤¥ë
-Ãæ¤Î @code{odbc} ¥»¥¯¥·¥ç¥ó¤«¤éÄɲ媥ץ·¥ç¥ó¤òÆɤà¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ë
-Í׵ᤷ¤Þ¤¹¡£
-
-@findex @code{mysql_ping()}
-@node mysql_ping, mysql_query, mysql_options, C API functions
-@subsection @code{mysql_ping()}
-
-@code{int mysql_ping(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬Æ°ºî¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£¥À¥¦¥ó¤·¤Æ¤¤¤ë¾ì¹ç
-¤Ï¡¢¼«Æ°Åª¤ËºÆÀܳ¤ò»î¤ß¤Þ¤¹¡£
-
-¤³¤Î´Ø¿ô¤Ï¡¢Ä¹¤¤´ÖÀŤ«¤Ë¤·¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢¥µ¡¼¥Ð¤¬Àܳ¤ò¥¯¥í¡¼¥º¤·
-¤¿¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¡Ê¤ÈºÆÀܳ¡Ë¤¹¤ë¤¿¤á¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-¥µ¡¼¥Ð¤¬À¸¤­¤Æ¤¤¤ë¾ì¹ç0¡£Â¾¤ÎÃͤϥ¨¥é¡¼¤ò¼¨¤·¤Þ¤¹¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@findex @code{mysql_query()}
-@node mysql_query, mysql_real_connect, mysql_ping, C API functions
-@subsection @code{mysql_query()}
-
-@code{int mysql_query(MYSQL *mysql, const char *query)}
-
-@subsubheading ÀâÌÀ
-NULL ½ªÃ¼Ê¸»úÎó @code{query} ¤Ç¼¨¤µ¤ì¤ë SQL ¥¯¥¨¥ê¤ò¼Â¹Ô¤·¤Þ¤¹¡£¥¯¥¨¥ê¤Ï¤Ò
-¤È¤Ä¤Î SQL ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£½ªÃ¼¤Î¥»¥ß¥³¥í¥ó
-(@samp{;})¤ä @code{\g} ¤ò¥¹¥Æ¡¼¥È¥á¥ó¥È¤ËÄɲ乤٤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-
-@code{mysql_query()} ¤Ï¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤ò´Þ¤à¥¯¥¨¥ê¤Ë¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡Ê¥Ð
-¥¤¥Ê¥ê¥Ç¡¼¥¿¤Ï @samp{\0} ʸ»ú¤ò´Þ¤à¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¥¯¥¨¥êʸ»úÎó¤Î
-ºÇ¸å¤È¤·¤Æ²ò¼á¤µ¤ì¤Þ¤¹¡Ë¡£¤³¤Î¾ì¹ç¡¢@code{mysql_real_query()} ¤òÂå¤ï¤ê¤Ë
-»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-
-If you want to know if the query should return a result set or not, you can
-use @code{mysql_field_count()} to check for this.
-@xref{mysql_field_count, @code{mysql_field_count}}.
-
-@subsubheading Ìá¤êÃÍ
-
-¥¯¥¨¥ê¤¬À®¸ù¤·¤¿¾ì¹ç¤Ï0¡£¥¯¥¨¥ê¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤ÏÈó0¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@findex @code{mysql_real_connect()}
-@node mysql_real_connect, mysql_real_escape_string, mysql_query, C API functions
-@subsection @code{mysql_real_connect()}
-
-@code{MYSQL *mysql_real_connect(MYSQL *mysql, const char *host,
- const char *user, const char *passwd, const char *db,
- unsigned int port, const char *unix_socket,
- unsigned int client_flag)}
-
-@subsubheading ÀâÌÀ
-
-@code{host} ¾å¤ÇÆ°ºî¤·¤Æ¤¤¤ë @strong{MySQL} ¥Ç¡¼¥¿¥Ù¡¼¥¹¥¨¥ó¥¸¥ó¤Ø¤ÎÀܳ
-¤Î³ÎΩ¤ò»î¤ß¤Þ¤¹¡£
-@code{mysql_get_client_info()} °Ê³°¤Î¾¤Î API ´Ø¿ô¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¡¢
-@code{mysql_real_connect()} ¤¬À®¸ù¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-@code{mysql_real_connect()} ¤ò¸Æ¤Ó½Ð¤¹Á°¤Ë¡¢@code{MYSQL} ¹½Â¤ÂΤò³ÍÆÀ¤Þ
-¤¿¤Ï½é´ü²½¤¹¤ë¤¿¤á¤Ë @code{mysql_init()} ¤ò¸Æ¤ÖɬÍפ¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ
-¤¯¤À¤µ¤¤¡£
-
-@itemize @bullet
-@item
-ºÇ½é¤Î¥Ñ¥é¥á¡¼¥¿¤Ï´û¸¤Î @code{MYSQL} ¹½Â¤ÂΤΥ¢¥É¥ì¥¹¤Ç¤¹¡£
-@code{mysql_real_connect()} ¤ò¸Æ¤ÖÁ°¤Ë¡¢@code{MYSQL} ¹½Â¤ÂΤνé´ü²½¤Î¤¿¤á
-¤Ë @code{mysql_init()} ¤ò¸Æ¤ÖɬÍפ¬¤¢¤ê¤Þ¤¹¡£¸å½Ò¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-@code{host} ¤ÎÃͤϥۥ¹¥È̾¤« IP ¥¢¥É¥ì¥¹¤Î¤É¤Á¤é¤Ç¤â²Äǽ¤Ç¤¹¡£
-@code{host} ¤¬ @code{NULL} ¤Þ¤¿¤Ïʸ»úÎó @code{"localhost"} ¤Î¾ì¹ç¤Ï¥í¡¼
-¥«¥ë¥Û¥¹¥È¤Ø¤ÎÀܳ¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£OS ¤¬¥½¥±¥Ã¥È¤ò¥µ¥Ý¡¼¥È¤¹¤ë¾ì¹ç(Unix)
-¤Þ¤¿¤Ï̾Á°¤Ä¤­¥Ñ¥¤¥×¤ò¥µ¥Ý¡¼¥È¤¹¤ë¾ì¹ç(Win32)¡¢¥µ¡¼¥Ð¤Ø¤Î TCP/IP Àܳ¤Î
-Âå¤ï¤ê¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-
-@item
-@code{user} ¥Ñ¥é¥á¡¼¥¿¤Ï¥æ¡¼¥¶¤Î @strong{MySQL} ¥í¥°¥¤¥ó ID ¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£
-@code{user} ¤¬ @code{NULL} ¤Î¾ì¹ç¡¢¸½ºß¤Î¥æ¡¼¥¶¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£Windows
-ODBC ²¼¤Ç¤Ï¡¢¸½ºß¤Î¥æ¡¼¥¶¤ÏÌÀ¼¨Åª¤Ë»ØÄꤵ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Unix ²¼¤Ç
-¤Ï¸½ºß¤Î¥í¥°¥¤¥ó̾¤¬Å¬ÍѤµ¤ì¤Þ¤¹¡£
-Windows ODBC ¤Ç¤Ï, ¥«¥ì¥ó¥È¤Î¥æ¡¼¥¶¡¼Ì¾¤òÍ¿¤¨¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-@xref{ODBC administrator}.
-
-@item
-@code{passwd} ¥Ñ¥é¥á¡¼¥¿¤Ï @code{user} ¤Î¥Ñ¥¹¥ï¡¼¥É¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£
-¤â¤· @code{passwd} ¤¬ @code{NULL} ¤Î¾ì¹ç¡¢¶õÇò¤Î¥Ñ¥¹¥ï¡¼¥É¥Õ¥£¡¼¥ë¥É¤ò»ý¤Ä
-@code{user} ¥Æ¡¼¥Ö¥ëÆâ¤Î¥ì¥³¡¼¥É¤À¤±¤¬Å¬¹ç¥Á¥§¥Ã¥¯¤µ¤ì¤Þ¤¹¡£¤³¤Î¤è¤¦¤ÊÊý
-Ë¡¤Ç¡¢¥Ñ¥¹¥ï¡¼¥É¤¬µ­½Ò¤µ¤ì¤¿¤«¤É¤¦¤«¤Ë¤è¤Ã¤Æ¥æ¡¼¥¶¤¬°Û¤Ê¤ë¸¢¸Â¤òÆÀ¤ë¤è¤¦
-¤Ë¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹´ÉÍý¼Ô¤¬ @strong{MySQL} Æø¢¥·¥¹¥Æ¥à¤òÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­
-¤Þ¤¹¡£
-
-Ãí°Õ: @code{mysql_connect()} ¤ò¸Æ¤Ó½Ð¤¹Á°¤Ë @code{passwd} ¤ò°Å¹æ²½¤·¤Ê¤¤
-¤Ç¤¯¤À¤µ¤¤¡£¥Ñ¥¹¥ï¡¼¥É¤Î°Å¹æ²½¤Ï¥¯¥é¥¤¥¢¥ó¥È API ¤Ç¼«Æ°Åª¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£
-
-@item
-@code{db} ¤¬ @code{NULL} ¤Ç¤Ê¤¤¾ì¹ç¡¢Àܳ¤Ï¤³¤ÎÃͤò¥Ç¥Õ¥©¥ë¥È¥Ç¡¼¥¿¥Ù¡¼
-¥¹¤Ë¥»¥Ã¥È¤·¤Þ¤¹¡£
-
-@item
-@code{port} ¤¬ 0 ¤Ç¤Ê¤¤¾ì¹ç¡¢ÃÍ¤Ï TCP/IP Àܳ¤Î¥Ý¡¼¥ÈÈÖ¹æ¤È¤·¤Æ»ÈÍѤµ¤ì
-¤Þ¤¹¡£@code{host} ¥Ñ¥é¥á¡¼¥¿¤¬Àܳ¤Î¥¿¥¤¥×¤ò·èÄꤹ¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ
-¤¤¡£
-
-@item
-@code{unix_socket} ¤¬ @code{NULL} ¤Ç¤Ê¤¤¾ì¹ç¡¢Ê¸»úÎó¤Ï»ÈÍѤµ¤ì¤ë¥½¥±¥Ã¥È
-¤Þ¤¿¤Ï̾Á°¤Ä¤­¥Ñ¥¤¥×¤òµ­½Ò¤·¤Þ¤¹¡£@code{host} ¥Ñ¥é¥á¡¼¥¿¤¬Àܳ¤Î¥¿¥¤¥×¤ò
-·èÄꤹ¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@item
-client_flag ¤ÎÃͤÏÄ̾ï 0 ¤Ç¤¹¤¬¡¢¤È¤Æ¤âÆüì¤Ê¾õ¶·¤Î¤¿¤á¼¡¤Î¥Õ¥é¥°¤ÎÁȤß
-¹ç¤ï¤»¤òÀßÄê¤Ç¤­¤Þ¤¹:
-
-@multitable @columnfractions .25 .7
-@item @strong{¥Õ¥é¥°Ì¾} @tab @strong{¥Õ¥é¥°¤Î°ÕÌ£}
-@item @code{CLIENT_FOUND_ROWS} @tab ±Æ¶Á¤µ¤ì¤¿¹Ô¿ô¤Ç¤Ï¤Ê¤¯¸«¤Ä¤«¤Ã¤¿¹Ô¿ô¤òÊÖ¤·¤Þ¤¹
-@item @code{CLIENT_NO_SCHEMA} @tab @code{db_name.tbl_name.col_name} ¤òµö¤·¤Þ¤»¤ó¡£¤³¤ì¤Ï ODBC ¤Î¤¿¤á¤Ç¤¹; ¤½¤Î¹½Ê¸¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¥Ñ¡¼¥µ¤¬¥¨¥é¡¼¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤Ï¤¤¤¯¤Ä¤«¤Î ODBC ¥×¥í¥°¥é¥à¤Î¥Ð¥°¤Î¥È¥é¥Ã¥×¤ËÌòΩ¤Á¤Þ¤¹¡£
-@item @code{CLIENT_COMPRESS} @tab °µ½Ì¥×¥í¥È¥³¥ë¤ò»ÈÍѤ·¤Þ¤¹
-@item @code{CLIENT_ODBC} @tab ¥¯¥é¥¤¥¢¥ó¥È¤¬ ODBC ¥¯¥é¥¤¥¢¥ó¥È¡£¤³¤ì¤Ï @code{mysqld} ¤ò¤µ¤é¤Ë ODBC-¥Õ¥ì¥ó¥É¥ê¤ËÊѹ¹¤·¤Þ¤¹¡£
-@end multitable
-@end itemize
-
-@code{mysql_real_connect()} ¤ÎºÇ½é¤Î°ú¿ô¤Ë @code{NULL} ¥Ý¥¤¥ó¥¿¤òµ­½Ò¤¹
-¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï C API ¤¬Àܳ¹½Â¤ÂΤΥá¥â¥ê¤ò³ä¤êÅö¤Æ¡¢
-@code{mysql_close()} ¸Æ¤Ó½Ð¤·»þ¤Ë¼«Æ°Åª¤Ë²òÊü¤µ¤ì¤Þ¤¹¡£¤³¤ÎÊýË¡¤ÎÉÔÍø¤Ê
-ÅÀ¤Ï¡¢Àܳ¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤Ë @code{mysql_real_connect()} ¤«¤é¤Î¥¨¥é¡¼¥á¥Ã
-¥»¡¼¥¸¤ò¼è¤ê½Ð¤¹¤³¤È¤¬¤Ç¤­¤Ê¤¤¤³¤È¤Ç¤¹¡£
-
-ºÇ½é¤Î°ú¿ô¤¬ @code{NULL} ¥Ý¥¤¥ó¥¿¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢Â¸ºß¤¹¤ë @code{MYSQL} ¹½
-¤ÂΤΥ¢¥É¥ì¥¹¤Ç¤¢¤ë¤Ù¤­¤Ç¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-Àܳ¤¬À®¸ù¤·¤¿¾ì¹ç¤Ï @code{MYSQL*} Àܳ¥Ï¥ó¥É¥ë¤Ç¤¹¡£Àܳ¤¬¼ºÇÔ¤·¤¿¾ì¹ç
-¤Ï C @code{NULL} ¥Ý¥¤¥ó¥¿¤Ç¤¹¡£
-Àܳ¤ËÀ®¸ù¤¹¤ë¤È¡¢ºÇ½é¤Î¥Ñ¥é¥á¡¼¥¿¤¬ @code{NULL} ¤Ç¤Ê¤¤¾ì¹ç¡¢Ìá¤êÃͤϤ½¤Î¥Ñ¥é
-¥á¡¼¥¿¤ÎÃͤÈƱ¤¸¤Ç¤¹¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_CONN_HOST_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤Ë¼ºÇÔ¤·¤¿¡£
-
-@item CR_CONNECTION_ERROR
-¥í¡¼¥«¥ë @strong{MySQL} ¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤Ë¼ºÇÔ¤·¤¿¡£
-
-@item CR_IPSOCK_ERROR
-IP ¥½¥±¥Ã¥È¤ÎÀ¸À®¤Ë¼ºÇÔ¤·¤¿¡£
-
-@item CR_OUT_OF_MEMORY
-¥á¥â¥êÉÔ­¡£
-
-@item CR_SOCKET_CREATE_ERROR
-Unix ¥½¥±¥Ã¥È¤ÎÀ¸À®¤Ë¼ºÇÔ¤·¤¿¡£
-
-@item CR_UNKNOWN_HOST
-¥Û¥¹¥È̾¤Î IP ¥¢¥É¥ì¥¹¤ò¸«¤Ä¤±¤ë¤Î¤Ë¼ºÇÔ¤·¤¿¡£
-
-@item CR_VERSION_ERROR
-°Û¤Ê¤ë¥×¥í¥È¥³¥ë¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ¹¤ë¥¯¥é¥¤¥¢¥ó¥È¥é¥¤¥Ö¥é¥ê¤Ç¥µ¡¼¥Ð¤Ø¤ÎÀÜ
-³¤ò»î¤ß¤¿·ë²Ì¤Î¥×¥í¥È¥³¥ë¥ß¥¹¥Þ¥Ã¥Á¡£¤³¤ì¤Ï¡¢¤È¤Æ¤â¸Å¤¤¥¯¥é¥¤¥¢¥ó¥È¥é¥¤
-¥Ö¥é¥ê¤ò»ÈÍѤ·¤Æ¡¢@code{--old-protocol} ¥ª¥×¥·¥ç¥óÉÕ¤­¤Ç³«»Ï¤·¤Æ¤¤¤Ê¤¤¿·
-¤·¤¤¥µ¡¼¥Ð¤ËÀܳ¤¹¤ë¾ì¹ç¤ËȯÀ¸¤·¤Þ¤¹¡£
-
-@item CR_NAMEDPIPEOPEN_ERROR;
-Win32 ¾å¤Î̾Á°¤Ä¤­¥Ñ¥¤¥×¤ÎÀ¸À®¤Ë¼ºÇÔ¤·¤¿¡£
-
-@item CR_NAMEDPIPEWAIT_ERROR;
-Win32 ¾å¤Î̾Á°¤Ä¤­¥Ñ¥¤¥×¤Î wait ¤Ë¼ºÇÔ¤·¤¿¡£
-
-@item CR_NAMEDPIPESETSTATE_ERROR;
-Win32 ¾å¤Î¥Ñ¥¤¥×¥Ï¥ó¥É¥é¤Î³ÍÆÀ¤Ë¼ºÇÔ¤·¤¿¡£
-@end table
-
-@subsubheading Îã
-
-@example
-MYSQL mysql;
-
-mysql_init(&mysql);
-mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"your_prog_name");
-if (!mysql_real_connect(&mysql,"host","user","passwd","database",0,NULL,0))
-@{
- fprintf(stderr, "Failed to connect to database: Error: %s\n",
- mysql_error(&mysql));
-@}
-@end example
-
-By using @code{mysql_options()} the @strong{MySQL} library will read the
-@code{[client]} and @code{your_prog_name} sections in the @code{my.cnf}
-file which will ensure that your program will work, even if someone has
-set up @strong{MySQL} in some non-standard way.
-
-Note that upon connection, @code{mysql_real_connect()} sets the @code{reconnect}
-flag (part of the MYSQL structure) to a value of @code{1}. This flag indicates,
-in the event that a query cannot be performed because of a lost connection, to
-try reconnecting to the server before giving up.
-
-
-@findex @code{mysql_real_escape_string()}
-@node mysql_real_escape_string, mysql_real_query, mysql_real_connect, C API functions
-@subsection @code{mysql_real_escape_string()}
-
-@code{unsigned int mysql_real_escape_string(MYSQL *mysql, char *to, const char *from, unsigned int length)}
-
-@subsubheading ÀâÌÀ
-
-@code{from} ¤Îʸ»úÎó¤ò¡¢SQL ¥¹¥Æ¡¼¥È¥á¥ó¥È¤È¤·¤Æ¥µ¡¼¥Ð¤ËÁ÷¤ë¤³¤È¤¬¤Ç¤­¤ë
-¤è¤¦¤Ë¡¢¸½ºß¤Î¥­¥ã¥é¥¯¥¿¡¦¥»¥Ã¥È¤ò¹Íθ¤·¤Ê¤¬¤éÊÑ´¹¤·¤Þ¤¹¡£
-·ë²Ì¤Ï @code{to} ¤ËÆþ¤ê¡¢½ªÃ¼ null ʸ»ú¤òÄɲä·¤Þ¤¹¡£
-ÊÑ´¹¤µ¤ì¤ëʸ»úÎó¤Ï @samp{NUL} (ASCII 0), @samp{\n}, @samp{\r}, @samp{\},
-@samp{'}, @samp{"}, Control-Z ¤Ç¤¹¡£(@pxref{Literals}).
-
-@code{from} ¤Ç¼¨¤µ¤ì¤ëʸ»úÎó
-¤Ï@code{length} ¥Ð¥¤¥ÈĹ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-@code{to} ¥Ð¥Ã¥Õ¥¡¤Ë¤Ï¾¯¤Ê¤¯¤È¤â @code{length*2+1} ¥Ð¥¤¥ÈŤò³ä¤êÅö¤Æ¤ë
-ɬÍפ¬¤¢¤ê¤Þ¤¹¡£¡ÊºÇ°­¤Î¾ì¹ç¡¢¤½¤ì¤¾¤ì¤Îʸ»ú¤¬£²¥Ð¥¤¥È¤ËÊÑ´¹¤µ¤ì¤ë¤³¤È¤¬¤¢
-¤ê¡¢¤µ¤é¤Ë½ªÃ¼ null ¥Ð¥¤¥È¤Î¤¿¤á¤Î¾ì½ê¤¬É¬ÍפǤ¹¡£¡Ë
-@code{mysql_escape_string()} ¤¬Éüµ¢¤¹¤ë¤È¤­¡¢@code{to}
-¤ÎÆâÍÆ¤Ï @code{NUL} ½ªÃ¼Ê¸»úÎó¤Ë¤Ê¤ê¤Þ¤¹¡£
-Ìá¤êÃͤÏÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó¤ÎŤµ¤Ç¤¹¡£½ªÃ¼ null ʸ»ú¤Ï´Þ¤ß¤Þ¤»¤ó¡£
-
-@subsubheading Îã
-
-@example
-char query[1000],*end;
-
-end = strmov(query,"INSERT INTO test_table values(");
-*end++ = '\'';
-end += mysql_real_escape_string(&mysql, end,"What's this",11);
-*end++ = '\'';
-*end++ = ',';
-*end++ = '\'';
-end += mysql_real_escape_string(&mysql, end,"binary data: \0\r\n",16);
-*end++ = '\'';
-*end++ = ')';
-
-if (mysql_real_query(&mysql,query,(unsigned int) (end - query)))
-@{
- fprintf(stderr, "Failed to insert row, Error: %s\n",
- mysql_error(&mysql));
-@}
-@end example
-
-¾åµ­¤Î @code{strmov()} ´Ø¿ô¤Ï @code{mysqlclient} ¥é¥¤¥Ö¥é¥ê¤Ë´Þ¤Þ¤ì¤Æ¤¤
-¤Æ¡¢@code{strcpy()} ¤Î¤è¤¦¤ËƯ¤­¤Þ¤¹¤¬¡¢ºÇ½é¤Î°ú¿ô¤Î½ª¤ê¤Î null ¤Ø¤Î¥Ý¥¤
-¥ó¥¿¤òÊÖ¤·¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-@code{to} ¤ØÃÖ¤«¤ì¤¿ÃͤÎŤµ¡£½ªÃ¼ null ʸ»ú¤Ï´Þ¤ß¤Þ¤»¤ó¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-
-@findex @code{mysql_real_query()}
-@node mysql_real_query, mysql_reload, mysql_real_escape_string, C API functions
-@subsection @code{mysql_real_query()}
-
-@code{int mysql_real_query(MYSQL *mysql, const char *query, unsigned int length)}
-
-@subsubheading ÀâÌÀ
-
-@code{query} ¤Ç¼¨¤µ¤ì¤ë SQL ¥¯¥¨¥ê¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤ì¤Ï @code{length} ¥Ð
-¥¤¥ÈŤǤ¹¡£¥¯¥¨¥ê¤Ï¤Ò¤È¤Ä¤Î SQL ¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£½ªÃ¼
-¤Î¥»¥ß¥³¥í¥ó(@samp{;})¤ä @code{\g} ¤ò¥¹¥Æ¡¼¥È¥á¥ó¥È¤ËÄɲ乤٤­¤Ç¤Ï¤¢¤ê¤Þ
-¤»¤ó¡£
-
-¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤ò´Þ¤à¥¯¥¨¥ê¤Ï @code{mysql_real_query()} ¤ò»È
-ÍÑ@emph{¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó}¡£¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤Ï @samp{\0} ʸ»ú¤ò´Þ¤à¤³¤È
-¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£
-¤Þ¤¿¡¢@code{mysql_real_query()} ¤Ï @code{mysql_query()} ¤è¤ê¤â®¤¤¤Ç¤¹¡£
-¥¯¥¨¥ê¤Î @code{strlen()} ¤ò¸Æ¤Ð¤Ê¤¤¤«¤é¤Ç¤¹¡£
-
-If you want to know if the query should return a result set or not, you can
-use @code{mysql_field_count()} to check for this.
-@xref{mysql_field_count, @code{mysql_field_count}}.
-
-@subsubheading Ìá¤êÃÍ
-
-¥¯¥¨¥ê¤¬À®¸ù¤·¤¿¾ì¹ç¤Ï0¡£¥¯¥¨¥ê¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤ÏÈó0¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@findex @code{mysql_reload()}
-@node mysql_reload, mysql_row_seek, mysql_real_query, C API functions
-@subsection @code{mysql_reload()}
-
-@code{int mysql_reload(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-@strong{MySQL} ¥µ¡¼¥Ð¤Ë¡¢¥¢¥¯¥»¥¹¸¢¥Æ¡¼¥Ö¥ë¤òºÆÆɤ߹þ¤ß¤¹¤ë¤è¤¦¤Ë°ÍÍꤷ
-¤Þ¤¹¡£Àܳ¤µ¤ì¤¿¥æ¡¼¥¶¤Ï @strong{reload} ¸¢¸Â¤ò»ý¤ÄɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-¤³¤Î´Ø¿ô¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó¡£Âå¤ï¤ê¤Ë¡¢SQL @code{FLUSH PRIVILEGES} ¥¹¥Æ¡¼¥È¥á
-¥ó¥È¤òȯ¹Ô¤¹¤ë @code{mysql_query()} ¤Î»ÈÍѤ¬¿ä¾©¤µ¤ì¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-À®¸ù»þ0¡£¼ºÇÔ»þÈó0¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@findex @code{mysql_row_seek()}
-@node mysql_row_seek, mysql_row_tell, mysql_reload, C API functions
-@subsection @code{mysql_row_seek()}
-
-@code{MYSQL_ROW_OFFSET mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET offset)}
-
-@subsubheading ÀâÌÀ
-¥ì¥³¡¼¥É¥«¡¼¥½¥ë¤ò¥¯¥¨¥ê·ë²Ì¥»¥Ã¥ÈÃæ¤ÎÀäÂХ쥳¡¼¥É¤ËÀßÄꤷ¤Þ¤¹¡£¤³¤ì¤Ï¡¢·ë
-²Ì¥»¥Ã¥È¹½Â¤ÂΤ¬¥¯¥¨¥ê¤Î¤¹¤Ù¤Æ¤Î·ë²Ì¤ò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢
-@code{mysql_row_seek()} ¤Ï @code{mysql_store_result()} ¤È¶¦¤Ë¤À¤±»ÈÍѤǤ­¡¢
-@code{mysql_use_result()} ¤È¶¦¤Ë¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£
-
-¥ª¥Õ¥»¥Ã¥È¤Ï @code{mysql_row_tell()} ¤Þ¤¿¤Ï @code{mysql_row_seek()} ¸Æ¤Ó¤À
-¤·¤«¤é¤ÎÌá¤êÃͤǤ¢¤ë¤Ù¤­¤Ç¤¹¡£¤³¤ÎÃͤÏñ½ã¤Ê¥ì¥³¡¼¥ÉÈÖ¹æ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó;¥ì
-¥³¡¼¥ÉÈÖ¹æ¤ò»ÈÍѤ·¤Æ·ë²Ì¥»¥Ã¥ÈÆâ¤Î¥ì¥³¡¼¥É¤Ë¥·¡¼¥¯¤·¤¿¤¤¾ì¹ç¤Ï¡¢
-@code{mysql_data_seek()} ¤òÂå¤ï¤ê¤Ë»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-
-@subsubheading Ìá¤êÃÍ
-
-¥ì¥³¡¼¥É¥«¡¼¥½¥ë¤ÎÁ°¤ÎÃÍ¡£¤³¤ÎÃͤϤ½¤Î¸å¤Î @code{mysql_row_seek()} ¸Æ¤Ó¤À
-¤·¤ËÅϤ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@findex @code{mysql_row_tell()}
-@node mysql_row_tell, mysql_select_db, mysql_row_seek, C API functions
-@subsection @code{mysql_row_tell()}
-
-@code{MYSQL_ROW_OFFSET mysql_row_tell(MYSQL_RES *result)}
-
-@subsubheading ÀâÌÀ
-
-ºÇ¸å¤Î @code{mysql_fetch_row()} ¤Ë¤Ä¤¤¤Æ¥ì¥³¡¼¥É¥«¡¼¥½¥ë¤Î¸½ºß¤Î°ÌÃÖ¤òÊÖ¤·¤Þ¤¹¡£
-¤³¤ÎÃÍ¤Ï @code{mysql_row_seek()} ¤Ø¤Î°ú¿ô¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£
-
-@code{mysql_row_tell()} ¤Ï @code{mysql_store_result()} ¤Î¸å¤Ë¤À¤±»ÈÍѤ¹¤Ù
-¤­¤Ç¡¢@code{mysql_use_result()} ¤Î¸å¤Ë¤Ï»ÈÍѤ¹¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-
-@subsubheading Ìá¤êÃÍ
-
-¹Ô¥«¡¼¥½¥ë¤Î¸½ºß¤Î¥ª¥Õ¥»¥Ã¥È¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@findex @code{mysql_select_db()}
-@node mysql_select_db, mysql_shutdown, mysql_row_tell, C API functions
-@subsection @code{mysql_select_db()}
-
-@code{int mysql_select_db(MYSQL *mysql, const char *db)}
-
-@subsubheading ÀâÌÀ
-
-@code{mysql} ¤Ç¼¨¤µ¤ì¤ë¸½ºß¤ÎÀܳ¤Ë¡¢¥Ç¥Õ¥©¥ë¥È(¸½ºß¤Î)¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·
-¤Æ @code{db} ¤Ç¼¨¤µ¤ì¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë»Ø¼¨¤·¤Þ¤¹¡£°Ê¹ß¤Î¥¯
-¥¨¥ê¤Ç¤Ï¡¢ÌÀ¼¨Åª¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»ØÄꤷ¤Ê¤¤¥Æ¡¼¥Ö¥ë»²¾È¤Ë¤Ä¤¤¤Æ¡¢¤³¤Î¥Ç¡¼
-¥¿¥Ù¡¼¥¹¤¬¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-Àܳ¤µ¤ì¤¿¥æ¡¼¥¶¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»ÈÍѤ¹¤ë¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤ë¤È¾ÚÌÀ¤µ¤ì¤Ê¤±¤ì
-¤Ð¡¢@code{mysql_select_db()} ¤Ï¼ºÇÔ¤·¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-À®¸ù»þ0¡£¼ºÇÔ»þÈó0¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@findex @code{mysql_shutdown()}
-@node mysql_shutdown, mysql_stat, mysql_select_db, C API functions
-@subsection @code{mysql_shutdown()}
-
-@code{int mysql_shutdown(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¡¼¥Ð¤Ë¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤è¤¦¤ËÍ׵ᤷ¤Þ¤¹¡£Àܳ¤µ¤ì¤¿¥æ¡¼¥¶
-¤Ï @strong{shutdown} ¸¢¸Â¤ò»ý¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-À®¸ù»þ0¡£¼ºÇÔ»þÈó0¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@findex @code{mysql_stat()}
-@node mysql_stat, mysql_store_result, mysql_shutdown, C API functions
-@subsection @code{mysql_stat()}
-
-@code{char *mysql_stat(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-@code{mysqladmin status} ¤ÇÄ󶡤µ¤ì¤ë¤Î¤ÈƱÍͤξðÊó¤òʸ»úÎó¤È¤·¤ÆÊÖ¤·¤Þ
-¤¹¡£¤³¤ì¤ÏÉäǤΠuptime ¤È¡¢¼Â¹ÔÃæ¤Î¥¹¥ì¥Ã¥É¿ô¡¢Ì䤤¹ç¤ï¤»¿ô¡¢ºÆÆɤ߹þ¤ß
-¿ô¡¢¥ª¡¼¥×¥ó¥Æ¡¼¥Ö¥ë¿ô¤ò´Þ¤ß¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-¥µ¡¼¥Ð¾õÂÖ¤òɽ¤ï¤¹Ê¸»úÎó¡£¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç @code{NULL}¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@findex @code{mysql_store_result()}
-@node mysql_store_result, mysql_thread_id, mysql_stat, C API functions
-@subsection @code{mysql_store_result()}
-
-@code{MYSQL_RES *mysql_store_result(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤¹¥¯¥¨¥ê(@code{SELECT}, @code{SHOW}, @code{DESCRIBE},
-@code{EXPLAIN})¤¬À®¸ù¤¹¤ëËè¤Ë¡¢@code{mysql_store_result()} ¤Þ¤¿¤Ï
-@code{mysql_use_result()} ¤ò¸Æ¤Ó½Ð¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-
-If you want to know if the query should return a result set or not, you can
-use @code{mysql_field_count()} to check for this.
-@xref{mysql_field_count, @code{mysql_field_count}}.
-
-@code{mysql_store_result()} ¤Ï¥¯¥¨¥ê¤Î¤¹¤Ù¤Æ¤Î·ë²Ì¤ò¥¯¥é¥¤¥¢¥ó¥È¤ØÆɤ߹þ¤ß¡¢
-@code{MYSQL_RES} ¹½Â¤ÂΤò³ä¤êÅö¤Æ¡¢¤³¤Î¹½Â¤ÂΤ˷ë²Ì¤òÇÛÃÖ¤·¤Þ¤¹¡£
-
-@code{mysql_store_results()} returns a null pointer if the query didn't return
-a result sets (If the query was for example an @code{INSERT} statement).
-
-@code{mysql_store_results()} returns also null pointer if reading of the
-result set failed. You can check if you got an error by checking if
-@code{mysql_error()} doesn't return a null pointer, if
-@code{mysql_errno()} returns <> 0 or if @code{mysql_field_count()}
-returns <> 0.
-
-ÊÖ¤µ¤ì¤ë¥ì¥³¡¼¥É¤¬Ìµ¤¤¾ì¹ç¡¢¶õ¤Î·ë²Ì¥»¥Ã¥È¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£ (¶õ¤Î·ë²Ì¥»¥Ã¥È¤Ï
-@code{NULL} Ìá¤êÃͤȤϰۤʤê¤Þ¤¹¡£)
-
-°ìÅÙ @code{mysql_store_result()} ¤ò¸Æ¤Ó½Ð¤·¤Æ null ¥Ý¥¤¥ó¥¿¡¼¤Ç¤Ê¤¤
-·ë²Ì¤òÆÀ¤ë»ö¤¬¤Ç¤­¤¿¤é¡¢·ë²Ì¥»¥Ã¥ÈÃæ¤Ë¤¤¤¯¤Ä¤Î¥ì
-¥³¡¼¥É¤¬¤¢¤ë¤«¤ò¸«¤Ä¤±¤ë¤¿¤á¤Ë¡¢@code{mysql_num_rows()} ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç
-¤­¤Þ¤¹¡£
-
-·ë²Ì¥»¥Ã¥È¤«¤é¥ì¥³¡¼¥É¤ò¼è¤ê½Ð¤¹¤¿¤á¤Ë @code{mysql_fetch_row()} ¤ò¸Æ¤Ó½Ð¤¹
-¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢·ë²Ì¥»¥Ã¥ÈÆâ¤Î¸½ºß¤Î¥ì¥³¡¼¥É°ÌÃÖ¤òÀßÄê¡¿¼èÆÀ¤¹¤ë¤¿¤á
-¤Ë @code{mysql_row_seek()} ¤È @code{mysql_row_tell()} ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­
-¤Þ¤¹¡£
-
-°ìÅÙ·ë²Ì¥»¥Ã¥È¤Ç¹Ô¤Ê¤¦¤È¡¢@code{mysql_free_result()} ¤ò¸Æ¤Ó½Ð¤¹É¬Íפ¬¤¢
-¤ê¤Þ¤¹¡£
-
-@xref{NULL mysql_store_result, , @code{NULL mysql_store_result()}}.
-
-@subsubheading Ìá¤êÃÍ
-
-·ë²Ì¤Î @code{MYSQL_RES} ·ë²Ì¹½Â¤ÂΡ£¥¨¥é¡¼¤¬¤¢¤ë¾ì¹ç @code{NULL}¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_OUT_OF_MEMORY
-¥á¥â¥êÉÔ­¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@findex @code{mysql_thread_id()}
-@node mysql_thread_id, mysql_use_result, mysql_store_result, C API functions
-@subsection @code{mysql_thread_id()}
-
-@code{unsigned long mysql_thread_id(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-¸½ºß¤ÎÀܳ¤Î¥¹¥ì¥Ã¥É ID ¤òÊÖ¤·¤Þ¤¹¡£¤³¤ÎÃͤϡ¢¥¹¥ì¥Ã¥É¤ò»¦¤¹¤¿¤á¤Î
-@code{mysql_kill()} ¤Ø¤Î°ú¿ô¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£
-
-Àܳ¤¬¼º¤ï¤ì¤Æ¡¢@code{mysql_ping()} ¤ÇºÆÀܳ¤·¤¿¾ì¹ç¡¢¥¹¥ì¥Ã¥É ID ¤ÏÊѹ¹¤µ
-¤ì¤Þ¤¹¡£¤³¤ì¤Ï¥¹¥ì¥Ã¥É ID ¤ò¸å¤Ç»È¤¦¤¿¤á¤Ë¼èÆÀ¤·¤Æ³ÊǼ¤¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¤³¤È¤ò
-°ÕÌ£¤·¤Þ¤¹¡£É¬Íפʻþ¤Ë¤½¤ì¤ò¼èÆÀ¤¹¤Ù¤­¤Ç¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-¸½ºß¤ÎÀܳ¤Î¥¹¥ì¥Ã¥É ID¡£
-
-@subsubheading ¥¨¥é¡¼
-̵¤·¡£
-
-@findex @code{mysql_use_result()}
-@node mysql_use_result, NULL mysql_store_result, mysql_thread_id, C API functions
-@subsection @code{mysql_use_result()}
-
-@code{MYSQL_RES *mysql_use_result(MYSQL *mysql)}
-
-@subsubheading ÀâÌÀ
-
-¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤¹¥¯¥¨¥ê(@code{SELECT}, @code{SHOW}, @code{DESCRIBE},
-@code{EXPLAIN})¤¬À®¸ù¤¹¤ëËè¤Ë¡¢ @code{mysql_store_result()} ¤Þ¤¿¤Ï
-@code{mysql_use_result()} ¤ò¸Æ¤Ó½Ð¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-
-@code{mysql_use_result()} ¤Ï·ë²Ì¥»¥Ã¥È¸¡º÷¤ò³«»Ï¤·¤Þ¤¹¤¬,
-@code{mysql_store_result()} ¤Î¤è¤¦¤Ë¡¢¼ÂºÝ¤Ë¥¯¥é¥¤¥¢¥ó¥È¤Ë·ë²Ì¥»¥Ã¥È¤òÆɤß
-¼è¤ê¤Þ¤»¤ó. Âå¤ï¤ê¤Ë¡¢³Æ¥ì¥³¡¼¥É¤Ï @code{mysql_fetch_row()} ¸Æ¤Ó¤À¤·¤¬¹Ô¤Ê
-¤ï¤ì¤ë¤³¤È¤Ë¤è¤ê¡¢¸Ä¡¹¤Ë¼è¤ê½Ð¤µ¤ì¤Þ¤¹¡£
-@code{mysql_use_result()} ¤Ï¥¯¥¨¥ê¤Î·ë²Ì¤ò¡¢°ì»þ¥Æ¡¼¥Ö¥ë¤ä¥í¡¼¥«¥ë¥Ð¥Ã¥Õ¥¡
-¤Ë³ÊǼ¤¹¤ë¤³¤È̵¤¯¡¢¥µ¡¼¥Ð¤«¤éľÀÜÆɤ߹þ¤ß¤Þ¤¹¡£¤³¤ì¤Ï
-@code{mysql_store_result()} ¤è¤ê¤â¤¤¤¯¤é¤«Â®¤¯¡¢¾¯¤Ê¤¤¥á¥â¥ê¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¸½ºß¤Î¹Ô¤ÈÀܳ¥Ð¥Ã¥Õ¥¡
-( @code{max_allowed_packet} bytes ¤Þ¤ÇÁý²Ã¤¹¤ë ) ¤Î¥á¥â¥ê¤À¤±¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£
-
-°ìÊý¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Ç³Æ¹Ô¤Ë
-¤Ä¤¤¤Æ¿¤¯¤Î½èÍý¤ò¹Ô¤Ê¤¦¾ì¹ç¤ä¡¢¥æ¡¼¥¶¤¬ @code{^S} (¥¹¥¯¥í¡¼¥ëÄä»ß) ¤òÆþ
-ÎϤǤ­¤ë¤è¤¦¤Ê²èÌ̤˽ÐÎϤòÁ÷¤ë¾ì¹ç¤Ï¡¢@code{mysql_use_result()} ¤ò»ÈÍѤ¹
-¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï¥µ¡¼¥Ð¤ÈÏ¢·È¤·¤Æ¤ª¤ê¡¢Â¾¤Î¥¹¥ì¥Ã¥É¤¬
-¥Ç¡¼¥¿¤¬¼è¤ê½Ð¤µ¤ì¤ë¥Æ¡¼¥Ö¥ë¤ò¹¹¿·¤¹¤ë»ö¤ò¼ÙË⤷¤Þ¤¹¡£
-
-@code{mysql_use_result()} »ÈÍÑ»þ¡¢@code{NULL} Ãͤò¼è¤ê½Ð¤¹¤Þ¤Ç
-@code{mysql_fetch_row()} ¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤¤¤È¡¢¼¡¤Î¥¯
-¥¨¥ê¤ÏÁ°¤Î¥¯¥¨¥ê¤«¤é·ë²Ì¤ò¼è¤ê½Ð¤·¤Þ¤¹¡£¤³¤ì¤ò˺¤ì¤ë¤È¡¢C API ¤Ï¥¨¥é¡¼
-@code{Commands out of sync; You can't run this command now} ¤òÍ¿¤¨¤Þ¤¹¡ª
-
-@code{mysql_use_result()} ¤«¤éÊÖ¤µ¤ì¤ë·ë²Ì¤Ç¤Ï¡¢
-@code{mysql_data_seek()}, @code{mysql_row_seek()},
-@code{mysql_row_tell()}, @code{mysql_num_rows()},
-@code{mysql_affected_rows()} ¤ò»ÈÍѤǤ­¤Þ¤»¤ó¡£
-¤Þ¤¿¡¢@code{mysql_use_result()} ¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¾¤Î¥¯¥¨¥ê¤Îȯ¹Ô¤â¤Ç¤­¤Þ¤»
-¤ó¡£(Á´¤Æ¤Î¹Ô¤ò¥Õ¥§¥Ã¥Á¤·¤¿¸å¤Ë¡¢¥Õ¥§¥Ã¥Á¤µ¤ì¤¿¹Ô¿ô¤òÃΤ뤿¤á¤Ë
-@code{mysql_num_rows} ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£)
-
-°ìÅÙ·ë²Ì¥»¥Ã¥È¤Ç¹Ô¤Ê¤¦¤È¡¢@code{mysql_free_result()} ¤ò¸Æ¤Ó½Ð¤¹É¬Íפ¬¤¢
-¤ê¤Þ¤¹¡£
-
-@subsubheading Ìá¤êÃÍ
-
-·ë²Ì¤Î @code{MYSQL_RES} ·ë²Ì¹½Â¤ÂΡ£¥¨¥é¡¼¤¬¤¢¤ë¾ì¹ç @code{NULL}¡£
-
-@subsubheading ¥¨¥é¡¼
-
-@table @code
-@item CR_COMMANDS_OUT_OF_SYNC
-ÉÔÅö¤Ê½ç¤Ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤¿¡£
-@item CR_OUT_OF_MEMORY
-¥á¥â¥êÉÔ­¡£
-@item CR_SERVER_GONE_ERROR
-@strong{MySQL} ¥µ¡¼¥Ð¤¬¤¤¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item CR_SERVER_LOST
-¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¥¯¥¨¥êÃæ¤Ë¼º¤ï¤ì¤¿¡£
-@item CR_UNKNOWN_ERROR
-̤ÃΤΥ¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
-@end table
-
-@node NULL mysql_store_result, Query results, mysql_use_result, C API functions
-@subsection @code{mysql_query()} ¤¬À®¸ù¤òÊÖ¤·¤¿¸å¡¢@code{mysql_store_result()} ¤¬ @code{NULL} ¤òÊÖ¤¹»þ¤¬¤¢¤ë¤Î¤Ï²¿¸Î¡©
-
-@code{mysql_query()} ¤Î¸Æ¤Ó½Ð¤·¤¬À®¸ù¤·¤¿¸å¤Ë
-@code{mysql_store_result()} ¤¬ @code{NULL} ¤òÊÖ¤¹¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤¬
-µ¯¤³¤Ã¤¿¤È¤­¡¢¼¡¤Î¾ò·ï¤Î¤É¤ì¤«¤ÎȯÀ¸¤ò°ÕÌ£¤·¤Þ¤¹:
-
-@itemize @bullet
-@item
-@code{malloc()} ¤¬¼ºÇÔ¤·¤¿ (Î㤨¤Ð¡¢·ë²Ì¥»¥Ã¥È¤¬Â礭²á¤®¤¿¾ì¹ç)¡£
-
-@item
-¥Ç¡¼¥¿¤¬Æɤá¤Ê¤«¤Ã¤¿ (Àܳ¤Î¥¨¥é¡¼)¡£
-
-@item
-¥¯¥¨¥ê¤¬¥Ç¡¼¥¿¤òÊÖ¤µ¤Ê¤«¤Ã¤¿ (@code{INSERT}, @code{UPDATE}, @code{DELETE})¡£
-@end itemize
-
-¥¹¥Æ¡¼¥È¥á¥ó¥È¤¬¶õ¤Ç¤Ê¤¤·ë²Ì¤òÄ󶡤¹¤ë¤«¤É¤¦¤«¤Ï
-@code{mysql_field_count()} ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¤¤¤Ä¤Ç¤â¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£
-@code{mysql_field_count()} ¤¬ 0 ¤òÊÖ¤¹¾ì¹ç¡¢·ë²Ì¤Ï¶õ¤ÇºÇ¸å¤Î¥¯¥¨¥ê¤ÏÃͤò
-ÊÖ¤µ¤Ê¤¤¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ç¤¹ (Î㤨¤Ð¡¢@code{INSERT} ¤ä @code{DELETE})¡£
-@code{mysql_field_count()} ¤¬Èó 0 ÃͤòÊÖ¤¹¾ì¹ç¡¢¥¹¥Æ¡¼¥È¥á¥ó¥È¤Ï¶õ¤Ç¤Ê¤¤
-·ë²Ì¤òÄ󶡤·¤Þ¤¹¡£
-Îã¤Ï@code{mysql_field_count()} ´Ø¿ô¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-@code{mysql_error()} ¤Þ¤¿¤Ï @code{mysql_errno()} ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤Ã¤Æ
-¥¨¥é¡¼¤Î¥Æ¥¹¥È¤â¤Ç¤­¤Þ¤¹¡£
-
-@node Query results, Getting unique ID, NULL mysql_store_result, C API functions
-@subsection ¥¯¥¨¥ê¤«¤éÆÀ¤é¤ì¤ë·ë²Ì¤Ï²¿¤«¡©
-
-¥¯¥¨¥ê¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤ë·ë²Ì¥»¥Ã¥È¤Ë²Ã¤¨¤Æ¡¢¼¡¤Î¾ðÊó¤âÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-
-@itemize @bullet
-@item
-@code{mysql_affected_rows()} ¤Ï¡¢@code{INSERT}, @code{UPDATE} ¤Þ¤¿¤Ï
-@code{DELETE} ¤ò¹Ô¤Ê¤Ã¤¿»þ¤ÎºÇ¸å¤Î¥¯¥¨¥ê¤Ç¡¢±Æ¶Á¤µ¤ì¤¿¹Ô¿ô¤òÊÖ¤·¤Þ¤¹¡£
-@code{WHERE} À᤬¤Ê¤¤ @code{DELETE} ¤¬»ÈÍѤµ¤ì¤Æ¡¢¥Æ¡¼¥Ö¥ë¤¬ÀÚ¤êµÍ¤á¤é¤ì
-¤¿¾ì¹ç¤ÏÎã³°¤Ç¤¹¡£¤³¤ì¤Ï¤È¤Æ¤â®¤¤¤Ç¤¹¡ª ¤³¤Î¾ì¹ç¡¢
-@code{mysql_affected_rows()} ¤Ï±Æ¶Á¤µ¤ì¤¿¹Ô¿ô¤ò 0 ¤ÈÊÖ¤·¤Þ¤¹¡£
-
-@item
-@code{mysql_num_rows()} ¤Ï·ë²Ì¥»¥Ã¥È¤Î¥ì¥³¡¼¥É¿ô¤òÊÖ¤·¤Þ¤¹¡£
-@code{mysql_store_result()} ¤Ç¤Ï¡¢@code{mysql_num_rows()} ¤Ï
-@code{mysql_store_result()} ¤¬Éüµ¢¤·¤¿¤¹¤°¸å¤Ë¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@code{mysql_use_result()} ¤Ç¤Ï¡¢@code{mysql_num_rows()} ¤Ï
-@code{mysql_fetch_row()} ¤Ç¤¹¤Ù¤Æ¤Î¥ì¥³¡¼¥É¤ò¼è¤ê½Ð¤·¤¿¸å¤Ë¤À¤±¸Æ¤Ö½Ð¤¹¤³
-¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@item
-@code{mysql_insert_id()} ¤Ï¡¢@code{AUTO_INCREMENT} ¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Ä¥Æ¡¼
-¥Ö¥ë¤Ë¹Ô¤òÁÞÆþ¤·¤¿ºÇ¸å¤Î¥¯¥¨¥ê¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿ ID ¤òÊÖ¤·¤Þ¤¹¡£
-@xref{mysql_insert_id, , @code{mysql_insert_id()}}.
-
-@item
-¤¤¤¯¤Ä¤«¤Î¥¯¥¨¥ê (@code{LOAD DATA INFILE...}, @code{INSERT INTO ...
-SELECT ...}, @code{UPDATE}) ¤ÏÄɲþðÊó¤òÊÖ¤·¤Þ¤¹¡£·ë²Ì¤Ï
-@code{mysql_info()} ¤ÇÊÖ¤µ¤ì¤Þ¤¹¡£
-ÊÖ¤¹Ê¸»úÎó¤Î·Á¼°¤Ë¤Ä¤¤¤Æ¤Ï¡¢@code{mysql_info()} ¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-@code{mysql_info()} ¤ÏÄɲþðÊ󤬤ʤ¤¾ì
-¹ç¤Ï @code{NULL} ¥Ý¥¤¥ó¥¿¤òÊÖ¤·¤Þ¤¹¡£
-@end itemize
-
-@node Getting unique ID, C API linking problems, Query results, C API functions
-@subsection ºÇ¸å¤ËÁÞÆþ¤µ¤ì¤¿¹Ô¤Î¥æ¥Ë¡¼¥¯ ID ¤ò¤É¤Î¤è¤¦¤ËÆÀ¤é¤ì¤ë¤«¡©
-
-@code{AUTO_INCREMENT} °À­¤ò»ý¤Ä¹àÌܤò´Þ¤à¥Æ¡¼¥Ö¥ë¤Ë¥ì¥³¡¼¥É¤òÁÞÆþ¤¹¤ë¾ì
-¹ç¡¢@code{mysql_insert_id()} ´Ø¿ô¤ÇÍ¿¤¨¤é¤ì¤¿ ID ¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-@code{mysql_query()} ¤ËÅϤ¹¥¯¥¨¥êʸ»úÎóÆâ¤Î@code{LAST_INSERT_ID()} ´Ø¿ô
-¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¤â¡¢ID ¤ò¼è¤ê½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-¼¡¤Î¥³¡¼¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢@code{AUTO_INCREMENT} ¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬»ÈÍѤµ¤ì
-¤¿¤«¤É¤¦¤«¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¯¥¨¥ê¤¬ @code{AUTO_INCREMENT} ¥¤¥ó
-¥Ç¥Ã¥¯¥¹¤òȼ¤¦ @code{INSERT} ¤À¤Ã¤¿¤«¤É¤¦¤«¤â¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹:
-
-@example
-if (mysql_error(&mysql)[0] == 0 &&
- mysql_num_fields(result) == 0 &&
- mysql_insert_id(&mysql) != 0)
-@{
- used_id = mysql_insert_id(&mysql);
-@}
-@end example
-
-À¸À®¤µ¤ì¤¿ºÇ¸å¤Î ID ¤ÏÀܳËè¤Ë¥µ¡¼¥ÐÆâ¤Ç°Ý»ý¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Â¾¤Î¥¯¥é¥¤¥¢¥ó¥È
-¤Ë¤è¤Ã¤ÆÊѹ¹¤Ï¤µ¤ì¤Þ¤»¤ó¡£Â¾¤Î @code{AUTO_INCREMENT} ¹àÌܤòÈó¥Þ¥¸¥Ã¥¯ÃÍ
-(¤¹¤Ê¤ï¤Á¡¢@code{NULL} ¤Ç¤Ê¤¯ @code{0} ¤Ç¤Ê¤¤ÃÍ) ¤Ç¹¹¿·¤¹¤ë¾ì¹ç¤Ç¤â¡¢¤½¤ì¤ÏÊѹ¹
-¤µ¤ì¤Þ¤»¤ó¡£
-
-¤Þ¤¿¡¢Â¾¤Î¥Æ¡¼¥Ö¥ë¤Ë¤½¤Î ID ¤òÁÞÆþ¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¡¢¼¡¤Ç¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹:
-
-@example
-INSERT INTO foo (auto,text)
- VALUES(NULL,'text'); # generate ID by inserting NULL
-INSERT INTO foo2 (id,text)
- VALUES(LAST_INSERT_ID(),'text'); # use ID in second table
-@end example
-
-@node C API linking problems, Thread-safe clients, Getting unique ID, C API functions
-@subsection C API ¤Ç¤Î¥ê¥ó¥¯¤ÎÌäÂê
-
-C API ¤Ç¥ê¥ó¥¯¤¹¤ë»þ¡¢¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¾å¤Ç¤Ï¼¡¤Î¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹:
-
-@example
-gcc -g -o client test.o -L/usr/local/lib/mysql -lmysqlclient -lsocket -lnsl
-
-Undefined first referenced
- symbol in file
-floor /usr/local/lib/mysql/libmysqlclient.a(password.o)
-ld: fatal: Symbol referencing errors. No output written to client
-@end example
-
-¤³¤ì¤Ï¡¢¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à¾å¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë/¥ê¥ó¥¯¹Ô¤ÎºÇ¸å¤Ë¡¢math ¥é¥¤¥Ö
-¥é¥ê (@code{-lm}) ¤ò´Þ¤á¤ëɬÍפ¬¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-
-@node Thread-safe clients, , C API linking problems, C API functions
-@subsection ¥¹¥ì¥Ã¥É°ÂÁ´¥¯¥é¥¤¥¢¥ó¥È¤òºî¤ëÊýË¡
-
-¥¯¥é¥¤¥¢¥ó¥È¤Ï `¤Û¤È¤ó¤É' ¥¹¥ì¥Ã¥É°ÂÁ´¤Ç¤¹¡£°ìÈÖÂ礭¤ÊÌäÂê¤Ï
-@file{net.c} (¥½¥±¥Ã¥È¤«¤éÆɤ߹þ¤ß¤ò¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó¤ò´Þ¤à¥Õ¥¡¥¤¥ë) ¤¬³ä
-¤ê¹þ¤ß°ÂÁ´¤Ç¤Ê¤¤¤³¤È¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥µ¡¼¥Ð¤«¤é¤ÎŤ¤Æɤ߹þ¤ß¤òÃæÃǤǤ­¤ë¤è
-¤¦¤Ë¡¢¼«¿È¤Î¥¢¥é¡¼¥à¤ò»ý¤Á¤¿¤¤¤À¤í¤¦¤È¤¤¤¦¹Íθ¤Ç¹Ô¤Ê¤ï¤ì¤Þ¤·¤¿¡£
-If you
-install an interrupt handlers for the @code{SIGPIPE} interrupt,
-the socket handling should be thread safe.
-
-ɸ½à¥¯¥é¥¤¥¢¥ó¥È¥é¥¤¥Ö¥é¥ê¤Ï¥¹¥ì¥Ã¥É¥ª¥×¥·¥ç¥ó¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-
-¥¹¥ì¥Ã¥É°ÂÁ´¥¯¥é¥¤¥¢¥ó¥È(MySQL¥µ¡¼¥Ð¡¼¤È¤ÎÄÌ¿®»þ¤Ë¡¢
-¾¤Î¥¹¥ì¥Ã¥É¤¬¥¯¥é¥¤¥¢¥ó¥È¤Î¥¹¥ì¥Ã¥É¤Ë interrupt ¤ò¤«¤±¤¿¤ê¡¢
-¥¿¥¤¥à¥¢¥¦¥È¤ò¥»¥Ã¥È¤·¤¿¤ê¤¹¤ë)
-¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢@code{-lmysys}, @code{-lstring},
-@code{-ldbug} ¥é¥¤¥Ö¥é¥ê¤È¥µ¡¼¥Ð¤¬»ÈÍѤ¹¤ë @code{net_serv.o} ¤ò»ÈÍѤ·¤Þ
-¤¹¡£
-
-If you don't need interrupts or timeouts you can just compile the client
-library @code{(mysqlclient)} to be thread safe and use this. In this
-case you don't have to worry about the @code{net_serv.o} object file or
-the other @strong{MySQL} libraries.
-
-¥¹¥ì¥Ã¥É¥¯¥é¥¤¥¢¥ó¥È¤ò»ÈÍѤ¹¤ë»þ¡¢@file{thr_alarm.c} ¥ë¡¼¥Á¥ó¤òÂ礤¤Ë»È
-ÍѤǤ­¤Þ¤¹¡£@code{mysys} ¥é¥¤¥Ö¥é¥ê¤«¤é¤Î¥ë¡¼¥Á¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢³Ð¤¨¤Æ
-¤ª¤«¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤Ï @code{my_init()} ¤òºÇ½é¤Ë¸Æ¤Ö¤³¤È¤À¤±¤Ç¤¹¡ª
-
-@code{mysql_real_connect()} ¤ò½ü¤¯Á´¤Æ¤Î´Ø¿ô¤Ï¸½ºß¥¹¥ì¥Ã¥É°ÂÁ´¤Ç¤¹¡£¥¹¥ì¥Ã
-¥É°ÂÁ´¥¯¥é¥¤¥¢¥ó¥È¥é¥¤¥Ö¥é¥ê¤ò¥³¥ó¥Ñ¥¤¥ë¤·¡¢¤½¤ì¤ò¥¹¥ì¥Ã¥É°ÂÁ´¤Ê¥Þ¥Ê¡¼¤Ç»È
-ÍѤ¹¤ë¤¿¤á¤ÎÊýË¡¤ò¡¢¼¡¤ÎÃí°Õ¤ÇÀâÌÀ¤·¤Þ¤¹¡£(¤³¤Î
-@code{mysql_real_connect()} ¤Ë¤Ä¤¤¤Æ¤ÎÃí°Õ¤Ï¡¢¼ÂºÝ¤Ë¤Ï
-@code{mysql_connect()} ¤Ë¤âÍ­¸ú¤Ç¤¹¡£¤·¤«¤· @code{mysql_connect()} ¤Ï¿ä¾©
-¤µ¤ì¤Þ¤»¤ó¤Î¤Ç¡¢¤È¤Ë¤«¤¯ @code{mysql_real_connect()} ¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¹¡£)
-
-@code{mysql_real_connect()} ¤ò¥¹¥ì¥Ã¥É°ÂÁ´¤Ë¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤ò¼¡¤Î
-¥³¥Þ¥ó¥É¤ÇºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹:
-
-@example
-shell> ./configure --enable-thread-safe-client
-@end example
-
-This will ensure that the client library will use the header files required
-for thread safe programs and also that @code{mysql_real_connect()} will use
-a thread safe version of the @code{gethostbyname()} call.
-
-ɸ½à¥¯¥é¥¤¥¢¥ó¥È¤Î¥ê¥ó¥¯»þ¤Ë̤ÄêµÁ¥·¥ó¥Ü¥ë¤Î¤¿¤á¤¤¤¯¤Ä¤«¤Î¥¨¥é¡¼¤¬½Ð¤ë¤Ç
-¤·¤ç¤¦¡£¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï pthread ¥é¥¤¥Ö¥é¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¤Ç¤¹¡£
-
-@c ·ë²Ì¤Î @file{libmysqld.a} ¥é¥¤¥Ö¥é¥ê¤Ï¸½ºß¥¹¥ì¥Ã¥É°ÂÁ´¤Ç¤¹¡£
-
-@c 2¤Ä¤Î¥¹¥ì¥Ã¥É¤ÏƱ¤¸Àܳ¥Ï¥ó¥É¥ë (@code{mysql_connect()} ¤ÇÊÖ¤µ¤ì¤ë¤â¤Î)
-@c ¤òƱ»þ¤Ë»ÈÍѤǤ­¤Þ¤»¤ó¡£2¤Ä¤Î¥¹¥ì¥Ã¥É¤¬¡¢@code{mysql_store_result()} ¤Ç
-@c ºîÀ®¤µ¤ì¤¿°Û¤Ê¤ë @code{MYSQL_RES} ¥Ý¥¤¥ó¥¿¤ò»ÈÍѤǤ­¤ë¤È¤·¤Æ¤â¤Ç¤¹¡£
-
-·ë²Ì¤Î @file{libmysqlclient.a} ¥é¥¤¥Ö¥é¥ê¤Ï¥¹¥ì¥Ã¥É°ÂÁ´¤Ç¤¹¡£¤³¤ì¤Î°ÕÌ£¤¹
-¤ë¤³¤È¤Ï¡¢Æ±¤¸Àܳ¥Ï¥ó¥É¥ë(@code{mysql_real_connect()} ¤ÇÊÖ¤µ¤ì¤ë)¤Ë¡¢Æ±»þ
-¤Ë£²¤Ä¤Î¥¹¥ì¥Ã¥É¤«¤é¥¯¥¨¥ê¤ò¹Ô¤Ê¤ï¤Ê¤¤¸Â¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¥³¡¼¥É¤Ï¥¹¥ì¥Ã¥É°Â
-Á´¤È¤¤¤¦¤³¤È¤Ç¤¹; ¥¯¥é¥¤¥¢¥ó¥È¡¿¥µ¡¼¥Ð¥×¥í¥È¥³¥ë¤Ï¡¢Í¿¤¨¤é¤ì¤¿Àܳ¾å¤ÇƱ»þ
-¤Ë°ì¤Ä¤ÎÍ×µá¤À¤±¤òµö¤·¤Þ¤¹¡£Ê£¿ô¤Î¥¹¥ì¥Ã¥É¤«¤éƱ¤¸Àܳ¤ò»ÈÍѤ·¤¿¤¤¾ì¹ç¤Ï¡¢
-@code{mysql_query()} ¤È @code{mysql_store_result()} ¤ÎÁȤ߹ç¤ï¤»¤Î¤Þ¤ï¤ê¤Ç
-mutex lock ¤ò¹Ô¤Ê¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£°ìÅÙ @code{mysql_store_result()} ¤ÎÍÑ°Õ
-¤¬¤Ç¤­¤ë¤È¡¢¥í¥Ã¥¯¤Ï²òÊü¤Ç¤­¡¢Â¾¤Î¥¹¥ì¥Ã¥É¤¬Æ±¤¸Àܳ¤Ë¥¯¥¨¥ê¤ò¹Ô¤Ê¤¦¤³¤È¤¬
-¤Ç¤­¤Þ¤¹¡£(¾¤Î¸ÀÍդǸÀ¤¦¤È¡¢Àµ¤·¤¤¥í¥Ã¥¯¥×¥í¥È¥³¥ë¤ò»ÈÍѤ¹¤ë¸Â¤ê¡¢Ê̤Υ¹
-¥ì¥Ã¥É¤Ï¡¢@code{mysql_store_result()} ¤ÇÀ¸À®¤µ¤ì¤ëÊ̤Π@code{MYSQL_RES} ¥Ý
-¥¤¥ó¥¿¤ò»ÈÍѤǤ­¤Þ¤¹¡£) POSIX ¥¹¥ì¥Ã¥É¤Ç¥×¥í¥°¥é¥à¤ò¹Ô¤Ê¤¦¾ì¹ç¡¢
-@code{pthread_mutex_lock()} ¤È @code{pthread_mutex_unlock()} ¤ò¡¢mutex
-lock ¤Î³ÎΩ¤È²òÊü¤Ë»ÈÍѤǤ­¤Þ¤¹¡£
-
-@code{mysql_store_result()} ¤Ç¤Ê¤¯ @code{mysql_use_result()} ¤ò»ÈÍѤ¹¤ë¾ì
-¹ç¡¢@code{mysql_use_result()} ¤Î²ó¤ê¤È @code{mysql_fetch_row()} ¸Æ¤Ó½Ð¤·¤Ë
-¥í¥Ã¥¯¤¬É¬ÍפǤ¹¡£¤·¤«¤·¡¢¥¹¥ì¥Ã¥É²½¥¯¥é¥¤¥¢¥ó¥È¤ËËÜÅö¤Ë°ìÈÖÎɤ¤¤Î¤Ï¡¢
-@code{mysql_use_result()} ¤ò»ÈÍѤ·¤Ê¤¤¤³¤È¤Ç¤¹¡£
-
-@node Perl, Eiffel, C API functions, Clients
-@section @strong{MySQL} Perl API
-
-¤³¤³¤Ç¤Ï Perl @code{DBI} ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤ë¡£
-°ÊÁ°¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï @code{mysqlperl} ¤Ç¤¢¤Ã¤¿¡£
-@code{DBI}/@code{DBD} ¤¬ Perl ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤È¤·¤Æ¸½ºß¿ä¾©¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢
-@code{mysqlperl} ¤Ë´Ø¤·¤Æ¤Ï¤³¤³¤Ç¤Ï½Ò¤Ù¤Ê¤¤¡£
-
-@menu
-* DBI with DBD:: @code{DBI} with @code{DBD::mysql}
-* Perl DBI Class:: The @code{DBI} interface
-* DBI-info:: More @code{DBI}/@code{DBD} information
-@end menu
-
-@node DBI with DBD, Perl DBI Class, Perl, Perl
-@subsection @code{DBI} with @code{DBD::mysql}
-
-@code{DBI} ¤Ï¿¤¯¤Î¥Ç¡¼¥¿¡¼¥Ù¡¼¥¹¤È¤Î°ìÈÌŪ¤Ê¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¢¤ë¡£
-¤³¤ì¤Ï¡¢Â¿¤¯¤Î¥Ç¡¼¥¿¡¼¥Ù¡¼¥¹¤ÈÆ°ºî¤¹¤ë¥¹¥¯¥ê¥×¥È¤òÊѹ¹¤Ê¤·¤Ë½ñ¤±¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
-¤½¤Î¤¿¤á¤Ë¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹ÍѤΥǡ¼¥¿¥Ù¡¼¥¹¥É¥é¥¤¥Ð (DBD) ¤¬É¬ÍפǤ¢¤ë¡£
-@strong{MySQL} ¤Ç¤Ï¡¢¤½¤Î¥É¥é¥¤¥Ð¤Ï @code{DBD::mysql} ¤Ç¤¢¤ë¡£
-
-Perl5 DBI ¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ï¡¢@code{DBI}¥¦¥§¥Ã¥Ö¥Ú¡¼¥¸¤ò»²¾È¤Î¤³¤È¡§
-@example
-@uref{http://www.symbolstone.org/technology/perl/DBI/index.html}
-@end example
-Object Oriented Programming (OOP) ¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ï¡¢Perl OOP ¥Ú¡¼¥¸¤ò»²¾È¤Î¤³¤È¡§
-@example
-@uref{http://language.perl.com/info/documentation.html}
-@end example
-
-Installation instructions for @strong{MySQL} Perl support are given in
-@ref{Perl support}.
-
-@cindex @code{DBI} Perl module
-@node Perl DBI Class, DBI-info, DBI with DBD, Perl
-@subsubsection The @code{DBI} interface
-
-@noindent
-@strong{Portable DBI methods}
-
-@multitable @columnfractions .3 .7
-@item @code{connect} @tab ¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¡¼¥Ð¤ÈÀܳ¤¹¤ë
-@item @code{disconnect} @tab ¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¡¼¥Ð¤È¤ÎÀܳ¤òÀÚ¤ë
-@item @code{prepare} @tab SQLʸ¤òÀßÄꤹ¤ë
-@item @code{execute} @tab ÀßÄꤵ¤ì¤¿SQLʸ¤ò¼Â¹Ô¤¹¤ë
-@item @code{do} @tab SQLʸ¤òÀßÄꤷ¡¢¼Â¹Ô¤¹¤ë
-@item @code{quote} @tab ÁÞÆþ¤¹¤ë¤¿¤á¤Î¥¯¥©¡¼¥Èʸ»ú¡¢¤Þ¤¿¤Ï @code{BLOB} ÃÍ
-@item @code{fetchrow_array} @tab ¥Õ¥£¡¼¥ë¥É¤ÎÇÛÎó¤È¤·¤Æ¼¡¤Î¥ì¥³¡¼¥É¤ò¼è¤ê½Ð¤¹
-@item @code{fetchrow_arrayref} @tab ¥Õ¥£¡¼¥ë¥É¤ÎÇÛÎ󻲾ȤȤ·¤Æ¼¡¤Î¥ì¥³¡¼¥É¤ò¼è¤ê½Ð¤¹
-@item @code{fetchrow_hashref} @tab ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤Ø¤Î»²¾È¤È¤·¤Æ¼¡¤Î¥ì¥³¡¼¥É¤ò¼è¤ê½Ð¤¹
-@item @code{fetchall_arrayref} @tab ÇÛÎó¤ÎÇÛÎó¤È¤·¤ÆÁ´¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤¹
-@item @code{finish} @tab Ì¿Îá¤ò½ªÎ»¤·¡¢¥ê¥½¡¼¥¹¤«¤é¥·¥¹¥Æ¥à¤òÀÚ¤êÎ¥¤¹
-@item @code{rows} @tab ±Æ¶Á¤Î¤¢¤Ã¤¿¥ì¥³¡¼¥É¤Î¿ô¤òÊÖ¤¹
-@item @code{data_sources} @tab ¥í¡¼¥«¥ë¥Û¥¹¥È¾å¤ÇÍøÍѤǤ­¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÇÛÎó¤òÊÖ¤¹
-@item @code{ChopBlanks} @tab @code{fetchrow_*} ¥á¥½¥Ã¥É¤¬¶õÇò¤ò¼è¤ê½ü¤¯¤«¤É¤¦¤«¤ò´ÉÍý¤¹¤ë
-@item @code{NUM_OF_PARAMS} @tab ÀßÄꤵ¤ì¤¿Ì¿ÎáʸÃæ¤Î placeholder ¤Î¿ô
-@item @code{NULLABLE} @tab ¤É¤Î¥Õ¥£¡¼¥ë¥É¤Ë @code{NULL} Ãͤ¬¤¢¤ë¤«¡©
-@item @code{trace} @tab Perform tracing for debugging
-@end multitable
-
-@noindent
-@strong{MySQL ¸ÇÍ­¥á¥½¥Ã¥É}
-
-@multitable @columnfractions .3 .7
-@item @code{insertid} @tab ºÇ¸å¤Î @code{AUTO_INCREMENT} ÃÍ
-@item @code{is_blob} @tab ¤É¤Î¥Õ¥£¡¼¥ë¥É¤¬ @code{BLOB} ¤«¡©
-@item @code{is_key} @tab ¤É¤Î¥Õ¥£¡¼¥ë¥É¤¬¥­¡¼¤«¡©
-@item @code{is_num} @tab ¤É¤Î¥Õ¥£¡¼¥ë¥É¤¬¿ôÃÍ·¿¤«¡©
-@item @code{is_pri_key} @tab ¤É¤Î¥Õ¥£¡¼¥ë¥É¤¬¥×¥é¥¤¥Þ¥ê¥­¡¼¤«¡©
-@item @code{is_not_null} @tab ¤É¤Î¥Õ¥£¡¼¥ë¥É¤¬ @code{NULL} Ãͤ«¡©¡¡@code{NULLABLE} »²¾È¡£
-@item @code{length} @tab ÍøÍѲÄǽ¤Ê¥Õ¥£¡¼¥ë¥É¥µ¥¤¥º¤ÎºÇÂçÃÍ
-@item @code{max_length} @tab ¼ÂºÝ¤Ë¸ºß¤·¤Æ¤¤¤ë¥Õ¥£¡¼¥ë¥É¥µ¥¤¥º¤ÎºÇÂçÃÍ
-@item @code{NAME} @tab ¥Õ¥£¡¼¥ë¥É̾
-@item @code{NUM_OF_FIELDS} @tab ÊÖ¤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¤Î¿ô
-@item @code{table} @tab ÊÖ¤µ¤ì¤¿¥»¥Ã¥È¤Î¥Æ¡¼¥Ö¥ë̾
-@item @code{type} @tab Á´¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤Î·¿
-@item @code{_CreateDB} @tab ¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤¹¤ë
-@item @code{_DropDB} @tab ¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºï½ü¤¹¤ë¡£ @strong{¡ö¡ö¡ö¤³¤Î¥á¥½¥Ã¥É¤Ï´í¸±¤Ç¤¢¤ë¡ö¡ö¡ö}
-@end multitable
-
-°Ê²¼¤ÎÀá¤Ë¡¢¤è¤ê¾ÜºÙ¤Ê Perl ¥á¥½¥Ã¥É¤Î²òÀ⤬¤¢¤ë¡£
-Variables used for method return values have these meanings:
-
-@table @code
-@item $dbh
-Database handle
-
-@item $sth
-Statement handle
-
-@item $rc
-Return code (often a status)
-
-@item $rv
-Return value (often a row count)
-@end table
-
-@noindent
-@strong{ÈÆÍÑ DBI ¥á¥½¥Ã¥É}
-
-@table @code
-
-Generally the 'do' statement is MUCH faster (and is preferable)
-than prepare/execute for statements that doesn't contain parameters.
-
-@findex DBI->connect()
-@findex connect() DBI method
-@item connect($data_source, $username, $password)
-¥Ç¡¼¥¿¥½¡¼¥¹¤È¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹Àܳ¤ò¤¹¤ë¤¿¤á¤Ë @code{connect} ¤ò»È¤¦¡£
-@code{$data_source} ÃÍ¤Ï @code{DBI:driver_name:} ¤Ç¤Ï¤¸¤á¤ë¤³¤È¡£
-@code{DBD::mysql} ¥É¥é¥¤¥Ð¡¼¤òÍѤ¤¤¿ @code{connect} ¤Î»ÈÍÑÎ㡧
-@example
-$dbh = DBI->connect("DBI:mysql:$database", $user, $password);
-$dbh = DBI->connect("DBI:mysql:$database:$hostname",
- $user, $password);
-$dbh = DBI->connect("DBI:mysql:$database:$hostname:$port",
- $user, $password);
-@end example
-¥æ¡¼¥¶¡¼Ì¾¤Þ¤¿¤Ï¥Ñ¥¹¥ï¡¼¥É¤¬Ì¤ÀßÄê¤Î¾ì¹ç¡¢ @code{DBI} ¤Ï´Ä¶­ÊÑ¿ô¤Ç¤¢¤ë
- @code{DBI_USER} ¤È @code{DBI_PASS} ¤ò¤½¤ì¤¾¤ì»È¤¦¡£
-¥Û¥¹¥È̾¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢@code{'localhost'} ¤¬¥Ç¥Õ¥©¥ë¥È¤È¤Ê¤ë¡£
-¥Ý¡¼¥ÈÈÖ¹æ¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢@strong{MySQL} ¥Ý¡¼¥È¡Ê@value{default_port}¡Ë
-¤¬¥Ç¥Õ¥©¥ë¥È¤È¤Ê¤ë¡£
-
-As of @code{Msql-Mysql-modules} version 1.2009,
-the @code{$data_source} value allows certain modifiers:
-
-@table @code
-@item mysql_read_default_file=file_name
-Read @file{filename} as an option file. For information on option files,
-see @ref{Option files}.
-
-@item mysql_read_default_group=group_name
-The default group when reading an option file is normally the
-@code{[client]} group. By specifying the @code{mysql_read_default_group}
-option, the default group becomes the @code{[group_name]} group.
-
-@item mysql_compression=1
-Use compressed communication between the client and server (@strong{MySQL}
-3.22.3 or later).
-
-@item mysql_socket=/path/to/socket
-Specify the pathname of the Unix socket that is used to connect
-to the server (@strong{MySQL} 3.21.15 or later).
-@end table
-
-Multiple modifiers may be given; each must be preceded by a semicolon.
-
-For example, if you want to avoid hardcoding the user name and password into
-a @code{DBI} script, you can take them from the user's @file{~/.my.cnf}
-option file instead by writing your @code{connect} call like this:
-
-@example
-$dbh = DBI->connect("DBI:mysql:$database"
- . ";mysql_read_default_file=$ENV@{HOME@}/.my.cnf",
- $user, $password);
-@end example
-
-This call will read options defined for the @code{[client]} group in the
-option file. If you wanted to do the same thing, but use options specified
-for the @code{[perl]} group as well, you could use this:
-
-@example
-$dbh = DBI->connect("DBI:mysql:$database"
- . ";mysql_read_default_file=$ENV@{HOME@}/.my.cnf"
- . ";mysql_read_default_group=perl",
- $user, $password);
-@end example
-
-@findex DBI->disconnect
-@findex disconnect DBI method
-@item disconnect
-@code{disconnect} ¥á¥½¥Ã¥É¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ï¥ó¥É¥ë¤òÀÚÃǤ¹¤ë¡£
-¥×¥í¥°¥é¥à¤ò½ªÎ»¤¹¤ëľÁ°¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¤Î¤¬Åµ·¿Åª¤Ç¤¢¤ë¡£
-Î㡧
-@example
-$rc = $dbh->disconnect;
-@end example
-
-@findex DBI->prepare()
-@findex prepare() DBI method
-@item prepare($statement)
-¥Ç¡¼¥¿¥Ù¡¼¥¹¥¨¥ó¥¸¥ó¤Ç¼Â¹Ô¤¹¤ë¤¿¤á¤ÎSQLʸ¤òÀßÄꤷ¡¢@code{execute} ¥á¥½¥Ã¥É¤Ç
-»ÈÍѽÐÍè¤ë¥¹¥Æ¡¼¥È¥á¥ó¥È¥Ï¥ó¥É¥ë @code{($sth)} ¤òÊÖ¤¹¡£
-Typically you handle @code{SELECT} statements (and @code{SELECT}-like statements
-such as @code{SHOW}, @code{DESCRIBE} and @code{EXPLAIN}) by means of
-@code{prepare} and @code{execute}.
-Î㡧
-@example
-$sth = $dbh->prepare($statement)
- or die "Can't prepare $statement: $dbh->errstr\n";
-@end example
-
-@findex DBI->execute
-@findex execute DBI method
-@item execute
-@code{execute} ¥á¥½¥Ã¥É¤Ï¡¢ÀßÄꤵ¤ì¤¿SQLʸ¤ò¼Â¹Ô¤¹¤ë¡£Èó @code{SELECT} ʸ¤Î¤È¤­¤Ï¡¢
-±Æ¶Á¤Î¤¢¤Ã¤¿¥ì¥³¡¼¥É¤Î¿ô¤òÊÖ¤¹¡£ ¤â¤·¤Ê¤ó¤ÎÊѲ½¤â¤Ê¤«¤Ã¤¿¤Ê¤é¡¢ @code{execute} ¤Ï @code{"0E0"}
-(¤³¤ì¤Ï Perl ¤Ç¤Ï ¥¼¥í °·¤¤¤Ç¤¹¤¬¡¢ ¿¿ ¤Ç¤â¤¢¤ë) ¤òÊÖ¤¹¡£
-@code{SELECT} ʸ¤Î¤È¤­¤Ï¡¢SQLÍ×µá¤ò³«»Ï¤¹¤ë¤Î¤ß¤Ç¤¢¤ë¡£
-¥Ç¡¼¥¿¤òÁàºî¤¹¤ë @code{fetch_*} ¥á¥½¥Ã¥É¤ÎÆâ¤Î°ì¤Ä¤òµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ë¡£
-Î㡧
-@example
-$rv = $sth->execute
- or die "can't execute the query: $sth->errstr;
-@end example
-
-@findex DBI->do()
-@findex do() DBI method
-@item do($statement)
-@code{do} ¥á¥½¥Ã¥É¤ÏSQLʸ¤òÀßÄꡦ¼Â¹Ô¤·¡¢±Æ¶Á¤Î¤¢¤Ã¤¿¥ì¥³¡¼¥É¤Î¿ô¤òÊÖ¤¹¡£
-¤³¤Î¥á¥½¥Ã¥É¤Ï¡¢¡ÖÈó select¡×ʸ¡¢¤¹¤Ê¤ï¤Á¡¢¹âÅ١ʥɥ饤¥Ð¡¼¤Î¸Â³¦¤Î¤¿¤á¡Ë¤ÇÀßÄê¤Ç¤­¤Ê¤¤Ê¸¡¢
-°ìÅ٤μ¹ԡÊinserts, deletes ¤Ê¤É¡Ë¤ÇºÑ¤àʸ¤Î¤È¤­¤Ë°ìÈÌŪ¤ËÍѤ¤¤é¤ì¤ë¡£
-Î㡧
-@example
-$rv = $dbh->do($statement)
- or die "Can't execute $statement: $dbh- >errstr\n";
-@end example
-
-@findex DBI->quote()
-@findex quote() DBI method
-@cindex Quoting strings
-@cindex Strings, quoting
-@item quote($string)
-@code{quote} ¥á¥½¥Ã¥É¤Ï¡¢Ê¸»úÎóÃæ¤Ë¥¨¥¹¥±¡¼¥×ʸ»ú¤¬¤¢¤ë¤È¤­¤ËÍѤ¤¤é¤ì¡¢
-¥¯¥©¡¼¥Èʸ»ú¤òʸ¤Î³°Â¦¤ËÉղ乤롣
-Î㡧
-@example
-$sql = $dbh->quote($string)
-@end example
-
-@findex DBI->fetchrow_array
-@findex fetchrow_array DBI method
-@item fetchrow_array
-¤³¤Î¥á¥½¥Ã¥É¤Ï¥Ç¡¼¥¿¤Î¼¡¤Î¥ì¥³¡¼¥É¤ò¼è¤ê½Ð¤·¡¢¥Õ¥£¡¼¥ë¥É¤ÎÃͤÎÇÛÎó¤È¤·¤ÆÊÖ¤¹¡£
-Î㡧
-@example
-while(@@row = $sth->fetchrow_array) @{
- print qw($row[0]\t$row[1]\t$row[2]\n);
-@}
-@end example
-
-@findex DBI->fetchrow_arrayref
-@findex fetchrow_arrayref DBI method
-@item fetchrow_arrayref
-¤³¤Î¥á¥½¥Ã¥É¤Ï¥Ç¡¼¥¿¤Î¼¡¤Î¥ì¥³¡¼¥É¤ò¼è¤ê½Ð¤·¡¢¥Õ¥£¡¼¥ë¥É¤ÎÃͤÎÇÛÎó¤Ø¤Î»²¾È¤È¤·¤ÆÊÖ¤¹¡£
-Î㡧
-@example
-while($row_ref = $sth->fetchrow_arrayref) @{
- print qw($row_ref->[0]\t$row_ref->[1]\t$row_ref->[2]\n);
-@}
-@end example
-
-@findex DBI->fetchrow_hashref
-@findex fetchrow_hashref DBI method
-@item fetchrow_hashref
-¤³¤Î¥á¥½¥Ã¥É¤Ï¥Ç¡¼¥¿¤Î¥ì¥³¡¼¥É¤ò¼è¤ê½Ð¤·¡¢Ì¾Á°¡¦ÃͤΥڥ¢¤Î¥Õ¥£¡¼¥ë¥É¤ò´Þ¤ó¤À
-¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤Ø¤Î»²¾È¤òÊÖ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤Ï¡¢¾å¤Ç¼¨¤·¤¿ÇÛÎó»²¾È
-¡ÊÌõÃí¡§@code{fetchrow_arrayref}¡Ë¤è¤ê¤â¤«¤Ê¤ê¸úΨŪ¤Ç¤Ï¤Ê¤¤¡£Î㡧
-@example
-while($hash_ref = $sth->fetchrow_hashref) @{
- print qw($hash_ref->@{firstname@}\t$hash_ref->@{lastname@}\t\
- $hash_ref- > title@}\n);
-@}
-@end example
-
-@findex DBI->fetchall_arrayref
-@findex fetchall_arrayref DBI method
-@item fetchall_arrayref
-¤³¤Î¥á¥½¥Ã¥É¤Ï¡¢SQLʸ¤è¤êÊÖ¤µ¤ì¤¿¥Ç¡¼¥¿¡Ê¥ì¥³¡¼¥É¡Ë¤ÎÁ´¤Æ¤òÆÀ¤ë¤¿¤á¤Ë»È¤¦¡£
-¤³¤Î¥á¥½¥Ã¥É¤Ï¡¢³Æ¥ì¥³¡¼¥É¤Ø¤Î»²¾È¤ÎÇÛÎó¤ÎÇÛÎó¤Ø¤Î»²¾È¤òÊÖ¤¹¡£
-Æþ¤ì»Ò¤Î¥ë¡¼¥×¤ò»È¤Ã¤Æ¥Ç¡¼¥¿¤òÍøÍÑ¡¦É½¼¨¤¹¤ë¡£Î㡧
-@example
-my $table = $sth->fetchall_arrayref
- or die "$sth->errstr\n";
-my($i, $j);
-for $i ( 0 .. $#@{$table@} ) @{
- for $j ( 0 .. $#@{$table->[$i]@} ) @{
- print "$table->[$i][$j]\t";
- @}
- print "\n";
-@}
-@end example
-
-@findex DBI->finish
-@findex finish DBI method
-@item finish
-¤½¤Î¥¹¥Æ¡¼¥È¥á¥ó¥È¥Ï¥ó¥É¥ë¤«¤é¤½¤ì°Ê¾å¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤µ¤Ê¤¤¤³¤È¤ò¼¨¤¹¡£¥¹¥Æ¡¼¥È¥á¥ó¥È¥Ï¥ó¥É¥ë¤ä¡¢¤Ä¤«¤ó¤Ç¤¤¤¿¥·¥¹¥Æ¥à¥ê¥½¡¼¥¹¤ò²òÊü¤¹¤ë¤¿¤á¤Ë¤³¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¡£Î㡧
-@example
-$rc = $sth->finish;
-@end example
-
-@findex DBI->rows
-@findex rows DBI method
-@item rows
-ºÇ¸å¤ÎÌ¿Îá¤Ë¤è¤ê¡¢¡Ê¥Ç¡¼¥¿¤Î¹¹¿·¡¢ºï½ü¡¢¤Ê¤É¤Ç¡Ë±Æ¶Á¤Î¤¢¤Ã¤¿¥ì¥³¡¼¥É¤Î¿ô¤òÊÖ¤¹¡£
-¤³¤Î¥á¥½¥Ã¥É¤Ï @code{do} ¤¢¤ë¤¤¤Ï Èó @code{SELECT} @code{execute} ʸ¤ò
-¼Â¹Ô¤·¤¿¸å¤Ë¡¢¤¿¤¤¤Æ¤¤»È¤ï¤ì¤ë¡£Î㡧
-Example:
-@example
-$rv = $sth->rows;
-@end example
-
-@findex DBI->@{NULLABLE@}
-@findex NULLABLE DBI method
-@item NULLABLE
-ÇÛÎó¤Î³ÆÍ×ÁǤËÂФ·¡¢¥Ö¡¼¥ëÃͤÎÇÛÎó¤Ø¤Î»²¾È¤òÊÖ¤¹¡£
-TRUE ¤Ç¤¢¤ì¤Ð¤½¤Î¥Õ¥£¡¼¥ë¥É¤Ë @code{NULL} Ãͤ¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤ò¼¨¤¹¡£Î㡧
-Example:
-@example
-$null_possible = $sth->@{NULLABLE@};
-@end example
-
-@findex DBI->@{NUM_OF_FIELDS@}
-@findex NUM_OF_FIELDS DBI method
-@item NUM_OF_FIELDS
-¤³¤Î°À­¤Ï¡¢@code{SELECT} ʸ¤ä @code{SHOW FIELDS} ʸ¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤¿
-¥Õ¥£¡¼¥ë¥É¤Î¿ô¤ò¼¨¤·¤Æ¤¤¤ë¡£Ì¿Îáʸ¤¬·ë²Ì¤òÊÖ¤·¤¿¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤Î¤Ë¡¢
-¤³¤ì¤ò»È¤¦¤³¤È¤¬½ÐÍè¤ë¡§£°Ãͤϡ¢@code{INSERT}, @code{DELETE} ¤Þ¤¿¤Ï
- @code{UPDATE} ¤Î¤è¤¦¤ÊÈó @code{SELECT} ʸ¤ò¼¨¤·¤Æ¤¤¤ë¡£Î㡧
-Example:
-@example
-$nr_of_fields = $sth->@{NUM_OF_FIELDS@};
-@end example
-
-@findex DBI->data_sources()
-@findex data_sources() DBI method
-@item data_sources($driver_name)
-¤³¤Î¥á¥½¥Ã¥É¤Ï¡¢@code{'localhost'} ¥Û¥¹¥È¾å¤Î @strong{MySQL} ¥µ¡¼¥Ð¤Ç
-ÍøÍѲÄǽ¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î̾Á°¤ò´Þ¤ó¤ÀÇÛÎó¤òÊÖ¤¹¡£Î㡧
-@example
-@@dbs = DBI->data_sources("mysql");
-@end example
-
-@findex DBI->@{ChopBlanks@}
-@findex ChopBlanks DBI method
-@item ChopBlanks
-¤³¤Î°À­¤Ï¡¢ @code{fetchrow_*} ¥á¥½¥Ã¥É¤¬ÊÖ¤êÃͤ«¤éÁ°¸å¤Î¶õÇò¤ò
-½üµî¤¹¤ë¤«¤É¤¦¤«¤ò·èÄꤹ¤ë¡£Î㡧
-@example
-$sth->@{'ChopBlanks'@} =1;
-@end example
-
-@findex DBI->trace
-@findex trace DBI method
-@item trace($trace_level)
-@itemx trace($trace_level, $trace_filename)
-The @code{trace} method enables or disables tracing. When invoked as a
-@code{DBI} class method, it affects tracing for all handles. When invoked as
-a database or statement handle method, it affects tracing for the given
-handle (and any future children of the handle). Setting @code{$trace_level}
-to 2 provides detailed trace information. Setting @code{$trace_level} to 0
-disables tracing. Trace output goes to the standard error output by
-default. If @code{$trace_filename} is specified, the file is opened in
-append mode and output for @emph{all} traced handles is written to that
-file. Example:
-@example
-DBI->trace(2); # trace everything
-DBI->trace(2,"/tmp/dbi.out"); # trace everything to /tmp/dbi.out
-$dth->trace(2); # trace this database handle
-$sth->trace(2); # trace this statement handle
-@end example
-
-@tindex DBI_TRACE environment variable
-@tindex Environment variable, DBI_TRACE
-You can also enable @code{DBI} tracing by setting the @code{DBI_TRACE}
-environment variable. Setting it to a numeric value is equivalent to calling
-@code{DBI->(value)}. Setting it to a pathname is equivalent to calling
-@code{DBI->(2,value)}.
-
-@end table
-
-@noindent
-@strong{MySQL ¸ÇÍ­¥á¥½¥Ã¥É}
-
-The methods shown below are @strong{MySQL}-specific and not part of the
-@code{DBI} standard. Several of them are now deprecated:
-@code{is_blob}, @code{is_key}, @code{is_num}, @code{is_pri_key},
-@code{is_not_null}, @code{length}, @code{max_length}, and @code{table}.
-Where @code{DBI}-standard alternatives exist, they are noted below.
-
-@table @code
-@findex DBI->@{insertid@}
-@findex insertid DBI method
-@cindex AUTO_INCREMENT, using with DBI
-@item insertid
-@strong{MySQL} ¤ÎÆÃħ¤Ç¤¢¤ë @code{AUTO_INCREMENT} ¤ò»È¤¦¤È¤­¡¢
-¿·¤·¤¤¼«Æ°·«¤ê¾å¤¬¤êÃͤ¬¤³¤³¤Ëµ­²±¤µ¤ì¤ë¡£Î㡧
-Example:
-@example
-$new_id = $sth->@{insertid@};
-@end example
-
-As an alternative, you can use @code{$dbh->@{'mysql_insertid'@}}.
-
-@findex DBI->@{is_blob@}
-@findex is_blob DBI method
-@item is_blob
-ÇÛÎó¤Î³ÆÍ×ÁǤËÂФ·¡¢¥Ö¡¼¥ëÃͤÎÇÛÎó¤Ø¤Î»²¾È¤òÊÖ¤¹¡£TRUE ¤Ç¤¢¤ì¤Ð
-¤½¤Î¥Õ¥£¡¼¥ë¥É¤¬ @code{BLOB} ÃͤǤ¢¤ë¤³¤È¤ò¼¨¤¹¡£Î㡧
-@example
-$keys = $sth->@{is_blob@};
-@end example
-
-@findex DBI->@{is_key@}
-@findex is_key DBI method
-@item is_key
-ÇÛÎó¤Î³ÆÍ×ÁǤËÂФ·¡¢¥Ö¡¼¥ëÃͤÎÇÛÎó¤Ø¤Î»²¾È¤òÊÖ¤¹¡£TRUE ¤Ç¤¢¤ì¤Ð
-¤½¤Î¥Õ¥£¡¼¥ë¥É¤¬¥­¡¼¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
-Î㡧
-@example
-$keys = $sth->@{is_key@};
-@end example
-
-@findex DBI->@{is_num@}
-@findex is_num DBI method
-@item is_num
-ÇÛÎó¤Î³ÆÍ×ÁǤËÂФ·¡¢¥Ö¡¼¥ëÃͤÎÇÛÎó¤Ø¤Î»²¾È¤òÊÖ¤¹¡£TRUE ¤Ç¤¢¤ì¤Ð
-¤½¤Î¥Õ¥£¡¼¥ë¥É¤¬¿ôÃÍ·¿¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
-Î㡧
-@example
-$nums = $sth->@{is_num@};
-@end example
-
-@findex DBI->@{is_pri_key@}
-@findex is_pri_key DBI method
-@item is_pri_key
-ÇÛÎó¤Î³ÆÍ×ÁǤËÂФ·¡¢¥Ö¡¼¥ëÃͤÎÇÛÎó¤Ø¤Î»²¾È¤òÊÖ¤¹¡£TRUE ¤Ç¤¢¤ì¤Ð
-¤½¤Î¥Õ¥£¡¼¥ë¥É¤¬¥×¥é¥¤¥Þ¥ê¡¼¥­¡¼¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
-Î㡧
-@example
-$pri_keys = $sth->@{is_pri_key@};
-@end example
-
-@findex DBI->@{is_not_null@}
-@findex is_not_null DBI method
-@item is_not_null
-ÇÛÎó¤Î³ÆÍ×ÁǤËÂФ·¡¢¥Ö¡¼¥ëÃͤÎÇÛÎó¤Ø¤Î»²¾È¤òÊÖ¤¹¡£FALSE ¤Ç¤¢¤ì¤Ð
-¤½¤Î¥Õ¥£¡¼¥ë¥É¤¬ @code{NULL} Ãͤò´Þ¤à¤³¤È¤ò¼¨¤¹¡£
-Î㡧
-@example
-$not_nulls = $sth->@{is_not_null@};
-@end example
-
-@code{is_not_null} is deprecated;
-Á°½Ò¤Î @code{NULLABLE} °À­¤ò»ÈÍѤ¹¤ë¤Û¤¦¤¬Ë¾¤Þ¤·¤¤¡£¤½¤ì¤¬ DBI ¤Îɸ½à¤Ç¤¢¤ë¡£
-
-@findex DBI->@{length@}
-@findex length DBI method
-@findex DBI->@{max_length@}
-@findex max_length DBI method
-@item length
-@itemx max_length
-¤½¤ì¤¾¤ì¤Î¥á¥½¥Ã¥É¤Ï¡¢¥Õ¥£¡¼¥ë¥É¥µ¥¤¥º¤ÎÇÛÎó¤Ø¤Î»²¾È¤òÊÖ¤¹¡£@code{length} ÇÛÎó¤Ï¡¢
-¡Ê¥Æ¡¼¥Ö¥ëµ­½Ò¤ÇÄêµÁ¤µ¤ì¤¿¡Ë³Æ¥Õ¥£¡¼¥ë¥É¤ÎÍøÍѲÄǽºÇÂçÃͤò¼¨¤¹¡£
-@code{max_length} ÇÛÎó¤Ï¡¢¥Æ¡¼¥Ö¥ëÃæ¤Ë¼ÂºÝ¤Ë¸ºß¤·¤Æ¤¤¤ëºÇÂçÃͤò¼¨¤¹¡£Î㡧
-
-@example
-$lengths = $sth->@{length@};
-$max_lengths = $sth->@{max_length@};
-@end example
-
-@findex DBI->@{NAME@}
-@findex NAME DBI method
-@item NAME
-¥Õ¥£¡¼¥ë¥É̾¤ÎÇÛÎó¤Ø¤Î»²¾È¤òÊÖ¤¹¡£
-Î㡧
-@example
-$names = $sth->@{NAME@};
-@end example
-
-@findex DBI->@{table@}
-@findex table DBI method
-@item table
-¥Æ¡¼¥Ö¥ë̾¤ÎÇÛÎó¤Ø¤Î»²¾È¤òÊÖ¤¹¡£
-Î㡧
-@example
-$tables = $sth->@{table@};
-@end example
-
-@findex DBI->@{type@}
-@findex type DBI method
-@item type
-¥Õ¥£¡¼¥ë¥É¤Î·¿¤ÎÇÛÎó¤Ø¤Î»²¾È¤òÊÖ¤¹¡£
-Î㡧
-@example
-$types = $sth->@{type@};
-@end example
-
-@end table
-
-@node DBI-info, , Perl DBI Class, Perl
-@subsection @code{DBI}/@code{DBD} ¤Ë´Ø¤¹¤ë¤½¤ì°Ê¾å¤Î¾ðÊó
-
-@code{DBI} ¤Ë´Ø¤¹¤ë¤½¤ì°Ê¾å¤Î¾ðÊó¤Ï @code{perldoc} ¥³¥Þ¥ó¥É¤ÇÆÀ¤é¤ì¤ë¡£
-
-@example
-perldoc DBI
-perldoc DBI::FAQ
-perldoc DBD::mysql
-@end example
-
-¾¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ËÊÑ´¹¤¹¤ë¥Ä¡¼¥ë¡¢@code{pod2man}, @code{pod2html} ¤Ê¤É¤â
-»È¤¦¤³¤È¤¬½ÐÍè¤ë¡£
-
-¤½¤·¤Æ¤â¤Á¤í¤ó¡¢@code{DBI} ¤ÎºÇ¿·¾ðÊó¤Ï @code{DBI} ¥¦¥§¥Ã¥Ö¥Ú¡¼¥¸¤Ç¸«¤ë¤³¤È¤¬½ÐÍè¤ë¡§
-@example
-@uref{http://www.symbolstone.org/technology/perl/DBI/index.html}
-@end example
-
-@node Eiffel, Java, Perl, Clients
-@section @strong{MySQL} Eiffel wrapper
-
-The @strong{MySQL} @uref{http://www.mysql.com/Contrib/,Contrib directory}
-contains an Eiffel wrapper written by Michael Ravits
-
-You can also find this at:
-@url{http://www.netpedia.net/hosting/newplayer/}
-
-@node Java, PHP, Eiffel, Clients
-@section @strong{MySQL} Java connectivity (JDBC)
-
-There are 2 supported JDBC drivers for @strong{MySQL} (the twz and mm driver).
-You can find a copy of these at @uref{http://www.mysql.com/Contrib}.
-For documentation consult any JDBC documentation and the
-drivers own documentation for @strong{MySQL} specific features.
-
-@node PHP, Cplusplus, Java, Clients
-@section @strong{MySQL} PHP API
-
-PHP is a server-side, HTML embedded scripting language that may be used to
-create dynamic web pages. It contains support for accessing several
-databases, including @strong{MySQL}. PHP may be run as a separate program,
-or compiled as a module for use with the Apache web server.
-
-The distribution and documentation are available at the
-@uref{http://www.php.net/, PHP website}.
-
-@menu
-* PHP problems::
-@end menu
-
-@node PHP problems, , PHP, PHP
-@subsection Common problems with MySQL and PHP
-
-@itemize bullet
-@item Error: "Maximum Execution Time Exeeded"
-This is a PHP limit; Go into the @file{php3.ini} file and set the maximum
-execution time up from 30 seconds to something higher, as needed.
-It is also not a bad idea to double the ram allowed per script to 16 instead of
-8 MB.
-@item Error: "Fatal error: Call to unsupported or undefined function mysql_connect() in .."
-This means that your PHP version isn't compiled with @strong{MySQL} support.
-You can either compile a dynamic @strong{MySQL} module and load it into PHP or
-recompile PHP with built-in @code{MySQL} support. This is described in
-detail in the PHP manual.
-@end itemize
-
-@node Cplusplus, Python, PHP, Clients
-@section @strong{MySQL} C++ APIs
-
-Two API's is available in the @strong{MySQL}
-@uref{http://www.mysql.com/Contrib/,Contrib directory}.
-
-@node Python, Tcl, Cplusplus, Clients
-@section @strong{MySQL} Python APIs
-
-The @strong{MySQL} @uref{http://www.mysql.com/Contrib/,Contrib directory}
-contains a Python
-interface written by Joseph Skinner.
-
-You can also use the Python interface to iODBC to access a
-@strong{MySQL} server.
-@uref{http://starship.skyport.net/~lemburg/,mxODBC}
-
-@node Tcl, Ruby, Python, Clients
-@section @strong{MySQL} Tcl APIs
-
-@uref{http://www.binevolve.com/~tdarugar/tcl-sql/, Tcl at binevolve}.
-The
-@uref{http://www.mysql.com/Contrib,Contrib directory} contains a Tcl
-interface that is based on msqltcl 1.50.
-
-@cindex Ruby
-@node Ruby, , Tcl, Clients
-@section @strong{MySQL} Ruby API
-
-°Ê²¼¤Î¥µ¥¤¥È¤Ë¡¢Ruby ¤Î MySQL ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬¤¢¤ê¤Þ¤¹¡£
-
-@uref{http://www.tmtm.org/, www.tmtm.org ¤È¤ß¤¿¤Þ¤µ¤Ò¤í»á¤Î Web ¥Ú¡¼¥¸}
-
-@node Comparisons, MySQL internals, Clients, Top
-@chapter How @strong{MySQL} compares to other databases
-
-@menu
-* Compare mSQL:: @strong{MySQL} ¤È @code{mSQL} ¤È¤ÎÈæ³Ó
-* Compare PostgreSQL:: @strong{MySQL} ¤È @code{PostgreSQL} ¤È¤ÎÈæ³Ó
-@end menu
-
-@node Compare mSQL, Compare PostgreSQL, Comparisons, Comparisons
-@section @strong{MySQL} ¤È @code{mSQL} ¤È¤ÎÈæ³Ó
-
-¤³¤ÎÀá¤Ï¡¢@strong{MySQL} ³«È¯¼Ô¤Ë¤è¤Ã¤Æ½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Î¤Ä¤â¤ê¤Ç
-Æɤó¤Ç²¼¤µ¤¤¡£¤·¤«¤·²æ¡¹¤¬ÃΤäƤ¤¤ë»ö¼Â¾å¤Î´Ö°ã¤¤¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-
-For a list of all supported limits, functions and types, see the
-@uref{http://www.mysql.com/crash-me-choose.htmy, @code{crash-me} web page}.
-
-@table @strong
-@item Performance
-
-¿¿¤Î®ÅÙÈæ³Ó¤Î¤¿¤á¤Ï¡¢Áý²Ã¤¹¤ë @strong{MySQL} ¥Ù¥ó¥Á¥Þ¡¼¥¯¥¹¥¤¡¼¥È¤ò¸«¤Æ²¼¤µ¤¤
-@xref{Benchmarks}.
-
-Because there is no thread creation overhead, a small parser, few features and
-simple security, @code{mSQL} should be quicker at:
-
-@itemize @bullet
-@item
-Tests that perform repeated connects and disconnects, running a very simple
-query during each connection.
-@item
-@code{INSERT} operations into very simple tables with few columns and keys.
-@item
-@code{CREATE TABLE} and @code{DROP TABLE}.
-@item
-@code{SELECT} on something that isn't an index. (A table scan is very
-easy.)
-@end itemize
-
-¤³¤ì¤é¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ï¤È¤Æ¤âñ½ã¤Ê¤Î¤Ç¡¢³«»Ï¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬¹â¤¯¤Ê¤ë
-»þ¤Ë¤½¤ì¤é¤òÎɤ¯¤¹¤ë¤Î¤ÏÆñ¤·¤¤¤Ç¤¹¡£Àܳ¤¬³ÎΩ¤µ¤ì¤¿¸å¤Ï @strong{MySQL}
-¤Ï¤È¤Æ¤âÎɤ¤À­Ç½¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-¾¤Î¤â¤Î¤Ç¤Ï @strong{MySQL} ¤Ï @code{mSQL} ¤ä¿¤¯¤Î¾¤Î SQL ¼ÂÁõ¤è¤ê¤È¤Æ
-¤â®¤¤¤Ç¤¹:
-
-@itemize @bullet
-@item
-Complex @code{SELECT} operations.
-@item
-Â礭¤Ê·ë²Ì¤Î¼è¤ê½Ð¤· (@strong{MySQL} ¤Ï¤è¤êÎɤ¯, ¤è¤ê®¤¯¤½¤·¤Æ¤è¤ê°ÂÁ´
-¤Ê¥×¥í¥È¥³¥ë¤ò»ý¤Á¤Þ¤¹)
-@item
-²ÄÊÑĹʸ»úÎó¤ò»ý¤Ä¥Æ¡¼¥Ö¥ë¡£@strong{MySQL} ¤Ï¤µ¤é¤Ë¸úΨŪ¤Ê½èÍý¤ò»ý¤Á¡¢ @code{VARCHAR}
-¾å¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@item
-¿¤¯¤Î¥Õ¥£¡¼¥ë¥É¤ò»ý¤Ä¥Æ¡¼¥Ö¥ë¤Î½èÍý¡£
-@item
-Â礭¤Ê¥ì¥³¡¼¥ÉĹ¤Î¥Æ¡¼¥Ö¥ë¤Î½èÍý¡£
-@item
-@code{SELECT} with many expressions.
-@item
-@code{SELECT} on large tables.
-@item
-Ʊ»þ¤Ë¿¤¯¤ÎÀܳ¤ò½èÍý¤·¤Þ¤¹¡£@strong{MySQL} ¤Ï´°Á´¤Ê¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¤Ç¤¹¡£
-³ÆÀܳ¤Ï¤½¤ì¼«¿È¤Î¥¹¥ì¥Ã¥É¤ò»ý¤Á¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤½¤ì¤é¤¬Â¾¤òÂÔ¤ÄɬÍפ¬¤Ê¤¤
-¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹(Ʊ¤¸¥Æ¡¼¥Ö¥ë¤òÊѹ¹¤¹¤ë¥¯¥¨¥ê¤¬¼Â¹Ô¤µ¤ì¤ë¾ì¹ç¤ò½ü¤¯)¡£
-@code{mSQL} ¤Ç¤Ï¡¢Á´¤Æ¤Î¾¤ÎÀܳ¤Ï¡¢ºÇ½é¤Î¤â¤Î - ¥¯¥¨¥ê¤¬Ä¹¤¤¤«Ã»¤¤¤«¤Ë
-´Ø¤ï¤é¤º - ¤¬¼Â¹Ô¤µ¤ì¡¢½ª¤ï¤ë¤Þ¤ÇÂÔ¤ÄɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¸å¼¡¤ÎÀܳ¤¬Í¿
-¤¨¤é¤ì¡¢Â¾¤ÎÁ´¤Æ¤ÏºÆ¤ÓÂÔ¤Á¤Þ¤¹¡£
-@item
-Joins.
-@code{mSQL} can become pathologically slow if you change the order of tables
-in a @code{SELECT}. In the benchmark suite, a time more than 15000 times
-slower than @strong{MySQL} was seen. This is due to @code{mSQL}'s lack of a
-join optimizer to order tables in the optimal order. However, if you put the
-tables in exactly the right order in @code{mSQL}2 and the @code{WHERE} is
-simple and uses index columns, the join will be relatively fast!
-@xref{Benchmarks}.
-@item
-@code{ORDER BY} and @code{GROUP BY}.
-@item
-@code{DISTINCT}.
-@item
-@code{TEXT} ¤Þ¤¿¤Ï @code{BLOB} ¥Õ¥£¡¼¥ë¥É¤Î»ÈÍÑ¡£
-@end itemize
-
-@item SQL Features
-
-@itemize @bullet
-@item @code{GROUP BY} and @code{HAVING}.
-@code{mSQL} does not support @code{GROUP BY} at all.
-@strong{MySQL} ¤Ï @code{HAVING} ¤òȼ¤¦´°Á´¤Ê @code{GROUP BY} ¤ä¡¢¼¡¤Î´Ø
-¿ô @code{count()}, @code{avg()}, @code{min()}, @code{max()},
-@code{sum()} ¤½¤·¤Æ @code{std()} ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£@code{min()} ¤È
-@code{max()} ¤Ïʸ»úÎó¤Î°ú¿ô¤â¼è¤ì¤Þ¤¹¡£@code{count(*)} ¤Ï¡¢¥¯¥¨¥êÆ⤬¤³
-¤ì¤À¤±¤Î¾ì¹ç¤Ë¤È¤Æ¤â®¤¯ÊÖ¤µ¤ì¤ë¤è¤¦¤ËºÇŬ²½¤µ¤ì¤Þ¤¹¡£@code{mSQL} ¤Ï
-@code{GROUP BY} ¤òÁ´¤¯¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£
-
-@item @code{INSERT} and @code{UPDATE} with calculations.
-@strong{MySQL} can do calculations in an @code{INSERT} or @code{UPDATE}.
-For example:
-@example
-mysql> UPDATE SET x=x*10+y WHERE x<20;
-@end example
-
-@item Aliasing.
-@strong{MySQL} ¤Ï¥Õ¥£¡¼¥ë¥É¤Î¥¨¥¤¥ê¥¢¥¹Ì¾¤ò»ý¤Á¤Þ¤¹¡£
-
-@item Qualifying column names.
-In @strong{MySQL}, if a column name is unique among the tables used in a
-query, you do not have to use the full qualifier.
-
-@item @code{SELECT} with functions.
-@strong{MySQL} has many functions (too many to list here; see @ref{Functions}).
-
-@end itemize
-
-@item ÎΰèǽÎÏ
-¤³¤ì¤Ï¡¢¥Æ¡¼¥Ö¥ë¤ò¤É¤Î¤è¤¦¤Ë¾®¤µ¤¯¤Ç¤­¤ë¤«¤Ç¤¹¡£
-
-@strong{MySQL} ¤Ï¤È¤Æ¤âÀºÌ©¤Ê·¿¤ò»ý¤Á¤Þ¤¹¡£¤È¤Æ¤â¾®¤µ¤¤Îΰè¤ò»ÈÍѤ¹¤ë¥Æ¡¼¥Ö¥ë¤òºîÀ®¤Ç¤­
-¤ë¤¿¤á¤Ç¤¹¡£@strong{MySQL} ¥Ç¡¼¥¿·¿¤ÎÍ­ÍѤÊÎã¤Ï¡¢3¥Ð¥¤¥ÈŤΠ@code{MEDIUMINT}
-¤Ç¤¹¡£10,000,000 ¥ì¥³¡¼¥É¤ò»ý¤Ä¾ì¹ç¡¢1¥ì¥³¡¼¥É¤¢¤¿¤ê1¥Ð¥¤¥È¤ÎÀáÌó¤Ç¤â¤È
-¤Æ¤â½ÅÍפǤ¹¡£
-
-@code{mSQL2} ¤Ï4¤Ä¤Î·¿(char,text,int,real)¤·¤«¤Ê¤¤¤Î¤Ç¡¢¾®¤µ¤Ê¥Æ¡¼¥Ö¥ë¤ò
-ÆÀ¤ë¤Î¤ÏÆñ¤·¤¤¤Ç¤¹¡£
-
-@item °ÂÄêÀ­
-¤³¤ì¤òµÒ´ÑŪ¤ËȽÃǤ¹¤ë¤Î¤ÏÆñ¤·¤¤¤Ç¤¹¡£@strong{MySQL} ¤Î°ÂÄêÀ­¤Ë¤Ä¤¤¤Æ¤Ï
-@ref{Stability} ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-
-²æ¡¹¤Ë¤Ï @code{mSQL} °ÂÄêÀ­¤Î·Ð¸³¤¬¤¢¤ê¤Þ¤»¤ó¡£¤½¤Î¤¿¤á¡¢²æ¡¹¤Ï¤³¤ì¤Ë¤Ä
-¤¤¤Æ¤Ï²¿¤â¸À¤¨¤Þ¤»¤ó¡£
-
-@item ²Á³Ê
-¤â¤¦°ì¤Ä¤Î½ÅÍפÊÌäÂê¤Ï¤â¤Á¤í¤ó¥é¥¤¥»¥ó¥¹¤Ç¤¹¡£@strong{MySQL} ¤Ï
-@code{mSQL} ¤è¤ê¤â½ÀÆð¤Ê¥é¥¤¥»¥ó¥¹¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤½¤·¤Æ @code{mSQL} ¤è
-¤ê¤â¤è¤ê°Â¤¤¤Ç¤¹¡£¾¯¤Ê¤¯¤È¤â¡¢¤¢¤Ê¤¿¤¬»ÈÍѤòÁªÂò¤·¤¿À½ÉÊÁ´¤Æ¤Ë¡¢¥é¥¤¥»¥ó
-¥¹¤Þ¤¿¤Ï email ¥µ¥Ý¡¼¥È¤Ø¤Î»Ùʧ¤¤¤ò¹Íθ¤¹¤ë¤³¤È¤ò³Ð¤¨¤Æ¤¤¤Æ²¼¤µ¤¤¡£
-@strong{MySQL} ¤ò´Þ¤á¤¿À½ÉʤòÇä¤ë¾ì¹ç¡¢¤â¤Á¤í¤ó¤³¤Î¥é¥¤¥»¥ó¥¹¤Î³ÍÆÀ¤¬Í×µá
-¤µ¤ì¤Þ¤¹¡£
-
-
-@item Perl interfaces
-@strong{MySQL} ¤Ï´ðËÜŪ¤Ë @code{mSQL} ¤ÈƱ¤¸ perl ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤È¡¢¤¤¤¯¤Ä¤«¤ÎÄÉ
-²Ãµ¡Ç½¤ò»ý¤Á¤Þ¤¹¡£
-
-@item JDBC (Java)
-@strong{MySQL} currently has 4 JDBC drivers:
-@itemize @bullet
-@item
-The gwe driver: A Java interface by GWE technologies (not supported anymore).
-@item
-The jms driver: An improved gwe driver by Xiaokun Kelvin ZHU
-@email{X.Zhu@@brad.ac.uk}.
-@item
-The twz driver: A type 4 JDBC driver by Terrence W. Zellers
-@email{zellert@@voicenet.com}. This is commercial but is free for private
-and educational use.
-@item
-The mm driver: A type 4 JDBC driver by Mark Matthews
-@email{mmatthew@@ecn.purdue.edu}. This is released under the GPL.
-@end itemize
-
-The recommended drivers are the twz or mm driver. Both are reported to work
-excellently.
-
-We know that @code{mSQL} has a JDBC driver, but we have too little experience
-with it to compare.
-
-@item ³«È¯¤Î®ÅÙ
-@strong{MySQL} ¤Ï¤È¤Æ¤â¾®¤µ¤¤³«È¯¥Á¡¼¥à¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢²æ¡¹¤Ï C ¤È C++ ¤Î¥³¡¼¥Ç¥£
-¥ó¥°¤ò¤È¤Æ¤â®¤¯¹Ô¤Ê¤¤¤Þ¤¹¡£¥¹¥ì¥Ã¥É¡¢´Ø¿ô¡¢ @code{GROUP BY} ¤Ê¤É¤Ï¤Þ¤À
-@code{mSQL} ¤Ë¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç¡¢it has a lot of chatching up to
-do. ¤³¤Î¾å¤Ç¤¤¤¯¤Ä¤«¤Î¸«Ä̤·¤òÆÀ¤ë¤¿¤á¤Ë¡¢µîǯ¤Î @code{mSQL} @file{HISTORY} ¥Õ¥¡
-¥¤¥ë¤ò¸«¤Æ¡¢@strong{MySQL} Reference Manual News Àá¤ÈÈæ³Ó¤Ç¤­¤Þ¤¹(@pxref{News})¡£Â®¤¯³«È¯¤µ¤ì¤¿Â¿¤¯¤Î¤â¤Î
-¤¬¡¢¤«¤Ê¤êÌÀÇò¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-@item ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥×¥í¥°¥é¥à
-@code{mSQL} ¤È @strong{MySQL} ¤Ï¿¤¯¤Î¶½Ì£¿¼¤¤¥µ¡¼¥É¥Ñ¡¼¥Æ¥£¥Ä¡¼¥ë¤ò»ý¤Ã
-¤Æ¤¤¤Þ¤¹¡£¾å°Ì¤Ø¤Î°Ü¹Ô (@code{mSQL} -> @strong{MySQL}) ¤Ï¤È¤Æ¤â´Êñ¤Ç¤¹¡£
-@strong{MySQL} ¤Ï¡¢¤Û¤È¤ó¤ÉÁ´¤Æ¤Î¶½Ì£¿¼¤¤ @code{mSQL} ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò
-»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
-
-@strong{MySQL} ¤Ë¤Ï¡¢´Êñ¤Ê @code{msql2mysql} ¥×¥í¥°¥é¥à¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢@code{mSQL} ¤È @strong{MySQL} ¤Î C API ´Ø¿ô¤Î¥¹¥Ú¥ë¤Î°ã¤¤¤ò½¤Àµ¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤¹¡£
-For example, it changes instances of @code{msqlConnect()} to
-@code{mysql_connect()}.
-@code{mSQL} ¤«¤é MySQL ¤Ø¤ÎÊÑ´¹¤ÏÄ̾¿ôʬ»ÈÍѤ¹¤ë¤À¤±¤Ç¤¹¡£
-@end table
-
-@menu
-* Using mSQL tools:: How to convert @code{mSQL} tools for @strong{MySQL}
-* Protocol differences:: How @code{mSQL} and @strong{MySQL} client/server communications protocols differ
-* Syntax differences:: How @code{mSQL} 2.0 SQL syntax differs from @strong{MySQL}
-@end menu
-
-@node Using mSQL tools, Protocol differences, Compare mSQL, Compare mSQL
-@subsection How to convert @code{mSQL} tools for MySQL
-
-According to our experience, it would just take a few hours to convert tools
-such as @code{msql-tcl} and @code{msqljava} that use the
-@code{mSQL} C API so that they work with the @strong{MySQL} C API.
-
-The conversion procedure is:
-
-@enumerate
-@item
-¥·¥§¥ë¥¹¥¯¥ê¥×¥È @code{msql2mysql} ¤ò¥½¡¼¥¹¤Ë¼Â¹Ô¤·¤Þ¤¹¡£¥Ð¥¤¥Ê¥ê¥×¥í¥°¥é¥à
-@code{replace} ¤¬É¬ÍפǤ¹¡£¤³¤ì¤Ï @strong{MySQL} ¤ÇÇÛÉÛ¤µ¤ì¤Þ¤¹¡£
-@item
-Compile.
-@item
-Á´¤Æ¤Î¥³¥ó¥Ñ¥¤¥é¥¨¥é¡¼¤ò½¤Éü¤·¤Þ¤¹.
-@end enumerate
-
-@strong{MySQL} ¤È @code{mSQL} ´Ö¤Î C API ¤Î°ã¤¤:
-@itemize @bullet
-@item
-@strong{MySQL} ¤Ï @code{MYSQL} ¹½Â¤ÂΤòÀܳ·¿¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹ (@code{mSQL} ¤Ï
-@code{int} ¤ò»ÈÍѤ·¤Þ¤¹)¡£
-@item
-@code{mysql_connect()} ¤Ï @code{MYSQL} ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤ò¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£¤½
-¤ì¤ò¥°¥í¡¼¥Ð¥ë¤ËÄêµÁ¤·¤¿¤ê¡¢¤½¤Î³ÍÆÀ¤Ë @code{malloc()} ¤ò»ÈÍѤ¹¤ë¤Î¤Ï´Êñ¤Ç¤¹¡£
-@code{mysql_connect()} also takes two parameters for specifying the user and
-password. You may set these to @code{NULL, NULL} for default use.
-@item
-@code{mysql_error()} ¤Ï @code{MYSQL} ¹½Â¤ÂΤò¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£¸Å¤¤¥³¡¼¥É¤ò°Ü
-¹Ô¤¹¤ë¾ì¹ç¡¢¤¢¤Ê¤¿¤Î¸Å¤¤ @code{msql_error()} ¥³¡¼¥É¤Ø¥Ñ¥é¥á¡¼¥¿¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£
-@item
-@strong{MySQL} returns an error number and a text error message for all
-errors. @code{mSQL} returns only a text error message.
-@item
-Some incompatibilities exist as a result of @strong{MySQL} supporting
-multiple connections to the server from the same process.
-@end itemize
-
-@node Protocol differences, Syntax differences, Using mSQL tools, Compare mSQL
-@subsection How @code{mSQL} and MySQL client/server communications protocols differ
-
-There are enough differences that it is impossible (or at least not easy)
-to support both.
-
-The most significant ways in which the @strong{MySQL} protocol differs
-from the @code{mSQL} protocol are listed below:
-
-@itemize @bullet
-@item
-¥á¥Ã¥»¡¼¥¸¥Ð¥Ã¥Õ¥¡¤Ï¿¤¯¤Î·ë²Ì¹Ô¤ò´Þ¤á¤Þ¤¹¡£
-@item
-¼ÁÌä¤Þ¤¿¤Ï²óÅú¤¬¸½ºß¤Î¥Ð¥Ã¥Õ¥¡¤è¤ê¤âÂ礭¤¤¾ì¹ç¡¢¥µ¡¼¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤Î¥³
-¥ó¥Õ¥£¥°²ÄǽÀ©¸Â¤Þ¤Ç¡¢¥á¥Ã¥»¡¼¥¸¥Ð¥Ã¥Õ¥¡¤ÏưŪ¤ËÁýÂ礵¤ì¤Þ¤¹¡£
-@item
-Á´¤Æ¤Î¥Ñ¥±¥Ã¥È¤Ï¡¢¥Ñ¥±¥Ã¥È¤Î½ÅÊ£¤ä¸«¼º¤¤¤ò¸«¤Ä¤±½Ð¤¹¤¿¤á¤Ë¡¢ÈÖ¹æ¤Å¤±¤µ
-¤ì¤Æ¤¤¤Þ¤¹¡£
-@item
-Á´¤Æ¤Î¹àÌÜ¤Ï ASCII ¤ÇÁ÷¤é¤ì¡¢¹àÌܤιԤÈŤµ¤Ï¥Ñ¥Ã¥¯¤µ¤ì¤¿¥Ð¥¤¥Ê¥ê¥³¡¼¥Ç¥£¥ó
-¥°(1,2 ¤Þ¤¿¤Ï 3 ¥Ð¥¤¥È)¤ÇÁ÷¤é¤ì¤Þ¤¹¡£
-@item
-@strong{MySQL} ¤Ï¥Ð¥Ã¥Õ¥¡¤µ¤ì¤Ê¤¤·ë²Ì¤ÇÆɤ߹þ¤ß²Äǽ¤Ç¤¹(¥¯¥é¥¤¥¢¥ó¥ÈÆâ¤Ë´°Á´¤Ê¥»¥Ã
-¥È¤ò³ÊǼ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó)¡£
-@item
-°ì¤Ä¤Î½ñ¤­¹þ¤ß/Æɤ߹þ¤ß¤¬ 30 Éðʾ夫¤«¤ë¤È¡¢¥µ¡¼¥Ð¤ÏÀܳ¤ò¥¯¥í¡¼¥º¤·¤Þ
-¤¹¡£
-@item
-Àܳ¤Ç 8 »þ´Ö²¿¤âµ¯¤­¤Ê¤¤¤È¡¢¥µ¡¼¥Ð¤ÏÀܳ¤ò¥¯¥í¡¼¥º¤·¤Þ¤¹¡£
-@end itemize
-
-@node Syntax differences, , Protocol differences, Compare mSQL
-@subsection @strong{MySQL} & @code{mSQL} 2.0 ´Ö¤Î SQL ¹½Ê¸¤Î°ã¤¤¤Ï¡©
-
-@noindent
-@strong{Column types}
-
-@table @code
-@item @strong{MySQL}
-¾¤Ë²Ã¤¨¼¡¤Î¹àÌÜ¥ª¥×¥·¥ç¥ó·¿¤ò»ý¤Á¤Þ¤¹ (among others; see
-@pxref{CREATE TABLE, , @code{CREATE TABLE}}):
-@itemize @bullet
-@item
-@code{ENUM} type for one of a set of strings.
-@item
-@code{SET} type for many of a set of strings.
-@item
-@code{BIGINT} type for 64-bit integers.
-@end itemize
-@item
-@strong{MySQL} also supports
-the following additional type attributes:
-@itemize @bullet
-@item
-À°¿ô¹àÌܤؤΠ@code{UNSIGNED} ¥ª¥×¥·¥ç¥ó
-@item
-À°¿ô¹àÌܤؤΠ@code{ZEROFILL} ¥ª¥×¥·¥ç¥ó
-@item
-@code{PRIMARY KEY} ¤â´Þ¤ßÁ´¤Æ¤ÎÀ°¿ô¹àÌܤؤΠ@code{AUTO_INCREMENT} ¥ª¥×¥·¥ç¥ó
-@xref{mysql_insert_id, , @code{mysql_insert_id()}}.
-@item
-Á´¤Æ¤Î¹àÌܤؤΠ@code{DEFAULT} ÃÍ
-@end itemize
-@item mSQL2
-@code{mSQL} column types correspond to the @strong{MySQL} types shown below:
-@multitable @columnfractions .15 .85
-@item @code{mSQL} @strong{type} @tab @strong{Corresponding @strong{MySQL} type}
-@item @code{CHAR(len)} @tab @code{CHAR(len)}
-@item @code{TEXT(len)} @tab @code{TEXT(len)}. @code{len} is the maximal length.
-And @code{LIKE} works.
-@item @code{INT} @tab @code{INT}. With many more options!
-@item @code{REAL} @tab @code{REAL}. Or @code{FLOAT}. Both 4- and 8-byte versions are available.
-@item @code{UINT} @tab @code{INT UNSIGNED}
-@item @code{DATE} @tab @code{DATE}. Uses ANSI SQL format rather than @code{mSQL}'s own format.
-@item @code{TIME} @tab @code{TIME}
-@item @code{MONEY} @tab @code{DECIMAL(12,2)}. A fixed-point value with two decimals.
-@end multitable
-@end table
-
-@noindent
-@strong{Index creation}
-
-@table @code
-@item @strong{MySQL}
-Indexes may be specified at table creation time with the @code{CREATE TABLE}
-statement.
-@item mSQL
-Indexes must be created after the table has been created, with separate
-@code{CREATE INDEX} statements.
-@end table
-
-@noindent
-@strong{To insert a unique identifier into a table}
-
-@table @code
-@item @strong{MySQL}
-Use @code{AUTO_INCREMENT} as a column type
-specifier.
-@xref{mysql_insert_id, , @code{mysql_insert_id()}}.
-@item mSQL
-Create a @code{SEQUENCE} on a table and select the @code{_seq} column.
-@end table
-
-@noindent
-@strong{To obtain a unique identifier for a row}
-
-@table @code
-@item @strong{MySQL}
-Add a @code{PRIMARY KEY} or @code{UNIQUE} key to the table and use this.
-New in 3.23.11: If the @code{PRIMARY} or @code{UNIQUE} key consists of only one
-column and this is of type integer, one can also refer to it as
-@code{_rowid}.
-@item mSQL
-Use the @code{_rowid} column. Observe that @code{_rowid} may change over time
-depending on many factors.
-@end table
-
-@noindent
-@strong{To get the time a column was last modified}
-
-@table @code
-@item @strong{MySQL}
-Add a @code{TIMESTAMP} column to the table. This column is automatically set
-to the current date and time for @code{INSERT} or @code{UPDATE} statements if
-you don't give the column a value or if you give it a @code{NULL} value.
-
-@item mSQL
-Use the @code{_timestamp} column.
-@end table
-
-@noindent
-@strong{@code{NULL} value comparisons}
-
-@table @code
-@item @strong{MySQL}
-@strong{MySQL} follows
-ANSI SQL and a comparison with @code{NULL} is always @code{NULL}.
-@item mSQL
-In @code{mSQL}, @code{NULL = NULL} is TRUE. You
-must change @code{=NULL} to @code{IS NULL} and @code{<>NULL} to
-@code{IS NOT NULL} when porting old code from @code{mSQL} to @strong{MySQL}.
-@end table
-
-@noindent
-@strong{String comparisons}
-
-@table @code
-@item @strong{MySQL}
-Normally, string comparisons are performed in case-independent fashion with
-the sort order determined by the current character set (ISO-8859-1 Latin1 by
-default). If you don't like this, declare your columns with the
-@code{BINARY} attribute, which causes comparisons to be done according to the
-ASCII order used on the @strong{MySQL} server host.
-@item mSQL
-All string comparisons are performed in case-sensitive fashion with
-sorting in ASCII order.
-@end table
-
-@noindent
-@strong{Case-insensitive searching}
-
-@table @code
-@item @strong{MySQL}
-@code{LIKE} is a case-insensitive or case-sensitive operator, depending on
-the columns involved. If possible, @strong{MySQL} uses indexes if the
-@code{LIKE} argument doesn't start with a wildcard character.
-@item mSQL
-Use @code{CLIKE}.
-@end table
-
-@noindent
-@strong{Handling of trailing spaces}
-
-@table @code
-@item @strong{MySQL}
-Strips all spaces at the end of @code{CHAR} and @code{VARCHAR}
-columns. Use a @code{TEXT} column if this behavior is not desired.
-@item mSQL
-Retains trailing space.
-@end table
-
-@noindent
-@strong{@code{WHERE} clauses}
-
-@table @code
-@item @strong{MySQL}
-@strong{MySQL} correctly prioritizes everything (@code{AND} is evaluated
-before @code{OR}). To get @code{mSQL} behavior in @strong{MySQL}, use
-parentheses (as shown below).
-@item mSQL
-Evaluates everything from left to right. This means that some logical
-calculations with more than three arguments cannot be expressed in any
-way. It also means you must change some queries when you upgrade to
-@strong{MySQL}. You do this easily by adding parentheses. Suppose you
-have the following @code{mSQL} query:
-@example
-mysql> SELECT * FROM table WHERE a=1 AND b=2 OR a=3 AND b=4;
-@end example
-To make @strong{MySQL} evaluate this the way that @code{mSQL} would,
-you must add parentheses:
-@example
-mysql> SELECT * FROM table WHERE (a=1 AND (b=2 OR (a=3 AND (b=4))));
-@end example
-@end table
-
-@noindent
-@strong{Access control}
-
-@table @code
-@item @strong{MySQL}
-Has tables to store grant (permission) options per user, host and
-database. @xref{Privileges}.
-@item mSQL
-Has a file @file{mSQL.acl} in which you can grant read/write privileges for
-users.
-@item
-@end table
-
-@node Compare PostgreSQL, , Compare mSQL, Comparisons
-@section How @strong{MySQL} compares to PostgreSQL
-
-We would first like to note that @code{PostgreSQL} and @strong{MySQL}
-are both widely used products but their design goals are completely
-different. This means that for some applications @strong{MySQL} is more
-suitable and for others @code{PostgreSQL} is more suitable. When
-choosing which database to use you should first check if the databases
-feature set is good enough to satisfy your application. If you need
-speed then @strong{MySQL} is probably your best choice, if you need some
-of the extra features that @code{PostgreSQL} can offer you should use
-@code{PostgreSQL}.
-
-@code{PostgreSQL} ¤Ï¤µ¤é¤Ë¿Ê¤ó¤Àµ¡Ç½¤ò¤¤¤¯¤Ä¤«»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¥æ¡¼¥¶ÄêµÁ·¿¡¢¥È¥ê
-¥¬¡¢¥ë¡¼¥ë¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Î¤è¤¦¤Ê¡£
-(currently it's
-has about same symantic as @code{MySQL}'s transactions in that the
-transaction is not 100 % atomic)
-¤·¤«¤· ANSI SQL ¤È ODBC ¤Îɸ½à·¿¤È
-µ¡Ç½¤Î¿¤¯¤¬·ç¤±¤Æ¤¤¤Þ¤¹¡£¥µ¥Ý¡¼¥È/̤¥µ¥Ý¡¼¥È¤Î·¿/´Ø¿ô¤Î´°Á´¤Ê°ìÍ÷¤Ï
-@uref{http://www.mysql.com/crash-me-choose.htmy, @code{crash-me} web page} ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£
-
-Ä̾@code{PostgreSQL} ¤Ï @strong{MySQL} ¤è¤ê¤È¤Æ¤âÃÙ¤¤¤Ç¤¹¡£
-@xref{Benchmarks}. This is due largely to they have only
-transaction safe tables and that their transactions system is not as
-sophisticated as Berkeley DB's. In @strong{MySQL} you can decide per
-table if you want the table to be fast or take the speed penalty of
-making it transaction safe.
-
-The most important things that @code{PostgreSQL} supports that @strong{MySQL}
-don't yet support:
-
-@table @code
-@item Sub select
-@item Foregin keys
-@item Stored procedures
-@item An extendable type system.
-@item A way to extend the SQL to handle new key types (like R-trees)
-@end table
-
-@strong{MySQL} on the other hand supports a many ANSI SQL constructs
-that @code{PostgreSQL} doesn't support; Most of these can be found at the
-@uref{http://www.mysql.com/crash-me-choose.htmy, @code{crash-me} web page}.
-
-If you really need the rich type system @code{PostgreSQL} offers and you
-can afford the speed penalty of having to do everything transaction
-safe, you should take a look at @code{PostgreSQL}.
-@node MySQL internals, Environment variables, Comparisons, Top
-@chapter MySQL internals
-
-This chapter describes a lot of things that you need to know when
-working on the @strong{MySQL} code.
-
-@menu
-* MySQL threads::
-@end menu
-
-@node MySQL threads, , MySQL internals, MySQL internals
-@section MySQL threads
-
-@strong{MySQL} ¥µ¡¼¥Ð¡¼¤Ï°Ê²¼¤Î¥¹¥ì¥Ã¥É¤òºîÀ®¤·¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-TCP/IP Àܳ¥Ï¥ó¥É¥ë¤Ï¡¢Á´¤Æ¤ÎÀܳÍ×µá¤ò°·¤¤¡¢¤µ¤é¤Ë¡¢
-ǧ¾Ú¤ò¹Ô¤¦¤¿¤á¤Î¥¹¥ì¥Ã¥ÉSQL¥¯¥¨¥ê¤ò½èÍý¤¹¤ë¥¹¥ì¥Ã¥É¤òÀ¸À®¤·¤Þ¤¹
-@item
-NT¤Ç¤Ï¡¢¥Í¡¼¥à¥É¡¦¥Ñ¥¤¥×¡¦¥Ï¥ó¥É¥é¡¼¡¦¥¹¥ì¥Ã¥É¤¬¤¢¤ê¤Þ¤¹¡£
-¤³¤ì¤Ï¥Í¡¼¥à¥É¡¦¥Ñ¥¤¥×¤ÎÀܳÍ×µá¤ËÂФ·¡¢TCP/IPÀܳ¥¹¥ì¥Ã¥É¤ÈƱÍͤËÆ°¤­¤Þ¤¹¡£
-@item
-¥·¥°¥Ê¥ë¥¹¥ì¥Ã¥É¤Ï¡¢Á´¤Æ¤Î¥·¥°¥Ê¥ë¤ò°·¤¤¤Þ¤¹¡£
-This thread also normally handles
-alarms and calls @code{process_alarm()} to force timeouts on connections
-that have been idle too long.
-@item
-If compiled with @code{-DUSE_ALARM_THREAD}, a dedicated thread that
-handles alarms is created. This is only used on some systems where
-there are some problems with @code{sigwait()} or if one wants to use the
-@code{thr_alarm()} code in ones application without a dedicated signal
-handling thread.
-@item
-¤â¤· @code{--flush-time} ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤¿¤Ê¤é¡¢
-Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ò°ìÄê´ü´Ö¤Ç¥Õ¥é¥Ã¥·¥å¤¹¤ë¤¿¤á¤À¤±¤Î¥¹¥ì¥Ã¥É¤òºî¤ê¤Þ¤¹¡£
-@item
-Every connection has its own thread.
-@item
-Every different table on which one uses @code{INSERT DELAYED} gets its
-own thread.
-@item
-If you use @code{--master-host} , slave replication thread will be started to read and apply
-updates from the master.
-@end itemize
-
-@code{mysqladmin processlist} only shows the connection and @code{INSERT
-DELAYED} threads.
-
-
-@page
-@node Environment variables, Users, MySQL internals, Top
-@appendix Environment variables
-
-Here follows a list of all environment variables that are used directly or
-indirectly by @strong{MySQL}. Most of these can also be found at other
-places in this manual.
-
-Note that any options on the command line will take precedence over
-values specified in configuration files and environment variables, and
-values in configuration files take precedence over values in environment
-variables.
-
-In many cases its preferable to use a configure file instead of environment
-variables to modify the behaviour of @strong{MySQL}. @xref{Option files}.
-
-@tindex CCX environment variable
-@tindex Environment variable, CCX
-@tindex CC environment variable
-@tindex Environment variable, CC
-@tindex CFLAGS environment variable
-@tindex Environment variable, CFLAGS
-@tindex CXXFLAGS environment variable
-@tindex Environment variable, CXXFLAGS
-@tindex DBI_USER environment variable
-@tindex Environment variable, DBI_USER
-@tindex DBI_TRACE environment variable
-@tindex Environment variable, DBI_TRACE
-@tindex HOME environment variable
-@tindex Environment variable, HOME
-@tindex LD_RUN_PATH environment variable
-@tindex Environment variable, LD_RUN_PATH
-@tindex MYSQL_DEBUG environment variable
-@tindex Environment variable, MYSQL_DEBUG
-@tindex MYSQL_HISTFILE environment variable
-@tindex Environment variable, MYSQL_HISTFILE
-@tindex MYSQL_HOST environment variable
-@tindex Environment variable, MYSQL_HOST
-@tindex MYSQL_PWD environment variable
-@tindex Environment variable, MYSQL_PWD
-@tindex MYSQL_TCP_PORT environment variable
-@tindex Environment variable, MYSQL_TCP_PORT
-@tindex MYSQL_UNIX_PORT environment variable
-@tindex Environment variable, MYSQL_UNIX_PORT
-@tindex PATH environment variable
-@tindex Environment variable, PATH
-@tindex TMPDIR environment variable
-@tindex Environment variable, TMPDIR
-@tindex TZ environment variable
-@tindex Environment variable, TZ
-@tindex UMASK_DIR environment variable
-@tindex Environment variable, UMASK_DIR
-@tindex UMASK environment variable
-@tindex Environment variable, UMASK
-@tindex USER environment variable
-@tindex Environment variable, USER
-
-@multitable @columnfractions .2 .8
-@item @code{CCX} @tab Set this to your C++ compiler when running configure.
-@item @code{CC} @tab Set this to your C compiler when running configure.
-@item @code{CFLAGS} @tab Flags for your C compiler when running configure.
-@item @code{CXXFLAGS} @tab Flags for your C++ compiler when running configure.
-@item @code{DBI_USER} @tab The default user name for Perl DBI.
-@item @code{DBI_TRACE} @tab Used when tracing Perl DBI.
-@item @code{HOME} @tab The default path for the @code{mysql} history file is @file{$HOME/.mysql_history}.
-@item @code{LD_RUN_PATH} @tab Used to specify where your @code{libmysqlclient.so} is.
-@item @code{MYSQL_DEBUG} @tab Debug-trace options when debugging
-@item @code{MYSQL_HISTFILE} @tab The path to the @code{mysql} history file.
-@item @code{MYSQL_HOST} @tab Default host name used by the @code{mysql} command line prompt.
-@item @code{MYSQL_PWD} @tab The default password when connecting to mysqld. Note that use of this is insecure!
-@item @code{MYSQL_TCP_PORT} @tab The default TCP/IP port.
-@item @code{MYSQL_UNIX_PORT} @tab The default socket; used for connections to @code{localhost}.
-@item @code{PATH} @tab Used by the shell to finds the @strong{MySQL} programs.
-@item @code{TMPDIR} @tab The directory where temporary tables/files are created.
-@item @code{TZ} @tab This should be set to your local timezone. @xref{Timezone problems}.
-@item @code{UMASK_DIR} @tab The user-directory creation mask when creating directories. Note that this is anded with @code{UMSK} !
-@item @code{UMASK} @tab The user-file creation mask when creating files.
-@item @code{USER} @tab The default user on Windows to use when connection to @code{mysqld}.
-@end multitable
-
-@page
-@node Users, Contrib, Environment variables, Top
-@appendix Some MySQL users
-
-@appendixsec General news sites
-
-@itemize @bullet
-
-@item @uref{http://www.yahoo.com/, Yahoo!}
-
-@item @uref{http://slashdot.org/, Slashdot: A pro-Linux/tech news and comment/discussion site}
-
-@item @uref{http://www.linux.com/, All about Linux}
-
-@item @uref{http://www.linuxtoday.com/, Linuxtoday}
-
-@item @uref{http://www.32bitsonline.com/, 32Bits Online: because there's
-more than one way to compute}
-
-@item @uref{http://www.freshmeat.net/, Freshmeat: News about new versions of computer related stuff}
-
-@end itemize
-
-@appendixsec Some Web search engines
-
-@itemize @bullet
-
-@item @uref{http://www.aaa.com.au, AAA Matilda Web Search}
-
-@item @uref{http://www.whatsnu.com/, What's New}
-
-@item @uref{http://www.aladin.de/, Aladin}
-
-@item @uref{http://www.columbus-finder.de/, Columbus Finder}
-
-@item @uref{http://www.spider.de/, Spider}
-
-@item @uref{http://www.blitzsuche.de/, Blitzsuche}
-
-@item @uref{http://www.indoseek.co.id, Indoseek Indonesia}
-
-@item @uref{http://www.yaboo.dk/, Yaboo - Yet Another BOOkmarker}
-
-@item @uref{http://www.yahoosuck.com, Yahoosuck}
-
-@item @uref{http://www.ozsearch.com.au, OzSearch Internet Guide}
-
-@item @uref{http://www.splatsearch.com/, Splat! Search}
-
-@end itemize
-
-@appendixsec Some Information search engines concentrated on some area
-
-@itemize @bullet
-
-@item @uref{http://www.tucows.com/, TuCows Network; Free Software archive}
-
-@item @uref{http://www.jobvertise.com,Jobvertise: Post and search for jobs}
-
-@item @uref{http://www.musicdatabase.com, The Music Database}
-
-@item @uref{http://www.soccersearch.com, Fotball (Soccer) search page}
-
-@item @uref{http://www.headrush.net/takedown, TAKEDOWN - wrestling}
-
-@item @uref{http://www.lyrics.net, The International Lyrics Network}
-
-@item @uref{http://TheMatrix.com/~matrix/band_search.phtml, Musicians looking for other musicians (Free Service)}
-
-@item @uref{http://www.addall.com/AddBooks/Stores.html,AddALL books searching and price comparison}
-
-@item @uref{http://www.herbaria.harvard.edu/Data/Gray/gray.html,Harvard's Gray Herbarium Index of Plant Names}
-
-@item @uref{http://www.game-developer.com/,The Game Development Search Engine}
-
-@item @uref{http://www.i-run.com/html/cookbook.html,My-Recipe.com; Cookbook at i-run.com}
-
-@item @uref{www.theinnkeeper.com, The Innkeeper Vacation Guides}
-
-@item @uref{http://www.macgamedatabase.com/, The Mac Game Database uses PHP and MySQL}
-@c From: Marc Antony Vose <suzerain@suzerain.com>
-
-@item @uref{http://www.csse.monash.edu.au/publications/, Research
-Publications at Monash University in Australia}
-
-@item @uref{http://www.ipielle.emr.it/bts/index.html,
-Occupational Health & Safety website databse (a project for the ECC)}
-@c c.presutti@ipielle.emr.it
-
-@item @uref{http://data.mch.mcgill.ca/, Bioinformatics databases at the
-Montreal Children's Hospital using MySQL}
-@c saeed@www.debelle.mcgill.ca
-@end itemize
-
-@appendixsec Online magazines
-
-@itemize @bullet
-@item @uref{http://www.spoiler.com, Spoiler Webzine}.
-An online magazine featuring music, literature, arts, and design content.
-@item @uref{http://www.linux-magazin.de/newsflash/, Daily news about Linux in German language}
-@item @uref{http://www.betazine.com,Betazine - The Ultimate Online Beta Tester's Magazine}
-@item @uref{http://www.currents.net/ccinfo/aboutcc.html,Computer Currents Magazine}
-@end itemize
-
-@appendixsec Web sites that use MySQL as a backed
-
-@itemize @bullet
-
-@item @uref{http://lindev.jmc.tju.edu/qwor, Qt Widget and Object Repository}
-
-@item @uref{http://www.samba-choro.com.br, Brazilian samba site (in Portuguese)}
-
-@item @uref{http://pgss.iss.uw.edu.pl/en_index.ISS, Polish General Social Survey}
-
-@item @uref{http://www.expo2000.com, Expo2000} World-wide distribution of
-tickets for this event is implemented using @strong{MySQL} and tcl/tk. More than
-5000 travel-agencies all over the world have access to it.
-
-@item @uref{http://www.freevote.com/, FreeVote.com is a free voting
-service with millions of users.}
-
-@item @uref{http://f1.tauzero.se, Forza Motorsport}
-@end itemize
-
-@appendixsec Some Domain/Internet/Web and related services
-
-@itemize @bullet
-
-@item @uref{http://www.wix.com/mysql-hosting, Registry of Web providers that
-support @strong{MySQL}}
-
-@item @uref{http://www.yi.org/, Dynamic DNS Services}
-
-@item @uref{http://www.dynodns.net/, Dynamic domain name service}
-
-@item @uref{http://www.ods.org/, Open DNS Project; free dynamic DNS service}
-
-@c @item @uref{http://dynodns.net, Free dynamic DNS implementation}
-@c EMAIL: A Moore <amoore@mooresystems.com>
-
-@item @uref{http://www.fdns.net/, Free 3rd level domains}
-
-@item @uref{http://worldcommunity.com/, Online Database}
-
-@item @uref{http://www.bigbiz.com, BigBiz Internet Services}
-
-@item @uref{http://virt.circle.net, The Virt Gazette}
-
-@item @uref{http://www.california.com, Global InfoNet Inc}
-
-@item @uref{http://www.webhosters.com, WebHosters - A Guide to WWW Providers}
-
-@item @uref{http://online.dn.ru, Internet information server}
-
-@item @uref{http://www.stopbit.com, A technology news site}
-
-@item @uref{http://www.worldnetla.net, WorldNet Communications - An Internet Services Provider}
-
-@item @uref{http://www.netizen.com.au/, Netizen: Australian-based web consultancy}
-
-@item @uref{http://www.trainingpages.co.uk, Search site for training courses in the UK}
-
-@item @uref{http://chat.nitco.com, Gannon Chat (GPL). Written in Perl and Javascript}
-
-@item @uref{http://www.addurls.com/,A general links directory}
-
-@item @uref{http://www.bookmarktracker.com, A web-based bookmark management service}
-
-@item @uref{http://www.cdrom.com,Walnut Creek CDROM}
-
-@item @uref{http://www.wwwthreads.org/, WWWThreads; Interactive discussion Forums}
-
-@item @uref{http://pvmon.portici.enea.it/Meteo, In Italian; Storage data from meteo station}
-
-@item @uref{http://www.buysell.net/, Online "Person To Person" Auction}
-
-@item @uref{http://tips.pair.com,Tips on web development}
-
-@item @uref{http://www.mailfriends.com, Mailfriends.com is a FREE service for
-everybody who wants to find friends over the internet.}
-
-@item @uref{http://www.uninova.com/cgi-bin/wctelnets?list, Web Page Telnet BBS List}
-
-@item @uref{http://www.uninova.com/cnc.html,UniNova Digital Postcards}
-
-@c @item @uref{http://cabinboy.powersurfr.com, An Internet RFC search engine}
-
-@item @uref{http://www.dslreports.com, DSL providers search with reviews}
-Made with @strong{MySQL} and Modperl, all pages are generated dynamically out of
-the @strong{MySQL} database
-@end itemize
-
-@appendixsec Web sites that use @code{PHP} and MySQL
-
-@itemize @bullet
-@c @item @uref{http://www.wh200th.com, White House 200th Anniversary site}
-
-@item @uref{http://war.jgaa.com:8080/support/index.php3, Jgaa's Internet - Official Support Site}
-
-@item @uref{http://io.incluso.com, Ionline - online publication:} @strong{MySQL},
-PHP, Java, Web programming, DB development
-
-@item @uref{http://www.baboo.com, BaBoo(Browse and bookmark). Free web-based bookmark manager and Calendar}
-
-@item @uref{http://www.courses.pjc.cc.fl.us/Schedule/index.php, Course
-Schedule System at Pensacola Junior College}
-
-@item @uref{http://www.fccj.org, Florida Community College at Jacksonville}
-
-@item @uref{http://www.32bit.com/, 32bit.com; An extensive shareware / freeware archive}
-
-@item @uref{http://www.jokes2000.com/, Jokes 2000}
-@c Added 990604; EMAIL: ah@dybdahl.dk
-
-
-@item @uref{http://www.burken.nu/ , Burken.NU} Burken is a webhotel that
-provides scripts, among other things, for remote users, like counters,
-guestbooks etc.
-@c Added 990608; EMAIL: spacedmp@SpaceDump.Burken.NU (Anders Olausson)
-
-@item @uref{http://tips.pair.com, tips.pair.com} Contains tips on html,
-javascript, 2d/3d graphics and PHP3/MySQL. All pages are generated from
-a database.
-@c Added 990614; EMAIL: downey@image.dk (Rune Madsen)
-
-@end itemize
-
-@appendixsec Some MySQL consultants
-
-@itemize @bullet
-
-@item @uref{http://www.ayni.com, Ayni AG}
-
-@item @uref{http://worldcommunity.com/, Online Database}
-
-@item @uref{http://www2.dataguard.no/,DataGuard (Uses @strong{MySQL} and PHP)}
-
-@item @uref{http://wwits.net/programs/mysql.phtml, WWITS (Uses @strong{MySQL} and PHP)}
-
-@item @uref{http://www.worldcommunity.com/, WCN - The World Community Network}
-
-@item @uref{http://www.chipcastle.com, Chip Castle Dot Com Inc}
-@c Added 990603 EMAIL: chip@chipcastle.com (Chip Castle)
-
-
-@item @uref{http://www.cyber.com.au/, Cybersource Pty. Ltd}
-
-@item @uref{http://www.spring.de, Spring infotainment gmbh & co. kg}
-@c added 990905 "Oliver Pischke" <opischke@spring.de>
-
-@item @uref{http://www.wamdesign.com/, Develops websites using MySQL}
-@c Added 990905; max@wamdesign.com
-
-@item @uref{http://www.berkeleyconsultants.com, Berkeley Consultants Group}
-
-@end itemize
-
-@appendixsec Programming
-
-@itemize @bullet
-@item @uref{http://www.perl.org/cpan-testers, The Perl CPAN Testers results page}
-@end itemize
-
-
-@appendixsec Uncategorized pages
-
-@itemize @bullet
-
-@item @uref{http://www.feature-showcase.com/htmls/demo_mysql.sql,
-AZC.COM's Feature Showcase}
-
-@item @uref{http://www.teach.org.uk/subjects/trainingcourse/g.html, Course Search}
-
-@item @uref{http://www.northerbys.com, Northerbys Online Auctions}
-
-@item @uref{http://www.schiphol.nl/flights/home.htm, Amsterdam Airport Schiphol}
-
-@item @uref{http://TheMatrix.com/seventhsin/query.phtml, CD database}
-
-@item @uref{http://TheMatrix.com/~flmm/GEAR.html, Used Audio Gear Database}
-
-@item @uref{http://www.kiss.de/musik-mueller, Musical note-sheets}
-
-@item @uref{http://www.bagism.com, Bagism - A John Lennon fan page}
-
-@item @uref{http://www.selftaught.com/, US Folk art broker}
-
-@item @uref{http://organizer.net/, Mail reading on the web}
-
-@item @uref{http://www.mypage.org/, Free home pages on www.somecoolname.mypage.org}
-
-@item @uref{http://www.schulweb.de/, Der Server f@"ur Schulen im Web (In German)}
-
-@item @uref{http://www.ald.net/, Auldhaefen Online Services}
-
-@item @uref{http://www.cary.net/, CaryNET Information Center}
-
-@item @uref{http://www.dataden.com/, Dataden Computer Systems}
-
-@item @uref{http://andree.grm.se/, Andr@'emuseet (In Swedish)}
-
-@item @uref{http://www.him.net/, HOMESITE Internet Marketing}
-
-@item @uref{http://www.jade-v.com/techinfo.html, Jade-V Network Services }
-
-@item @uref{http://ww2010.atmos.uiuc.edu/(Gl)/abt/aknw/tech.rxml,
-Weather World 2010 Technical Credits} @*
-
-@item @uref{http://gimp.foebud.org/registry/doc/, About The Gimp plugin registry}
-
-@item @uref{http://www.fast-inc.com/Products/Archiver/database.html, Java tool
-Archiver technical detail (Slightly optimistic about @strong{MySQL}
-ANSI-92 compliance)}
-
-@item @uref{http://www.gamesdomain.com/cheats/usrcheat.phtml, Games Domain Cheats Database}
-
-@item @uref{http://www.kcilink.com/poweredby/, The "Powered By" Page (Kcilink)}
-
-@item @uref{http://www.netcasting.net/index.whtml, Netcasting}
-
-@item @uref{http://homepages.tig.com.au/~mjj/nbltips, NBL (Australian National Basketball League) tipping}
-
-@item @uref{http://www.cgishop.com/, CGI shop}
-
-@item @uref{http://www.whirlycott.com/, Whirlycott: Website Design}
-
-@item @uref{http://www.mtp.dk, Museum Tusculanum Press}
-
-@item @uref{http://csdgi.historie.ku.dk/biblio, Centro Siciliano di Documentazione}
-
-@item @uref{http://caribou.dyn.ml.org:8000, Quake statistics database}
-
-@item @uref{http://www.astroforum.ch, Astroforum: Astrologie and related things (in German)}
-
-@item @uref{http://www.opendebate.com, OpenDebate - Interactive Polls & Open Discussion}
-
-@item @uref{http://vermeer.organik.uni-erlangen.de/dissertationen/, Online chemical dissertation server}
-
-@item @uref{http://www.freschinfo.com, FreSch! The Free Scholarship Search Service}
-
-@item @uref{http://www.nada.kth.se/~staffanu/pinball, Stockholm Pinball Locator}
-
-@item @uref{http://www.hek.com, HEK A construction company}
-
-@item @uref{http://www.nbi.nl, Elsevier Bussines Information}
-
-@item @uref{http://vaccination.medicallink.se/, Medical Links (Using ColdFusion and @strong{MySQL})}
-
-@item @uref{http://www.joblink-usa.com, Search for jobs & people at JobLink-USA}
-
-@item @uref{http://www.skydive.net/competfs, Competition Formation Skydiving}
-
-@item @uref{http://www.galaxy-net.net/Galaxy-NET Telecommunications, E-commerce and internal accounting}
-
-@item @uref{http://www.borsen.dk/, Denmark's leading business daily newspaper Borsen}
-
-@item @uref{http://tmmm.simplenet.com/indb/, The Internet NES Database}
-
-@item @uref{http://www.russia.cz, Travel agency in Prague in 3 languages}
-
-@item @uref{http://www.linkstation.de, Linkstation}
-
-@item @uref{http://www.peoplestaff.com, Searchable online database at Peoplestaff}
-
-@item @uref{http://www.dreamhorse.com, A searchable database system for horse classified ads}
-
-@item @uref{http://pootpoot.com/,The Poot site}
-
-@item @uref{http://grateful.net/hw_html/,"Playin' in the LAN"; a network monitoring suite}
-
-@c Update from Christopher Milton <cmilton@bwn.net> 1999-12-21
-@item @uref{http://www.usapa.army.mil,U.S. Army Publishing Agency}
-
-@item @uref{http://www.nekretnine.co.yu/,Realestate handling in Yugoslavia}
-
-@item @uref{http://demo.cpsoft.com/pims/devFAQ.html, PIMS; a Patient Information Management System}
-
-@item @uref{http://cpsoft.com,Pilkington Software Inc}
-
-@item @uref{http://www.no-quarter.org/,A Vietnam Veteran's Memorial (The Wall) database.}
-
-@item @uref{http://www.gamers-union.com/,Gamer's Union specializes inauctions of used & out of print gaming material}
-
-@item @uref{http://www.montereyhigh.com/office/dbul.php3, A daily bulletin at Monterey High school}
-
-@item @uref{http://www.myEastside.com,Community-owned site serving Lake
-Washington's Eastside residents and businesses}
-
-@item @uref{http://bowling-france.net/,French bowling site}.
-@end itemize
-
-Send any additions to this list to @email{webmaster@@mysql.com}.
-
-@page
-@node Contrib, Credits, Users, Top
-@appendix Contributed programs
-
-Many users of @strong{MySQL} have contributed @emph{very} useful support
-tools and addons.
-
-@ifclear web
-A list of what is available at @uref{http://www.mysql.com/Contrib}
-(or any mirror) is shown below.
-If you want to build @strong{MySQL} support for the Perl @code{DBI}/@code{DBD}
-interface, you should fetch the @code{Data-Dumper}, @code{DBI}, and
-@code{Msql-Mysql-modules} files and install them.
-@xref{Perl support}.
-@end ifclear
-
-
-@uref{http://www.mysql.com/Contrib/00-README, 00-README}
-This listing.
-
-@appendixsec API's
-
-@itemize @bullet
-@item Perl modules
-@itemize @bullet
-@item @uref{http://www.mysql.com/Contrib/Data-Dumper-2.101.tar.gz, Data-Dumper-2.101.tar.gz}
-Perl @code{Data-Dumper} module. Useful with @code{DBI}/@code{DBD} support for
-older perl installations.
-
-@item @uref{http://www.mysql.com/Contrib/DBI-1.13.tar.gz, DBI-1.13.tar.gz}
-Perl @code{DBI} module.
-
-@item @uref{http://www.mysql.com/Contrib/KAMXbase1.0.tar.gz,KAMXbase1.0.tar.gz}
-Convert between @file{.dbf} files and @strong{MySQL} tables. Perl
-module written by Pratap Pereira @email{pereira@@ee.eng.ohio-state.edu},
-extened by Kevin A. McGrail @email{kmcgrail@@digital1.peregrinehw.com}.
-This converter can handle MEMO fields.
-
-@item @uref{http://www.mysql.com/Contrib/Msql-Mysql-modules-1.2209.tar.gz, Msql-Mysql-modules-1.2209.tar.gz}
-Perl @code{DBD} module to access mSQL and @strong{MySQL} databases..
-
-@item @uref{http://www.mysql.com/Contrib/Data-ShowTable-3.3.tar.gz, Data-ShowTable-3.3.tar.gz}
-Perl @code{Data-ShowTable} module. Useful with @code{DBI}/@code{DBD} support.
-@end itemize
-
-@item JDBC
-@itemize @bullet
-@item @uref{http://www.mysql.com/Contrib/mm.mysql.jdbc-1.2c.tar.gz, mm.mysql.jdbc-1.2c.tar.gz}
-The mm JDBC driver for @strong{MySQL}. This is a production release
-and is actively developed. By Mark Matthews
-(@email{mmatthew@@ecn.purdue.edu}).
-
-@item @uref{http://www.mysql.com/Contrib/mm.mysql.jdbc-2.0pre5.tar.gz, mm.mysql.jdbc-2.0pre5.tar.gz}
-The mm JDBC driver for @strong{MySQL}. This is a pre-release beta version
-and is actively developed. By Mark Matthews
-(@email{mmatthew@@ecn.purdue.edu}).
-The two drivers above have an LGPL
-license. Please check @uref{http://www.worldserver.com/mm.mysql/} for
-the latest drivers (and other JDBC information) because these drivers may be ou
-updated as frequently.
-
-@item @uref{http://www.mysql.com/Contrib/twz1jdbcForMysql-1.0.4-GA.tar.gz, twz1jdbcForMysql-1.0.4-GA.tar.gz}
-The twz driver: A type 4 JDBC driver by Terrence W. Zellers
-@email{zellert@@voicenet.com}. This is commercial but is free for
-private and educational use.
-@c no answer from server 990830
-@c You can always find the latest driver at @uref{http://www.voicenet.com/~zellert/tjFM/}.
-@item
-@item @uref{http://www.mysql.com/Contrib/pmdamysql.tgz,pmdamysql.tgz}
-A @strong{MySQL} PMDA. Provides @strong{MySQL} server status and configuration
-variables.
-@end itemize
-
-@item C++
-@itemize @bullet
-
-@item @uref{http://www.mysql.com/Contrib/mysql-c++-0.02.tar.gz, mysql-c++-0.02.tar.gz}
-@strong{MySQL} C++ wrapper library. By Roland Haenel,
-@email{rh@@ginster.net}.
-
-@item @uref{http://www.mysql.com/Contrib/MyDAO.tar.gz, MyDAO}
-@strong{MySQL} C++ API. By Satish @email{spitfire@@pn3.vsnl.net.in}. Inspired
-by Roland Haenel's C++ API and Ed Carp's MyC library.
-
-@item @uref{http://www.mysql.com/download_mysql++.html, mysql++}
-@strong{MySQL} C++ API (More than just a wrapper library). Originally by
-@email{kevina@@clark.net}. Nowadays maintained by Sinisa at TCX.
-
-@item @uref{http://nelsonjr.homepage.com/NJrAPI,NJrAPI}
-A C++ database independent library that supports @strong{MySQL}.
-@end itemize
-
-@item Delphi
-@itemize @bullet
-@item @uref{http://www.mysql.com/Contrib/delphi-interface.gz, delphi-interface.gz}
-Delphi interface to @code{libmysql.dll}, by Blestan Tabakov,
-@email{root@@tdg.bis.bg}.
-
-@item @uref{http://www.mysql.com/Contrib/DelphiMySQL2.zip, DelphiMySQL2.zip}
-Delphi interface to @code{libmysql.dll}, by @email{bsilva@@umesd.k12.or.us}
-
-@item @uref{http://www.mysql.com/Contrib/Udmysel.pas, Udmysql.pas}
-A wrapper for libmysql.dll for usage in Delphi. By Reiner Sombrowsky.
-
-@item @uref{http://www.fichtner.net/delphi/mysql.delphi.phtml, A Delphi interface to @strong{MySQL}.}
-With source code. By Matthias Fichtner.
-
-@item @uref{http://www.productivity.org/projects/mysql/, @strong{TmySQL}
-A library to use @strong{MySQL} with Delphi}
-
-@item @uref{http://www.geocities.com/CapeCanaveral/2064/mysql.html, Delphi TDataset-component}
-@end itemize
-
-@item @uref{http://www.mysql.com/Contrib/mysql-ruby-2.2.0.tar.gz, mysql-ruby-2.2.0.tar.gz}
-@strong{MySQL} Ruby module. By TOMITA Masahiro @email{tommy@@tmtm.org}
-@uref{http://www.netlab.co.jp/ruby/,Ruby} is an Object-Oriented Interpreter Language.
-
-@item @uref{http://www.mysql.com/Contrib/JdmMysqlDriver-0.1.0.tar.gz,JdmMysqlDriver-0.1.0.tar.gz}
-A VisualWorks 3.0 Smalltalk driver for @strong{MySQL}. By
-@email{joshmiller@@earthlink.net}
-
-@item @uref{http://www.mysql.com/Contrib/Db.py, Db.py}
-Python module with caching. By @email{gandalf@@rosmail.com}.
-
-@item @uref{http://www.mysql.com/Contrib/MySQLmodule-1.4.tar.gz, MySQLmodule-1.4.tar.gz}
-Python interface for @strong{MySQL}. By Joseph Skinner @email{joe@@earthlight.co.nz}; Modified by Joerg Senekowitsch @email{senekow@@ibm.net}
-
-@item @uref{http://www.mysql.com/Contrib/mysql_mex_1_1.tar.gz, mysql_mex_1_1.tar.gz}
-An interface program for the Matlab program by MathWorks. The interface
-is done by Kimmo Uutela and John Fisher (not by Mathworks).
-Check @uref{http://boojum.hut.fi/~kuutela/mysqlmex.html,mysqlmex.html}
-for more information.
-
-@item @uref{http://www.mysql.com/Contrib/mysqltcl-1.53.tar.gz, mysqltcl-1.53.tar.gz}
-Tcl interface for @strong{MySQL}. Based on @file{msqltcl-1.50.tar.gz}.
-Updated by Tobias Ritzau, @email{tobri@@ida.liu.se}.
-
-@item @uref{http://www.mysql.com/Contrib/MyC-0.1.tar.gz, MyC-0.1.tar.gz}
-A Visual Basic-like API, by Ed Carp.
-
-@item @uref{http://www.mysql.com/Contrib/sqlscreens-1.0.1.tar.gz, sqlscreens-1.0.1.tar.gz}
-Tcl/TK code to generate database screens. By Jean-Francois Dockes.
-
-@item @uref{http://www.mysql.com/Contrib/Vdb-dflts-2.1.tar.gz, Vdb-dflts-2.1.tar.gz}
-This is a new version of a set of library utilities intended
-to provide a generic interface to SQL database engines such that your
-application becomes a 3-tiered application. The advantage is that you
-can easily switch between and move to other database engines by
-implementing one file for the new backend without needing to make any
-changes to your applications. By @email{damian@@cablenet.net}.
-
-@item @uref{http://www.mysql.com/Contrib/DbFramework-1.10.tar.gz, DbFramework-1.10.tar.gz}
-DbFramework is a collection of classes for manipulating @strong{MySQL}
-databases. The classes are loosely based on the CDIF Data Model
-Subject Area. By Paul Sharpe @email{paul@@miraclefish.com}.
-
-@item @uref{http://www.mysql.com/Contrib/pike-mysql-1.4.tar.gz, pike-mysql-1.4.tar.gz}
-@strong{MySQL} module for pike. For use with the Roxen web server.
-
-@item @uref{http://www.mysql.com/Contrib/squile.tar.gz, squile.tar.gz}
-Module for @code{guile} that allows @code{guile} to interact with SQL
-databases. By Hal Roberts.
-
-@item @uref{http://www.mysql.com/Contrib/stk-mysql.tar.gz, stk-mysql.tar.gz}
-Interface for Stk. Stk is the Tk widgets with Scheme underneath instead of Tcl.
-By Terry Jones
-
-@item @uref{http://www.mysql.com/Contrib/eiffel-wrapper-1.0.tar.gz,eiffel-wrapper-1.0.tar.gz}.
-Eiffel wrapper by Michael Ravits.
-@end itemize
-
-@appendixsec Clients
-
-@itemize @bullet
-@item Graphical clients
-@itemize @bullet
-@item @uref{http://www.mysql.com/download_clients.html, mysqlgui homepage}
-The @strong{MySQL} GUI client homepage. By Sinisa at TCX.
-@item @uref{http://www.mysql.com/Contrib/kmysqladmin-0.4.1.tar.gz, kmysqladmin-0.4.1.tar.gz}
-@item @uref{http://www.mysql.com/Contrib/kmysqladmin-0.4.1-1.src.rpm, kmysqladmin-0.4.1-1.src.rpm}
-@item @uref{http://www.mysql.com/Contrib/kmysqladmin-0.4.1-1.i386.rpm, kmysqladmin-0.4.1-1.i386.rpm}
-An administration tool for the @strong{MySQL} server using QT / KDE. Tested
-only on Linux.
-
-@item @uref{http://www.mysql.com/Contrib/mysql-admin-using-java+swing.tar.gz, Java client
-using Swing} By Fredy Fischer, @email{se-afs@@dial.eunet.ch}. Ypu can
-always find the latest version
-@uref{http://www.trash.net/~ffischer/admin/index.html, here}.
-
-@item @uref{http://www.mysql.com/Contrib/mysqlwinadmn.zip, mysqlwinadmn.zip}
-Win32 GUI (binary only) to administrate a database, by David B. Mansel,
-@email{david@@zhadum.org}.
-
-@item @uref{http://www.mysql.com/Contrib/netadmin.zip, netadmin.zip} A
-administrator tool for @strong{MySQL} on Windows 95/98 and Windows NT
-4.0. Only tested with @strong{MySQL} 3.23.5 - 3.23.7. Written using the
-Tmysql components.
-
-You can write queries and show tables, indexes, table syntax and
-administrate user,host and database and so on. The is still beta and
-have still some bugs. you can test the program with all features. Please
-send bugs and hints to Marco Suess @email{ms@@it-netservice.de}. Original
-URL @url{http://www.it-netservice.de/pages/software/index.html}.
-
-@item @uref{http://www.mysql.com/Contrib/xmysqladmin-1.0.tar.gz, xmysqladmin-1.0.tar.gz}
-A front end to the @strong{MySQL} database engine. It allows reloads,
-status check, process control, myisamchk, grant/revoke privileges,
-creating databases, dropping databases, create, alter, browse and drop
-tables. Originally by Gilbert Therrien, @email{gilbert@@ican.net} but
-now in public domain and supported by TcX.
-
-@item @uref{http://www.mysql.com/Contrib/xmysql-1.9.tar.gz, xmysql-1.9.tar.gz}
-@item @uref{http://web.wt.net/~dblhack, xmysql home page}
-A front end to the @strong{MySQL} database engine. It allows for simple
-queries and table maintenance, as well as batch queries. By Rick
-Mehalick, @email{dblhack@@wt.net}.
-Requires @uref{http://bragg.phys.uwm.edu/xforms,xforms 0.88} to work.
-@item @uref{http://www.tamos.net/sw/dbMetrix,dbMetrix}
-An open source client for exploring databases and executing SQL. Supports
-@strong{MySQL}, Oracle, PostgreSQL and mSQL.
-@item @uref{http://www.multimania.com/bbrox/GtkSQL,GtkSQL}
-A query tool for @strong{MySQL} and PostgreSQL.
-@item @uref{http://dbman.linux.cz/,dbMan}
-A query tool written in Perl. Uses DBI and Tk.
-@item @uref{http://www.mysql.com/Downloads/Win32/ArtronicWINAdmin.exe,Atronic's
-@strong{MySQL} client for Win32}
-@item @uref{http://www.mysql.com/Contrib/mascon1.exe, mascon1.exe}
-You can get the newest one from
-@uref{http://www.SciBit.com,http://www.SciBit.com}.
-@item @uref{http://www.virtualbeer.net/dbui/,DBUI}
-DBUI is a Gtk graphical database editor.
-@end itemize
-
-@item Web clients
-@itemize @bullet
-@item @uref{http://www.mysql.com/Contrib/mysqladmin-atif-1.0.tar.gz, mysqladmin-atif-1.0.tar.gz}
-WWW @strong{MySQL} administrator for the @code{user,} @code{db} and
-@code{host} tables. By Tim Sailer, modified by Atif Ghaffar
-@email{aghaffar@@artemedia.ch}.
-
-@item @uref{http://www.mysql.com/Contrib/mysql-webadmin-1.0a8-rz.tar.gz, mysql-webadmin-1.0a8-rz.tar.gz}
-A tool written in PHP-FI to administrate @strong{MySQL} databases
-remotely over the web within a Web-Browser. By Peter Kuppelwieser,
-@email{peter.kuppelwieser@@kantea.it}. Updated by Wim Bonis, bonis@@kiss.de.
-Not maintained anymore!
-
-@item @uref{http://www.mysql.com/Contrib/mysqladm.tar.gz, mysqladm.tar.gz}
-@strong{MySQL} Web Database Administration written in Perl. By Tim
-Sailer.
-
-@item @uref{http://www.mysql.com/Contrib/mysqladm-2.tar.gz, mysqladm-2.tar.gz}
-Updated version of @file{mysqladm.tar.gz}, by High Tide.
-
-@item @uref{http://www.mysql.com/Contrib/billowmysql.zip, billowmysql.zip}
-Updated version of @file{mysqladm.tar.gz}, by Ying Gao.
-
-@item @uref{http://www.mysql.com/Contrib/myadmin-0.4.tar.gz, myadmin-0.4.tar.gz}
-@item @uref{http://myadmin.cheapnet.net/, MyAdmin home page}
-A web based mysql administrator by Mike Machado.
-
-@item @uref{http://www.mysql.com/Contrib/phpMyAdmin_2.0.1.tar.gz,phpMyAdmin_2.0.1.tar.gz}
-A set of PHP3-scripts to adminstrate @strong{MySQL} over the WWW.
-
-@item @uref{http://www.htmlwizard.net/phpMyAdmin/, phpMyAdmin home page}
-A PHP3 tool in the spirit of mysql-webadmin, by Tobias Ratschiller, tobias@@dnet.it
-
-@item @uref{http://www.mysql.com/Contrib/useradm.tar.gz, useradm.tar.gz}
-@strong{MySQL} administrator in PHP. By Ofni Thomas
-@email{othomas@@vaidsystems.com}.
-@end itemize
-@item @uref{http://www.mysql.com/Contrib/mysql-editor.tar.gz,mysql-editor.tar.gz}
-This cgi scripts in Perl enables you to edit content of Mysql
-database. By Tomas Zeman.
-@end itemize
-
-
-@appendixsec Web tools
-
-@itemize @bullet
-
-@item @uref{http://www.mysql.com/Contrib/mod_mysql_include_1.0.tar.gz, mod_mysql_include_1.0.tar.gz}
-Apache module to include HTML from MySQL queries into your pages, and run update queries.
-Originally written to implement a simple fast low-overhead banner-rotation system.
-By Sasha Pachev.
-
-@item @uref{http://www.odbsoft.com/cook/sources.htm}
-This package has various functions for generating html code from a SQL
-table structure and for generating SQL statements (Select, Insert,
-Update, Delete) from an html form. You can build a complete forms
-interface to a SQL database (query, add, update, delete) without any
-programming! By Marc Beneteau, @email{marc@@odbsoft.com}.
-
-@item @uref{http://www.mysql.com/Contrib/sqlhtml.tar.gz, sqlhtml.tar.gz}
-SQL/HTML is an HTML database manager for @strong{MySQL} using @code{DBI} 1.06.
-
-@item @uref{http://www.mysql.com/Contrib/udmsearch-2.2.1b.tar.gz, UdmSearch 2.2.1b (stable version)}
-@item @uref{http://www.mysql.com/Contrib/udmsearch-3.0.5.tar.gz, UdmSearch 3.0.5 (development version)}
-@item @uref{http://mysearch.udm.net, UdmSearch home page}
-A @strong{MySQL}- and PHP- based search engine over HTTP. By
-Alexander I. Barkov @email{bar@@izhcom.ru}.
-
-@item @uref{http://www.mysql.com/Contrib/wmtcl.doc, wmtcl.doc}
-@item @uref{http://www.mysql.com/Contrib/wmtcl.lex, wmtcl.lex}
-With this you can write HTML files with inclusions of TCL code. By
-@email{vvs@@scil.npi.msu.su}.
-
-@item @uref{http://www.mysql.com/Contrib/www-sql-0.5.7.lsm, www-sql-0.5.7.lsm}
-@item @uref{http://www.mysql.com/Contrib/www-sql-0.5.7.tar.gz, www-sql-0.5.7.tar.gz}
-A CGI program that parses an HTML file containing special tags, parses
-them and inserts data from a @strong{MySQL} database.
-
-@item @uref{http://www.mysql.com/Contrib/genquery.zip, genquery.zip}
-Perl SQL database interface package for html.
-
-@item @uref{http://www.mysql.com/Contrib/cgi++-0.8.tar.gz, cgi++-0.8.tar.gz}
-A macro-processor to simply writing CGI/Database programs in C++ by Sasha Pachev.
-
-@item @uref{http://www.mysql.com/Contrib/webboard-1.0.zip, WebBoard 1.0}
-EU-Industries Internet-Message-Board.
-
-@item @uref{http://www.mysql.com/Contrib/DBIx-TextIndex-0.02.tar.gz, DBIx-TextIndex-0.02.tar.gz}
-Full-text searching with Perl on @code{BLOB}/@code{TEXT} columns by Daniel Koch.
-@end itemize
-
-@appendixsec Performance Benchmarking tools
-
-@itemize @bullet
-@item @uref{http://www.mysql.com/Contrib/mysql-bench-0.6.tar.gz, mysql-super-smack and friends}
-User-customizable multi-threaded tool set to benchmark @strong{MySQL}. By Sasha Pachev.
-@end itemize
-
-@appendixsec Authentication tools
-
-@itemize @bullet
-@item @uref{http://www.mysql.com/Contrib/ascend-radius-mysql-0.7.1.patch.gz,
-ascend-radius-mysql-0.7.1.patch.gz}
-This is authentication and logging patch using @strong{MySQL} for
-Ascend-Radius. By @email{takeshi@@SoftAgency.co.jp}.
-
-@item @uref{http://www.mysql.com/Contrib/icradius-0.10.tar.gz, icradius 0.10}
-@uref{http://www.mysql.com/Contrib/icradius.README, icradius readme file}
-
-@item @uref{http://www.mysql.com/Contrib/checkpassword-0.81-mysql-0.6.5.patch.gz,
-checkpassword-0.81-mysql-0.6.5.patch.gz}
-@strong{MySQL} authentication patch for QMAIL and checkpassword. These are
-useful for management user(mail,pop account) by @strong{MySQL}.
-By @email{takeshi@@SoftAgency.co.jp}
-
-@item @uref{http://www.mysql.com/Contrib/jradius-diff.gz, jradius-diff.gz}
-@strong{MySQL} support for Livingston's Radius 2.01. Authentication and
-Accounting. By Jose de Leon, @email{jdl@@thevision.net}
-
-@item @uref{http://www.mysql.com/Contrib/mod_auth_mysql-2.20.tar.gz, mod_auth_mysql-2.20.tar.gz}
-Apache authentication module for @strong{MySQL}. By Zeev Suraski,
-@email{bourbon@@netvision.net.il}.
-
-@strong{Please} register this module at:
-@url{http://bourbon.netvision.net.il/mysql/mod_auth_mysql/register.html}. The
-registering information is only used for statistical purposes and will
-encourage further development of this module!
-
-@item @uref{http://www.mysql.com/Contrib/mod_log_mysql-1.05.tar.gz, mod_log_mysql-1.05.tar.gz}
-@strong{MySQL} logging module for Apache. By Zeev Suraski,
-@email{bourbon@@netvision.net.il}.
-
-@item @uref{http://www.mysql.com/Contrib/mypasswd-2.0.tar.gz, mypasswd-2.0.tar.gz}
-Extra for @code{mod_auth_mysql}. This is a little tool that allows you
-to add/change user records storing group and/or password entries in
-@strong{MySQL} tables. By Harry Brueckner, @email{brueckner@@respublica.de}.
-
-@item @uref{http://www.mysql.com/Contrib/mysql-passwd.README, mysql-passwd.README}
-@item @uref{http://www.mysql.com/Contrib/mysql-passwd-1.2.tar.gz, mysql-passwd-1.2.tar.gz}
-Extra for @code{mod_auth_mysql}. This is a two-part system for use with
-@code{mod_auth_mysql}.
-
-@item @uref{http://www.mysql.com/Contrib/pam_mysql.tar.gz, pam_mysql.tar.gz}
-This module authenticates users via @code{pam}, using @strong{MySQL}.
-
-@item @uref{http://www.mysql.com/Contrib/nsapi_auth_mysql.tar, nsapi_auth_mysql.tar}
-Netscape Web Server API (NSAPI) functions to authenticate (BASIC) users
-against @strong{MySQL} tables. By Yuan John Jiang.
-
-@item @uref{http://www.mysql.com/Contrib/qmail-1.03-mysql-0.6.5.patch.gz,
-qmail-1.03-mysql-0.6.5.patch.gz}
-Patch for qmail to authenticate users from a @strong{MySQL} table.
-
-@item @uref{http://www.mysql.com/Contrib/pwcheck_mysql-0.1.tar.gz,pwcheck_mysql-0.1.tar.gz}
-An authentication module for the Cyrus IMAP server. By Aaron Newsome.
-@end itemize
-
-@appendixsec Converters
-
-@itemize @bullet
-@item @uref{http://www.mysql.com/Contrib/dbf2mysql-1.13.tgz, dbf2mysql-1.13.tgz}
-Convert between @file{.dbf} files and @strong{MySQL} tables. By Maarten
-Boekhold, @email{boekhold@@cindy.et.tudelft.nl}, and Michael Widenius.
-This converter can't handle MEMO fields.
-
-@item @uref{http://www.mysql.com/Contrib/dbf2mysql.zip, dbf2mysql.zip}
-Convert between FoxPro @file{.dbf} files and @strong{MySQL} tables on Win32.
-By Alexander Eltsyn, @email{ae@@nica.ru} or @email{ae@@usa.net}.
-
-@item @uref{http://www.mysql.com/Contrib/dump2h-1.20.gz, dump2h-1.20.gz}
-Convert from @code{mysqldump} output to a C header file. By Harry Brueckner,
-@email{brueckner@@mail.respublica.de}.
-
-@item @uref{http://www.mysql.com/Contrib/exportsql.txt, exportsql.txt}
-A script that is similar to @code{access_to_mysql.txt}, except that this
-one is fully configurable, has better type conversion (including
-detection of @code{TIMESTAMP} fields), provides warnings and suggestions
-while converting, quotes @strong{all} special characters in text and
-binary data, and so on. It will also convert to @code{mSQL} v1 and v2,
-and is free of charge for anyone. See
-@uref{http://www.cynergi.net/prod/exportsql/} for latest version. By
-Pedro Freire, @email{support@@cynergi.net}. Note: Doesn't work with
-Access2!
-@item @uref{http://www.mysql.com/Contrib/access_to_mysql.txt, access_to_mysql.txt}
-Paste this function into an Access module of a database which has the
-tables you want to export. See also @code{exportsql}. By Brian Andrews.
-Note: Doesn't work with Access2!
-
-@item @uref{http://www.mysql.com/Contrib/importsql.txt, importsql.txt}
-A script that does the exact reverse of @code{exportsql.txt}. That is,
-it imports data from @strong{MySQL} into an Access database via
-ODBC. This is very handy when combined with exportsql, because it lets you
-use Access for all DB design and administration, and synchronize with
-your actual @strong{MySQL} server either way. Free of charge. See
-@uref{http://www.netdive.com/freebies/importsql/} for any updates.
-Created by Laurent Bossavit of NetDIVE.
-@strong{Note:} Doesn't work with Access2!
-
-@item @uref{http://www.mysql.com/Contrib/msql2mysqlWrapper-1.0.tgz, /msql2mysqlWrapper 1.0}
-A C wrapper from @code{mSQL} to @strong{MySQL}. By @email{alfred@@sb.net}
-
-@item @uref{http://www.mysql.com/Contrib/sqlconv.pl, sqlconv.pl}
-A simple script that can be used to copy fields from one @strong{MySQL} table to
-another in bulk. Basically, you can run @code{mysqldump} and pipe it to
-the @code{sqlconv.pl} script and the script will parse through the
-@code{mysqldump} output and will rearrange the fields so they can be
-inserted into a new table. An example is when you want to create a new
-table for a different site you are working on, but the table is just a
-bit different (ie - fields in different order, etc.).
-By Steve Shreeve.
-@end itemize
-
-@appendixsec Using MySQL with other products
-
-@itemize @bullet
-@item @uref{http://www.mysql.com/Contrib/emacs-sql-mode.tar.gz, emacs-sql-mode.tar.gz}
-Raw port of a SQL mode for XEmacs. Supports completion. Original by
-Peter D. Pezaris @email{pez@@atlantic2.sbi.com} and partial
-@strong{MySQL} port by David Axmark.
-
-@item @uref{http://www.mysql.com/Downloads/Win32/MyAccess97_Ver_1_01.zip, MyAccess97 1.01}
-MyAccess is an AddIn for Access 97 and handles a lot of maintanance work
-for @strong{MySQL} databases.
-
-@item @uref{http://www.mysql.com/Downloads/Win32/MyAccess2000_Ver_1_01.zip, MyAccess2000 1.01}
-MyAccess is an AddIn for Access 2000 and handles a lot of maintanance work
-for @strong{MySQL} databases.
-
-@uref{http://www.mysql.com/Downloads/Win32/MyAccess-1.01.readme,
-MyAccess-readme}. By Hubertus Hiden.
-
-@item @uref{http://www.mysql.com/Contrib/radius-0.3.tar.gz, radius-0.3.tar.gz}
-Patches for @code{radiusd} to make it support @strong{MySQL}. By Wim Bonis,
-@email{bonis@@kiss.de}.
-@end itemize
-
-@appendixsec Useful tools
-
-@itemize @bullet
-@item @uref{http://www.mysql.com/Contrib/mysql_watchdog.pl, mysql_watchdog.pl}
-Monitor the @strong{MySQL} daemon for possible lockups. By Yermo Lamers,
-@email{yml@@yml.com}.
-
-@item @uref{http://www.mysql.com/Contrib/mysqltop.tar.gz, mysqltop.tar.gz}
-Sends a query in a fixed time interval to the server and shows the
-resulting table. By Thomas Wana.
-@item @uref{http://www.mysql.com/Contrib/mysql_structure_dumper.tar.gz,mysql_structure_dumper.tar.gz}
-Prints out the structure of the all tables in a database. By Thomas Wana.
-
-@item @uref{http://www.mysql.com/Contrib/mysql_structure_dumper.tgz, structure_dumper.tgz}
-Prints the structure of every table in a database. By Thomas Wana.
-
-@item @uref{http://www.mysql.com/Contrib/mysqlsync, mysqlsync-1.0-alpha.tar.gz}.
-A perl script to keep remote copies of a @strong{MySQL} database in sync with a
-central master copy. By Mark Jeftovic. @email{markjr@@easydns.com}
-@item @uref{http://www.mysql.com/Contrib/MySQLTutor-0.2.tar.gz, MySQLTutor}.
-MySQLTutor. A tutor of @strong{MySQL} for beginners
-
-@item @uref{http://www.mysql.com/Contrib/MySQLDB.zip, MySQLDB.zip}
-A COM library for @strong{MySQL} by Alok Singh.
-@item @uref{http://www.mysql.com/Contrib/MySQLDB-readme.html, MySQLDB-readme.html}
-
-@item @uref{http://www.mysql.com/Contrib/mysql_replicate.pl, mysql_replicate.pl}
-Perl program that handles replication. By @email{elble@@icculus.nsg.nwu.edu}
-
-@item @uref{http://www.mysql.com/Contrib/DBIx-TextIndex-0.02.tar.gz, DBIx-TextIndex-0.02.tar.gz}
-Perl program that uses reverse indexing to handle text searching.
-By Daniel Koch.
-@end itemize
-
-@appendixsec RPMs for common tools (Most are for RedHat 6.1)
-
-@itemize @bullet
-@item @uref{http://www.mysql.com/Contrib/perl-Data-ShowTable-3.3-2.i386.rpm,perl-Data-ShowTable-3.3-2.i386.rpm}
-@item @uref{http://www.mysql.com/Contrib/perl-Msql-Mysql-modules-1.2210-2.i386.rpm,perl-Msql-Mysql-modules-1.2210-2.i386.rpm}
-@item @uref{http://www.mysql.com/Contrib/php-pg-3.0.13-1.i386.rpm,php-pg-3.0.13-1.i386.rpm}
-@item @uref{http://www.mysql.com/Contrib/php-pg-manual-3.0.13-1.i386.rpm,php-pg-manual-3.0.13-1.i386.rpm}
-@item @uref{http://www.mysql.com/Contrib/php-pg-mysql-3.0.13-1.i386.rpm,php-pg-mysql-3.0.13-1.i386.rpm}
-@item @uref{http://www.mysql.com/Contrib/phpMyAdmin-2.0.5-1.noarch.rpm,phpMyAdmin-2.0.5-1.noarch.rpm}
-@end itemize
-
-@appendixsec Useful functions
-@itemize @bullet
-@item @uref{http://www.mysql.com/Contrib/mysnprintf.c,mysnprintf.c}
-sprintf() function for SQL queries that can escape blobs. By Chunhua Liu.
-@end itemize
-
-@appendixsec Uncategorized
-
-@itemize @bullet
-
-@item @uref{http://www.mysql.com/Contrib/findres.pl, findres.pl}
-Find reserved words in tables. By Nem W Schlecht.
-
-@item @uref{http://www.mysql.com/Contrib/handicap.tar.gz, handicap.tar.gz}
-Performance handicapping system for yachts. Uses PHP. By
-@email{rhill@@stobyn.ml.org}.
-
-@item @uref{http://www.mysql.com/Contrib/hylalog-1.0.tar.gz, hylalog-1.0.tar.gz}
-Store @code{hylafax} outgoing faxes in a @strong{MySQL} database. By Sinisa
-Milivojevic, @email{sinisa@@mysql.com}.
-
-@item @uref{http://www.mysql.com/Contrib/mrtg-mysql-1.0.tar.gz, mrtg-mysql-1.0.tar.gz}
-@strong{MySQL} status plotting with MRTG, by Luuk de Boer, @email{luuk@@wxs.nl}.
-
-@item @uref{http://www.mysql.com/Contrib/wuftpd-2.4.2.18-mysql_support.2.tar.gz, wuftpd-2.4.2.18-mysql_support.2.tar.gz}
-Patches to add logging to @strong{MySQL} for WU-ftpd. By Zeev Suraski,
-@email{bourbon@@netvision.net.il}.
-
-@item @uref{http://www.mysql.com/Contrib/wu-ftpd-2.6.0-mysql.4.tar.gz,wu-ftpd-2.6.0-mysql_support.4.tar.gz}
-Patches to add logging to @strong{MySQL} for WU-ftpd 2.6.0. By,
-@email{takeshi@@SoftAgency.co.jp}, based on Zeev Suraski wuftpd patches.
-
-@item @uref{http://www.mysql.com/Contrib/Old-Versions, Old-Versions}
-Previous versions of things found here that you probably won't be
-interested in.
-@end itemize
-
-
-@page
-@node Credits, News, Contrib, Top
-@appendix Contributors to MySQL
-
-Contributors to the @strong{MySQL} distribution are listed below, in
-somewhat random order:
-
-@table @asis
-@item Michael (Monty) Widenius
-Has written the following parts of @strong{MySQL}:
-@itemize @bullet
-@item
-All the main code in @code{mysqld}.
-@item
-New functions for the string library.
-@item
-Most of the @code{mysys} library.
-@item
-The @code{ISAM} and @code{MyISAM} libraries (B-tree index file
-handlers with index compression and different record formats).
-@item
-The @code{heap} library. A memory table system with our superior full dynamic
-hashing. In use since 1981 and published around 1984.
-@item
-The @code{replace} program (look into it, it's COOL!).
-@item
-@strong{MyODBC}, the ODBC driver for Windows95.
-@item
-Fixing bugs in MIT-pthreads to get it to work for @strong{MySQL}. And
-also Unireg, a curses-based application tool with many utilities.
-@item
-Porting of @code{mSQL} tools like @code{msqlperl}, @code{DBD}/@code{DBI} and
-@code{DB2mysql}.
-@item
-Most parts of crash-me and the @strong{MySQL} benchmarks.
-@end itemize
-@item David Axmark
-@itemize @bullet
-@item
-Coordinator and main writer for the @strong{Reference Manual}, including
-enhancements to @code{texi2html}. Also automatic website updating from
-this manual.
-@item
-Autoconf, Automake and @code{libtool} support.
-@item
-The licensing stuff.
-@item
-Parts of all the text files. (Nowadays only the @file{README} is
-left. The rest ended up in the manual.)
-@item
-Our Mail master.
-@item
-Lots of testing of new features.
-@item
-Our in-house ``free'' software lawyer.
-@item
-Mailing list maintainer (who never has the time to do it right...)
-@item
-Our original portability code (more than 10 years old now). Nowadays
-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. :-)
-@end itemize
-@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.
-@item Gianmassimo Vigazzola @email{qwerg@@mbox.vol.it} or @email{qwerg@@tin.it}
-The initial port to Win32/NT.
-@item Kim Aldale
-Helped to rewrite Monty's and David's early attempts at English into
-English.
-@item Allan Larsson (The BOSS at TcX)
-For all the time he has allowed Monty to spend on this ``maybe useful''
-tool (@strong{MySQL}). Dedicated user (and bug finder) of Unireg & @strong{MySQL}.
-@item Per Eric Olsson
-For more or less constructive criticism and real testing of the dynamic
-record format.
-@item Irena Pancirov @email{irena@@mail.yacc.it}
-Win32 port with Borland compiler. @code{mysqlshutdown.exe} and
-@code{mysqlwatch.exe}
-@item David J. Hughes
-For the effort to make a shareware SQL database. We at TcX started with
-@code{mSQL}, but found that it couldn't satisfy our purposes so instead we
-wrote a SQL interface to our application builder Unireg. @code{mysqladmin}
-and @code{mysql} are programs that were largely influenced by their
-@code{mSQL} counterparts. We have put a lot of effort into making the
-@strong{MySQL} syntax a superset of @code{mSQL}. Many of the APIs ideas are
-borrowed from @code{mSQL} to make it easy to port free @code{mSQL} programs
-to @strong{MySQL}. @strong{MySQL} doesn't contain any code from @code{mSQL}.
-Two files in the distribution (@file{client/insert_test.c} and
-@file{client/select_test.c}) are based on the corresponding (non-copyrighted)
-files in the @code{mSQL} distribution, but are modified as examples showing
-the changes necessary to convert code from @code{mSQL} to @strong{MySQL}.
-(@code{mSQL} is copyrighted David J. Hughes.)
-@item Fred Fish
-For his excellent C debugging and trace library. Monty has made a number
-of smaller improvements to the library (speed and additional options).
-@item Richard A. O'Keefe
-For his public domain string library.
-@item Henry Spencer
-For his regex library, used in @code{WHERE column REGEXP regexp}.
-@item Free Software Foundation
-From whom we got an excellent compiler (@code{gcc}), the @code{libc} library
-(from which we have borrowed @file{strto.c} to get some code working in Linux)
-and the @code{readline} library (for the @code{mysql} client).
-@item Free Software Foundation & The XEmacs development team
-For a really great editor/environment used by almost everybody at TcX/detron.
-@item Patrick Lynch
-For helping us acquire @code{www.mysql.com}.
-@item Fred Lindberg
-For setting up qmail to handle @strong{MySQL} mailing list and for the
-incredible help we got in managing the @strong{MySQL} mailing lists.
-@item Igor Romanenko @email{igor@@frog.kiev.ua}
-@code{mysqldump} (previously @code{msqldump}, but ported and enhanced by
-Monty).
-@item Tim Bunce, Alligator Descartes
-For the @code{DBD} (Perl) interface.
-@item Andreas Koenig @email{a.koenig@@mind.de}
-For the Perl interface to @strong{MySQL}.
-@item Eugene Chan @email{eugene@@acenet.com.sg}
-For porting PHP to @strong{MySQL}.
-@item Michael J. Miller Jr. @email{mke@@terrapin.turbolift.com}
-For the first @strong{MySQL} manual. And a lot of spelling/language
-fixes for the FAQ (that turned into the @strong{MySQL} manual a long
-time ago).
-@item Giovanni Maruzzelli @email{maruzz@@matrice.it}
-For porting iODBC (Unix ODBC).
-@item Chris Provenzano
-Portable user level pthreads. From the copyright: This product includes
-software developed by Chris Provenzano, the University of California,
-Berkeley, and contributors. We are currently using version 1_60_beta6
-patched by Monty (see @file{mit-pthreads/Changes-mysql}).
-@item Xavier Leroy @email{Xavier.Leroy@@inria.fr}
-The author of LinuxThreads (used by @strong{MySQL} on Linux).
-@item Zarko Mocnik @email{zarko.mocnik@@dem.si}
-Sorting for Slovenian language and the @file{cset.tar.gz} module that makes
-it easier to add other character sets.
-@item "TAMITO" @email{tommy@@valley.ne.jp}
-The @code{_MB} character set macros and the ujis and sjis character sets.
-@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 @strong{MySQL} with a Java
-client.
-@item Dr Xiaokun Kelvin ZHU @email{X.Zhu@@brad.ac.uk}
-Further development of the JDBC driver and other @strong{MySQL}-related
-Java tools.
-@item James Cooper @email{pixel@@organic.com}
-For setting up a searchable mailing list archive at his site.
-@item Rick Mehalick @email{Rick_Mehalick@@i-o.com}
-For @code{xmysql}, a graphical X client for @strong{MySQL}.
-@item Doug Sisk @email{sisk@@wix.com}
-For providing RPM packages of @strong{MySQL} for RedHat Linux.
-@item Diemand Alexander V. @email{axeld@@vial.ethz.ch}
-For providing RPM packages of @strong{MySQL} for RedHat Linux-Alpha.
-@item Antoni Pamies Olive @email{toni@@readysoft.es}
-For providing RPM versions of a lot of @strong{MySQL} clients for Intel
-and SPARC.
-@item Jay Bloodworth @email{jay@@pathways.sde.state.sc.us}
-For providing RPM versions for @strong{MySQL} 3.21 versions.
-@item Jochen Wiedmann @email{wiedmann@@neckar-alb.de}
-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}
-Czech error messages.
-@item Jaroslaw Lewandowski @email{jotel@@itnet.com.pl}
-Polish error messages.
-@item Miguel Angel Fernandez Roiz
-Spanish error messages.
-@item Roy-Magne Mo @email{rmo@@www.hivolda.no}
-Norwegian error messages and testing of 3.21.#.
-@item Timur I. Bakeyev @email{root@@timur.tatarstan.ru}
-Russian error messages.
-@item @email{brenno@@dewinter.com} && Filippo Grassilli @email{phil@@hyppo.com}
-Italian error messages.
-@item Dirk Munzinger @email{dirk@@trinity.saar.de}
-German error messages.
-@item Billik Stefan @email{billik@@sun.uniag.sk}
-Slovak error messages.
-@item Stefan Saroiu @email{tzoompy@@cs.washington.edu}
-Romanian error messages.
-@item Peter Feher
-Hungarian error messages
-@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}
-Some support for Chinese(BIG5) characters.
-@item Wei He @email{hewei@@mail.ied.ac.cn}
-A lot of functionality for the Chinese(GBK) character set.
-@item Zeev Suraski @email{bourbon@@netvision.net.il}
-@code{FROM_UNIXTIME()} time formatting, @code{ENCRYPT()} functions, and
-@code{bison} advisor.
-Active mailing list member.
-@item Luuk de Boer @email{luuk@@wxs.nl}
-Ported (and extended) the benchmark suite to @code{DBI}/@code{DBD}. Have
-been of great help with @code{crash-me} and running benchmarks. Some new
-date functions. The mysql_setpermissions script.
-@item Jay Flaherty @email{fty@@utk.edu}
-Big parts of the Perl @code{DBI}/@code{DBD} section in the manual.
-@item Paul Southworth @email{pauls@@etext.org}, Ray Loyzaga @email{yar@@cs.su.oz.au}
-Proof-reading of the Reference Manual.
-@item Alexis Mikhailov @email{root@@medinf.chuvashia.su}
-User definable functions (UDFs); @code{CREATE FUNCTION} and
-@code{DROP FUNCTION}.
-@item Andreas F. Bobak @email{bobak@@relog.ch}
-The @code{AGGREGATE} extension to UDF functions.
-@item Ross Wakelin @email{R.Wakelin@@march.co.uk}
-Help to set up InstallShield for @strong{MySQL}-Win32.
-@item Jethro Wright III @email{jetman@@li.net}
-The @file{libmysql.dll} library.
-@item James Pereria @email{jpereira@@iafrica.com}
-Mysqlmanager, a Win32 GUI tool for administrating @strong{MySQL}.
-@item Curt Sampson @email{cjs@@portal.ca}
-Porting of MIT-pthreads to NetBSD/Alpha and NetBSD 1.3/i386.
-@item Sinisa Milivojevic @email{sinisa@@mysql.com}
-Compression (with @code{zlib}) to the client/server protocol.
-Perfect hashing for the lexical analyzer phase.
-@item Antony T. Curtis @email{antony.curtis@@olcs.net}
-Porting of @strong{MySQL} to OS/2.
-@item Martin Ramsch @email{m.ramsch@@computer.org}
-Examples in the @strong{MySQL} Tutorial.
-@item Tim Bunce
-Author of @code{mysqlhotcopy}.
-@item Steve Harvey
-For making @code{mysqlaccess} more secure.
-@item Jeremy Cole @email{jeremy@@spaceapes.com}
-Proofreading and editing this fine manual.
-@end table
-
-Other contributors, bugfinders and testers: James H. Thompson, Maurizio
-Menghini, Wojciech Tryc, Luca Berra, Zarko Mocnik, Wim Bonis, Elmar
-Haneke, @email{jehamby@@lightside}, @email{psmith@@BayNetworks.COM},
-@email{duane@@connect.com.au}, Ted Deppner @email{ted@@psyber.com},
-Mike Simons, Jaakko Hyv@"atti.
-
-And lots of bug report/patches from the folks on the mailing list.
-
-And a big tribute to those that help us answer questions on the
-@code{mysql@@lists.mysql.com} mailing list:
-
-@table @asis
-@item Daniel Koch @email{dkoch@@amcity.com}
-Irix setup.
-@item Luuk de Boer @email{luuk@@wxs.nl}
-Benchmark questions.
-@item Tim Sailer @email{tps@@users.buoy.com}
-@code{DBD-mysql} questions.
-@item Boyd Lynn Gerber @email{gerberb@@zenez.com}
-SCO related questions.
-@item Richard Mehalick @email{RM186061@@shellus.com}
-@code{xmysql}-related questions and basic installation questions.
-@item Zeev Suraski @email{bourbon@@netvision.net.il}
-Apache module configuration questions (log & auth), PHP-related
-questions, SQL syntax related questions and other general questions.
-@item Francesc Guasch @email{frankie@@citel.upc.es}
-General questions.
-@item Jonathan J Smith @email{jsmith@@wtp.net}
-Questions pertaining to OS-specifics with Linux, SQL syntax, and other
-things that might be needing some work.
-@item David Sklar @email{sklar@@student.net}
-Using @strong{MySQL} from PHP and Perl.
-@item Alistair MacDonald @email{A.MacDonald@@uel.ac.uk}
-Not yet specified, but is flexible and can handle Linux and maybe HP-UX.
-Will try to get user to use @code{mysqlbug}.
-@item John Lyon @email{jlyon@@imag.net}
-Questions about installing @strong{MySQL} on Linux systems, using either
-@file{.rpm} files, or compiling from source.
-@item Lorvid Ltd. @email{lorvid@@WOLFENET.com}
-Simple billing/license/support/copyright issues.
-@item Patrick Sherrill @email{patrick@@coconet.com}
-ODBC and VisualC++ interface questions.
-@item Randy Harmon @email{rjharmon@@uptimecomputers.com}
-@code{DBD}, Linux, some SQL syntax questions.
-@end table
-
-@node News, Bugs, Credits, Top
-@appendix @strong{MySQL} change history
-
-¿·¤·¤¤Êѹ¹¤ò @strong{MySQL} ¤Ë»Ü¤¹¤ÈƱ»þ¤Ë¡¢¥Þ¥Ë¥å¥¢¥ë¤òÊѹ¹¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤â¤·¥Þ¥Ë¥å¥¢¥ë¤Ë¤«¤«¤ì¤Æ¤¤¤ë¤Î¤Ë
-@uref{http://www.mysql.com/download.html,@strong{MySQL} download page} ¤Ë
-¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î MySQL ¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢¤½¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¤Þ¤À¥ê¥ê¡¼¥¹¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡ª
-
-@menu
-* News-3.23.x:: Changes in release 3.23.x (Released as alpha)
-* News-3.22.x:: Changes in release 3.22.x (Recommended version)
-* News-3.21.x:: Changes in release 3.21.x
-* News-3.20.x:: Changes in release 3.20.x
-* News-3.19.x:: Changes in release 3.19.x
-@end menu
-
-@node News-3.23.x, News-3.22.x, News, News
-@appendixsec Changes in release 3.23.x (Released as alpha)
-
-¥ê¥ê¡¼¥¹3.23¡¢¤ª¤è¤Ó¥ê¥ê¡¼¥¹3.22¤È3.21¤È¤Î°ã¤¤¤Ï¡¢
-3.23¤¬¿·¤·¤¤ISAM¥é¥¤¥Ö¥é¥ê( MyISAM )¤ò´Þ¤à¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
-¤³¤ì¤Ï¸Å¤¤ISAM¤è¤ê¡¢SQL¤Ë¤È¤Ã¤Æ¤è¤ê¥Á¥å¡¼¥Ë¥ó¥°¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-
-3.23¥ê¥ê¡¼¥¹¤Ï³«È¯Ãæ¤Ç¡¢µ¡Ç½¤Ï®¤¤¥Ú¡¼¥¹¤ÇÉÕ¤±²Ã¤¨¤é¤ì¤ë¤Ç¤·¤ç¤¦¡£
-¤µ¤·¤¢¤¿¤ê¡¢²æ¡¹¤Ï¡¢¤³¤Î¥ê¥ê¡¼¥¹¤ò¡¢¤³¤Î¥ê¥ê¡¼¥¹¤Î¤ß¤Ë¤¢¤ëµ¡Ç½
-(Âç¥Õ¥¡¥¤¥ë¤Î¥µ¥Ý¡¼¥È¡¢¤ª¤è¤Ó¡¢¥Þ¥·¥óÈó°Í¸¤Î¥Æ¡¼¥Ö¥ë)¤ò
-ɬÍפȤ·¤Æ¤¤¤ë¥æ¡¼¥¶¡¼¤ËÂФ·¤Æ¤Î¤ß¡¢¿äÁ¦¤·¤Þ¤¹¡£
-( MySQL 3.23¤ÎÁ´¤Æ¤Î¿·¤·¤¤µ¡Ç½¤Ï¡¢¹­¤¯¥Æ¥¹¥È¤µ¤ì¤Þ¤¹¡£
-¤·¤«¤·¡¢¤³¤Î¥ê¥ê¡¼¥¹¤¬Â¿¤¯¤Î¿··¿¥³¡¼¥É¤ò´Þ¤à¤Î¤Ç¡¢¤¹¤Ù¤Æ¤ò¥Æ¥¹¥È¤¹¤ë¤³¤È¤¬Æñ¤·¤¤¤Ç¤¹)¡£
-
-We are not adding any more new features that are likely to break any
-old code in @strong{MySQL} 3.23 so this version should stabilise pretty soon
-and will soon be declared beta, gamma and release.
-
-@menu
-* News-3.23.18:: Changes in release 3.23.18
-* News-3.23.17:: Changes in release 3.23.17
-* News-3.23.16:: Changes in release 3.23.16
-* News-3.23.15:: Changes in release 3.23.15
-* 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.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.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.3:: Changes in release 3.23.3
-* News-3.23.2:: Changes in release 3.23.2
-* News-3.23.1:: Changes in release 3.23.1
-* News-3.23.0:: Changes in release 3.23.0
-@end menu
-
-@node News-3.23.18, News-3.23.17, News-3.23.x, News-3.23.x
-@appendixsubsec Changes in release 3.23.18
-@itemize @bullet
-@item
-Fixed a problem from 3.23.17 when choosing character set on the client side.
-@item
-Added @code{FLUSH TABLES WITH READ LOCK} to make a global lock suitable to
-make a copy of @strong{MySQL} data files.
-@item
-@code{CREATE TABLE ... SELECT ... PROCEDURE} now works.
-@item
-Internal temporary tables will now uses compressed index when using
-@code{GROUP BY} on @code{VARCHAR/CHAR} columns.
-@item
-Fixed a problem when locking the same table with both a @code{READ} and a
-@code{WRITE} lock.
-@item
-Fixed problem with myisamchk and @code{RAID} tables.
-@end itemize
-
-@node News-3.23.17, News-3.23.16, News-3.23.18, News-3.23.x
-@appendixsubsec Changes in release 3.23.17
-@itemize @bullet
-@item
-Fixed a bug in @code{find_in_set()} when the first argument was @code{NULL}.
-@item
-Added table locks to Berkeley DB.
-@item
-Fixed a bug with @code{LEFT JOIN} and @code{ORDER BY} where the first
-table had only one matching row.
-@item
-Added 4 sample @code{my.cfg} example files in the @file{support-files}
-directory.
-@item
-Fixed @code{duplicated key} problem when doing big @code{GROUP BY}'s.
-(This bug was probably introduced in 3.23.15).
-@item
-Changed syntax for @code{INNER JOIN} to match ANSI SQL.
-@item
-Added @code{NATURAL JOIN} syntax.
-@item
-A lot of fixes in the @code{BDB} interface.
-@item
-Added handling of @code{--no-defaults} and @code{--defaults-file} to
-@code{safe_mysqld.sh} and @code{mysql_install_db.sh}.
-@item
-Fixed bug in reading compressed tables with many threads.
-@item
-Fixed that @code{USE INDEX} works with @code{PRIMARY} keys.
-@item
-Added @code{BEGIN} statement to start a transaction in @code{AUTOCOMMIT} mode.
-@item
-Added symbolic links support for Win32.
-@item
-Changed protocol to let client know if the server is in AUTOCOMMIT mode
-and if there is a pending transaction. If there is a pending transaction
-the client library will give an error before reconnecting to the server to
-let the client know that the server did a rollback.
-The protocol is still backward compatible with old clients
-@item
-@code{KILL} now works on a thread that is locked on a 'write' to a dead client.
-@item
-Fixed memory leak in the replication slave thread
-@item
-Added new option @code{log-slave-updates} to allow daisy-chaining the slaves
-@item
-Fixed compile error on FreeBSD and other systems where @code{pthread_t}
-is not the same as @code{int}
-@item
-Fixed master shutdown aborting the slave thread
-@item
-Fixed a race condition in @code{INSERT DELAYED} code when doing
-@code{ALTER TABLE}.
-@item
-Added deadlock detection sanity checks to @code{INSERT DELAYED}
-@end itemize
-
-@node News-3.23.16, News-3.23.15, News-3.23.17, News-3.23.x
-@appendixsubsec Changes in release 3.23.16
-@itemize @bullet
-@item
-Added option @code{TYPE=QUICK} to @code{CHECK} and @code{REPAIR}.
-@item
-Fixed bug in @code{REPAIR TABLE} when the table was in use by other threads.
-@item
-Added a thread cache to make it possible to debug @strong{MySQL} with
-@code{gdb} when one does a lot of reconnects. This will also improve
-systems where you can't use persistent connections.
-@item
-Lots of fixes in the Berekely DB interface.
-@item
-@code{UPDATE IGNORE} will not abort if an update results in a
-@code{DUPLICATE_KEY} error.
-@item
-Put @code{CREATE TEMPORARY TABLE} commands in the update log.
-@item
-Fixed bug in handling of masked IP numbers in the privilege tables.
-@item
-Fixed bug with @code{delayed_key_writes} tables and @code{CHECK TABLE}.
-@item
-Added @code{replicate-do-db} and @code{replicate-ignore-db} options to
-restrict which databases get replicated
-@item
-Added @code{SQL_LOG_BIN} option
-@end itemize
-
-@node News-3.23.15, News-3.23.14, News-3.23.16, News-3.23.x
-@appendixsubsec Changes in release 3.23.15
-@itemize @bullet
-@item
-To start @code{mysqld} as @code{root} one must now use the @code{--user=root} option.
-@item
-Added interface to Berkeley DB. (This is not yet functional; Play with it at
-your own risk!)
-@item
-Replication between master and slaves.
-@item
-Fixed bug that other threads could steal a lock when a thread had
-a lock on a table and did a @code{FLUSH TABLES} command.
-@item
-Added the @code{slow_launch_time} variable and the @code{Slow_launch_threads}
-status variable to @code{mysqld}. These can be examined with
-@code{mysqladmin variables} and @code{mysqladmin extended-status}.
-@item
-Added functions @code{INET_NTOA()} and @code{INET_ATON()}.
-@item
-The default type of @code{IF()} now depends on the second and
-third arguments and not only on the second argument.
-@item
-Fixed case when @code{myisamchk} could go into a loop when trying to
-repair a crashed table.
-@item
-Don't write @code{INSERT DELAYED} to update log if @code{SQL_LOG_UPDATE=0}.
-@item
-Fixed problem with @code{REPLACE} on @code{HEAP} tables.
-@item
-Added possible character sets and time zone to @code{SHOW VARIABLES}.
-@item
-Fixed bug in locking code that could result it locking problems with
-concurrent inserts under high load.
-@item
-Fixed a problem with @code{DELETE} of many rows on a table with
-compressed keys where @strong{MySQL} scanned the index to find the rows.
-@item
-Fixed problem with @code{CHECK} on table with deleted keyblocks.
-@item
-Fixed a bug in reconnect (at the client side) where it didn't free memory
-properly in some contexts.
-@item
-Fixed problems in update log when using @code{LAST_INSERT_ID()} to update
-a table with an auto_increment key.
-@item
-Added function @code{NULLIF()}.
-@item
-Fixed bug when using @code{LOAD DATA INFILE} on a table with
-@code{BLOB/TEXT} columns.
-@item
-Optimised MyISAM to be faster when inserting keys in sorted order.
-@item
-@code{EXPLAIN SELECT..} now also prints out whether @strong{MySQL} needs to
-create a temporary table or use file sorting when resolving the @code{SELECT}.
-@item
-Added optimization to skip @code{ORDER BY} parts where the part is a
-constant expression in the @code{WHERE} part. Indexes can now be used
-even if the @code{ORDER BY} doesn't match the index exactly, as long as
-all the not used index parts and all the extra @code{ORDER BY}
-columns are constants in the @code{WHERE} clause. @xref{MySQL indexes}.
-@item
-@code{UPDATE} and @code{DELETE} on a whole unique key in the @code{WHERE} part,
-is now faster than before.
-@item
-Changed @code{RAID_CHUNKSIZE} to be in 1024 byte increments.
-@item
-Fixed coredump in LOAD_FILE(NULL) - you have to be as stupid as Sasha to try this :-)
-@end itemize
-
-@node News-3.23.14, News-3.23.13, News-3.23.15, News-3.23.x
-@appendixsubsec Changes in release 3.23.14
-@itemize @bullet
-@item
-Fixed a bug in @code{CONCAT()} where one of the arguments was a function
-that returned a modified argument.
-@item
-@code{myisamchk} ¤ÎÃ×̿Ū¤Ê¥Ð¥°¤ò½¤Àµ¤·¤¿¡£ ¤³¤Î¥Ð¥°¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ëÃæ¤Î
-¥Ø¥Ã¥À¡¼¤ò¡¢¥Æ¡¼¥Ö¥ë¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¤¤ë¤À¤±¤Ê¤Î¤Ë¤â¤«¤«¤ï¤é¤º¡¢¹¹¿·¤·¤Æ¤¤¤¿¡£
-This confused the
-@code{mysqld} daemon if it updated the same table at the same time. Now
-the status in the index file is only updated if one uses
-@code{--update-state}. With older @code{myisamchk} versions you shoul
-use @code{--read-only} when only checking tables, if there is the
-slightest chance that the @code{mysqld} server is working on the table at the
-same time!
-@item
-Fixed that @code{DROP TABLE} is logged in the update log.
-@item
-Fixed problem when searching on @code{DECIMAL()} key field
-where the column data contained leading zeros.
-@item
-auto_increment ¤¬ºÇ½é¤Î¥­¡¼¤Ç¤Ê¤¤¾ì¹ç¤Î @code{myisamchk} ¤Î¥Ð¥°¤ò½¤Àµ¡£
-@item
-Allow @code{DATETIME} in ISO8601 format: 2000-03-12T12:00:00
-@item
-ưŪ¥­¥ã¥é¥¯¥¿¥»¥Ã¥È¡£ £±¸Ä¤Î @code{mysqld} ¥Ð¥¤¥Ê¥ê¤Ç¡¢Â¿¤¯¤Î°ã¤¦
-¥­¥ã¥é¥¯¥¿¥»¥Ã¥È¤ò°·¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
-(@code{mysqld} ¥¹¥¿¡¼¥È»þ¤Ë»ØÄê¤Ç¤­¤Þ¤¹).
-@item
-@code{REPAIR TABLE} ¥³¥Þ¥ó¥É¤òÄɲá£
-@item
-@code{mysql_thread_safe()} C API ´Ø¿ô¤òÄɲá£
-@item
-@code{UMASK_DIR} ´Ä¶­ÊÑ¿ô¤òÄɲá£
-@item
-@code{CONNECTION_ID()} ´Ø¿ô¤òÄɲÃ
-@item
-When using @code{=} on @code{BLOB} or @code{VARCHAR BINARY} keys, where
-only a part of the column was indexed, the whole column of the result
-row wasn't compared.
-@item
-sjis ¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¤Î @code{ORDER BY} ¤ÎÌäÂê¤ò½¤Àµ
-@item
-When running in ANSI mode, don't allow columns to be used that aren't in
-the @code{GROUP BY} part.
-@end itemize
-
-@node News-3.23.13, News-3.23.12, News-3.23.14, News-3.23.x
-@appendixsubsec Changes in release 3.23.13
-@itemize @bullet
-@item
-Fixed problem when doing locks on the same table more than 2 times in
-the same @code{LOCK TABLE} command; This fixed the problem one got when running
-the test-ATIS test with @code{--fast}.
-@item
-@code{SQL_BUFFER_RESULT} ¥ª¥×¥·¥ç¥ó¤ò @code{SELECT} ¤ËÄɲÃ
-@item
-Removed end space from double/float numbers in results from temporary
-tables.
-@code{CHECK TABLE} ¥³¥Þ¥ó¥É¤ÎÄɲá£
-@item
-Added changes for MyISAM in 3.23.12 that didn't get into the source
-distribution because of CVS problems.
-@item
-Fixed bug so that mysqladmin shutdown will wait for the local server to close
-down.
-@item
-Fixed a possible endless loop when calculating timestamp.
-@item
-Added print_defaults to the .rpm files. Removed mysqlbug from the client
-rpm file.
-@end itemize
-
-@node News-3.23.12, News-3.23.11, News-3.23.13, News-3.23.x
-@appendixsubsec Changes in release 3.23.12
-@itemize @bullet
-@item
-Fixed bug in @code{MyISAM} involving @code{REPLACE ... SELECT} which could
-give a corrupted table.
-@item
-Fixed bug in @code{myisamchk} where it wrongly reset the auto_increment value.
-@item
-Linux Alpha ÍѤË¿¤¯¤Î¥Ñ¥Ã¥Á¤òÄɲÃ. @strong{MySQL} now appears to be relatively
-stable on Alpha.
-@item
-½ÅÊ£¤·¤¿¥ì¥³¡¼¥É¤ò®¤¯¸«¤Ä¤±¤ë¤¿¤á¤Î¥Ï¥Ã¥·¥å²½¤µ¤ì¤¿¥­¡¼¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¡¢
-@code{HEAP} °ì»þ¥Æ¡¼¥Ö¥ë¾å¤Î @code{DISTINCT} ¤òÊѹ¹¤·¤¿¡£
-This mostly concerns queries of
-type @code{SELECT DISTINCT ... GROUP BY ..}. This fixes a problem where
-not all duplicates were removed in queries of the above type.
-¿·¤·¤¯Äɲä·¤¿¥³¡¼¥É¤Ï¡¢¤È¤Æ¤â®¤¤¡£
-@item
-MacOS X ¤Ç @code{MySQL} ¤ò¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¥Ñ¥Ã¥Á¤ÎÄɲÃ
-@item
-¥ª¥×¥·¥ç¥ó @code{IF NOT EXISTS} ¤ò @code{CREATE DATABASE} ¤ËÄɲÃ.
-@item
-¿¤¯¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤òƱ»þ¤Ë¥À¥ó¥×¤Ç¤­¤ë¤è¤¦¤Ë¡¢
-@code{--all-databases} ¤È @code{--databases} ¥ª¥×¥·¥ç¥ó¤ò @code{mysqldump} ¤ËÄɲá£
-@item
-@code{MyISAM} ·¿¥Æ¡¼¥Ö¥ëÃæ¤Î°µ½Ì¤·¤¿ @code{DECIMAL()} ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¥Ð¥°¤ò½¤Àµ¤·¤¿¡£
-@item
-0 ¤ò timestamp ¤ËÊݸ¤·¤¿¤È¤­¤Î¥Ð¥°¤ò½¤Àµ¤·¤¿¡£
-@item
-¥í¡¼¥«¥ë¤ÎÀܳ¤Ç @code{mysqladmin shutdown} ¤ò¼Â¹Ô¤·¤¿¾ì¹ç¤Ë¡¢@code{mysqladmin} ¤Ï
-½ªÎ»Á°¤Ë pidfile ¤¬Ìµ¤¯¤Ê¤ë¤Þ¤ÇÂԤĤ褦¤Ë¤Ê¤Ã¤¿¡£
-@item
-¤¤¤¯¤Ä¤«¤Î @code{COUNT(DISTINCT ...)} ¥¯¥¨¥ê¤Ç¥³¥¢¤òÅǤ¤¤¿¤Î¤ò½¤Àµ¤·¤¿¡£
-@item
-Fixed that @code{myisamchk} works properly with RAID:ed tables.
-@item
-Fixed problem with @code{LEFT JOIN} and @code{key_field IS NULL}.
-@item
-Fixed bug in @code{net_clear()} which could give the error @code{Aborted
-connection} in the @strong{MySQL} clients.
-@item
-Added options @code{USE INDEX (key_list)} and @code{IGNORE INDEX (key_list)} as
-join parameters in @code{SELECT}.
-@item
-@code{DELETE} and @code{RENAME} should now work on @code{RAID} tables.
-@end itemize
-
-@node News-3.23.11, News-3.23.10, News-3.23.12, News-3.23.x
-@appendixsubsec Changes in release 3.23.11
-@itemize @bullet
-@item
-@code{ALTER TABLEL tbl_name ADD (field_list)} ʸ¤òµö²Ä¤·¤¿¡£
-@item
-Fixed problem with optimizer that could sometimes use wrong keys.
-@item
-@code{GRANT/REVOKE ALL PRIVILEGES} ¤¬ @code{GRANT OPTION} ¤Ë±Æ¶Á¤·¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ¡£
-@item
-Removed extra @code{)} from the output of @code{SHOW GRANTS}
-@item
-Fixed problem when storing numbers in timestamps.
-@item
-Fix problem with timezones that have half hour offsets.
-@item
-@code{CREATE} ʸ¤Ç¤Î @code{UNIQUE INDEX} ¤Î»ÈÍѤòµö²Ä¡£
-@item
-@code{mysqlhotcopy} - ¥í¡¼¥«¥ë¤Î @strong{MySQL} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ë
-¥Ä¡¼¥ë¡£ By Tim Bunce.
-@item
-¿·¤·¤¤ @code{mysqlaccess}. Thanks to Steve Harvey for this.
-@item
-@code{--i-am-a-dummy} ¤È @code{--safe-updates} ¥ª¥×¥·¥ç¥ó¤ò @code{mysql} ¤ËÄɲá£
-@item
-@code{select_limit} ¤È @code{max_join_size} ÊÑ¿ô¤ò @code{mysql} ¤ËÄɲá£
-@item
-SQL ¤ÎÊÑ¿ô¤òÄɲ᧠@code{SQL_MAX_JOIN_SIZE} ¤È @code{SQL_SAFE_UPDATES}.
-@item
-Added @code{READ LOCAL} lock that doesn't lock the table for concurrent
-inserts. (This is used by @code{mysqldump}).
-@item
-Changed that @code{LOCK TABLES .. READ} doesn't anymore allow concurrent
-inserts.
-@item
-¥ª¥×¥·¥ç¥ó @code{--skip-delay-key-write} ¤ò @code{mysqld} ¤ËÄɲá£
-@item
-Fixed security problem in the protocol regarding password checking.
-@item
-@code{_rowid} can now be used as an alias for an integer type unique indexed
-column.
-@item
-Added back blocking of @code{SIGPIPE} when compiling with @code{--thread-safe-clients}
-to make things safe for old clients.
-@end itemize
-
-@node News-3.23.10, News-3.23.9, News-3.23.11, News-3.23.x
-@appendixsubsec Changes in release 3.23.10
-@itemize @bullet
-@item
-Fixed bug in 3.23.9 where memory wasn't properly freed when doing
-@code{LOCK TABLES}.
-@end itemize
-
-@node News-3.23.9, News-3.23.8, News-3.23.10, News-3.23.x
-@appendixsubsec Changes in release 3.23.9
-@itemize @bullet
-@item
-Fixed problem that affected queries that did arithmetic on group functions.
-@item
-Fixed problem with timestamps and @code{INSERT DELAYED}.
-@item
-Fixed that @code{date_column BETWEEN const_date AND const_date} works.
-@item
-Fixed problem when only changing a 0 to @code{NULL} in a table with
-@code{BLOB/TEXT} columns.
-@item
-Fixed bug in range optimizer when using many key parts and or on the middle
-key parts: @code{WHERE K1=1 and K3=2 and (K2=2 and K4=4 or K2=3 and K4=5)}
-@item
-@code{source} ¥³¥Þ¥ó¥É¤ò @code{mysql} ¤ËÄɲᣠ¤³¤ì¤Ï @code{mysql} ¥¯¥é¥¤¥¢¥ó¥ÈÆâ
-¤Ç¡¢¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤òÆɤळ¤È¤¬¤Ç¤­¤ë¡£ Original patch by Matthew Vanecek.
-@item
-@code{WITH GRANT OPTION} ¥ª¥×¥·¥ç¥ó¤ÎÃ×̿Ū¤Ê¥Ð¥°¤ò½¤Àµ
-@item
-Don't give an unnecessary @code{GRANT} error when using tables from many
-databases in the same query.
-@item
-Added VIO wrapper (needed for SSL support ; By Andrei Errapart and
-Tnu Samuel).
-@item
-Fixed optimizer problem on @code{SELECT} when using many overlapping indexes.
-@strong{MySQL} should now be able to choose keys even better when there
-is many keys to choose from.
-@item
-Changed optimizer to prefer a range key instead of a ref key when the
-range key can uses more columns than the ref key (which only can use
-columns with =). For example, the following type of queries should now
-be faster: @code{SELECT * from key_part_1=const and key_part_2 > const2}
-@item
-Fixed bug that a change of all @code{VARCHAR} columns to @code{CHAR} columns
-didn't change row type from dynamic to fixed.
-@item
-Disabled floating point exceptions for FreeBSD to fix core dump when
-doing @code{SELECT floor(pow(2,63))}.
-@item
-@code{mysqld} ¤Îµ¯Æ°¥ª¥×¥·¥ç¥ó @code{--delay-key-write} ¤ò
-@code{--delay-key-write-for-all-tables} ¤ËÊѹ¹
-@item
-Added @code{read-next-on-key} to @code{HEAP} tables. This should fix all
-problems with @code{HEAP} tables when using not @code{UNIQUE} keys.
-@item
-ÊÑ¿ô¤Î¥Ç¥Õ¥©¥ë¥È¤òɽ¼¨¤¹¤ë¥ª¥×¥·¥ç¥ó¤ò¥¯¥é¥¤¥¢¥ó¥È¤ËÄɲÃ
-@item
-@code{mysqld} ¤Ë @code{--log-slow-queries} ¤òÄɲᣠ¤³¤ì¤Ï»þ´Ö¤Î¤«¤«¤Ã¤¿
-Á´¤Æ¤Î¥¯¥¨¥ê¤òÊÌ¤Î¥í¥°¥Õ¥¡¥¤¥ë¤Ëµ­Ï¿¤¹¤ë¡£¤É¤Î¤¯¤é¤¤»þ´Ö¤¬¤«¤«¤Ã¤¿¤«¤¬µ­¤µ¤ì¤ë
-@item
-@code{WHERE key_column=RAND(...)} ¤ò¹Ô¤Ã¤¿¤È¤­¥³¥¢¤òÅǤ¯¥Ð¥°¤ò½¤Àµ
-@item
-Fixed optimization bug in @code{SELECT .. LEFT JOIN ... key_column IS NULL},
-when @code{key_column} could contain @code{NULL} values.
-@item
-Fixed problem with 8-bit characters as separators in @code{LOAD DATA INFILE}.
-@end itemize
-
-@node News-3.23.8, News-3.23.7, News-3.23.9, News-3.23.x
-@appendixsubsec Changes in release 3.23.8
-@itemize @bullet
-@item
-8G ¤è¤êÂ礭¤Ê¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤ò°·¤Ã¤¿¾ì¹ç¤ÎÌäÂê¤ò½¤Àµ¡£
-@item
-NetBSD ÍѤκǿ·¤Î mit-pthread ¤Î¥Ñ¥Ã¥Á¤òÄɲá£
-@item
-¥¿¥¤¥à¥¾¡¼¥ó < GMT - 11 ¤Î¾ì¹ç¤ÎÌäÂê¤ò½¤Àµ¡£
-@item
-@code{NISAM} Ãæ¤Î¥Ñ¥Ã¥¯¤µ¤ì¤¿¥­¡¼¤Îºï½ü»þ¤Î¥Ð¥°¤ò½¤Àµ¡£
-@item
-¤¤¤¯¤Ä¤« @code{ORDER BY ... DESC} ¥¯¥¨¥ê¤ò¼Â¹Ô¤·¤¿ºÝ¤Î @code{ISAM} ¤ÎÌäÂê¤ò½¤Àµ¡£
-@item
-Fixed bug when doing a join on a text key which didn't covert the whole key.
-@item
-¥ª¥×¥·¥ç¥ó @code{--delay-key-write} ¤¬ delayed key writing ¤òÍ­¸ú¤Ë¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ¡£
-@item
-Fixed update of @code{TEXT} column which only involved case changes.
-@item
-Fixed that @code{INSERT DELAYED} doesn't update timestamps that are given.
-@item
-@code{YEARWEEK()} ´Ø¿ô¤ÎÄɲäȡ¢@code{x}, @code{X}, @code{v},
-@code{V} ¥ª¥×¥·¥ç¥ó¤Î @code{DATE_FORMAT()} ¤Ø¤ÎÄɲá£
-@item
-Fixed problem with @code{MAX(indexed_column)} and HEAP tables.
-@item
-Fixed problem with @code{BLOB NULL} keys and @code{LIKE} "prefix%".
-@item
-Fixed problem with @code{MyISAM} and fixed length rows < 5 bytes.
-@item
-Fixed problem that could cause @strong{MySQL} to touch freed memory when
-doing very complicated @code{GROUP BY} queries.
-@item
-Fixed core dump if you got a crashed table where an @code{ENUM} field value
-was too big.
-@end itemize
-
-@node News-3.23.7, News-3.23.6, News-3.23.8, News-3.23.x
-@appendixsubsec Changes in release 3.23.7
-@itemize @bullet
-@item
-Linux´Ä¶­²¼¤Ë¤ª¤¤¤Æ¡¢@code{pthread_mutex_timedwait} ¤ÎÌäÂê¤òÈò¤±¤ë¤è¤¦¤Ë¤·¤¿¡£
-¤³¤Î´Ø¿ô¤Ï @code{INSERT DELAYED} ¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤¿¡£ @xref{Linux}.
-@item
-Fixed that one will get at 'disk full' error message if one gets disk full
-when doing sorting (instead of waiting until we got more disk space).
-@item
-@code{MyISAM} ¤Ç¡¢¥­¡¼¤¬ 250 ʸ»ú¤òĶ¤¨¤¿¾ì¹ç¤Î¥Ð¥°¤ò½¤Àµ¡£
-@item
-@code{MyISAM} ¤Ë¤ª¤¤¤Æ¡¢Â¾¤Î¥¹¥ì¥Ã¥É¤¬Æɤó¤Ç¤¤¤ë¥Æ¡¼¥Ö¥ë¤ËÂФ·¡¢
-¾¤Î¥¹¥ì¥Ã¥É¤¬ @code{INSERT} ¤òƱ»þ¤Ë¹Ô¤¦¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
-@item
-Added variable @code{max_write_lock_count} to @code{mysqld} to force a
-@code{READ} lock after a certain number of @code{WRITE} locks.
-@item
-Inverted flag @code{delayed_key_write} on @code{show variables}.
-@item
-@code{concurrency} ÊÑ¿ô¤ò @code{thread_concurrency} ¤Ë²þ̾¡£
-@item
-°Ê²¼¤Î´Ø¿ô¤¬¥Þ¥ë¥Á¥Ð¥¤¥È¡¦¥»¡¼¥Õ¤Ë¤Ê¤Ã¤¿¡§
-@code{LOCATE(substr,str)}, @code{POSITION(substr IN str)},
-@code{LOCATE(substr,str,pos)}, @code{INSTR(str,substr)},
-@code{LEFT(str,len)}, @code{RIGHT(str,len)},
-@code{SUBSTRING(str,pos,len)}, @code{SUBSTRING(str FROM pos FOR len)},
-@code{MID(str,pos,len)}, @code{SUBSTRING(str,pos)}, @code{SUBSTRING(str
-FROM pos)}, @code{SUBSTRING_INDEX(str,delim,count)}, @code{RTRIM(str)},
-@code{TRIM([[BOTH | TRAILING] [remstr] FROM] str)},
-@code{REPLACE(str,from_str,to_str)}, @code{REVERSE(str)},
-@code{INSERT(str,pos,len,newstr)}, @code{LCASE(str)}, @code{LOWER(str)},
-@code{UCASE(str)} and @code{UPPER(str)}; Patch by Wei He.
-@item
-Fix core dump when releasing a lock from a non-existant table.
-@item
-Remove locks on tables before starting to remove duplicates.
-@item
-@code{FULL} ¥ª¥×¥·¥ç¥ó¤ò @code{SHOW PROCESSLIST} ¤ËÄɲá£
-@item
-@code{--verbose} ¥ª¥×¥·¥ç¥ó¤ò @code{mysqladmin} ¤ËÄɲá£
-@item
-HEAP ¤Î MyISAM ¤Ø¤Î¼«Æ°ÊÑ´¹»þ¤Î¥Ð¥°¤ò½¤Àµ¡£
-@item
-HEAP ¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ¡¢insert + delete + insert + scan table ¤ò¹Ô¤Ã¤¿ºÝ¤Î
-¥Ð¥°¤ò½¤Àµ¡£
-@item
-Alpha ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤Ç¤Î¡¢@code{REPLACE()} ¤È @code{LOAD DATA INFILE}
-¤Î¥Ð¥°¤ò½¤Àµ¡£
-@item
-@code{mysqld} ÊÑ¿ô¤Ë @code{interactive_timeout} ¤òÄɲÃ.
-@item
-@code{mysql_data_seek()} ¤Î°ú¿ô¤ò @code{ulong} ¤«¤é @code{ulonglong} ¤Ë
-Êѹ¹.
-@end itemize
-
-@node News-3.23.6, News-3.23.5, News-3.23.7, News-3.23.x
-@appendixsubsec Changes in release 3.23.6
-
-@itemize @bullet
-@item
-@code{mysqld} ¤Ë @code{-O lower_case_table_names=@{0|1@}} ¥ª¥×¥·¥ç¥ó¤òÄɲá£
-¤³¤ì¤Ï¥Æ¡¼¥Ö¥ë̾¤ò¶¯À©Åª¤Ë¾®Ê¸»ú¤Ë¤·¤Þ¤¹¡£
-@item
-@code{SELECT ... INTO DUMPFILE} Äɲá£
-@item
-mysqld ¤Ë @code{--ansi} ¥ª¥×¥·¥ç¥ó¤òÄɲᣠ¤³¤ì¤Ï¤¤¤¯¤Ä¤«¤Î´Ø¿ô¤ò
-@code{ANSI SQL} ¸ß´¹¤Ë¤·¤Þ¤¹¡£
-@item
-Temporary tables now starts with @code{#sql}.
-@item
-Added quoting of identifiers with @code{`} (@code{"} in @code{--ansi} mode).
-@item
-Changed to use snprintf() when printing floats to avoid some buffer
-overflows on FreeBSD.
-@item
-FreeBSD ¾å¤Ç¡¢@code{floor()} ¤ò¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¥»¡¼¥Õ¤Ë¤·¤¿¡£
-@item
-@code{--quote-names} ¥ª¥×¥·¥ç¥ó¤ò @code{mysqldump} ¤ËÄɲÃ
-@item
-Fixed bug that one could make a part of a @code{PRIMARY KEY NOT NULL}.
-@item
-Fixed @code{encrypt()} to be thread safe and not reuse buffer.
-@item
-MyODBC ¤Î @code{mysql_odbc_escape_string()} ´Ø¿ô¤¬¡¢big5 ¤ò¥µ¥Ý¡¼¥È¤·¤¿¡£
-@item
-Rewrote the table handler to use classes. This introduces a lot of new code,
-but will make table handling faster and better.
-@item
-¥æ¡¼¥¶¡¼ÄêµÁÊÑ¿ô¤Î¥Ñ¥Ã¥Á(Sasha¤Ë¤è¤ë)¤òÄɲá£
-@item
-Changed that @code{FLOAT} and @code{DOUBLE} (without any length modifiers) are
-not anymore fixed decimal point numbers.
-@item
-@code{FLOAT(X)} ¤Î°ÕÌ£¤òÊѹ¹: X <=24 ¤Ê¤é¤Ð¡¢¤³¤ì¤Ï @code{FLOAT} ¤ÈƱ¤¸¤Ç¡¢
-24 < X <= 53 ¤Ç¤¢¤ë¤Ê¤é¤Ð @code{DOUBLE} ¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£
-@item
-@code{DECIMAL(X)} ¤Ï @code{DECIMAL(X,0)} ¤Î¥¨¥¤¥ê¥¢¥¹¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-¤Þ¤¿ @code{DECIMAL} ¤Ï @code{DECIMAL(10,0)} ¤Î¥¨¥¤¥ê¥¢¥¹¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-The same goes for @code{NUMERIC}.
-@item
-@code{ROW_FORMAT=@{default | dynamic | static | compressed@}} ¥ª¥×¥·¥ç¥ó¤ò
-@code{CREATE_TABLE} ¤ËÄɲÃ.
-@item
-@code{DELETE FROM table_name} ¤¬°ì»þ¥Æ¡¼¥Ö¥ë¤ÇÆ°¤«¤Ê¤«¤Ã¤¿¡£
-@item
-@code{CHAR_LENGTH()} ´Ø¿ô¤ò¥Þ¥ë¥Á¥Ð¥¤¥È¥»¡¼¥Õ¤ËÊѹ¹
-@item
-@code{ORD(string)} ´Ø¿ô¤ÎÄɲÃ.
-@end itemize
-
-@node News-3.23.5, News-3.23.4, News-3.23.6, News-3.23.x
-@appendixsubsec Changes in release 3.23.5
-
-@itemize @bullet
-@item
-¿·¤·¤¤¥Ç¡¼¥¿¥Ï¥ó¥É¥ê¥ó¥°Ãæ¤Î¤¤¤¯¤Ä¤«¤Î Y2K ÌäÂê¤ò½¤Àµ¡£
-@item
-@code{SELECT DISTINCT ... ORDER BY RAND()} ¤ÎÌäÂê¤ò½¤Àµ¡£
-@item
-Sergei A. Golubchik ¤Ë¤è¤ë MyISAM ¤Î¥ì¥Ù¥ë¤Ç¤Î¥Æ¥­¥¹¥È¥µ¡¼¥Á¤Î¥Ñ¥Ã¥Á¤òÄɲÃ
-@item
-¥­¡¼Ìµ¤·¤Çfull JOIN ¤ò»ÈÍѤ·¤¿ºÝ¤Î¥­¥ã¥Ã¥·¥å¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤ÎÌäÂê¤ò½¤Àµ¡£
-@item
-¤¤¤¯¤Ä¤«¤Î configure ¤ÎÌäÂê¤ò½¤Àµ¡£
-@item
-Some small changes to make parsing faster.
-@item
-ALTER TABLE + adding a column after the last field didn't work.
-@item
-2¤Ä¤Î¥­¡¼Ãæ¤Çauto_increment¥Õ¥£¡¼¥ë¥É¤ò»ÈÍѤ·¤¿¤È¤­¤ÎÌäÂê¤ò½¤Àµ¡£
-@item
-@code{MyISAM} ¤Ç auto_increment ¤ò¥µ¥Ö¥Ñ¡¼¥È¤È¤·¤Æ»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡§
-@code{ CREATE TABLE foo (a int not null auto_increment, b char(5), primary key (b,a)) }
-@item
-Fixed bug in @code{MyISAM} with packed char keys that could be @code{NULL}.
-@item
-¥Õ¥£¡¼¥ë¥É̾¤ò @code{CREATE TABLE table_name SELECT ... } »þ¤Ë¤È¤·¤¿¾ì¹ç¡¢Æ°¤«¤Ê¤«¤Ã¤¿¡£
-@item
-Allow use of @code{NATIONAL} and @code{NCHAR} when defining character columns.
- This is the same as not using @code{BINARY}.
-@item
-@code{NULL} ¤Î¥Õ¥£¡¼¥ë¥É¤ò @code{PRIMARY KEY} ( @code{UNIQUE} ¥­¡¼) ¤Ë¤Ï
-µö¤µ¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item
-Clear @code{LAST_INSERT_ID} if one uses this in ODBC:
-@code{WHERE auto_increment_column IS NULL}. This seems to fix some problems
-@item
-@code{WHERE auto_increment_column IS NULL} ¤ò»ÈÍѤ·¤ÆºÇ¸å¤Ë¥ì¥³¡¼¥É¤¬ÁÞÆþ¤µ¤ì¤¿¸å¤Ë¡¢
-@code{SET SQL_AUTO_IS_NULL=0|1} ¤Ï¥µ¡¼¥Á¤Î¥Ï¥ó¥É¥ê¥ó¥°¤Î on/off ¤Ë¤Ê¤Ã¤¿¡£
-@item
-Added new @code{mysqld} variable concurrency for Solaris.
-@item
-@code{--relative} ¥ª¥×¥·¥ç¥ó¤ò @code{mysqladmin} ¤ËÄɲá£
-¤³¤ì¤Ï @code{extended-status} ¤ÇÊѹ¹¤Î¥â¥Ë¥¿¡¼¤ò¤¹¤ë¾ì¹ç¡¢¤è¤êÊØÍø¤Ë¤Ê¤Ã¤¿¡£
-@item
-¶õ¤Î¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ @code{COUNT(DISTINCT..)} ¤ò»ÈÍѤ·¤¿ºÝ¤Î¥Ð¥°¤ò½¤Àµ¡£
-@item
-Ãæ¹ñ¸ì¤Î¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È @code{GBK} ¤òÄɲá£
-@item
-@code{LOAD DATA INFILE} ¤ò @code{BLOB} ¥Õ¥£¡¼¥ë¥É¤Ë»ÈÍѤ·¤¿ºÝ¤ÎÌäÂê¤ò½¤Àµ¡£
-@item
-ÏÀÍý±é»»»Ò @code{~} (negation) ¤òÄɲá£
-@item
-@code{UDF} ´Ø¿ô¤Ç¤ÎÌäÂê¤ò½¤Àµ¡£
-@end itemize
-
-@node News-3.23.4, News-3.23.3, News-3.23.5, News-3.23.x
-@appendixsubsec Changes in release 3.23.4
-
-@itemize @bullet
-@item
-@code{DATETIME} ·¿¤ò @code{TIME} ¥Õ¥£¡¼¥ë¥É¤ËÁÞÆþ¤¹¤ë¤È¤­¡¢'day' ¤ò
-Êݸ¤·¤è¤¦¤È»î¤ß¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item
-low endian ¤Î¥Þ¥·¥ó¤Ç float/double ¤ÎÊݸ¤ÎÌäÂê¤ò½¤Àµ¡£
-(¤³¤ì¤Ï @code{SUM()} ¤Ë±Æ¶Á¤¹¤ë.)
-@item
-TCP/IP Àܳ¤Î connect timeout ¤òÄɲá£
-@item
-¥¤¥ó¥Ç¥Ã¥¯¥¹¾å¤Ç¡¢ @code{NULL} Ãͤò»ý¤Ä¤«¤â¤·¤ì¤Ê¤¤¤â¤Î¤Ë @code{LIKE} "%" ¤·¤¿ºÝ¤ÎÌäÂê¤ò½¤Àµ¡£
-@item
-@code{REVOKE ALL PRIVILEGES} ¤¬Á´¤Æ¤Î¸¢¸Â¤ò¼è¤ê¾Ã¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ¡£
-@item
-¥ª¥ê¥¸¥Ê¥ë¤Î¥Æ¡¼¥Ö¥ë̾¤ÈƱ¤¸Ì¾Á°¤Ç°ì»þ¥Æ¡¼¥Ö¥ë¤òºî¤ì¤ë¤è¤¦¤Ë¤·¤¿¡£
-@item
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¸¢¸Â¤ò¤¢¤ë¥æ¡¼¥¶¡¼¤ËÍ¿¤¨¤¿ºÝ¡¢
-¤½¤Î¥æ¡¼¥¶¡¼¤Ï¾¤Î¥æ¡¼¥¶¡¼¤Ë¸¢¸Â¤òÍ¿¤¨¤ë¤³¤È¤¬½ÐÍè¤Ê¤«¤Ã¤¿¡£
-@item
-¿·¥³¥Þ¥ó¥É¡§ @code{SHOW GRANTS FOR user} (by Sinisa).
-@item
-¿· @code{date_add} syntax: @code{date/datetime + INTERVAL # interval_type}.
-By Joshua Chamas.
-@item
-@code{LOAD DATA REPLACE} ¤Î¸¢¸Â¤Î¥Á¥§¥Ã¥¯¤ò½¤Àµ¡£
-@item
-Solaris 2.7 ¾å¤Ç¤Î¡¢²õ¤ì¤¿ include ¥Õ¥¡¥¤¥ë¤ò¼«Æ°½¤Àµ¡£
-@item
-big file system ¤ò¸¡½Ð¤¹¤ëºÝ¤Î¤¤¤¯¤Ä¤«¤Î configure ¤ÎÌäÂê¤ò½¤Àµ¡£
-@item
-@code{REGEXP} ¤Ï¥±¡¼¥¹Èó°Í¸¤Ë¤Ê¤Ã¤¿¡£¤â¤·¥Ð¥¤¥Ê¥êʸ»ú¤Ç¤Ê¤¤¾ì¹ç¤Ï¡£
-@end itemize
-
-@node News-3.23.3, News-3.23.2, News-3.23.4, News-3.23.x
-@appendixsubsec Changes in release 3.23.3
-
-@itemize @bullet
-@item
-NetBSD ¾å¤Ç¤Î MIT-pthreads ¥Ñ¥Ã¥Á¤òÄɲá£
-@item
-MyISAM Ãæ¤Î range bug ¤ò½¤Àµ¡£
-@item
-@code{ORDER BY} ¤Î¥Ç¥Õ¥©¥ë¥È¤¬ºÆ¤Ó @code{ASC} ¤Ë¤Ê¤Ã¤¿¡£
-@item
-@code{LIMIT} ¤ò @code{UPDATE} ¤ËÄɲá£
-@item
-¿·¥¯¥é¥¤¥¢¥ó¥È´Ø¿ô¡§ @code{mysql_change_user()}.
-@item
-@code{SHOW VARIABLES} ¤Ë¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¤òÄɲá£
-@item
-@code{--[whitespace]} ¥³¥á¥ó¥È¤ò¥µ¥Ý¡¼¥È¤·¤¿¡£
-@item
-Allow @code{INSERT into tbl_name VALUES ()}, that is, you may now specify
-an empty value list to insert a row in which each column is set to its
-default value.
-@item
-Changed @code{SUBSTRING(text FROM pos)} to conform to ANSI SQL. (Before this
-construct returned the rightmost 'pos' characters).
-@item
-¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¾å¤Ç @code{GROUP BY} ¤ò¤È¤â¤Ê¤Ã¤¿ @code{SUM(..)} ¤Ï 0 ¤òÊÖ¤¹¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
-@item
-@code{SHOW TABLE STATUS} ¤Î½ÐÎϤòÊѹ¹¡£
-@item
-@code{DELAY_KEY_WRITE} ¥ª¥×¥·¥ç¥ó¤ò @code{CREATE TABLE} ¤ËÄɲá£
-@item
-@code{AUTO_INCREMENT} ¤ò¤¤¤«¤Ê¤ë¥­¡¼¤ÎÉôʬ¤Ë»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤·¤¿¡£
-@item
-@code{YEAR(NOW())} , @code{YEAR(CURDATE())} ¤ÎÌäÂê¤ò½¤Àµ¡£
-@item
-Added @code{CASE} construct.
-@item
-¿·´©¿ô @code{COALESCE()}.
-@end itemize
-
-@node News-3.23.2, News-3.23.1, News-3.23.3, News-3.23.x
-@appendixsubsec Changes in release 3.23.2
-
-@itemize @bullet
-@item
-Fixed range optimizer bug: @code{SELECT * FROM table_name WHERE
-key_part1 >= const AND (key_part2 = const OR key_part2 = const)}. The
-bug was that some rows could be duplicated in the result.
-@item
-Running @code{myisamchk} without @code{-a} updated the index
-distribution wrong.
-@item
-@code{SET SQL_LOW_PRIORITY_UPDATES=1} gave parse error before.
-@item
-@code{WHERE} Àá¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥£¡¼¥ë¥É¤ò¹¹¿·¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡§
-@code{UPDATE tbl_name SET KEY=KEY+1 WHERE KEY > 100}
-@item
-Date handling should now be a bit faster.
-@item
-Added handling of fuzzy dates (dates where day or month is 0):
-(Like: 1999-01-00)
-@item
-Fixed optimization of @code{SELECT ... WHERE key_part1=const1 AND
-key_part_2=const2 AND key_part1=const4 AND key_part2=const4} ; Indextype
-should be @code{range} instead of @code{ref}.
-@item
-Linux Alpha ¾å¤Ç @code{egcs} 1.1.2 optimizer ¤Î¥Ð¥°(@code{BLOB} »ÈÍÑ»þ)¤ò½¤Àµ¡£
-@item
-Fixed problem with @code{LOCK TABLES} combined with @code{DELETE FROM table}.
-@item
-MyISAM ¥Æ¡¼¥Ö¥ë¤Ï @code{NULL} ÃÍ¤È @code{BLOB/TEXT} ¥Õ¥£¡¼¥ë¥É¤Ë¥­¡¼¤òµö¤¹¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
-@item
-°Ê²¼¤ÎJOIN¤¬¤è¤ê®¤¯¤Ê¤Ã¤¿¡§
-@code{SELECT ... FROM t1 LEFT JOIN t2 ON ... WHERE t2.not_null_column IS NULL}.
-@item
-@code{ORDER BY} and @code{GROUP BY} can be done on functions.
-@item
-Changed handling of 'const_item' to allow handling of @code{ORDER BY RAND()}.
-@item
-@code{WHERE key_column = function} ¤Ç¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬»ÈÍѤµ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
-@item
-Î㤨¥Õ¥£¡¼¥ë¥É¤¬Á´¤¯Æ±¤¸¤Ë¥Ñ¥Ã¥¯¤µ¤ì¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢
-@code{WHERE key_column = column_name} ¤Ç¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬»ÈÍѤµ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
-@item
-@code{WHERE column_name IS NULL} ¤Ç¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬»ÈÍѤµ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
-@item
-Changed heap tables to be stored in low_byte_first order (to make it easy
-to convert to MyISAM tables)
-@item
-Automatic change of HEAP temporary tables to MyISAM tables in case of
-'table is full' errors.
-@item
-@code{--init-file=file_name} ¥ª¥×¥·¥ç¥ó¤ò @code{mysqld} ¤ËÄɲá£
-@item
-@code{COUNT(DISTINCT value,[value,...])}
-@item
-@code{CREATE TEMPORARY TABLE} now creates a temporary table, in its own
-namespace, that is automatically deleted if connection is dropped.
-@item
-¿·Í½Ìó¸ì (@code{CASE} ¤òÍ×µá): @code{CASE, THEN, WHEN, ELSE and END}.
-@item
-¿·´Ø¿ô @code{EXPORT_SET()} , @code{MD5()}.
-@item
-GB2312 Ãæ¹ñ¸ì¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¤ò¥µ¥Ý¡¼¥È¡£
-@end itemize
-
-@node News-3.23.1, News-3.23.0, News-3.23.2, News-3.23.x
-@appendixsubsec Changes in release 3.23.1
-
-@itemize @bullet
-@item
-¤¤¤¯¤Ä¤«¤Î¥³¥ó¥Ñ¥¤¥ëÌäÂê¤ò½¤Àµ¤·¤¿¡£
-@end itemize
-
-@node News-3.23.0, , News-3.23.1, News-3.23.x
-@appendixsubsec Changes in release 3.23.0
-
-@itemize @bullet
-@item
-¿¤¯¤Î¿·¤·¤¤ÆÃħ¤òÈ÷¤¨¤¿¿·¤·¤¤¥Æ¡¼¥Ö¥ë¡¦¥Ï¥ó¥É¥é¡¼¡¦¥é¥¤¥Ö¥é¥ê( @code{MyISAM} )¡£
-@xref{MyISAM}.
-@item
-¥á¥â¥ê¡¼Æâ¤Ë @code{HEAP} ¥Æ¡¼¥Ö¥ë¤òºîÀ®¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-¤³¤ì¤Ïõº÷¤¬¤È¤Æ¤â®¤¤¤Ç¤¹¡£
-@item
-ÂçÍÆÎÌ¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ëOS¾å¤Ç¡¢Âç¥Õ¥¡¥¤¥ë (63 bit) ¤Î¥µ¥Ý¡¼¥È¡£
-@item
-¿·¤·¤¤´Ø¿ô @code{LOAD_FILE(filename)} ¡£ ¤³¤ì¤Ï¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤òʸ»úÎóÃͤȤ·¤ÆÆɤߤޤ¹¡£
-@item
-¿·¤·¤¤±é»»»Ò @code{<=>} ¡£ ¤³¤ì¤Ï¡¢ @code{=} ¤Î¤è¤¦¤Ë¿¶¤ëÉñ¤¤¤Þ¤¹¤¬¡¢
-¤â¤·Î¾Êդΰú¿ô¤¬ @code{NULL} ¤Ê¤é¡¢¿¿¤òÊÖ¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¥Æ¡¼¥Ö¥ë´Ö¤ÎÊѹ¹¤ÎÈæ³Ó¤ËÌòΩ¤Á¤Þ¤¹¡£
-@item
-ODBC 3.0 @code{EXTRACT(interval FROM datetime)} ´Ø¿ô¤ÎÄɲá£
-@item
-@code{FLOAT(X)} ¥Õ¥£¡¼¥ë¥É¤Ï¡¢Êݸ¤·¤¿Ãͤò´Ý¤á¤Þ¤»¤ó¡£
-¤³¤ì¤Ï¸¡º÷¤µ¤ì¤¿¤È¤­¤Ë ²Ê³Øɽµ­ (1.0 E+10) ¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-@item
-@code{REPLACE} ¤¬Á°¤è¤ê¤â®¤¯¤Ê¤Ã¤¿¡£
-@item
-@code{LIKE} ʸ»úÈæ³Ó¤ò @code{=} ¤Î¤è¤Ë¿¶¤ëÉñ¤¦¤è¤¦¤ËÊѹ¹¡¨
-¤³¤ì¤Ï @code{'e' LIKE '@'e'} ¤¬¿¿¤Ë¤Ê¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
-@item
-@code{SHOW TABLE STATUS} ¤Ï¥Æ¡¼¥Ö¥ë¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤ò¿¤¯½Ð¤¹¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-@item
-@code{LIKE} ¤ò @code{SHOW STATUS} ¥³¥Þ¥ó¥É¤ËÄɲá£
-@item
-@code{SHOW COLUMNS} ¤Ë Privileges ¹àÌܤòÄɲá£
-@item
-@code{SHOW INDEX} ¤Ë @code{packed} ¤È @code{comment} ¹àÌܤòÄɲá£
-@item
-¥Æ¡¼¥Ö¥ë¤Ø¤Î¥³¥á¥ó¥È¤òÄɲᣠ( @code{CREATE TABLE ... COMMENT "xxx"}).
-@item
-@code{UNIQUE} ¤ò¼¡¤Î¤è¤¦¤ËÄɲá§
-@code{CREATE TABLE table_name (col int not null UNIQUE)}
-@item
-¿· create ¹½Ê¸¡§ @code{CREATE TABLE table_name SELECT ....}
-@item
-¿· create ¹½Ê¸¡§ @code{CREATE TABLE IF NOT EXISTS ...}
-@item
-@code{CHAR(0)} ¥Õ¥£¡¼¥ë¥É¤ÎºîÀ®¤òµö²Ä¤·¤¿¡£
-@item
-@code{DATE_FORMAT()} ¤Ï¡¢¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»ú¤ÎÁ°¤Ë @samp{%} ¤¬É¬Íפˤʤä¿¡£
-@item
-@code{DELAYED} ¤¬Í½Ìó¸ì¤Ë¤Ê¤Ã¤¿¡£ (sorry about that :( ).
-@item
-¥×¥í¥»¥¸¥ã¡¼¤ÎÎã¤òÄɲ᧠@code{analyse}, file: @file{sql_analyse.c}.
-¤³¤ì¤Ï¥¯¥¨¥ê¤Î¥Ç¡¼¥¿¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ °Ê²¼¤ÎÍͤˤ·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡§
-@example
-SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max elements,[max memory]])
-@end example
-¤³¤Î ¥×¥í¥»¥¸¥ã¡¼¤Ï¡¢¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¤ò¥Á¥§¥Ã¥¯¤·¤¿¤¤»þ¤Ë¡¢¤È¤Æ¤âÌòΩ¤Á¤Þ¤¹¡ª
-@item
-@code{BINARY} cast to force a string to be compared case sensitively.
-@item
-@code{--skip-show-database} ¥ª¥×¥·¥ç¥ó¤ò @code{mysqld} ¤ËÄɲá£
-@item
-@code{BLOB}/@code{TEXT} ¥Õ¥£¡¼¥ë¥É¤Ë¤ª¤¤¤Æ¡¢ @code{UPDATE} ¤µ¤ì¤¿
-¥ì¥³¡¼¥É¤ò¥Á¥§¥Ã¥¯¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-@item
-@code{INNER JOIN} ¤ÎÄɲᣠ@strong{Ãí°Õ}: @code{INNER} ¤ÏͽÌó¸ì¤Ë¤Ê¤ê¤Þ¤·¤¿¡ª
-@item
-@strong{MySQL} ¥Æ¡¼¥Ö¥ë¤Î¥Û¥¹¥È¤Ë¥Í¥Ã¥È¥Þ¥¹¥¯¤ò¥µ¥Ý¡¼¥È¤·¤¿¡£
-@code{IP/NETMASK} ¤È¤·¤Æ¡¢¥Í¥Ã¥È¥Þ¥¹¥¯¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£
-@item
-If you compare a @code{NOT NULL DATE/DATETIME} column with @code{IS
-NULL}, this is changed to a compare against @code{0} to satisfy some ODBC
-applications. (By @email{shreeve@@uci.edu}).
-@item
-@code{NULL IN (...)} ¤Ï @code{0} ¤Ç¤Ï¤Ê¤¯ @code{NULL} ¤òÊÖ¤·¤Þ¤¹¡£ ¤³¤ì¤Ï
- @code{null_column NOT IN (...)} ¤¬ @code{NULL} Ãͤ˥ޥåÁ¤·¤Ê¤¤¤Î¤ò³Î¼Â¤Ë¤·¤Þ¤¹¡£
-@item
-@code{TIME} ¥Õ¥£¡¼¥ë¥ÉÃæ¤Ë¡¢ÉâÆ°¾®¿ôÅÀ¤ÎÃͤòÆþ¤ì¤ë¤Î¤ò½¤Àµ¡£
-@item
-Changed parsing of @code{TIME} strings to be more strict. Now the
-fractional second part is detected (and currently skipped). The
-following formats are supported:
-@table @code
-@item [[DAYS] [H]H:]MM:]SS[.fraction]
-@item [[[[[H]H]H]H]MM]SS[.fraction]
-@end table
-@item
-Detect (and ignore) second fraction part from @code{DATETIME}.
-@item
-@code{LOW_PRIORITY} °À­¤ò @code{LOAD DATA INFILE} ¤ËÄɲá£
-@item
-¥Ç¥Õ¥©¥ë¥È¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹Ì¾¤ò¡¢¥Õ¥£¡¼¥ë¥É¤Î̾Á°¤ÈƱ¤¸¥±¡¼¥¹¤Ë¤·¤¿¡£
-@item
-¥Ç¥Õ¥©¥ë¥È¤ÎÀܳ¿ô¤ò 100 ¤ËÊѹ¹¡£
-@item
-@code{LOAD DATA INFILE} »þ¤Ë¡¢¤è¤êÂ礭¤Ê¥Ð¥Ã¥Õ¥¡¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¤·¤¿¡£
-@item
-@code{DECIMAL(x,y)} ¤Ï ANSI SQL ¤Ë½¾¤Ã¤ÆÆ°ºî¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
-@item
-Added aggregate UDF functions. Thanks to Andreas F. Bobak
-@email{bobak@@relog.ch} for this!
-@item
-@code{LAST_INSERT_ID()} is now updated for @code{INSERT INTO ... SELECT}.
-@item
-Some small changes to the join table optimizer to make some joins faster.
-@item
-@code{SELECT DISTINCT} ¤¬À¨¤¯Â®¤¯¤Ê¤Ã¤¿¡¨
-¤³¤ì¤Ï @code{MyISAM} ¤Î¿·¤·¤¤ @code{UNIQUE} ¤ò»ÈÍѤ·¤Þ¤¹¡£
-@strong{MySQL} 3.22 ¤È°ì¤Ä°ã¤¦ÅÀ¤Ï¡¢ @code{DISTINCT} ¤Î½ÐÎϤ¬
-¥½¡¼¥È¤µ¤ì¤Ê¤¤¤È¤¤¤¦»ö¤Ç¤¹¡£
-@item
-Á´¤Æ¤Î C ¥¯¥é¥¤¥¢¥ó¥È API ¤¬¡¢¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò½ÀÆð¤ËºîÀ®¤¹¤ë¤¿¤á¡¢
-¥Þ¥¯¥í¤«¤é´Ø¿ô¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ¤³¤Î¤¿¤á¡¢ @code{mysql_num_fields()} ¤ò
-@code{MYSQL} ¤È¤È¤·¤Æ¥³¡¼¥ë¤Ç¤­¤º¡¢¤³¤ÎÂå¤ï¤ê¤Ë @code{mysql_field_count()} ¤ò
-»ÈÍѤ·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-@item
-@code{LIBWRAP} ¤ÎÄɲÃ; Patch by Henning P . Schmiedehausen.
-@item
-Don't allow @code{AUTO_INCREMENT} for other than numerical columns.
-@item
-@code{AUTO_INCREMENT} ¤Î»ÈÍѤϡ¢¥Õ¥£¡¼¥ë¥É¤ò¼«Æ°Åª¤Ë
-@code{NOT NULL} ¤Ë¤·¤Þ¤¹¡£
-@item
-Show @code{NULL} as the default value for AUTO_INCREMENT columns.
-@item
-@code{SQL_BIG_RESULT} ¤ÎÄɲÃ; @code{SQL_SMALL_RESULT} ¤¬¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-@item
-Added a shared library RPM. This enchancement was contributed by David
-Fox (dsfox@@cogsci.ucsd.edu).
-@item
-@code{--enable-large-files/--disable-large-files} ¥¹¥¤¥Ã¥Á¤ò @code{configure} ¤Ë
-ÄɲᣠSee @file{configure.in} for some systems where this is
-automatically turned off because of broken implementations.
-@item
-@code{readline} 4.0 ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É
-@item
-¿·¤·¤¤ @code{CREATE TABLE} ¥ª¥×¥·¥ç¥ó¡§ @code{PACK_KEYS} ¤È @code{CHECKSUM}.
-@item
-@code{mysqld} ¥ª¥×¥·¥ç¥ó¤Ë @code{--default-table-type} ¤òÄɲá£
-@end itemize
-
-@node News-3.22.x, News-3.21.x, News-3.23.x, News
-@appendixsec Changes in release 3.22.x
-
-3.22 ¤Ï¤è¤êÁ᤯¡¢¤è¤ê°ÂÁ´¤Ê¥³¡¼¥É¤ò¤â¤Á¡¢¤¿¤¯¤µ¤ó¤Î¿·¤·¤¤µ¡Ç½¤¬À¹¤ê¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤é¤ÎÊѹ¹¤ò 3.21 ¤Ë¹Ô¤ï¤Ê¤¤¤Î¤Ï¡¢3.21 ¤Î°ÂÄêÅÙ¤òÊݤĤ¿¤á¤Ë¤Ï¤È¤Æ¤â¿¤¯¤ÎÊѹ¹¤¬É¬ÍפȤµ¤ì¤ë¤«¤é¤Ç¤¹¡£
-¤³¤ì¤é¤ÎÊѹ¹¤Ï¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç¥ó¤ÎÊѹ¹¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢´Êñ¤Ë¾ã³²¤â¤Ê¤¯ 3.22 ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤¬¤Ç¤­¤Þ¤¹¡£
-@xref{Upgrading-from-3.21}.
-
-3.22 ¤Ï¿·¤·¤¤ @code{DBD-mysql} (1.20xx) ¥É¥é¥¤¥Ð¡¼¤Î¤ß¤ò¿·¤·¤¤Àܳ¥×¥í¥È¥³¥ë¤ËÂФ·¤Æ»ÈÍѤ·¤Þ¤¹¡ª
-
-@menu
-* 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.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.27:: Changes in release 3.22.27
-* News-3.22.26:: Changes in release 3.22.26
-* 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.21:: Changes in release 3.22.21
-* News-3.22.20:: Changes in release 3.22.20
-* News-3.22.19:: Changes in release 3.22.19
-* News-3.22.18:: Changes in release 3.22.18
-* News-3.22.17:: Changes in release 3.22.17
-* News-3.22.16:: Changes in release 3.22.16
-* News-3.22.15:: Changes in release 3.22.15
-* News-3.22.14:: Changes in release 3.22.14
-* News-3.22.13:: Changes in release 3.22.13
-* News-3.22.12:: Changes in release 3.22.12
-* News-3.22.11:: Changes in release 3.22.11
-* News-3.22.10:: Changes in release 3.22.10
-* News-3.22.9:: Changes in release 3.22.9
-* News-3.22.8:: Changes in release 3.22.8
-* News-3.22.7:: Changes in release 3.22.7
-* News-3.22.6:: Changes in release 3.22.6
-* News-3.22.5:: Changes in release 3.22.5
-* News-3.22.4:: Changes in release 3.22.4
-* News-3.22.3:: Changes in release 3.22.3
-* News-3.22.2:: Changes in release 3.22.2
-* News-3.22.1:: Changes in release 3.22.1
-* News-3.22.0:: Changes in release 3.22.0
-@end menu
-
-@node News-3.22.35, News-3.22.34, News-3.22.x, News-3.22.x
-@appendixsubsec Changes in release 3.22.35
-@itemize @bullet
-@item
-Fixed problem with @code{STD()}.
-@item
-Merged changes from the newest @code{ISAM} library from 3.23.
-@item
-Fixed problem with @code{INSERT DELAYED}.
-@item
-Fixed a bug core dump when using a @code{LEFT JOIN}/@code{STRAIGHT_JOIN}
-on a table with only one row.
-@end itemize
-
-@node News-3.22.34, News-3.22.33, News-3.22.35, News-3.22.x
-@appendixsubsec Changes in release 3.22.34
-@itemize @bullet
-@item
-Fixed problem with @code{GROUP BY} on @code{TINYBLOB} columns; This
-caused bugzilla to not show rows in some queries.
-@item
-Had to do total recompile of the Windows binary version as VC++ didn't
-compile all relevant files for 3.22.33 :(
-@end itemize
-
-@node News-3.22.33, News-3.22.32, News-3.22.34, News-3.22.x
-@appendixsubsec Changes in release 3.22.33
-@itemize @bullet
-@item
-Fixed problems in windows when locking tables with @code{LOCK TABLE}
-@item
-Quicker kill of @code{SELECT DISTINCT} queries.
-@end itemize
-
-@node News-3.22.32, News-3.22.31, News-3.22.33, News-3.22.x
-@appendixsubsec Changes in release 3.22.32
-@itemize @bullet
-@item
-¿ôÃͤò timestamps ¤ËÊݸ¤¹¤ëºÝ¤ÎÌäÂê¤ò½¤Àµ¤·¤¿¡£
-@item
-Fix problem with timezones that have half hour offsets.
-@item
-@code{mysqlhotcopy} - ¥í¡¼¥«¥ë¤Î @strong{MySQL} ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥³¥Ô¡¼¤¹¤ë
-¥Ä¡¼¥ë. By Tim Bunce.
-@item
-@code{mysqlaccess} ¤¬¿·¤·¤¯¤Ê¤Ã¤¿. Thanks to Steve Harvey for this.
-@item
-Fixed security problem in the protocol regarding password checking.
-@item
-Fixed problem that affected queries that did arithmetic on @code{GROUP} functions.
-@item
-Fixed a bug in the @code{ISAM} code when deleting rows on tables with
-packed indexes.
-@end itemize
-
-@node News-3.22.31, News-3.22.30, News-3.22.32, News-3.22.x
-@appendixsubsec Changes in release 3.22.31
-
-@itemize @bullet
-@item
-Win32 ¤Ç¤Î¤¤¤¯¤Ä¤«¤Î¾®¤µ¤Ê¥Ð¥°½¤Àµ
-@end itemize
-
-
-@node News-3.22.30, News-3.22.29, News-3.22.31, News-3.22.x
-@appendixsubsec Changes in release 3.22.30
-
-@itemize @bullet
-@item
-Fixed optimizer problem on @code{SELECT} when using many overlapping indexes.
-@item
-Disabled floating point exceptions for FreeBSD to fix core dump when
-doing @code{SELECT floor(pow(2,63))}.
-@item
-Added print of default arguments options to all clients.
-@item
-@code{WITH GRANT OPTION} ¥ª¥×¥·¥ç¥ó¤ÎÃ×̿Ū¤Ê¥Ð¥°¤ò½¤Àµ.
-@item
-Fixed non-critical Y2K problem when writing short date to log files.
-@end itemize
-
-@node News-3.22.29, News-3.22.28, News-3.22.30, News-3.22.x
-@appendixsubsec Changes in release 3.22.29
-
-@itemize @bullet
-@item
-Upgraded the configure and include files to match the latest 3.23 version.
-This should increase portability and make it easier to build shared libraries.
-@item
-NetBSD ÍѤκǿ·¤Î mit-pthread ¤Î¥Ñ¥Ã¥Á¤òÄɲá£
-@item
-¥¿¥¤¥à¥¾¡¼¥ó < GMT - 11 ¤Î¾ì¹ç¤ÎÌäÂê¤ò½¤Àµ¡£
-@item
-@code{NISAM} Ãæ¤Î¥Ñ¥Ã¥¯¤µ¤ì¤¿¥­¡¼¤Îºï½ü»þ¤Î¥Ð¥°¤ò½¤Àµ¡£
-@item
-Fixed problem that could cause @strong{MySQL} to touch freed memory when
-doing very complicated @code{GROUP BY} queries.
-@item
-Fixed core dump if you got a crashed table where an @code{ENUM} field value
-was too big.
-@item
-Added @code{mysqlshutdown.exe} and @code{mysqlwatch.exe} to the Windows
-distribution.
-@item
-¥­¡¼¤ËÂФ·¤Æ @code{ORDER BY} ¤ò¹Ô¤Ã¤¿¤È¤­¤ÎÌäÂê¤ò½¤Àµ
-@item
-Fixed that @code{INSERT DELAYED} doesn't update timestamps that are given.
-
-@end itemize
-
-@node News-3.22.28, News-3.22.27, News-3.22.29, News-3.22.x
-@appendixsubsec Changes in release 3.22.28
-
-@itemize @bullet
-@item
-Fixed problem with @code{LEFT JOIN} and @code{COUNT()} on a column which
-was declared @code{NULL} + and it had a @code{DEFAULT} value.
-@item
-@code{CONCAT()} ¤ò¤¢¤ë @code{WHERE} Àá¤Ç»ÈÍѤ·¤¿ºÝ¤Ë¥³¥¢¡¦¥À¥ó¥×¤¹¤ëÌäÂê¤ò½¤Àµ¤·¤¿¡£
-@item
-Fixed problem with @code{AVG()} and @code{STD()} with @code{NULL} values.
-@end itemize
-
-@node News-3.22.27, News-3.22.26, News-3.22.28, News-3.22.x
-@appendixsubsec Changes in release 3.22.27
-
-@itemize @bullet
-@item
-@file{my_ctype.h} Ãæ¤Î¡¢Â¾¤Î¥­¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È¤Î¥×¥í¥È¥¿¥¤¥×¤ò½¤Àµ¡£
-@item
-configure Ãæ¤Î¡¢Âç¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¸¡½Ð¤¹¤ëÉôʬ¤ÎÌäÂê¤ò½¤Àµ¡£
-@item
-Â礭¤ÊBLOB¥Õ¥£¡¼¥ë¥É¤ò¥½¡¼¥È¤·¤¿¤È¤­¤Î¥Ð¥°¤ò½¤Àµ¡£
-@item
-@code{ROUND()} will now work on Win32.
-@end itemize
-
-@node News-3.22.26, News-3.22.25, News-3.22.27, News-3.22.x
-@appendixsubsec Changes in release 3.22.26
-
-@itemize @bullet
-@item
-¶õ¤Î @code{BLOB/TEXT} ¥Õ¥£¡¼¥ë¥É¤ò @code{REVERSE()} ¤·¤¿ºÝ¤Ë¥³¥¢¥À¥ó¥×¤·¤¿¤Î¤ò½¤Àµ¡£
-@item
-@code{/*! */} ¥Ð¡¼¥¸¥ç¥óÈÖ¹æ ¤ò³ÈÄ¥¤·¤¿
-@item
-Changed @code{SUBSTRING(text FROM pos)} to conform to ANSI SQL. (Before this
-construct returned the rightmost 'pos' characters).
-@item
-Fixed problem with @code{LOCK TABLES} combined with @code{DELETE FROM table}
-@item
-@code{INSERT ... SELECT} ¤¬ @code{SQL_BIG_TABLES} ¤ò»ÈÍѤ·¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ¡£
-@item
-@code{SET SQL_LOW_PRIORITY_UPDATES=#} ¤¬Æ°¤¤¤Æ¤Ê¤«¤Ã¤¿¡£
-@item
-µö²Ä¤ò @code{GRANT ... IDENTIFIED BY} ¤ÇÊѹ¹¤·¤Æ¤âľ¤Ë¥Ñ¥¹¥ï¡¼¥É¤¬
-È¿±Ç¤µ¤ì¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ¡£
-@item
-°Ê²¼¤ÎºÇŬ²½¤Î¥Ð¥°¤ò½¤Àµ¡§
-@code{SELECT * FROM table_name WHERE key_part1 >= const AND (key_part2 = const OR key_part2 = const)}
-@item
-Fixed bug in compression key handling in ISAM.
-@end itemize
-
-@node News-3.22.25, News-3.22.24, News-3.22.26, News-3.22.x
-@appendixsubsec Changes in release 3.22.25
-
-@itemize @bullet
-@item
-¥¤¥ó¥¹¥È¡¼¥ë»þ¤Î¾®¤µ¤ÊÌäÂê¤ò½¤Àµ¡£
-@end itemize
-
-@node News-3.22.24, News-3.22.23, News-3.22.25, News-3.22.x
-@appendixsubsec Changes in release 3.22.24
-
-@itemize @bullet
-@item
-@code{DATA} ¤ÏͽÌó¸ì¤Ç¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item
-¤¿¤Ã¤¿£±¥ì¥³¡¼¥É¤·¤«¤Ê¤¤¥Æ¡¼¥Ö¥ë¤ÎºÇŬ²½¤Î¥Ð¥°¤ò½¤Àµ¡£
-@item
-@code{LOCK TABLES table_name READ; FLUSH TABLES;} ¤ò»ÈÍѤ·¤¿ºÝ¤Î¥Ð¥°½¤Àµ¡£
-@item
-HP-UX ¤Î¥Ñ¥Ã¥Á¤òŬÍÑ¡£
-@item
-@code{isamchk} ¤¬ Win32 ¾å¤ÇÆ°¤¯¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
-@item
-Changed @file{configure} to not use big file handling on Linux as this
-crashes some RedHat 6.0 systems
-@end itemize
-
-@node News-3.22.23, News-3.22.22, News-3.22.24, News-3.22.x
-@appendixsubsec Changes in release 3.22.23
-
-@itemize @bullet
-@item
-Autoconf 2.13, Automake 1.4, @code{libtool} 1.3.2 ¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¡£
-@item
-Better support for SCO in @code{configure}.
-@item
-Added option @code{--defaults-file=###} to option file handling to force use
-of only one specific option file.
-@item
-@code{MySQL} 3.23 ¤Î¥­¡¼¥ï¡¼¥É¤ò̵»ë¤¹¤ë¤è¤¦¤Ë
-@code{CREATE} ¹½Ê¸¤ò³ÈÄ¥¤·¤¿¡£
-@item
-@code{LOCK TABLES} ¤Ç¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¤Ë @code{INSERT DELAYED} ¤ò
-»ÈÍѤ·¤¿ºÝ¤Î¡¢¥Ç¥Ã¥É¥í¥Ã¥¯¤ÎÌäÂê¤ò½¤Àµ¡£
-@item
-¾¤Î¥¹¥ì¥Ã¥É¤Ë¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¤Ë @code{DROP TABLE} ¤ò»ÈÍѤ·¤¿ºÝ¤Î
-ÌäÂê¤ò½¤Àµ¡£
-@item
-@code{GRANT/REVOKE} ¥³¥Þ¥ó¥É¤ò update log ¤ËÄɲá£
-@item
-¿·¤·¤¤¥¨¥é¡¼¹àÌܤò¸¡½Ð¤¹¤ë¤è¤¦¤Ë @code{isamchk} ¤ò½¤Àµ¡£
-@item
-@code{NATURAL LEFT JOIN} ¤Î¥Ð¥°¤ò½¤Àµ¡£
-@end itemize
-
-@node News-3.22.22, News-3.22.21, News-3.22.23, News-3.22.x
-@appendixsubsec Changes in release 3.22.22
-
-@itemize @bullet
-@item
-@code{mysql_init()} ¤Î¸å¤ËľÀÜ @code{mysql_close()} ¤òÆɤó¤À¤È¤­¤ÎÌäÂê¤ò½¤Àµ¡£
-(C API)
-@item
-Better client error message when you can't open socket.
-@item
-¿·¤·¤¤delayed_insert ¥¹¥ì¥Ã¥É¤¬ºîÀ®¤Ç¤­¤Ê¤«¤Ã¤¿¤È¤­¤Î
- @code{delayed_insert_thread} ¿ô¤Îɽ¼¨¤ò½¤Àµ¡£
-@item
- @code{CONCAT()} ¤Î°ú¿ô¤ò¿¤¯¤·¤¿¾ì¹ç¤Î¥Ð¥°¤ò½¤Àµ¡£
-@item
-DEC 3.2 ¤È SCO ¤Î¥Ñ¥Ã¥Á¤ÎÄɲá£
-@item
-NT ¤Î¥µ¡¼¥Ó¥¹¤È¤·¤Æ @strong{MySQL} ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿ºÝ¤Î
-¥Ñ¥¹¤ÎÌäÂê¤ò½¤Àµ¡£
-@item
-@strong{MySQL}-Win32 ¤Ï VC++ 6.0 ¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
-(VC++ 5.0 ¤Î¤«¤ï¤ê¤Ë)
-@item
-@strong{MySQL}-Win32 ¤Î¿·¤·¤¤¥¤¥ó¥¹¥È¡¼¥é¡¼
-@end itemize
-
-@node News-3.22.21, News-3.22.20, News-3.22.22, News-3.22.x
-@appendixsubsec Changes in release 3.22.21
-
-@itemize @bullet
-@item
-¥Æ¡¼¥Ö¥ë¤¬Â¾¤Î¥¹¥ì¥Ã¥É¤Ë¥í¥Ã¥¯¤µ¤ì¤¿¤È¤­¤Î¡¢@code{DELETE FROM TABLE} ¤Î
-ÌäÂê¤ò½¤Àµ¡£
-@item
-Fixed bug in @code{LEFT JOIN} involving empty tables.
-@item
-@code{mysql.db} ¥Õ¥£¡¼¥ë¥É¤ò @code{char(32)} ¤«¤é @code{char(60)} ¤ËÊѹ¹¡£
-@item
-@code{MODIFY} ¤È @code{DELAYED} ¤ÏͽÌó¸ì¤Ç¤Ê¤¯¤Ê¤Ã¤¿¡£
-@item
- @code{TIME} ¥Õ¥£¡¼¥ë¥É¤ËÆü¤Ë¤Á¤òÆþ¤ì¤è¤¦¤È¤·¤¿¤È¤­¤Î¥Ð¥°¤ò½¤Àµ¡£
-@item
-@code{GRANT} ¥³¥Þ¥ó¥É¤Ç¿·¤·¤¤ @strong{MySQL} ¥æ¡¼¥¶¡¼¤òÅÐÏ¿¤·¤¿¸å¤Ë
-@code{Host '..' is not allowed to connect to this MySQL server} ¤È¤Ê¤ëÌäÂê¤ò½¤Àµ¡£
-@item
-Linux ¾å¤Ç @code{TCP_NODELAY} ¤ò»ÈÍѤ¹¤ë¤è¤¦¤ËÊѹ¹¡£ (¤³¤ì¤Ï TCP/IP Àܳ¤ò®¤¯¤·¤Þ¤¹)
-@end itemize
-
-@node News-3.22.20, News-3.22.19, News-3.22.21, News-3.22.x
-@appendixsubsec Changes in release 3.22.20
-
-@itemize @bullet
-@item
-Fixed @code{STD()} for big tables when result should be 0.
-@item
-¤¤¤¯¤Ä¤«¤ÎOS ¤Çupdate log ¤¬²þ¹Ô¤òÆþ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ¡£
-@item
-@code{INSERT DELAYED} had some garbage at end in the update log.
-@end itemize
-
-@node News-3.22.19, News-3.22.18, News-3.22.20, News-3.22.x
-@appendixsubsec Changes in release 3.22.19
-
-@itemize @bullet
-@item
-@code{mysql_install_db} ¤Î¥Ð¥°½¤Àµ¡£ (from 3.22.17).
-@item
-¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥­¥ã¥Ã¥·¥å¤ò 8M ¤ËÊѹ¹¡£
-@item
-@code{BLOB} ¥Õ¥£¡¼¥ë¥É¤Ç°ì»þ¥Æ¡¼¥Ö¥ë¤¬É¬ÍפȤµ¤ì¤ë¥¯¥¨¥ê¤ÎÌäÂê¤ò½¤Àµ¡£
-@end itemize
-
-@node News-3.22.18, News-3.22.17, News-3.22.19, News-3.22.x
-@appendixsubsec Changes in release 3.22.18
-
-@itemize @bullet
-@item
-Linux¾å¤Ç¡¢3.22.17¤ÎÃ×̿Ū¤ÊÌäÂê¤Î½¤Àµ¡¨ @code{shutdown} ¸å¡¢Á´¤Æ¤Î
-¥¹¥ì¥Ã¥É¤¬³Î¼Â¤Ë»à¤Ê¤Ê¤«¤Ã¤¿¡£
-@item
-@code{-O flush-time=#} ¥ª¥×¥·¥ç¥ó¤ò @code{mysqld} ¤ËÄɲᣠThis is mostly
-useful on Win32 and tells how often @strong{MySQL} should close all
-unused tables and flush all updated tables to disk.
-@item
-@code{VARCHAR} ¥Õ¥£¡¼¥ë¥É¤È @code{CHAR} ¤òÈæ³Ó¤·¤¿ºÝ¤Ë¥­¡¼¤ò¸ú²ÌŪ¤Ë
-»ÈÍѤ·¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ¡£
-@end itemize
-
-@node News-3.22.17, News-3.22.16, News-3.22.18, News-3.22.x
-@appendixsubsec Changes in release 3.22.17
-
-@itemize @bullet
-@item
-@code{--log-update} ¤ò»ÈÍѤ·¤¿¤È¤­¤È¥Ç¥Õ¥©¥ë¥È¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»ØÄꤷ¤Ê¤¤¤Ç
-Àܳ¤·¤¿¤È¤­¤Î¥³¥¢¥À¥ó¥×¤ò½¤Àµ¤·¤¿¡£
-@item
-¤¤¤¯¤Ä¤«¤Î @code{configure} ¤È°Ü¿¢À­¤ÎÌäÂê¤ò½¤Àµ¤·¤¿¡£
-@item
-Using @code{LEFT JOIN} on tables that had circular dependencies caused
-@code{mysqld} to hang forever.
-@end itemize
-
-@node News-3.22.16, News-3.22.15, News-3.22.17, News-3.22.x
-@appendixsubsec Changes in release 3.22.16
-
-@itemize @bullet
-@item
-@code{mysqladmin processlist} could kill the server if a new user logged in.
-@item
-@code{DELETE FROM table_name WHERE key_column=column_name} ¤¬
-¥Þ¥Ã¥Á¤¹¤ë¹Ô¤ò1¹Ô¤â¸«¤Ä¤±¤ì¤Ê¤¤¤Î¤ò½¤Àµ
-@item
-@code{DATE_ADD(column,...)} ¤¬Æ°¤«¤Ê¤¤¤Î¤ò½¤Àµ
-@item
-@code{INSERT DELAYED} could deadlock with status 'upgrading lock'
-@item
-2ʸ»ú°Ê¾å¤Î¥½¥ë¥È¤¬»ÈÍѤǤ­¤ë¤è¤¦¤Ë¡¢@code{ENCRYPT()} ¤ò³ÈÄ¥¡£
-@item
-@code{longlong2str} ¤Ï°ÊÁ°¤è¤ê¤«¤Ê¤ê®¤¯¤Ê¤Ã¤¿¡£@code{Intel x86} ÍѤË
-¤³¤Î¥³¡¼¥É¤ÏºÇŬ²½¤µ¤ì¤¿¥¢¥»¥ó¥Ö¥é¤Ç½ñ¤­Ä¾¤·¤¿
-@item
-@code{ALTER TABLE} ¤Ë @code{MODIFY} ¥­¡¼¥ï¡¼¥É¤òÄɲÃ
-@end itemize
-
-@node News-3.22.15, News-3.22.14, News-3.22.16, News-3.22.x
-@appendixsubsec Changes in release 3.22.15
-
-@itemize @bullet
-@item
-@code{GRANT} ¤ò @code{IDENTIFIED BY} ¤È¶¦¤Ë»ÈÍѤ·¤¿ºÝ¡¢¸¢¸Â¾ðÊ󤬥եé¥Ã¥·¥å¤µ¤ì¤ë¤Þ¤Ç
-Í­¸ú¤Ë¤Ê¤é¤Ê¤¤
-@item
-Name change of some variables in @code{SHOW STATUS}.
-@item
-Fixed problem with @code{ORDER BY} with 'only index' optimization when there
-were multiple key definitions for a used column.
-@item
-@code{DATE} and @code{DATETIME} columns are now up to 5 times faster than
-before.
-@item
-@code{INSERT DELAYED} can be used to let the client do other things while the
-server inserts rows into a table.
-@item
-¤â¤·2¤Ä¤Î°ã¤¦¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Æ¡¼¥Ö¥ë¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢
-@code{LEFT JOIN USING (col1,col2)} ¤¬Æ°ºî¤·¤Ê¤«¤Ã¤¿
-@item
-@code{LOAD DATA LOCAL INFILE} ¤¬¥Õ¥¡¥¤¥ë¤¬¤Ê¤¤¤¿¤á¤ÎÍýͳ¤Ç UNIX ¤Ç¤ÏÆ°ºî¤·¤Ê¤«¤Ã¤¿
-@item
-¤È¤Æ¤âû¤¤¹Ô(<4¥Ð¥¤¥È)¤·¤«¤Ê¤¤ @code{VARCHAR}/@code{BLOB} ¤Ç¤ÎÌäÂê¤Î½¤Àµ¡¨
-error 127 ¤¬¤³¤Î¹Ô¤ò¾Ãµî¤¹¤ë¾ì¹ç¤Ëµ¯¤­¤ë²ÄǽÀ­¤¬¤¢¤Ã¤¿
-@item
-Updating @code{BLOB/TEXT} through formulas didn't work for short (< 256 char)
-strings.
-@item
-¿·¤·¤¤¥Û¥¹¥È¾å¤Ç @code{GRANT} ¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢¤½¤Î¥Û¥¹¥È¤«¤é¤ÎºÇ½é¤Î¥³¥Í¥¯¥·¥ç¥ó¤Ç
-@code{mysqld} ¤¬»à¤Ì²ÄǽÀ­¤¬¤¢¤Ã¤¿
-@item
-¥¨¥¤¥ê¥¢¥¹Ì¾¤ÈƱ¤¸¹àÌÜ̾¤ò @code{ORDER BY} ¤Ç»ÈÍѤ¹¤ë¾ì¹ç¤Î¥Ð¥°¤ò½¤Àµ
-name as an alias.
-@item
-Added @code{BENCHMARK(loop_count,expression)} function to time expressions.
-@end itemize
-
-@node News-3.22.14, News-3.22.13, News-3.22.15, News-3.22.x
-@appendixsubsec Changes in release 3.22.14
-
-@itemize @bullet
-@item
-¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤«¤é¤Îµ¯Æ°¤Î¤¿¤á¤Ë¡¢@code{mysqld} ¤Î°ú¿ô¤¬¤Ê¤¤¾ì¹ç¤òµö²Ä¤·¤¿¡£
-@item
-Setting a @code{TIMESTAMP} column to @code{NULL} didn't record the timestamp
-value in the update log.
-@item
-Fixed lock handler bug when one did
-@code{INSERT INTO TABLE ... SELECT ... GROUP BY}.
-@item
-Added a patch for @code{localtime_r()} on Win32 so that it will not crash
-anymore if your date is > 2039, but instead will return a time of all zero.
-@item
-Names for
-user-defined functions are no longer case sensitive.
-@item
-Added escape of @code{^Z} (ASCII 26) to @code{\Z} as @code{^Z} doesn't
-work with pipes on Win32.
-@item
-¾­Íè¤Î @strong{MySQL} ¥ê¥ê¡¼¥¹¤Î¤¿¤á¤Ë¡¢@code{mysql_fix_privileges} ¤Ï¡¢
-UDF ¤Î¥µ¥Ý¡¼¥È¤Î¤¿¤á¤Ë¡¢¿·¤·¤¤¹àÌܤò @code{mysql.func} ¤ËÄɲ乤롣
-( type enum ('function','aggregate') NOT NULL ¤¬Äɲ䵤줿 )
-@end itemize
-
-@node News-3.22.13, News-3.22.12, News-3.22.14, News-3.22.x
-@appendixsubsec Changes in release 3.22.13
-
-@itemize @bullet
-@item
-Saving @code{NOW()}, @code{CURDATE()} or @code{CURTIME()} directly in a
-column didn't work.
-@item
-@code{WHERE} À᤬̵¤¤¾ì¹ç¡¢@code{SELECT COUNT(*) ... LEFT JOIN ...} ¤¬Æ°¤«¤Ê¤«¤Ã¤¿
-@item
-UnixWare 7.0.x ¤Ç @strong{MySQL} ¤ò¥³¥ó¥Õ¥£¥°¤Ç¤­¤ë¤è¤¦¤Ë @file{config.guess} ¤ò¹¹¿·
-UnixWare 7.0.x.
-@item
-Changed the implementation of @code{pthread_cond()} on the Win32 version.
-@code{get_lock()} now correctly times out on Win32!
-@end itemize
-
-@node News-3.22.12, News-3.22.11, News-3.22.13, News-3.22.x
-@appendixsubsec Changes in release 3.22.12
-
-@itemize @bullet
-@item
-@code{WHERE} Àá¤Ç @code{DATE_ADD()} ¤È @code{DATE_SUB()} ¤ò»ÈÍѤ·¤¿ºÝ¤ÎÌäÂê¤ò½¤Àµ
-@item
-@code{GRANT ... TO user IDENTIFIED BY 'password'} ¹½Ê¸¤Ç¥Ñ¥¹¥ï¡¼¥É¤ò¥»¥Ã¥È¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿
-@item
-¿¤¯¤Î¥Æ¡¼¥Ö¥ë¤ò @code{SELECT} ¤·¤Æ @code{GRANT} ¤ò³Îǧ¤¹¤ëºÝ¤Î¥Ð¥°¤ò½¤Àµ
-@item
-RPM ÇÛÉۤǤΠ@code{mysql_fix_privilege_tables} ¥Õ¥¡¥¤¥ë¤ÎÄɲá£
-¤³¤ì¤Ï¥¯¥é¥¤¥¢¥ó¥È¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤ó¤À¤¿¤á¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ïµ¯Æ°¤µ¤ì¤Ê¤¤¡£
-@item
-@code{SQL_SMALL_RESULT} ¥ª¥×¥·¥ç¥ó¤ò @code{SELECT} ¤ËÄɲá£
-¤³¤ì¤Ï¶¯À©Åª¤Ë®¤¤°ì»þ¥Æ¡¼¥Ö¥ë¤ò»ÈÍѤ¹¤ë¡£
-·ë²Ì¤¬¾®¤µ¤¤¤È¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë»ÈÍѤ¹¤ë¤ÈÍ­¸ú¡£
-@item
-¾®¿ôÅÀ¤ò¤Ä¤±¤Ê¤¯¤Æ¤â¼Â¿ô¤¬»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤·¤¿
-@item
-@code{DATE_ADD}/@code{DATE_SUB()} ¤Î·ë²Ì¡¢½½Ê¬¤ÊÆü¿ô¤òÆÀ¤é¤ì¤Ê¤¤¾ì¹ç¡¢
-Æü¿ô¤ò·î¤ÎºÇÂçÆü¤Ë¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£
-@item
-@code{GRANT} ¤¬¥«¥é¥à¤ò¥±¡¼¥¹Èó°Í¸¤ÇÈæ³Ó¤·¤Æ¤¤¤¿¤Î¤ò½¤Àµ
-@item
-¤¢¤ë¹½Ê¸¤ÎÁȤ߹ç¤ï¤»¤Ç @code{ALTER TABLE} ¤¬ core ¤ò¤Ï¤¯¥Ð¥°¤¬
- @file{sql_list.h} ¤Ë¤¢¤Ã¤¿¤Î¤Ç¤³¤ì¤ò½¤Àµ
-@item
-The hostname in @code{user@@hostname} can now include @samp{.} and @samp{-}
-without quotes in the context of the @code{GRANT}, @code{REVOKE} and
-@code{SET PASSWORD FOR ...} statements.
-@item
-Â礭¤Ê°ì»þ¥Õ¥¡¥¤¥ë¤òɬÍפȤ¹¤ë¥Æ¡¼¥Ö¥ë¤Ø¤Î @code{isamchk} ¤ò½¤Àµ
-@end itemize
-
-@node News-3.22.11, News-3.22.10, News-3.22.12, News-3.22.x
-@appendixsubsec Changes in release 3.22.11
-
-@itemize @bullet
-@item
-@strong{½ÅÍ×}: 3.22.11¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¾ì¹ç¡¢É¬¤º @code{mysql_fix_privilege_tables} ¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡ª
-¤³¤ì¤Ï¿·¤·¤¤ @code{GRANT} ¥·¥¹¥Æ¥à¤Î¤¿¤á¤Ë¼Â¹Ô¤·¤Þ¤¹¡£
-¤â¤·¤³¤ì¤ò¹Ô¤ï¤Ê¤±¤ì¤Ð¡¢@code{ALTER TABLE} ¤ä @code{CREATE INDEX}, @code{DROP INDEX} ¤ò
-¼Â¹Ô¤·¤è¤¦¤È¤¹¤ë¤È @code{Access denied} ¤Ë¤Ê¤ê¤Þ¤¹¡£
-@item
-¥Æ¡¼¥Ö¥ë¡¢¥«¥é¥à¤´¤È¤Ë¥æ¡¼¥¶¡¼¤Î¥¢¥¯¥»¥¹¤ËÂФ·¤Æµö²Ä¤äµñÈݤòÀßÄê¤Ç¤­¤Þ¤¹
-@item
-@code{USER()} ¤ò @code{user@@host} ¤òÊÖ¤¹¤è¤¦¤ËÊѹ¹
-@item
-¾¤Î¥æ¡¼¥¶¡¼¤Î @code{PASSWORD} ¤ò¥»¥Ã¥È¤¹¤ë¹½Ê¸¤òÊѹ¹
-@item
-¿·¥³¥Þ¥ó¥É¡§@code{FLUSH STATUS} ¤Ï¤Û¤È¤ó¤É¤Î¥¹¥Æ¡¼¥¿¥¹ÊÑ¿ô¤ò¥¼¥í¤Ë¥»¥Ã¥È¤·¤Þ¤¹
-@item
-¿·¥¹¥Æ¡¼¥¿¥¹ÊÑ¿ô¡§ @code{aborted_threads}, @code{aborted_connects}.
-@item
-¿·¥ª¥×¥·¥ç¥ó¡§ @code{connection_timeout}
-@item
-¥½¡¼¥È¤Î¥µ¥Ý¡¼¥È (by Pruet Boonma
-@email{pruet@@ds90.intanon.nectec.or.th}).
-@item
-¥¹¥í¥Ð¥­¥¢¸ì¤ÈÆüËܸì¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸
-@item
-Configuration and portability fixes.
-@item
-Added option @code{SET SQL_WARNINGS=1} to get a warning count also for simple
-inserts.
-@item
-FreeBSD ¾å¤Ç¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤¿¤á¤Ë¡¢@code{SIGQUIT} ¤Î¤«¤ï¤ê¤Ë @code{SIGTERM} ¤ò»ÈÍѤ·¤Þ¤¹
-@item
-@code{mysql} ¤Ë ¥ª¥×¥·¥ç¥ó @code{\G} (print vertically) ÄɲÃ
-@item
-@code{SELECT HIGH_PRIORITY} ... killed @code{mysqld}.
-@item
-@code{IS NULL} on a @code{AUTO_INCREMENT} column in a @code{LEFT JOIN} didn't
-work as expected.
-@item
-New function @code{MAKE_SET()}.
-@end itemize
-
-@node News-3.22.10, News-3.22.9, News-3.22.11, News-3.22.x
-@appendixsubsec Changes in release 3.22.10
-
-@itemize @bullet
-@item
-mysql_install_db ¤Ï @strong{MySQL} ¥µ¡¼¥Ð¡¼¤òµ¯Æ°¤·¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿!
-mysql_install_db ¤ò¹Ô¤Ã¤¿¸å¤Ë¡¢@code{safe_mysqld} ¤Ç mysqld ¤ò³«»Ï¤µ¤»¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤·¤«¤· @strong{MySQL} ¤Î RPM ¥Ñ¥Ã¥±¡¼¥¸¤Ï¥µ¡¼¥Ð¡¼¤ò¤¿¤Á¤¢¤²¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
-@item
-@code{--bootstrap} ¤ò @code{mysqld} ¤ËÄɲá£@code{mysql_install_db} ¤Ï¤³¤ì¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤³¤Î°ú¿ô¤Ï RPM ¥Ñ¥Ã¥±¡¼¥¸¤Ç @strong{MySQL} ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò´Êά²½¤·¤Þ¤¹¡£
-@item
-@code{+, - (sign and minus), *, /, %, ABS() and MOD()} ¤Î¥³¡¼¥É¤ò½¤Àµ¡£
-@code{BIGINT}¤Ç»ÈÍѤ·¤¿¾ì¹ç¤Î´í¸±À­¤ò²óÈò¤·¤Þ¤·¤¿(64 bit safe).
-@item
-@code{ALTER TABLE} ¤¬ mysqld ¤ò¥¯¥é¥Ã¥·¥å¤µ¤»¤ë¥Ð¥°¤ò½¤Àµ¡£
-@item
-½ÅÊ£¤·¤¿¥­¡¼·ë²Ì¤òÆÀ¤¿¾ì¹ç¡¢@strong{MySQL}¤Ï¾ï¤Ë¤½¤Î»Ý¤òÊó¹ð¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-(°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢@code{INSERT} ¤Î»þ¤Ë¤·¤«¥á¥Ã¥»¡¼¥¸¤¬½Ð¤Þ¤»¤ó¤Ç¤·¤¿)
-@item
-New syntax: @code{INSERT INTO table_name SET column=value,column=value,...}
-@item
-@file{.err} ¥í¥°¥Õ¥¡¥¤¥ë¤Î¥í¥°µ­Ï¿¤Ë¡¢time stamp ¤ò¤Ä¤±¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
-@item
-@code{MYSQL_INIT_COMMAND} ¥ª¥×¥·¥ç¥ó¤ò @code{mysql_options()} ¤ËÄɲá£
-(ÀܳÍ׵᤹¤ë¾ì¹ç¤Ë»ÈÍѤǤ­¤ë)
-@item
-@code{MYSQL_READ_DEFAULT_FILE} ¤È @code{MYSQL_READ_DEFAULT_GROUP} ¤ò
- @code{mysql_options()}¤ËÄɲá£
-@strong{MySQL} ¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤«¤é°Ê²¼¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤òÆɤ߼è¤ë¡§
-@code{port},
-@code{socket}, @code{compress}, @code{password}, @code{pipe}, @code{timeout},
-@code{user}, @code{init-command}, @code{host} and @code{database}
- (ÌõÃí)¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Î¥Ç¥Õ¥©¥ë¥È¤Ï /etc/my.cnf , install_directory/share/mysql/my.cnf
-@item
-UDF ¹½Ê¸¤Ë @code{maybe_null} ¤òÄɲÃ
-@item
-Added option @code{IGNORE} to @code{INSERT} statemants with many rows.
-@item
-koi8 ¥­¥ã¥é¥¯¥¿¡¼¤ò¥½¡¼¥È¤¹¤ë¾ì¹ç¤ÎÌäÂê¤ò½¤Àµ¡£
-koi8¤ò»ÈÍѤ·¤Æ¤¤¤ë¥æ¡¼¥¶¡¼¤Ï¡¢@code{CHAR} ¤ä @code{VARCHAR} ¥«¥é¥à¤ò
-¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¤·¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ¡¢@strong{ɬ¤º} @code{isamchk -rq} ¤ò¼Â¹Ô¤¹¤ë¤³¤È¡£
-@item
-¿·µ¬¥¹¥¯¥ê¥×¥È @code{mysql_setpermission} (Luuk de Boer ºî)
-¤³¤ì¤Ï»ØÄꤵ¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ·¤Æ¥¢¥¯¥»¥¹¤òµö²Ä¤¹¤ë¥æ¡¼¥¶¡¼¤ò
-´Êñ¤ËÅÐÏ¿¤·¤Æ¤¯¤ì¤Þ¤¹¡£
-@item
-Allow use of hexadecimal strings (0x...) when specifying a constant string
-(like in the column separators with @code{LOAD DATA INFILE}).
-@item
-OS/2 ¤Ë°Ü¿¢ (thanks to Antony T. Curtis @email{antony.curtis@@olcs.net}).
-@item
-@code{SHOW STATUS} ¤Ç¤ÎÊÑ¿ô¤òÁý¤ä¤·¤Þ¤·¤¿¡£¤Þ¤¿¡¢@code{SHOW VARIABLES} ¤Î
-¤è¤¦¤Ê½ÐÎÏ¥Õ¥©¡¼¥Þ¥Ã¥È¤ËÊѹ¹¤·¤Þ¤·¤¿¡£
-@item
-@code{extended-status} ¥³¥Þ¥ó¥É¤ò @code{mysqladmin} ¤ËÄɲá£
-¤³¤ì¤Ï¿·¤·¤¤¥¹¥Æ¥¤¥¿¥¹ÊÑ¿ô¤òɽ¼¨¤·¤Þ¤¹
-@end itemize
-
-@node News-3.22.9, News-3.22.8, News-3.22.10, News-3.22.x
-@appendixsubsec Changes in release 3.22.9
-
-@itemize @bullet
-@item
-@code{SET SQL_LOG_UPDATE=0} caused a lockup of the server.
-@item
-New SQL command: @code{FLUSH [ TABLES | HOSTS | LOGS | PRIVILEGES ] [, ...]}
-@item
-New SQL command: @code{KILL} @code{thread_id} .
-@item
-AIX, DEC OSF1 4.x ¤Ç @strong{MySQL} ¤ò´Êñ¤Ë¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤ë¤è¤¦¤Ë
-include ¥Õ¥¡¥¤¥ë¤òÊѹ¹¡£
-@item
-@code{ALTER TABLE} ¤ò»ÈÍѤ·¤Æ @code{INT} ¤«¤é¥µ¥¤¥º¤Î¾®¤µ¤¤ @code{CHAR()} ¤Ë
-Êѹ¹¤¹¤ë¾ì¹ç¤Ë¤ª¤­¤Æ¤¤¤¿ÉÔ¶ñ¹ç¤ò½¤Àµ¡£
-@item
-@code{SELECT HIGH_PRIORITY} Äɲá£
-@code{SELECT} ¤Ë¤ª¤¤¤Æ¡¢¤¿¤È¤¨Â¾¤Î @code{SELECT} ¤òÂԤäƤ¤¤ë¥¹¥ì¥Ã¥É¤¬¤¢¤Ã¤¿¤È¤·¤Æ¤â¡¢
-@code{WRITE LOCK} ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@item
-Moved wild_compare to string class to be able to use @code{LIKE} on
-@code{BLOB}/@code{TEXT} columns with \0.
-@item
-Added @code{ESCAPE} option to @code{LIKE}
-@item
-@code{mysqladmin debug} ¤Ë¤ª¤¤¤Æ¡¢¤è¤ê¿¤¯¤Î½ÐÎϤ¬ÆÀ¤é¤ì¤ë¤è¤¦¤Ë¤·¤¿¡£
-@item
-Win32 ¤Ë¤ª¤¤¤Æ¡¢@code{--flush} ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æ @code{mysqld} ¤òµ¯Æ°¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-¤³¤ì¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤¬½ª¤ï¤Ã¤¿¸å¤Ç¤¹¤Ù¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ò¥Ç¥£¥¹¥¯¤Ë¥Õ¥é¥Ã¥·¥å¤·¤Þ¤¹¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê NT/Win98 ¾å¤Ç¤¹¤´¤¯°ÂÁ´¤ËÆ°¤«¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢
-@strong{¤È¤Æ¤â} ÃÙ¤¯¤Ê¤ê¤Þ¤¹¡£
-@end itemize
-
-@node News-3.22.8, News-3.22.7, News-3.22.9, News-3.22.x
-@appendixsubsec Changes in release 3.22.8
-
-@itemize @bullet
-@item
-Czech character sets should now work much better. You must also install
-@uref{ftp://www.mysql.com/pub/mysql/Downloads/Patches/czech-3.22.8-patch}.
-This patch should also be installed if you are using a character set with
-uses @code{my_strcoll()}! The patch should always be safe to install (for any system),
-but as this patch changes ISAM internals it's not yet in the default
-distribution.
-@item
-@code{DATE_ADD()} and @code{DATE_SUB()} didn't work with group functions.
-@item
-@code{mysql} will now also try to reconnect on @code{USE DATABASE} commands.
-@item
-Fix problem with @code{ORDER BY} and @code{LEFT JOIN} and @code{const} tables.
-@item
-Fixed problem with @code{ORDER BY} if the first @code{ORDER BY} column
-was a key and the rest of the @code{ORDER BY} columns wasn't part of the key.
-@item
-Fixed a big problem with @code{OPTIMIZE TABLE}.
-@item
-@strong{MySQL} clients on NT will now by default first try to connect with
-named pipes and after this with TCP/IP.
-@item
-Fixed a problem with @code{DROP TABLE} and @code{mysqladmin shutdown} on Win32
-(a fatal bug from 3.22.6).
-@item
-Fixed problems with @code{TIME columns} and negative strings.
-@item
-Added an extra thread signal loop on shutdown to avoid some error messages
-from the client.
-@item
-@strong{MySQL} now uses the next available number as extension for the update
-log file.
-@item
-Added patches for UNIXWARE 7.
-@end itemize
-
-@node News-3.22.7, News-3.22.6, News-3.22.8, News-3.22.x
-@appendixsubsec Changes in release 3.22.7
-
-@itemize @bullet
-@item
-Added @code{LIMIT} clause for the @code{DELETE} statement.
-@item
-You can now use the @code{/*! ... */} syntax to hide @strong{MySQL}-specific
-keywords when you write portable code. @strong{MySQL} will parse the code
-inside the comments as if the surrounding @code{/*!} and @code{*/} comment
-characters didn't exist.
-@item
-@code{OPTIMIZE TABLE tbl_name} can now be used to reclaim disk space
-after many deletes. Currently, this uses @code{ALTER TABLE} to re-generate
-the table, but in the future it will use an integrated @code{isamchk}
-for more speed.
-@item
-Upgraded @code{libtool} to get the configure more portable.
-@item
-Fixed slow @code{UPDATE} and @code{DELETE} operations when using
-@code{DATETIME} or @code{DATE} keys.
-@item
-Changed optimizer to make it better at deciding when to do a full join
-and when using keys.
-@item
-You can now use @code{mysqladmin proc} to display information about your own
-threads. Only users with the @strong{Process_priv} privilege can get
-information about all threads.
-@item
-Added handling of formats @code{YYMMDD}, @code{YYYYMMDD},
-@code{YYMMDDHHMMSS} for numbers when using @code{DATETIME} and
-@code{TIMESTAMP} types. (Formerly these formats only worked with strings.)
-@item
-Added connect option @code{CLIENT_IGNORE_SPACE} to allow use of spaces
-after function names and before @samp{(} (Powerbuilder requires this).
-This will make all function names reserved words.
-@item
-Added the @code{--log-long-format} option to @code{mysqld} to enable timestamps
-and INSERT_ID's in the update log.
-@item
-Added @code{--where} option to @code{mysqldump} (patch by Jim Faucette).
-@item
-The lexical analyzer now uses ``perfect hashing'' for faster parsing of SQL
-statements.
-@end itemize
-
-@node News-3.22.6, News-3.22.5, News-3.22.7, News-3.22.x
-@appendixsubsec Changes in release 3.22.6
-
-@itemize @bullet
-@item
-Faster @code{mysqldump}.
-@item
-For the @code{LOAD DATA INFILE} statement, you can now use the new @code{LOCAL}
-keyword to read the file from the client. @code{mysqlimport} will
-automatically use @code{LOCAL} when importing with the TCP/IP protocol.
-@item
-Fixed small optimize problem when updating keys.
-@item
-Changed makefiles to support shared libraries.
-@item
-@strong{MySQL}-NT can now use named pipes, which means that you can now use
-@strong{MySQL}-NT without having to install TCP/IP.
-@end itemize
-
-@node News-3.22.5, News-3.22.4, News-3.22.6, News-3.22.x
-@appendixsubsec Changes in release 3.22.5
-
-@itemize @bullet
-@item
-All table lock handing is changed to avoid some very subtle
-deadlocks when using @code{DROP TABLE}, @code{ALTER TABLE}, @code{DELETE FROM
-TABLE} and @code{mysqladmin flush-tables} under heavy usage.
-Changed locking code to get better handling of locks of different types.
-@item
-Updated @code{DBI} to 1.00 and @code{DBD} to 1.2.0.
-@item
-Added a check that the error message file contains error messages suitable for
-the current version of @code{mysqld}. (To avoid errors if you accidentally
-try to use an old error message file.)
-@item
-All count structures in the client (@code{affected_rows()},
-@code{insert_id()},...) are now of type @code{BIGINT} to allow 64-bit values
-to be used.
-This required a minor change in the @strong{MySQL} protocol which should affect
-only old clients when using tables with @code{AUTO_INCREMENT} values > 24M.
-@item
-The return type of @code{mysql_fetch_lengths()} has changed from @code{uint *}
-to @code{ulong *}. This may give a warning for old clients but should work
-on most machines.
-@item
-Change @code{mysys} and @code{dbug} libraries to allocate all thread variables
-in one struct. This makes it easier to make a threaded @file{libmysql.dll}
-library.
-@item
-Use the result from @code{gethostname()} (instead of @code{uname()}) when
-constructing @file{.pid} file names.
-@item
-New better compressed server/client protocol.
-@item
-@code{COUNT()}, @code{STD()} and @code{AVG()} are extended to handle more than
-4G rows.
-@item
-You can now store values in the range @code{-838:59:59} <= x <=
-@code{838:59:59} in a @code{TIME} column.
-@item
-@strong{WARNING: INCOMPATIBLE CHANGE!!}
-If you set a @code{TIME} column to too short a value, @strong{MySQL} now
-assumes the value is given as: @code{[[[D ]HH:]MM:]SS} instead of
-@code{HH[:MM[:SS]]}.
-@item
-@code{TIME_TO_SEC()} and @code{SEC_TO_TIME()} can now handle negative times
-and hours up to 32767.
-@item
-Added new option
-@code{SET OPTION SQL_LOG_UPDATE=@{0|1@}} to allow users with
-the @strong{process} privilege to bypass the update log.
-(Modified patch from Sergey A Mukhin @email{violet@@rosnet.net}.)
-@item
-Fixed fatal bug in @code{LPAD()}.
-@item
-Initialize line buffer in @file{mysql.cc} to make @code{BLOB} reading from
-pipes safer.
-@item
-Added @code{-O max_connect_errors=#} option to @code{mysqld}.
-Connect errors are now reset for each correct connection.
-@item
-Increased the default value of @code{max_allowed_packet} to @code{1M} in
-@code{mysqld}.
-@item
-Added @code{--low-priority-updates} option to @code{mysqld}, to give
-table-modifying operations (@code{INSERT}, @code{REPLACE}, @code{UPDATE},
-@code{DELETE}) lower priority than retrievals. You can now use
-@code{@{INSERT | REPLACE | UPDATE | DELETE@} LOW_PRIORITY ...} You can
-also use @code{SET OPTION SQL_LOW_PRIORITY_UPDATES=@{0|1@}} to change
-the priority for one thread. One side effect is that @code{LOW_PRIORITY}
-is now a reserved word. :(
-@item
-Add support for @code{INSERT INTO table ... VALUES(...),(...),(...)},
-to allow inserting multiple rows with a single statement.
-@item
-@code{INSERT INTO tbl_name} is now also cached when used with @code{LOCK TABLES}.
-(Previously only @code{INSERT ... SELECT} and @code{LOAD DATA INFILE} were
-cached.)
-@item
-Allow @code{GROUP BY} functions with @code{HAVING}:
-@example
-mysql> SELECT col FROM table GROUP BY col HAVING COUNT(*)>0;
-@end example
-@item
-@code{mysqld} will now ignore trailing @samp{;} characters in queries. This
-is to make it easier to migrate from some other SQL servers that require the
-trailing @samp{;}.
-@item
-Fix for corrupted fixed-format output generated by @code{SELECT INTO OUTFILE}.
-@item
-@strong{WARNING: INCOMPATIBLE CHANGE!!}
-Added Oracle @code{GREATEST()} and @code{LEAST()} functions. You must now use
-these instead of the @code{MAX()} and @code{MIN()} functions to get the
-largest/smallest value from a list of values. These can now handle @code{REAL},
-@code{BIGINT} and string (@code{CHAR} or @code{VARCHAR}) values.
-@item
-@strong{WARNING: INCOMPATIBLE CHANGE!!}
-@code{DAYOFWEEK()} had offset 0 for Sunday. Changed the offset to 1.
-@item
-Give an error for queries that mix @code{GROUP BY} columns and fields when
-there is no @code{GROUP BY} specification.
-@item
-Added @code{--vertical} option to @code{mysql}, for printing results in
-vertical mode.
-@item
-Index-only optimization; some queries are now resolved using
-only indexes. Until @strong{MySQL} 4.0, this works only for numeric columns.
-@xref{MySQL indexes, , @strong{MySQL} indexes}.
-@item
-Lots of new benchmarks.
-@item
-A new C API chapter and lots of other improvements in the manual.
-@end itemize
-
-@node News-3.22.4, News-3.22.3, News-3.22.5, News-3.22.x
-@appendixsubsec Changes in release 3.22.4
-
-@itemize @bullet
-@item
-Added @code{--tmpdir} option to @code{mysqld}, for specifying the location
-of the temporary file directory.
-@item
-@strong{MySQL} now automatically changes a query from an ODBC client:
-@example
-SELECT ... FROM table WHERE auto_increment_column IS NULL
-@end example
-to:
-@example
-SELECT ... FROM table WHERE auto_increment_column == LAST_INSERT_ID()
-@end example
-This allows some ODBC programs (Delphi, Access) to retrieve the newly
-inserted row to fetch the @code{AUTO_INCREMENT} id.
-@item
-@code{DROP TABLE} now waits for all users to free a table before deleting it.
-@item
-Fixed small memory leak in the new connect protocol.
-@item
-New functions @code{BIN()}, @code{OCT()}, @code{HEX()} and @code{CONV()} for
-converting between different number bases.
-@item
-Added function @code{SUBSTRING()} with 2 arguments.
-@item
-If you created a table with a record length smaller than 5, you couldn't
-delete rows from the table.
-@item
-Added optimization to remove const reference tables from @code{ORDER BY} and
-@code{GROUP BY}.
-@item
-@code{mysqld} now automatically disables system locking on Linux and Win32,
-and for systems that use MIT-pthreads. You can force the use of locking
-with the @code{--enable-locking} option.
-@item
-Added @code{--console} option to @code{mysqld}, to force a console window
-(for error messages) when using Win32.
-@item
-Fixed table locks for Win32.
-@item
-Allow @samp{$} in identifiers.
-@item
-Changed name of user-specific configuration file from @file{my.cnf} to
-@file{.my.cnf} (Unix only).
-@item
-Added @code{DATE_ADD()} and @code{DATE_SUB()} functions.
-@end itemize
-
-@node News-3.22.3, News-3.22.2, News-3.22.4, News-3.22.x
-@appendixsubsec Changes in release 3.22.3
-
-@itemize @bullet
-@item
-Fixed a lock problem (bug in @strong{MySQL} 3.22.1) when closing temporary tables.
-@item
-Added missing @code{mysql_ping()} to the client library.
-@item
-Added @code{--compress} option to all @strong{MySQL} clients.
-@item
-Changed @code{byte} to @code{char} in @file{mysql.h} and @file{mysql_com.h}.
-@end itemize
-
-@node News-3.22.2, News-3.22.1, News-3.22.3, News-3.22.x
-@appendixsubsec Changes in release 3.22.2
-
-@itemize @bullet
-@item
-Searching on multiple constant keys that matched more than 30% of the rows
-didn't always use the best possible key.
-@item
-New functions @code{<<}, @code{>>}, @code{RPAD()} and @code{LPAD()}.
-@item
-You can now save default options (like passwords) in a configuration file
-(@file{my.cnf}).
-@item
-Lots of small changes to get @code{ORDER BY} to work when no records are found
-when using fields that are not in @code{GROUP BY} (@strong{MySQL} extension).
-@item
-Added @code{--chroot} option to @code{mysqld}, to start @code{mysqld} in
-a chroot environment (by Nikki Chumakov @email{nikkic@@cityline.ru}).
-@item
-Trailing spaces are now ignored when comparing case-sensitive strings;
-this should fix some problems with ODBC and flag 512!
-@item
-Fixed a core-dump bug in the range optimizer.
-@item
-Added @code{--one-thread} option to @code{mysqld}, for debugging with
-LinuxThreads (or @code{glibc}). (This replaces the @code{-T32} flag)
-@item
-Added @code{DROP TABLE IF EXISTS} to prevent an error from occurring if the
-table doesn't exist.
-@item
-@code{IF} and @code{EXISTS} are now reserved words (they would have to
-be sooner or later).
-@item
-Added lots of new options to @code{mysqldump}.
-@item
-Server error messages are now in @file{mysqld_error.h}.
-@item
-The server/client protocol now supports compression.
-@item
-All bug fixes from @strong{MySQL} 3.21.32.
-@end itemize
-
-@node News-3.22.1, News-3.22.0, News-3.22.2, News-3.22.x
-@appendixsubsec Changes in release 3.22.1
-
-@itemize @bullet
-@item
-Added new C API function @code{mysql_ping()}.
-@item
-Added new API functions @code{mysql_init()} and @code{mysql_options()}.
-You now MUST call @code{mysql_init()} before you call
-@code{mysql_real_connect()}.
-You don't have to call @code{mysql_init()} if you only use
-@code{mysql_connect()}.
-@item
-Added @code{mysql_options(...,MYSQL_OPT_CONNECT_TIMEOUT,...)} so you can set a
-timeout for connecting to a server.
-@item
-Added @code{--timeout} option to @code{mysqladmin}, as a test of
-@code{mysql_options()}.
-@item
-Added @code{AFTER column} and @code{FIRST} options to
-@code{ALTER TABLE ... ADD columns}.
-This makes it possible to add a new column at some specific location
-within a row in an existing table.
-@item
-@code{WEEK()} now takes an optional argument to allow handling of weeks when
-the week starts on Monday (some European countries). By default,
-@code{WEEK()} assumes the week starts on Sunday.
-@item
-@code{TIME} columns weren't stored properly (bug in @strong{MySQL} 3.22.0).
-@item
-@code{UPDATE} now returns information about how many rows were
-matched and updated, and how many ``warnings'' occurred when doing the update.
-@item
-Fixed incorrect result from @code{FORMAT(-100,2)}.
-@item
-@code{ENUM} and @code{SET} columns were compared in binary (case-sensitive)
-fashion; changed to be case insensitive.
-@end itemize
-
-@node News-3.22.0, , News-3.22.1, News-3.22.x
-@appendixsubsec Changes in release 3.22.0
-
-@itemize @bullet
-@item
-New (backward compatible) connect protocol that allows you to
-specify the database to use when connecting, to get much faster
-connections to a specific database.
-
-The @code{mysql_real_connect()} call is changed to:
-
-@example
-mysql_real_connect(MYSQL *mysql, const char *host, const char *user,
- const char *passwd, const char *db, uint port,
- const char *unix_socket, uint client_flag)
-@end example
-@item
-Each connection is handled by its own thread, rather than by the
-master @code{accept()} thread. This fixes permanently the telnet bug
-that was a topic on the mail list some time ago.
-@item
-All TCP/IP connections are now checked with backward resolution of
-the hostname to get better security. @code{mysqld} now has a local hostname
-resolver cache so connections should actually be faster than before,
-even with this feature.
-@item
-A site automatically will be blocked from future connections if someone
-repeatedly connects with an ``improper header'' (like when one uses telnet).
-@item
-You can now refer to tables in different databases with references of the form
-@code{tbl_name@@db_name} or @code{db_name.tbl_name}. This makes it possible to
-give a user read access to some tables and write access to others simply by
-keeping them in different databases!
-@item
-Added @code{--user} option to @code{mysqld}, to allow it to run
-as another Unix user (if it is started as the Unix @code{root} user).
-@item
-Added caching of users and access rights (for faster access rights checking)
-@item
-Normal users (not anonymous ones) can change their password with
-@code{mysqladmin password 'new_password'}. This uses encrypted passwords
-that are not logged in the normal @strong{MySQL} log!
-@item
-All important string functions are now coded in assembler for x86 Linux
-machines. This gives a speedup of 10% in many cases.
-@item
-For tables that have many columns, the column names are now hashed for
-much faster column name lookup (this will speed up some benchmark
-tests a lot!)
-@item
-Some benchmarks are changed to get better individual timing.
-(Some loops were so short that a specific test took < 2 seconds. The
-loops have been changed to take about 20 seconds to make it easier
-to compare different databases. A test that took 1-2 seconds before
-now takes 11-24 seconds, which is much better)
-@item
-Re-arranged @code{SELECT} code to handle some very specific queries
-involving group functions (like @code{COUNT(*)}) without a @code{GROUP BY} but
-with @code{HAVING}. The following now works:
-@example
-mysql> SELECT count(*) as C FROM table HAVING C > 1;
-@end example
-@item
-Changed the protocol for field functions to be faster and avoid some
-calls to @code{malloc()}.
-@item
-Added @code{-T32} option to @code{mysqld}, for running all queries under the
-main thread. This makes it possible to debug @code{mysqld} under Linux with
-@code{gdb}!
-@item
-Added optimization of @code{not_null_column IS NULL} (needed for some Access
-queries).
-@item
-Allow @code{STRAIGHT_JOIN} to be used between two tables to force the optimizer
-to join them in a specific order.
-@item
-String functions now return @code{VARCHAR} rather than @code{CHAR} and
-the column type is now @code{VARCHAR} for fields saved as @code{VARCHAR}.
-This should make the @strong{MyODBC} driver better, but may break some old
-@strong{MySQL} clients that don't handle @code{FIELD_TYPE_VARCHAR} the same
-way as @code{FIELD_TYPE_CHAR}.
-@item
-@code{CREATE INDEX} and @code{DROP INDEX} are now implemented through
-@code{ALTER TABLE}.
-@code{CREATE TABLE} is still the recommended (fast) way to create indexes.
-@item
-Added @code{--set-variable} option @code{wait_timeout} to @code{mysqld}.
-@item
-Added time column to @code{mysqladmin processlist} to show how long a query
-has taken or how long a thread has slept.
-@item
-Added lots of new variables to @code{show variables} and some new to
-@code{show status}.
-@item
-Added new type @code{YEAR}. @code{YEAR} is stored in 1 byte with allowable
-values of 0, and 1901 to 2155.
-@item
-Added new @code{DATE} type that is stored in 3 bytes rather than 4 bytes.
-All new tables are created with the new date type if you don't use the
-@code{--old-protocol} option to @code{mysqld}.
-@item
-Fixed bug in record caches; for some queries, you could get
-@code{Error from table handler: #} on some operating systems.
-@item
-Added @code{--enable-assembler} option to @code{configure}, for x86 machines
-(tested on Linux + @code{gcc}). This will enable assembler functions for the
-most important string functions for more speed!
-@end itemize
-
-@node News-3.21.x, News-3.20.x, News-3.22.x, News
-@appendixsec Changes in release 3.21.x
-
-@menu
-* News-3.21.33:: Changes in release 3.21.33
-* News-3.21.32:: Changes in release 3.21.32
-* News-3.21.31:: Changes in release 3.21.31
-* News-3.21.30:: Changes in release 3.21.30
-* News-3.21.29:: Changes in release 3.21.29
-* News-3.21.28:: Changes in release 3.21.28
-* News-3.21.27:: Changes in release 3.21.27
-* News-3.21.26:: Changes in release 3.21.26
-* News-3.21.25:: Changes in release 3.21.25
-* News-3.21.24:: Changes in release 3.21.24
-* News-3.21.23:: Changes in release 3.21.23
-* News-3.21.22:: Changes in release 3.21.22
-* News-3.21.21a:: Changes in release 3.21.21a
-* News-3.21.21:: Changes in release 3.21.21
-* News-3.21.20:: Changes in release 3.21.20
-* News-3.21.19:: Changes in release 3.21.19
-* News-3.21.18:: Changes in release 3.21.18
-* News-3.21.17:: Changes in release 3.21.17
-* News-3.21.16:: Changes in release 3.21.16
-* News-3.21.15:: Changes in release 3.21.15
-* News-3.21.14b:: Changes in release 3.21.14b
-* News-3.21.14a:: Changes in release 3.21.14a
-* News-3.21.13:: Changes in release 3.21.13
-* News-3.21.12:: Changes in release 3.21.12
-* News-3.21.11:: Changes in release 3.21.11
-* News-3.21.10:: Changes in release 3.21.10
-* News-3.21.9:: Changes in release 3.21.9
-* News-3.21.8:: Changes in release 3.21.8
-* News-3.21.7:: Changes in release 3.21.7
-* News-3.21.6:: Changes in release 3.21.6
-* News-3.21.5:: Changes in release 3.21.5
-* News-3.21.4:: Changes in release 3.21.4
-* News-3.21.3:: Changes in release 3.21.3
-* News-3.21.2:: Changes in release 3.21.2
-* News-3.21.0:: Changes in release 3.21.0
-@end menu
-
-@node News-3.21.33, News-3.21.32, News-3.21.x, News-3.21.x
-@appendixsubsec Changes in release 3.21.33
-
-@itemize @bullet
-@item
-Fixed problem when sending @code{SIGHUP} to @code{mysqld};
-@code{mysqld} core dumped when starting from boot on some systems.
-@item
-Fixed problem with losing a little memory for some connections.
-@item
-@code{DELETE FROM tbl_name} without a @code{WHERE} condition is now done the
-long way when you use @code{LOCK TABLES} or if the table is in use, to
-avoid race conditions.
-@item
-@code{INSERT INTO TABLE (timestamp_column) VALUES (NULL);} didn't set timestamp.
-@end itemize
-
-@node News-3.21.32, News-3.21.31, News-3.21.33, News-3.21.x
-@appendixsubsec Changes in release 3.21.32
-
-@itemize @bullet
-@item
-Fixed some possible race conditions when doing many reopen/close on the same
-tables under heavy load! This can happen if you execute @code{mysqladmin
-refresh} often. This could in some very rare cases corrupt the header of the
-index file and cause error 126 or 138.
-
-@item
-Fixed fatal bug in @code{refresh()} when running with the @code{--skip-locking}
-option.
-There was a ``very small'' time gap after a @code{mysqladmin refresh} when
-a table could be corrupted if one thread updated a table while another
-thread did @code{mysqladmin refresh} and another thread started a new update
-ont the same table before the first thread had finished.
-A refresh (or @code{--flush-tables}) will now not return until all used tables
-are closed!
-@item
-@code{SELECT DISTINCT} with a @code{WHERE} clause that didn't match any rows
-returned a row in some contexts (bug only in 3.21.31).
-@item
-@code{GROUP BY} + @code{ORDER BY} returned one empty row when no rows where
-found.
-@item
-Fixed a bug in the range optimizer that wrote
-@code{Use_count: Wrong count for ...} in the error log file.
-@end itemize
-
-@node News-3.21.31, News-3.21.30, News-3.21.32, News-3.21.x
-@appendixsubsec Changes in release 3.21.31
-@itemize @bullet
-@item
-Fixed a sign extension problem for the @code{TINYINT} type on Irix.
-@item
-Fixed problem with @code{LEFT("constant_string",function)}.
-@item
-Fixed problem with @code{FIND_IN_SET()}.
-@item
-@code{LEFT JOIN} core dumped if the second table is used with a constant
-@code{WHERE/ON} expression that uniquely identifies one record.
-@item
-Fixed problems with @code{DATE_FORMAT()} and incorrect dates.
-@code{DATE_FORMAT()} now ignores @code{'%'} to make it possible to extend
-it more easily in the future.
-@end itemize
-
-@node News-3.21.30, News-3.21.29, News-3.21.31, News-3.21.x
-@appendixsubsec Changes in release 3.21.30
-@itemize @bullet
-@item
-@code{mysql} now returns an exit code > 0 if the query returned an error.
-@item
-Saving of command line history to file in @code{mysql} client.
-By Tommy Larsen @email{tommy@@mix.hive.no}.
-@item
-Fixed problem with empty lines that were ignored in @file{mysql.cc}.
-@item
-Save the pid of the signal handler thread in the pid file instead
-of the pid of the main thread.
-@item
-@email{tommy@@valley.ne.jp} ¤Ë¤è¤ëÆüËܸ쥭¥ã¥é¥¯¥¿¡¼¥»¥Ã¥È(SJIS, UJIS)¤Î¥µ¥Ý¡¼¥È.
-@item
-Changed @code{safe_mysqld} to redirect startup messages to
-@code{'hostname'.err} instead
-of @code{'hostname'.log} to reclaim file space on @code{mysqladmin refresh}.
-@item
-@code{ENUM} always had the first entry as default value.
-@item
-@code{ALTER TABLE} wrote two entries to the update log.
-@item
-@code{sql_acc()} now closes the @code{mysql} grant tables after a reload to
-save table space and memory.
-@item
-Changed @code{LOAD DATA} to use less memory with tables and @code{BLOB}
-columns.
-@item
-Sorting on a function which made a division / 0 produced a wrong set
-in some cases.
-@item
-Fixed @code{SELECT} problem with @code{LEFT()} when using the czech character
-set.
-@item
-Fixed problem in @code{isamchk}; it couldn't repair a packed table in a very
-unusual case.
-@item
-@code{SELECT} statements with @code{&} or @code{|} (bit functions) failed on
-columns with @code{NULL} values.
-@item
-When comparing a field = field, where one of the fields was a part key,
-only the length of the part key was compared.
-@end itemize
-
-@node News-3.21.29, News-3.21.28, News-3.21.30, News-3.21.x
-@appendixsubsec Changes in release 3.21.29
-@itemize @bullet
-@item
-@code{LOCK TABLES} + @code{DELETE from tbl_name} never removed locks properly.
-@item
-Fixed problem when grouping on an @code{OR} function.
-@item
-Fixed permission problem with @code{umask()} and creating new databases.
-@item
-Fixed permission problem on result file with @code{SELECT ... INTO OUTFILE ...}
-@item
-Fixed problem in range optimizer (core dump) for a very complex query.
-@item
-Fixed problem when using @code{MIN(integer)} or @code{MAX(integer)} in
-@code{GROUP BY}.
-@item
-Fixed bug on Alpha when using integer keys. (Other keys worked on Alpha).
-@item
-Fixed bug in @code{WEEK("XXXX-xx-01")}.
-@end itemize
-
-@node News-3.21.28, News-3.21.27, News-3.21.29, News-3.21.x
-@appendixsubsec Changes in release 3.21.28
-@itemize @bullet
-@item
-Fixed socket permission (clients couldn't connect to Unix socket on Linux).
-@item
-Fixed bug in record caches; for some queries, you could get
-@code{Error from table handler: #} on some operating systems.
-@end itemize
-
-@node News-3.21.27, News-3.21.26, News-3.21.28, News-3.21.x
-@appendixsubsec Changes in release 3.21.27
-@itemize @bullet
-@item
-Added user level lock functions @code{GET_LOCK(string,timeout)},
-@code{RELEASE_LOCK(string)}.
-@item
-Added @code{opened_tables} to @code{show status}.
-@item
-Changed connect timeout to 3 seconds to make it somewhat harder
-for crackers to kill @code{mysqld} through telnet + TCP/IP.
-@item
-Fixed bug in range optimizer when using
-@code{WHERE key_part_1 >= something AND key_part_2 <= something_else}.
-@item
-Changed @code{configure} for detection of FreeBSD 3.0 9803xx and above
-@item
-@code{WHERE} with string_column_key = constant_string didn't always find
-all rows if the column had many values differing only with characters of
-the same sort value (like e and @'e).
-@item
-Strings keys looked up with 'ref' were not compared in case-sensitive fashion.
-@item
-Added @code{umask()} to make log files non-readable for normal users.
-@item
-Ignore users with old (8-byte) password on startup if not using
-@code{--old-protocol} option to @code{mysqld}.
-@item
-@code{SELECT} which matched all key fields returned the values in the
-case of the matched values, not of the found values. (Minor problem.)
-@end itemize
-
-@node News-3.21.26, News-3.21.25, News-3.21.27, News-3.21.x
-@appendixsubsec Changes in release 3.21.26
-@itemize @bullet
-@item
-@code{FROM_DAYS(0)} now returns "0000-00-00".
-@item
-In @code{DATE_FORMAT()}, PM and AM were swapped for hours 00 and 12.
-@item
-Extended the default maximum key size to 256.
-@item
-Fixed bug when using @code{BLOB}/@code{TEXT} in @code{GROUP BY} with many
-tables.
-@item
-An @code{ENUM} field that is not declared @code{NOT NULL} has @code{NULL} as
-the default value.
-(Previously, the default value was the first enumeration value.)
-@item
-Fixed bug in the join optimizer code when using many part keys
-on the same key: @code{INDEX (Organization,Surname(35),Initials(35))}.
-@item
-Added some tests to the table order optimizer to get some cases with
-@code{SELECT ... FROM many_tables} much faster.
-@item
-Added a retry loop around @code{accept()} to possibly fix some problems on some
-Linux machines.
-@end itemize
-
-@node News-3.21.25, News-3.21.24, News-3.21.26, News-3.21.x
-@appendixsubsec Changes in release 3.21.25
-@itemize @bullet
-@item
-Changed @code{typedef 'string'} to @code{typedef 'my_string'} for better
-portability.
-@item
-You can now kill threads that are waiting on a disk full condition.
-@item
-Fixed some problems with UDF functions.
-@item
-Added long options to @code{isamchk}. Try @code{isamchk --help}.
-@item
-Fixed a bug when using 8 bytes long (alpha); @code{filesort()} didn't work.
-Affects @code{DISTINCT}, @code{ORDER BY} and @code{GROUP BY} on 64-bit
-processors.
-@end itemize
-
-@node News-3.21.24, News-3.21.23, News-3.21.25, News-3.21.x
-@appendixsubsec Changes in release 3.21.24
-@itemize @bullet
-@item
-Dynamic loadable functions. Based on source from Alexis Mikhailov.
-@item
-You couldn't delete from a table if no one had done a @code{SELECT} on the
-table.
-@item
-Fixed problem with range optimizer with many @code{OR} operators on key parts
-inside each other.
-@item
-Recoded @code{MIN()} and @code{MAX()} to work properly with strings and
-@code{HAVING}.
-@item
-Changed default umask value for new files from @code{0664} to @code{0660}.
-@item
-Fixed problem with @code{LEFT JOIN} and constant expressions in the @code{ON}
-part.
-@item
-Added Italian error messages from @email{brenno@@dewinter.com}.
-@item
-@code{configure} now works better on OSF1 (tested on 4.0D).
-@item
-Added hooks to allow @code{LIKE} optimization with international character
-support.
-@item
-Upgraded @code{DBI} to 0.93.
-@end itemize
-
-@node News-3.21.23, News-3.21.22, News-3.21.24, News-3.21.x
-@appendixsubsec Changes in release 3.21.23
-@itemize @bullet
-@item
-The following symbols are now reserved words:
-@code{TIME}, @code{DATE}, @code{TIMESTAMP}, @code{TEXT}, @code{BIT},
-@code{ENUM}, @code{NO}, @code{ACTION}, @code{CHECK}, @code{YEAR},
-@code{MONTH}, @code{DAY}, @code{HOUR}, @code{MINUTE}, @code{SECOND},
-@code{STATUS}, @code{VARIABLES}.
-@item
-Setting a @code{TIMESTAMP} to @code{NULL} in @code{LOAD DATA INFILE ...} didn't
-set the current time for the @code{TIMESTAMP}.
-@item
-Fix @code{BETWEEN} to recognize binary strings. Now @code{BETWEEN} is
-case sensitive.
-@item
-Added @code{--skip-thread-priority} option to @code{mysqld}, for systems
-where @code{mysqld}'s thread scheduling doesn't work properly (BSDI 3.1).
-@item
-Added ODBC functions @code{DAYNAME()} and @code{MONTHNAME()}.
-@item
-Added function @code{TIME_FORMAT()}. This works like @code{DATE_FORMAT()},
-but takes a time string (@code{'HH:MM:DD'}) as argument.
-@item
-Fixed unlikely(?) key optimizer bug when using @code{OR}s of key parts
-inside @code{AND}s.
-@item
-Added command @code{variables} to @code{mysqladmin}.
-@item
-A lot of small changes to the binary releases.
-@item
-Fixed a bug in the new protocol from @strong{MySQL} 3.21.20.
-@item
-Changed @code{ALTER TABLE} to work with Win32 (Win32 can't rename open files).
-Also fixed a couple of small bugs in the Win32 version.
-@item
-All standard @strong{MySQL} clients are now ported to @strong{MySQL}-Win32.
-@item
-@strong{MySQL} can now be started as a service on NT.
-@end itemize
-
-@node News-3.21.22, News-3.21.21a, News-3.21.23, News-3.21.x
-@appendixsubsec Changes in release 3.21.22
-@itemize @bullet
-@item
-Starting with this version, all @strong{MySQL} distributions will be
-configured, compiled and tested with @code{crash-me} and the benchmarks on
-the following platforms: SunOS 5.6 sun4u, SunOS 5.5.1 sun4u, SunOS 4.14 sun4c,
-SunOS 5.6 i86pc, Irix 6.3 mips5k, HP-UX 10.20 hppa, AIX 4.2.1 ppc,
-OSF1 V4.0 alpha, FreeBSD 2.2.2 i86pc and BSDI 3.1 i386.
-@item
-Fix @code{COUNT(*)} problems when the @code{WHERE} clause didn't match any
-records. (Bug from 3.21.17.)
-@item
-Removed that @code{NULL = NULL} is true. Now you must use @code{IS NULL}
-or @code{IS NOT NULL} to test whether or not a value is @code{NULL}.
-(This is according to ANSI SQL but may break
-old applications that are ported from @code{mSQL}.)
-You can get the old behavior by compiling with @code{-DmSQL_COMPLIANT}.
-@item
-Fixed bug that core dumped when using many @code{LEFT OUTER JOIN} clauses.
-@item
-Fixed bug in @code{ORDER BY} on string formula with possible @code{NULL} values.
-@item
-Fixed problem in range optimizer when using <= on sub index.
-@item
-Added functions @code{DAYOFYEAR()}, @code{DAYOFMONTH()}, @code{MONTH()},
-@code{YEAR()}, @code{WEEK()}, @code{QUARTER()}, @code{HOUR()}, @code{MINUTE()},
-@code{SECOND()} and @code{FIND_IN_SET()}.
-@item
-Added command @code{SHOW VARIABLES}.
-@item
-Added support of ``long constant strings'' from ANSI SQL:
-@example
-mysql> SELECT 'first ' 'second'; -> 'first second'
-@end example
-@item
-Upgraded mSQL-Mysql-modules to 1.1825.
-@item
-Upgraded @code{mysqlaccess} to 2.02.
-@item
-Fixed problem with Russian character set and @code{LIKE}.
-@item
-Ported to OpenBSD 2.1.
-@item
-New Dutch error messages.
-@end itemize
-
-@node News-3.21.21a, News-3.21.21, News-3.21.22, News-3.21.x
-@appendixsubsec Changes in release 3.21.21a
-@itemize @bullet
-@item
-Configure changes for some operating systems.
-@end itemize
-
-@node News-3.21.21, News-3.21.20, News-3.21.21a, News-3.21.x
-@appendixsubsec Changes in release 3.21.21
-@itemize @bullet
-@item
-Fixed optimizer bug when using
-@code{WHERE data_field = date_field2 AND date_field2 = constant}.
-@item
-Added command @code{SHOW STATUS}.
-@item
-Removed @file{manual.ps} from the source distribution to make it smaller.
-@end itemize
-
-@node News-3.21.20, News-3.21.19, News-3.21.21, News-3.21.x
-@appendixsubsec Changes in release 3.21.20
-@itemize @bullet
-@item
-Changed the maximum table name and column name lengths from 32 to 64.
-@item
-Aliases can now be of ``any'' length.
-@item
-Fixed @code{mysqladmin stat} to return the right number of queries.
-@item
-Changed protocol (downward compatible) to mark if a column has the
-@code{AUTO_INCREMENT} attribute or is a @code{TIMESTAMP}. This is needed for
-the new Java driver.
-@item
-Added Hebrew sorting order by Zeev Suraski.
-@item
-Solaris 2.6: Fixed @code{configure} bugs and increased maximum table size
-from 2G to 4G.
-@end itemize
-
-@node News-3.21.19, News-3.21.18, News-3.21.20, News-3.21.x
-@appendixsubsec Changes in release 3.21.19
-@itemize @bullet
-@item
-Upgraded @code{DBD} to 1823. This version implements @code{mysql_use_result} in
-@code{DBD-Mysql}.
-@item
-Benchmarks updated for empress (by Luuk).
-@item
-Fixed a case of slow range searching.
-@item
-Configure fixes (@file{Docs} directory).
-@item
-Added function @code{REVERSE()} (by Zeev Suraski).
-@end itemize
-
-@node News-3.21.18, News-3.21.17, News-3.21.19, News-3.21.x
-@appendixsubsec Changes in release 3.21.18
-@itemize @bullet
-@item
-Issue error message if client C functions are called in wrong order.
-@item
-Added automatic reconnect to the @file{libmysql.c} library. If a write command
-fails, an automatic reconnect is done.
-@item
-Small sort sets no longer use temporary files.
-@item
-Upgraded @code{DBI} to 0.91.
-@item
-Fixed a couple of problems with @code{LEFT OUTER JOIN}.
-@item
-Added @code{CROSS JOIN} syntax. @code{CROSS} is now a reserved word.
-@item
-Recoded @code{yacc}/@code{bison} stack allocation to be even safer and to allow
-@strong{MySQL} to handle even bigger expressions.
-@item
-Fixed a couple of problems with the update log.
-@item
-@code{ORDER BY} was slow when used with key ranges.
-@end itemize
-
-@node News-3.21.17, News-3.21.16, News-3.21.18, News-3.21.x
-@appendixsubsec Changes in release 3.21.17
-@itemize @bullet
-@item
-Changed documentation string of @code{--with-unix-socket-path} to avoid
-confusion.
-@item
-Added ODBC and ANSI SQL style @code{LEFT OUTER JOIN}.
-@item
-The following are new reserved words: @code{LEFT}, @code{NATURAL},
-@code{USING}.
-@item
-The client library now uses the value of the environment variable
-@code{MYSQL_HOST} as the default host if it's defined.
-@item
-@code{SELECT col_name, SUM(expr)} now returns @code{NULL} for @code{col_name}
-when there are matching rows.
-@item
-Fixed problem with comparing binary strings and @code{BLOB}s with ASCII
-characters over 127.
-@item
-Fixed lock problem: when freeing a read lock on a table with multiple
-read locks, a thread waiting for a write lock would have been given the lock.
-This shouldn't affect data integrity, but could possibly make @code{mysqld}
-restart if one thread was reading data that another thread modified.
-@item
-@code{LIMIT offset,count} didn't work in @code{INSERT ... SELECT}.
-@item
-Optimized key block caching. This will be quicker than the old algorithm when
-using bigger key caches.
-@end itemize
-
-@node News-3.21.16, News-3.21.15, News-3.21.17, News-3.21.x
-@appendixsubsec Changes in release 3.21.16
-
-@itemize @bullet
-@item
-Added ODBC 2.0 & 3.0 functions @code{POWER()}, @code{SPACE()},
-@code{COT()}, @code{DEGREES()}, @code{RADIANS()}, @code{ROUND(2 arg)}
-and @code{TRUNCATE()}.
-@item
-@strong{WARNING: INCOMPATIBLE CHANGE!!} @code{LOCATE()} parameters were
-swapped according to ODBC standard. Fixed.
-@item
-Added function @code{TIME_TO_SEC()}.
-@item
-In some cases, default values were not used for @code{NOT NULL} fields.
-@item
-Timestamp wasn't always updated properly in @code{UPDATE SET ...} statements.
-@item
-Allow empty strings as default values for @code{BLOB} and @code{TEXT}, to
-be compatible with @code{mysqldump}.
-@end itemize
-
-@node News-3.21.15, News-3.21.14b, News-3.21.16, News-3.21.x
-@appendixsubsec Changes in release 3.21.15
-
-@itemize @bullet
-@item
-@strong{WARNING: INCOMPATIBLE CHANGE!!} @code{mysqlperl} is now from
-Msql-Mysql-modules. This means that @code{connect()} now takes
-@code{host}, @code{database}, @code{user}, @code{password} arguments! The old
-version took @code{host}, @code{database}, @code{password}, @code{user}.
-@item
-Allow @code{DATE '1997-01-01'}, @code{TIME '12:10:10'} and
-@code{TIMESTAMP '1997-01-01 12:10:10'} formats required by ANSI SQL.
-@strong{WARNING: INCOMPATIBLE CHANGE!!} This has the unfortunate
-side-effect that you no longer can have columns named @code{DATE}, @code{TIME}
-or @code{TIMESTAMP}. :( Old columns can still be accessed through
-@code{tablename.columnname}!)
-@item
-Changed Makefiles to hopefully work better with BSD systems. Also,
-@file{manual.dvi} is now included in the distribution to avoid having stupid
-@code{make} programs trying to rebuild it.
-@item
-@code{readline} library upgraded to version 2.1.
-@item
-A new sortorder german-1. That is a normal ISO-Latin1 with a german sort
-order.
-@item
-Perl @code{DBI}/@code{DBD} is now included in the distribution. @code{DBI}
-is now the recommended way to connect to @strong{MySQL} from Perl.
-@item
-New portable benchmark suite with @code{DBD}, with test results from
-@code{mSQL} 2.0.3, @strong{MySQL}, PostgreSQL 6.2.1 and Solid server 2.2.
-@item
-@code{crash-me} is now included with the benchmarks; This is a Perl program
-designed to find as many limits as possible in a SQL server. Tested with
-@code{mSQL}, PostgreSQL, Solid and @strong{MySQL}.
-@item
-Fixed bug in range-optimizer that crashed @strong{MySQL} on some queries.
-@item
-Table and column name completion for @code{mysql} command line tool, by Zeev
-Suraski and Andi Gutmans.
-@item
-Added new command @code{REPLACE} that works like @code{INSERT} but
-replaces conflicting records with the new record. @code{REPLACE INTO
-TABLE ... SELECT ...} works also.
-@item
-Added new commands @code{CREATE DATABASE db_name} and @code{DROP
-DATABASE db_name}.
-@item
-Added @code{RENAME} option to @code{ALTER TABLE}: @code{ALTER TABLE name
-RENAME AS new_name}.
-@item
-@code{make_binary_distribution} now includes @file{libgcc.a} in
-@file{libmysqlclient.a}. This should make linking work for people who don't
-have @code{gcc}.
-@item
-Changed @code{net_write()} to @code{my_net_write()} because of a name
-conflict with Sybase.
-@item
-@cindex ODBC compatibility
-@cindex Compatibility, with ODBC
-New function @code{DAYOFWEEK()} compatible with ODBC.
-@item
-Stack checking and @code{bison} memory overrun checking to make @strong{MySQL}
-safer with weird queries.
-@end itemize
-
-@node News-3.21.14b, News-3.21.14a, News-3.21.15, News-3.21.x
-@appendixsubsec Changes in release 3.21.14b
-
-@itemize @bullet
-@item
-Fixed a couple of small @code{configure} problems on some platforms.
-@end itemize
-
-@node News-3.21.14a, News-3.21.13, News-3.21.14b, News-3.21.x
-@appendixsubsec Changes in release 3.21.14a
-
-@itemize @bullet
-@item
-Ported to SCO Openserver 5.0.4 with FSU Pthreads.
-@item
-HP-UX 10.20 should work.
-@item
-Added new function @code{DATE_FORMAT()}.
-@item
-Added @code{NOT IN}.
-@item
-Added automatic removal of 'ODBC function conversions': @code{@{fn now() @}}
-@item
-Handle ODBC 2.50.3 option flags.
-@item
-Fixed comparison of @code{DATE} and @code{TIME} values with @code{NULL}.
-@item
-Changed language name from germany to german to be consistent with
-the other language names.
-@item
-Fixed sorting problem on functions returning a @code{FLOAT}. Previously, the
-values were converted to @code{INT}s before sorting.
-@item
-Fixed slow sorting when sorting on key field when using
-@code{key_column=constant}.
-@item
-Sorting on calculated @code{DOUBLE} values sorted on integer results instead.
-@item
-@code{mysql} no longer needs a database argument.
-@item
-Changed the place where @code{HAVING} should be. According to ANSI, it should
-be after @code{GROUP BY} but before @code{ORDER BY}. @strong{MySQL} 3.20
-incorrectly had it last.
-@item
-Added Sybase command @code{USE DATABASE} to start using another database.
-@item
-Added automatic adjusting of number of connections and table cache size
-if the maximum number of files that can be opened is less than needed.
-This should fix that @code{mysqld} doesn't crash even if you haven't done a
-@code{ulimit -n 256} before starting @code{mysqld}.
-@item
-Added lots of limit checks to make it safer when running with too little
-memory or when doing weird queries.
-@end itemize
-
-@node News-3.21.13, News-3.21.12, News-3.21.14a, News-3.21.x
-@appendixsubsec Changes in release 3.21.13
-
-@itemize @bullet
-@item
-Added retry of interrupted reads and clearing of @code{errno}.
-This makes Linux systems much safer!
-@item
-Fixed locking bug when using many aliases on the same table in the same
-@code{SELECT}.
-@item
-Fixed bug with @code{LIKE} on number key.
-@item
-New error message so you can check whether the connection was lost while
-the command was running or whether the connection was down from the start.
-@item
-Added @code{--table} option to @code{mysql} to print in table format.
-Moved time and row information after query result.
-Added automatic reconnect of lost connections.
-@item
-Added @code{!=} as a synonym for @code{<>}.
-@item
-Added function @code{VERSION()} to make easier logs.
-@item
-New multi-user test @file{tests/fork_test.pl} to put some strain on the
-thread library.
-@end itemize
-
-@node News-3.21.12, News-3.21.11, News-3.21.13, News-3.21.x
-@appendixsubsec Changes in release 3.21.12
-
-@itemize @bullet
-@item
-Fixed @code{ftruncate()} call in MIT-pthreads. This made @code{isamchk}
-destroy the @file{.ISM} files on (Free)BSD 2.x systems.
-@item
-Fixed broken @code{__P_} patch in MIT-pthreads.
-@item
-Many memory overrun checks. All string functions now return @code{NULL}
-if the returned string should be longer than @code{max_allowed_packet} bytes.
-@item
-Changed the name of the @code{INTERVAL} type to @code{ENUM}, because
-@code{INTERVAL} is used in ANSI SQL.
-@item
-In some cases, doing a @code{JOIN} + @code{GROUP} + @code{INTO OUTFILE},
-the result wasn't grouped.
-@item
-@code{LIKE} with @code{'_'} as last character didn't work. Fixed.
-@item
-Added extended ANSI SQL @code{TRIM()} function.
-@item
-Added @code{CURTIME()}.
-@item
-Added @code{ENCRYPT()} function by Zeev Suraski.
-@item
-Fixed better @code{FOREIGN KEY} syntax skipping. New reserved words:
-@code{MATCH}, @code{FULL}, @code{PARTIAL}.
-@item
-@code{mysqld} now allows IP number and hostname to the @code{--bind-address}
-option.
-@item
-Added @code{SET OPTION CHARACTER SET cp1251_koi8} to enable conversions of
-data to/from cp1251_koi8.
-@item
-Lots of changes for Win95 port. In theory, this version should now be
-easily portable to Win95.
-@item
-Changed the @code{CREATE COLUMN} syntax of @code{NOT NULL} columns to be after
-the @code{DEFAULT} value, as specified in the ANSI SQL standard. This will
-make @code{mysqldump} with @code{NOT NULL} and default values incompatible with
-@strong{MySQL} 3.20.
-@item
-Added many function name aliases so the functions can be used with
-ODBC or ANSI SQL92 syntax.
-@item
-Fixed syntax of @code{ALTER TABLE tbl_name ALTER COLUMN col_name SET DEFAULT
-NULL}.
-@item
-Added @code{CHAR} and @code{BIT} as synonyms for @code{CHAR(1)}.
-@item
-Fixed core dump when updating as a user who has only @strong{select} privilege.
-@item
-@code{INSERT ... SELECT ... GROUP BY} didn't work in some cases. An
-@code{Invalid use of group function} error occurred.
-@item
-When using @code{LIMIT}, @code{SELECT} now always uses keys instead of record
-scan. This will give better performance on @code{SELECT} and a @code{WHERE}
-that matches many rows.
-@item
-Added Russian error messages.
-@end itemize
-
-@node News-3.21.11, News-3.21.10, News-3.21.12, News-3.21.x
-@appendixsubsec Changes in release 3.21.11
-
-@itemize @bullet
-@item
-Configure changes.
-@item
-@strong{MySQL} now works with the new thread library on BSD/OS 3.0.
-@item
-Added new group functions @code{BIT_OR()} and @code{BIT_AND()}.
-@item
-Added compatibility functions @code{CHECK} and @code{REFERENCES}.
-@code{CHECK} is now a reserved word.
-@item
-Added @code{ALL} option to @code{GRANT} for better compatibility. (@code{GRANT}
-is still a dummy function.)
-@item
-Added partly-translated dutch messages.
-@item
-Fixed bug in @code{ORDER BY} and @code{GROUP BY} with @code{NULL} columns.
-@item
-Added function @code{last_insert_id()} to retrieve last @code{AUTO_INCREMENT}
-value. This is intended for clients to ODBC that can't use the
-@code{mysql_insert_id()} API function, but can be used by any client.
-@item
-Added @code{--flush-logs} option to @code{mysqladmin}.
-@item
-Added command @code{STATUS} to @code{mysql}.
-@item
-Fixed problem with @code{ORDER BY}/@code{GROUP BY} because of bug in @code{gcc}.
-@item
-Fixed problem with @code{INSERT ... SELECT ... GROUP BY}.
-@end itemize
-
-@node News-3.21.10, News-3.21.9, News-3.21.11, News-3.21.x
-@appendixsubsec Changes in release 3.21.10
-
-@itemize @bullet
-@item
-New @code{mysqlaccess}.
-@item
-@code{CREATE} now supports all ODBC types and the @code{mSQL} @code{TEXT} type.
-All ODBC 2.5 functions are also supported (added @code{REPEAT}). This provides
-better portability.
-@item
-Added text types @code{TINYTEXT}, @code{TEXT}, @code{MEDIUMTEXT} and
-@code{LONGTEXT}. These are actually @code{BLOB}types, but all searching is
-done in case-insensitive fashion.
-@item
-All old @code{BLOB} fields are now @code{TEXT} fields. This only
-changes that all searching on strings is done in case-sensitive fashion.
-You must do an @code{ALTER TABLE} and change the field type to @code{BLOB}
-if you want to have tests done in case-sensitive fashion.
-@item
-Fixed some @code{configure} issues.
-@item
-Made the locking code a bit safer. Fixed very unlikely
-deadlock situation.
-@item
-Fixed a couple of bugs in the range optimizer. Now the new range benchmark
-@code{test-select} works.
-@end itemize
-
-@node News-3.21.9, News-3.21.8, News-3.21.10, News-3.21.x
-@appendixsubsec Changes in release 3.21.9
-
-@itemize @bullet
-@item
-Added @code{--enable-unix-socket=pathname} option to @code{configure}.
-@item
-Fixed a couple of portability problems with include files.
-@item
-Fixed bug in range calculation that could return empty
-set when searching on multiple key with only one entry (very rare).
-@item
-Most things ported to FSU Pthreads, which should allow @strong{MySQL} to
-run on SCO. @xref{SCO}.
-@end itemize
-
-@node News-3.21.8, News-3.21.7, News-3.21.9, News-3.21.x
-@appendixsubsec Changes in release 3.21.8
-
-@itemize @bullet
-@item
-Works now in Solaris 2.6.
-@item
-Added handling of calculation of @code{SUM()} functions.
-For example, you can now use @code{SUM(column)/COUNT(column)}.
-@item
-Added handling of trigometric functions:
-@code{PI()}, @code{ACOS()}, @code{ASIN()}, @code{ATAN()}, @code{COS()},
-@code{SIN()} and @code{TAN()}.
-@item
-New languages: norwegian, norwegian-ny and portuguese.
-@item
-Fixed parameter bug in @code{net_print()} in @file{procedure.cc}.
-@item
-Fixed a couple of memory leaks.
-@item
-Now allow also the old @code{SELECT ... INTO OUTFILE} syntax.
-@item
-Fixed bug with @code{GROUP BY} and @code{SELECT} on key with many values.
-@item
-@code{mysql_fetch_lengths()} sometimes returned incorrect lengths when you used
-@code{mysql_use_result()}. This affected at least some cases of
-@code{mysqldump --quick}.
-@item
-Fixed bug in optimization of @code{WHERE const op field}.
-@item
-Fixed problem when sorting on @code{NULL} fields.
-@item
-Fixed a couple of 64-bit (Alpha) problems.
-@item
-Added @code{--pid-file=#} option to @code{mysqld}.
-@item
-Added date formatting to @code{FROM_UNIXTIME()}, originally by Zeev Suraski.
-@item
-Fixed bug in @code{BETWEEN} in range optimizer (Did only test = of the first
-argument).
-@item
-Added machine-dependent files for MIT-pthreads i386-SCO. There is probably
-more to do to get this to work on SCO 3.5.
-@end itemize
-
-@node News-3.21.7, News-3.21.6, News-3.21.8, News-3.21.x
-@appendixsubsec Changes in release 3.21.7
-
-@itemize @bullet
-@item
-Changed @file{Makefile.am} to take advantage of Automake 1.2.
-@item
-Added the beginnings of a benchmark suite.
-@item
-Added more secure password handling.
-@item
-Added new client function @code{mysql_errno()}, to get the error number of
-the error message. This makes error checking in the client much easier.
-This makes the new server incompatible with the 3.20.x server when running
-without @code{--old-protocol}. The client code is backward compatible.
-More information can be found in the @file{README} file!
-@item
-Fixed some problems when using very long, illegal names.
-@end itemize
-
-@node News-3.21.6, News-3.21.5, News-3.21.7, News-3.21.x
-@appendixsubsec Changes in release 3.21.6
-
-@itemize @bullet
-@item
-Fixed more portability issues (incorrect @code{sigwait} and @code{sigset}
-defines).
-@item
-@code{configure} should now be able to detect the last argument to
-@code{accept()}.
-@end itemize
-
-@node News-3.21.5, News-3.21.4, News-3.21.6, News-3.21.x
-@appendixsubsec Changes in release 3.21.5
-
-@itemize @bullet
-@item
-Should now work with FreeBSD 3.0 if used with
-@file{FreeBSD-3.0-libc_r-1.0.diff},
-which can be found at @uref{http://www.mysql.com/Download/Patches}.
-@item
-Added new option @code{-O tmp_table_size=#} to @code{mysqld}.
-@item
-New function @code{FROM_UNIXTIME(timestamp)} which returns a date string in
-'YYYY-MM-DD HH:MM:DD' format.
-@item
-New function @code{SEC_TO_TIME(seconds)} which returns a string in
-'HH:MM:SS' format.
-@item
-New function @code{SUBSTRING_INDEX()}, originally by Zeev Suraski.
-@end itemize
-
-@node News-3.21.4, News-3.21.3, News-3.21.5, News-3.21.x
-@appendixsubsec Changes in release 3.21.4
-
-@itemize @bullet
-@item
-Should now configure and compile on OSF1 4.0 with the DEC compiler.
-@item
-Configuration and compilation on BSD/OS 3.0 works, but due to some bugs in
-BSD/OS 3.0, @code{mysqld} doesn't work on it yet.
-@item
-Configuration and compilation on FreeBSD 3.0 works, but I couldn't get
-@code{pthread_create} to work.
-@end itemize
-
-@node News-3.21.3, News-3.21.2, News-3.21.4, News-3.21.x
-@appendixsubsec Changes in release 3.21.3
-
-@itemize @bullet
-@item
-Added reverse check lookup of hostnames to get better security.
-@item
-Fixed some possible buffer overflows if filenames that are too long are used.
-@item
-@code{mysqld} doesn't accept hostnames that start with digits followed by a
-@code{'.'}, because the hostname may look like an IP number.
-@item
-Added @code{--skip-networking} option to @code{mysqld}, to only allow socket
-connections. (This will not work with MIT-pthreads!)
-@item
-Added check of too long table names for alias.
-@item
-Added check if database name is okay.
-@item
-Added check if too long table names.
-@item
-Removed incorrect @code{free()} that killed the server on
-@code{CREATE DATABASE} or @code{DROP DATABASE}.
-@item
-Changed some @code{mysqld} @code{-O} options to better names.
-@item
-Added @code{-O join_cache_size=#} option to @code{mysqld}.
-@item
-Added @code{-O max_join_size=#} option to @code{mysqld}, to be able to set a
-limit how big queries (in this case big = slow) one should be able to handle
-without specifying @code{SET OPTION SQL_BIG_SELECTS=1}. A # = is about 10
-examined records. The default is ``unlimited''.
-@item
-When comparing a @code{TIME}, @code{DATE}, @code{DATETIME} or @code{TIMESTAMP}
-column to a constant, the constant is converted to a time value before
-performing the comparison.
-This will make it easier to get ODBC (particularly Access97) to work with
-the above types. It should also make dates easier to use and the comparisons
-should be quicker than before.
-@item
-Applied patch from Jochen Wiedmann that allows @code{query()} in
-@code{mysqlperl} to take a query with @code{\0} in it.
-@item
-Storing a timestamp with a 2-digit year (@code{YYMMDD}) didn't work.
-@item
-Fix that timestamp wasn't automatically updated if set in an @code{UPDATE}
-clause.
-@item
-Now the automatic timestamp field is the FIRST timestamp field.
-@item
-@code{SELECT * INTO OUTFILE}, which didn't correctly if the outfile already
-existed.
-@item
-@code{mysql} now shows the thread ID when starting or doing a reconnect.
-@item
-Changed the default sort buffer size from 2M to 1M.
-@end itemize
-
-@node News-3.21.2, News-3.21.0, News-3.21.3, News-3.21.x
-@appendixsubsec Changes in release 3.21.2
-
-@itemize @bullet
-@item
-The range optimizer is coded, but only 85% tested. It can be enabled with
-@code{--new}, but it crashes core a lot yet...
-@item
-More portable. Should compile on AIX and alpha-digital.
-At least the @code{isam} library should be relatively 64-bit clean.
-@item
-New @code{isamchk} which can detect and fix more problems.
-@item
-New options for @code{isamlog}.
-@item
-Using new version of Automake.
-@item
-Many small portability changes (from the AIX and alpha-digital port)
-Better checking of pthread(s) library.
-@item
-czech error messages by @email{snajdr@@pvt.net}.
-@item
-Decreased size of some buffers to get fewer problems on systems with little
-memory. Also added more checks to handle ``out of memory'' problems.
-@item
-@code{mysqladmin}: you can now do @code{mysqladmin kill 5,6,7,8} to kill
-multiple threads.
-@item
-When the maximum connection limit is reached, one extra connection by a user
-with the @strong{PROCESS_ACL} privilege is granted.
-@item
-Added @code{-O backlog=#} option to @code{mysqld}.
-@item
-Increased maximum packet size from 512K to 1024K for client.
-@item
-Almost all of the function code is now tested in the internal test suite.
-@item
-@code{ALTER TABLE} now returns warnings from field conversions.
-@item
-Port changed to 3306 (got it reserved from ISI).
-@item
-Added a fix for Visual FoxBase so that any schema name from a table
-specification is automatically removed.
-@item
-New function @code{ASCII()}.
-@item
-Removed function @code{BETWEEN(a,b,c)}. Use the standard ANSI
-synax instead: @code{expr BETWEEN expr AND expr}.
-@item
-@strong{MySQL} no longer has to use an extra temporary table when sorting
-on functions or @code{SUM()} functions.
-@item
-Fixed bug that you couldn't use @code{tbl_name.field_name} in @code{UPDATE}.
-@item
-Fixed @code{SELECT DISTINCT} when using 'hidden group'. For example:
-@example
-mysql> SELECT DISTINCT MOD(some_field,10) FROM test
- GROUP BY some_field;
-@end example
-Note: @code{some_field} is normally in the @code{SELECT} part. ANSI SQL should
-require it.
-@end itemize
-
-@node News-3.21.0, , News-3.21.2, News-3.21.x
-@appendixsubsec Changes in release 3.21.0
-
-@itemize @bullet
-@item
-New reserved words used: @code{INTERVAL}, @code{EXPLAIN}, @code{READ},
-@code{WRITE}, @code{BINARY}.
-@item
-Added ODBC function @code{CHAR(num,...)}.
-@item
-New operator @code{IN}. This uses a binary search to find a match.
-@item
-New command @code{LOCK TABLES tbl_name [AS alias] @{READ|WRITE@} ...}
-@item
-Added @code{--log-update} option to @code{mysqld}, to get a log suitable for
-incremental updates.
-@item
-New command @code{EXPLAIN SELECT ...} to get information about how the
-optimizer will do the join.
-@item
-For easier client code, the client should no longer use
-@code{FIELD_TYPE_TINY_BLOB}, @code{FIELD_TYPE_MEDIUM_BLOB},
-@code{FIELD_TYPE_LONG_BLOB} or @code{FIELD_TYPE_VAR_STRING} (as
-previously returned by @code{mysql_list_fields}). You should instead only use
-@code{FIELD_TYPE_BLOB} or @code{FIELD_TYPE_STRING}. If you want exact
-types, you should use the command @code{SHOW FIELDS}.
-@item
-Added varbinary syntax: @code{0x######} which can be used as a string
-(default) or a number.
-@item
-@code{FIELD_TYPE_CHAR} is renamed to @code{FIELD_TYPE_TINY}.
-@item
-Changed all fields to C++ classes.
-@item
-Removed FORM struct.
-@item
-Fields with @code{DEFAULT} values no longer need to be @code{NOT NULL}.
-@item
-New field types:
-@table @code
-@item ENUM
-A string which can take only a couple of defined values. The value is
-stored as a 1-3 byte number that is mapped automatically to a string.
-This is sorted according to string positions!
-@item SET
-A string which may have one or many string values separated with ','.
-The string is stored as a 1-, 2-, 3-, 4- or 8-byte number where each bit stands
-for a specific set member. This is sorted according to the unsigned value
-of the stored packed number.
-@end table
-@item
-Now all function calculation is done with @code{double} or @code{long long}.
-This will provide the full 64-bit range with bit functions and fix some
-conversions that previously could result in precision losses. One should
-avoid using @code{unsigned long long} columns with full 64-bit range
-(numbers bigger than 9223372036854775807) because calculations are done
-with @code{signed long long}.
-@item
-@code{ORDER BY} will now put @code{NULL} field values first. @code{GROUP BY}
-will also work with @code{NULL} values.
-@item
-Full @code{WHERE} with expressions.
-@item
-New range optimizer that can resolve ranges when some keypart prefix is
-constant. Example:
-@example
-mysql> SELECT * FROM tbl_name
- WHERE key_part_1="customer"
- AND key_part_2>=10 AND key_part_2<=10;
-@end example
-@end itemize
-
-@node News-3.20.x, News-3.19.x, News-3.21.x, News
-@appendixsec Changes in release 3.20.x
-
-Changes from 3.20.18 to 3.20.32b are not documented here because the
-3.21 release branched here. And the relevant changes are also
-documented as changes to the 3.21 version.
-
-@menu
-* News-3.20.18:: Changes in release 3.20.18
-* News-3.20.17:: Changes in release 3.20.17
-* News-3.20.16:: Changes in release 3.20.16
-* News-3.20.15:: Changes in release 3.20.15
-* News-3.20.14:: Changes in release 3.20.14
-* News-3.20.13:: Changes in release 3.20.13
-* News-3.20.11:: Changes in release 3.20.11
-* News-3.20.10:: Changes in release 3.20.10
-* News-3.20.9:: Changes in release 3.20.9
-* News-3.20.8:: Changes in release 3.20.8
-* News-3.20.7:: Changes in release 3.20.7
-* News-3.20.6:: Changes in release 3.20.6
-* News-3.20.3:: Changes in release 3.20.3
-* News-3.20.0:: Changes in releases 3.20.0
-@end menu
-
-@node News-3.20.18, News-3.20.17, News-3.20.x, News-3.20.x
-@appendixsubsec Changes in release 3.20.18
-
-@itemize @bullet
-@item
-Added @code{-p#} (remove @code{#} directories from path) to @code{isamlog}.
-All files are written with a relative path from the database directory
-Now @code{mysqld} shouldn't crash on shutdown when using the
-@code{--log-isam} option.
-@item
-New @code{mysqlperl} version. It is now compatible with @code{msqlperl-0.63}.
-@item
-New @code{DBD} module available at @uref{http://www.mysql.com/Contrib}
-site.
-@item
-Added group function @code{STD()} (standard deviation).
-@item
-The @code{mysqld} server is now compiled by default without debugging
-information. This will make the daemon smaller and faster.
-@item
-Now one usually only has to specify the @code{--basedir} option to
-@code{mysqld}. All other paths are relative in a normal installation.
-@item
-@code{BLOB} columns sometimes contained garbage when used with a @code{SELECT}
-on more than one table and @code{ORDER BY}.
-@item
-Fixed that calculations that are not in @code{GROUP BY} work as expected
-(ANSI SQL extension).
-Example:
-@example
-mysql> SELECT id,id+1 FROM table GROUP BY id;
-@end example
-@item
-The test of using @code{MYSQL_PWD} was reversed. Now @code{MYSQL_PWD} is
-enabled as default in the default release.
-@item
-Fixed conversion bug which caused @code{mysqld} to core dump with
-Arithmetic error on Sparc-386.
-@item
-Added @code{--unbuffered} option to @code{mysql}, for new @code{mysqlaccess}.
-@item
-When using overlapping (unnecessary) keys and join over many tables,
-the optimizer could get confused and return 0 records.
-@end itemize
-
-@node News-3.20.17, News-3.20.16, News-3.20.18, News-3.20.x
-@appendixsubsec Changes in release 3.20.17
-
-@itemize @bullet
-@item
-You can now use @code{BLOB} columns and the functions @code{IS NULL} and
-@code{IS NOT NULL} in the @code{WHERE} clause.
-@item
-All communication packets and row buffers are now allocated dynamically
-on demand. The default value of @code{max_allowed_packet} is now 64K for
-the server and 512K for the client. This is mainly used to catch
-incorrect packets that could trash all memory. The server limit may be
-changed when it is started.
-@item
-Changed stack usage to use less memory.
-@item
-Changed @code{safe_mysqld} to check for running daemon.
-@item
-The @code{ELT()} function is renamed to @code{FIELD()}. The new
-@code{ELT()} function returns a value based on an index: @code{FIELD()}
-is the inverse of @code{ELT()} Example: @code{ELT(2,"A","B","C")} returns
-@code{"B"}. @code{FIELD("B","A","B","C")} returns @code{2}.
-@item
-@code{COUNT(field)}, where @code{field} could have a @code{NULL} value, now
-works.
-@item
-A couple of bugs fixed in @code{SELECT ... GROUP BY}.
-@item
-Fixed memory overrun bug in @code{WHERE} with many unoptimizable brace levels.
-@item
-Fixed some small bugs in the grant code.
-@item
-If hostname isn't found by @code{get_hostname}, only the IP is checked.
-Previously, you got @code{Access denied}.
-@item
-Inserts of timestamps with values didn't always work.
-@item
-@code{INSERT INTO ... SELECT ... WHERE} could give the error
-@code{Duplicated field}.
-@item
-Added some tests to @code{safe_mysqld} to make it ``safer''.
-@item
-@code{LIKE} was case sensitive in some places and case insensitive in others.
-Now @code{LIKE} is always case insensitive.
-@item
-@file{mysql.cc}: Allow @code{'#'} anywhere on the line.
-@item
-New command @code{SET OPTION SQL_SELECT_LIMIT=#}. See the FAQ for more details.
-@item
-New version of the @code{mysqlaccess} script.
-@item
-Change @code{FROM_DAYS()} and @code{WEEKDAY()} to also take a full
-@code{TIMESTAMP} or @code{DATETIME} as argument. Before they only took a
-number of type @code{YYYYMMDD} or @code{YYMMDD}.
-@item
-Added new function @code{UNIX_TIMESTAMP(timestamp_column)}.
-@end itemize
-
-@node News-3.20.16, News-3.20.15, News-3.20.17, News-3.20.x
-@appendixsubsec Changes in release 3.20.16
-
-@itemize @bullet
-@item
-More changes in MIT-pthreads to get them safer. Fixed also some link
-bugs at least in SunOS.
-@item
-Changed @code{mysqld} to work around a bug in MIT-pthreads. This makes multiple
-small @code{SELECT} operations 20 times faster. Now @code{lock_test.pl} should
-work.
-@item
-Added @code{mysql_FetchHash(handle)} to @code{mysqlperl}.
-@item
-The @code{mysqlbug} script is now distributed built to allow for reporting
-bugs that appear during the build with it.
-@item
-Changed @file{libmysql.c} to prefer @code{getpwuid()} instead of
-@code{cuserid()}.
-@item
-Fixed bug in @code{SELECT} optimizer when using many tables with the same
-column used as key to different tables.
-@item
-Added new latin2 and Russian KOI8 character tables.
-@item
-Added support for a dummy @code{GRANT} command to satisfy Powerbuilder.
-@end itemize
-
-@node News-3.20.15, News-3.20.14, News-3.20.16, News-3.20.x
-@appendixsubsec Changes in release 3.20.15
-
-@itemize @bullet
-@item
-Fixed fatal bug @code{packets out of order} when using MIT-pthreads.
-@item
-Removed possible loop when a thread waits for command from client
-and @code{fcntl()} fails. Thanks to Mike Bretz for finding this bug.
-@item
-Changed alarm loop in @file{mysqld.cc} because shutdown didn't always
-succeed in Linux.
-@item
-Removed use of @code{termbits} from @file{mysql.cc}. This conflicted with
-@code{glibc} 2.0.
-@item
-Fixed some syntax errors for at least BSD and Linux.
-@item
-Fixed bug when doing a @code{SELECT} as superuser without a database.
-@item
-Fixed bug when doing @code{SELECT} with group calculation to outfile.
-@end itemize
-
-@node News-3.20.14, News-3.20.13, News-3.20.15, News-3.20.x
-@appendixsubsec Changes in release 3.20.14
-
-@itemize @bullet
-@item
-If one gives @code{-p} or @code{--password} option to @code{mysql} without
-an argument, the user is solicited for the password from the tty.
-@item
-Added default password from @code{MYSQL_PWD} (by Elmar Haneke).
-@item
-Added command @code{kill} to @code{mysqladmin} to kill a specific
-@strong{MySQL} thread.
-@item
-Sometimes when doing a reconnect on a down connection this succeeded
-first on second try.
-@item
-Fixed adding an @code{AUTO_INCREMENT} key with @code{ALTER_TABLE}.
-@item
-@code{AVG()} gave too small value on some @code{SELECT}s with
-@code{GROUP BY} and @code{ORDER BY}.
-@item
-Added new @code{DATETIME} type (by Giovanni Maruzzelli
-@email{maruzz@@matrice.it}).
-@item
-Fixed that define @code{DONT_USE_DEFAULT_FIELDS} works.
-@item
-Changed to use a thread to handle alarms instead of signals on Solaris to
-avoid race conditions.
-@item
-Fixed default length of signed numbers. (George Harvey
-@email{georgeh@@pinacl.co.uk}.)
-@item
-Allow anything for @code{CREATE INDEX}.
-@item
-Add prezeros when packing numbers to @code{DATE}, @code{TIME} and
-@code{TIMESTAMP}.
-@item
-Fixed a bug in @code{OR} of multiple tables (gave empty set).
-@item
-Added many patches to MIT-pthreads. This fixes at least one lookup bug.
-@end itemize
-
-@node News-3.20.13, News-3.20.11, News-3.20.14, News-3.20.x
-@appendixsubsec Changes in release 3.20.13
-
-@itemize @bullet
-@item
-Added ANSI SQL94 @code{DATE} and @code{TIME} types.
-@item
-Fixed bug in @code{SELECT} with @code{AND}-@code{OR} levels.
-@item
-Added support for Slovenian characters. The @file{Contrib} directory contains
-source and instructions for adding other character sets.
-@item
-Fixed bug with @code{LIMIT} and @code{ORDER BY}.
-@item
-Allow @code{ORDER BY} and @code{GROUP BY} on items that aren't in the
-@code{SELECT} list.
-(Thanks to Wim Bonis @email{bonis@@kiss.de}, for pointing this out.)
-@item
-Allow setting of timestamp values in @code{INSERT}.
-@item
-Fixed bug with @code{SELECT ... WHERE ... = NULL}.
-@item
-Added changes for @code{glibc} 2.0. To get @code{glibc} to work, you should
-add the @file{gibc-2.0-sigwait-patch} before compiling @code{glibc}.
-@item
-Fixed bug in @code{ALTER TABLE} when changing a @code{NOT NULL} field to
-allow @code{NULL} values.
-@item
-Added some ANSI92 synonyms as field types to @code{CREATE TABLE}.
-@code{CREATE TABLE} now allows @code{FLOAT(4)} and @code{FLOAT(8)} to mean
-@code{FLOAT} and @code{DOUBLE}.
-@item
-New utility program @code{mysqlaccess} by @email{Yves.Carlier@@rug.ac.be}.
-This program shows the access rights for a specific user and the grant
-rows that determine this grant.
-@item
-Added @code{WHERE const op field} (by @email{bonis@@kiss.de}).
-@end itemize
-
-@node News-3.20.11, News-3.20.10, News-3.20.13, News-3.20.x
-@appendixsubsec Changes in release 3.20.11
-
-@itemize @bullet
-@item
-When using @code{SELECT ... INTO OUTFILE}, all temporary tables are ISAM
-instead of HEAP to allow big dumps.
-@item
-Changed date functions to be string functions. This fixed some ``funny''
-side effects when sorting on dates.
-@item
-Extended @code{ALTER TABLE} according to SQL92.
-@item
-Some minor compability changes.
-@item
-Added @code{--port} and @code{--socket} options to all utility programs and
-@code{mysqld}.
-@item
-Fixed MIT-pthreads @code{readdir_r()}. Now @code{mysqladmin create database}
-and @code{mysqladmin drop database} should work.
-@item
-Changed MIT-pthreads to use our @code{tempnam()}. This should fix the ``sort
-aborted'' bug.
-@item
-Added sync of records count in @code{sql_update}. This fixed slow updates
-on first connection. (Thanks to Vaclav Bittner for the test.)
-@end itemize
-
-@node News-3.20.10, News-3.20.9, News-3.20.11, News-3.20.x
-@appendixsubsec Changes in release 3.20.10
-
-@itemize @bullet
-@item
-New insert type: @code{INSERT INTO ... SELECT ...}
-@item
-@code{MEDIUMBLOB} fixed.
-@item
-Fixed bug in @code{ALTER TABLE} and @code{BLOB}s.
-@item
-@code{SELECT ... INTO OUTFILE} now creates the file in the current
-database directory.
-@item
-@code{DROP TABLE} now can take a list of tables.
-@item
-Oracle synonym @code{DESCRIBE} (@code{DESC}).
-@item
-Changes to @code{make_binary_distribution}.
-@item
-Added some comments to installation instructions about @code{configure}'s
-C++ link test.
-@item
-Added @code{--without-perl} option to @code{configure}.
-@item
-Lots of small portability changes.
-@end itemize
-
-@node News-3.20.9, News-3.20.8, News-3.20.10, News-3.20.x
-@appendixsubsec Changes in release 3.20.9
-
-@itemize @bullet
-@item
-@code{ALTER TABLE} didn't copy null bit. As a result, fields that were allowed
-to have @code{NULL} values were always @code{NULL}.
-@item
-@code{CREATE} didn't take numbers as @code{DEFAULT}.
-@item
-Some compatibility changes for SunOS.
-@item
-Removed @file{config.cache} from old distribution.
-@end itemize
-
-@node News-3.20.8, News-3.20.7, News-3.20.9, News-3.20.x
-@appendixsubsec Changes in release 3.20.8
-
-@itemize @bullet
-@item
-Fixed bug with @code{ALTER TABLE} and multi-part keys.
-@end itemize
-
-@node News-3.20.7, News-3.20.6, News-3.20.8, News-3.20.x
-@appendixsubsec Changes in release 3.20.7
-
-@itemize @bullet
-@item
-New commands: @code{ALTER TABLE}, @code{SELECT ... INTO OUTFILE} and
-@code{LOAD DATA INFILE}.
-@item
-New function: @code{NOW()}.
-@item
-Added new field @strong{file_priv} to @code{mysql/user} table.
-@item
-New script @code{add_file_priv} which adds the new field @strong{file_priv}
-to the @code{user} table. This script must be executed if you want to
-use the new @code{SELECT ... INTO} and @code{LOAD DATA INFILE ...} commands
-with a version of @strong{MySQL} earlier than 3.20.7.
-@item
-Fixed bug in locking code, which made @code{lock_test.pl} test fail.
-@item
-New files @file{NEW} and @file{BUGS}.
-@item
-Changed @file{select_test.c} and @file{insert_test.c} to include
-@file{config.h}.
-@item
-Added command @code{status} to @code{mysqladmin} for short logging.
-@item
-Increased maximum number of keys to 16 and maximum number of key parts to 15.
-@item
-Use of sub keys. A key may now be a prefix of a string field.
-@item
-Added @code{-k} option to @code{mysqlshow}, to get key information for a table.
-@item
-Added long options to @code{mysqldump}.
-@end itemize
-
-@node News-3.20.6, News-3.20.3, News-3.20.7, News-3.20.x
-@appendixsubsec Changes in release 3.20.6
-
-@itemize @bullet
-@item
-Portable to more systems because of MIT-pthreads, which will
-be used automatically if @code{configure} cannot find a @code{-lpthreads}
-library.
-@item
-Added GNU-style long options to almost all programs. Test with
-@code{@kbd{program} --help}.
-@item
-Some shared library support for Linux.
-@item
-The FAQ is now in @file{.texi} format and is available in @file{.html},
-@file{.txt} and @file{.ps} formats.
-@item
-Added new SQL function @code{RAND([init])}.
-@item
-Changed @code{sql_lex} to handle @code{\0} unquoted, but the client can't send
-the query through the C API, because it takes a str pointer.
-You must use @code{mysql_real_query()} to send the query.
-@item
-Added API function @code{mysql_get_client_info()}.
-@item
-@code{mysqld} now uses the @code{N_MAX_KEY_LENGTH} from @file{nisam.h} as
-the maximum allowed key length.
-@item
-The following now works:
-@example
-mysql> SELECT filter_nr,filter_nr FROM filter ORDER BY filter_nr;
-@end example
-Previously, this resulted in the error:
-@code{Column: 'filter_nr' in order clause is ambiguous}.
-@item
-@code{mysql} now outputs @code{'\0'}, @code{'\t'}, @code{'\n'} and @code{'\\'}
-when encountering ASCII 0, tab, newline or @code{'\'} while writing
-tab-separated output.
-This is to allow printing of binary data in a portable format.
-To get the old behavior, use @code{-r} (or @code{--raw}).
-@item
-Added german error messages (60 of 80 error messages translated).
-@item
-Added new API function @code{mysql_fetch_lengths(MYSQL_RES *)}, which
-returns an array of of column lengths (of type @code{uint}).
-@item
-Fixed bug with @code{IS NULL} in @code{WHERE} clause.
-@item
-Changed the optimizer a little to get better results when searching on a key
-part.
-@item
-Added @code{SELECT} option @code{STRAIGHT_JOIN} to tell the optimizer that
-it should join tables in the given order.
-@item
-Added support for comments starting with @code{'--'} in @file{mysql.cc}
-(Postgres syntax).
-@item
-You can have @code{SELECT} expressions and table columns in a @code{SELECT}
-which are not used in the group part. This makes it efficient to implement
-lookups. The column that is used should be a constant for each group because
-the value is calculated only once for the first row that is found for a group.
-@example
-mysql> SELECT id,lookup.text,sum(*) FROM test,lookup
- WHERE test.id=lookup.id GROUP BY id;
-@end example
-@item
-Fixed bug in @code{SUM(function)} (could cause a core dump).
-@item
-Changed @code{AUTO_INCREMENT} placement in the SQL query:
-@example
-INSERT into table (auto_field) values (0);
-@end example
-inserted 0, but it should insert an @code{AUTO_INCREMENT} value.
-@item
-@file{mysqlshow.c}: Added number of records in table. Had to change the
-client code a little to fix this.
-@item
-@code{mysql} now allows doubled @code{''} or @code{""} within strings for
-embedded @code{'} or @code{"}.
-@item
-New math functions:
-@code{EXP()}, @code{LOG()}, @code{SQRT()}, @code{ROUND()}, @code{CEILING()}.
-@end itemize
-
-@node News-3.20.3, News-3.20.0, News-3.20.6, News-3.20.x
-@appendixsubsec Changes in release 3.20.3
-
-@itemize @bullet
-@item
-The @code{configure} source now compiles a thread-free client library
-@code{-lmysqlclient}. This is the only library that needs to be linked
-with client applications. When using the binary releases, you must
-link with @code{-lmysql -lmysys -ldbug -lstrings} as before.
-@item
-New @code{readline} library from @code{bash-2.0}.
-@item
-LOTS of small changes to @code{configure} and makefiles (and related source).
-@item
-It should now be possible to compile in another directory using
-@code{VPATH}. Tested with GNU Make 3.75.
-@item
-@code{safe_mysqld} and @code{mysql.server} changed to be more compatible
-between the source and the binary releases.
-@item
-@code{LIMIT} now takes one or two numeric arguments.
-If one argument is given, it indicates the maximum number of rows in
-a result. If two arguments are given, the first argument indicates the offset
-of the first row to return, the second is the maximum number of rows.
-With this it's easy to do a poor man's next page/previous page WWW
-application.
-@item
-Changed name of SQL function @code{FIELDS()} to @code{ELT()}.
-Changed SQL function @code{INTERVALL()} to @code{INTERVAL()}.
-@item
-Made @code{SHOW COLUMNS} a synonym for @code{SHOW FIELDS}.
-Added compatibility syntax @code{FRIEND KEY} to @code{CREATE TABLE}. In
-@strong{MySQL}, this creates a non-unique key on the given columns.
-@item
-Added @code{CREATE INDEX} and @code{DROP INDEX} as compatibility functions.
-In @strong{MySQL}, @code{CREATE INDEX} only checks if the index exists and
-issues an error if it doesn't exist. @code{DROP INDEX} always succeeds.
-@item
-@file{mysqladmin.c}: added client version to version information.
-@item
-Fixed core dump bug in @code{sql_acl} (core on new connection).
-@item
-Removed @code{host}, @code{user} and @code{db} tables from database @code{test}
-in the distribution.
-@item
-@code{FIELD_TYPE_CHAR} can now be signed (-128 - 127) or unsigned (0 - 255)
-Previously, it was always unsigned.
-@item
-Bug fixes in @code{CONCAT()} and @code{WEEKDAY()}.
-@item
-Changed a lot of source to get @code{mysqld} to be compiled with SunPro
-compiler.
-@item
-SQL functions must now have a @code{'('} immediately after the function name
-(no intervening space).
-For example, @code{'user('} is regarded as beginning a function call, and
-@code{'user ('} is regarded as an identifier @code{user} followed by a
-@code{'('}, not as a function call.
-@end itemize
-
-@node News-3.20.0, , News-3.20.3, News-3.20.x
-@appendixsubsec Changes in release 3.20.0
-
-@itemize @bullet
-@item
-The source distribution is done with @code{configure} and Automake.
-It will make porting much easier. The @code{readline} library is included
-in the distribution.
-@item
-Separate client compilation:
-the client code should be very easy to compile on systems which
-don't have threads.
-@item
-The old Perl interface code is automatically compiled and installed.
-Automatic compiling of @code{DBD} will follow when the new @code{DBD} code
-is ported.
-@item
-Dynamic language support: @code{mysqld} can now be started with Swedish
-or English (default) error messages.
-@item
-New functions: @code{INSERT()}, @code{RTRIM()}, @code{LTRIM()} and
-@code{FORMAT()}.
-@item
-@code{mysqldump} now works correctly for all field types (even
-@code{AUTO_INCREMENT}). The format for @code{SHOW FIELDS FROM tbl_name}
-is changed so the @code{Type} column contains information suitable for
-@code{CREATE TABLE}. In previous releases, some @code{CREATE TABLE}
-information had to be patched when recreating tables.
-@item
-Some parser bugs from 3.19.5 (@code{BLOB} and @code{TIMESTAMP}) are corrected.
-@code{TIMESTAMP} now returns different date information depending on its
-create length.
-@item
-Changed parser to allow a database, table or field name to
-start with a number or @code{'_'}.
-@item
-All old C code from Unireg changed to C++ and cleaned up. This makes
-the daemon a little smaller and easier to understand.
-@item
-A lot of small bug fixes done.
-@item
-New @file{INSTALL} files (not final version) and some info regarding porting.
-@end itemize
-
-@node News-3.19.x, , News-3.20.x, News
-@appendixsec Changes in release 3.19.x
-
-@menu
-* News-3.19.5:: Changes in release 3.19.5
-* News-3.19.4:: Changes in release 3.19.4
-* News-3.19.3:: Changes in release 3.19.3
-@end menu
-
-@node News-3.19.5, News-3.19.4, News-3.19.x, News-3.19.x
-@appendixsubsec Changes in release 3.19.5
-
-@itemize @bullet
-@item
-Some new functions, some more optimization on joins.
-@item
-Should now compile clean on Linux (2.0.x).
-@item
-Added functions @code{DATABASE()}, @code{USER()}, @code{POW()},
-@code{LOG10()} (needed for ODBC).
-@item
-In a @code{WHERE} with an @code{ORDER BY} on fields from only one table,
-the table is now preferred as first table in a multi-join.
-@item
-@code{HAVING} and @code{IS NULL} or @code{IS NOT NULL} now works.
-@item
-A group on one column and a sort on a group function (@code{SUM()},
-@code{AVG()}...) didn't work together. Fixed.
-@item
-@code{mysqldump}: Didn't send password to server.
-@end itemize
-
-@node News-3.19.4, News-3.19.3, News-3.19.5, News-3.19.x
-@appendixsubsec Changes in release 3.19.4
-
-@itemize @bullet
-@item
-Fixed horrible locking bug when inserting in one thread and reading
-in another thread.
-@item
-Fixed one-off decimal bug. 1.00 was output as 1.0.
-@item
-Added attribute @code{'Locked'} to process list as info if a query is
-locked by another query.
-@item
-Fixed full magic timestamp. Timestamp length may now be 14, 12, 10, 8, 6, 4
-or 2 bytes.
-@item
-Sort on some numeric functions could sort incorrectly on last number.
-@item
-@code{IF(arg,syntax_error,syntax_error)} crashed.
-@item
-Added functions @code{CEILING()}, @code{ROUND()}, @code{EXP()}, @code{LOG()} and @code{SQRT()}.
-@item
-Enhanced @code{BETWEEN} to handle strings.
-@end itemize
-
-@node News-3.19.3, , News-3.19.4, News-3.19.x
-@appendixsubsec Changes in release 3.19.3
-
-@itemize @bullet
-@item
-Fixed @code{SELECT} with grouping on @code{BLOB} columns not to return
-incorrect @code{BLOB} info. Grouping, sorting and distinct on @code{BLOB}
-columns will not yet work as
-expected (probably it will group/sort by the first 7 characters in the
-@code{BLOB}). Grouping on formulas with a fixed string size (use @code{MID()}
-on a @code{BLOB}) should work.
-@item
-When doing a full join (no direct keys) on multiple tables with @code{BLOB}
-fields, the @code{BLOB} was garbage on output.
-@item
-Fixed @code{DISTINCT} with calculated columns.
-@end itemize
-
-@node Bugs, TODO, News, Top
-@appendix MySQL ¤Ç¤Î´ûÃΤΥ¨¥é¡¼¤È·ç¤±¤Æ¤¤¤ë¥Ç¥¶¥¤¥ó
-
-@itemize @bullet
-@item
-MIT-pthread ¤ò»ÈÍѤ¹¤ë¤È¤­¡¢Â¾¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¥Ó¥ë¥É½ÐÍè¤Þ¤»¤ó¡£
-¤³¤ì¤Ï MIT-pthread ¤ÎÊѹ¹¤òÍ׵᤹¤ë¤¿¤á¡¢²æ¡¹¤Ï¡¢¤³¤ì¤ò½¤Àµ¤·¤½¤¦¤Ë¤Ê¤¤¤Ç¤¹¡£
-@item
-@code{BLOB} values can't ``reliably'' be used in @code{GROUP BY} or
-@code{ORDER BY} or @code{DISTINCT}.
-¤³¤ì¤é¤Î¾ì¹ç¡¢ @code{BLOB} ¤ÎÈæ³Ó¤ÎºÝ¤Ë¤ÏºÇ½é¤Î @code{max_sort_length} ¥Ð¥¤¥È
-¡Ê¥Ç¥Õ¥©¥ë¥È1024¡Ë¤À¤±¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï @code{mysqld} ¤Î @code{-O max_sort_length} ¥ª¥×¥·¥ç¥ó¤ÇÊѹ¹²Äǽ¤Ç¤¹¡£
-A workaround for most cases is to use a substring:
-@code{SELECT DISTINCT LEFT(blob,2048) FROM tbl_name}.
-@item
-Calculation is done with @code{BIGINT} or @code{DOUBLE} (both are
-normally 64 bits long). It depends on the function which precision one
-gets. The general rule is that bit functions are done with @code{BIGINT}
-precision, @code{IF}, and @code{ELT()} with @code{BIGINT} or @code{DOUBLE}
-precision and the rest with @code{DOUBLE} precision. One should try to
-avoid using bigger unsigned long long values than 63 bits
-(9223372036854775807) for anything else than bit fields!
-@item
-Á´¤Æ¤Îʸ»ú·¿¤Î¥Õ¥£¡¼¥ë¥É¡¢@code{BLOB} ¤È @code{TEXT} ¤Ï¤Î¤¾¤¤¤Æ¡¢¤Ï¡¢
-¸¡º÷¤µ¤ì¤ë¤È¤­¤ËºÇ¸å¤Ë¤Ä¤¤¤Æ¤¤¤ë¥¹¥Ú¡¼¥¹¤ò¼«Æ°¤Ç¼è¤ê½ü¤­¤Þ¤¹¡£
- @code{CHAR} ·¿¤Ç¤Ï¤³¤ì¤Ï OK ¤Ç¡¢¤³¤ÎÆÃħ¤Ï ANSI SQL92 ¤Ë½¾¤Ã¤Æ¤¤¤ë¤È¸«¤Ê¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£
-@strong{MySQL} ¤Î¥Ð¥°¤Ï¡¢ @code{VARCHAR} ¤Ç¤âƱÍͤ˹ԤäƤ·¤Þ¤¦¤³¤È¤Ç¤¹¡£
-@item
-°ì¤Ä¤Î¥Æ¡¼¥Ö¥ë¤Ë @code{ENUM} ¤È @code{SET} ¥Õ¥£¡¼¥ë¥É¤Ï 255 ¤Þ¤Ç¤·¤«»ý¤Æ¤Þ¤»¤ó¡£
-@item
-@code{safe_mysqld} re-directs all messages from @code{mysqld} to the
-@code{mysqld} log. One problem with this is that if you execute
-@code{mysqladmin refresh} to close and reopen the log,
-@code{stdout} and @code{stderr} are still redirected to the old log.
-If you use @code{--log} extensively, you should edit @code{safe_mysqld} to
-log to @file{'hostname'.err} instead of @file{'hostname'.log} so you can
-easily reclaim the space for the old log by deleting the old one and
-executing @code{mysqladmin refresh}.
-@item
-In the @code{UPDATE} statement, columns are updated from left to right.
-If you refer to a updated column, you will get the updated value instead of the
-original value. For example:
-@example
-mysql> UPDATE tbl_name SET KEY=KEY+1,KEY=KEY+1
-@end example
-will update @code{KEY} with @code{2} instead of with @code{1}.
-@item
-You can't use temporary tables more than once in the same query.
-
-@example
-select * from temporary_table, temporary_table as t2;
-@end example
-
-@item
-Because @strong{MySQL} allows you to work with table types that doesn't
-support transactions (and thus can't @code{rollback} data) some things
-behaves a little different in @strong{MySQL} than in other SQL servers:
-(This is just to ensure that @strong{MySQL} never need to do a rollback
-for a SQL command). This may be a little akward at times as column
-values must be checked in the application, but this will actually give
-you a nice speed increase as it allows @strong{MySQL} to do some
-optimizations that otherwice would be hard to do.
-
-If you set a colum to a wrong value, @strong{MySQL} will instead of doing
-a rollback instead store the @code{best possible value} in the column.
-
-@itemize @bullet
-@item
-If you try to store a value outside of the range in a numerical column,
-@strong{MySQL} will instead store the smallest or biggest possible value in
-the column.
-@item
-If you try to store a string, that doesn't start with a number, into a
-numerical column @strong{MySQL} will store 0 into it.
-@item
-If you try to to store @code{NULL} into a column that doesn't take
-@code{NULL} values, @code{MySQL} will store 0 or @code{''} (empty
-string) in it instead. (This behavour can however be changed with the
--DDONT_USE_DEFAULT_FIELDS compile option).
-@item
-@strong{MySQL} allows you to store some wrong date values into
-@code{DATE} and @code{DATETIME} columns. (Like 2000-02-31 or 2000-02-00).
-If the date is totally wrong, @strong{MySQL} will store the special
-0000-00-00 date value in the column.
-@item
-If you set an @code{enum} to an not supported value, it will be set to
-the error value 'empty string', with numeric value 0.
-@end itemize
-@item
-If you execute a @code{PROCEDURE} on a query with returns an empty set then
-in some cases the @code{PROCEDURE} will not transform the columns.
-@end itemize
-
-The following is known bugs in earlier versions of @strong{MySQL}:
-
-@itemize @bullet
-@item
-You can get a hanged thread if you do a @code{DROP TABLE} on a table that is
-one among many tables that is locked with @code{LOCK TABLES}.
-
-@item
-In the following case you can get a core dump:
-@enumerate
-@item
-Delayed insert handler has pending inserts to a table.
-@item
-@code{LOCK table} with @code{WRITE}
-@item
-@code{FLUSH TABLES}
-@end enumerate
-
-@item
-Before @strong{MySQL} 3.23.2 an @code{UPDATE} that updated a key with
-a @code{WHERE} on the same key may have failed because the key was used to
-search for records and the same row may have been found multiple times:
-
-@example
-UPDATE tbl_name SET KEY=KEY+1 WHERE KEY > 100;
-@end example
-
-A workaround is to use:
-
-@example
-mysql> UPDATE tbl_name SET KEY=KEY+1 WHERE KEY+0 > 100;
-@end example
-
-This will work because @strong{MySQL} will not use index on expressions in
-the @code{WHERE} clause.
-@item
-@strong{MySQL} 3.23 ¤è¤êÁ°¤Ç¤Ï¡¢Á´¤Æ¤Î¿ôÃÍ·¿¤Ç¡¢¾¯¿ôÉôʬ¤¬ºï¤é¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢¤½¤Î¥Õ¥£¡¼¥ë¥É¤¬²¿·å¤Î¾®¿ôÉô¤ò»ý¤Ä¤«¡¢ÄêµÁ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿¡¢¤È
-¤¤¤¦¤³¤È¤Ç¤¹¡£ Á´¤Æ¤Î·ë²Ì¤Ï10¿Ê¤Î¿ô¤ÇÀµ¤·¤¯Ê֤äƤ­¤Þ¤·¤¿¡£
-@end itemize
-
-For platform-specific bugs, see the sections about compiling and porting.
-
-@cindex TODO
-@node TODO, Porting, Bugs, Top
-@appendix MySQL ¤Ë¾­Íè²Ã¤¨¤¿¤¤¤â¤Î (The TODO)
-
-@menu
-* TODO future:: Things that must done in the very near future
-* TODO sometime:: Things that have to be done sometime
-* TODO unplanned:: Some things we don't have any plans to do
-@end menu
-
-¤³¤Î¥ê¥¹¥È¤Î¤¹¤Ù¤Æ¤Ï¡¢¤½¤ì¤¬½ª¤ï¤ë¤À¤í¤¦½çÈ֤˽ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£
-¤â¤·¤¢¤Ê¤¿¤¬Í¥Àè½ç°Ì¤Ë±Æ¶Á¤òµÚ¤Ü¤·¤¿¤±¤ì¤Ð¡¢¤É¤¦¤«¥é¥¤¥»¥ó¥¹¤«¥µ¥Ý¡¼¥ÈÅÐÏ¿¤·¤Æ¡¢
-²æ¡¹¤Ë¤¢¤Ê¤¿¤¬¤è¤ê®¤¯Íߤ·¤¤¤â¤Î¤ò¸À¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-@xref{Licensing and Support}.
-
-@node TODO future, TODO sometime, TODO, TODO
-@appendixsec ¶á¤¤¾­Íè¤Ë´°Î»¤»¤Í¤Ð¤Ê¤é¤Ê¤¤¤â¤Î
-
-@itemize @bullet
-@item
-Fail safe replication.
-@item
-Optimize, test and document transactions safe tables
-@item
-ÉûÌ䤤¹ç¤ï¤»¡£ @code{select id from t where grp in (select grp from g where u > 100)}
-@item
-mysqld ¤Ë¡¢Æ±»þ¤Ë¿¤¯¤Î¥­¥ã¥é¥¯¥¿¡¦¥»¥Ã¥È¤ò¥µ¥Ý¡¼¥È¤µ¤»¤ë
-@item
-¤â¤·Â¾¤Î disk ¤Ë symlink ¤µ¤ì¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¤ËÂФ·¤Æ @code{ALTER TABLE} ¤ò
-¼Â¹Ô¤·¤¿¾ì¹ç¡¢°ì»þ¥Æ¡¼¥Ö¥ë¤ò¤³¤Î disk ¤ËºîÀ®¤¹¤ë¤è¤¦¤Ë¤¹¤ë
-@item
-@code{RENAME table as table, table as table [,...]}
-@item
-Allow users to change startup options.
-@item
-FreeBSD and MIT-pthreads; Do sleeping threads take CPU?
-@item
-Check if locked threads take any CPU.
-@item
-Change to use mkstemp() instead of tempnam() for system that supports the call.
-We need to add a my_mkstemp() function in mysys and also change the cache
-code to not create the filename until we do the actual open.
-@item
-¥­¡¼¤ÎÉôʬ¤Ç¤Î JOIN ¤òµö¤¹ (ºÇŬ²½ÌäÂê)
-@item
-Entry for @code{DECRYPT()}.
-@item
- @file{.frm} ¥Õ¥¡¥¤¥ë¤Ë @code{FOREIGN} ¥­¡¼¤ÎÄêµÁ¤òµ­²±¤¹¤ë¡£
-@item
-¥µ¡¼¥Ð¡¼¥µ¥¤¥É¤Î¥«¡¼¥½¥ë
-@item
-Check if @code{lockd} works with modern Linux kernels; If not, we have
-to fix @code{lockd}! To test this, start @code{mysqld} with
-@code{--enable-locking} and run the different fork* test suits. They shouldn't
-give any errors if @code{lockd} works.
-@item
-Allow SQL variables in @code{LIMIT}, like in @code{LIMIT @@a,@@b}.
-@item
-¼«Æ°¤Ç @code{DEFAULT} Ãͤò¥Õ¥£¡¼¥ë¥É¤ËÄɲ䷤ʤ¤¡£
-@code{DEFAULT} ¤ò»ý¤¿¤Ê¤¤¥Õ¥£¡¼¥ë¥É¤ò´Þ¤Þ¤Ê¤¤ @code{INSERT} ¤Î»ÈÍѤÏ
-¥¨¥é¡¼¤Ë¤¹¤ë
-@item
-¥¯¥¨¥ê¡¼¤È·ë²Ì¤Î¥­¥ã¥Ã¥·¥å¡£
-This should be done as a separated
-module that examines each query and if this is query is in the cache
-the cached result should be returned. When one updates a table one
-should remove as few queries as possible from the cache.
-This should give a big speed bost on machines with much RAM where
-queries are often repeated (like WWW applications).
-One idea would be to only cache queries of type:
-@code{SELECT CACHED ....}
-@item
-Fix @file{libmysql.c} to allow two @code{mysql_query()} commands in a row
-without reading results or give a nice error message when one does this.
-@item
-@code{BIT} ·¿¤ò 1 bit ¼è¤ë¤è¤¦¤ËºÇŬ²½ ¡Êº£ @code{BIT} ¤Ï°ìʸ»ú¤È¤ê¤Þ¤¹¡Ë
-@item
-¤Ê¤¼¤¤¤¯¤Ä¤«¤Î FreeBSD ¥·¥¹¥Æ¥à¤Ç MIT-pthreads @code{ctime()} ¤¬Æ°¤«¤Ê¤¤¤«¸¡¾Ú¡£
-@item
-Check if locked threads take any CPU.
-@item
-¹¹¿·¤Ë @code{ORDER BY} ¤òÄɲᣠThis would be handy with functions like:
-@code{generate_id(start,step)}.
-@item
-@code{TIMESTAMP} ¤È @code{AUTO_INCREMENT} ¥Õ¥£¡¼¥ë¥É¤ò¹¹¿·¤·¤Ê¤¤¤è¤¦¤Ë¡¢
- @code{IMAGE} ¥ª¥×¥·¥ç¥ó¤ò @code{LOAD DATA INFILE} ¤ËÄɲá£
-@item
-@code{LOAD DATA INFILE} ¤Ë°Ê²¼¤Îʸ¤òÍý²ò¤µ¤»¤ë¡§
-@example
-LOAD DATA INFILE 'file_name.txt' INTO TABLE tbl_name
-TEXT_FIELDS (text_field1, text_field2, text_field3)
-SET table_field1=concatenate(text_field1, text_field2), table_field3=23
-IGNORE text_field3
-@end example
-@item
-ËÜÅö¤Î @code{VARCHAR} ¤Î¥µ¥Ý¡¼¥È (MyISAM ¤Ë¤Ï¤³¤Î¥µ¥Ý¡¼¥È¤¬´û¤Ë¤¢¤ê¤Þ¤¹)
-@item
- @code{mysql} ¤«¤é¼«Æ°Åª¤Ë netscape ¤Ë½ÐÎÏ
-@item
-@code{LOCK DATABASES}. (¤¤¤í¤¤¤í¤Ê¥ª¥×¥·¥ç¥óÉÕ¤­¤Ç)
-@item
-@code{NATURAL JOIN}.
-@item
-Change sort to allocate memory in ``hunks'' to get better memory utilization.
-@item
-@code{DECIMAL} ¤È @code{NUMERIC} ·¿¤Ï »Ø¿ôɽ¼¨¤Î¿ô»ú¤òÆɤळ¤È¤¬½ÐÍè¤Þ¤»¤ó¡§
-¤³¤ì¤ò½¤Àµ¤¹¤ë¤Ë¤Ï¡¢
-@code{Field_decimal::store(const char *from,uint len)} ¤òºÆ¥³¡¼¥É¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó
-@item
-Fix @code{mysql.cc} to do fewer @code{malloc()} calls when hashing field
-names.
-@item
-´Ø¿ô¡§
-ADD_TO_SET(value,set) ¤È REMOVE_FROM_SET(value,set)
-@item
-@code{t1 JOIN t2 ON ...} ¤È @code{t1 JOIN t2 USING ...} ¤Î»ÈÍѤÎÄɲá£
-¸½ºß¡¢ @code{LEFT JOIN} ¤Î¤ß¤¬»ÈÍѤǤ­¤Þ¤¹¡£
-@item
-@code{unsigned long long} ·¿¤Î´°Á´¤Ê¥µ¥Ý¡¼¥È¡£
-@item
-@code{CASE} ´Ø¿ô
-@item
-@code{show status} ¤Ë¤â¤Ã¤È¿¤¯¤ÎÊÑ¿ô¤ò¡£
-@code{INSERT}/@code{DELETE}/@code{UPDATE} ʸ¤Î¥«¥¦¥ó¥È¡£
- ¥ì¥³¡¼¥É¤ÎÆɤ߹þ¤ß¤È¹¹¿·¤Î¥«¥¦¥ó¥È¡£
- 1¥Æ¡¼¥Ö¥ë¤Ç¤ÎSELECT¤ÈJOIN¤òȼ¤Ã¤¿SELECT¤Î¥«¥¦¥ó¥È¡£
- SELECT Ãæ¤Î¥Æ¡¼¥Ö¥ë¤Î¿ô¤Î¥«¥¦¥ó¥È¡£
- ¥­¡¼¥Ð¥Ã¥Õ¥¡¤Î reaad/write ¤Î¥Ò¥Ã¥È¿ô(ÍýÏÀÃͤȼ¿ô)¤Î¥«¥¦¥ó¥È¡£
- @code{ORDER BY}, @code{GROUP BY}, °ì»þ¥Æ¡¼¥Ö¥ë¤ÎºîÀ®¤Î¥«¥¦¥ó¥È
-@item
-¤â¤·¥¯¥¨¥ê¤ÎÅÓÃæ¤Ç @code{mysql} ¤òÃæÃǤ·¤¿¾ì¹ç¡¢¤¢¤Ê¤¿¤Ï¾¤«¤éÀܳ¤·¤Æ
-Áö¤Ã¤Æ¤¤¤ë¥¯¥¨¥ê¤ò kill ¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-ºÇ½ªÅª¤Ë¤Ï¡¢¤³¤¦¤¤¤Ã¤¿¤³¤È¤Ï¥µ¡¼¥Ð¡¼Æâ¤Ç¸¡ÃΤµ¤ì¤ë¤è¤¦¤Ë»î¤ß¤ë¤Ù¤­¤Ç¤¹¡£
-@item
-¥Æ¡¼¥Ö¥ë¤Î¾ðÊó¤Î¤¿¤á¤Î¥Ï¥ó¥É¥é¡¼¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ÎÄɲá£
- ¤½¤ì¤ò¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ë¤È¤·¤Æ»È¤¨¤ë¤è¤¦¤Ë¡£
-¤³¤ì¤Ï¤â¤·¤¢¤Ê¤¿¤¬¤¹¤Ù¤Æ¤Î¥Æ¡¼¥Ö¥ë¤Ë¤Ä¤¤¤Æ¾ðÊó¤ò¥ê¥¯¥¨¥¹¥È¤·¤¿¾ì¹ç¤Ï
-¾¯¤·ÃÙ¤¯¤Ê¤ë¤Ç¤·¤ç¤¦¡£ ¤·¤«¤·¤È¤Æ¤â½ÀÆðÀ­¤¬¤¢¤ê¤Þ¤¹¡£
-´ðËÜŪ¤Ê¥Æ¡¼¥Ö¥ë¤Ø¤Î @code{SHOW INFO FROM tbl_name} ¤Ç¤Ï¼Â¹Ô¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£
-@item
-UNICODE ¤Î¥µ¥Ý¡¼¥È
-@item
-@code{NATURAL JOIN}.
-@item
-Oracle like @code{CONNECT BY PRIOR ...} to search hierarchy structures.
-@item
-@code{RENAME DATABASE}
-@item
-@code{mysqladmin copy database new-database}.
-@item
-Processlist ¤Ï queries/thread ¤Î¿ô¤òɽ¼¨¤¹¤Ù¤­¡£
-@item
-@code{DELETE} ¤È @code{REPLACE} ¥ª¥×¥·¥ç¥ó¤ò @code{UPDATE} ʸ¤ËÄɲᣠ(
-¤³¤ì¤Ï¹¹¿·Ãæ¤Ëµ¯¤³¤Ã¤¿¥­¡¼¤Î½ÅÊ£¥¨¥é¡¼¤Î¤¢¤ë¥ì¥³¡¼¥É¤ò
-Á´¤Æºï½ü¤¹¤ë¤Ç¤·¤ç¤¦).
-@item
-Change the format of @code{DATETIME} to store fractions of seconds.
-@item
-ANSI92 ¤È ODBC 3.0 ·¿¤Ç¤«¤±¤Æ¤¤¤ëʪÁ´¤Æ¤òÄɲá£
-@item
-Change table names from empty strings to @code{NULL} for calculated columns.
-@item
-Don't use 'Item_copy_string' on numerical values to avoid
-number->string->number conversion in case of:
-@code{SELECT COUNT(*)*(id+0) FROM table_name GROUP BY id}
-@item
-Make it possible to use the new GNU regexp library instead of the current
-one (The GNU library should be much faster than the old one).
-@item
-Change that @code{ALTER TABLE} doesn't abort clients that executes
-@code{INSERT DELAYED}.
-@item
-Allow @code{select a from crash_me left join crash_me2 using (a)}; In this
-case a is assumed to come from the crash_me table.
-@item
-@code{LOAD DATA INFILE 'file_name' INTO TABLE 'table_name' ERRORS TO err_table_name}
-which would cause any errors/warnings to be logged into the err_table_name
-table. That table would have a structure like:
-
-line_number - line number in data file
-error_message - the error/warning message
-and maybe
- data_line - the line from the data file
-@item
-Fix that when columns referenced in an @code{UPDATE} clause contains the old
-values before the update started.
-@item
-Allow update of varibles in @code{UPDATE} statements. For example:
-@code{UPDATE TABLE foo SET @@a=a+b,a=@@a, b=@@a+c}
-@item
-@code{myisamchk}, @code{REPAIR} and @code{OPTIMIZE TABLE} should be able
-to handle cases where the data and/or index files are symbolic links.
-@item
-Add simulation of @code{pread()}/@code{pwrite()} on windows to enable
-concurrent inserts.
-@end itemize
-
-@node TODO sometime, TODO unplanned, TODO future, TODO
-@appendixsec ¤¤¤Ä¤«¤Ï¹Ô¤¦¤Ù¤­¤â¤Î
-
-@itemize @bullet
-@item
-Implement function: @code{get_changed_tables(timeout,table1,table2,...)}
-@item
-Atomic updates; This includes a language that one can even use for
-a set of stored procedures.
-@item
-@code{update items,month set items.price=month.price where items.id=month.id;}
-@item
-Change reading through tables to use memmap when possible. Now only
-compressed tables use memmap.
-@item
-Add a new privilege @strong{'Show_priv'} for @code{SHOW} commands.
-@item
-Make the automatic timestamp code nicer. Add timestamps to the update
-log with @code{SET TIMESTAMP=#;}
-@item
-Use read/write mutex in some places to get more speed.
-@item
-Full foreign key support. One probably wants to implement a procedural
-language first.
-@item
-Simple views (first on one table, later on any expression).
-@item
-Automatically close some tables if a table, temporary table or temporary files
-gets error 23 (not enough open files).
-@item
-When one finds a field=#, change all occurrences of field to #. Now this
-is only done for some simple cases.
-@item
-Change all const expressions with calculated expressions if possible.
-@item
-Optimize key = expression. At the moment only key = field or key =
-constant are optimized.
-@item
-Join some of the copy functions for nicer code.
-@item
-Change @file{sql_yacc.yy} to an inline parser to reduce its size and get
-better error messages (5 days).
-@item
-Change the parser to use only one rule per different number of arguments
-in function.
-@item
-Use of full calculation names in the order part. (For ACCESS97)
-@item
-@code{UNION}, @code{MINUS}, @code{INTERSECT} and @code{FULL OUTER JOIN}.
-(Currently only @code{LEFT OUTER JOIN} is supported)
-@item
-Allow @code{UNIQUE} on fields that can be @code{NULL}.
-@item
-@code{SQL_OPTION MAX_SELECT_TIME=#} to put a time limit on a query.
-@item
-Make the update log to a database.
-@item
-Negative @code{LIMIT} to retrieve data from the end.
-@item
-Alarm around client connect/read/write functions.
-@item
-Make a @code{mysqld} version which isn't multithreaded (3-5 days).
-@item
-Please note the changes to @code{safe_mysqld}: according to FSSTND (which
-Debian tries to follow) PID files should go into @file{/var/run/<progname>.pid}
-and log files into @file{/var/log}. It would be nice if you could put the
-"DATADIR" in the first declaration of "pidfile" and "log", so the
-placement of these files can be changed with a single statement.
-@item
-Better dynamic record layout to avoid fragmentation.
-@item
-@code{UPDATE SET blob=read_blob_from_file('my_gif') where id=1;}
-@item
-Allow a client to request logging.
-@item
-Add use of @code{zlib()} for @code{gzip}-ed files to @code{LOAD DATA INFILE}.
-@item
-Fix sorting and grouping of @code{BLOB} columns (partly solved now).
-@item
-Stored procedures. This is currently not regarded to be very
-important as stored procedures are not very standardized yet.
-Another problem is that true stored procedures make it much harder for
-the optimizer and in many cases the result is slower than before
-We will, on the other hand, add a simple (atomic) update language that
-can be used to write loops and such in the @strong{MySQL} server.
-@item
-Change to use semaphores when counting threads. One should first implement
-a semaphore library to MIT-pthreads.
-@item
-Don't assign a new @code{AUTO_INCREMENT} value when one sets a column to 0.
-Use @code{NULL} instead.
-@item
-Add full support for @code{JOIN} with parentheses.
-@item
-Reuse threads for systems with a lot of connections.
-@item
-As an alternative for one thread / connection manage a pool of threads
-to handle the queries.
-@item
-Allow one to get more than one lock with @code{GET_LOCK}. When doing this,
-one must also handle the possible deadlocks this change will introduce.
-@end itemize
-
-Time is given according to amount of work, not real time. TcX's main
-business is the use of @strong{MySQL} not the development of it. But
-because TcX is a very flexible company, we have put a lot of resources
-into the development of @strong{MySQL}.
-
-@node TODO unplanned, , TODO sometime, TODO
-@appendixsec ¹Ô¤¦Í½Äê¤Î¤Ê¤¤Êª
-
-@itemize @bullet
-@item
-Nothing; In the long run we plan to be fully ANSI 92 / ANSI 99 compliant.
-@end itemize
-
-@node Porting, Regexp, TODO, Top
-@appendix ¾¤Î¥·¥¹¥Æ¥à¤Ø¤Î°Ü¿¢¤Ë¤Ä¤¤¤Æ
-
-A working Posix thread library is needed for the server. On Solaris 2.5
-we use Sun PThreads (the native thread support in 2.4 and earlier
-versions are not good enough) and on Linux we use LinuxThreads by Xavier
-Leroy, @email{Xavier.Leroy@@inria.fr}.
-
-The hard part of porting to a new Unix variant without good native
-thread support is probably to port MIT-pthreads. See
-@file{mit-pthreads/README} and
-@uref{http://www.humanfactor.com/pthreads/, Programming POSIX Threads}.
-
-The @strong{MySQL} distribution includes a patched version of
-Provenzano's Pthreads from MIT (see
-@uref{http://www.mit.edu:8001/people/proven/pthreads.html, MIT Pthreads
-web page}). This can be used for some operating systems that do not
-have POSIX threads.
-
-It is also possible to use another user level thread package named
-FSU Pthreads (see
-@uref{http://www.informatik.hu-berlin.de/~mueller/pthreads.html, FSU Pthreads
-home page}). This implementation is being used for the SCO port.
-
-See the @file{thr_lock.c} and @file{thr_alarm.c} programs in the @file{mysys}
-directory for some tests/examples of these problems.
-
-Both the server and the client need a working C++ compiler (we use @code{gcc}
-and have tried SparcWorks). Another compiler that is known to work is the
-Irix @code{cc}.
-
-To compile only the client use @code{./configure --without-server}.
-
-There is currently no support for only compiling the server, nor is it
-likly to be added unless someone has a good reason for it.
-
-If you want/need to change any @file{Makefile} or the configure script you must
-get Automake and Autoconf. We have used the @code{automake-1.2} and
-@code{autoconf-2.12} distributions.
-
-All steps needed to remake everything from the most basic files.
-
-@example
-/bin/rm */.deps/*.P
-/bin/rm -f config.cache
-aclocal
-autoheader
-aclocal
-automake
-autoconf
-./configure --with-debug --prefix='your installation directory'
-
-# The makefiles generated above need GNU make 3.75 or newer.
-# (called gmake below)
-gmake clean all install init-db
-@end example
-
-If you run into problems with a new port, you may have to do some debugging
-of @strong{MySQL}!
-@xref{Debugging server}.
-
-@strong{Note:} Before you start debugging @code{mysqld}, first get the test
-programs @code{mysys/thr_alarm} and @code{mysys/thr_lock} to work. This
-will ensure that your thread installation has even a remote chance to work!
-
-@menu
-* Debugging server:: Debugging a @strong{MySQL} server
-* Debugging client:: Debugging a @strong{MySQL} client
-* RTS-threads:: Comments about RTS threads
-* Thread packages:: Differences between different thread packages
-@end menu
-
-@node Debugging server, Debugging client, Porting, Porting
-@appendixsec MySQL server ¤Î¥Ç¥Ð¥Ã¥°
-
-¤â¤·¤¢¤Ê¤¿¤¬ @strong{MySQL} ¤Î¤È¤Æ¤â¿·¤·¤¤¤¢¤ëµ¡Ç½¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢
- @code{--skip-new} (¤³¤ì¤ÏÁ´¤¯¿·¤·¤¤¡¢ÀøºßŪ¤Ë´í¸±¤Êµ¡Ç½¤ò̵¸ú¤Ë¤·¤Þ¤¹)
-¤Þ¤¿¤Ï @code{--safe-mode} (¤³¤ì¤ÏÌäÂê¤òÀ¸¤¸¤µ¤»¤ë¤«¤â¤·¤ì¤Ê¤¤Â¿¤¯¤ÎºÇŬ²½¤ò̵¸ú¤Ë¤·¤Þ¤¹)
-¥ª¥×¥·¥ç¥ó¤Ç mysqld ¤ò¼Â¹Ô¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-@xref{Crashing}.
-
-¤â¤· @code{mysqld} ¤¬µ¯Æ°¤·¤Ê¤¤¤è¤¦¤Ê¤é¡¢ @code{my.cnf} ¤¬Ìµ¤¤¤«¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
-@code{my.cnf} ¤Î°ú¿ô¤Ï @code{mysqld --print-defaults} ¤Ç¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£
-¤Þ¤¿ @code{mysqld --no-defaults ...} ¤Çµ¯Æ°¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢
- @code{my.cnf} ¤ò̵»ë¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-
-¤â¤·¤¢¤ë¤È¤Æ¤âÆüì¤ÊÌäÂ꤬¤¢¤ì¤Ð¡¢¤¢¤Ê¤¿¤Ï¡¢¤¤¤Ä¤â @strong{MySQL} ¤ò
-¥Ç¥Ð¥Ã¥°¤¹¤ë¤è¤¦»î¤ß¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤ì¤ò¹Ô¤¦¤Ë¤Ï¡¢ @strong{MySQL} ¤ò
- @code{--with-debug} ¥ª¥×¥·¥ç¥óÉÕ¤­¤Ç configure ¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-@strong{MySQL} ¤¬¥Ç¥Ð¥Ã¥®¥ó¥°¤òÍ­¸ú¤Ë¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¤«¤ò
-ÃΤë¤Ë¤Ï¡¢ @code{mysqld --help} ¤È¤·¤Þ¤¹¡£ ¤â¤· @code{--debug} ¥Õ¥é¥°¤¬
-¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ì¤Ð¥Ç¥Ð¥Ã¥°¤¬Í­¸ú¤Ç¤¹¡£ @code{mysqladmin ver} ¤â
-@code{mysqld} ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò¥ê¥¹¥È¤Ç¤­¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ï
- @code{mysql ... -debug} ¤È¡¢¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Ëɽ¼¨¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£
-
-gcc ¤« egcs ¤Î¾ì¹ç¡¢¿ä¾©¤¹¤ë configure ¤Î¥é¥¤¥ó¤Ï¡§
-
-@example
-CC=gcc CFLAGS="-O6" CXX=gcc CXXFLAGS="-O6 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-debug
-@end example
-
-¤³¤ì¤Ï @code{libstdc++} ¥é¥¤¥Ö¥é¥ê¤È C++ ¤ÎÎã³°¤Ë¤è¤ëÌäÂê¤òÈò¤±¤ë¤³¤È¤¬½ÐÍè¤ë¤Ç¤·¤ç¤¦¡£
-(many compilers have problems with C++ exceptions in threaded
-code).
-
-If @code{mysqld} stops crashing when you compile it with
-@code{--with-debug}, you have probably found a compiler bug or a timing
-bug within @strong{MySQL}. In this case you can try to add @code{-g} to
-the @code{CFLAGS} and @code{CXXFLAGS} variables above and not use
-@code{--with-debug}. If @code{mysqld} now dies, you can at least
-attach to it with @code{gdb} or use @code{gdb} on the core file to find out what happened.
-
-¤â¤· @code{mysqld} ¥µ¡¼¥Ð¡¼¤Î¥¯¥é¥Ã¥·¥å¤òľ¤Ë°ú¤­µ¯¤³¤¹¤³¤È¤¬¤Ç¤­¤ë¤Ê¤é¡¢
-¤¢¤Ê¤¿¤Ï¤³¤Î¥È¥ì¡¼¥¹¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡§
-
-@code{mysqld} ¥µ¡¼¥Ð¡¼¤ò¥È¥ì¡¼¥¹¥í¥°¥Õ¥¡¥¤¥ë @file{/tmp/mysql.trace} ¥ª¥×¥·¥ç¥ó¤Çµ¯Æ°¡£
-¤³¤Î¥í¥°¥Õ¥¡¥¤¥ë¤Ï¤È¤Æ¤âÂ礭¤¯¤Ê¤ê¤Þ¤¹¡£
-
-@code{mysqld --debug --log}
-
-¤«
-
-@code{mysqld --debug=d,info,error,query,general,where:O,/tmp/mysql.trace}
-
-¤³¤ì¤Ï½ÅÍפʥ¿¥°¤Î¤ß¤ò½ÐÎϤ·¤Þ¤¹¡£
-
- @strong{MySQL} ¤ò¥Ç¥Ð¥Ã¥°¤Ç configure ¤¹¤ë¤È¡¢¼«Æ°¤Ç¿¤¯¤Î°ÂÁ´¤Ê¸¡ºº´Ø¿ô¤¬
-enable ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤ì¤Ï @code{mysqld} ¤Î¾õÂÖ¤ò¥â¥Ë¥¿¡¼¤Ç¤­¤Þ¤¹¡£
-¤â¤·¤½¤ì¤é´Ø¿ô¤¬¤Ê¤Ë¤« ``ͽ´ü¤»¤Ì¤³¤È'' ¤òȯ¸«¤·¤¿¤é¡¢¤½¤ì¤é¤ò
-@code{stderr} ¤Ë½ñ¤­½Ð¤·¤Þ¤¹¡£ ¤³¤ì¤Ï @code{safe_mysqld} ¤¬¼õ¤±¼è¤Ã¤Æ error ¥í¥°¤Ë
-½ñ¤­½Ð¤·¤Þ¤¹¡ª ¤³¤Î¤³¤È¤Ï¤É¤¦¤¤¤¦¤³¤È¤«¤È¤¤¤¦¤È¡¢ @strong{MySQL} ¤Ëͽ´ü¤»¤Ì¤³¤È¤¬
-µ¯¤­¤¿¾ì¹ç¡¢¤Þ¤ººÇ½é¤Ë¤¹¤Ù¤­¤³¤È¤Ï¡¢ @strong{MySQL} ¤ò¥Ç¥Ð¥Ã¥°Í­¸ú¤Ë¤·¤Æ
-configure ¤¹¤ë¤³¤È¤Ç¤¹¡ª ¡Ê¼¡¤Ë¡¢¤â¤Á¤í¤ó¡¢ @email{mysql@@lists.mysql.com} ¤Ë
-¥á¡¼¥ë¤òÁ÷¤ê¡¢help ¤òʹ¤¯¤³¤È¤Ç¤¹¡£ Á´¤Æ¤Î¥Ð¥°¥ì¥Ý¡¼¥È¡¢@strong{MySQL} ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë
-´ØÏ¢¤¹¤ë¼ÁÌä¤Ï¡¢ @code{mysqlbug} ¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡ª¡Ë
-
-¤Û¤È¤ó¤É¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¤â¤· @code{mysqld} ¤¬¥¯¥é¥Ã¥·¥å¤¹¤ë¤Ê¤é¡¢
- @code{gdb} ¤«¤é @code{mysqld} ¤òµ¯Æ°¤µ¤»¤Æ¿¤¯¤Î¾ðÊó¤òÆÀ¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
-
-Linux ¾å¤Ç¤Î¤¤¤¯¤Ä¤«¤Î @code{gdb} ¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢
- @code{mysqld} ¥¹¥ì¥Ã¥É¤Î¥Ç¥Ð¥Ã¥°¤ò²Äǽ¤Ë¤¹¤ë¾ì¹ç¡¢
- @code{run --one-thread} ¤ò»ÈÍѤ·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-¤³¤Î¾ì¹ç¡¢°ìÅ٤ˤ¿¤À°ì¤Ä¤Îactive¤Ê¥¹¥ì¥Ã¥É¤À¤±¤ò»ý¤Ä¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-It's very hard to debug @strong{MySQL} under @code{gdb} if you do a lot of
-new connections the whole time as @code{gdb} doesn't free the memory for
-old threads. You can avoid this problem by starting @code{mysqld} with
-@code{-O thread_cache_size= 'max_connections +1'}. In most cases just
-using @code{-O thread_cache_size= 5'} will help a lot!
-
-¤â¤· Linux ¾å¤Ç gdb 4.17.x ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢ @file{.gdb} ¥Õ¥¡¥¤¥ë¤ò
-¤¤¤«¤Ë¤·¤¿¤¬¤Ã¤Æ¡¢¥«¥ì¥ó¥È¤Î¥Ç¥£¥ì¥¯¥È¥ê¡¼¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤Ù¤­¤Ç¤¹¡§
-
-@example
-set print sevenbit off
-handle SIGUSR1 nostop noprint
-handle SIGUSR2 nostop noprint
-handle SIGWAITING nostop noprint
-handle SIGLWP nostop noprint
-handle SIGPIPE nostop
-handle SIGALRM nostop
-handle SIGHUP nostop
-handle SIGTERM nostop noprint
-@end example
-
-If you have problems debugging threads with gdb, you should download
-gdb 5.x and try this instead. The new gdb version has very improved
-thread handling!
-
-°Ê²¼¤Ï mysqld ¤Î¥Ç¥Ð¥Ã¥°Îã¤Ç¤¹¡§
-
-@example
-shell> gdb /usr/local/libexec/mysqld
-gdb> run
-...
-back # mysqld ¤¬¥¯¥é¥Ã¥·¥å¤·¤¿ºÝ¡¢¤³¤ì¤ò¹Ô¤¤¤Þ¤¹
-info locals
-up
-info locals
-up
-...
-(until you get some information about local variables)
-
-quit
-@end example
-
-¾åµ­¤Î½ÐÎϤò¡¢ @code{mysqlbug} ¤ÇºîÀ®¤·¤¿¥á¡¼¥ë¤Ë´Þ¤ß¡¢
-¤½¤·¤Æ @code{mysql@@lists.mysql.com}. ¤ËÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-
-¤â¤· @code{mysqld} ¤¬¥Ï¥ó¥°¤¹¤ë¤Ê¤é¡¢
- @code{strace} ¤ä @code{/usr/proc/bin/pstack} ¤Î¤è¤¦¤Ê
-¥·¥¹¥Æ¥à¥Ä¡¼¥ë¤ò»ÈÍѤ·¤Æ @code{mysqld} ¤¬¤É¤³¤Ç¥Ï¥ó¥°¤·¤Æ¤¤¤ë¤«
-Ä´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
-
-¤â¤· @code{mysqld} ¤¬ CPU ¤ä ¥á¥â¥ê¡¼ ¤ò¿©¤¤»Ï¤á¤¿¤ê¡¢``¥Ï¥ó¥°'' ¤·¤¿¤ê¤¹¤ë¤Ê¤é¡¢
- @code{mysqladmin processlist status} ¤ò»ÈÍѤ·¤Æ狼¤¬Â¿¤¯¤Î»þ´Ö¤Î¤«¤«¤ë
-¥¯¥¨¥ê¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¤«³Î¤«¤á¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
-¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎÌäÂê¤ä¿·¤·¤¤¥¯¥é¥¤¥¢¥ó¥È¤¬Àܳ¤Ç¤­¤Ê¤¤¤È¤­¤ÎÌäÂê¤È
-¤â¤·¤¢¤Ê¤¿¤¬¹Í¤¨¤ë¤Ê¤é¡¢
-¤¤¤¯¤Ä¤«¤Î¥¦¥¤¥ó¥É¥¦¤Ç @code{mysqladmin -i10 processlist status} ¤ò
-¼Â¹Ô¤¹¤ë¤Î¤Ï¤è¤¤¹Í¤¨¤Ç¤·¤ç¤¦¡£
-
-¤â¤· @code{mysqld} ¤¬»à¤ó¤À¤ê¥Ï¥ó¥°¤·¤¿¤ê¤¹¤ë¤Ê¤é¡¢ @code{mysqld} ¤ò
-@code{--log} ¤Çµ¯Æ°¤¹¤Ù¤­¤Ç¤¹¡£ ºÆ¤Ó @code{mysqld} ¤¬»à¤ó¤À¤é¡¢
-¤¢¤Ê¤¿¤Ï¥í¥°¥Õ¥¡¥¤¥ëÃæ¤Î¡¢ @code{mysqld} ¤ò kill ¤¹¤ë¥¯¥¨¥ê¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
-@code{mysqld} ¤ò @code{--log} ¥ª¥×¥·¥ç¥ó¤Çµ¯Æ°¤¹¤ëÁ°¤Ë¡¢
-Á´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ò @code{myisamchk} ¤Ç¥Á¥§¥Ã¥¯¤¹¤Ù¤­¤Ç¤¹¡£
-¡ÊÁ°¤Î¥¯¥é¥Ã¥·¥å»þ¤Ë¥Æ¡¼¥Ö¥ë¤¬²õ¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¤Î¤Ç¡Ë
-@xref{Maintenance}.
-
-¤â¤· @code{mysqld --log} ¤Ç¥í¥°¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¤Ê¤é¡¢'hostname' ¥í¥°¥Õ¥¡¥¤¥ë¡¢
-¤³¤ì¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¤¬¡¢¤³¤ì¤ò¥Á¥§¥Ã¥¯¤·¡¢ÌäÂê¤ò°ú¤­µ¯¤³¤¹¥¯¥¨¥ê
-¤ò¸«¤Ä¤±¤Þ¤¹¡£
-mysqld ¤¬Å¬Àڤ˥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»ÈÍѤ¹¤ë¤Î¤Ë»þ´Ö¤¬¤È¤Æ¤â¤«¤«¤ëÁ´¤Æ¤Î @code{SELECT} ʸ¤ò
- @code{EXPLAIN} ¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤ò»î¤ß¤Þ¤¹¡£ @xref{EXPLAIN, , @code{EXPLAIN}}.
-¤Þ¤¿¡¢@code{mysql} ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï½ÐÍè¤Ê¤«¤Ã¤¿¡¢Ê£»¨¤Ê¥¯¥¨¥ê¤â¥Æ¥¹¥È¤¹¤Ù¤­¤Ç¤¹¡£
-
-¤â¤·¥¨¥é¡¼¥í¥°¥Õ¥¡¥¤¥ë(@file{hostname.err})Ãæ¤Ë @code{mysqld restarted} ¤È¤¤¤¦Ê¸¤¬¤¢¤ë¤Ê¤é¡¢
-@code{mysqld} ¤ò¼ºÇÔ¤µ¤»¤ë¥¯¥¨¥ê¤ò¸«¤Ä¤±¤Þ¤¹¡£
-¤â¤·¤³¤ì¤¬µ¯¤­¤ë¤Ê¤é¡¢@code{myisamchk} (@pxref{Maintenance}) ¤ÇÁ´¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ò¥Á¥§¥Ã¥¯¤·¡¢
-@strong{MySQL} ¥í¥°¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¤½¤Î¥¯¥¨¥ê¤ò¥Æ¥¹¥È¤¹¤Ù¤­¤Ç¤¹¡£
-¤â¤·¤½¤Î¤è¤¦¤Ê¥¯¥¨¥ê¤ò¤ß¤Ä¤±¤¿¤Ê¤é¡¢¤Þ¤ººÇ½é¤ËºÇ¿·¤Î @strong{MySQL} ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É
-¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤·¤½¤ì¤Ç¤â¤À¤á¤Ç¡¢¤«¤Ä @code{mysql} ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Î
-¥¢¡¼¥«¥¤¥Ö¤Ë¤â¤Ê¤Ë¤â¸«¤Ä¤±¤ë¤³¤È¤¬½ÐÍè¤Ê¤«¤Ã¤¿¤Ê¤é¡¢ @email{mysql@@lists.mysql.com} ¤Ë
-¥Ð¥°¥ì¥Ý¡¼¥È¤ò½Ð¤¹¤Ù¤­¤Ç¤¹¡£ ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Î¥¢¡¼¥«¥¤¥Ö¤Ø¤Î¥ê¥ó¥¯¤Ï
-@uref{http://www.mysql.com/doc.html, @strong{MySQL} documentation page}.
-
-¤â¤·ÉÔÀµ¤Ê¥Æ¡¼¥Ö¥ë¤ò¤¨¤¿¤ê¡¢ @code{mysqld} ¤¬¾ï¤Ë¤¤¤¯¤Ä¤«¤Î update ¥³¥Þ¥ó¥É¤Ç
-¼ºÇÔ¤¹¤ë¤Ê¤é¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¤³¤Î¥Ð¥°¤ÎºÆ¸½¤ò¥Æ¥¹¥È¤·¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-mysqld daemon Ää»ß (@code{mysqladmin shutdown} ¤Ç)
-@item
-@code{myisamchk -s database/*.MYI} ¤ÇÁ´¥Æ¡¼¥Ö¥ë¤ò¥Á¥§¥Ã¥¯.
-@code{myisamchk -r database/table.MYI} ¤Ç°­¤¤¥Æ¡¼¥Ö¥ë¤ò½¤Àµ¡£
-@item
-@code{mysqld} ¤ò @code{--log-update} ¤Ç¥¹¥¿¡¼¥È. @xref{Update log}.
-@item
-²õ¤ì¤¿¥Æ¡¼¥Ö¥ë¤òÆÀ¤¿»þ¡¢@code{mysqld server} ¤òÄä»ß¡£
-@item
-¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¥ê¥¹¥È¥¢
-@item
-@code{mysqld} server ¤ò @code{--log-update} @strong{¤Ê¤·¤Ç} µ¯Æ°¡£
-@item
-@code{mysql < update-log} ¤ÇºÆ¼Â¹Ô¡£ update log ¤Ï
-@strong{MySQL} ¥Ç¡¼¥¿¥Ù¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ë
-@code{your-hostname.#} ¤È¤¤¤¦Ì¾Á°¤ÇÊݸ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-@item
-¤³¤ì¤Ç¤â¤·ºÆ¤Ó¥Æ¡¼¥Ö¥ë¤¬¤ª¤«¤·¤¯¤Ê¤ë¤Ê¤é¡¢ @code{ISAM} ¥³¡¼¥ÉÃæ¤Î
-ºÆ¸½²Äǽ¤Ê¥Ð¥°¤ò¸«¤Ä¤±¤¿¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡ª
-¤³¤Î¥Æ¡¼¥Ö¥ë¤È update log ¤ò @uref{ftp://www.mysql.com/pub/mysql/secret} ¤Ë
-FTP ¤Ç put ¤·¤Þ¤¹¡£ ¤ï¤ì¤ï¤ì¤Ï¤³¤ì¤ò¤Ç¤­¤ë¸Â¤ê®¤¯½¤Àµ¤·¤Þ¤¹¡ª
-@end itemize
-
-@code{mysqladmin debug} ¥³¥Þ¥ó¥É¤Ï»ÈÍÑÃæ¤Î¥í¥Ã¥¯¡¢»ÈÍѤ·¤Æ¤¤¤ë¥á¥â¤ê¡¢
-¥¯¥¨¥ê¤Î»ÈÍѤξðÊó¤ò¡¢mysql ¥í¥°¥Õ¥¡¥¤¥ë¤Ë¤¤¤¯¤Ä¤«¥À¥ó¥×¤·¤Þ¤¹
-¤³¤ì¤Ï¤¤¤¯¤Ä¤«¤ÎÌäÂê²ò·è¤ËÌòΩ¤Á¤Þ¤¹¡£ ¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢ @strong{MySQL} ¤ò
-¥Ç¥Ð¥Ã¥°²Äǽ¤Ç¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢¤¤¤¯¤Ä¤«¤ÎÌòΩ¤Ä¾ðÊó¤âÄ󶡤·¤Þ¤¹¡£
-
-¤¤¤¯¤Ä¤«¤Î¥Æ¡¼¥Ö¥ë¤Ç¤À¤ó¤À¤óÃÙ¤¯¤Ê¤ëÌäÂê¤Ç¤¢¤ë¤Ê¤é¡¢ @code{OPTIMIZE TABLE} ¤«
-@code{myisamchk} ¤Ç¥Æ¡¼¥Ö¥ë¤ò½¤Éü¤·¡¢ºÇŬ²½¤ò»î¤ß¤ë¤Ù¤­¤Ç¤¹¡£
-ÃÙ¤¤¥¯¥¨¥ê¤Ï¡¢ @code{EXPLAIN} ¤Ç¤â¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£
-@xref{Maintenance}.
-
-¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Î OS ¸ÇÍ­¤ÎÌäÂê ¤ÎÀá¤âÆɤà¤Ù¤­¤Ç¤¹¡£
-@xref{Source install system issues}.
-
-@findex DBI->trace
-@findex trace DBI method
-@tindex DBI_TRACE environment variable
-@tindex Environment variable, DBI_TRACE
-¤â¤· Perl @code{DBI} ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢
- @code{trace} ¥á¥½¥Ã¥É¡¢¤¢¤ë¤¤¤Ï@code{DBI_TRACE} ´Ä¶­ÊÑ¿ô¤Ç
-¥Ç¥Ð¥Ã¥°¾ðÊó¤òÍ­¸ú¤Ë¤Ç¤­¤Þ¤¹¡£
-@xref{Perl DBI Class, , Perl @code{DBI} Class}.
-
-@node Debugging client, RTS-threads, Debugging server, Porting
-@appendixsec Debugging a MySQL client
-
-To be able to debug a @strong{MySQL} client with the integrated debug package,
-you should configure @strong{MySQL} with @code{--with-debug}.
-@xref{configure options}.
-
-@tindex MYSQL_DEBUG environment variable
-@tindex Environment variable, MYSQL_DEBUG
-Before running a client, you should set the @code{MYSQL_DEBUG} environment
-variable:
-
-@example
-shell> MYSQL_DEBUG=d:t:O,/tmp/client.trace
-shell> export MYSQL_DEBUG
-@end example
-
-This causes clients to generate a trace file in @file{/tmp/client.trace}.
-
-If you have problems with your own client code, you should attempt to
-connect to the server and run your query using a client that is known to
-work. Do this by running @code{mysql} in debugging mode (assuming you
-have compiled @strong{MySQL} with debugging on):
-
-@example
-shell> mysql --debug=d:t:O,/tmp/client.trace
-@end example
-
-This will provide useful information in case you mail a bug report.
-@xref{Bug reports}.
-
-If your client crashes at some 'legal' looking code, you should check
-that your @file{mysql.h} include file matches your mysql library file.
-A very common mistake is to use an old @file{mysql.h} file from an old
-@strong{MySQL} installation with new @strong{MySQL} library.
-
-@node RTS-threads, Thread packages, Debugging client, Porting
-@appendixsec Comments about RTS threads
-
-I have tried to use the RTS thread packages with @strong{MySQL} but
-stumbled on the following problems:
-
-They use an old version of a lot of POSIX calls and it is very tedious to
-make wrappers for all functions. I am inclined to think that it would
-be easier to change the thread libraries to the newest POSIX
-specification.
-
-Some wrappers are already written. See @file{mysys/my_pthread.c} for more info.
-
-At least the following should be changed:
-
-@code{pthread_get_specific} should use one argument.
-@code{sigwait} should take two arguments.
-A lot of functions (at least @code{pthread_cond_wait},
-@code{pthread_cond_timedwait})
-should return the error code on error. Now they return -1 and set @code{errno}.
-
-Another problem is that user-level threads use the @code{ALRM} signal and this
-aborts a lot of functions (@code{read}, @code{write}, @code{open}...).
-@strong{MySQL} should do a retry on interrupt on all of these but it is
-not that easy to verify it.
-
-The biggest unsolved problem is the following:
-
-To get thread-level alarms I changed @file{mysys/thr_alarm.c} to wait between
-alarms with @code{pthread_cond_timedwait()}, but this aborts with error
-@code{EINTR}. I tried to debug the thread library as to why this happens,
-but couldn't find any easy solution.
-
-If someone wants to try @strong{MySQL} with RTS threads I suggest the
-following:
-
-@itemize @bullet
-@item
-Change functions @strong{MySQL} uses from the thread library to POSIX.
-This shouldn't take that long.
-@item
-Compile all libraries with the @code{-DHAVE_rts_threads}.
-@item
-Compile @code{thr_alarm}.
-@item
-If there are some small differences in the implementation, they may be fixed
-by changing @file{my_pthread.h} and @file{my_pthread.c}.
-@item
-Run @code{thr_alarm}. If it runs without any ``warning'', ``error'' or aborted
-messages, you are on the right track. Here follows a successful run on
-Solaris:
-@example
-Main thread: 1
-Tread 0 (5) started
-Thread: 5 Waiting
-process_alarm
-Tread 1 (6) started
-Thread: 6 Waiting
-process_alarm
-process_alarm
-thread_alarm
-Thread: 6 Slept for 1 (1) sec
-Thread: 6 Waiting
-process_alarm
-process_alarm
-thread_alarm
-Thread: 6 Slept for 2 (2) sec
-Thread: 6 Simulation of no alarm needed
-Thread: 6 Slept for 0 (3) sec
-Thread: 6 Waiting
-process_alarm
-process_alarm
-thread_alarm
-Thread: 6 Slept for 4 (4) sec
-Thread: 6 Waiting
-process_alarm
-thread_alarm
-Thread: 5 Slept for 10 (10) sec
-Thread: 5 Waiting
-process_alarm
-process_alarm
-thread_alarm
-Thread: 6 Slept for 5 (5) sec
-Thread: 6 Waiting
-process_alarm
-process_alarm
-
-...
-thread_alarm
-Thread: 5 Slept for 0 (1) sec
-end
-@end example
-@end itemize
-
-@node Thread packages, , RTS-threads, Porting
-@appendixsec ¥¹¥ì¥Ã¥É¥Ñ¥Ã¥±¡¼¥¸´Ö¤Î°ã¤¤¤Ï²¿¡©
-
-@strong{MySQL} ¤Ï»ÈÍѤµ¤ì¤ë¥¹¥ì¥Ã¥É¥Ñ¥Ã¥±¡¼¥¸¤ËÈó¾ï¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹¡£
-¤½¤Î¤¿¤á¡¢@strong{MySQL} ¤ËÎɤ¤¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤òÁªÂò¤¹¤ë»þ¤Ë¤Ï¡¢
-¥¹¥ì¥Ã¥É¥Ñ¥Ã¥±¡¼¥¸¤¬Èó¾ï¤Ë½ÅÍפǤ¹¡£
-
-¾¯¤Ê¤¯¤È¤â3¤Ä¤Î¥¿¥¤¥×¤Î¥¹¥ì¥Ã¥É¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ê¤Þ¤¹¡§
-
-@itemize @bullet
-@item
-¥·¥ó¥°¥ë¥×¥í¥»¥¹Æâ¤Î¥æ¡¼¥¶¥¹¥ì¥Ã¥É¡£
-¥¹¥ì¥Ã¥ÉÀÚÂؤ¨¤Ï¥¢¥é¡¼¥à¤Ç´ÉÍý¤µ¤ì¡¢
-¥¹¥ì¥Ã¥É¥é¥¤¥Ö¥é¥ê¤Ï¥í¥Ã¥¯¤òȼ¤¦Èó¥¹¥ì¥Ã¥É°ÂÁ´´Ø¿ô¤Î¤¹¤Ù¤Æ¤ò´ÉÍý¤·¤Þ¤¹¡£
-Æ°ºîÃ楹¥ì¥Ã¥É¤¬¥Ç¡¼¥¿¤òÂÔ¤ÄɬÍפ¬¤¢¤ë¾ì¹ç¡¢read, write ¤½¤·¤Æ select ¤Ï¡¢
-Ä̾¾¤Î¥¹¥ì¥Ã¥É¤ËÀÚÂؤ¨¤ë¥¹¥ì¥Ã¥É¸ÇÍ­¤Î select ¤Ç´ÉÍý¤µ¤ì¤Þ¤¹¡£
-¤â¤·¥æ¡¼¥¶¡¦¥¹¥ì¥Ã¥É¥Ñ¥Ã¥±¡¼¥¸¤¬É¸½à¥é¥¤¥Ö¥é¥ê (FreeBSD ¤È BSDI ¥¹¥ì¥Ã¥É) ¤Ë
-Åý¹ç¤µ¤ì¤Æ¤¤¤ë¤Ê¤é¡¢¥¹¥ì¥Ã¥É¥Ñ¥Ã¥±¡¼¥¸¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤Ï¡¢Á´¤Æ¤ÎÈó°ÂÁ´¥³¡¼¥ë¤ò
-¥Þ¥Ã¥×¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¥¹¥ì¥Ã¥É¥Ñ¥Ã¥±¡¼¥¸(MIT-¥¹¥ì¥Ã¥É, FSU-¥¹¥ì¥Ã¥É, RTS ¥¹¥ì¥Ã¥É)
-¤è¤ê¤â¾¯¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
-¾¤Î´Ä¶­(Î㤨¤Ð SCO)¤Ç¤Ï¡¢Á´¤Æ¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¥¹¥ì¥Ã¥É°ÂÁ´¤Ê¤Î¤Ç¡¢
-¥Þ¥Ã¥Ô¥ó¥°¤Ï¤È¤Æ¤â´Êñ¤Ë¹Ô¤Ê¤ï¤ì¤Þ¤¹(SCO ¾å¤Î FSU-¥¹¥ì¥Ã¥É)¡£
-Downside: Á´¤Æ¤Î¥Þ¥Ã¥×¤µ¤ì¤ë¥³¡¼¥ë¤Ï¾¯¤·»þ´Ö¤¬¤«¤«¤ê¡¢Á´¤Æ¤Î¾õ¶·¤ò
-½èÍý²Äǽ¤Ë¤¹¤ë¤³¤È¤Ï¡¢¤È¤Æ¤âº¤Æñ¤Ç¤¹¡£
-Ä̾¥¹¥ì¥Ã¥É¥Ñ¥Ã¥±¡¼¥¸¤Ë¤è¤Ã¤Æ½èÍý¤Ç¤­¤Ê¤¤¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹
-(MIT-¥¹¥ì¥Ã¥É¤È¥½¥±¥Ã¥È¤Î¤è¤¦¤Ë)¡£ ¥¹¥ì¥Ã¥É¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤Ï¾ï¤ËºÇ
-Ŭ¤È¤¤¤¦¤ï¤±¤Ç¤Ï¤¢ ¤ê¤Þ¤»¤ó¡£
-@item
-ÊÌ¤Î¥×¥í¥»¥¹¤Ê¤¤¤Î¥æ¡¼¥¶¥¹¥ì¥Ã¥É¡£
-¥¹¥ì¥Ã¥ÉÀÚÂؤ¨¤Ï¥«¡¼¥Í¥ë¤Ë¤è¤Ã¤Æ¹Ô¤Ê¤ï¤ì¡¢Á´¤Æ¤Î¥Ç¡¼¥¿¤Ï¥¹¥ì¥Ã¥É´Ö¤Ç¶¦Í­¤µ¤ì¤Þ¤¹¡£
-¥¹¥ì¥Ã¥É¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢¥¹¥ì¥Ã ¥É´Ö¤Î¥Ç¡¼¥¿¶¦Í­¤òµö²Ä¤¹¤ë¤¿¤á¤Ëɸ½à¥¹¥ì¥Ã¥É¥³¡¼¥ë¤ò´ÉÍý¤·¤Þ¤¹¡£
-LinuxThreads ¤Ï¤³¤ÎÊýË¡¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£
-Downside: ¿¤¯¤Î¥×¥í¥»¥¹¡£¥¹¥ì¥Ã¥ÉÀ¸À®¤ÏÃÙ¤¤¤Ç¤¹¡£
-¤â¤·°ì¤Ä¤Î¥¹¥ì¥Ã¥É¤¬»à¤Ì¤È¡¢»Ä¤ê¤ÏÄ̾ï¥Ï¥ó¥°¤·¤Æ»Ä¤ê¡¢ºÆµ¯Æ°Á°¤Ë ¤½¤ì¤éÁ´¤Æ
-¤ò kill ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥¹¥ì¥Ã¥ÉÀÚÂؤ¨¤Ï¤¤¤¯¤é¤«¹â²Á(expensive)¤Ç¤¹¡£
-@item
-¥«¡¼¥Í¥ë¥¹¥ì¥Ã¥É¡£
-¥¹¥ì¥Ã¥ÉÀÚÂؤ¨¤Ï¥¹¥ì¥Ã¥É¥é¥¤¥Ö¥é¥ê¤«¥«¡¼¥Í¥ë¤Ë¤è¤Ã¤Æ½èÍý¤µ¤ì¡¢
-¤È¤Æ¤â®¤¤¤Ç¤¹¡£ Á´¤Æ¤Ï°ì¤Ä¤Î¥×¥í¥»¥¹Æâ¤Ç¹Ô¤Ê¤ï¤ì¤Þ¤¹¤¬¡¢
-¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢@code{ps} ¤¬°Û¤Ê¤Ã¤¿¥¹¥ì¥Ã¥É¤ò¼¨¤·¤Þ¤¹¡£
-¤â¤·°ì¤Ä¤Î¥¹¥ì¥Ã¥É¤¬¥¢¥Ü¡¼¥È¤·¤¿¾ì¹ç¡¢¥×¥í¥»¥¹Á´ÂΤ¬¥¢¥Ü¡¼¥È¤·¤Þ¤¹¡£
-¿¤¯¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¥¹¥ì¥Ã¥É°ÂÁ´¤Ç¡¢¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤Ï¤È¤Æ¤â¾¯¤Ê¤¤¤Ç¤¹¡£
-Solaris, HP/UX, AIX ¤½¤·¤Æ OSF1 ¤¬¥«¡¼¥Í¥ë¥¹¥ì¥Ã¥É¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
-@end itemize
-
-¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¥«¡¼¥Í¥ë¥¹¥ì¥Ã¥É¤Ï¡¢¥·¥¹¥Æ¥à¥é¥¤¥Ö¥é¥êÆâ¤Ç¡¢
-¥æ¡¼¥¶¥ì¥Ù¥ë¥¹¥ì¥Ã¥É¤ÎÅý¹ç¤Ë¤è¤Ã¤Æ´ÉÍý¤µ¤ì¤Þ¤¹¡£
-¤³¤Î¾ì¹ç¡¢¥¹¥ì¥Ã¥ÉÀÚÂؤ¨¤Ï¥¹¥ì¥Ã¥É¥é¥¤¥Ö¥é¥ê¤Ë¤è¤Ã¤Æ¤À¤±¹Ô¤Ê¤ï¤ì¡¢
-¥«¡¼¥Í¥ë¤Ï¼ÂºÝ¤Ë¤Ï 'thread aware' ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-
-
-@node Regexp, Unireg, Porting, Top
-@appendix MySQL ¤ÎÀµµ¬É½¸½¤Îʸˡ¤Ë¤Ä¤¤¤Æ
-
-A regular expression (regex) is a powerful way of specifying a complex search.
-
-@strong{MySQL} ¤ÏÀµµ¬É½¸½¤Î regular Henry Spencers ¼ÂÁõ¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤½¤·¤Æ¤³¤ì¤Ï POSIX 1003.2 ¤Ë°ìÃפ¹¤ë¤³¤È¤¬
-ÌÜŪ¤Ç¤¹¡£@strong{MySQL} ¤Ï³ÈÄ¥ ¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
-
-¤³¤ì¤Ï¾ÜºÙ¤ò¾Ê¤¤¤¿´Êñ¤Ê¥ê¥Õ¥¡¥ì¥ó¥¹¤Ç¤¹¡£
-¤µ¤é¤ËÀµ³Î¤Ê¾ðÊó¤Ï Henry Spencers @code{regex(7)} ¥Þ¥Ë¥å¥¢¥ë¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤ì¤Ï¥½¡¼¥¹ÇÛÉۤ˴ޤޤì¤Æ¤¤¤Þ¤¹¡£ @xref{Credits}.
-
-Àµµ¬É½¸½¤Ïʸ»úÎó¤ÎÁȤ߹ç¤ï¤»¤Æµ­½Ò¤µ¤ì¤Þ¤¹¡£
-¤â¤Ã¤È¤â´Êñ¤Ê¾ì¹ç¤Ï¡¢ÈóÆüìʸ»ú¤Î°ìʸ»ú¤Ç¤¹¡£Î㤨¤Ð¡¢
-regexp @code{hello} ¤Ï @code{hello} ¤ÈŬ¹ç¤·¡¢ ¾¤Ë¤ÏŬ¹ç¤·¤Þ¤»¤ó¡£
-
-´Êñ¤Ç¤Ê¤¤Àµµ¬É½¸½¤Ï¡¢1¤Ä¤Îʸ»úÎó°Ê¾å¤ËŬ¹ç¤Ç¤­¤ë¤è¤¦¤Ê¡¢¤¤¤¯¤Ä¤«¤Î
-Æüì¤Ê¹½À®¤ò»ÈÍѤ·¤Þ¤¹¡£Î㤨¤Ð¡¢regexp @code{hello|word} ¤Ï
-ʸ»úÎó @code{hello} ¤Èʸ»úÎó @code{word} ¤ËŬ¹ç¤·¤Þ¤¹¡£
-
-¤½¤·¤Æ¤µ¤é¤ËÊ£»¨¤ÊÎã regexp @code{B[an]*s} ¤Ï¡¢
-ʸ»úÎó @code{Bananas}, @code{Baaaaas}, @code{Bs} ¤Î¤É¤ì¤«¡¢
-¤½¤·¤Æ @code{B} ¤Ç»Ï¤Þ¤ê @code{a} ¤ä @code{n} ¤¬
-Ǥ°Õ¤Î¿ô³¤­¡¢@code{s} ¤Ç½ª¤ï¤ë¤è¤¦¤Ê¾¤Îʸ»úÎó¤ËŬ¹ç¤·¤Þ¤¹¡£
-
-Àµµ¬É½¸½¤Ç¤Ï¡¢¼¡¤ÎÆüìʸ»ú/¹½À®¤¬»ÈÍѤǤ­¤Þ¤¹¡§
-@table @code
-@item ^
-ʸ»úÎóÁ´ÂΤλϤޤꡣ
-@example
-mysql> select "fo\nfo" REGEXP "^fo$"; -> 0
-mysql> select "fofo" REGEXP "^fo"; -> 1
-@end example
-@item $
-ʸ»úÎóÁ´ÂΤνª¤ê¡£
-@example
-mysql> select "fo\no" REGEXP "^fo\no$"; -> 1
-mysql> select "fo\no" REGEXP "^fo$"; -> 0
-@end example
-@item .
-Ǥ°Õ¤Îʸ»ú (²þ¹Ô´Þ¤à)¡£
-@example
-mysql> select "fofo" REGEXP "^f.*"; -> 1
-mysql> select "fo\nfo" REGEXP "^f.*"; -> 1
-@end example
-@item a*
-0¸Ä°Ê¾å¤Îʸ»ú @code{a} ¤Îʤӡ£
-@example
-mysql> select "Ban" REGEXP "^Ba*n"; -> 1
-mysql> select "Baaan" REGEXP "^Ba*n"; -> 1
-mysql> select "Bn" REGEXP "^Ba*n"; -> 1
-@end example
-@item a+
-ʸ»ú @code{a} ¤¬ 1¸Ä°Ê¾åʤ֡£
-@example
-mysql> select "Ban" REGEXP "^Ba+n"; -> 1
-mysql> select "Bn" REGEXP "^Ba+n"; -> 0
-@end example
-@item a?
-0 ¤Þ¤¿¤Ï 1¸Ä¤Îʸ»ú @code{a}¡£
-@example
-mysql> select "Bn" REGEXP "^Ba?n"; -> 1
-mysql> select "Ban" REGEXP "^Ba?n"; -> 1
-mysql> select "Baan" REGEXP "^Ba?n"; -> 0
-@end example
-@item de|abc
-@code{de} ¤« @code{abc} ¤Ë¥Þ¥Ã¥Á¡£
-@example
-mysql> select "pi" REGEXP "pi|apa"; -> 1
-mysql> select "axe" REGEXP "pi|apa"; -> 0
-mysql> select "apa" REGEXP "pi|apa"; -> 1
-mysql> select "apa" REGEXP "^(pi|apa)$"; -> 1
-mysql> select "pi" REGEXP "^(pi|apa)$"; -> 1
-mysql> select "pix" REGEXP "^(pi|apa)$"; -> 0
-@end example
-@item (abc)*
-ʸ»úÎó @code{abc} ¤Î 0 ²ó°Ê¾å¤ÎʤӤ˥ޥåÁ¡£
-@example
-mysql> select "pi" REGEXP "^(pi)*$"; -> 1
-mysql> select "pip" REGEXP "^(pi)*$"; -> 0
-mysql> select "pipi" REGEXP "^(pi)*$"; -> 1
-@end example
-@item @{1@}
-@itemx @{2,3@}
-¿¤¯¤ÎȯÀ¸¤ËŬ¹ç¤¹¤ë regexp ¤Îµ­½Ò¤¹¤ë°ìÈÌŪ¤ÊÊýË¡¡£
-The is a more general way of writing regexps that match many
-occurrences of the previous atom.
-@table @code
-@item a*
-Can be written as @code{a@{0,@}}.
-@item a+
-Can be written as @code{a@{1,@}}.
-@item a?
-Can be written as @code{a@{0,1@}}.
-@end table
-¤µ¤é¤ËÀµ³Î¤Ë¤Ï¡¢1¤Ä¤ÎÀ°¿ô i ¤È¥³¥ó¥Þ̵¤·¤ò´Þ¤à½¤¾þ¤¬Â³¤¯¥¢¥È¥à¤Ï¡¢
-¸·Ì©¤Ë¥¢¥È¥à¤ËŬ¹ç¤¹¤ë @code{i} ²ó¤ÎʤӤËŬ¹ç¤·¤Þ¤¹¡£
-À°¿ô @code{i} ¤È¥³¥ó¥Þ¤ò´Þ¤à½¤¾þ¤¬Â³¤¯¥¢¥È¥à¤Ï¡¢
-¥¢¥È¥à¤ËŬ¹ç¤¹¤ë @code{i} ²ó°Ê¾å¤ÎʤӤËŬ¹ç¤·¤Þ¤¹¡£
-À°¿ô @code{i} ¤È @code{j} ¤ò´Þ¤àÁõ¾þ¤¬Â³¤¯¥¢¥È¥à¤Ï¡¢
-¥¢¥È¥à¤ËŬ ¹ç¤¹¤ë @code{i} ²ó¤«¤é @code{j} ²ó¤Þ¤Ç¤ÎʤӤËŬ¹ç¤·¤Þ¤¹¡£
-
-ξÊý¤Î°ú¿ô¤Ï @code{0 >= value <= RE_DUP_MAX (default 255)} ¤Ç¤Ê¤¤¤È¤¤ ¤±¤Þ¤»¤ó¡£
-¤½¤·¤Æ¡¢2¤Ä¤¢¤ë¾ì¹ç¡¢2ÈÖÌܤÏ1ÈÖÌܤè¤ê¤âÂ礭¤¤¤«Æ±¤¸¤Ç¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó¡£
-@item [a-dX]
-@itemx [^a-dX]
-@code{a}, @code{b}, @code{c}, @code{d}, @code{X} ¤Î¤É¤ì¤«¤Îʸ»ú
- (@code{^} ¤ò»ÈÍѤ¹¤ë¤È¤É¤ì¤Ç¤â¤Ê¤¤Ê¸»ú) ¤Ë¥Þ¥Ã¥Á¡£
-@code{]} ʸ»ú¤ò´Þ¤á¤ë¤Ë¤Ï¡¢ @code{[} ¤Î¤¢¤È¤Ë³¤¤¤Æ¤¹¤°¤Ë½ñ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-
-@code{-} ʸ»ú¤ò´Þ¤á¤ë¤Ë¤ÏºÇ½é¤«ºÇ¸å¤Ë½ñ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
-@code{[0-9]} ¤ÏǤ°Õ ¤Î10¿Ê¿ôÃͤËŬ¹ç¤·¤Þ¤¹¡£ @code{[]} ¥Ú¥¢ÆâÉô¤ÎÄêµÁ¤µ¤ì¤¿
-°ÕÌ£¤ò»ý¤¿¤Ê¤¤Á´¤Æ¤Îʸ»ú¤Ï¡¢Æüì¤Ê°ÕÌ£¤ò»ý¤¿¤º¡¢¤½¤ì¼«¿È¤Ë¤À¤±Å¬¹ç¤·¤Þ¤¹¡£
-@example
-mysql> select "aXbc" REGEXP "[a-dXYZ]"; -> 1
-mysql> select "aXbc" REGEXP "^[a-dXYZ]$"; -> 0
-mysql> select "aXbc" REGEXP "^[a-dXYZ]+$"; -> 1
-mysql> select "aXbc" REGEXP "^[^a-dXYZ]+$"; -> 0
-mysql> select "gheis" REGEXP "^[^a-dXYZ]+$"; -> 1
-mysql> select "gheisa" REGEXP "^[^a-dXYZ]+$"; -> 0
-@end example
-@item [[.characters.]]
-¾È¹çÍ×ÁÇ(collating element)¤Îʸ»ú¤Îʤӡ£
-ʤӤϳç¸Ìɽ¸½¥ê¥¹¥È¤Î°ì¤Ä¤ÎÍ×ÁǤǤ¹¡£
-Ê£¿ôʸ»ú¤Î¾È¹çÍ×ÁǤò´Þ¤à³ç¸Ìɽ¸½¤Ï°ì¤Ä°Ê¾å¤Îʸ»ú¤ËŬ¹ç¤·¤Þ¤¹¡£
-Î㤨¤Ð¡¢¾È¹çʤӤ¬ @code{ch} ¾È¹çÍ×ÁǤò´Þ¤à¾ì¹ç¡¢
-Àµµ¬É½¸½ @code{[[.ch.]]*c} ¤Ï @code{chchcc} ¤ÎºÇ½é¤Î5ʸ»ú¤ËŬ¹ç¤·¤Þ¤¹¡£
-
-@item [=character_class=]
-ƱÅù¤Î¥¯¥é¥¹¡£¤½¤Î°ì¤Ä¤ÈÅù¤·¤¤Á´¤Æ¤Î¾È¹çÍ×ÁǤÎʸ»ú¤ÎʤӤòɽ¤·¤Þ¤¹¡£¤½¤ì¼«¿È¤â´Þ¤ß¤Þ¤¹¡£
-
-Î㤨¤Ð¡¢@code{o} ¤È @code{(+)} ¤¬Æ±Åù¥¯¥é¥¹¤Î¥á¥ó¥Ð¤Ç¤¢¤ë¾ì¹ç¡¢
- @code{[[=o=]]}, @code{[[=(+)=]]}, @code{[[=(+)=]]} ¤ÏÁ´¤ÆƱµÁ¸ì¤Ç¤¹¡£
-ƱÅù¥¯¥é¥¹¤ÏÈϰϤνªÎ»°ÌÃ֤ˤϤʤê¤Þ¤»¤ó¡£
-
-@item [:character_class:]
-³ç¸Ìɽ¸½¤ÎÆâÉô¤Ç¡¢@code{[:} ¤È @code{:]} ¤Ç³ç¤é¤ì¤¿Ê¸»ú¥¯¥é¥¹¤Î̾Á°¤Ï¡¢
-¤½¤Î¥¯¥é¥¹¤Ë°¤¹¤ëÁ´¤Æ¤Îʸ»ú¤Î¥ê¥¹¥È¤òɽ¤·¤Þ¤¹¡£É¸½àʸ»ú¥¯¥é¥¹Ì¾¤Ï:
-
-@multitable @columnfractions .33 .33 .33
-@item alnum @tab digit @tab punct
-@item alpha @tab graph @tab space
-@item blank @tab lower @tab upper
-@item cntrl @tab print @tab xdigit
-@end multitable
-
-¤³¤ì¤é¤Ï @code{ctype(3)} ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ëʸ»ú¥¯¥é¥¹¤òɽ¤·¤Þ¤¹¡£
-¥í¥±¡¼¥ë¤¬Â¾¤Î¤òÄ󶡤¹¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£Ê¸»ú¥¯¥é¥¹¤ÏÈϰϤνªÎ»°ÌÃ֤Ȥ·¤Æ¤Ï»È¤¨¤Þ¤»¤ó¡£
-@example
-mysql> select "justalnums" REGEXP "[[:alnum:]]+"; -> 1
-mysql> select "!!" REGEXP "[[:alnum:]]+"; -> 0
-@end example
-
-@item [[:<:]]
-@itemx [[:>:]]
-¤½¤ì¤¾¤ì¡¢Ã±¸ì¤Î»Ï¤á¤È½ª¤ê¤Î¶õʸ»úÎó¤ËŬ¹ç¤·¤Þ¤¹¡£Ã±¸ì¤Ï¡¢Ã±¸ìʸ»ú¤¬Á°¸å
-¤Ë¤Ê¤¤Ã±¸ìʸ»ú¤ÎʤӤȤ·¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£Ã±¸ìʸ»ú¤Ï alnum ʸ»ú
- (@code{ctype(3)} ¤ÇÄêµÁ¤µ¤ì¤Þ¤¹) ¤È²¼Àþ(underscore ¡¨ @code{_})¤Ç¤¹¡£
-@example
-mysql> select "a word a" REGEXP "[[:<:]]word[[:>:]]"; -> 1
-mysql> select "a xword a" REGEXP "[[:<:]]word[[:>:]]"; -> 0
-@end example
-@end table
-
-@example
-mysql> select "weeknights" REGEXP "^(wee|week)(knights|nights)$"; -> 1
-@end example
-
-@node Unireg, Public license, Regexp, Top
-@appendix UNIREG ¤È¤Ï²¿¤«¡©
-
-UNIREG ¤Ï²æ¡¹¤Î tty ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥Ó¥ë¥À¤Ç¤¹¡£
-¤³¤ì¤Ï²æ¡¹¤Î (@strong{MySQL} ¤Ç»ÈÍѤµ¤ì¤ë) ISAM ¤Ø¤ÎÄã¥ì¥Ù¥ëÀܳ¤Ë»ÈÍѤ·¤Þ¤¹¡£
-¤³¤ì¤¬¤È¤Æ¤â®¤¤¤¿¤á¤Ç¤¹¡£¤³¤ì¤Ï 1979 ǯ¤«¤é (UNIX ¾å¤Ç C ¤Ï 1986 ǯ¤«¤é) ¸ºß¤·¤Æ¤¤¤Þ¤·¤¿¡£
-
-UNIREG ¤Ï¼¡¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»ý¤Á¤Þ¤¹:
-
-@itemize @bullet
-@item
-°ì¤Ä¤Î¥Æ¡¼¥Ö¥ë¤Î»²¾È¡£¹¹¿·/¾È²ñ¤Ë¡£
-@item
-Ê£¿ô¤Î¥Æ¡¼¥Ö¥ë¤Î»²¾È (1¥¹¥¯¥í¡¼¥ëÈϰϤÇ)¡£
-@item
-¥Æ¡¼¥Ö¥ë¤ÎÀ¸À® (@strong{MySQL} ¤Ç¤ÏºîÀ®¤Ç¤­¤Ê¤¤Âô»³¤Î¹àÌÜ¥¿¥°¤Ç)¡£
-¤³¤ì¤Ï (tty ¤Ç ¤Î) WYSIWYG ¤Ç¤¹¡£¥¹¥¯¥ê¡¼¥ó¤È UNIREG ¥×¥í¥ó¥×¥È¤ò¹àÌܤ´¤È¤Ë¥Ç¥¶¥¤¥ó¤Ç¤­¤Þ¤¹¡£
-@item
-¥ì¥Ý¡¼¥ÈÀ¸À®¡£
-@item
-Âô»³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£ (¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ø¤Î¥Æ¡¼¥Ö¥ë¤Î¹â®¥¨¥­¥¹¥Ý¡¼¥È/¥¤¥ó¥Ý¡¼ ¥È¡¢¥Æ¡¼¥Ö¥ëÆâÍƤβòÀÏ...)¡£
-@item
-¶¯ÎϤÊÊ£¿ô¥Æ¡¼¥Ö¥ë¤Î¹¹¿· (²æ¡¹¤ÏÉÑÈˤˤ³¤ì¤ò»ÈÍѤ·¤Þ¤¹)¡£
-BASIC ¤Ë»÷¤¿¸À¸ì¤Ç¿ ¤¯¤Îµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
-@item
-ưŪ¤Ê¸À¸ì(¸½ºß¤Ï¥¹¥¦¥§¡¼¥Ç¥ó¸ì¤È¥Õ¥£¥ó¥é¥ó¥É¸ì)¡£
-狼¤¬±Ñ¸ì¥Ð¡¼¥¸¥ç¥ó¤òÍߤ·¤¤¤Î¤Ê¤é¡¢ËÝÌõ¤·¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤¤¤¯¤Ä¤«¤Î¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¡£
-@item
-ÂÐÏÃŪ¤Ë¤Þ¤¿¤Ï¥Ð¥Ã¥Á¤Ç¹¹¿·¤ò¼Â¹Ô¤¹¤ëµ¡Ç½¡£
-@item
-Emacs ¤Ë»÷¤¿¥­¡¼ÄêµÁ¡£¥­¡¼¥Ü¡¼¥É¥Þ¥¯¥íÉÕ¤­¡£
-@item
-Á´Éô¤Ç 800k ¤Î¥Ð¥¤¥Ê¥ê¡£
-@item
-@code{convform} ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡£°Û¤Ê¤ëʸ»ú¥»¥Ã¥È´Ö¤Ç @file{.frm} ¤È¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤òÊÑ´¹¤·¤Þ¤¹¡£
-@item
-@code{mpack_isam} ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡£ ISAM ¥Æ¡¼¥Ö¥ë¤ò¥Ñ¥Ã¥¯¤·¤Þ¤¹(50-80% ¾®¤µ¤¯¤Ç¤­¤Þ¤¹)¡£
-¤³¤Î¥Æ¡¼¥Ö¥ë¤ÏÉáÄ̤Υơ¼¥Ö¥ë¤ÈƱ¤¸¤è¤¦¤Ë @strong{MySQL} ¤ÇÆɤ߹þ¤ß¤Ç¤­¤Þ¤¹¡£
-1 ¥ì¥³¡¼ ¥É¤À¤±°µ½Ì²ò½ü / ¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-@code{BLOB} ¤ä @code{TEXT} ¹àÌܤÎÁàºî¤È¹¹¿·¤Ï(¤Þ¤À)¤Ç¤­¤Þ¤»¤ó¡£
-@end itemize
-
-²æ¡¹¤Ï¡¢UNIREG ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¿¤¯¤Î²æ¡¹¤ÎÀ½Éʥǡ¼¥¿¥Ù¡¼¥¹¤ò¹¹¿·¤·¡¢
-@strong{MySQL} (¤½¤·¤Æ¤¤¤¯¤Ä¤«¤ÎÆüì¤Ê¾ì¹ç¡¢UNIREG ¥ì¥Ý¡¼¥ÈÀ¸À®¥×¥í¥°¥é¥à) ¤òÄ̤·¤Æ
-Web ¥Ú¡¼¥¸¤òÄ󶡤·¤Þ¤¹¡£
-
-UNIREG ¤Ï 3M ¤Î¥Ç¥£¥¹¥¯Îΰè¤ò»ÈÍѤ·¡¢¾¯¤Ê¤¯¤È¤â¼¡¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤ÇÆ°ºî¤·¤Þ¤¹:
- SUN OS 4.x, Solaris, Linux, HP/UX, ICL Unix, DNIX, SCO ¤½¤· ¤Æ MSDOS¡£
-
-UNIREG ¤Ï¸½ºß¥¹¥¦¥§¡¼¥Ç¥ó¸ì¤È¥Õ¥£¥ó¥é¥ó¥É¸ì¤Ç¤Î¤ßÍ­¸ú¤Ç¤¹¡£
-
-UNIREG ¤Î²Á³Ê¤Ï 10,000 ¥¹¥¦¥§¡¼¥Ç¥ó kr (Ìó 1500$ US) ¤Ç¤¹¡£
-¤¿¤À¤·¡¢¤³¤ì¤Ï¥µ¥Ý¡¼¥È¤ò´Þ¤ß¤Þ¤¹¡£ UNIREG ¤Ï¥Ð¥¤¥Ê¥ê¤ÇÇÛÉÛ¤µ¤ì¤Þ¤¹
- (¤·¤«¤·Á´¤Æ¤Î ISAM ¥½¡¼¥¹¤Ï @strong{MySQL} Æâ¤Ë¸«¤Ä¤±¤é¤ì¤Þ¤¹)¡£
-Ä̾²æ¡¹¤Ï¸ÜµÒ¤Î¥µ¥¤¥È¤Ë¤Æ¸ÜµÒÍѤ˥Х¤¥Ê¥ê¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
-
-¿·¤·¤¤³«È¯¤Ï @strong{MySQL} ¤Ë½¸Ã椷¤Æ¤¤¤Þ¤¹¡£
-
-@page
-@c This node name is special
-@node Public license, Win license, Unireg, Top
-@appendix The MySQL server license for non Microsoft operating systems
-
-@center @strong{MySQL FREE PUBLIC LICENSE}
-@center (Version 4, March 5, 1995)
-
-@center Copyright (C) 1995, 1996 TcX AB & MySQL Finland AB & Detron HB
-@center Stockholm SWEDEN, Helsingfors FINLAND and Uppsala SWEDEN
-@center All rights reserved.
-
-NOTE: This license is not the same as any of the GNU Licenses published
-by the Free Software Foundation. Its terms are substantially different
-from those of the GNU Licenses. If you are familiar with the GNU
-Licenses, please read this license with extra care.
-
-This License applies to the computer program known as "MySQL". The
-"Program", below, refers to such program, and a "work based on the
-Program" means either the Program or any derivative work of the Program,
-as defined in the United States Copyright Act of 1976, such as a
-translation or a modification. The Program is a copyrighted work whose
-copyright is held by TcX Datakonsult AB and MySQL Finland AB and Detron
-HB.
-
-This License does not apply when running "MySQL" on any Microsoft
-operating system. Microsoft operating systems include all versions of
-Microsoft Windows NT and Microsoft Windows.
-
-BY MODIFYING OR DISTRIBUTING THE PROGRAM (OR ANY WORK BASED ON THE
-PROGRAM), YOU INDICATE YOUR ACCEPTANCE OF THIS LICENSE TO DO SO, AND ALL
-ITS TERMS AND CONDITIONS FOR COPYING, DISTRIBUTING OR MODIFYING THE
-PROGRAM OR WORKS BASED ON IT. NOTHING OTHER THAN THIS LICENSE GRANTS
-YOU PERMISSION TO MODIFY OR DISTRIBUTE THE PROGRAM OR ITS DERIVATIVE
-WORKS. THESE ACTIONS ARE PROHIBITED BY LAW. IF YOU DO NOT ACCEPT THESE
-TERMS AND CONDITIONS, DO NOT MODIFY OR DISTRIBUTE THE PROGRAM.
-
-@enumerate
-@item
-Licenses.
-
-Licensor hereby grants you the following rights, provided that you
-comply with all of the restrictions set forth in this License and
-provided, further, that you distribute an unmodified copy of this
-License with the Program:
-
-@enumerate a
-@item
-You may copy and distribute literal (i.e., verbatim) copies of the
-Program's source code as you receive it throughout the world, in any
-medium.
-@item
-You may modify the Program, create works based on the Program and
-distribute copies of such throughout the world, in any medium.
-@end enumerate
-
-@item
-Restrictions.
-
-This license is subject to the following restrictions:
-@enumerate a
-@item
-Distribution of the Program or any work based on the Program by a
-commercial organization to any third party is prohibited if any payment is
-made in connection with such distribution, whether directly (as in payment
-for a copy of the Program) or indirectly (as in payment for some service
-related to the Program, or payment for some product or service that
-includes a copy of the Program "without charge"; these are only examples,
-and not an exhaustive enumeration of prohibited activities). However, the
-following methods of distribution involving payment shall not in and of
-themselves be a violation of this restriction:
-
-@enumerate A
-@item
-Posting the Program on a public access information storage and retrieval
-service for which a fee is received for retrieving information (such as
-an on-line service), provided that the fee is not content-dependent
-(i.e., the fee would be the same for retrieving the same volume of
-information consisting of random data).
-@item
-Distributing the Program on a CD-ROM, provided that the files containing
-the Program are reproduced entirely and verbatim on such CD-ROM, and
-provided further that all information on such CD-ROM be redistributable
-for non-commercial purposes without charge.
-@end enumerate
-@item
-Activities other than copying, distribution and modification of the
-Program are not subject to this License and they are outside its scope.
-Functional use (running) of the Program is not restricted, and any
-output produced through the use of the Program is subject to this
-license only if its contents constitute a work based on the Program
-(independent of having been made by running the Program).
-@item
-You must meet all of the following conditions with respect to the
-distribution of any work based on the Program:
-@enumerate A
-@item
-If you have modified the Program, you must cause your work to carry
-prominent notices stating that you have modified the Program's files and
-the date of any change;
-@item
-You must cause any work that you distribute or publish, that in whole or
-in part contains or is derived from the Program or any part thereof, to
-be licensed as a whole and at no charge to all third parties under the
-terms of this License;
-@item
-If the modified program normally reads commands interactively when run,
-you must cause it, at each time the modified program commences
-operation, to print or display an announcement including an appropriate
-copyright notice and a notice that there is no warranty (or else, saying
-that you provide a warranty). Such notice must also state that users
-may redistribute the Program only under the conditions of this License
-and tell the user how to view the copy of this License included with the
-Program. (Exception: if the Program itself is interactive but does not
-normally print such an announcement, your work based on the Program is
-not required to print an announcement.);
-@item
-You must accompany any such work based on the Program with the complete
-corresponding machine-readable source code, delivered on a medium
-customarily used for software interchange. The source code for a work
-means the preferred form of the work for making modifications to it.
-For an executable work, complete source code means all the source code
-for all modules it contains, plus any associated interface definition
-files, plus the scripts used to control compilation and installation of
-the executable code. However, the source code distributed need not
-include anything that is normally distributed (in either source or
-binary form) with the major components (compiler, kernel, and so on) of
-the operating system on which the executable runs, unless that component
-itself accompanies the executable code;
-@item
-If you distribute any written or printed material at all with the
-Program or any work based on the Program, such material must include
-either a written copy of this License, or a prominent written indication
-that the Program or the work based on the Program is covered by this
-License and written instructions for printing and/or displaying the copy
-of the License on the distribution medium;
-@item
-You may not impose any further restrictions on the recipient's
-exercise of the rights granted herein.
-
-If distribution of executable or object code is made by offering the
-equivalent ability to copy from a designated place, then offering
-equivalent ability to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source code along with the object code.
-@end enumerate
-@end enumerate
-@item
-Reservation of Rights.
-
-No rights are granted to the Program except as expressly set forth
-herein. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt otherwise
-to copy, modify, sublicense or distribute the Program is void, and will
-automatically terminate your rights under this License. However, parties
-who have received copies, or rights, from you under this License will not
-have their licenses terminated so long as such parties remain in full
-compliance.
-
-@item
-Other Restrictions.
-
-If the distribution and/or use of the Program is restricted in certain
-countries for any reason, Licensor may add an explicit geographical
-distribution limitation excluding those countries, so that distribution
-is permitted only in or among countries not thus excluded. In such case,
-this License incorporates the limitation as if written in the body of
-this License.
-
-@item
-Limitations.
-
-THE PROGRAM IS PROVIDED TO YOU "AS IS," WITHOUT WARRANTY. THERE IS NO
-WARRANTY FOR THE PROGRAM, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT
-NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE
-ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
-YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
-NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL LICENSOR, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE
-PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
-OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR
-THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-@end enumerate
-
-@c This node name is special
-@node Win license, Function Index, Public license, Top
-@appendix The MySQL license for Microsoft operating systems
-
-@center @strong{MySQL shareware license for Microsoft operating systems}
-@center (Version 1, September 4, 1998)
-
-@center Copyright (C) 1998 TcX AB & MySQL Finland AB & Detron HB
-@center Stockholm SWEDEN, Helsingfors FINLAND and Uppsala SWEDEN
-@center All rights reserved.
-
-This License applies to the computer program known as "MySQL".
-
-This License applies when running MySQL on any Microsoft operating system.
-Microsoft operating systems include all versions of Microsoft Windows NT
-and Microsoft Windows.
-
-YOU SHOULD CAREFULLY READ THE FOLLOWING TERMS AND CONDITIONS BEFORE
-USING, COPYING OR DISTRIBUTING MySQL. BY USING, COPYING AND DISTRIBUTING
-MySQL, YOU INDICATE YOUR ACCEPTANCE OF THIS LICENSE TO DO SO, AND ALL
-ITS TERMS AND CONDITIONS FOR USING, COPYING AND DISTRIBUTING MySQL OR
-WORKS BASED ON IT. NOTHING OTHER THAN THIS LICENSE GRANTS YOU
-PERMISSION TO USE, COPY OR DISTRIBUTE MySQL OR ITS DERIVATIVE
-WORKS. THESE ACTIONS ARE PROHIBITED BY LAW. IF YOU DO NOT ACCEPT THESE
-TERMS AND CONDITIONS, DO NOT USE, COPY OR DISTRIBUTE MySQL.
-
-@enumerate
-@item
-Evaluation and License Registration.
-
-This is an evaluation version of MySQL for Win32. Subject to the terms
-below, you are hereby licensed to use MySQL for evaluation purposes
-without charge for a period of 30 days. If you use MySQL after the 30
-day evaluation period the registration and purchase of a MySQL license
-is required.
-
-The price for a MySQL license is currently 200 US dollars and email
-support starts from 200 US dollars/year. Quantity discounts are
-available. If you pay by credit card, the currency is EURO (The European
-Unions common currency) so the prices will differ slightly.
-
-The easiest way to register or find options about how to pay for MySQL
-is to use the license form at TcX's secure server at
-@uref{https://www.mysql.com/license.htmy}. This can be used also when
-paying with credit card over the Internet.
-
-Other applicable methods for paying are SWIFT payments, cheques and
-credit cards.
-
-Payment should be made to:
-
-@example
-Postgirot Bank AB
-105 06 STOCKHOLM, SWEDEN
-
-TCX DataKonsult AB
-BOX 6434
-11382 STOCKHOLM, SWEDEN
-
-SWIFT address: PGSI SESS
-Account number: 96 77 06 - 3
-@end example
-
-Specify: license and/or support and your name and email address.
-
-In Europe and Japan, EuroGiro (that should be cheaper) can be used to
-the same account.
-
-If you want to pay by cheque make it payable to "MySQL Finland AB" and
-mail it to the address below.
-
-@example
-TCX DataKonsult AB
-BOX 6434
-11382 STOCKHOLM, SWEDEN
-@end example
-For more information about commercial licensing, please contact:
-
-@example
-David Axmark
-Kungsgatan 65 B
-753 21 UPPSALA
-SWEDEN
-Voice Phone +46-18-10 22 80 GMT 9-21. Swedish and English spoken
-Fax +46-8-729 69 05 Email *much* preferred.
-E-Mail: mysql-licensing@@mysql.com
-@end example
-
-For more about the license prices and commercial support, like email
-support, please refer to the MySQL manual. @xref{Cost}. @xref{Support}.
-
-The use of MySQL or any work based on MySQL after the 30-day evaluation
-period is in violation of international copyright laws.
-
-@item
-Registered version of MySQL.
-
-After you have purchased a MySQL license we will send you a receipt by
-paper mail. You are allowed to use MySQL or any work based on MySQL
-after the 30-days evaluation period. The use of MySQL is, however,
-restricted to one physical computer, but there are no restrictions on
-concurrent uses of MySQL or the number of MySQL servers run on the
-computer.
-
-We will also email you an address and password for a password-protected
-WWW page that always has the newest MySQL-Win32 version. Our current
-policy is that a user with the MySQL license can get free upgrades. The
-best way to ensure that you get the best possible support is to purchase
-commercial support!
-
-@item
-Registration for use in education and university or government-sponsored
-research.
-
-You may obtain a MySQL license for the use in education and university
-or government-sponsored research for free. In that case, send a detailed
-application for licensing MySQL for such use to the email address
-@email{mysql-licensing@@mysql.com}.
-
-The following information is required in the application:
-@itemize @bullet
-@item
-The name of the school or institute.
-@item
-A short description of the school or institute and of the type of
-education, resarch or other functions it provides.
-@item
-A detailed report of the use of MySQL in the institution.
-@end itemize
-
-In this case you will be provided with a license that entitles you to
-use MySQL in a specified manner.
-
-@item
-Distribution.
-
-Provided that you verify that you are distributing an evaluation or
-educational/research version of MySQL you are hereby licensed to make as
-many literal (i.e., verbatim) copies of the evaluation version of MySQL
-and documentation as you wish.
-
-@item
-Restrictions.
-
-The client code of MySQL is in the Public Domain or under the GPL (for
-example the code for readline) license. You are not allowed to modify,
-recompile, translate or create derivative works based upon any part of
-the server code of MySQL.
-
-@item
-Reservation of Rights.
-
-No rights are granted to MySQL except as expressly set forth herein.
-You may not copy or distribute MySQL except as expressly provided under
-this License. Any attempt otherwise to copy or distribute MySQL is void,
-and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-@item
-Other Restrictions.
-
-If the distribution and/or use of MySQL is restricted in certain
-countries for any reason, the Licensor may add an explicit geographical
-distribution limitation excluding those countries, so that distribution
-is permitted only in or among countries not thus excluded. In such case,
-this License incorporates the limitation as if written in the body of
-this License.
-
-@item
-Limitations.
-
-MySQL IS PROVIDED TO YOU "AS IS," WITHOUT WARRANTY. THERE IS NO WARRANTY
-FOR MySQL, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE ENTIRE RISK AS TO
-THE QUALITY AND PERFORMANCE OF MySQL IS WITH YOU. SHOULD MySQL PROVE
-DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
-CORRECTION.
-
-IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL THE LICENSOR, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
-MySQL AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE MySQL (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
-OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF MySQL TO OPERATE WITH ANY OTHER PROGRAMS), EVEN
-IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-@end enumerate
-
-@page
-@node Function Index, Concept Index, Win license, Top
-@unnumbered SQL command, type and function index
-
-@printindex fn
-
-@page
-@node Concept Index, , Function Index, Top
-@unnumbered Concept Index
-
-@printindex cp
-
-@summarycontents
-@contents
-
-@bye
diff --git a/Docs/manual.texi b/Docs/manual.texi
deleted file mode 100644
index 989a1836a15..00000000000
--- a/Docs/manual.texi
+++ /dev/null
@@ -1,107 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@c
-@c *********************************************************
-@c
-@c This is a dummy placeholder file for manual.texi in the
-@c MySQL source trees.
-@c
-@c Note, that the manual has been moved into a separate
-@c BitKeeper source tree named "mysqldoc" - do not attempt
-@c to add NEWS entries or documentation to this file! All
-@c changes to the manual should be done in the mysqldoc tree.
-@c
-@c See http://www.mysql.com/doc/en/Installing_source_tree.html
-@c for information about how to work with BitKeeper source trees.
-@c
-@c This dummy file is being replaced with the real manual from the
-@c mysqldoc tree when building the official source distribution.
-@c
-@c Please e-mail docs@mysql.com for more information or if
-@c you are interested in doing a translation.
-@c
-@c *********************************************************
-@c
-@c %**start of header
-
-@setfilename mysql.info
-
-@c We want the types in the same index
-@syncodeindex tp fn
-
-@c Get version information. This file is generated by the Makefile!!
-@include include.texi
-
-@ifclear tex-debug
-@c This removes the black squares in the right margin
-@finalout
-@end ifclear
-
-@c Set background for HTML
-@set _body_tags BGCOLOR=silver TEXT=#000000 LINK=#101090 VLINK=#7030B0
-@c Set some style elements for the manual in HTML form. 'suggested'
-@c natural language colors: aqua, black, blue, fuchsia, gray, green,
-@c lime, maroon, navy, olive, purple, red, silver, teal, white, and
-@c yellow. From Steeve Buehler <ahr@YogElements.com>
-@set _extra_head <style> code {color:purple} tt {color:green} samp {color:navy} pre {color:maroon} </style>
-
-@settitle Dummy MySQL Reference Manual for version @value{mysql_version}.
-
-@c We want single-sided heading format, with chapters on new pages. To
-@c get double-sided format change 'on' below to 'odd'
-@setchapternewpage on
-
-@paragraphindent 0
-
-@c %**end of header
-
-@ifinfo
-@format
-START-INFO-DIR-ENTRY
-* mysql: (mysql). MySQL documentation.
-END-INFO-DIR-ENTRY
-@end format
-@end ifinfo
-
-@titlepage
-@sp 10
-@center @titlefont{Empty placeholder for the MySQL Reference Manual}
-@sp 10
-@center Copyright @copyright{} 1995-2002 MySQL AB
-@c blank page after title page makes page 1 be a page front.
-@c also makes the back of the title page blank.
-@page
-@end titlepage
-
-@c This should be added. The HTML conversion also needs a MySQL version
-@c number somewhere.
-
-@iftex
-@c change this to double if you want formatting for double-sided
-@c printing
-@headings single
-
-@oddheading @thischapter @| @| @thispage
-@evenheading @thispage @| @| MySQL Technical Reference for Version @value{mysql_version}
-
-@end iftex
-
-@node Top, (dir), (dir), (dir)
-
-@ifinfo
-This is an empty placeholder file for the MySQL manual.
-
-The MySQL manual is now maintained in a separate BitKeeper source tree!
-Please see @url{http://www.mysql.com/doc/en/Installing_source_tree.html}
-for more info on how to work with BitKeeper.
-
-Please do not attempt to edit this file to add NEWS entries or to add
-documentation! Use the one in the @code{mysqldoc} BK tree instead.
-
-This file will be replaced with the current @code{manual.texi} when building
-the official source distribution.
-
-You can find a specific manual for any older version of MySQL
-in the binary or source distribution for that version.
-@end ifinfo
-
-@bye
diff --git a/Docs/manual_toc.html b/Docs/manual_toc.html
deleted file mode 100644
index b9014e5efb9..00000000000
--- a/Docs/manual_toc.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html>
-<head>
-<title>Place holder for manual_toc.html</title>
-</head>
-<body>
-This is just a place holder for the autogenerated manual_toc.html
-to make "make dist" happy.
-</body>
-</html>
diff --git a/Docs/mirrors.texi b/Docs/mirrors.texi
deleted file mode 100644
index 651963c57c3..00000000000
--- a/Docs/mirrors.texi
+++ /dev/null
@@ -1,446 +0,0 @@
-@strong{Europe:}
-
-@itemize @bullet
-
-@item
-@image{Flags/armenia} Armenia [AbideWeb Technologies] @@
-WWW (@uref{http://mysql.abideweb.com/})
-FTP (@uref{ftp://mysql.abideweb.com/mirrors/MySQL/})
-
-@item
-@image{Flags/austria} Austria [Univ. of Technology/Vienna] @@
-WWW (@uref{http://gd.tuwien.ac.at/db/mysql/})
-FTP (@uref{ftp://gd.tuwien.ac.at/db/mysql/})
-
-@item
-@image{Flags/belgium} Belgium [BELNET] @@
-WWW (@uref{http://mysql.belnet.be/})
-FTP (@uref{ftp://ftp.belnet.be/mirror/ftp.mysql.com/pub/mysql/})
-
-@item
-@image{Flags/bulgaria} Bulgaria [online.bg/Sofia] @@
-WWW (@uref{http://mysql.online.bg/})
-FTP (@uref{ftp://mysql.online.bg/})
-
-@item
-@image{Flags/czech-republic} Czech Republic [Masaryk University in Brno] @@
-WWW (@uref{http://mysql.linux.cz/})
-FTP (@uref{ftp://ftp.fi.muni.cz/pub/mysql/})
-
-@item
-@image{Flags/czech-republic} Czech Republic [www.gin.cz] @@
-WWW (@uref{http://mysql.gin.cz/})
-FTP (@uref{ftp://ftp.gin.cz/pub/MIRRORS/www.mysql.com/})
-
-@item
-@image{Flags/czech-republic} Czech Republic [www.sopik.cz] @@
-WWW (@uref{http://www.mysql.cz/})
-
-@item
-@image{Flags/denmark} Denmark [Borsen] @@
-WWW (@uref{http://mysql.borsen.dk/})
-
-@item
-@image{Flags/denmark} Denmark [Cybercity Internet] @@
-WWW (@uref{http://mysql.mirrors.cybercity.dk/})
-
-@item
-@image{Flags/denmark} Denmark [SunSITE] @@
-WWW (@uref{http://mirrors.sunsite.dk/mysql/})
-FTP (@uref{ftp://sunsite.dk/mirrors/mysql/})
-
-@item
-@image{Flags/estonia} Estonia [OK Interactive] @@
-WWW (@uref{http://mysql.mirror.ok.ee/})
-
-@item
-@image{Flags/finland} Finland [KPNQwest] @@
-WWW (@uref{http://mysql.kpnqwest.fi/})
-
-@item
-@image{Flags/finland} Finland [Mediatraffic] @@
-WWW (@uref{http://mysql.mediatraffic.fi/})
-
-@item
-@image{Flags/finland} Finland [tonnikala.net] @@
-WWW (@uref{http://mysql.tonnikala.org/})
-
-@item
-@image{Flags/france} France [free.fr] @@
-WWW (@uref{http://mysql-mirror.free.fr/})
-FTP (@uref{ftp://ftp.free.fr/pub/MySQL/})
-
-@item
-@image{Flags/france} France [mir2.ovh.net/] @@
-WWW (@uref{http://mir2.ovh.net/ftp.mysql.com/})
-FTP (@uref{ftp://mir1.ovh.net/ftp.mysql.com/})
-
-@item
-@image{Flags/france} France [Netsample] @@
-WWW (@uref{http://www.mysql.netsample.com/})
-
-@item
-@image{Flags/france} France [Universite Paris 10] @@
-WWW (@uref{http://ftp.u-paris10.fr/mysql.com})
-FTP (@uref{ftp://ftp.u-paris10.fr/mysql.com})
-
-@item
-@image{Flags/germany} Germany [GWDG] @@
-WWW (@uref{http://ftp.gwdg.de/pub/misc/mysql/})
-FTP (@uref{ftp://ftp.gwdg.de/pub/misc/mysql/})
-
-@item
-@image{Flags/germany} Germany [SunSITE Central Europe] @@
-WWW (@uref{http://sunsite.informatik.rwth-aachen.de/mysql/})
-FTP (@uref{ftp://sunsite.informatik.rwth-aachen.de/pub/mirror/www.mysql.com/})
-
-@item
-@image{Flags/germany} Germany [Tiscali] @@
-WWW (@uref{http://filepile.tiscali.de/mirror/mysql/})
-FTP (@uref{ftp://filepile.tiscali.de/mirror/mysql/})
-
-@item
-@image{Flags/germany} Germany [Wolfenbuettel] @@
-WWW (@uref{http://www.fh-wolfenbuettel.de/ftp/pub/database/mysql/})
-FTP (@uref{ftp://ftp.fh-wolfenbuettel.de/pub/database/mysql/})
-
-@item
-@image{Flags/greece} Greece [NTUA, Athens] @@
-WWW (@uref{http://www.ntua.gr/mysql/})
-FTP (@uref{ftp://ftp.ntua.gr/pub/databases/mysql/})
-
-@item
-@image{Flags/hungary} Hungary [stop.hu] @@
-WWW (@uref{http://mysql.mirror.stop.hu/})
-
-@item
-@image{Flags/hungary} Hungary [TiszaneT] @@
-WWW (@uref{http://mysql.tiszanet.hu/})
-FTP (@uref{ftp://mysql.tiszanet.hu/pub/mirrors/mysql/})
-
-@item
-@image{Flags/hungary} Hungary [Xenia] @@
-WWW (@uref{http://mysql.sote.hu/})
-FTP (@uref{ftp://xenia.sote.hu/pub/mirrors/www.mysql.com/})
-
-@item
-@image{Flags/iceland} Iceland [Tvíund] @@
-WWW (@uref{http://mysql.tviund.is/})
-
-@item
-@image{Flags/ireland} Ireland [Esat Net] @@
-WWW (@uref{http://ftp.esat.net/mirrors/download.sourceforge.net/pub/mirrors/mysql/})
-FTP (@uref{ftp://ftp.esat.net/mirrors/download.sourceforge.net/pub/mirrors/mysql/})
-
-@item
-@image{Flags/ireland} Ireland [MD NMTB Media] @@
-WWW (@uref{http://mirrors.nmtbmedia.com/mysql/})
-
-@item
-@image{Flags/israel} Israel [fresh.co.il] @@
-WWW (@uref{http://mysql.fresh.co.il/})
-
-@item
-@image{Flags/italy} Italy [feelinglinux.com] @@
-WWW (@uref{http://mysql.feelinglinux.com/})
-
-@item
-@image{Flags/italy} Italy [Teta Srl] @@
-WWW (@uref{http://www.teta.it/mysql/})
-
-@item
-@image{Flags/italy} Italy [tzone.it] @@
-WWW (@uref{http://mysql.tzone.it/})
-
-@item
-@image{Flags/latvia} Latvia [linux.lv] @@
-FTP (@uref{ftp://ftp.linux.lv/pub/software/mysql/})
-
-@item
-@image{Flags/netherlands} Netherlands [OMS-Net] @@
-WWW (@uref{http://mysql.oms-net.nl/})
-
-@item
-@image{Flags/netherlands} Netherlands [ProServe] @@
-WWW (@uref{http://mysql.proserve.nl/})
-
-@item
-@image{Flags/netherlands} Netherlands [WideXS BV] @@
-WWW (@uref{http://mysql.mirror.widexs.nl/})
-FTP (@uref{ftp://mirror.widexs.nl/pub/mysql/})
-
-@item
-@image{Flags/norway} Norway [Brainpeddlers AS] @@
-WWW (@uref{http://mysql.brainpeddlers.com/})
-
-@item
-@image{Flags/poland} Poland [ncservice.com/Gdansk] @@
-WWW (@uref{http://mysql.service.net.pl/})
-
-@item
-@image{Flags/poland} Poland [SunSITE] @@
-WWW (@uref{http://sunsite.icm.edu.pl/mysql/})
-FTP (@uref{ftp://sunsite.icm.edu.pl/pub/unix/mysql/})
-
-@item
-@image{Flags/portugal} Portugal [Instituto Supertior Técnico] @@
-WWW (@uref{http://darkstar.ist.utl.pt/mysql/})
-FTP (@uref{ftp://darkstar.ist.utl.pt/pub/mysql/})
-
-@item
-@image{Flags/portugal} Portugal [Netvisão] @@
-WWW (@uref{http://mysql.netvisao.pt/})
-FTP (@uref{ftp://mirrors2.netvisao.pt/pub/mysql/})
-
-@item
-@image{Flags/portugal} Portugal [VIZZAVI] @@
-WWW (@uref{http://ftp.vizzavi.pt/pub/mysql/})
-FTP (@uref{ftp://ftp.vizzavi.pt/pub/mysql/})
-
-@item
-@image{Flags/romania} Romania [roedu.net/Bucharest] @@
-FTP (@uref{ftp://ftp.roedu.net/pub/mirrors/ftp.mysql.com/})
-
-@item
-@image{Flags/russia} Russia [DirectNet] @@
-WWW (@uref{http://mysql.directnet.ru/})
-FTP (@uref{ftp://ftp.dn.ru/pub/MySQL/})
-
-@item
-@image{Flags/russia} Russia [Scientific Center/Chernogolovka] @@
-FTP (@uref{ftp://ftp.chg.ru/pub/databases/mysql/})
-
-@item
-@image{Flags/slovenia} Slovenia [ARNES] @@
-WWW (@uref{http://ftp.arnes.si/mysql/})
-FTP (@uref{ftp://ftp.arnes.si/packages/mysql/})
-
-@item
-@image{Flags/sweden} Sweden [Sunet] @@
-WWW (@uref{http://ftp.sunet.se/pub/unix/databases/relational/mysql/})
-FTP (@uref{ftp://ftp.sunet.se/pub/unix/databases/relational/mysql/})
-
-@item
-@image{Flags/switzerland} Switzerland [SunSITE] @@
-WWW (@uref{http://sunsite.cnlab-switch.ch/ftp/mirror/mysql/})
-FTP (@uref{ftp://sunsite.cnlab-switch.ch/mirror/mysql/})
-
-@item
-@image{Flags/turkey} Turkey [proGEN] @@
-WWW (@uref{http://mysql.progen.com.tr/})
-
-@item
-@image{Flags/turkey} Turkey [Turkish National Academic Network & Information Center] @@
-WWW (@uref{http://mysql.ulak.net.tr/})
-
-@item
-@image{Flags/great-britain} UK [PLiG/UK] @@
-WWW (@uref{http://ftp.plig.org/pub/mysql/})
-FTP (@uref{ftp://ftp.plig.org/pub/mysql/})
-
-@item
-@image{Flags/ukraine} Ukraine [ISP Alkar Teleport/Dnepropetrovsk] @@
-WWW (@uref{http://mysql.dp.ua/})
-FTP (@uref{ftp://ftp.tlk-l.net/pub/mirrors/mysql.com/})
-
-@item
-@image{Flags/ukraine} Ukraine [PACO] @@
-WWW (@uref{http://mysql.paco.net.ua/})
-FTP (@uref{ftp://mysql.paco.net.ua/})
-
-@item
-@image{Flags/yugoslavia} Yugoslavia [Open Source Network of Yugoslavia] @@
-WWW (@uref{http://mysql.boa.org.yu/})
-FTP (@uref{ftp://ftp.linux.org.yu/pub/MySQL/})
-
-@end itemize
-
-@strong{North America:}
-
-@itemize @bullet
-
-@item
-@image{Flags/canada} Canada [Tryc] @@
-WWW (@uref{http://web.tryc.on.ca/mysql/})
-
-@item
-@image{Flags/mexico} Mexico [UAM] @@
-WWW (@uref{http://mysql.azc.uam.mx/})
-FTP (@uref{ftp://mysql.azc.uam.mx/mirrors/mysql/})
-
-@item
-@image{Flags/mexico} Mexico [UNAM] @@
-WWW (@uref{http://mysql.unam.mx/})
-FTP (@uref{ftp://mysql.unam.mx/pub/mysql/})
-
-@item
-@image{Flags/usa} USA [adgrafix.com / Boston, MA] @@
-WWW (@uref{http://mysql.adgrafix.com/})
-
-@item
-@image{Flags/usa} USA [Argonne National Laboratory / Chicago, IL] @@
-FTP (@uref{ftp://mirror.mcs.anl.gov/pub/mysql/})
-
-@item
-@image{Flags/usa} USA [Hurricane Electric / San Jose, CA] @@
-WWW (@uref{http://mysql.he.net/})
-
-@item
-@image{Flags/usa} USA [netNumina / Cambridge, MA] @@
-WWW (@uref{http://mysql.mirrors.netnumina.com/})
-
-@item
-@image{Flags/usa} USA [NIXC / Vienna, VA] @@
-WWW (@uref{http://mysql.nixc.net/})
-FTP (@uref{ftp://mysql.nixc.net/pub/mysql/})
-
-@item
-@image{Flags/usa} USA [Oregon State University / Corvallis, OR] @@
-WWW (@uref{http://mysql.orst.edu/})
-FTP (@uref{ftp://ftp.orst.edu/pub/mysql/})
-
-@item
-@image{Flags/usa} USA [University of Wisconsin / Wisconsin] @@
-WWW (@uref{http://mirror.sit.wisc.edu/mysql/})
-FTP (@uref{ftp://mirror.sit.wisc.edu/mirrors/mysql/})
-
-@item
-@image{Flags/usa} USA [UUNet] @@
-WWW (@uref{http://mysql.secsup.org/})
-FTP (@uref{ftp://mysql.secsup.org/pub/software/mysql/})
-
-@end itemize
-
-@strong{South America:}
-
-@itemize @bullet
-
-@item
-@image{Flags/argentina} Argentina [bannerlandia.com] @@
-WWW (@uref{http://mysql.bannerlandia.com.ar/})
-FTP (@uref{ftp://mysql.bannerlandia.com.ar/mirrors/mysql/})
-
-@item
-@image{Flags/chile} Chile [PSINet] @@
-WWW (@uref{http://mysql.psinet.cl/})
-FTP (@uref{ftp://ftp.psinet.cl/pub/database/mysql/})
-
-@item
-@image{Flags/chile} Chile [Tecnoera] @@
-WWW (@uref{http://mysql.tecnoera.com/})
-
-@item
-@image{Flags/chile} Chile [Vision] @@
-WWW (@uref{http://mysql.vision.cl/})
-
-@item
-@image{Flags/costa-rica} Costa Rica [Ogmios Communications] @@
-WWW (@uref{http://mysql.ogmios.co.cr/})
-FTP (@uref{ftp://mysql.ogmios.co.cr/pub/mysql/})
-
-@end itemize
-
-@strong{Asia:}
-
-@itemize @bullet
-
-@item
-@image{Flags/china} China [HKLPG/Hong Kong] @@
-WWW (@uref{http://mysql.hklpg.org/})
-
-@item
-@image{Flags/china} China [linuxforum.net] @@
-FTP (@uref{http://www2.linuxforum.net/mirror/mysql/})
-
-@item
-@image{Flags/china} China [shellhung.org/Hong Kong] @@
-WWW (@uref{http://mysql.shellhung.org/})
-FTP (@uref{ftp://ftp.shellhung.org/pub/Mirror/mysql/})
-
-@item
-@image{Flags/indonesia} Indonesia [CBN] @@
-WWW (@uref{http://mysql.cbn.net.id/})
-
-@item
-@image{Flags/indonesia} Indonesia [incaf.net] @@
-WWW (@uref{http://mysql.incaf.net/})
-FTP (@uref{ftp://mysql.incaf.net/})
-
-@item
-@image{Flags/indonesia} Indonesia [M-Web] @@
-WWW (@uref{http://mysql.mweb.net.id/})
-FTP (@uref{ftp://mysql.mweb.net.id/pub/database/mysql/})
-
-@item
-@image{Flags/indonesia} Indonesia [web.id] @@
-WWW (@uref{http://mysql.itb.web.id/})
-FTP (@uref{ftp://mysql.itb.web.id/pub/MySQL/})
-
-@item
-@image{Flags/japan} Japan [Soft Agency] @@
-WWW (@uref{http://www.softagency.co.jp/MySQL/})
-
-@item
-@image{Flags/japan} Japan [u-aizu.ac.jp/Aizu] @@
-FTP (@uref{ftp://ftp.u-aizu.ac.jp/ftp/pub/dbms/mysql/mysql.com/})
-
-@item
-@image{Flags/philippines} Philippines [Ateneo de Zamboanga University] @@
-WWW (@uref{http://mysql.adzu.edu.ph/})
-
-@item
-@image{Flags/singapore} Singapore [HJC] @@
-WWW (@uref{http://mysql.hjc.edu.sg/})
-FTP (@uref{ftp://ftp.hjc.edu.sg/mysql/})
-
-@item
-@image{Flags/south-korea} South Korea [HolyNet] @@
-WWW (@uref{http://mysql.holywar.net/})
-
-@item
-@image{Flags/south-korea} South Korea [Webiiz] @@
-WWW (@uref{http://mysql.webiiz.com/})
-
-@item
-@image{Flags/taiwan} Taiwan [I-SHOU University] @@
-WWW (@uref{http://mysql.isu.edu.tw/})
-
-@item
-@image{Flags/taiwan} Taiwan [nctu.edu/HsinChu] @@
-WWW (@uref{http://mysql.nctu.edu.tw/})
-
-@item
-@image{Flags/taiwan} Taiwan [TTN] @@
-WWW (@uref{http://mysql.ttn.net/})
-
-@end itemize
-
-@strong{Australia:}
-
-@itemize @bullet
-
-@item
-@image{Flags/australia} Australia [InterActive Consulting] @@
-WWW (@uref{http://mysql.oranged.to})
-
-@item
-@image{Flags/australia} Australia [planetmirror.com] @@
-WWW (@uref{http://mysql.planetmirror.com/})
-FTP (@uref{ftp://planetmirror.com/pub/mysql/})
-
-@item
-@image{Flags/new-zealand} New Zealand [Cubalan] @@
-WWW (@uref{http://mysql.soa.co.nz/})
-
-@end itemize
-
-@strong{Africa:}
-
-@itemize @bullet
-
-@item
-@image{Flags/south-africa} South African Republic [The Internet Solution/Johannesburg] @@
-FTP (@uref{ftp://ftp.is.co.za/linux/mysql/})
-
-@end itemize
-
diff --git a/Docs/mysql.info b/Docs/mysql.info
new file mode 100644
index 00000000000..5846d7aadf6
--- /dev/null
+++ b/Docs/mysql.info
@@ -0,0 +1,27 @@
+This is mysql.info, produced by makeinfo version 4.8 from manual.texi.
+
+START-INFO-DIR-ENTRY
+* mysql: (mysql). MySQL documentation.
+END-INFO-DIR-ENTRY
+
+
+File: mysql.info, Node: Top, Next: (dir), Prev: (dir), Up: (dir)
+
+This is an empty placeholder file for the MySQL manual.
+
+The MySQL manual is now maintained in a separate BitKeeper source tree!
+Please see `http://www.mysql.com/doc/en/Installing_source_tree.html'
+for more info on how to work with BitKeeper.
+
+This file will be replaced with the current `mysql.info' when building
+the official source distribution.
+
+You can find a specific manual for any older version of MySQL in the
+binary or source distribution for that version.
+
+
+
+Tag Table:
+Node: Top166
+
+End Tag Table
diff --git a/Docs/mysqld_error.txt b/Docs/mysqld_error.txt
deleted file mode 100644
index aeb3a12c263..00000000000
--- a/Docs/mysqld_error.txt
+++ /dev/null
@@ -1,477 +0,0 @@
-/* Copyright Abandoned 1997 TCX DataKonsult AB & Monty Program KB & Detron HB
- This file is public domain and comes with NO WARRANTY of any kind */
-
-#define ER_HASHCHK 1000
-"hashchk",
-#define ER_NISAMCHK 1001
-"isamchk",
-#define ER_NO 1002
-"NO",
-#define ER_YES 1003
-"YES",
-#define ER_CANT_CREATE_FILE 1004
-"Can't create file '%-.64s' (errno: %d)",
-#define ER_CANT_CREATE_TABLE 1005
-"Can't create table '%-.64s' (errno: %d)",
-#define ER_CANT_CREATE_DB 1006
-"Can't create database '%-.64s'. (errno: %d)",
-#define ER_DB_CREATE_EXISTS 1007
-"Can't create database '%-.64s'. Database exists",
-#define ER_DB_DROP_EXISTS 1008
-"Can't drop database '%-.64s'. Database doesn't exist",
-#define ER_DB_DROP_DELETE 1009
-"Error dropping database (can't delete '%-.64s', errno: %d)",
-#define ER_DB_DROP_RMDIR 1010
-"Error dropping database (can't rmdir '%-.64s', errno: %d)",
-#define ER_CANT_DELETE_FILE 1011
-"Error on delete of '%-.64s' (errno: %d)",
-#define ER_CANT_FIND_SYSTEM_REC 1012
-"Can't read record in system table",
-#define ER_CANT_GET_STAT 1013
-"Can't get status of '%-.64s' (errno: %d)",
-#define ER_CANT_GET_WD 1014
-"Can't get working directory (errno: %d)",
-#define ER_CANT_LOCK 1015
-"Can't lock file (errno: %d)",
-#define ER_CANT_OPEN_FILE 1016
-"Can't open file: '%-.64s'. (errno: %d)",
-#define ER_FILE_NOT_FOUND 1017
-"Can't find file: '%-.64s' (errno: %d)",
-#define ER_CANT_READ_DIR 1018
-"Can't read dir of '%-.64s' (errno: %d)",
-#define ER_CANT_SET_WD 1019
-"Can't change dir to '%-.64s' (errno: %d)",
-#define ER_CHECKREAD 1020
-"Record has changed since last read in table '%-.64s'",
-#define ER_DISK_FULL 1021
-"Disk full (%s). Waiting for someone to free some space....",
-#define ER_DUP_KEY 1022
-"Can't write, duplicate key in table '%-.64s'",
-#define ER_ERROR_ON_CLOSE 1023
-"Error on close of '%-.64s' (errno: %d)",
-#define ER_ERROR_ON_READ 1024
-"Error reading file '%-.64s' (errno: %d)",
-#define ER_ERROR_ON_RENAME 1025
-"Error on rename of '%-.64s' to '%-.64s' (errno: %d)",
-#define ER_ERROR_ON_WRITE 1026
-"Error writing file '%-.64s' (errno: %d)",
-#define ER_FILE_USED 1027
-"'%-.64s' is locked against change",
-#define ER_FILSORT_ABORT 1028
-"Sort aborted",
-#define ER_FORM_NOT_FOUND 1029
-"View '%-.64s' doesn't exist for '%-.64s'",
-#define ER_GET_ERRNO 1030
-"Got error %d from table handler",
-#define ER_ILLEGAL_HA 1031
-"Table handler for '%-.64s' doesn't have this option",
-#define ER_KEY_NOT_FOUND 1032
-"Can't find record in '%-.64s'",
-#define ER_NOT_FORM_FILE 1033
-"Incorrect information in file: '%-.64s'",
-#define ER_NOT_KEYFILE 1034
-"Incorrect key file for table: '%-.64s'. Try to repair it",
-#define ER_OLD_KEYFILE 1035
-"Old key file for table '%-.64s'; Repair it!",
-#define ER_OPEN_AS_READONLY 1036
-"Table '%-.64s' is read only",
-#define ER_OUTOFMEMORY 1037
-"Out of memory. Restart daemon and try again (needed %d bytes)",
-#define ER_OUT_OF_SORTMEMORY 1038
-"Out of sort memory. Increase daemon sort buffer size",
-#define ER_UNEXPECTED_EOF 1039
-"Unexpected eof found when reading file '%-.64s' (errno: %d)",
-#define ER_CON_COUNT_ERROR 1040
-"Too many connections",
-#define ER_OUT_OF_RESOURCES 1041
-"Out of memory; Check if mysqld or some other process uses all available memory. If not you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space",
-#define ER_BAD_HOST_ERROR 1042
-"Can't get hostname for your address",
-#define ER_HANDSHAKE_ERROR 1043
-"Bad handshake",
-#define ER_DBACCESS_DENIED_ERROR 1044
-"Access denied for user: '%-.32s@%-.64s' to database '%-.64s'",
-#define ER_ACCESS_DENIED_ERROR 1045
-"Access denied for user: '%-.32s@%-.64s' (Using password: %s)",
-#define ER_NO_DB_ERROR 1046
-"No Database Selected",
-#define ER_UNKNOWN_COM_ERROR 1047
-"Unknown command",
-#define ER_BAD_NULL_ERROR 1048
-"Column '%-.64s' cannot be null",
-#define ER_BAD_DB_ERROR 1049
-"Unknown database '%-.64s'",
-#define ER_TABLE_EXISTS_ERROR 1050
-"Table '%-.64s' already exists",
-#define ER_BAD_TABLE_ERROR 1051
-"Unknown table '%-.64s'",
-#define ER_NON_UNIQ_ERROR 1052
-"Column: '%-.64s' in %-.64s is ambiguous",
-#define ER_SERVER_SHUTDOWN 1053
-"Server shutdown in progress",
-#define ER_BAD_FIELD_ERROR 1054
-"Unknown column '%-.64s' in '%-.64s'",
-#define ER_WRONG_FIELD_WITH_GROUP 1055
-"'%-.64s' isn't in GROUP BY",
-#define ER_WRONG_GROUP_FIELD 1056
-"Can't group on '%-.64s'",
-#define ER_WRONG_SUM_SELECT 1057
-"Statement has sum functions and columns in same statement",
-#define ER_WRONG_VALUE_COUNT 1058
-"Column count doesn't match value count",
-#define ER_TOO_LONG_IDENT 1059
-"Identifier name '%-.100s' is too long",
-#define ER_DUP_FIELDNAME 1060
-"Duplicate column name '%-.64s'",
-#define ER_DUP_KEYNAME 1061
-"Duplicate key name '%-.64s'",
-#define ER_DUP_ENTRY 1062
-"Duplicate entry '%-.64s' for key %d",
-#define ER_WRONG_FIELD_SPEC 1063
-"Incorrect column specifier for column '%-.64s'",
-#define ER_PARSE_ERROR 1064
-"%s near '%-.80s' at line %d",
-#define ER_EMPTY_QUERY 1065
-"Query was empty",
-#define ER_NONUNIQ_TABLE 1066
-"Not unique table/alias: '%-.64s'",
-#define ER_INVALID_DEFAULT 1067
-"Invalid default value for '%-.64s'",
-#define ER_MULTIPLE_PRI_KEY 1068
-"Multiple primary key defined",
-#define ER_TOO_MANY_KEYS 1069
-"Too many keys specified. Max %d keys allowed",
-#define ER_TOO_MANY_KEY_PARTS 1070
-"Too many key parts specified. Max %d parts allowed",
-#define ER_TOO_LONG_KEY 1071
-"Specified key was too long. Max key length is %d",
-#define ER_KEY_COLUMN_DOES_NOT_EXITS 1072
-"Key column '%-.64s' doesn't exist in table",
-#define ER_BLOB_USED_AS_KEY 1073
-"BLOB column '%-.64s' can't be used in key specification with the used table type",
-#define ER_TOO_BIG_FIELDLENGTH 1074
-"Too big column length for column '%-.64s' (max = %d). Use BLOB instead",
-#define ER_WRONG_AUTO_KEY 1075
-"Incorrect table definition; There can only be one auto column and it must be defined as a key",
-#define ER_READY 1076
-"%s: ready for connections\n",
-#define ER_NORMAL_SHUTDOWN 1077
-"%s: Normal shutdown\n",
-#define ER_GOT_SIGNAL 1078
-"%s: Got signal %d. Aborting!\n",
-#define ER_SHUTDOWN_COMPLETE 1079
-"%s: Shutdown Complete\n",
-#define ER_FORCING_CLOSE 1080
-"%s: Forcing close of thread %ld user: '%-.32s'\n",
-#define ER_IPSOCK_ERROR 1081
-"Can't create IP socket",
-#define ER_NO_SUCH_INDEX 1082
-"Table '%-.64s' has no index like the one used in CREATE INDEX. Recreate the table",
-#define ER_WRONG_FIELD_TERMINATORS 1083
-"Field separator argument is not what is expected. Check the manual",
-#define ER_BLOBS_AND_NO_TERMINATED 1084
-"You can't use fixed rowlength with BLOBs. Please use 'fields terminated by'.",
-#define ER_TEXTFILE_NOT_READABLE 1085
-"The file '%-.64s' must be in the database directory or be readable by all",
-#define ER_FILE_EXISTS_ERROR 1086
-"File '%-.80s' already exists",
-#define ER_LOAD_INFO 1087
-"Records: %ld Deleted: %ld Skipped: %ld Warnings: %ld",
-#define ER_ALTER_INFO 1088
-"Records: %ld Duplicates: %ld",
-#define ER_WRONG_SUB_KEY 1089
-"Incorrect sub part key. The used key part isn't a string, the used length is longer than the key part or the table handler doesn't support unique sub keys",
-#define ER_CANT_REMOVE_ALL_FIELDS 1090
-"You can't delete all columns with ALTER TABLE. Use DROP TABLE instead",
-#define ER_CANT_DROP_FIELD_OR_KEY 1091
-"Can't DROP '%-.64s'. Check that column/key exists",
-#define ER_INSERT_INFO 1092
-"Records: %ld Duplicates: %ld Warnings: %ld",
-#define ER_INSERT_TABLE_USED 1093
-"INSERT TABLE '%-.64s' isn't allowed in FROM table list",
-#define ER_NO_SUCH_THREAD 1094
-"Unknown thread id: %lu",
-#define ER_KILL_DENIED_ERROR 1095
-"You are not owner of thread %lu",
-#define ER_NO_TABLES_USED 1096
-"No tables used",
-#define ER_TOO_BIG_SET 1097
-"Too many strings for column %-.64s and SET",
-#define ER_NO_UNIQUE_LOGFILE 1098
-"Can't generate a unique log-filename %-.64s.(1-999)\n",
-#define ER_TABLE_NOT_LOCKED_FOR_WRITE 1099
-"Table '%-.64s' was locked with a READ lock and can't be updated",
-#define ER_TABLE_NOT_LOCKED 1100
-"Table '%-.64s' was not locked with LOCK TABLES",
-#define ER_BLOB_CANT_HAVE_DEFAULT 1101
-"BLOB column '%-.64s' can't have a default value",
-#define ER_WRONG_DB_NAME 1102
-"Incorrect database name '%-.100s'",
-#define ER_WRONG_TABLE_NAME 1103
-"Incorrect table name '%-.100s'",
-#define ER_TOO_BIG_SELECT 1104
-"The SELECT would examine too many records and probably take a very long time. Check your WHERE and use SET OPTION SQL_BIG_SELECTS=1 if the SELECT is ok",
-#define ER_UNKNOWN_ERROR 1105
-"Unknown error",
-#define ER_UNKNOWN_PROCEDURE 1106
-"Unknown procedure '%-.64s'",
-#define ER_WRONG_PARAMCOUNT_TO_PROCEDURE 1107
-"Incorrect parameter count to procedure '%-.64s'",
-#define ER_WRONG_PARAMETERS_TO_PROCEDURE 1108
-"Incorrect parameters to procedure '%-.64s'",
-#define ER_UNKNOWN_TABLE 1109
-"Unknown table '%-.64s' in %-.32s",
-#define ER_FIELD_SPECIFIED_TWICE 1110
-"Column '%-.64s' specified twice",
-#define ER_INVALID_GROUP_FUNC_USE 1111
-"Invalid use of group function",
-#define ER_UNSUPPORTED_EXTENSION 1112
-"Table '%-.64s' uses an extension that doesn't exist in this MySQL version",
-#define ER_TABLE_MUST_HAVE_COLUMNS 1113
-"A table must have at least 1 column",
-#define ER_RECORD_FILE_FULL 1114
-"The table '%-.64s' is full",
-#define ER_UNKNOWN_CHARACTER_SET 1115
-"Unknown character set: '%-.64s'",
-#define ER_TOO_MANY_TABLES 1116
-"Too many tables. MySQL can only use %d tables in a join",
-#define ER_TOO_MANY_FIELDS 1117
-"Too many columns",
-#define ER_TOO_BIG_ROWSIZE 1118
-"Too big row size. The maximum row size, not counting BLOBs, is %d. You have to change some fields to BLOBs",
-#define ER_STACK_OVERRUN 1119
-"Thread stack overrun: Used: %ld of a %ld stack. Use 'mysqld -O thread_stack=#' to specify a bigger stack if needed",
-#define ER_WRONG_OUTER_JOIN 1120
-"Cross dependency found in OUTER JOIN. Examine your ON conditions",
-#define ER_NULL_COLUMN_IN_INDEX 1121
-"Column '%-.64s' is used with UNIQUE or INDEX but is not defined as NOT NULL",
-#define ER_CANT_FIND_UDF 1122
-"Can't load function '%-.64s'",
-#define ER_CANT_INITIALIZE_UDF 1123
-"Can't initialize function '%-.64s'; %-.80s",
-#define ER_UDF_NO_PATHS 1124
-"No paths allowed for shared library",
-#define ER_UDF_EXISTS 1125
-"Function '%-.64s' already exist",
-#define ER_CANT_OPEN_LIBRARY 1126
-"Can't open shared library '%-.64s' (errno: %d %-.64s)",
-#define ER_CANT_FIND_DL_ENTRY 1127
-"Can't find function '%-.64s' in library'",
-#define ER_FUNCTION_NOT_DEFINED 1128
-"Function '%-.64s' is not defined",
-#define ER_HOST_IS_BLOCKED 1129
-"Host '%-.64s' is blocked because of many connection errors. Unblock with 'mysqladmin flush-hosts'",
-#define ER_HOST_NOT_PRIVILEGED 1130
-"Host '%-.64s' is not allowed to connect to this MySQL server",
-#define ER_PASSWORD_ANONYMOUS_USER 1131
-"You are using MySQL as an anonymous users and anonymous users are not allowed to change passwords",
-#define ER_PASSWORD_NOT_ALLOWED 1132
-"You must have privileges to update tables in the mysql database to be able to change passwords for others",
-#define ER_PASSWORD_NO_MATCH 1133
-"Can't find any matching row in the user table",
-#define ER_UPDATE_INFO 1134
-"Rows matched: %ld Changed: %ld Warnings: %ld",
-#define ER_CANT_CREATE_THREAD 1135
-"Can't create a new thread (errno %d). If you are not out of available memory, you can consult the manual for a possible OS-dependent bug",
-#define ER_WRONG_VALUE_COUNT_ON_ROW 1136
-"Column count doesn't match value count at row %ld",
-#define ER_CANT_REOPEN_TABLE 1137
-"Can't reopen table: '%-.64s'",
-#define ER_INVALID_USE_OF_NULL 1138
-"Invalid use of NULL value",
-#define ER_REGEXP_ERROR 1139
-"Got error '%-.64s' from regexp",
-#define ER_MIX_OF_GROUP_FUNC_AND_FIELDS 1140
-"Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause",
-#define ER_NONEXISTING_GRANT 1141
-"There is no such grant defined for user '%-.32s' on host '%-.64s'",
-#define ER_TABLEACCESS_DENIED_ERROR 1142
-"%-.16s command denied to user: '%-.32s@%-.64s' for table '%-.64s'",
-#define ER_COLUMNACCESS_DENIED_ERROR 1143
-"%-.16s command denied to user: '%-.32s@%-.64s' for column '%-.64s' in table '%-.64s'",
-#define ER_ILLEGAL_GRANT_FOR_TABLE 1144
-"Illegal GRANT/REVOKE command. Please consult the manual which privileges can be used.",
-#define ER_GRANT_WRONG_HOST_OR_USER 1145
-"The host or user argument to GRANT is too long",
-#define ER_NO_SUCH_TABLE 1146
-"Table '%-.64s.%-.64s' doesn't exist",
-#define ER_NONEXISTING_TABLE_GRANT 1147
-"There is no such grant defined for user '%-.32s' on host '%-.64s' on table '%-.64s'",
-#define ER_NOT_ALLOWED_COMMAND 1148
-"The used command is not allowed with this MySQL version",
-#define ER_SYNTAX_ERROR 1149
-"You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use",
-#define ER_DELAYED_CANT_CHANGE_LOCK 1150
-"Delayed insert thread couldn't get requested lock for table %-.64s",
-#define ER_TOO_MANY_DELAYED_THREADS 1151
-"Too many delayed threads in use",
-#define ER_ABORTING_CONNECTION 1152
-"Aborted connection %ld to db: '%-.64s' user: '%-.32s' (%-.64s)",
-#define ER_NET_PACKET_TOO_LARGE 1153
-"Got a packet bigger than 'max_allowed_packet'",
-#define ER_NET_READ_ERROR_FROM_PIPE 1154
-"Got a read error from the connection pipe",
-#define ER_NET_FCNTL_ERROR 1155
-"Got an error from fcntl()",
-#define ER_NET_PACKETS_OUT_OF_ORDER 1156
-"Got packets out of order",
-#define ER_NET_UNCOMPRESS_ERROR 1157
-"Couldn't uncompress communication packet",
-#define ER_NET_READ_ERROR 1158
-"Got an error reading communication packets",
-#define ER_NET_READ_INTERRUPTED 1159
-"Got timeout reading communication packets",
-#define ER_NET_ERROR_ON_WRITE 1160
-"Got an error writing communication packets",
-#define ER_NET_WRITE_INTERRUPTED 1161
-"Got timeout writing communication packets",
-#define ER_TOO_LONG_STRING 1162
-"Result string is longer than max_allowed_packet",
-#define ER_TABLE_CANT_HANDLE_BLOB 1163
-"The used table type doesn't support BLOB/TEXT columns",
-#define ER_TABLE_CANT_HANDLE_AUTO_INCREMENT 1164
-"The used table type doesn't support AUTO_INCREMENT columns",
-#define ER_DELAYED_INSERT_TABLE_LOCKED 1165
-"INSERT DELAYED can't be used with table '%-.64s', because it is locked with LOCK TABLES",
-#define ER_WRONG_COLUMN_NAME 1166
-"Incorrect column name '%-.100s'",
-#define ER_WRONG_KEY_COLUMN 1167
-"The used table handler can't index column '%-.64s'",
-#define ER_WRONG_MRG_TABLE 1168
-"All tables in the MERGE table are not identically defined",
-#define ER_DUP_UNIQUE 1169
-"Can't write, because of unique constraint, to table '%-.64s'",
-#define ER_BLOB_KEY_WITHOUT_LENGTH 1170
-"BLOB column '%-.64s' used in key specification without a key length",
-#define ER_PRIMARY_CANT_HAVE_NULL 1171
-"All parts of a PRIMARY KEY must be NOT NULL; If you need NULL in a key, use UNIQUE instead",
-#define ER_TOO_MANY_ROWS 1172
-"Result consisted of more than one row",
-#define ER_REQUIRES_PRIMARY_KEY 1173
-"This table type requires a primary key",
-#define ER_NO_RAID_COMPILED 1174
-"This version of MySQL is not compiled with RAID support",
-#define ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE 1175
-"You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column",
-#define ER_KEY_DOES_NOT_EXITS 1176
-"Key '%-.64s' doesn't exist in table '%-.64s'",
-#define ER_CHECK_NO_SUCH_TABLE 1177
-"Can't open table",
-#define ER_CHECK_NOT_IMPLEMENTED 1178
-"The handler for the table doesn't support %s",
-#define ER_CANT_DO_THIS_DURING_AN_TRANSACTION 1179
-"You are not allowed to execute this command in a transaction",
-#define ER_ERROR_DURING_COMMIT 1180
-"Got error %d during COMMIT",
-#define ER_ERROR_DURING_ROLLBACK 1181
-"Got error %d during ROLLBACK",
-#define ER_ERROR_DURING_FLUSH_LOGS 1182
-"Got error %d during FLUSH_LOGS",
-#define ER_ERROR_DURING_CHECKPOINT 1183
-"Got error %d during CHECKPOINT",
-#define ER_NEW_ABORTING_CONNECTION 1184
-"Aborted connection %ld to db: '%-.64s' user: '%-.32s' host: `%-.64s' (%-.64s)",
-#define ER_DUMP_NOT_IMPLEMENTED 1185
-"The handler for the table does not support binary table dump",
-#define ER_FLUSH_MASTER_BINLOG_CLOSED 1186
-"Binlog closed, cannot RESET MASTER",
-#define ER_INDEX_REBUILD 1187
-"Failed rebuilding the index of dumped table '%-.64s'",
-#define ER_MASTER 1188
-"Error from master: '%-.64s'",
-#define ER_MASTER_NET_READ 1189
-"Net error reading from master",
-#define ER_MASTER_NET_WRITE 1190
-"Net error writing to master",
-#define ER_FT_MATCHING_KEY_NOT_FOUND 1191
-"Can't find FULLTEXT index matching the column list",
-#define ER_LOCK_OR_ACTIVE_TRANSACTION 1192
-"Can't execute the given command because you have active locked tables or an active transaction",
-#define ER_UNKNOWN_SYSTEM_VARIABLE 1193
-"Unknown system variable '%-.64s'",
-#define ER_CRASHED_ON_USAGE 1194
-"Table '%-.64s' is marked as crashed and should be repaired",
-#define ER_CRASHED_ON_REPAIR 1195
-"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
-#define ER_WARNING_NOT_COMPLETE_ROLLBACK 1196
-"Warning: Some non-transactional changed tables couldn't be rolled back",
-#define ER_TRANS_CACHE_FULL 1197
-"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again',
-#define ER_SLAVE_MUST_STOP 1198
-"This operation cannot be performed with a running slave, run SLAVE STOP first",
-#define ER_SLAVE_NOT_RUNNING 1199
-"This operation requires a running slave, configure slave and do SLAVE START",
-#define ER_BAD_SLAVE 1200
-"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
-#define ER_MASTER_INFO 1201
-"Could not initialize master info structure, check permisions on master.info",
-#define ER_SLAVE_THREAD 1202
-"Could not create slave thread, check system resources",
-#define ER_TOO_MANY_USER_CONNECTIONS 1203
-"User %-.64s has already more than 'max_user_connections' active connections",
-#define ER_SET_CONSTANTS_ONLY 1204
-"You may only use constant expressions with SET",
-#define ER_LOCK_WAIT_TIMEOUT 1205
-"Lock wait timeout exceeded; Try restarting transaction",
-#define ER_LOCK_TABLE_FULL 1206
-"The total number of locks exceeds the lock table size",
-#define ER_READ_ONLY_TRANSACTION 1207
-"Update locks cannot be acquired during a READ UNCOMMITTED transaction",
-#define ER_DROP_DB_WITH_READ_LOCK 1208
-"DROP DATABASE not allowed while thread is holding global read lock",
-#define ER_CREATE_DB_WITH_READ_LOCK 1209
-"CREATE DATABASE not allowed while thread is holding global read lock",
-#define ER_WRONG_ARGUMENTS 1210
-"Wrong arguments to %s",
-#define ER_NO_PERMISSION_TO_CREATE_USER 1211
-"%-.32s@%-.64s is not allowed to create new users",
-#define ER_UNION_TABLES_IN_DIFFERENT_DIR 1212
-"Incorrect table definition; All MERGE tables must be in the same database",
-#define ER_LOCK_DEADLOCK 1213
-"Deadlock found when trying to get lock; Try restarting transaction",
-#define ER_TABLE_CANT_HANDLE_FULLTEXT 1214
-"The used table type doesn't support FULLTEXT indexes",
-#define ER_CANNOT_ADD_FOREIGN 1215
-"Cannot add foreign key constraint",
-#define ER_NO_REFERENCED_ROW 1216
-"Cannot add a child row: a foreign key constraint fails",
-#define ER_ROW_IS_REFERENCED 1217
-"Cannot delete a parent row: a foreign key constraint fails",
-#define ER_CONNECT_TO_MASTER 1218
-"Error connecting to master: %-.128s",
-#define ER_QUERY_ON_MASTER 1219
-"Error running query on master: %-.128s",
-#define ER_ERROR_WHEN_EXECUTING_COMMAND 1220
-"Error when executing command %s: %-.128s",
-#define ER_WRONG_USAGE 1221
-"Wrong usage of %s and %s",
-#define ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT 1222
-"The used SELECT statements have a different number of columns",
-#define ER_CANT_UPDATE_WITH_READLOCK 1223
-"Can't execute the query because you have a conflicting read lock",
-#define ER_MIXING_NOT_ALLOWED 1224
-"Mixing of transactional and non-transactional tables is disabled",
-#define ER_DUP_ARGUMENT 1225
-"Option '%s' used twice in statement",
-#define ER_USER_LIMIT_REACHED 1226
-"User '%-.64s' has exceeded the '%s' resource (current value: %ld)",
-#define ER_SPECIFIC_ACCESS_DENIED_ERROR 1227
-"Access denied. You need the %-.128s privilege for this operation",
-#define ER_LOCAL_VARIABLE 1228
-"Variable '%-.64s' is a LOCAL variable and can't be used with SET GLOBAL",
-#define ER_GLOBAL_VARIABLE 1229
-"Variable '%-.64s' is a GLOBAL variable and should be set with SET GLOBAL",
-#define ER_NO_DEFAULT 1230
-"Variable '%-.64s' doesn't have a default value",
-#define ER_WRONG_VALUE_FOR_VAR 1231
-"Variable '%-.64s' can't be set to the value of '%-.64s'",
-#define ER_WRONG_TYPE_FOR_VAR 1232
-"Wrong argument type to variable '%-.64s'",
-#define ER_VAR_CANT_BE_READ 1233
-"Variable '%-.64s' can only be set, not read",
-#define ER_CANT_USE_OPTION_HERE 1234
-"Wrong usage/placement of '%s'",
-#define 1235
-"This version of MySQL doesn't yet support '%s'",
-#define ER_MASTER_FATAL_ERROR_READING_BINLOG 1236
-"Got fatal error %d: '%-.128s' from master when reading data from binary log",
diff --git a/Docs/reservedwords.texi b/Docs/reservedwords.texi
deleted file mode 100644
index a6dddfe9a7a..00000000000
--- a/Docs/reservedwords.texi
+++ /dev/null
@@ -1,14 +0,0 @@
-@c This is a placeholder file for the autogenerated MySQL reserved
-@c word list "reservedwords.texi", which is being included in
-@c manual.texi when building the manual.
-@c
-@c This file will be replaced with the actual reserved word list
-@c from the "mysqldoc" BK source tree when building the official
-@c source distribution.
-@c
-@c Please note, that the manual is now maintained in a separate
-@c "mysqldoc" BitKeeper tree! See
-@c
-@c http://www.mysql.com/doc/en/Installing_source_tree.html
-@c
-@c for more info on how to work with the MySQL BK source trees.
diff --git a/Docs/section.Infolinks.texi b/Docs/section.Infolinks.texi
deleted file mode 100644
index 828722e0e56..00000000000
--- a/Docs/section.Infolinks.texi
+++ /dev/null
@@ -1,880 +0,0 @@
-@c FIX AGL 20011108 Extracted from manual.texi.
-@c Contains links to MySQL related info (books, articles). To web portals!
-
-
-@node MySQL-Books, General-SQL, Questions, MySQL Information Sources
-@subsection Books About MySQL
-
-For the latest book information, with user comments, please visit
-@uref{http://www.mysql.com/portal/books/html/}.
-
-While this manual is still the right place for up to date technical
-information, its primary goal is to contain everything there is to know
-about MySQL. It is sometimes nice to have a bound book to read
-in bed or while you travel. Here is a list of books about MySQL and
-related subjects (in English).
-
-By purchasing a book through these hyperlinks provided herein, you are
-contributing to the development of MySQL.
-
-@emph{MySQL}
-@multitable @columnfractions .3 .7
-@item Available @tab @uref{http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0735709211&bfmtype=book} (Barnes and Noble)
-@item Publisher @tab New Riders
-@item Author @tab Paul DuBois
-@item Pub Date @tab 1st Edition December 1999
-@item ISBN @tab 0735709211
-@item Pages @tab 800
-@item Price @tab $49.99 US
-@item Downloadable examples @tab
- @uref{http://www.kitebird.com/mysql-book/} (@code{samp_db} distribution)
-@item Errata @tab
-@uref{http://www.kitebird.com/mysql-book/errata.html}
-@end multitable
-
-Foreword by Michael ``Monty'' Widenius, MySQL Moderator.
-@*
-
-In @emph{MySQL}, Paul DuBois provides you with a comprehensive guide to
-one of the most popular relational database systems. Paul has
-contributed to the online documentation for MySQL and is an
-active member of the MySQL community. The principal MySQL
-developer, Monty Widenius, and a network of his fellow developers
-reviewed the manuscript, and provided Paul with the kind of insight
-no one else could supply.
-@*
-
-Instead of merely giving you a general overview of MySQL, Paul
-teaches you how to make the most of its capabilities. Through two
-sample database applications that run throughout the book, he
-gives you solutions to problems you're sure to face. He helps you
-integrate MySQL efficiently with third-party tools, such as PHP
-and Perl, enabling you to generate dynamic Web pages through
-database queries. He teaches you to write programs that access
-MySQL databases, and also provides a comprehensive set of
-references to column types, operators, functions, SQL syntax,
-MySQL programming, C API, Perl @code{DBI}, and PHP API.
-@emph{MySQL} simply gives you the kind of information you won't find
-anywhere else.
-@*
-
-If you use MySQL, this book provides you with:
-@itemize @bullet
-@item
-An introduction to MySQL and SQL.
-@item
-Coverage of MySQL's data types and how to use them.
-@item
-Thorough treatment of how to write client programs in C.
-@item
-A guide to using the Perl @code{DBI} and PHP APIs for developing
-command-line and Web-based applications.
-@item
-Tips on administrative issues such as user accounts, backup,
-crash recovery, and security.
-@item
-Help in choosing an ISP for MySQL access.
-@item
-A comprehensive reference for MySQL's data types, operators,
-functions, and SQL statements and utilities.
-@item
-Complete reference guides for MySQL's C API, the Perl @code{DBI} API,
-and PHP's MySQL-related functions.
-@end itemize
-@*
-
-@emph{MySQL & mSQL}
-@multitable @columnfractions .3 .7
-@item Available @tab @uref{http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=1565924347&bfmtype=book} (Barnes and Noble)
-@item Publisher @tab O'Reilly
-@item Authors @tab Randy Jay Yarger, George Reese & Tim King
-@item Pub Date @tab 1st Edition July 1999
-@item ISBN @tab 1-56592-434-7, Order Number: 4347
-@item Pages @tab 506
-@item Price @tab $34.95
-@end multitable
-
-This book teaches you how to use MySQL and @code{mSQL}, two popular
-and robust database products that support key subsets of SQL on both Linux
-and Unix systems. Anyone who knows basic C, Java, Perl, or Python can
-write a program to interact with a database, either as a stand-alone
-application or through a Web page. This book takes you through the
-whole process, from installation and configuration to programming
-interfaces and basic administration. Includes plenty of tutorial
-material.
-@*
-
-@emph{Sams' Teach Yourself MySQL in 21 Days}
-@multitable @columnfractions .3 .7
-@item Available @tab @uref{http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0672319144&bfmtype=book} (Barnes and Noble)
-@item Publisher @tab Sams
-@item Authors @tab Mark Maslakowski and Tony Butcher
-@item Pub Date @tab June 2000
-@item ISBN @tab 0672319144
-@item Pages @tab 650
-@item Price @tab $39.99
-@end multitable
-
-Sams' @emph{Teach Yourself MySQL in 21 Days} is for intermediate Linux users
-who want to move into databases. A large share of the audience is Web
-developers who need a database to store large amounts of information that
-can be retrieved via the Web.
-
-Sams' @emph{Teach Yourself MySQL in 21 Days} is a practical, step-by-step
-tutorial. The reader will learn to design and employ this open source
-database technology into his or her website using practical, hands-on
-examples to follow.
-@*
-
-@emph{E-Commerce Solutions with MySQL}
-@multitable @columnfractions .3 .7
-@item Available @tab @uref{http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0761524452&bfmtype=book} (Barnes and Noble)
-@item Publisher @tab Prima Communications, Inc.
-@item Authors @tab N/A
-@item Pub Date @tab January 2000
-@item ISBN @tab 0761524452
-@item Pages @tab 500
-@item Price @tab $39.99
-@end multitable
-
-No description available.
-@*
-
-@emph{MySQL and PHP from Scratch}
-@multitable @columnfractions .3 .7
-@item Available @tab @uref{http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0789724405&bfmtype=book} (Barnes and Noble)
-@item Publisher @tab Que
-@item Authors @tab N/A
-@item Pub Date @tab September 2000
-@item ISBN @tab 0789724405
-@item Pages @tab 550
-@item Price @tab $34.99
-@end multitable
-
-This book puts together information on installing, setting up, and
-troubleshooting Apache, MySQL, PHP3, and IMP into one complete
-volume. You also learn how each piece is part of a whole by learning,
-step-by-step, how to create a web-based e-mail system. Learn to run
-the equivalent of Active Server Pages (ASP) using PHP3, set up an
-e-commerce site using a database and the Apache web server, and create
-a data entry system (such as sales, product quality tracking, customer
-preferences, etc) that no installation in the PC.
-@*
-
-@emph{Professional MySQL Programming}
-@multitable @columnfractions .3 .7
-@item Available @tab @uref{http://shop.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=1861005164} (Barnes and Noble)
-@item Publisher @tab Wrox Press, Inc.
-@item Authors @tab N/A
-@item Pub Date @tab Late 2001
-@item ISBN @tab 1861005164
-@item Pages @tab 1000
-@item Price @tab $49.99
-@end multitable
-
-No description available.
-@*
-
-@emph{Professional Linux Programming}
-@multitable @columnfractions .3 .7
-@item Available @tab @uref{http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=1861003013&bfmtype=book} (Barnes and Noble)
-@item Publisher @tab Wrox Press, Inc.
-@item Authors @tab N/A
-@item Pub Date @tab September 2000
-@item ISBN @tab 1861003013
-@item Pages @tab 1155
-@item Price @tab $47.99
-@end multitable
-
-In this follow-up to the best-selling @emph{Beginning Linux Programming},
-you will learn from the authors' real-world knowledge and experience of
-developing software for Linux; you'll be taken through the development
-of a sample 'DVD Store' application, with 'theme' chapters addressing
-different aspects of its implementation. Meanwhile, individual
-``take-a-break'' chapters cover important topics that go beyond the
-bounds of the central theme. All focus on the practical aspects of
-programming, showing how crucial it is to choose the right tools for
-the job, use them as they should be used, and get things right first
-time.
-@*
-
-@emph{PHP and MySQL Web Development}
-@multitable @columnfractions .3 .7
-@item Available @tab @uref{http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0672317842&bfmtype=book} (Barnes and Noble)
-@item Publisher @tab Sams
-@item Authors @tab Luke Welling, Laura Thomson
-@item Pub Date @tab March 2001
-@item ISBN @tab 0672317842
-@item Pages @tab 700
-@item Price @tab $49.99
-@end multitable
-
-@emph{PHP and MySQL Web Development} introduces you to the advantages
-of implementing both MySQL and PHP. These advantages are detailed
-through the provision of both statistics and several case studies. A
-practical web application is developed throughout the book, providing
-you with the tools necessary to implement a functional online
-database. Each function is developed separately, allowing you the
-choice to incorporate only those parts that you would like to
-implement. Programming concepts of the PHP language are highlighted,
-including functions which tie MySQL support into a PHP script and
-advanced topics regarding table manipulation.
-@*
-
-@strong{Books recommended by the MySQL Developers}
-
-@emph{SQL-99 Complete, Really}
-@multitable @columnfractions .3 .7
-@item Available @tab @uref{http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0879305681&bfmtype=book} (Barnes and Noble)
-@item Publisher @tab CMP Books
-@item Authors @tab Peter Gulutzan, Trudy Pelzer
-@item Pub Date @tab April 1999
-@item ISBN @tab 0879305681
-@item Pages @tab 1104
-@item Price @tab $55.96
-@end multitable
-
-This book contains complete descriptions of the new standards for
-syntax, data structures, and retrieval processes of SQL databases. As
-an example-based reference manual, it includes all of the CLI
-functions, information, schema tables, and status codes, as well as a
-working SQL database provided on the companion disk.
-@*
-
-@emph{C, A reference manual}
-@multitable @columnfractions .3 .7
-@item Available @tab @uref{http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0133262243&bfmtype=book} (Barnes and Noble)
-@item Publisher @tab Prentice Hall
-@item Authors @tab Samuel P. Harbison, Guy L. Steele
-@item Pub Date @tab September 1994
-@item ISBN @tab 0133262243
-@item Pages @tab 480
-@item Price @tab $35.99
-@end multitable
-
-A new and improved revision of the bestselling C language
-reference. This manual introduces the notion of "Clean C", writing C
-code that can be compiled as a C++ program, C programming style that
-emphasizes correctness, portability, maintainability, and
-incorporates the ISO C Amendment 1 (1994) which specifies new
-facilities for writing portable, international programs in C.
-@*
-
-@emph{C++ for Real Programmers}
-@multitable @columnfractions .3 .7
-@item Available @tab @uref{http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0120499428&bfmtype=book} (Barnes and Noble)
-@item Publisher @tab Academic Press, Incorporated
-@item Authors @tab Jeff Alger, Jim Keogh
-@item Pub Date @tab February 1998
-@item ISBN @tab 0120499428
-@item Pages @tab 388
-@item Price @tab $39.95
-@end multitable
-
-@emph{C++ For Real Programmers} bridges the gap between C++ as described
-in beginner and intermediate-level books and C++ as it is practiced by
-experts. Numerous valuable techniques are described, organised into
-three simple themes: indirection, class hierarchies, and memory
-management. It also provides in-depth coverage of template creation,
-exception handling, pointers and optimisation techniques. The focus of
-the book is on ANSI C++ and, as such, is compiler independent.
-
-@emph{C++ For Real Programmers} is a revision of
-@emph{Secrets of the C++ Masters} and includes a new appendix comparing C++
-with Java. The book comes with a 3.5" disk for Windows with source code.
-@*
-
-@emph{Algorithms in C}
-@multitable @columnfractions .3 .7
-@item Available @tab @uref{http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0201514257&bfmtype=book} (Barnes and Noble)
-@item Publisher @tab Addison Wesley Longman, Inc.
-@item Authors @tab Robert Sedgewick
-@item Pub Date @tab April 1990
-@item ISBN @tab 0201514257
-@item Pages @tab 648
-@item Price @tab $45.75
-@end multitable
-
-@emph{Algorithms in C} describes a variety of algorithms in a number of
-areas of interest, including: sorting, searching, string-processing, and
-geometric, graph and mathematical algorithms. The book emphasizes
-fundamental techniques, providing readers with the tools to confidently
-implement, run, and debug useful algorithms.
-@*
-
-@emph{Multithreaded Programming with Pthreads}
-@multitable @columnfractions .3 .7
-@item Available @tab @uref{http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0136807291&bfmtype=book} (Barnes and Noble)
-@item Publisher @tab Prentice Hall
-@item Authors @tab Bil Lewis, Daniel J. Berg
-@item Pub Date @tab October 1997
-@item ISBN @tab 0136807291
-@item Pages @tab 432
-@item Price @tab $34.95
-@end multitable
-
-Based on the best-selling @emph{Threads Primer},
-@emph{Multithreaded Programming with Pthreads} gives you a solid
-understanding of Posix threads: what they are, how they work, when to use
-them, and how to optimise them. It retains the clarity and humor of
-@emph{Threads Primer}, but includes expanded comparisons to Win32 and OS/2
-implementations. Code examples tested on all of the major UNIX platforms
-are featured along with detailed explanations of how and why they use threads.
-@*
-
-@emph{Programming the PERL DBI: Database Programming with PERL}
-@multitable @columnfractions .3 .7
-@item Available @tab @uref{http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=1565926994&bfmtype=book} (Barnes and Noble)
-@item Publisher @tab O'Reilly & Associates, Incorporated
-@item Authors @tab Alligator Descartes, Tim Bunce
-@item Pub Date @tab February 2000
-@item ISBN @tab 1565926994
-@item Pages @tab 400
-@item Price @tab $27.96
-@end multitable
-
-@emph{Programming the Perl DBI} is coauthored by Alligator Descartes, one
-of the most active members of the DBI community, and by Tim Bunce, the
-inventor of DBI. For the uninitiated, the book explains the architecture
-of DBI and shows you how to write DBI-based programs. For the experienced
-DBI dabbler, this book explains DBI's nuances and the peculiarities of each
-individual DBD.
-
-The book includes:
-@itemize @bullet
-@item
-An introduction to DBI and its design.
-@item
-How to construct queries and bind parameters.
-@item
-Working with database, driver, and statement handles.
-@item
-Debugging techniques.
-@item
-Coverage of each existing DBD.
-@item
-A complete reference to DBI.
-@end itemize
-@*
-
-
-@node General-SQL, Useful Links, MySQL-Books, MySQL Information Sources
-@subsection General SQL Information and Tutorials
-
-The MySQL book portal is split into different sections to make it easy
-to locate books for various purposes.
-@uref{http://www.mysql.com/portal/books/html/}
-
-Tutorials can be found at:
-@uref{http://www.mysql.com/portal/development/html/development-61-1.html}
-
-@node Useful Links, , General-SQL, MySQL Information Sources
-@subsection Useful MySQL-related Links
-
-The MySQL development portal is the ultimate source of MySQL related
-links. @uref{http://www.mysql.com/portal/development/html/}
-
-Apart from the following links, you can find and download a lot of
-MySQL programs, tools and APIs in the Contrib directory
-(@uref{http://www.mysql.com/Downloads/Contrib/}).
-@cindex @code{Contrib} directory
-
-@cindex URLs to MySQL information
-@cindex MySQL related information URLs
-@subheading Tutorials and Manuals
-
-@table @asis
-@item @uref{http://michael.bacarella.com/research/mysqlmyths.html} (MySQL Myths Debunked)
-MySQL used in the real world.
-
-@item @uref{http://www.4t2.com/mysql/}
-Information about the German MySQL mailing list.
-
-@item @uref{http://www2.rent-a-database.de/mysql/}
-MySQL handbook in German.
-
-@item @uref{http://www.bitmover.com:8888/home/bk/mysql/}
-Web access to the MySQL BitKeeper repository.
-
-@item @uref{http://www.analysisandsolutions.com/code/mybasic.htm}
-Beginners MySQL Tutorial on how to install and set up
-MySQL on a Windows machine.
-
-@item @uref{http://www.devshed.com/Server_Side/MySQL/}
-A lot of MySQL tutorials.
-
-@item @uref{http://mysql.hitstar.com/}
-MySQL manual in Chinese.
-
-@item @uref{http://www.linuxplanet.com/linuxplanet/tutorials/1046/1/}
-Setting Up a MySQL-based website.
-
-@item @uref{http://www.hotwired.com/webmonkey/backend/tutorials/tutorial1.html}
-MySQL-Perl tutorial.
-
-@item @uref{http://www.iserver.com/support/contrib/perl5/modules.html}
-Installing new Perl modules that require locally installed modules.
-
-@item @uref{http://www.hotwired.com/webmonkey/databases/tutorials/tutorial4.html}
-PHP/MySQL Tutorial.
-
-@item @uref{http://www.useractive.com/}
-Hands on tutorial for MySQL.
-@end table
-
-@subheading MySQL Discussion Forums
-
-@table @asis
-@item @uref{http://www.weberdev.com/}
-Examples using MySQL; (check Top 20)
-
-@item @uref{http://futurerealm.com/forum/futureforum.htm}
-FutureForum Web Discussion Software.
-@end table
-
-@subheading Porting MySQL/Using MySQL on Different Systems
-
-@table @asis
-@item @uref{http://www.entropy.ch/software/macosx/mysql/}
-Binary of MySQL for Mac OS X Client. Includes information of how to
-build and use MySQL on Mac OS X.
-
-@item @uref{http://xclave.macnn.com/MySQL/}
-The Mac OS Xclave. Running MySQL on Mac OS X.
-
-@item @uref{http://www.prnet.de/RegEx/mysql.html}
-MySQL for Mac OS X Server.
-
-@item @uref{http://www.latencyzero.com/macosx/mysql.html}
-Building MySQL for Mac OS X.
-
-@item @uref{http://www.essencesw.com/Software/mysqllib.html}
-New Client libraries for the Mac OS Classic (Macintosh).
-
-@item @uref{http://www.lilback.com/macsql/}
-Client libraries for Mac OS Classic (Macintosh).
-
-@item @uref{http://sixk.maniasys.com/index_en.html}
-MySQL for Amiga
-@end table
-
-@subheading Perl-related Links
-
-@table @asis
-@item @uref{http://dbimysql.photoflux.com/}
-Perl DBI with MySQL FAQ.
-@end table
-
-@c FIX We should get longer descriptions for things in this category!
-@subheading Commercial Applications that Support MySQL
-
-@table @asis
-@item @uref{http://www.supportwizard.com/}
-SupportWizard; Interactive helpdesk on the Web. This product includes a
-licensed copy of MySQL.
-
-@item @uref{http://www.sonork.com/}
-Sonork, Instant Messenger that is not only Internet oriented. It's
-focused on private networks and on small to medium companies. Client
-is free, server is free for up to 5 seats.
-
-@item @uref{http://www.stweb.org/}
-StWeb - Stratos Web and Application server - An easy-to-use, cross
-platform, Internet/Intranet development and deployment system for
-development of web-enabled applications. The standard version of StWeb
-has a native interface to MySQL database.
-
-@item @uref{http://www.rightnowtech.com/}
-Right Now Web; Web automation for customer service.
-
-@item @uref{http://www.icaap.org/Bazaar/}
-Bazaar; Interactive Discussion Forums with Web interface.
-
-@cindex PhoneSweep
-@item @uref{http://www.phonesweep.com/}
-PhoneSweepT is the world's first commercial Telephone Scanner. Many break-ins
-in recent years have come not through the Internet, but through unauthorised
-dial-up modems. PhoneSweep lets you find these modems by repeatedly placing
-phone calls to every phone number that your organisation
-controls. PhoneSweep has a built-in expert system that can recognise
-more than 250 different kinds of remote-access programs, including
-Carbon Copy(TM), pcANYWHERE(TM), and Windows NT RAS. All information is stored
-in the SQL database. It then generates a comprehensive report detailing
-which services were discovered on which dial-up numbers in your organisation.
-@end table
-
-@subheading SQL Clients and Report Writers
-
-@table @asis
-@item @uref{http://www.urbanresearch.com/software/utils/urbsql/} (urSQL)
-SQL Editor and Query Utility. Custom syntax highlighting, editable
-results grid, exportable result-sets, basic MySQL admin functions,
-Etc.. For Windows.
-
-@item @uref{http://www.edatanew.com/} (MySQL Data Manager)
-MySQL Data Manager * is platform independent web client
-(written in perl) for MySQL server over TCP/IP.
-
-@item @uref{http://ksql.sourceforge.net/}
-KDE MySQL client.
-
-@item @uref{http://www.ecker-software.de/}
-A Windows GUI client by David Ecker.
-
-@item @uref{http://www.icaap.org/software/kiosk/}
-Kiosk; a MySQL client for database management. Written in Perl.
-Will be a part of Bazaar.
-
-@item @uref{http://www.casestudio.com/}
-Db design tool that supports MySQL 3.23.
-
-@item @uref{http://home.skif.net/~voland/zeos/eng/}
-Zeos - A client that supports MySQL, Interbase and PostgreSQL.
-
-@item @uref{http://www.geocities.com/SiliconValley/Ridge/4280/GenericReportWriter/grwhome.html}
-A free report writer in Java
-
-@item @uref{http://www.javaframework.de/}
-MySQLExport - Export of MySQL create statements and data in a lot of
-different formats (SQL, HTML, CVS, text, ZIP, GZIP...).
-
-@item @uref{http://dlabs.4t2.com/}
-M2D, a MySQL Administration client for Windows. M2D supports
-administration of MySQL databases, creation of new databases and
-tables, editing, and more.
-
-@item @uref{http://dlabs.4t2.com/}
-Dexter, a small server written in Perl which can be used as a proxy server for
-MySQL or as a database extender.
-
-@item @uref{http://www.scibit.com/Products/Software/Utils/Mascon.asp}
-Mascon is a powerful Win32 GUI for administering MySQL databases.
-
-@item @uref{http://www.rtlabs.com/}
-MacSQL Monitor. GUI for MySQL, ODBC, and JDBC databases for the Mac OS.
-@end table
-
-@subheading Distributions that Include MySQL
-
-@c FIX add the rest (at least a couple more Linuxes)
-
-@table @asis
-@item @uref{http://www.suse.com/}
-SuSE Linux (6.1 and above)
-
-@item @uref{http://www.redhat.com/}
-RedHat Linux (7.0 and above)
-
-@item @uref{http://distro.conectiva.com.br/}
-Conectiva Linux (4.0 and above)
-@end table
-
-@subheading Web Development Tools that Support MySQL
-
-@table @asis
-@item @uref{http://www.php.net/}
-PHP: A server-side HTML-embedded scripting language.
-
-@item @uref{http://www.midgard-project.org/}
-The Midgard Application Server; a powerful Web development environment
-based on MySQL and PHP.
-
-@cindex dbServ
-@item @uref{http://www.dbServ.de/}
-dbServ is an extension to a web server to integrate database output into
-your HTML code. You may use any HTML function in your output. Only the
-client will stop you. It works as standalone server or as Java servlet.
-
-@item @uref{http://www.chilisoft.com/}
-Platform independent ASP from Chili!Soft
-
-@item @uref{http://www.voicenet.com/~zellert/tjFM/}
-A JDBC driver for MySQL.
-
-@item @uref{http://www.wernhart.priv.at/php/}
-MySQL + PHP demos.
-
-@item @uref{http://www.dbwww.com/}
-ForwardSQL: HTML interface to manipulate MySQL databases.
-
-@item @uref{http://www.daa.com.au/~james/www-sql/}
-WWW-SQL: Display database information.
-
-@item @uref{http://www.heitml.com/}
-HeiTML: A server-side extension of HTML and a 4GL language at the same time.
-
-@item @uref{http://hawkeye.net/}
-Hawkeye Internet Server Suite.
-
-@item @uref{http://www.webgroove.com/}
-WebGroove Script: HTML compiler and server-side scripting language.
-
-@item @uref{http://www.ihtml.com/}
-A server-side website scripting language.
-
-@item @uref{ftp://ftp.igc.apc.org/pub/myodbc/README}
-How to use MySQL with ColdFusion on Solaris.
-
-@item @uref{http://calistra.com/MySQL/}
-Calistra's ODBC MySQL Administrator.
-
-@item @uref{http://phpclub.net/}
-PHPclub - Tips and tricks for PHP.
-
-@item @uref{http://www.widgetchuck.com/}
-The Widgetchuck; Website Tools and Gadgets
-
-@item @uref{http://www.adcycle.com/}
-AdCycle - advertising management software.
-
-@cindex pwPage
-@item @uref{http://sourceforge.net/projects/pwpage/}
-pwPage - provides an extremely fast and simple approach to the creation
-of database forms. That is, if a database table exists and an HTML page
-has been constructed using a few simple guidelines, pwPage can be
-immediately used for table data selections, insertions, updates, deletions
-and selectable table content reviewing.
-
-@item @uref{http://www.omnis-software.com/products/studio/studio.html}
-OMNIS Studio is a rapid application development (RAD) tool.
-@end table
-
-@subheading Database Design Tools with MySQL Support
-
-@table @asis
-@item @uref{http://www.mysql.com/documentation/dezign/}
-"DeZign for databases" is a database development tool that uses an
-entity relationship diagram (ERD).
-@end table
-
-@subheading Web Servers with MySQL Tools
-
-@table @asis
-@item @uref{ftp://ftp.kcilink.com/pub/}
-mod_auth_mysql, An Apache authentication module.
-
-@item @uref{http://www.roxen.com/}
-The Roxen Challenger Web server.
-@end table
-
-@subheading Extensions for Other Programs
-
-@table @asis
-@item @uref{http://www.seawood.org/msql_bind/}
-MySQL support for BIND (The Internet Domain Name Server).
-
-@item @uref{http://www.inet-interactive.com/sendmail/}
-MySQL support for Sendmail and Procmail.
-@end table
-
-@subheading Using MySQL with Other Programs
-
-@table @asis
-@item @uref{http://www.iserver.com/support/addonhelp/database/mysql/msaccess.html}
-Using MySQL with Access.
-
-@item @uref{http://www.iserver.com/support/contrib/perl5/modules.html}
-Installing new Perl modules that require locally installed modules.
-@end table
-
-@subheading ODBC-related Links
-
-@table @asis
-@item @uref{http://www.iodbc.org/}
-Popular iODBC Driver Manager (libiodbc) now available as Open Source.
-
-@item @uref{http://users.ids.net/~bjepson/freeODBC/}
-The FreeODBC Pages.
-
-@item @uref{http://genix.net/unixODBC/}
-The unixODBC Project goals are to develop and promote unixODBC to be the
-definitive standard for ODBC on the Linux platform. This is to include GUI
-support for KDE.
-
-@item @uref{http://www.sw-soft.com/products/BtrieveODBC/}
-A MySQL-based ODBC driver for Btrieve.
-@end table
-
-@subheading @strong{API}-related Links
-
-@table @asis
-@item @uref{http://www.jppp.com/}
-Partially implemented TDataset-compatible components for MySQL.
-
-@item @uref{http://www.riverstyx.net/qpopmysql/}
-qpopmysql - A patch to allow POP3 authentication from a MySQL
-database. There's also a link to Paul Khavkine's patch for Procmail to
-allow any MTA to deliver to users in a MySQL database.
-
-@item @uref{http://www.essencesw.com/Software/mysqllib.html}
-New Client libraries for the Mac OS Classic (Macintosh).
-
-@item @uref{http://www.lilback.com/macsql/}
-Client libraries for the Macintosh.
-
-@item @uref{http://www.essencesw.com/Plugins/mysqlplug.html}
-Plugin for REALbasic (for Macintosh)
-
-@item @uref{http://www.iis.ee.ethz.ch/~neeri/macintosh/gusi-qa.html}
-A library that emulates BSD sockets and pthreads on Macintosh. This can
-be used if you want to compile the MySQL client library on Mac.
-It could probably even be sued to port MySQL to Macintosh, but we
-don't know of anyone that has tried that.
-
-@cindex SCMDB
-@item @uref{http://www.dedecker.net/jessie/scmdb/}
-SCMDB - an add-on for SCM that ports the MySQL C library to scheme
-(SCM). With this library scheme developers can make connections to a
-MySQL database and use embedded SQL in their programs.
-@end table
-
-@subheading Other MySQL-related Links
-
-@table @asis
-@item @uref{http://www.satisoft.com/} (SAT)
-The Small Application Toolkit (SAT) is a collection of utilities
-intended to simplify the development of small, multi-user, GUI based
-applications in a (Microsoft -or- X) Windows Client / Unix Server
-environment.
-
-@item @uref{http://www.wix.com/mysql-hosting/}
-Registry of Web providers who support MySQL.
-
-@item @uref{http://www.softagency.co.jp/mysql/index.en.html}
-Links about using MySQL in Japan/Asia.
-
-@item @uref{http://abattoir.cc.ndsu.nodak.edu/~nem/mysql/udf/}
-MySQL UDF Registry.
-
-@item @uref{http://www.open.com.au/products.html}
-Commercial Web defect tracking system.
-
-@item @uref{http://www.stonekeep.com/pts/}
-PTS: Project Tracking System.
-
-@item @uref{http://tomato.nvgc.vt.edu/~hroberts/mot/}
-Job and software tracking system.
-
-@item @uref{http://www.cynergi.net/exportsql/}
-ExportSQL: A script to export data from Access95+.
-
-@item @uref{http://SAL.KachinaTech.COM/H/1/MYSQL.html}
-SAL (Scientific Applications on Linux) MySQL entry.
-
-@item @uref{http://www.infotech-nj.com/itech/index.shtml}
-A consulting company which mentions MySQL in the right company.
-
-@item @uref{http://www.pmpcs.com/}
-PMP Computer Solutions. Database developers using MySQL and
-@code{mSQL}.
-
-@item @uref{http://www.dedserius.com/y2kmatrix/}
-Y2K tester.
-@end table
-
-@subheading SQL and Database Interfaces
-
-@table @asis
-@item @uref{http://java.sun.com/products/jdbc/}
-The JDBC database access API.
-
-@item @uref{http://www.gagme.com/mysql/}
-Patch for @code{mSQL} Tcl.
-
-@item @uref{http://www.amsoft.ru/easysql/}
-EasySQL: An ODBC-like driver manager.
-
-@item @uref{http://www.lightlink.com/hessling/rexxsql.html}
-A REXX interface to SQL databases.
-
-@c @item @uref{http://www.mytcl.cx/}
-@c Tcl interface based on tcl-sql with many bugfixes.
-
-@item @uref{http://www.binevolve.com/~tdarugar/tcl-sql/}
-Tcl interface for MySQL.
-
-@item @uref{http://www.contrib.andrew.cmu.edu/~shadow/sql.html}
-SQL Reference Page with a lot of interesting links.
-
-@end table
-
-@subheading Examples of MySQL Use
-
-@table @asis
-@c Added 990601
-@c EMAIL: thuss@little6.com (Todd Huss)
-@item @uref{http://www.little6.com/about/linux/}
-Little6 Inc., An online contract and job finding site that is powered by
-MySQL, PHP3, and Linux.
-
-@c Added 990521
-@c EMAIL: info@worldrecords.com (Jim Rota)
-@item @uref{http://www.worldrecords.com/}
-World Records - A search engine for information about music that uses
-MySQL and PHP.
-
-@item @uref{http://www.webtechniques.com/archives/1998/01/note/}
-A Contact Database using MySQL and PHP.
-
-@item @uref{http://modems.rosenet.net/mysql/}
-Web based interface and Community Calendar with PHP.
-
-@item @uref{http://www.odbsoft.com/cook/sources.htm}
-Perl package to generate html from a SQL table structure and for generating
-SQL statements from an html form.
-
-@item @uref{http://www.gusnet.cx/proj/telsql/}
-Basic telephone database using @code{DBI}/@code{DBD}.
-
-@item @uref{http://tecfa.unige.ch/guides/java/staf2x/ex/jdbc/coffee-break/}
-JDBC examples by Daniel K. Schneider.
-
-@item @uref{http://www.ooc.com/}
-Object Oriented Concepts Inc; CORBA applications with examples in source.
-
-@c EMAIL: paul@sword.damocles.com (Paul Bannister)
-@item @uref{http://www.stopbit.com/}
-Stopbit - A technology news site using MySQL and PHP.
-
-@item @uref{http://www.penguinservices.com/scripts/}
-Online shopping cart system.
-
-@c Added 990928 from editor@city-gallery.com
-@cindex Old Photo Album
-@item @uref{http://www.city-gallery.com/album/}
-Old Photo Album - The album is a collaborative popular history of photography
-project that generates all pages from data stored in a MySQL
-database. Pages are dynamically generated through a php3 interface to the
-database content. Users contribute images and descriptions. Contributed
-images are stored on the web server to avoid storing them in the database
-as BLOBs. All other information is stored on the shared MySQL server.
-@end table
-
-@subheading General Database Links
-
-@table @asis
-@item @uref{http://black.hole-in-the.net/guy/webdb/}
-Homepage of the webdb-l (Web Databases) mailing list.
-
-@item @uref{http://www.symbolstone.org/technology/perl/DBI/}
-Perl @code{DBI}/@code{DBD} modules homepage.
-
-@item @uref{http://www.student.uni-koeln.de/cygwin/}
-Cygwin tools. Unix on top of Windows.
-
-@cindex Tek-Tips forums
-@cindex forums, Tek-Tips
-@item @uref{http://www.tek-tips.com/}
-Tek-Tips Forums are 800+ independent peer-to-peer non-commercial support
-forums for Computer Professionals. Features include automatic e-mail
-notification of responses, a links library, and member confidentiality
-guaranteed.
-
-@item @uref{http://www.public.asu.edu/~peterjn/btree/}
-B-Trees: Balanced Tree Data Structures.
-
-@item @uref{http://www.fit.qut.edu.au/~maire/baobab/lecture/sld001.htm}
-A lecture about B-Trees.
-@end table
-
-
diff --git a/Docs/section.Testimonials.texi b/Docs/section.Testimonials.texi
deleted file mode 100644
index e757a6a92d0..00000000000
--- a/Docs/section.Testimonials.texi
+++ /dev/null
@@ -1,31 +0,0 @@
-@c FIX AGL 20011108 Extracted from manual.texi.
-@c Should only be on website with new submits by webform.
-
-
-@node MySQL Testimonials, Contrib, Users, Top
-@appendix MySQL Testimonials
-
-@cindex MySQL Testimonials
-
-The section 'MySQL Users' contains a lot of different links to
-MySQL users but doesn't provide that much information about how
-they are using MySQL. @xref{Users}. This section gives you an idea
-of how other MySQL users are using MySQL to solve their problems.
-
-Please note that all new stories are added on the MySQL website,
-@uref{http://www.mysql.com/}.
-Do let us know about @emph{your} success story too!
-
-@itemize @bullet
-@item
-@strong{Peter Zaitsev of Spylog.ru} writes:
-I think you might be interested in my database size. The whole database
-is currently on 15 servers and I think it's about 60.000 of tables
-containing about 5.000.000.000 of rows. My mostly loaded server
-currently holds about 10.000 of tables with 1.000.000.000 of rows in it.
-Hugest tables have about 50.000.000 of rows, and this value will raise
-as soon as I'll move to 2.4 kernel with large files. Currently I have to
-delete much of logs for large sites to hold table sizes in 2Gb.
-
-@item
-
diff --git a/Docs/section.Users.texi b/Docs/section.Users.texi
deleted file mode 100644
index 3c8d219fa16..00000000000
--- a/Docs/section.Users.texi
+++ /dev/null
@@ -1,414 +0,0 @@
-@c FIX AGL 20011108 Extracted from manual.texi.
-@c Should only be on website.
-
-
-@node Users, Contrib, Problems, Top
-@appendix MySQL Users
-
-@cindex users, of MySQL
-@cindex news sites
-
-This appendix lists users of MySQL that have given us permission
-to list them in our documentation. It is by far not a complete list, but
-should give you a general idea of who uses MySQL and what it can
-be used for.
-
-@appendixsec General News Sites
-
-@itemize @bullet
-
-@item @uref{http://www.yahoo.com/} (Yahoo!)
-
-@item @uref{http://slashdot.org/} (Slashdot: A pro-Linux/tech news and comment/discussion site)
-
-@item @uref{http://www.linux.com/} (All about Linux)
-
-@item @uref{http://www.linuxtoday.com/} (Linuxtoday)
-
-@item @uref{http://www.32bitsonline.com/} (32Bits Online: because there's
-more than one way to compute)
-
-@item @uref{http://www.freshmeat.net/} (Freshmeat: News about new versions of computer-related stuff)
-
-@end itemize
-
-@cindex search engines, web
-@cindex web search engines
-@appendixsec Web Search Engines
-
-@itemize @bullet
-
-@item @uref{http://www.aaa.com.au/} (AAA Matilda Web Search)
-@item @uref{http://www.whatsnu.com/} (What's New)
-@item @uref{http://www.aladin.de/} (Aladin)
-@item @uref{http://www.columbus-finder.de/} (Columbus Finder)
-@item @uref{http://www.spider.de/} (Spider)
-@item @uref{http://www.blitzsuche.de/} (Blitzsuche)
-@item @uref{http://www.indoseek.co.id/} (Indoseek Indonesia)
-@item @uref{http://www.yaboo.dk/} (Yaboo - Yet Another BOOkmarker)
-@item @uref{http://www.ozsearch.com.au/} (OzSearch Internet Guide)
-@item @uref{http://www.splatsearch.com/} (Splat! Search)
-@item @uref{http://osdls.library.arizona.edu/} (The Open Source Digital Library System Project)
-@end itemize
-
-@appendixsec Information Search Engines Specialising in a Particular Area
-
-@itemize @bullet
-
-@item @uref{http://www.spylog.ru/} (SpyLOG ; A very popular Web counter site)
-
-@item @uref{http://www.tucows.com/} (TuCows Network; Free Software archive)
-
-@item @uref{http://www.jobvertise.com/} (Jobvertise: Post and search for jobs)
-
-@item @uref{http://www.musicdatabase.com/} (The Music Database)
-
-@item @uref{http://www.soccersearch.com/} (Football -Soccer- search page)
-
-@item @uref{http://www.headrush.net/takedown} (TAKEDOWN - wrestling)
-
-@item @uref{http://www.lyrics.net/} (The International Lyrics Network)
-
-@item @uref{http://TheMatrix.com/~matrix/band_search.phtml} (Musicians looking for other musicians; free service)
-
-@item @uref{http://www.addall.com/AddBooks/Stores.html} (AddALL books searching and price comparison)
-
-@item @uref{http://www.herbaria.harvard.edu/Data/Gray/gray.html} (Harvard's Gray Herbarium Index of Plant Names)
-
-@item @uref{http://www.game-developer.com/} (The Game Development Search Engine)
-
-@item @uref{http://www.theinnkeeper.com/} (The Innkeeper Vacation Guides)
-
-@item @uref{http://www.macgamedatabase.com/} (The Mac Game Database uses PHP and MySQL)
-@c From: Marc Antony Vose <suzerain@suzerain.com>
-
-@item @uref{http://www.csse.monash.edu.au/publications/} (Research
-Publications at Monash University in Australia)
-
-@item @uref{http://www.ipielle.emr.it/bts/}
-(Occupational Health & Safety Website database; a project for the ECC)
-@c c.presutti@ipielle.emr.it
-
-@item @uref{http://data.mch.mcgill.ca/} (Bioinformatics databases at the
-Montreal Children's Hospital using MySQL)
-@c saeed@www.debelle.mcgill.ca
-@end itemize
-
-@cindex online magazines
-@cindex magazines, online
-@appendixsec Online Magazines
-
-@itemize @bullet
-@item @uref{http://www.spoiler.com/} (Spoiler Webzine)
-An online magazine featuring music, literature, arts, and design content.
-@item @uref{http://www.linux-magazin.de/newsflash/} (Daily news about Linux in German language)
-@item @uref{http://www.betazine.com/} (Betazine - The Ultimate Online Beta Tester's Magazine)
-@item @uref{http://www.currents.net/ccinfo/aboutcc.html} (Computer Currents Magazine)
-@end itemize
-
-@cindex websites
-@appendixsec Websites that Use MySQL as a Backend
-
-@itemize @bullet
-
-@item @uref{http://liftoff.msfc.nasa.gov/} (NASA)
-@item @uref{http://kids.msfc.nasa.gov/} (NASA KIDS)
-@item @uref{http://science.nasa.gov/} (Sience@@NASA)
-
-@item @uref{http://www.handy.de/} (handy.de)
-
-@item @uref{http://lindev.jmc.tju.edu/qwor/} (Qt Widget and Object Repository)
-
-@item @uref{http://www.samba-choro.com.br/} (Brazilian samba site; in Portuguese)
-
-@item @uref{http://pgss.iss.uw.edu.pl/en_index.ISS} (Polish General Social Survey)
-
-@item @uref{http://www.expo2000.com/} Expo2000 - world-wide distribution of
-tickets for this event is implemented using MySQL and Tcl/Tk. More than
-5000 travel agencies all over the world have access to it.
-
-@item @uref{http://www.freevote.com/} FreeVote.com is a free voting
-service with millions of users.
-
-@item @uref{http://f1.tauzero.se/} (Forza Motorsport)
-
-@item @uref{http://www.dreamhost.com/} (DreamHost Web Hosting)
-
-@end itemize
-
-@cindex services
-@appendixsec Domain/Internet/Web and Related Services
-
-@itemize @bullet
-
-@item @uref{http://www.wix.com/mysql-hosting/} (Registry of Web providers that
-support MySQL)
-
-@item @uref{http://www.yi.org/} (Dynamic DNS Services)
-
-@item @uref{http://www.dynodns.net/} (Dynamic domain name service)
-
-@item @uref{http://www.ods.org/} (Open DNS Project; free dynamic DNS service)
-
-@c @item @uref{http://dynodns.net/} (Free dynamic DNS implementation)
-@c EMAIL: A Moore <amoore@mooresystems.com>
-
-@item @uref{http://www.hn.org/} (Hammernode; Public DNS Servers)
-
-@item @uref{http://www.fdns.net/} (Free 3rd level domains)
-
-@item @uref{http://worldcommunity.com/} (Online Database)
-
-@item @uref{http://www.bigbiz.com/} (BigBiz Internet Services)
-
-@item @uref{http://virt.circle.net/} (The Virt Gazette)
-
-@item @uref{http://www.california.com/} (Global InfoNet Inc)
-
-@item @uref{http://www.webhosters.com/} (WebHosters - A Guide to WWW Providers)
-
-@item @uref{http://online.dn.ru/} (Internet information server)
-
-@item @uref{http://www.worldnetla.net/} (WorldNet Communications - An Internet Services Provider)
-
-@item @uref{http://www.netizen.com.au/} (Netizen: Australian-based Web consultancy)
-
-@item @uref{http://www.trainingpages.co.uk/} (Search site for training courses in the UK)
-
-@item @uref{http://chat.nitco.com/} (Gannon Chat; GPL. Written in Perl and Javascript)
-
-@item @uref{http://www.addurls.com/} (A general links directory)
-
-@item @uref{http://www.bookmarktracker.com/} (A Web-based bookmark management service)
-
-@item @uref{http://www.cdrom.com/} (Walnut Creek CDROM)
-
-@item @uref{http://www.wwwthreads.org/} (WWWThreads; Interactive discussion Forums)
-
-@item @uref{http://pvmon.portici.enea.it/Meteo/} (In Italian; Storage data from meteo station)
-
-@item @uref{http://www.buysell.net/} (Online "Person To Person" Auction)
-
-@item @uref{http://tips.pair.com/} (Tips on Web development)
-
-@item @uref{http://www.mailfriends.com/} (Mailfriends.com is a FREE service for
-everybody who wants to find friends over the internet)
-
-@item @uref{http://www.uninova.com/cgi-bin/wctelnets?list} (Web Page Telnet BBS List)
-
-@item @uref{http://www.uninova.com/cnc.html} (UniNova Digital Postcards)
-
-@c @item @uref{http://cabinboy.powersurfr.com/} (An Internet RFC search engine)
-
-@item @uref{http://www.dslreports.com/} (DSL-provider search with reviews)
-Made with MySQL and Modperl, all pages are generated dynamically out of
-the MySQL database
-@end itemize
-
-@cindex PHP, websites
-@appendixsec Websites that Use @code{PHP} and MySQL
-
-@itemize @bullet
-@c @item @uref{http://www.wh200th.com/} (White House 200th Anniversary site)
-
-@item @uref{http://support.jgaa.com/} (Jgaa's Internet - Official Support Site)
-
-@item @uref{http://io.incluso.com/} (Ionline - online publication) MySQL,
-PHP, Java, Web programming, DB development
-
-@item @uref{http://www.baboo.com/} (BaBoo - Browse and Bookmark. Free Web-based bookmark manager and Calendar)
-
-@item @uref{http://www.courses.pjc.cc.fl.us/Schedule/}
-(Course Schedule System at Pensacola Junior College)
-
-@item @uref{http://www.fccj.org/} (Florida Community College at Jacksonville)
-
-@item @uref{http://www.32bit.com/} (32bit.com; An extensive shareware / freeware archive)
-
-@item @uref{http://www.jokes2000.com/} (Jokes 2000)
-@c Added 990604; EMAIL: ah@dybdahl.dk
-
-@item @uref{http://www.burken.nu/}
-Burken is a webhotel that provides scripts, among other things,
-for remote users, like counters, guestbooks etc.
-@c Added 990608; EMAIL: spacedmp@SpaceDump.Burken.NU (Anders Olausson)
-
-@item @uref{http://tips.pair.com/}
-Contains tips on html, javascript, 2d/3d graphics, and PHP3/MySQL.
-All pages are generated from a database.
-@c Added 990614; EMAIL: downey@image.dk (Rune Madsen)
-
-@item @uref{http://www.softwarezrus.com/}
-Ecommerce site that is selling computers.
-@end itemize
-
-@cindex consultants, list of
-@appendixsec MySQL Consultants
-
-@itemize @bullet
-
-@item @uref{http://www.ayni.com/} (Ayni AG)
-
-@item @uref{http://worldcommunity.com/} (Online Database)
-
-@item @uref{http://www2.dataguard.no/} (DataGuard; Uses MySQL and PHP)
-
-@item @uref{http://wwits.net/programs/mysql.phtml} (WWITS; uses MySQL and PHP)
-
-@item @uref{http://www.worldcommunity.com/} (WCN - The World Community Network)
-
-@item @uref{http://www.chipcastle.com/} (Chip Castle Dot Com Inc)
-@c Added 990603 EMAIL: chip@chipcastle.com (Chip Castle)
-
-@item @uref{http://www.cyber.com.au/} (Cybersource Pty. Ltd)
-
-@item @uref{http://www.spring.de/} (Spring infotainment gmbh & co. kg)
-@c added 990905 "Oliver Pischke" <opischke@spring.de>
-
-@item @uref{http://www.wamdesign.com/} (Wam Design develops websites using MySQL)
-@c Added 990905; max@wamdesign.com
-
-@item @uref{http://www.berkeleyconsultants.com/} (Berkeley Consultants Group)
-
-@item @uref{http://www.jammconsulting.com/} (JAMM Consulting Inc)
-
-@end itemize
-
-@c Commented out by Arjen 011018, section is empty!
-@c appendixsec Programming
-
-@cindex web pages, miscellaneous
-@appendixsec Uncategorised Pages
-
-@itemize @bullet
-
-@item @uref{http://www.feature-showcase.com/htmls/demo_mysql.sql} (AZC.COM's Feature Showcase)
-
-@item @uref{http://www.teach.org.uk/subjects/trainingcourse/g.html} (Course Search)
-
-@item @uref{http://www.northerbys.com/} (Northerbys Online Auctions)
-
-@item @uref{http://www.schiphol.nl/flights/home.htm} (Amsterdam Airport Schiphol)
-
-@item @uref{http://TheMatrix.com/seventhsin/query.phtml} (CD database)
-
-@item @uref{http://TheMatrix.com/~flmm/GEAR.html} (Used Audio Gear Database)
-
-@item @uref{http://www.kiss.de/musik-mueller/} (Musical note-sheets)
-
-@item @uref{http://www.bagism.com/} (Bagism; A John Lennon fan page)
-
-@item @uref{http://www.selftaught.com/} (US Folk art broker)
-
-@item @uref{http://organizer.net/} (Mail reading on the Web)
-
-@item @uref{http://www.mypage.org/} (Free home pages on www.somecoolname.mypage.org)
-
-@item @uref{http://www.schulweb.de/} (Der Server f@"ur Schulen im Web - in German)
-
-@item @uref{http://www.ald.net/} (Auldhaefen Online Services)
-
-@item @uref{http://www.cary.net/} (CaryNET Information Center)
-
-@item @uref{http://www.dataden.com/} (Dataden Computer Systems)
-
-@item @uref{http://andree.grm.se/} (Andr@'emuseet; in Swedish)
-
-@item @uref{http://www.him.net/} (HOMESITE Internet Marketing)
-
-@item @uref{http://www.jade-v.com/techinfo.html} (Jade-V Network Services)
-
-@item @uref{http://ww2010.atmos.uiuc.edu/(Gl)/abt/aknw/tech.rxml}
-Weather World 2010 Technical Credits
-
-@item @uref{http://gimp.foebud.org/registry/doc/}
-About The Gimp plugin registry
-
-@item @uref{http://www.fast-inc.com/Products/Archiver/database.html}
-Java tool; archiver technical detail (Slightly optimistic about MySQL
-ANSI-92 compliance)
-
-@item @uref{http://www.gamesdomain.com/cheats/usrcheat.phtml} (Games Domain Cheats Database)
-
-@item @uref{http://www.kcilink.com/poweredby/} (The "Powered By" Page; Kcilink)
-
-@item @uref{http://www.netcasting.net/index.whtml} (Netcasting)
-
-@item @uref{http://homepages.tig.com.au/~mjj/nbltips} (NBL: Australian National Basketball League; tipping)
-
-@item @uref{http://www.cgishop.com/} (CGI shop)
-
-@item @uref{http://www.whirlycott.com/} (Whirlycott: Website Design)
-
-@item @uref{http://www.mtp.dk/} (Museum Tusculanum Press)
-
-@item @uref{http://csdgi.historie.ku.dk/biblio/} (Centro Siciliano di Documentazione)
-
-@item @uref{http://caribou.dyn.ml.org:8000/} (Quake statistics database)
-
-@item @uref{http://www.astroforum.ch/} (Astroforum: Astrologie and related things; in German)
-
-@item @uref{http://www.opendebate.com/} (OpenDebate - Interactive Polls & Open Discussion)
-
-@item @uref{http://vermeer.organik.uni-erlangen.de/dissertationen/} (Online chemical dissertation server)
-
-@item @uref{http://www.freschinfo.com/} (FreSch! The Free Scholarship Search Service)
-
-@item @uref{http://www.nada.kth.se/~staffanu/pinball/} (Stockholm Pinball Locator)
-
-@item @uref{http://www.hek.com/} (HEK - a construction company)
-
-@item @uref{http://www.ebi.nl/} (Elsevier Business Information)
-
-@item @uref{http://vaccination.medicallink.se/} (Medical Links; using ColdFusion and MySQL)
-
-@item @uref{http://www.joblink-usa.com/} (Search for jobs & people at JobLink-USA)
-
-@item @uref{http://www.skydive.net/competfs/} (Competition Formation Skydiving)
-
-@item @uref{http://www.galaxy-net.net/} (Galaxy-NET Telecommunications; E-commerce and internal accounting)
-
-@item @uref{http://www.borsen.dk/} (Denmark's leading business daily newspaper B@o{}rsen)
-
-@item @uref{http://tmmm.simplenet.com/indb/} (The Internet NES Database)
-
-@item @uref{http://www.russia.cz/} (Travel agency in Prague in 3 languages)
-
-@item @uref{http://www.linkstation.de/} (Linkstation)
-
-@item @uref{http://www.peoplestaff.com/} (Searchable online database at Peoplestaff)
-
-@item @uref{http://www.dreamhorse.com/} (A searchable database system for horse classified ads)
-
-@item @uref{http://pootpoot.com/} (The Poot site)
-
-@item @uref{http://grateful.net/hw_html/} ("Playin' in the LAN"; a network monitoring suite)
-
-@c Update from Christopher Milton <cmilton@bwn.net> 1999-12-21
-@item @uref{http://www.usapa.army.mil/} (U.S. Army Publishing Agency)
-
-@item @uref{http://www.nekretnine.co.yu/} (Realestate handling in Yugoslavia)
-
-@item @uref{http://demo.cpsoft.com/pims/devFAQ.html} (PIMS; a Patient Information Management System)
-
-@item @uref{http://cpsoft.com/} (Pilkington Software Inc)
-
-@item @uref{http://www.no-quarter.org/} (A Vietnam Veteran's Memorial - The Wall - database)
-
-@item @uref{http://www.gamers-union.com/} (Gamer's Union specializes in auctions of used & out-of-print gaming material)
-
-@item @uref{http://www.montereyhigh.com/office/dbul.php3} (A daily bulletin at Monterey High school)
-
-@item @uref{http://www.myEastside.com/} (Community-owned site serving Lake
-Washington's Eastside residents and businesses)
-
-@item @uref{http://bowling-france.net/} (French bowling site)
-@end itemize
-
-Send any additions to this list to @email{webmaster@@mysql.com}.
-
-@page
-
-
-
-