summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <monty@donna.mysql.fi>2001-03-02 15:06:27 +0200
committerunknown <monty@donna.mysql.fi>2001-03-02 15:06:27 +0200
commit3ab1788501f7d967a0260e78230674aaa67ec16e (patch)
tree4d9473c320617af263885de5aecf110702d61569
parent6bd98a63b9900604fd7aa1697f574bd9f3f2a80e (diff)
parentf05438e1566a4c159578d1e269c59de6d8689f6f (diff)
downloadmariadb-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_ok1
-rw-r--r--Docs/manual.texi67
-rw-r--r--sql/sql_delete.cc1
-rw-r--r--support-files/my-huge.cnf.sh22
-rw-r--r--support-files/my-large.cnf.sh16
-rw-r--r--support-files/my-medium.cnf.sh22
-rw-r--r--support-files/my-small.cnf.sh20
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