Commit 62771338 authored by monty@donna.mysql.com's avatar monty@donna.mysql.com
Browse files

Changes for --with-server-suffix

Fixed mutex bug in logging (crash on windows when doing SET PASSWORD=)
Changed MERGE  tables to not use FILE
parent efb0dad5
Loading
Loading
Loading
Loading
+63 −12
Original line number Diff line number Diff line
@@ -566,6 +566,7 @@ Replication in MySQL
* Replication Options::         Replication Options in my.cnf
* Replication SQL::             SQL Commands related to replication
* Replication FAQ::             Frequently Asked Questions about replication
* Troubleshooting Replication:: Troubleshooting Replication.  Troubleshooting Replication
Getting Maximum Performance from MySQL
@@ -592,6 +593,7 @@ System/Compile Time and Startup Parameter Tuning
* Memory use::                  How MySQL uses memory
* Internal locking::            How MySQL locks tables
* Table locking::               Table locking issues
* DNS::                         
Disk Issues
@@ -855,7 +857,7 @@ Changes in release 4.0.x (Development; Alpha)
Changes in release 3.23.x  (Stable)
* News-3.23.32::                
* News-3.23.32::                Changes in release 3.23.32
* News-3.23.31::                Changes in release 3.23.31
* News-3.23.30::                Changes in release 3.23.30
* News-3.23.29::                Changes in release 3.23.29
@@ -9520,15 +9522,13 @@ tables.
@item --skip-name-resolve
Hostnames are not resolved.  All @code{Host} column values in the grant
tables must be IP numbers or @code{localhost}.
tables must be IP numbers or @code{localhost}. @xref{DNS}.
@item --skip-networking
Don't listen for TCP/IP connections at all.
All interaction with @code{mysqld} must be made via Unix sockets.
This option is highly recommended for systems where only local requests
are allowed. However, this option is unsuitable for systems that use
MIT-pthreads, because the MIT-pthreads package doesn't support Unix
sockets.
are allowed. @xref{DNS}.
@item --skip-new
Don't use new, possible wrong routines.
@@ -9537,7 +9537,7 @@ This will also set default table type to @code{ISAM}. @xref{ISAM}.
@item --skip-host-cache
Never use host name cache for faster name-ip resolution, but query
DNS server on every connect instead.
DNS server on every connect instead. @xref{DNS}.
@item --skip-show-database
Don't allow 'SHOW DATABASE' commands, unless the user has
@@ -12830,8 +12830,9 @@ Access denied for user: 'root@' (Using password: YES)
This means that @strong{MySQL} got some error when trying to resolve the
IP to a hostname.  In this case you can execute @code{mysqladmin
flush-hosts} to reset the internal DNS cache.  Some permanent solutions
are:
flush-hosts} to reset the internal DNS cache. @xref{DNS}.
Some permanent solutions are:
@itemize @minus
@item
@@ -25691,7 +25692,7 @@ tables}.
* Replication Options::         Replication Options in my.cnf
* Replication SQL::             SQL Commands related to replication
* Replication FAQ::             Frequently Asked Questions about replication
* Troubleshooting Replication:: Troubleshooting Replication
* Troubleshooting Replication:: Troubleshooting Replication.  Troubleshooting Replication
@end menu
@node Replication Intro, Replication Implementation, Replication, Replication
@@ -26728,6 +26729,7 @@ are using @code{--skip-locking}
* Memory use::                  How MySQL uses memory
* Internal locking::            How MySQL locks tables
* Table locking::               Table locking issues
* DNS::                         
@end menu
@node Compile and link options, Disk issues, System, System
@@ -27338,7 +27340,7 @@ single queue. In this case, write locks and read locks would have the same
priority, which might help some applications.
@cindex problems, table locking
@node Table locking,  , Internal locking, System
@node Table locking, DNS, Internal locking, System
@subsection Table Locking Issues
The table locking code in @strong{MySQL} is deadlock free.
@@ -27389,6 +27391,10 @@ Another client issues another @code{SELECT} statement on the same table. As
@code{UPDATE} has higher priority than @code{SELECT}, this @code{SELECT}
will wait for the @code{UPDATE} to finish.  It will also wait for the first
@code{SELECT} to finish!
@item
A thread is waiting for something like @code{full disk}, in which case all
threads that wants to access the problem table will also be put in a waiting
state until more disk space is made available.
@end itemize
Some possible solutions to this problem are:
@@ -27436,6 +27442,39 @@ If you have problems with @code{SELECT} and @code{DELETE}, the @code{LIMIT}
option to @code{DELETE} may help. @xref{DELETE, , @code{DELETE}}.
@end itemize
@cindex DNS
@cindex hostname caching
@node DNS,  , Table locking, System
@subsection How MySQL uses DNS
When a new threads connects to @code{mysqld}, @code{mysqld} will span a
new thread to handle the request.  This thread will first check if the
hostname is in the hostname cache. If not the thread will call
@code{gethostbyaddr_r()} and @code{gethostbyname_r()} to resolve the
hostname.
If the operating system doesn't support the above thread-safe calls, the
thread will lock a mutex and call @code{gethostbyaddr()} and
@code{gethostbyname()} instead. Note that in this case no other thread
can resolve other hostnames that is not in the hostname cache until the
first thread is ready.
You can disable DNS host lookup by starting @code{mysqld} with
@code{--skip-name-resolve}.  In this case you can however only use IP
names in the @strong{MySQL} privilege tables.
If you have a very slow DNS and many hosts, you can get more performance by
either disabling DNS lookop with @code{--skip-name-resolve} or by
increasing the @code{HOST_CACHE_SIZE} define (default: 128) and recompile
@code{mysqld}.
You can disable the hostname cache with @code{--skip-host-cache}. You
can clear the hostname cache with @code{FLUSH HOSTS} or @code{mysqladmin
flush-hosts}.
If you don't want to allow connections over @code{TCP/IP}, you can do this
by starting mysqld with @code{--skip-networking}.
@cindex data, size
@cindex reducing, data size
@cindex storage space, minimizing
@@ -40667,6 +40706,10 @@ not yet 100 % confident in this code.
@appendixsubsec Changes in release 3.23.32
@itemize @bullet
@item
@code{MERGE} tables didn't work on windows.
@item
Fixed problem with @code{SET PASSWORD=...} on windows.
@item
Added missing @file{my_config.h} to RPM distribution.
@item
@code{TRIM("foo" from "foo")} didn't return an empty string.
@@ -45267,6 +45310,7 @@ fields, the @code{BLOB} was garbage on output.
Fixed @code{DISTINCT} with calculated columns.
@end itemize
@cindex bugs, known
@cindex errors, known
@cindex design, issues
@cindex known errors
@@ -45313,6 +45357,9 @@ 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
characters in database, table and column names.
@item
You cannot build in another directory when using
MIT-pthreads. Because this requires changes to MIT-pthreads, we are not
likely to fix this.
@@ -45560,6 +45607,10 @@ expansions of column names) should not open the table, but only the
definition file. This will require less memory and be much faster.
@item
New key cache
@item
When using @code{SET CHARACTER SET} we should translate the whole query
at once and not only strings. This will enable users to use the translated
characters in database, table and column names.
@end itemize
@node TODO future, TODO sometime, TODO MySQL 4.0, TODO
+1 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(sql/mysqld.cc)
AC_CANONICAL_SYSTEM
# The Docs Makefile.am parses this line!
AM_INIT_AUTOMAKE(mysql, 3.23.31)
AM_INIT_AUTOMAKE(mysql, 3.23.32)
AM_CONFIG_HEADER(config.h)

PROTOCOL_VERSION=10
+6 −1
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
# MA 02111-1307, USA

BUILT_SOURCES =		mysql_version.h m_ctype.h
BUILT_SOURCES =		mysql_version.h m_ctype.h my_config.h
pkginclude_HEADERS =	dbug.h m_string.h my_sys.h mysql.h mysql_com.h \
			mysqld_error.h my_list.h \
		        my_pthread.h my_no_pthread.h raid.h errmsg.h \
@@ -43,6 +43,11 @@ all-local: my_global.h my_config.h
link_sources:
	$(CP) ../config.h my_config.h

# Keep automake happy 

my_config.h: ../config.h
	$(CP) ../config.h my_config.h

# This should be changed in the source and removed.
my_global.h: global.h
	$(RM) -f my_global.h
+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#define NAME_LEN	64		/* Field/table name length */
#define HOSTNAME_LENGTH 60
#define USERNAME_LENGTH 16
#define SERVER_VERSION_LENGTH 60

#define LOCAL_HOST	"localhost"
#define LOCAL_HOST_NAMEDPIPE "."
+2 −2
Original line number Diff line number Diff line
/* Copyright Abandoned 1996,1999 TCX DataKonsult AB & Monty Program KB & Detron HB
/* Copyright Abandoned 1996, 1999, 2001 MySQL AB
   This file is public domain and comes with NO WARRANTY of any kind */

/* Version numbers for protocol & mysqld */
Loading