summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2005-03-12 20:17:16 +0100
committerunknown <serg@serg.mylan>2005-03-12 20:17:16 +0100
commitdeabb45081c2430ea7aa549ec46f6cd5cb0868d9 (patch)
treedad878b0f3e0f7dee23f338701ccb1b159c71f2d
parent6b98e786e61cb60ba591a42f77475def25e51e21 (diff)
parentfe482074d9b28ddbdca45a06f7532b651512dbc0 (diff)
downloadmariadb-git-deabb45081c2430ea7aa549ec46f6cd5cb0868d9.tar.gz
Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0 sql/mysql_priv.h: Auto merged
-rwxr-xr-xBuild-tools/Do-compile6
-rw-r--r--VC++Files/tests/mysql_client_test.dsp10
-rw-r--r--VC++Files/tests/mysql_client_test_ia64.dsp6
-rw-r--r--mysql-test/include/system_db_struct.inc1
-rw-r--r--mysql-test/lib/mtr_report.pl2
-rw-r--r--mysql-test/mysql-test-run.sh2
-rw-r--r--mysql-test/r/information_schema.result2
-rw-r--r--mysql-test/r/query_cache.result22
-rw-r--r--mysql-test/r/system_mysql_db.result21
-rw-r--r--mysql-test/t/query_cache.test14
-rw-r--r--scripts/make_win_src_distribution.sh34
-rw-r--r--scripts/mysql_create_system_tables.sh12
-rw-r--r--scripts/mysql_fix_privilege_tables.sql46
-rw-r--r--scripts/mysqld_safe.sh9
-rw-r--r--sql/mysql_priv.h4
-rw-r--r--sql/sql_table.cc4
16 files changed, 168 insertions, 27 deletions
diff --git a/Build-tools/Do-compile b/Build-tools/Do-compile
index c7cba7f967f..0cd782c023e 100755
--- a/Build-tools/Do-compile
+++ b/Build-tools/Do-compile
@@ -394,13 +394,13 @@ if ($opt_stage <= 5 && !$opt_no_test && !$opt_no_mysqltest)
info("Running test suite");
system("mkdir $bench_tmpdir") if (! -d $bench_tmpdir);
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)
{
log_timestamp();
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)
@@ -409,7 +409,7 @@ if ($opt_stage <= 5 && !$opt_no_test && !$opt_no_mysqltest)
info("Running embedded server test suite");
# Embedded server and NDB don't jive
$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.
}
diff --git a/VC++Files/tests/mysql_client_test.dsp b/VC++Files/tests/mysql_client_test.dsp
index 3d1e6728181..14873c8a94c 100644
--- a/VC++Files/tests/mysql_client_test.dsp
+++ b/VC++Files/tests/mysql_client_test.dsp
@@ -51,8 +51,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
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 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:"..\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"
@@ -76,8 +76,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
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 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:"..\mysql_client_test.exe" /incremental:no /pdb:".\Release\mysql_client_test.pdb" /pdbtype:sept /subsystem:console
!ENDIF
@@ -87,7 +87,7 @@ LINK32=link.exe
# Name "mysql_client_test - Win32 Release"
# Begin Source File
-SOURCE=tests\mysql_client_test.c
+SOURCE=mysql_client_test.c
# End Source File
# End Target
# End Project
diff --git a/VC++Files/tests/mysql_client_test_ia64.dsp b/VC++Files/tests/mysql_client_test_ia64.dsp
index 6b4f29ed59f..f9dfbe5f027 100644
--- a/VC++Files/tests/mysql_client_test_ia64.dsp
+++ b/VC++Files/tests/mysql_client_test_ia64.dsp
@@ -48,16 +48,16 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
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
-# 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
# Begin Target
# Name "mysql_client_test - WinIA64 Release"
# Begin Source File
-SOURCE=tests\mysql_client_test.c
+SOURCE=mysql_client_test.c
DEP_CPP_MYSQL=\
"..\include\config-netware.h"\
"..\include\config-os2.h"\
diff --git a/mysql-test/include/system_db_struct.inc b/mysql-test/include/system_db_struct.inc
index e24c8f3311d..c66590b2fd8 100644
--- a/mysql-test/include/system_db_struct.inc
+++ b/mysql-test/include/system_db_struct.inc
@@ -11,3 +11,4 @@ show create table func;
show create table tables_priv;
show create table columns_priv;
show create table procs_priv;
+show create table proc;
diff --git a/mysql-test/lib/mtr_report.pl b/mysql-test/lib/mtr_report.pl
index 3729ff512ee..9947fed9d27 100644
--- a/mysql-test/lib/mtr_report.pl
+++ b/mysql-test/lib/mtr_report.pl
@@ -161,7 +161,7 @@ sub mtr_report_stats ($) {
{
my $ratio= $tot_passed * 100 / $tot_tests;
printf "Failed $tot_failed/$tot_tests tests, " .
- "%.2f\% successful.\n\n", $ratio;
+ "%.2f\% were successful.\n\n", $ratio;
print
"The log files in var/log may give you some hint\n",
"of what when wrong.\n",
diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh
index 0e60ab4d6fc..afed2e2ac84 100644
--- a/mysql-test/mysql-test-run.sh
+++ b/mysql-test/mysql-test-run.sh
@@ -861,7 +861,7 @@ report_stats () {
whole=`$PRINTF %.2s $raw`
xwhole=`$EXPR $whole \* 100`
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 "The log files in $MY_LOG_DIR may give you some hint"
$ECHO "of what when wrong."
diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result
index e1270168493..e65924bfcbe 100644
--- a/mysql-test/r/information_schema.result
+++ b/mysql-test/r/information_schema.result
@@ -505,7 +505,7 @@ proc body blob
proc definer char(77)
proc created timestamp
proc modified timestamp
-proc sql_mode set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO')
+proc sql_mode set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE')
proc comment char(64)
drop table t115;
create procedure p108 () begin declare c cursor for select data_type
diff --git a/mysql-test/r/query_cache.result b/mysql-test/r/query_cache.result
index 3568be8cc12..6863534b2d8 100644
--- a/mysql-test/r/query_cache.result
+++ b/mysql-test/r/query_cache.result
@@ -957,3 +957,25 @@ drop table t1;
select table_name from information_schema.tables
where table_schema="test";
table_name
+SET SESSION query_cache_type = 1;
+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;
diff --git a/mysql-test/r/system_mysql_db.result b/mysql-test/r/system_mysql_db.result
index 930acf68706..532f0eca014 100644
--- a/mysql-test/r/system_mysql_db.result
+++ b/mysql-test/r/system_mysql_db.result
@@ -154,5 +154,26 @@ procs_priv CREATE TABLE `procs_priv` (
PRIMARY KEY (`Host`,`Db`,`User`,`Routine_name`),
KEY `Grantor` (`Grantor`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Procedure privileges'
+show create table proc;
+Table Create Table
+proc CREATE TABLE `proc` (
+ `db` char(64) character set latin1 collate latin1_bin NOT NULL default '',
+ `name` char(64) NOT NULL default '',
+ `type` enum('FUNCTION','PROCEDURE') NOT NULL default 'FUNCTION',
+ `specific_name` char(64) NOT NULL default '',
+ `language` enum('SQL') NOT NULL default 'SQL',
+ `sql_data_access` enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') NOT NULL default 'CONTAINS_SQL',
+ `is_deterministic` enum('YES','NO') NOT NULL default 'NO',
+ `security_type` enum('INVOKER','DEFINER') NOT NULL default 'DEFINER',
+ `param_list` blob NOT NULL,
+ `returns` char(64) NOT NULL default '',
+ `body` blob NOT NULL,
+ `definer` char(77) character set latin1 collate latin1_bin NOT NULL default '',
+ `created` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+ `modified` timestamp NOT NULL default '0000-00-00 00:00:00',
+ `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') NOT NULL default '',
+ `comment` char(64) character set latin1 collate latin1_bin NOT NULL default '',
+ PRIMARY KEY (`db`,`name`,`type`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Stored Procedures'
show tables;
Tables_in_test
diff --git a/mysql-test/t/query_cache.test b/mysql-test/t/query_cache.test
index 26f939582e5..6a3d22d2695 100644
--- a/mysql-test/t/query_cache.test
+++ b/mysql-test/t/query_cache.test
@@ -697,3 +697,17 @@ where table_schema="test";
drop table t1;
select table_name from information_schema.tables
where table_schema="test";
+# Bug #8480: REPAIR TABLE needs to flush the table from the query cache
+SET SESSION query_cache_type = 1;
+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;
diff --git a/scripts/make_win_src_distribution.sh b/scripts/make_win_src_distribution.sh
index 101007554a3..efcbeffeb11 100644
--- a/scripts/make_win_src_distribution.sh
+++ b/scripts/make_win_src_distribution.sh
@@ -16,12 +16,25 @@ OUTTAR="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
#
if [ ! -f scripts/make_win_src_distribution ]; then
- echo "ERROR : You must run this script from the MySQL top-level directory"
- exit 1
+ abort "ERROR : You must run this script from the MySQL top-level directory"
fi
SOURCE=`pwd`
@@ -30,9 +43,8 @@ SOURCE=`pwd`
#
if [ ! -f sql/sql_yacc.cc ]; then
- echo "ERROR : Sorry, you must run this script after the complete build,"
- echo " hope you know what you are trying to do !!"
- exit 1
+ abort "ERROR : Sorry, you must run this script after the complete build," \
+ " hope you know what you are trying to do !!"
fi
#
@@ -86,9 +98,7 @@ parse_arguments() {
--tar) OUTTAR=1 ;;
--zip) OUTZIP=1 ;;
--help) show_usage ;;
- *)
- echo "Unknown argument '$arg'"
- exit 1
+ *) abort "Unknown argument '$arg'"
;;
esac
done
@@ -138,6 +148,7 @@ if [ -d $BASE ] ; then
fi
$CP -r $SOURCE/VC++Files $BASE
+# This includes an implicit 'mkdir $BASE' !
#
# Process version tags in InstallShield files
@@ -312,7 +323,12 @@ do
print_debug "Copying directory '$i'"
if [ -d $i ]
then
- $CP -R $i $BASE/$i
+ if [ -d $BASE/$i ]
+ then
+ $CP -R $i $BASE
+ else
+ $CP -R $i $BASE/$i
+ fi
fi
done
diff --git a/scripts/mysql_create_system_tables.sh b/scripts/mysql_create_system_tables.sh
index ea4c85d7a2c..d87113d3656 100644
--- a/scripts/mysql_create_system_tables.sh
+++ b/scripts/mysql_create_system_tables.sh
@@ -702,7 +702,17 @@ then
c_p="$c_p 'MYSQL323',"
c_p="$c_p 'MYSQL40',"
c_p="$c_p 'ANSI',"
- c_p="$c_p 'NO_AUTO_VALUE_ON_ZERO'"
+ c_p="$c_p 'NO_AUTO_VALUE_ON_ZERO',"
+ c_p="$c_p 'NO_BACKSLASH_ESCAPES',"
+ c_p="$c_p 'STRICT_TRANS_TABLES',"
+ c_p="$c_p 'STRICT_ALL_TABLES',"
+ c_p="$c_p 'NO_ZERO_IN_DATE',"
+ c_p="$c_p 'NO_ZERO_DATE',"
+ c_p="$c_p 'INVALID_DATES',"
+ c_p="$c_p 'ERROR_FOR_DIVISION_BY_ZERO',"
+ c_p="$c_p 'TRADITIONAL',"
+ c_p="$c_p 'NO_AUTO_CREATE_USER',"
+ c_p="$c_p 'HIGH_NOT_PRECEDENCE'"
c_p="$c_p ) DEFAULT 0 NOT NULL,"
c_p="$c_p comment char(64) binary DEFAULT '' NOT NULL,"
c_p="$c_p PRIMARY KEY (db,name,type)"
diff --git a/scripts/mysql_fix_privilege_tables.sql b/scripts/mysql_fix_privilege_tables.sql
index e8012ecc03a..2310e8d0bef 100644
--- a/scripts/mysql_fix_privilege_tables.sql
+++ b/scripts/mysql_fix_privilege_tables.sql
@@ -422,7 +422,17 @@ CREATE TABLE IF NOT EXISTS proc (
'MYSQL323',
'MYSQL40',
'ANSI',
- 'NO_AUTO_VALUE_ON_ZERO'
+ 'NO_AUTO_VALUE_ON_ZERO',
+ 'NO_BACKSLASH_ESCAPES',
+ 'STRICT_TRANS_TABLES',
+ 'STRICT_ALL_TABLES',
+ 'NO_ZERO_IN_DATE',
+ 'NO_ZERO_DATE',
+ 'INVALID_DATES',
+ 'ERROR_FOR_DIVISION_BY_ZERO',
+ 'TRADITIONAL',
+ 'NO_AUTO_CREATE_USER',
+ 'HIGH_NOT_PRECEDENCE'
) DEFAULT 0 NOT NULL,
comment char(64) binary DEFAULT '' NOT NULL,
PRIMARY KEY (db,name,type)
@@ -436,4 +446,36 @@ ALTER TABLE proc MODIFY name char(64) DEFAULT '' NOT NULL,
'NO_SQL',
'READS_SQL_DATA',
'MODIFIES_SQL_DATA'
- ) DEFAULT 'CONTAINS_SQL' NOT NULL;
+ ) DEFAULT 'CONTAINS_SQL' NOT NULL,
+ MODIFY sql_mode
+ set('REAL_AS_FLOAT',
+ 'PIPES_AS_CONCAT',
+ 'ANSI_QUOTES',
+ 'IGNORE_SPACE',
+ 'NOT_USED',
+ 'ONLY_FULL_GROUP_BY',
+ 'NO_UNSIGNED_SUBTRACTION',
+ 'NO_DIR_IN_CREATE',
+ 'POSTGRESQL',
+ 'ORACLE',
+ 'MSSQL',
+ 'DB2',
+ 'MAXDB',
+ 'NO_KEY_OPTIONS',
+ 'NO_TABLE_OPTIONS',
+ 'NO_FIELD_OPTIONS',
+ 'MYSQL323',
+ 'MYSQL40',
+ 'ANSI',
+ 'NO_AUTO_VALUE_ON_ZERO',
+ 'NO_BACKSLASH_ESCAPES',
+ 'STRICT_TRANS_TABLES',
+ 'STRICT_ALL_TABLES',
+ 'NO_ZERO_IN_DATE',
+ 'NO_ZERO_DATE',
+ 'INVALID_DATES',
+ 'ERROR_FOR_DIVISION_BY_ZERO',
+ 'TRADITIONAL',
+ 'NO_AUTO_CREATE_USER',
+ 'HIGH_NOT_PRECEDENCE'
+ ) DEFAULT 0 NOT NULL;
diff --git a/scripts/mysqld_safe.sh b/scripts/mysqld_safe.sh
index e38127ffd8e..10983d2850f 100644
--- a/scripts/mysqld_safe.sh
+++ b/scripts/mysqld_safe.sh
@@ -194,6 +194,15 @@ parse_arguments `$print_defaults $defaults --loose-verbose mysqld_safe safe_mysq
parse_arguments PICK-ARGS-FROM-ARGV "$@"
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
then
echo "The file $ledir/$MYSQLD doesn't exist or is not executable"
diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h
index e43ec502da0..abc4dac4a8a 100644
--- a/sql/mysql_priv.h
+++ b/sql/mysql_priv.h
@@ -299,6 +299,10 @@ extern CHARSET_INFO *national_charset_info, *table_alias_charset;
use strictly more than 64 bits by adding one more define above, you should
contact the replication team because the replication code should then be
updated (to store more bytes on disk).
+
+ NOTE: When adding new SQL_MODE types, make sure to also add them to
+ ../scripts/mysql_create_system_tables.sh and
+ ../scripts/mysql_fix_privilege_tables.sql
*/
#define RAID_BLOCK_SIZE 1024
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index 31a1f51b085..2f872b2ad05 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -2144,7 +2144,9 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables,
thd->exit_cond(old_message);
if (thd->killed)
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);