Commit eaea82d3 authored by jimw@mysql.com's avatar jimw@mysql.com

Merge query_cache tests

parents 759ad1a1 d1140661
...@@ -394,13 +394,13 @@ if ($opt_stage <= 5 && !$opt_no_test && !$opt_no_mysqltest) ...@@ -394,13 +394,13 @@ if ($opt_stage <= 5 && !$opt_no_test && !$opt_no_mysqltest)
info("Running test suite"); info("Running test suite");
system("mkdir $bench_tmpdir") if (! -d $bench_tmpdir); system("mkdir $bench_tmpdir") if (! -d $bench_tmpdir);
safe_cd("${test_dir}/mysql-test"); safe_cd("${test_dir}/mysql-test");
check_system("./mysql-test-run $flags --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --ndbcluster_port=$ndbcluster_port --manager-port=$manager_port --no-manager --sleep=10", "tests were successful"); check_system("./mysql-test-run $flags --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --ndbcluster_port=$ndbcluster_port --manager-port=$manager_port --no-manager --sleep=10", "were successful");
unless ($opt_skip_ps_test) unless ($opt_skip_ps_test)
{ {
log_timestamp(); log_timestamp();
info("Running test suite using prepared statements"); info("Running test suite using prepared statements");
check_system("./mysql-test-run $flags --ps-protocol --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --ndbcluster_port=$ndbcluster_port --manager-port=$manager_port --no-manager --sleep=10", "tests were successful"); check_system("./mysql-test-run $flags --ps-protocol --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --ndbcluster_port=$ndbcluster_port --manager-port=$manager_port --no-manager --sleep=10", "were successful");
} }
unless ($opt_skip_embedded_test) unless ($opt_skip_embedded_test)
...@@ -409,7 +409,7 @@ if ($opt_stage <= 5 && !$opt_no_test && !$opt_no_mysqltest) ...@@ -409,7 +409,7 @@ if ($opt_stage <= 5 && !$opt_no_test && !$opt_no_mysqltest)
info("Running embedded server test suite"); info("Running embedded server test suite");
# Embedded server and NDB don't jive # Embedded server and NDB don't jive
$flags=~ s/ --with-ndbcluster//; $flags=~ s/ --with-ndbcluster//;
check_system("./mysql-test-run $flags --embedded-server --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --manager-port=$manager_port --no-manager --sleep=10", "tests were successful"); check_system("./mysql-test-run $flags --embedded-server --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --manager-port=$manager_port --no-manager --sleep=10", "were successful");
} }
# 'mysql-test-run' writes its own final message for log evaluation. # 'mysql-test-run' writes its own final message for log evaluation.
} }
......
...@@ -14,19 +14,17 @@ $pkginfo = "pkginfo"; ...@@ -14,19 +14,17 @@ $pkginfo = "pkginfo";
($gid ,$pkg ,$uid ,$userInfo ,$email ,$quota ,$group ,$passwd ($gid ,$pkg ,$uid ,$userInfo ,$email ,$quota ,$group ,$passwd
,$category ,$userHome ,$vendor ,$loginShell ,$pstamp ,$basedir)=(); ,$category ,$userHome ,$vendor ,$loginShell ,$pstamp ,$basedir)=();
$fullname = shift @ARGV; $tarball= $fullname= shift @ARGV;
$fullname or die "No package name was specified"; $fullname=~ s/.*(mysql.*)\.tar\.gz/$1/;
-d $fullname or die "That directory is not present!"; $workdir= $$;
chomp ($parent_workdir= `pwd`);
$fullname =~ s,/+$,,; # Remove ending slash if any $hostname= ($fullname=~ m/^.+-64bit$/) ? $hostname . "-64bit" : $hostname;
$pkgdir= "$ENV{'HOME'}/$hostname";
$pkgdir= `cd ../$hostname; pwd`; mkdir $workdir or die "Can't make workdir: $!\n";
$pwd = `pwd`; chdir $workdir or die "Can't change to workdir: $!\n";
if ($pwd =~ '\/usr\/local') { system ("tar xzvf $tarball") == 0 or die "Can't untar: $!\n";
$pwd = $`;
}
die "Wrong location, please cd to <PKGBASE>/usr/local/ and run again.\n"
if ($pwd eq "");
system ("$find . -print | $pkgproto > $temp"); system ("$find . -print | $pkgproto > $temp");
open (PREPROTO,"<$temp") or die "Unable to read prototype information ($!)\n"; open (PREPROTO,"<$temp") or die "Unable to read prototype information ($!)\n";
...@@ -57,8 +55,9 @@ unlink $temp or warn "Unable to remove tempfile ($!)\n"; ...@@ -57,8 +55,9 @@ unlink $temp or warn "Unable to remove tempfile ($!)\n";
# Now we can start building the package # Now we can start building the package
# #
# First get some info # First get some info
$fullname =~ s,/+$,,; # Remove ending slash if any
$fullname =~ /^((mysql)-.+)-([\d\.]+)-.+$/ $fullname =~ /^((mysql)-\w+-?\w+?)-([\d\.]+\w?)-.+$/
or die "This name is not what I expected - \"$fullname\""; or die "This name is not what I expected - \"$fullname\"";
$default{"name"}= $2; $default{"name"}= $2;
...@@ -137,10 +136,11 @@ system ("gzip /tmp/$packagename"); ...@@ -137,10 +136,11 @@ system ("gzip /tmp/$packagename");
# Clean-up the spool area # Clean-up the spool area
system ("(cd /var/spool/pkg; rm -rf $pkg)"); system ("(cd /var/spool/pkg; rm -rf $pkg)");
# Clean-up the ~/packaging/ area # Clean-up the ~/packaging/ area
system ("(rm -rf mysql*)");
unlink $pkginfo; unlink $pkginfo;
unlink $prototype; unlink $prototype;
system ("mv /tmp/${packagename}.gz $pkgdir"); chdir $parent_workdir or die "Can't change to parent workdir '$parent_workdir': $!\n";
system ("rm -rf $workdir") == 0 or die "Can't remove the working dir: $!\n";
system ("mv /tmp/${packagename}.gz $pkgdir") == 0 or die "Can't move the finished package out of /tmp: $!\n";
print "Done. (~/$hostname/$packagename.gz)\n"; print "Done. (~/$hostname/$packagename.gz)\n";
# The subroutines # The subroutines
sub chkvar { sub chkvar {
......
...@@ -51,8 +51,8 @@ BSC32=bscmake.exe ...@@ -51,8 +51,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=link.exe LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /out:"..\tests\mysql_client_test.exe" /incremental:yes /libpath:"..\lib_debug\" /debug /pdb:".\Debug\mysql_client_test.pdb" /pdbtype:sept /map:".\Debug\mysql_client_test.map" /subsystem:console # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /out:"..\mysql_client_test.exe" /incremental:yes /libpath:"..\lib_debug\" /debug /pdb:".\Debug\mysql_client_test.pdb" /pdbtype:sept /map:".\Debug\mysql_client_test.map" /subsystem:console
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /out:"..\tests\mysql_client_test.exe" /incremental:yes /libpath:"..\lib_debug\" /debug /pdb:".\Debug\mysql_client_test.pdb" /pdbtype:sept /map:".\Debug\mysql_client_test.map" /subsystem:console # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /out:"..\mysql_client_test.exe" /incremental:yes /libpath:"..\lib_debug\" /debug /pdb:".\Debug\mysql_client_test.pdb" /pdbtype:sept /map:".\Debug\mysql_client_test.map" /subsystem:console
!ELSEIF "$(CFG)" == "mysql_client_test - Win32 Release" !ELSEIF "$(CFG)" == "mysql_client_test - Win32 Release"
...@@ -76,8 +76,8 @@ BSC32=bscmake.exe ...@@ -76,8 +76,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=link.exe LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /out:"..\tests\mysql_client_test.exe" /incremental:no /pdb:".\Release\mysql_client_test.pdb" /pdbtype:sept /subsystem:console # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /out:"..\mysql_client_test.exe" /incremental:no /pdb:".\Release\mysql_client_test.pdb" /pdbtype:sept /subsystem:console
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /out:"..\tests\mysql_client_test.exe" /incremental:no /pdb:".\Release\mysql_client_test.pdb" /pdbtype:sept /subsystem:console # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /out:"..\mysql_client_test.exe" /incremental:no /pdb:".\Release\mysql_client_test.pdb" /pdbtype:sept /subsystem:console
!ENDIF !ENDIF
...@@ -87,7 +87,7 @@ LINK32=link.exe ...@@ -87,7 +87,7 @@ LINK32=link.exe
# Name "mysql_client_test - Win32 Release" # Name "mysql_client_test - Win32 Release"
# Begin Source File # Begin Source File
SOURCE=tests\mysql_client_test.c SOURCE=mysql_client_test.c
# End Source File # End Source File
# End Target # End Target
# End Project # End Project
......
...@@ -48,16 +48,16 @@ BSC32=bscmake.exe ...@@ -48,16 +48,16 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=link.exe LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /out:"..\tests\mysql_client_test.exe" /machine:IA64 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /out:"..\mysql_client_test.exe" /machine:IA64
# SUBTRACT BASE LINK32 /pdb:none # SUBTRACT BASE LINK32 /pdb:none
# ADD LINK32 ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib bufferoverflowU.lib /nologo /subsystem:console /nodefaultlib /out:"..\tests\mysql_client_test.exe" /machine:IA64 /machine:IA64 # ADD LINK32 ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib bufferoverflowU.lib /nologo /subsystem:console /nodefaultlib /out:"..\mysql_client_test.exe" /machine:IA64 /machine:IA64
# SUBTRACT LINK32 /pdb:none # SUBTRACT LINK32 /pdb:none
# Begin Target # Begin Target
# Name "mysql_client_test - WinIA64 Release" # Name "mysql_client_test - WinIA64 Release"
# Begin Source File # Begin Source File
SOURCE=tests\mysql_client_test.c SOURCE=mysql_client_test.c
DEP_CPP_MYSQL=\ DEP_CPP_MYSQL=\
"..\include\config-netware.h"\ "..\include\config-netware.h"\
"..\include\config-os2.h"\ "..\include\config-os2.h"\
......
...@@ -161,7 +161,7 @@ sub mtr_report_stats ($) { ...@@ -161,7 +161,7 @@ sub mtr_report_stats ($) {
{ {
my $ratio= $tot_passed * 100 / $tot_tests; my $ratio= $tot_passed * 100 / $tot_tests;
printf "Failed $tot_failed/$tot_tests tests, " . printf "Failed $tot_failed/$tot_tests tests, " .
"%.2f\% successful.\n\n", $ratio; "%.2f\% were successful.\n\n", $ratio;
print print
"The log files in var/log may give you some hint\n", "The log files in var/log may give you some hint\n",
"of what when wrong.\n", "of what when wrong.\n",
......
...@@ -861,7 +861,7 @@ report_stats () { ...@@ -861,7 +861,7 @@ report_stats () {
whole=`$PRINTF %.2s $raw` whole=`$PRINTF %.2s $raw`
xwhole=`$EXPR $whole \* 100` xwhole=`$EXPR $whole \* 100`
deci=`$EXPR $raw - $xwhole` deci=`$EXPR $raw - $xwhole`
$ECHO "Failed ${TOT_FAIL}/${TOT_TEST} tests, ${whole}.${deci}% successful." $ECHO "Failed ${TOT_FAIL}/${TOT_TEST} tests, ${whole}.${deci}% were successful."
$ECHO "" $ECHO ""
$ECHO "The log files in $MY_LOG_DIR may give you some hint" $ECHO "The log files in $MY_LOG_DIR may give you some hint"
$ECHO "of what when wrong." $ECHO "of what when wrong."
......
...@@ -677,6 +677,26 @@ id select_type table type possible_keys key key_len ref rows Extra ...@@ -677,6 +677,26 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t3 ALL NULL NULL NULL NULL 2 1 SIMPLE t3 ALL NULL NULL NULL NULL 2
drop table t1, t2, t3; drop table t1, t2, t3;
create table t1 ( create table t1 (
a int(11),
b char(10),
key (a)
);
insert into t1 (a) values (1),(2),(3),(4);
create table t2 (a int);
select * from t1 left join t2 on t1.a=t2.a where not (t2.a <=> t1.a);
a b a
1 NULL NULL
2 NULL NULL
3 NULL NULL
4 NULL NULL
select * from t1 left join t2 on t1.a=t2.a having not (t2.a <=> t1.a);
a b a
1 NULL NULL
2 NULL NULL
3 NULL NULL
4 NULL NULL
drop table t1,t2;
create table t1 (
match_id tinyint(3) unsigned not null auto_increment, match_id tinyint(3) unsigned not null auto_increment,
home tinyint(3) unsigned default '0', home tinyint(3) unsigned default '0',
unique key match_id (match_id), unique key match_id (match_id),
......
...@@ -957,3 +957,24 @@ drop table t1; ...@@ -957,3 +957,24 @@ drop table t1;
select table_name from information_schema.tables select table_name from information_schema.tables
where table_schema="test"; where table_schema="test";
table_name table_name
set global query_cache_size=1024*1024;
flush query cache;
create table t1 ( a int );
insert into t1 values (1);
select a from t1;
a
1
select a from t1;
a
1
show status like 'qcache_queries_in_cache';
Variable_name Value
Qcache_queries_in_cache 1
repair table t1;
Table Op Msg_type Msg_text
test.t1 repair status OK
show status like 'qcache_queries_in_cache';
Variable_name Value
Qcache_queries_in_cache 0
drop table t1;
set GLOBAL query_cache_size=0;
...@@ -457,6 +457,19 @@ explain select * from t1 left join t2 on b1 = a1 left join t3 on c1 = a1 an ...@@ -457,6 +457,19 @@ explain select * from t1 left join t2 on b1 = a1 left join t3 on c1 = a1 an
drop table t1, t2, t3; drop table t1, t2, t3;
# Test for BUG#8711 '<=>' was considered to be a NULL-rejecting predicate.
create table t1 (
a int(11),
b char(10),
key (a)
);
insert into t1 (a) values (1),(2),(3),(4);
create table t2 (a int);
select * from t1 left join t2 on t1.a=t2.a where not (t2.a <=> t1.a);
select * from t1 left join t2 on t1.a=t2.a having not (t2.a <=> t1.a);
drop table t1,t2;
# Test for BUG#5088 # Test for BUG#5088
create table t1 ( create table t1 (
......
...@@ -697,3 +697,16 @@ where table_schema="test"; ...@@ -697,3 +697,16 @@ where table_schema="test";
drop table t1; drop table t1;
select table_name from information_schema.tables select table_name from information_schema.tables
where table_schema="test"; where table_schema="test";
# Bug #8480: REPAIR TABLE needs to flush the table from the query cache
set global query_cache_size=1024*1024;
flush query cache;
create table t1 ( a int );
insert into t1 values (1);
select a from t1;
select a from t1;
show status like 'qcache_queries_in_cache';
repair table t1;
show status like 'qcache_queries_in_cache';
drop table t1;
set GLOBAL query_cache_size=0;
...@@ -15,13 +15,26 @@ DIRNAME="" ...@@ -15,13 +15,26 @@ DIRNAME=""
OUTTAR="0" OUTTAR="0"
OUTZIP="0" OUTZIP="0"
#
# An "abort" function taking a variable number of strings (one per line)
#
abort()
{
for line
do
echo "$line"
done
exit 1
}
# #
# This script must run from MySQL top directory # This script must run from MySQL top directory
# #
if [ ! -f scripts/make_win_src_distribution ]; then if [ ! -f scripts/make_win_src_distribution ]; then
echo "ERROR : You must run this script from the MySQL top-level directory" abort "ERROR : You must run this script from the MySQL top-level directory"
exit 1
fi fi
SOURCE=`pwd` SOURCE=`pwd`
...@@ -30,9 +43,8 @@ SOURCE=`pwd` ...@@ -30,9 +43,8 @@ SOURCE=`pwd`
# #
if [ ! -f sql/sql_yacc.cc ]; then if [ ! -f sql/sql_yacc.cc ]; then
echo "ERROR : Sorry, you must run this script after the complete build," abort "ERROR : Sorry, you must run this script after the complete build," \
echo " hope you know what you are trying to do !!" " hope you know what you are trying to do !!"
exit 1
fi fi
# #
...@@ -86,9 +98,7 @@ parse_arguments() { ...@@ -86,9 +98,7 @@ parse_arguments() {
--tar) OUTTAR=1 ;; --tar) OUTTAR=1 ;;
--zip) OUTZIP=1 ;; --zip) OUTZIP=1 ;;
--help) show_usage ;; --help) show_usage ;;
*) *) abort "Unknown argument '$arg'"
echo "Unknown argument '$arg'"
exit 1
;; ;;
esac esac
done done
...@@ -138,6 +148,7 @@ if [ -d $BASE ] ; then ...@@ -138,6 +148,7 @@ if [ -d $BASE ] ; then
fi fi
$CP -r $SOURCE/VC++Files $BASE $CP -r $SOURCE/VC++Files $BASE
# This includes an implicit 'mkdir $BASE' !
# #
# Process version tags in InstallShield files # Process version tags in InstallShield files
...@@ -312,8 +323,13 @@ do ...@@ -312,8 +323,13 @@ do
print_debug "Copying directory '$i'" print_debug "Copying directory '$i'"
if [ -d $i ] if [ -d $i ]
then then
if [ -d $BASE/$i ]
then
$CP -R $i $BASE
else
$CP -R $i $BASE/$i $CP -R $i $BASE/$i
fi fi
fi
done done
# #
......
...@@ -194,6 +194,15 @@ parse_arguments `$print_defaults $defaults --loose-verbose mysqld_safe safe_mysq ...@@ -194,6 +194,15 @@ parse_arguments `$print_defaults $defaults --loose-verbose mysqld_safe safe_mysq
parse_arguments PICK-ARGS-FROM-ARGV "$@" parse_arguments PICK-ARGS-FROM-ARGV "$@"
safe_mysql_unix_port=${mysql_unix_port:-${MYSQL_UNIX_PORT:-@MYSQL_UNIX_ADDR@}} safe_mysql_unix_port=${mysql_unix_port:-${MYSQL_UNIX_PORT:-@MYSQL_UNIX_ADDR@}}
# Make sure that directory for $safe_mysql_unix_port exists
mysql_unix_port_dir=`dirname $safe_mysql_unix_port`
if [ ! -d $mysql_unix_port_dir ]
then
mkdir $mysql_unix_port_dir
chown $user $mysql_unix_port_dir
fi
if test ! -x $ledir/$MYSQLD if test ! -x $ledir/$MYSQLD
then then
echo "The file $ledir/$MYSQLD doesn't exist or is not executable" echo "The file $ledir/$MYSQLD doesn't exist or is not executable"
......
...@@ -323,6 +323,7 @@ class Item_func_equal :public Item_bool_rowready_func2 ...@@ -323,6 +323,7 @@ class Item_func_equal :public Item_bool_rowready_func2
Item_func_equal(Item *a,Item *b) :Item_bool_rowready_func2(a,b) {}; Item_func_equal(Item *a,Item *b) :Item_bool_rowready_func2(a,b) {};
longlong val_int(); longlong val_int();
void fix_length_and_dec(); void fix_length_and_dec();
table_map not_null_tables() const { return 0; }
enum Functype functype() const { return EQUAL_FUNC; } enum Functype functype() const { return EQUAL_FUNC; }
enum Functype rev_functype() const { return EQUAL_FUNC; } enum Functype rev_functype() const { return EQUAL_FUNC; }
cond_result eq_cmp_result() const { return COND_TRUE; } cond_result eq_cmp_result() const { return COND_TRUE; }
......
...@@ -2144,7 +2144,9 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables, ...@@ -2144,7 +2144,9 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables,
thd->exit_cond(old_message); thd->exit_cond(old_message);
if (thd->killed) if (thd->killed)
goto err; goto err;
open_for_modify=0; /* Flush entries in the query cache involving this table. */
query_cache_invalidate3(thd, table->table, 0);
open_for_modify= 0;
} }
result_code = (table->table->file->*operator_func)(thd, check_opt); result_code = (table->table->file->*operator_func)(thd, check_opt);
......
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