Commit 0bd30233 authored by monty@donna.mysql.fi's avatar monty@donna.mysql.fi

Merge work:/home/bk/mysql into donna.mysql.fi:/home/my/bk/mysql

parents 393c6035 ad7fa1c9
...@@ -30038,9 +30038,14 @@ mysql> TRUNCATE TABLE insert_table; ...@@ -30038,9 +30038,14 @@ mysql> TRUNCATE TABLE insert_table;
mysql> UNLOCK TABLES; mysql> UNLOCK TABLES;
@end example @end example
You can use the @code{LOW_PRIORITY} options with @code{INSERT} if you You can use the @code{LOW_PRIORITY} options with @code{INSERT},
want to prioritize retrieval in some specific cases. @xref{INSERT, , @code{UPDATE} or @code{DELETE} or @code{HIGH_PRIORITY} with
@code{INSERT}}. @code{SELECT} if you want to prioritize retrieval in some specific
cases. You can also start @code{mysqld} with @code{--low-priority-updates}
to get the same behaveour.
Using @code{SQL_BUFFER_RESULT} can also help making table locks shorter.
@xref{SELECT}.
You could also change the locking code in @file{mysys/thr_lock.c} to use a You could also change the locking code in @file{mysys/thr_lock.c} to use a
single queue. In this case, write locks and read locks would have the same single queue. In this case, write locks and read locks would have the same
...@@ -30058,9 +30063,11 @@ high lock speed. For large tables, table locking is MUCH better than ...@@ -30058,9 +30063,11 @@ high lock speed. For large tables, table locking is MUCH better than
row locking for most applications, but there are, of course, some row locking for most applications, but there are, of course, some
pitfalls. pitfalls.
For @code{BDB} tables, @strong{MySQL} only uses table locking if you For @code{BDB} and @code{InnoDB} tables, @strong{MySQL} only uses table
explicitely lock the table with @code{LOCK TABLES} or execute a command that locking if you explicitely lock the table with @code{LOCK TABLES} or
will modify every row in the table, like @code{ALTER TABLE}. execute a command that will modify every row in the table, like
@code{ALTER TABLE}. For these table types we recommend you to not use
@code{LOCK TABLES} at all.
In @strong{MySQL} Version 3.23.7 and above, you can insert rows into In @strong{MySQL} Version 3.23.7 and above, you can insert rows into
@code{MyISAM} tables at the same time other threads are reading from the @code{MyISAM} tables at the same time other threads are reading from the
...@@ -83,9 +83,9 @@ ctype_extra_sources.c: conf_to_src ...@@ -83,9 +83,9 @@ ctype_extra_sources.c: conf_to_src
$(srcdir)/ctype_extra_sources.c $(srcdir)/ctype_extra_sources.c
conf_to_src_SOURCES = conf_to_src.c conf_to_src_SOURCES = conf_to_src.c
conf_to_src_LDADD= conf_to_src_LDADD=
#for --with-other-libc to ensure static linking #force static linking of conf_to_src - essential when linking against
#note -all-static rather than -static #custom installation of libc
#this is needed for libtool to work right conf_to_src_LDFLAGS=@NOINST_LDFLAGS@
conf_to_src_LDFLAGS=-all-static
# Don't update the files from bitkeeper # Don't update the files from bitkeeper
%::SCCS/s.% %::SCCS/s.%
...@@ -5,8 +5,6 @@ sum(length(word)) ...@@ -5,8 +5,6 @@ sum(length(word))
71 71
(@id := id) - id (@id := id) - id
0 0
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter
127.0.0.1 root 9999 1 master-bin.001 939 No 1053 Slave: query ' update t1 set n = n + get_lock('crash_lock', 2)' partially completed on the master and was aborted. There is a chance that your master is inconsistent at this point. If you are sure that your master is ok, run this query manually on the slave and then restart the slave with SET SQL_SLAVE_SKIP_COUNTER=1; SLAVE START; 0
count(*) count(*)
10 10
n n
......
source include/master-slave.inc; source include/master-slave.inc;
connection master; connection master;
use test; use test;
drop table if exists t1; drop table if exists t1,t3;
create table t1 (word char(20) not null); create table t1 (word char(20) not null);
load data infile '../../std_data/words.dat' into table t1; load data infile '../../std_data/words.dat' into table t1;
drop table if exists foo;
set password = password('foo'); set password = password('foo');
set password = password(''); set password = password('');
create table foo(n int); create table t3(n int);
insert into foo values(1),(2); insert into t3 values(1),(2);
save_master_pos; save_master_pos;
connection slave; connection slave;
sync_with_master; sync_with_master;
use test; use test;
select * from foo; select * from t3;
select sum(length(word)) from t1; select sum(length(word)) from t1;
connection master; connection master;
drop table t1; drop table t1,t3;
save_master_pos; save_master_pos;
connection slave; connection slave;
sync_with_master; sync_with_master;
...@@ -59,8 +58,12 @@ connection slave; ...@@ -59,8 +58,12 @@ connection slave;
sync_with_master ; sync_with_master ;
#give the slave a chance to exit #give the slave a chance to exit
sleep 0.5; sleep 0.5;
--replace_result 9306 9999 3334 9999 3335 9999
show slave status; # The following test can't be done because the result of Pos will differ
# on different computes
# --replace_result 9306 9999 3334 9999 3335 9999
# show slave status;
set sql_slave_skip_counter=1; set sql_slave_skip_counter=1;
slave start; slave start;
select count(*) from t1; select count(*) from t1;
......
...@@ -36,7 +36,7 @@ while ($#ARGV >= $[ && $ARGV[0] =~ /^-/) { ...@@ -36,7 +36,7 @@ while ($#ARGV >= $[ && $ARGV[0] =~ /^-/) {
{ {
$opt_a = 1; $opt_a = 1;
} }
elsif ($ARGV[0] eq "-?" || $ARGV[0] eq "-I") elsif ($ARGV[0] eq "-?" || $ARGV[0] eq "-I" || $ARGV[0] eq "--help")
{ {
&usage; &usage;
} }
...@@ -107,7 +107,7 @@ EOF ...@@ -107,7 +107,7 @@ EOF
sub usage { sub usage {
print <<EOF; print <<EOF;
Usage: $0 [-signal] [-?Ift] pattern Usage: $0 [-signal] [-?Ift] [--help] pattern
Options: -I or -? "info" -f "force" -t "test". Options: -I or -? "info" -f "force" -t "test".
Version 1.0 Version 1.0
......
...@@ -66,22 +66,22 @@ uchar NEAR to_lower_ujis[]= ...@@ -66,22 +66,22 @@ uchar NEAR to_lower_ujis[]=
'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
'x', 'y', 'z', '{', '|', '}', '~', '\177', 'x', 'y', 'z', '{', '|', '}', '~', '\177',
'\200','\201','\202','\203','\204','\205','\206','\207', (uchar) '\200',(uchar) '\201',(uchar) '\202',(uchar) '\203',(uchar) '\204',(uchar) '\205',(uchar) '\206',(uchar) '\207',
'\210','\211','\212','\213','\214','\215','\216','\217', (uchar) '\210',(uchar) '\211',(uchar) '\212',(uchar) '\213',(uchar) '\214',(uchar) '\215',(uchar) '\216',(uchar) '\217',
'\220','\221','\222','\223','\224','\225','\226','\227', (uchar) '\220',(uchar) '\221',(uchar) '\222',(uchar) '\223',(uchar) '\224',(uchar) '\225',(uchar) '\226',(uchar) '\227',
'\230','\231','\232','\233','\234','\235','\236','\237', (uchar) '\230',(uchar) '\231',(uchar) '\232',(uchar) '\233',(uchar) '\234',(uchar) '\235',(uchar) '\236',(uchar) '\237',
'\240','\241','\242','\243','\244','\245','\246','\247', (uchar) '\240',(uchar) '\241',(uchar) '\242',(uchar) '\243',(uchar) '\244',(uchar) '\245',(uchar) '\246',(uchar) '\247',
'\250','\251','\252','\253','\254','\255','\256','\257', (uchar) '\250',(uchar) '\251',(uchar) '\252',(uchar) '\253',(uchar) '\254',(uchar) '\255',(uchar) '\256',(uchar) '\257',
'\260','\261','\262','\263','\264','\265','\266','\267', (uchar) '\260',(uchar) '\261',(uchar) '\262',(uchar) '\263',(uchar) '\264',(uchar) '\265',(uchar) '\266',(uchar) '\267',
'\270','\271','\272','\273','\274','\275','\276','\277', (uchar) '\270',(uchar) '\271',(uchar) '\272',(uchar) '\273',(uchar) '\274',(uchar) '\275',(uchar) '\276',(uchar) '\277',
'\300','\301','\302','\303','\304','\305','\306','\307', (uchar) '\300',(uchar) '\301',(uchar) '\302',(uchar) '\303',(uchar) '\304',(uchar) '\305',(uchar) '\306',(uchar) '\307',
'\310','\311','\312','\313','\314','\315','\316','\317', (uchar) '\310',(uchar) '\311',(uchar) '\312',(uchar) '\313',(uchar) '\314',(uchar) '\315',(uchar) '\316',(uchar) '\317',
'\320','\321','\322','\323','\324','\325','\326','\327', (uchar) '\320',(uchar) '\321',(uchar) '\322',(uchar) '\323',(uchar) '\324',(uchar) '\325',(uchar) '\326',(uchar) '\327',
'\330','\331','\332','\333','\334','\335','\336','\337', (uchar) '\330',(uchar) '\331',(uchar) '\332',(uchar) '\333',(uchar) '\334',(uchar) '\335',(uchar) '\336',(uchar) '\337',
'\340','\341','\342','\343','\344','\345','\346','\347', (uchar) '\340',(uchar) '\341',(uchar) '\342',(uchar) '\343',(uchar) '\344',(uchar) '\345',(uchar) '\346',(uchar) '\347',
'\350','\351','\352','\353','\354','\355','\356','\357', (uchar) '\350',(uchar) '\351',(uchar) '\352',(uchar) '\353',(uchar) '\354',(uchar) '\355',(uchar) '\356',(uchar) '\357',
'\360','\361','\362','\363','\364','\365','\366','\367', (uchar) '\360',(uchar) '\361',(uchar) '\362',(uchar) '\363',(uchar) '\364',(uchar) '\365',(uchar) '\366',(uchar) '\367',
'\370','\371','\372','\373','\374','\375','\376','\377', (uchar) '\370',(uchar) '\371',(uchar) '\372',(uchar) '\373',(uchar) '\374',(uchar) '\375',(uchar) '\376',(uchar) '\377'
}; };
uchar NEAR to_upper_ujis[]= uchar NEAR to_upper_ujis[]=
...@@ -117,7 +117,7 @@ uchar NEAR to_upper_ujis[]= ...@@ -117,7 +117,7 @@ uchar NEAR to_upper_ujis[]=
(uchar) '\340',(uchar) '\341',(uchar) '\342',(uchar) '\343',(uchar) '\344',(uchar) '\345',(uchar) '\346',(uchar) '\347', (uchar) '\340',(uchar) '\341',(uchar) '\342',(uchar) '\343',(uchar) '\344',(uchar) '\345',(uchar) '\346',(uchar) '\347',
(uchar) '\350',(uchar) '\351',(uchar) '\352',(uchar) '\353',(uchar) '\354',(uchar) '\355',(uchar) '\356',(uchar) '\357', (uchar) '\350',(uchar) '\351',(uchar) '\352',(uchar) '\353',(uchar) '\354',(uchar) '\355',(uchar) '\356',(uchar) '\357',
(uchar) '\360',(uchar) '\361',(uchar) '\362',(uchar) '\363',(uchar) '\364',(uchar) '\365',(uchar) '\366',(uchar) '\367', (uchar) '\360',(uchar) '\361',(uchar) '\362',(uchar) '\363',(uchar) '\364',(uchar) '\365',(uchar) '\366',(uchar) '\367',
(uchar) '\370',(uchar) '\371',(uchar) '\372',(uchar) '\373',(uchar) '\374',(uchar) '\375',(uchar) '\376',(uchar) '\377', (uchar) '\370',(uchar) '\371',(uchar) '\372',(uchar) '\373',(uchar) '\374',(uchar) '\375',(uchar) '\376',(uchar) '\377'
}; };
uchar NEAR sort_order_ujis[]= uchar NEAR sort_order_ujis[]=
...@@ -153,7 +153,7 @@ uchar NEAR sort_order_ujis[]= ...@@ -153,7 +153,7 @@ uchar NEAR sort_order_ujis[]=
(uchar) '\340',(uchar) '\341',(uchar) '\342',(uchar) '\343',(uchar) '\344',(uchar) '\345',(uchar) '\346',(uchar) '\347', (uchar) '\340',(uchar) '\341',(uchar) '\342',(uchar) '\343',(uchar) '\344',(uchar) '\345',(uchar) '\346',(uchar) '\347',
(uchar) '\350',(uchar) '\351',(uchar) '\352',(uchar) '\353',(uchar) '\354',(uchar) '\355',(uchar) '\356',(uchar) '\357', (uchar) '\350',(uchar) '\351',(uchar) '\352',(uchar) '\353',(uchar) '\354',(uchar) '\355',(uchar) '\356',(uchar) '\357',
(uchar) '\360',(uchar) '\361',(uchar) '\362',(uchar) '\363',(uchar) '\364',(uchar) '\365',(uchar) '\366',(uchar) '\367', (uchar) '\360',(uchar) '\361',(uchar) '\362',(uchar) '\363',(uchar) '\364',(uchar) '\365',(uchar) '\366',(uchar) '\367',
(uchar) '\370',(uchar) '\371',(uchar) '\372',(uchar) '\373',(uchar) '\374',(uchar) '\375', (uchar) (uchar) '\376', (uchar) '\377', (uchar) '\370',(uchar) '\371',(uchar) '\372',(uchar) '\373',(uchar) '\374',(uchar) '\375', (uchar) (uchar) '\376', (uchar) '\377'
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment