Loading BitKeeper/etc/logging_ok +1 −1 Original line number Diff line number Diff line monty@tramp.mysql.fi monty@donna.mysql.com Docs/manual.texi +24 −6 Original line number Diff line number Diff line Loading @@ -581,7 +581,7 @@ Speed of queries that access or update data * 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} and ${RIGHT JOIN} * LEFT JOIN optimization:: How MySQL optimizes @code{LEFT JOIN} and @code{RIGHT JOIN} * LIMIT optimization:: How MySQL optimizes @code{LIMIT} * Insert speed:: Speed of @code{INSERT} queries * Update speed:: Speed of @code{UPDATE} queries Loading Loading @@ -30108,11 +30108,17 @@ clients connected to the @code{mysqld} server. If you need more connections than the default (100), then you should restart @code{mysqld} with a bigger value for the @code{max_connections} variable. Note that @code{mysqld} actually allows (@code{max_connections}+1) clients to connect. The last connection is reserved for a user with the @strong{process} privilege. 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}. Note that @code{mysqld} actually allows (@code{max_connections}+1) clients to connect. The last connection is reserved for a user with the @strong{process} privilege. 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}. The maximum number of connects @strong{MySQL} is depending on how good the thread library is on a given platform. Linux or Solaris should be able to support 500-1000 simultaneous connections, depending on how much RAM you have and what your clients are doing. @node Out of memory, Packet too large, Too many connections, Common errors @subsection @code{Out of memory} error Loading Loading @@ -30547,6 +30553,10 @@ shell> export UMASK_DIR shell> /path/to/safe_mysqld & @end example In @strong{MySQL} 3.23.25 and above, @strong{MySQL} assumes that the value for @code{UMASK} and @code{UMASK_DIR} is in octal if it starts with a zero. @xref{Environment variables}. @node Not enough file handles, Using DATE, File permissions , Problems Loading Loading @@ -36774,6 +36784,10 @@ though, so 3.23 is not released as a stable version yet. @appendixsubsec Changes in release 3.23.25 @itemize @bullet @item Fixed that databasename works as second argument to @code{mysqlhotcopy}. @item @code{UMASK} and @code{UMASK_DIR} can now be specified in octal. @item Added @code{RIGHT JOIN}. This makes @code{RIGHT} a reserved word. @item Added @code{@@@@IDENTITY} as a synonym for @code{LAST_INSERT_ID()}. Loading Loading @@ -41578,6 +41592,10 @@ If @code{mysqld} hangs you can try to use some system tools like @code{strace} or @code{/usr/proc/bin/pstack} to examine where @code{mysqld} has hung. @example strace /tmp/log libexec/mysqld @end example If @code{mysqld} starts to eat up CPU or memory or if it ``hangs'', you can use @code{mysqladmin processlist status} to find out if someone is executing a query that takes a long time. It may be a good idea to mysys/my_init.c +17 −2 Original line number Diff line number Diff line Loading @@ -47,6 +47,19 @@ static my_bool win32_init_tcp_ip(); #endif static my_bool my_init_done=0; ulong atoi_octal(const char *str) { long int tmp; while (*str && isspace(*str)) str++; str2int(str, (*str == '0' ? 8 : 10), /* Octalt or decimalt */ 0, INT_MAX, &tmp); return (ulong) tmp; } /* Init my_sys functions and my_sys variabels */ void my_init(void) Loading @@ -73,10 +86,12 @@ void my_init(void) if ((home_dir=getenv("HOME")) != 0) home_dir=intern_filename(home_dir_buff,home_dir); #ifndef VMS /* Default creation of new files */ if ((str=getenv("UMASK")) != 0) my_umask=atoi(str) | 0600; /* Default creation of new files */ my_umask=(int) (atoi_octal(str) | 0600); /* Default creation of new dir's */ if ((str=getenv("UMASK_DIR")) != 0) my_umask_dir=atoi(str) | 0700; /* Default creation of new dir's */ my_umask_dir=(int) (atoi_octal(str) | 0700); #endif #ifdef VMS init_ctype(); /* Stupid linker don't link _ctype.c */ Loading scripts/mysqlhotcopy.sh +38 −18 Original line number Diff line number Diff line Loading @@ -25,11 +25,11 @@ WARNING: THIS IS VERY MUCH A FIRST-CUT ALPHA. Comments/patches welcome. # Documentation continued at end of file my $VERSION = "1.6"; my $VERSION = "1.7"; my $OPTIONS = <<"_OPTIONS"; Usage: $0 db_name new_db_name Usage: $0 db_name [new_db_name | directory] -?, --help display this helpscreen and exit -u, --user=# user for database login if not current user Loading Loading @@ -126,7 +126,9 @@ my $dsn = ";host=localhost"; $dsn .= ";port=$opt{port}" if $opt{port}; $dsn .= ";mysql_socket=$opt{socket}" if $opt{socket}; my $dbh = DBI->connect("dbi:mysql:$dsn", $opt{user}, $opt{password}, { my $dbh = DBI->connect("dbi:mysql:$dsn;mysql_read_default_group=mysqlhotcopy", $opt{user}, $opt{password}, { RaiseError => 1, PrintError => 0, AutoCommit => 1, Loading @@ -143,20 +145,23 @@ if ( $opt{checkpoint} ) { } # --- get variables from database --- my $sth_vars = $dbh->prepare("show variables"); my $sth_vars = $dbh->prepare("show variables like 'datadir'"); $sth_vars->execute; while ( my ($var,$value) = $sth_vars->fetchrow_array ) { $mysqld_vars{ $var } = $value; } my $datadir = $mysqld_vars{datadir} my $datadir = $mysqld_vars{'datadir'} || die "datadir not in mysqld variables"; $datadir =~ s:/$::; # --- get target path --- my $tgt_dirname; if ($tgt_name =~ m:^\w+$:) { my ($tgt_dirname, $to_other_database); $to_other_database=0; if ($tgt_name =~ m:^\w+$: && @db_desc <= 1) { $tgt_dirname = "$datadir/$tgt_name"; $to_other_database=1; } elsif ($tgt_name =~ m:/: || $tgt_name eq '.') { $tgt_dirname = $tgt_name; Loading Loading @@ -209,6 +214,7 @@ foreach my $rdb ( @db_desc ) { $hc_locks .= ", " if ( length $hc_locks && @hc_tables ); $hc_locks .= join ", ", map { "$_ READ" } @hc_tables; $hc_tables .= ", " if ( length $hc_tables && @hc_tables ); $hc_tables .= join ", ", @hc_tables; $num_tables += scalar @hc_tables; Loading @@ -223,11 +229,22 @@ if (length $tgt_name ) { # explicit destination directory specified # GNU `cp -r` error message die "copying multiple databases, but last argument ($tgt_name) is not a directory\n" if ( @db_desc > 1 && !(-e $tgt_name && -d $tgt_name ) ); die "copying multiple databases, but last argument ($tgt_dirname) is not a directory\n" if ( @db_desc > 1 && !(-e $tgt_dirname && -d $tgt_dirname ) ); if ($to_other_database) { foreach my $rdb ( @db_desc ) { $rdb->{target} = "$tgt_name/$rdb->{src}"; $rdb->{target} = "$tgt_dirname"; } } else { die "Last argument ($tgt_dirname) is not a directory\n" if (!(-e $tgt_dirname && -d $tgt_dirname ) ); foreach my $rdb ( @db_desc ) { $rdb->{target} = "$tgt_dirname/$rdb->{src}"; } } } else { Loading Loading @@ -571,6 +588,9 @@ where ":" delimits the subsets, the /^foo_/ indicates all tables with names begining with "foo_" and the "+" indicates all tables not copied by the previous subsets. newdb is either another not existing database or a full path to a directory where we can create a directory 'db' Add option to lock each table in turn for people who don't need cross-table integrity. Loading sql/share/swedish/errmsg.OLD +0 −1 Original line number Diff line number Diff line Loading @@ -194,5 +194,4 @@ "Fick nätverksfel vid skrivning till master", "Hittar inte ett FULLTEXT index i kolumnlistan", "Kan inte exekvera kommandot emedan du har en låst tabell eller an aktiv transaktion", #ER_UNKNOWN_SYSTEM_VARIABLE "Okänd system variabel '%-.64'", Loading
BitKeeper/etc/logging_ok +1 −1 Original line number Diff line number Diff line monty@tramp.mysql.fi monty@donna.mysql.com
Docs/manual.texi +24 −6 Original line number Diff line number Diff line Loading @@ -581,7 +581,7 @@ Speed of queries that access or update data * 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} and ${RIGHT JOIN} * LEFT JOIN optimization:: How MySQL optimizes @code{LEFT JOIN} and @code{RIGHT JOIN} * LIMIT optimization:: How MySQL optimizes @code{LIMIT} * Insert speed:: Speed of @code{INSERT} queries * Update speed:: Speed of @code{UPDATE} queries Loading Loading @@ -30108,11 +30108,17 @@ clients connected to the @code{mysqld} server. If you need more connections than the default (100), then you should restart @code{mysqld} with a bigger value for the @code{max_connections} variable. Note that @code{mysqld} actually allows (@code{max_connections}+1) clients to connect. The last connection is reserved for a user with the @strong{process} privilege. 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}. Note that @code{mysqld} actually allows (@code{max_connections}+1) clients to connect. The last connection is reserved for a user with the @strong{process} privilege. 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}. The maximum number of connects @strong{MySQL} is depending on how good the thread library is on a given platform. Linux or Solaris should be able to support 500-1000 simultaneous connections, depending on how much RAM you have and what your clients are doing. @node Out of memory, Packet too large, Too many connections, Common errors @subsection @code{Out of memory} error Loading Loading @@ -30547,6 +30553,10 @@ shell> export UMASK_DIR shell> /path/to/safe_mysqld & @end example In @strong{MySQL} 3.23.25 and above, @strong{MySQL} assumes that the value for @code{UMASK} and @code{UMASK_DIR} is in octal if it starts with a zero. @xref{Environment variables}. @node Not enough file handles, Using DATE, File permissions , Problems Loading Loading @@ -36774,6 +36784,10 @@ though, so 3.23 is not released as a stable version yet. @appendixsubsec Changes in release 3.23.25 @itemize @bullet @item Fixed that databasename works as second argument to @code{mysqlhotcopy}. @item @code{UMASK} and @code{UMASK_DIR} can now be specified in octal. @item Added @code{RIGHT JOIN}. This makes @code{RIGHT} a reserved word. @item Added @code{@@@@IDENTITY} as a synonym for @code{LAST_INSERT_ID()}. Loading Loading @@ -41578,6 +41592,10 @@ If @code{mysqld} hangs you can try to use some system tools like @code{strace} or @code{/usr/proc/bin/pstack} to examine where @code{mysqld} has hung. @example strace /tmp/log libexec/mysqld @end example If @code{mysqld} starts to eat up CPU or memory or if it ``hangs'', you can use @code{mysqladmin processlist status} to find out if someone is executing a query that takes a long time. It may be a good idea to
mysys/my_init.c +17 −2 Original line number Diff line number Diff line Loading @@ -47,6 +47,19 @@ static my_bool win32_init_tcp_ip(); #endif static my_bool my_init_done=0; ulong atoi_octal(const char *str) { long int tmp; while (*str && isspace(*str)) str++; str2int(str, (*str == '0' ? 8 : 10), /* Octalt or decimalt */ 0, INT_MAX, &tmp); return (ulong) tmp; } /* Init my_sys functions and my_sys variabels */ void my_init(void) Loading @@ -73,10 +86,12 @@ void my_init(void) if ((home_dir=getenv("HOME")) != 0) home_dir=intern_filename(home_dir_buff,home_dir); #ifndef VMS /* Default creation of new files */ if ((str=getenv("UMASK")) != 0) my_umask=atoi(str) | 0600; /* Default creation of new files */ my_umask=(int) (atoi_octal(str) | 0600); /* Default creation of new dir's */ if ((str=getenv("UMASK_DIR")) != 0) my_umask_dir=atoi(str) | 0700; /* Default creation of new dir's */ my_umask_dir=(int) (atoi_octal(str) | 0700); #endif #ifdef VMS init_ctype(); /* Stupid linker don't link _ctype.c */ Loading
scripts/mysqlhotcopy.sh +38 −18 Original line number Diff line number Diff line Loading @@ -25,11 +25,11 @@ WARNING: THIS IS VERY MUCH A FIRST-CUT ALPHA. Comments/patches welcome. # Documentation continued at end of file my $VERSION = "1.6"; my $VERSION = "1.7"; my $OPTIONS = <<"_OPTIONS"; Usage: $0 db_name new_db_name Usage: $0 db_name [new_db_name | directory] -?, --help display this helpscreen and exit -u, --user=# user for database login if not current user Loading Loading @@ -126,7 +126,9 @@ my $dsn = ";host=localhost"; $dsn .= ";port=$opt{port}" if $opt{port}; $dsn .= ";mysql_socket=$opt{socket}" if $opt{socket}; my $dbh = DBI->connect("dbi:mysql:$dsn", $opt{user}, $opt{password}, { my $dbh = DBI->connect("dbi:mysql:$dsn;mysql_read_default_group=mysqlhotcopy", $opt{user}, $opt{password}, { RaiseError => 1, PrintError => 0, AutoCommit => 1, Loading @@ -143,20 +145,23 @@ if ( $opt{checkpoint} ) { } # --- get variables from database --- my $sth_vars = $dbh->prepare("show variables"); my $sth_vars = $dbh->prepare("show variables like 'datadir'"); $sth_vars->execute; while ( my ($var,$value) = $sth_vars->fetchrow_array ) { $mysqld_vars{ $var } = $value; } my $datadir = $mysqld_vars{datadir} my $datadir = $mysqld_vars{'datadir'} || die "datadir not in mysqld variables"; $datadir =~ s:/$::; # --- get target path --- my $tgt_dirname; if ($tgt_name =~ m:^\w+$:) { my ($tgt_dirname, $to_other_database); $to_other_database=0; if ($tgt_name =~ m:^\w+$: && @db_desc <= 1) { $tgt_dirname = "$datadir/$tgt_name"; $to_other_database=1; } elsif ($tgt_name =~ m:/: || $tgt_name eq '.') { $tgt_dirname = $tgt_name; Loading Loading @@ -209,6 +214,7 @@ foreach my $rdb ( @db_desc ) { $hc_locks .= ", " if ( length $hc_locks && @hc_tables ); $hc_locks .= join ", ", map { "$_ READ" } @hc_tables; $hc_tables .= ", " if ( length $hc_tables && @hc_tables ); $hc_tables .= join ", ", @hc_tables; $num_tables += scalar @hc_tables; Loading @@ -223,11 +229,22 @@ if (length $tgt_name ) { # explicit destination directory specified # GNU `cp -r` error message die "copying multiple databases, but last argument ($tgt_name) is not a directory\n" if ( @db_desc > 1 && !(-e $tgt_name && -d $tgt_name ) ); die "copying multiple databases, but last argument ($tgt_dirname) is not a directory\n" if ( @db_desc > 1 && !(-e $tgt_dirname && -d $tgt_dirname ) ); if ($to_other_database) { foreach my $rdb ( @db_desc ) { $rdb->{target} = "$tgt_name/$rdb->{src}"; $rdb->{target} = "$tgt_dirname"; } } else { die "Last argument ($tgt_dirname) is not a directory\n" if (!(-e $tgt_dirname && -d $tgt_dirname ) ); foreach my $rdb ( @db_desc ) { $rdb->{target} = "$tgt_dirname/$rdb->{src}"; } } } else { Loading Loading @@ -571,6 +588,9 @@ where ":" delimits the subsets, the /^foo_/ indicates all tables with names begining with "foo_" and the "+" indicates all tables not copied by the previous subsets. newdb is either another not existing database or a full path to a directory where we can create a directory 'db' Add option to lock each table in turn for people who don't need cross-table integrity. Loading
sql/share/swedish/errmsg.OLD +0 −1 Original line number Diff line number Diff line Loading @@ -194,5 +194,4 @@ "Fick nätverksfel vid skrivning till master", "Hittar inte ett FULLTEXT index i kolumnlistan", "Kan inte exekvera kommandot emedan du har en låst tabell eller an aktiv transaktion", #ER_UNKNOWN_SYSTEM_VARIABLE "Okänd system variabel '%-.64'",