diff options
author | unknown <monty@donna.mysql.fi> | 2001-03-02 15:06:27 +0200 |
---|---|---|
committer | unknown <monty@donna.mysql.fi> | 2001-03-02 15:06:27 +0200 |
commit | 3ab1788501f7d967a0260e78230674aaa67ec16e (patch) | |
tree | 4d9473c320617af263885de5aecf110702d61569 | |
parent | 6bd98a63b9900604fd7aa1697f574bd9f3f2a80e (diff) | |
parent | f05438e1566a4c159578d1e269c59de6d8689f6f (diff) | |
download | mariadb-git-3ab1788501f7d967a0260e78230674aaa67ec16e.tar.gz |
Merge work:/my/mysql into donna.mysql.fi:/home/my/bk/mysql
Docs/manual.texi:
Auto merged
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
-rw-r--r-- | BitKeeper/etc/logging_ok | 1 | ||||
-rw-r--r-- | Docs/manual.texi | 67 | ||||
-rw-r--r-- | sql/sql_delete.cc | 1 | ||||
-rw-r--r-- | support-files/my-huge.cnf.sh | 22 | ||||
-rw-r--r-- | support-files/my-large.cnf.sh | 16 | ||||
-rw-r--r-- | support-files/my-medium.cnf.sh | 22 | ||||
-rw-r--r-- | support-files/my-small.cnf.sh | 20 |
7 files changed, 114 insertions, 35 deletions
diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index f038dce7786..359c1e945a4 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -3,3 +3,4 @@ jcole@tetra.spaceapes.com mwagner@evoq.mwagner.org sasha@mysql.sashanet.com serg@serg.mysql.com +monty@donna.mysql.fi diff --git a/Docs/manual.texi b/Docs/manual.texi index 9b38289b326..82b7ba4ec67 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -5237,6 +5237,7 @@ shell> scripts/mysql_install_db shell> chown -R root /usr/local/mysql shell> chown -R mysql /usr/local/mysql/var shell> chgrp -R mysql /usr/local/mysql +shell> chown -R root /usr/local/mysql/bin/ shell> bin/safe_mysqld --user=mysql & @end example @@ -13794,14 +13795,28 @@ This is a synonym for @code{INT}. A large integer. The signed range is @code{-9223372036854775808} to @code{9223372036854775807}. The unsigned range is @code{0} to -@code{18446744073709551615}. Note that all arithmetic is done using -signed @code{BIGINT} or @code{DOUBLE} values, so you shouldn't use -unsigned big integers larger than @code{9223372036854775807} (63 bits) -except with bit functions! Note that @samp{-}, @samp{+}, and @samp{*} -will use @code{BIGINT} arithmetic when both arguments are @code{INTEGER} -values! This means that if you multiply two big integers (or results -from functions that return integers) you may get unexpected results if -the result is larger than @code{9223372036854775807}. +@code{18446744073709551615}. + +Some things you should be aware about @code{BIGINT} columns: + +@itemize @bullet +@item +As all arithmetic is done using signed @code{BIGINT} or @code{DOUBLE} +values, so you shouldn't use unsigned big integers larger than +@code{9223372036854775807} (63 bits) except with bit functions! If you +do that, some of the last digits in the result may be wrong because of +rounding errors when converting the @code{BIGINT} to a @code{DOUBLE}. +@item +You can always store an exact integer value in a @code{BIGINT} column by +storing it as a string, as there is in this case there will be no +intermediate double representation. +@item +@samp{-}, @samp{+}, and @samp{*} will use @code{BIGINT} arithmetic when +both arguments are @code{INTEGER} values! This means that if you +multiply two big integers (or results from functions that return +integers) you may get unexpected results when the result is larger than +@code{9223372036854775807}. +@end itemize @cindex floating-point number @tindex FLOAT @@ -15119,8 +15134,9 @@ All @strong{MySQL} column types can be indexed. Use of indexes on the relevant columns is the best way to improve the performance of @code{SELECT} operations. -A table may have up to 16 indexes. The maximum index length is -256 bytes, although this may be changed when compiling @strong{MySQL}. +The maximum number of keys and the maximum index length is defined per +table handler. @xref{Table types}. You can with all table handlers have +at least 16 keys and a total index length of at least 256 bytes. For @code{CHAR} and @code{VARCHAR} columns, you can index a prefix of a column. This is much faster and requires less disk space than indexing the @@ -15152,6 +15168,7 @@ supported. See @ref{MySQL full-text search} for details. @cindex multi-column indexes @cindex indexes, multi-column +@cindex keys, multi-column @node Multiple-column indexes, Other-vendor column types, Indexes, Column types @subsection Multiple-column Indexes @@ -18184,6 +18201,7 @@ error occurs if you try to add a new row with a key that matches an existing row. @item +@tindex PRIMARY KEY A @code{PRIMARY KEY} is a unique @code{KEY} with the extra constraint that all key columns must be defined as @code{NOT NULL}. In @strong{MySQL} the key is named @code{PRIMARY}. A table can have only one @code{PRIMARY KEY}. @@ -22486,8 +22504,8 @@ used them. As of @strong{MySQL} Version 3.23.6, you can choose between three basic table formats (@code{ISAM}, @code{HEAP} and @code{MyISAM}. Newer -@strong{MySQL} may support additional table type, depending on how you -compile it. +@strong{MySQL} may support additional table type (@code{BDB}, +@code{GEMINI} or @code{INNOBASE}), depending on how you compile it. 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 @@ -22562,8 +22580,10 @@ The following is new in @code{MyISAM}: @itemize @bullet @item -If @code{mysqld} is started with @code{--myisam-recover}, @code{MyISAM} tables -will automaticly be repaired on open if the table wasn't closed properly. +There is a flag in the @code{MyISAM} file that indicates whether or not +the table was closed correctly. If @code{mysqld} is started with +@code{--myisam-recover}, @code{MyISAM} tables will automaticly be +checked and/or repaired on open if the table wasn't closed properly. @item You can @code{INSERT} new rows in a table without deleted rows, while other threads are reading from the table. @@ -22605,16 +22625,12 @@ key. This will improve the space utilization in the key tree. @code{NULL} values are allowed in indexed columns. This takes 0-1 bytes/key. @item -Maximum key length is now 500 bytes by default. In cases of keys longer -than 250 bytes, a bigger key block size than the default of 1024 bytes -is used for this key. +Maximum key length is 500 bytes by default (can be changed by +recompiling). 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. +Maximum number of keys/table is 32 as default. This can be enlarged to 64 +without having to recompile @code{myisamchk}. @item @code{myisamchk} will mark tables as checked if one runs it with @code{--update-state}. @code{myisamchk --fast} will only check those @@ -35260,7 +35276,7 @@ If your are using the @strong{MySQL} perl DBD module you can read the options from the @strong{MySQL} option files. @xref{Option files}. @example -$dsn = "DBI:mysql:test;mysql_read_default_group=client;" +$dsn = "DBI:mysql:test;mysql_read_default_group=client;mysql_read_default_file=/usr/local/mysql/data/my.cnf" $dbh = DBI->connect($dsn, $user, $password); @end example @@ -46473,9 +46489,6 @@ The following problems are known and will be fixed in due time: @itemize @bullet @item -@code{mysqldump} on a @code{MERGE} table doesn't include the current -mapped tables. -@item For the moment @code{MATCH} only works with @code{SELECT} statements. @item When using @code{SET CHARACTER SET}, one can't use translated diff --git a/sql/sql_delete.cc b/sql/sql_delete.cc index bb8f8591577..707ff814716 100644 --- a/sql/sql_delete.cc +++ b/sql/sql_delete.cc @@ -156,6 +156,7 @@ int mysql_delete(THD *thd,TABLE_LIST *table_list,COND *conds,ha_rows limit, limit != HA_POS_ERROR ? TL_WRITE_LOW_PRIORITY : lock_type))) DBUG_RETURN(-1); + table->file->info(HA_STATUS_VARIABLE | HA_STATUS_NO_LOCK); thd->proc_info="init"; if (use_generate_table) DBUG_RETURN(generate_table(thd,table_list,table)); diff --git a/support-files/my-huge.cnf.sh b/support-files/my-huge.cnf.sh index df37d746b57..a9d1dd4ccae 100644 --- a/support-files/my-huge.cnf.sh +++ b/support-files/my-huge.cnf.sh @@ -38,13 +38,29 @@ set-variable = myisam_sort_buffer_size=64M log-bin server-id = 1 +# Point the following paths to different dedicated disks +#tmpdir = /tmp/ +#log-update = /path-to-dedicated-directory/hostname + # Uncomment the following if you are using BDB tables #set-variable = bdb_cache_size=384M #set-variable = bdb_max_lock=100000 -# Point the following paths to different dedicated disks -#tmpdir = /tmp/ -#log-update = /path-to-dedicated-directory/hostname +# Uncomment the following if you are using Innobase tables +#innobase_data_home_dir = @datadir@ +#innobase_log_group_home_dir = @datadir@ +#innobase_log_arch_dir = @datadir@ +#innobase_data_file_path = ibdata1:25M;ibdata2:37M;ibdata3:100M;ibdata4:300M +#set-variable = innobase_mirrored_log_groups=1 +#set-variable = innobase_log_files_in_group=3 +#set-variable = innobase_log_file_size=5M +#set-variable = innobase_log_buffer_size=8M +#innobase_flush_log_at_trx_commit=1 +#innobase_log_archive=0 +#set-variable = innobase_buffer_pool_size=16M +#set-variable = innobase_additional_mem_pool_size=2M +#set-variable = innobase_file_io_threads=4 +#set-variable = innobase_lock_wait_timeout=50 [mysqldump] quick diff --git a/support-files/my-large.cnf.sh b/support-files/my-large.cnf.sh index 6630c6ad229..59ca0f88bfb 100644 --- a/support-files/my-large.cnf.sh +++ b/support-files/my-large.cnf.sh @@ -42,6 +42,22 @@ server-id = 1 #set-variable = bdb_cache_size=64M #set-variable = bdb_max_lock=100000 +# Uncomment the following if you are using Innobase tables +#innobase_data_home_dir = @datadir@ +#innobase_log_group_home_dir = @datadir@ +#innobase_log_arch_dir = @datadir@ +#innobase_data_file_path = ibdata1:25M;ibdata2:37M;ibdata3:100M;ibdata4:300M +#set-variable = innobase_mirrored_log_groups=1 +#set-variable = innobase_log_files_in_group=3 +#set-variable = innobase_log_file_size=5M +#set-variable = innobase_log_buffer_size=8M +#innobase_flush_log_at_trx_commit=1 +#innobase_log_archive=0 +#set-variable = innobase_buffer_pool_size=16M +#set-variable = innobase_additional_mem_pool_size=2M +#set-variable = innobase_file_io_threads=4 +#set-variable = innobase_lock_wait_timeout=50 + # Point the following paths to different dedicated disks #tmpdir = /tmp/ #log-update = /path-to-dedicated-directory/hostname diff --git a/support-files/my-medium.cnf.sh b/support-files/my-medium.cnf.sh index f8cea9919ec..20edef7a87d 100644 --- a/support-files/my-medium.cnf.sh +++ b/support-files/my-medium.cnf.sh @@ -36,13 +36,29 @@ set-variable = myisam_sort_buffer_size=8M log-bin server-id = 1 +# Point the following paths to different dedicated disks +#tmpdir = /tmp/ +#log-update = /path-to-dedicated-directory/hostname + # Uncomment the following if you are using BDB tables #set-variable = bdb_cache_size=4M #set-variable = bdb_max_lock=10000 -# Point the following paths to different dedicated disks -#tmpdir = /tmp/ -#log-update = /path-to-dedicated-directory/hostname +# Uncomment the following if you are using Innobase tables +#innobase_data_home_dir = @datadir@ +#innobase_log_group_home_dir = @datadir@ +#innobase_log_arch_dir = @datadir@ +#innobase_data_file_path = ibdata1:25M;ibdata2:37M;ibdata3:100M;ibdata4:300M +#set-variable = innobase_mirrored_log_groups=1 +#set-variable = innobase_log_files_in_group=3 +#set-variable = innobase_log_file_size=5M +#set-variable = innobase_log_buffer_size=8M +#innobase_flush_log_at_trx_commit=1 +#innobase_log_archive=0 +#set-variable = innobase_buffer_pool_size=16M +#set-variable = innobase_additional_mem_pool_size=2M +#set-variable = innobase_file_io_threads=4 +#set-variable = innobase_lock_wait_timeout=50 [mysqldump] quick diff --git a/support-files/my-small.cnf.sh b/support-files/my-small.cnf.sh index 9a854b99b88..72684190652 100644 --- a/support-files/my-small.cnf.sh +++ b/support-files/my-small.cnf.sh @@ -35,11 +35,27 @@ set-variable = sort_buffer=64K set-variable = net_buffer_length=2K server-id = 1 +# Uncomment the following if you want to log updates +#log-bin + # Uncomment the following if you are NOT using BDB tables #skip-bdb -# Uncomment the following if you want to log updates -#log-bin +# Uncomment the following if you are using Innobase tables +#innobase_data_home_dir = @datadir@ +#innobase_log_group_home_dir = @datadir@ +#innobase_log_arch_dir = @datadir@ +#innobase_data_file_path = ibdata1:25M;ibdata2:37M;ibdata3:100M;ibdata4:300M +#set-variable = innobase_mirrored_log_groups=1 +#set-variable = innobase_log_files_in_group=3 +#set-variable = innobase_log_file_size=5M +#set-variable = innobase_log_buffer_size=8M +#innobase_flush_log_at_trx_commit=1 +#innobase_log_archive=0 +#set-variable = innobase_buffer_pool_size=16M +#set-variable = innobase_additional_mem_pool_size=2M +#set-variable = innobase_file_io_threads=4 +#set-variable = innobase_lock_wait_timeout=50 [mysqldump] quick |