Commit e13c21a7 authored by serg@serg.mysql.com's avatar serg@serg.mysql.com
Browse files

Merge

parents cc2e9272 227a2775
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ if [ "x$strip" = "xyes" ]
then
  commands="$commands

mkdir tmp
mkdir -p tmp
nm --numeric-sort sql/mysqld  > tmp/mysqld.sym
objdump -d sql/mysqld > tmp/mysqld.S
strip sql/mysqld"
+114 −43
Original line number Diff line number Diff line
@@ -2992,18 +2992,21 @@ carefully and make sure that all the information described here is included
in your report.
@cindex bug reports, email address
If you can make a test case that clearly shows the bug, you should post
it to the @email{bugs@@lists.mysql.com} list. Note that on this list you
should only post a full, repeatable bug report using the @code{mysqlbug}
script. If you are running on Windows, you should include a
description of the operating system and the @strong{MySQL} version.
Preferably, you should test the problem using the latest stable or development
version of @strong{MySQL} before posting!  Anyone should be able to repeat the
bug by just using ``@code{mysql test < script}'' on the included test case or
run the shell or perl script that is included in the bug report.  All bugs
posted on this list will be corrected or documented in the next @strong{MySQL}
release!  If there are only small code changes involved to correct this
problem, we will also post a patch that fixes the problem.
The normal plase to report bugs and problems is
@email{mysql@@lists.mysql.com}. If you can make a test case that clearly
shows the bug, you should post it to the @email{bugs@@lists.mysql.com}
list. Note that on this list you should only post a full, repeatable bug
report using the @code{mysqlbug} script. If you are running on Windows,
you should include a description of the operating system and the
@strong{MySQL} version.  Preferably, you should test the problem using
the latest stable or development version of @strong{MySQL} before
posting!  Anyone should be able to repeat the bug by just using
``@code{mysql test < script}'' on the included test case or run the
shell or perl script that is included in the bug report.  All bugs
posted on the @code{bugs} list will be corrected or documented in the next
@strong{MySQL} release!  If there are only small code changes involved
to correct this problem, we will also post a patch that fixes the
problem.
Remember that it is possible to respond to a message containing too much
information, but not to one containing too little.  Often people omit facts
@@ -3038,7 +3041,7 @@ It is most helpful when a good description of the problem is included in the
bug report.  That is, a good example of all the things you did that led to
the problem and the problem itself exactly described.  The best reports are
those that include a full example showing how to reproduce the bug or
problem.
problem. @xref{Reproducable test case}.
If a program produces an error message, it is very important to include the
message in your report! If we try to search for something from the archives
@@ -3090,6 +3093,11 @@ If the problem occurs during compilation, include the exact error
message(s) and also a few lines of context around the offending code in the
file where the error occurred.
@item
If @code{mysqld} died, you should also report query that crashed
@code{mysqld}. You can usually find this out by running @code{mysqld} with
logging enabled. @xref{Using log files}.
@item
If any database table is related to the problem, include the output from
@code{mysqldump --no-data db_name tbl_name1 tbl_name2 ...}.  This is very easy
@@ -3123,15 +3131,27 @@ mysql> SHOW STATUS;
@end example
@item
If a bug or problem occurs while running @strong{MySQL}, try to provide an
If a bug or problem occurs while running @strong{mysqld}, try to provide an
input script that will reproduce the anomaly. This script should include any
necessary source files. The more closely the script can reproduce your
situation, the better.
situation, the better. If you can make a repeatable test case, you should
post this to @email{bugs@@lists.mysql.com} for a high priority treatment!
If you can't provide a script, you should at least include the output
from @code{mysqladmin variables extended-status processlist} in your mail to
provide some information of how your system is performing!
@item
If you can't produce a test case in a few rows, or if the test table
is too big to be mailed to the mailing list (more than 10 rows), you should
dump your tables using @code{mysqldump} and create a @file{README} file
that describes your problem.
Create a compressed archive of your files using
@code{tar} and @code{gzip} or @code{zip}, and use @code{ftp}
to transfer the archive to @uref{ftp://support.mysql.com/pub/mysql/secret/}.
Then send a short description of the problem to @email{bugs@@lists.mysql.com}.
@item
If you think that @strong{MySQL} produces a strange result from a query,
include not only the result, but also your opinion of what the result
@@ -3159,17 +3179,6 @@ options to programs like @code{mysqld} and @code{mysql}, and to the
It is never a bad idea to include them anyway!  If you use any modules, such
as Perl or PHP, please include the version number(s) of those as well.
@item
If you can't produce a test case in a few rows, or if the test table
is too big to be mailed to the mailing list (more than 10 rows), you should
dump your tables using @code{mysqldump} and create a @file{README} file
that describes your problem.
Create a compressed archive of your files using
@code{tar} and @code{gzip} or @code{zip}, and use @code{ftp}
to transfer the archive to @uref{ftp://support.mysql.com/pub/mysql/secret/}.
Then send a short description of the problem to @email{mysql@@lists.mysql.com}.
@item
If your question is related to the privilege system, please include the
output of @code{mysqlaccess}, the output of @code{mysqladmin reload}, and all
@@ -28639,7 +28648,8 @@ 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/Downloads/Contrib/mysql-bench-0.6.tar.gz, mysql-super-smack}.
@uref{http://www.mysql.com/Downloads/super-smack/super-smack-1.0.tar.gz,
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.
@@ -31852,6 +31862,15 @@ operating system must support dynamic loading. The @strong{MySQL} source
distribution includes a file @file{sql/udf_example.cc} that defines 5 new
functions.  Consult this file to see how UDF calling conventions work.
For mysqld to be able to use UDF functions, you should configure MySQL
with @code{--with-mysqld-ldflags=-rdynamic} The reason is that to on
many platforms you can load a dynamic library (with @code{dlopen()})
from a static linked program, which you would get if you are using
@code{--with-mysqld-ldflags=-all-static} If you want to use an UDF that
needs to access symbols from mysqld (like the @code{methaphone} example
in @file{sql/udf_example.cc} that uses @code{default_charset_info}), you must
link the program with @code{-rdynamic}.  (see @code{man dlopen}).
For each function that you want to use in SQL statements, you should define
corresponding C (or C++) functions.  In the discussion below, the name
``xxx'' is used for an example function name.  To distinquish between SQL and
@@ -32180,6 +32199,9 @@ characters in its arguments, divided by the sum of the length of its arguments.
@item
@code{myfunc_int()} returns the sum of the length of its arguments.
@item
@code{sequence([const int])} returns an sequence starting from the given
number or 1 if no number has been given.
@item
@code{lookup()} returns the IP number for a hostname.
@item
@code{reverse_lookup()} returns the hostname for an IP number.
@@ -32336,6 +32358,9 @@ can be done on row-by-row or @code{GROUP BY} level.
We have created an example procedure in @strong{MySQL} Version 3.23 to
show you what can be done.
Additionally we recommend you to take a look at 'mylua', which you can find in the Contrib directory. @xref{Contrib}.  Which this you can use the LUA
language to load a procedure at runtime into @code{mysqld}.
@menu
* procedure analyse::           Procedure analyse
* Writing a procedure::         Writing a procedure.
@@ -34598,6 +34623,21 @@ If you get performance problems in making backups on your system, you can
solve this by setting up replication and do the backups on the slave
instead of on the master. @xref{Replication Intro}.
If you are using a Veritas file system, you can do:
@enumerate
@item 
Execute in a client (perl ?) @code{FLUSH TABLES WITH READ LOCK}
@item
Fork a shell or execute in another client @code{mount vxfs snapshot}.
@item
Execute in the first client @code{UNLOCK TABLES}
@item
Copy files from snapshot
@item
Unmount snapshot
@end enumerate
@cindex multiple servers
@cindex servers, multiple
@cindex running, multiple servers
@@ -40020,6 +40060,16 @@ MySQL ActiveX Object for directly accessing your MySQL servers from IIS/ASP,
VB, VC++ skipping the slower ODBC methods. Fully updateble, multithreaded with full support
for all MySQL fieldtypes (version 2001.1.1). By SciBit @uref{http://www.scibit.com/}.
@item @uref{http://www.fastflow.it/mylua/, MyLUA home page}
How to use the LUA language to write @code{MySQL} @code{PROCEDURE} that can
be loaded runtime.
@itemize @bullet
@item @uref{http://www.mysql.com/Downloads/Contrib/lua-4.0.tar.gz, Lua 4.0}
LUA 4.0
@item @uref{http://www.mysql.com/Downloads/Contrib/mylua-3.23.32.1.tar.gz, mylua-3.23.32.1.tar.gz}
Patch for MySQL 3.23.32 to use LUA 4.0.  By Cristian Giussani.
@end itemize
@end itemize
@appendixsec  Clients
@@ -40232,8 +40282,11 @@ Full-text searching with Perl on @code{BLOB}/@code{TEXT} columns by Daniel Koch.
@appendixsec Performance Benchmarking Tools
@itemize @bullet
@item @uref{http://www.mysql.com/Downloads/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.
@item @uref{http://www.mysql.com/Downloads/super-smack/super-smack-1.0.tar.gz,
 super-smack}
Multi-threaded benchmarking tool for @strong{MySQL} and
@strong{PostgreSQL}. Written in C++. Easy to extend to support other
databases that have C/C++ client libraries. By Sasha Pachev.
@end itemize
@cindex tools, authentication
@@ -41056,7 +41109,15 @@ not yet 100 % confident in this code.
@node News-3.23.33, News-3.23.32, News-3.23.x, News-3.23.x
@appendixsubsec Changes in release 3.23.33
@itemize @bullet
@itemize bullet
@item
Fixed core-dump bug when using @code{GROUP BY} on an @code{ALIAS}, where
the @code{ALIAS} was the same as an existing column name.
@item
Added @code{SEQUENCE()} as an example UDF function.
@item
Changed @code{mysql_install_db} to use @code{BINARY} for @code{CHAR}
columns in the privilege tables.
@item
Changed @code{TRUNCATE table_name} to @code{TRUNCATE TABLE table_name}
to use the same syntax as Oracle.  Until 4.0 we will also allow
@@ -46709,25 +46770,35 @@ Execute @code{resolve_stack_dump -s /tmp/mysqld.sym -n mysqld.stack}.
This will print out where @code{mysqld} died. If this doesn't help you
find out why @code{mysqld} died, you should make a bug report and include
the output from the above commend with the bug report. @xref{Bug reports}.
the output from the above commend with the bug report.
Note however that in most cases it will not help us to just have a stack
trace to find the reason for the problem.  To be able to locate the bug
or provide a workaround, we would in most cases need to know the query
that killed @code{mysqld} and preferable a test case so that we can
repeat the problem!  @xref{Bug reports}.
@end enumerate
@node Using log files, Reproducable test case, Using stack trace, Debugging server
@appendixsubsec Using log files to find cause of errors in mysqld
Note that before starting @code{mysqld} with @code{--log} you should
check all your tables with @code{myisamchk}.  @xref{Maintenance}.
If @code{mysqld} dies or hangs, you should start @code{mysqld} with
@code{--log}.  When @code{mysqld} dies again, you can check in the log
file for the query that killed @code{mysqld}.  Note that before starting
@code{mysqld} with @code{--log} you should check all your tables with
@code{myisamchk}.  @xref{Maintenance}.
If you are using a log file, @code{mysqld --log}, you should check the
'hostname' log files, that you can find in the database directory, for
any queries that could cause a problem. Try the command @code{EXPLAIN}
on all @code{SELECT} statements that takes a long time to ensure that
mysqld are using indexes properly. @xref{EXPLAIN, , @code{EXPLAIN}}. You
should also test complicated queries that didn't complete within the
@code{mysql} command line tool.
@code{--log}.  When @code{mysqld} dies again, you can examine the end of
the log file for the query that killed @code{mysqld}.
If you are using @code{--log} without a file name, the log is stored in
the database directory as 'hostname'.log In most cases it's the last
query in the log file that killed @code{mysqld}, but if possible you
should verify this by restarting @code{mysqld} and executing the found
query from the @code{mysql} command line tools. If this works, you
should also test all complicated queries that didn't complete.
You can also try the command @code{EXPLAIN} on all @code{SELECT}
statements that takes a long time to ensure that mysqld are using
indexes properly. @xref{EXPLAIN, , @code{EXPLAIN}}.
You can find the queries that take a long time to execute by starting
@code{mysqld} with @code{--log-slow-queries}. @xref{Slow query log}.
+3 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@
#define INIT_SYM_TABLE  4096
#define INC_SYM_TABLE  4096
#define MAX_SYM_SIZE   128
#define DUMP_VERSION "1.0"
#define DUMP_VERSION "1.1"
#define HEX_INVALID  (uchar)255

typedef ulong my_long_addr_t ; /* at some point, we need to fix configure
@@ -198,6 +198,8 @@ static int init_sym_entry(SYM_ENTRY* se, char* buf)
	break;
    }
  *p = 0;
  if(!strcmp(se->symbol, "gcc2_compiled."))
    return -1;
  return 0;
}

+1 −1
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ pkginclude_HEADERS = dbug.h m_string.h my_sys.h mysql.h mysql_com.h \
			sslopt-case.h sslopt-longopts.h sslopt-usage.h \
			sslopt-vars.h $(BUILT_SOURCES)
noinst_HEADERS =	global.h config-win.h \
			nisam.h heap.h merge.h \
			nisam.h heap.h merge.h my_bitmap.h\
			myisam.h myisampack.h myisammrg.h ft_global.h\
			my_dir.h mysys_err.h my_base.h \
			my_nosys.h my_alarm.h queues.h \
+2 −0
Original line number Diff line number Diff line
Kundentyp	kategorie
Privat (Private Nutzung)	Mobilfunk
Loading