Merge pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
into pilot.blaudden:/home/msvensson/mysql/mysql-5.1-maint
This commit is contained in:
commit
01133f8e6f
@ -1805,6 +1805,7 @@ repl-tests/test-repl/sum-wlen-slave.master.re
|
|||||||
repl-tests/test-repl/sum-wlen-slave.master.reje
|
repl-tests/test-repl/sum-wlen-slave.master.reje
|
||||||
replace/*.ds?
|
replace/*.ds?
|
||||||
replace/*.vcproj
|
replace/*.vcproj
|
||||||
|
scripts/comp_sql
|
||||||
scripts/fill_func_tables
|
scripts/fill_func_tables
|
||||||
scripts/fill_func_tables.sql
|
scripts/fill_func_tables.sql
|
||||||
scripts/fill_help_tables
|
scripts/fill_help_tables
|
||||||
@ -1822,6 +1823,7 @@ scripts/mysql_find_rows
|
|||||||
scripts/mysql_fix_extensions
|
scripts/mysql_fix_extensions
|
||||||
scripts/mysql_fix_privilege_tables
|
scripts/mysql_fix_privilege_tables
|
||||||
scripts/mysql_fix_privilege_tables.sql
|
scripts/mysql_fix_privilege_tables.sql
|
||||||
|
scripts/mysql_fix_privilege_tables_sql.c
|
||||||
scripts/mysql_install_db
|
scripts/mysql_install_db
|
||||||
scripts/mysql_secure_installation
|
scripts/mysql_secure_installation
|
||||||
scripts/mysql_setpermission
|
scripts/mysql_setpermission
|
||||||
|
@ -21,9 +21,9 @@ AUTOMAKE_OPTIONS = foreign
|
|||||||
EXTRA_DIST = INSTALL-SOURCE INSTALL-WIN-SOURCE \
|
EXTRA_DIST = INSTALL-SOURCE INSTALL-WIN-SOURCE \
|
||||||
README COPYING EXCEPTIONS-CLIENT CMakeLists.txt
|
README COPYING EXCEPTIONS-CLIENT CMakeLists.txt
|
||||||
SUBDIRS = . include @docs_dirs@ @zlib_dir@ \
|
SUBDIRS = . include @docs_dirs@ @zlib_dir@ \
|
||||||
@readline_topdir@ sql-common \
|
@readline_topdir@ sql-common scripts \
|
||||||
@thread_dirs@ pstack \
|
@thread_dirs@ pstack \
|
||||||
@sql_union_dirs@ unittest storage plugin \
|
@sql_union_dirs@ scripts unittest storage plugin \
|
||||||
@sql_server@ scripts @man_dirs@ tests \
|
@sql_server@ scripts @man_dirs@ tests \
|
||||||
netware @libmysqld_dirs@ \
|
netware @libmysqld_dirs@ \
|
||||||
mysql-test support-files sql-bench @tools_dirs@ \
|
mysql-test support-files sql-bench @tools_dirs@ \
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -77,6 +77,13 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif /* _WIN32... */
|
#endif /* _WIN32... */
|
||||||
|
|
||||||
|
/* Make it easier to add conditionl code for windows */
|
||||||
|
#ifdef __WIN__
|
||||||
|
#define IF_WIN(A,B) (A)
|
||||||
|
#else
|
||||||
|
#define IF_WIN(A,B) (B)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef EMBEDDED_LIBRARY
|
#ifndef EMBEDDED_LIBRARY
|
||||||
#ifdef WITH_NDB_BINLOG
|
#ifdef WITH_NDB_BINLOG
|
||||||
#define HAVE_NDB_BINLOG 1
|
#define HAVE_NDB_BINLOG 1
|
||||||
|
@ -1,20 +1,14 @@
|
|||||||
Run mysql_upgrade once
|
Run mysql_upgrade once
|
||||||
mysql.columns_priv OK
|
mysql.columns_priv OK
|
||||||
mysql.db OK
|
mysql.db OK
|
||||||
mysql.event OK
|
|
||||||
mysql.func OK
|
mysql.func OK
|
||||||
mysql.general_log OK
|
|
||||||
mysql.help_category OK
|
mysql.help_category OK
|
||||||
mysql.help_keyword OK
|
mysql.help_keyword OK
|
||||||
mysql.help_relation OK
|
mysql.help_relation OK
|
||||||
mysql.help_topic OK
|
mysql.help_topic OK
|
||||||
mysql.host OK
|
mysql.host OK
|
||||||
mysql.ndb_binlog_index OK
|
|
||||||
mysql.plugin OK
|
|
||||||
mysql.proc OK
|
mysql.proc OK
|
||||||
mysql.procs_priv OK
|
mysql.procs_priv OK
|
||||||
mysql.servers OK
|
|
||||||
mysql.slow_log OK
|
|
||||||
mysql.tables_priv OK
|
mysql.tables_priv OK
|
||||||
mysql.time_zone OK
|
mysql.time_zone OK
|
||||||
mysql.time_zone_leap_second OK
|
mysql.time_zone_leap_second OK
|
||||||
@ -22,80 +16,19 @@ mysql.time_zone_name OK
|
|||||||
mysql.time_zone_transition OK
|
mysql.time_zone_transition OK
|
||||||
mysql.time_zone_transition_type OK
|
mysql.time_zone_transition_type OK
|
||||||
mysql.user OK
|
mysql.user OK
|
||||||
@hadGrantPriv:=1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
@hadShowDbPriv:=1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
@hadCreateViewPriv:=1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
@hadCreateRoutinePriv:=1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
@hadCreateUserPriv:=1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
@hadEventPriv :=1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
@hadTriggerPriv :=1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
Run it again - should say already completed
|
Run it again - should say already completed
|
||||||
@hadGrantPriv:=1
|
This installation of MySQL is already upgraded to VERSION, use --force if you still need to run mysql_upgrade
|
||||||
1
|
Force should run it regardless of wether it's been run before
|
||||||
1
|
|
||||||
1
|
|
||||||
@hadShowDbPriv:=1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
@hadCreateViewPriv:=1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
@hadCreateRoutinePriv:=1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
@hadCreateUserPriv:=1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
@hadEventPriv :=1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
@hadTriggerPriv :=1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
Force should run it regardless of wheter it's been run before
|
|
||||||
mysql.columns_priv OK
|
mysql.columns_priv OK
|
||||||
mysql.db OK
|
mysql.db OK
|
||||||
mysql.event OK
|
|
||||||
mysql.func OK
|
mysql.func OK
|
||||||
mysql.general_log OK
|
|
||||||
mysql.help_category OK
|
mysql.help_category OK
|
||||||
mysql.help_keyword OK
|
mysql.help_keyword OK
|
||||||
mysql.help_relation OK
|
mysql.help_relation OK
|
||||||
mysql.help_topic OK
|
mysql.help_topic OK
|
||||||
mysql.host OK
|
mysql.host OK
|
||||||
mysql.ndb_binlog_index OK
|
|
||||||
mysql.plugin OK
|
|
||||||
mysql.proc OK
|
mysql.proc OK
|
||||||
mysql.procs_priv OK
|
mysql.procs_priv OK
|
||||||
mysql.servers OK
|
|
||||||
mysql.slow_log OK
|
|
||||||
mysql.tables_priv OK
|
mysql.tables_priv OK
|
||||||
mysql.time_zone OK
|
mysql.time_zone OK
|
||||||
mysql.time_zone_leap_second OK
|
mysql.time_zone_leap_second OK
|
||||||
@ -103,31 +36,27 @@ mysql.time_zone_name OK
|
|||||||
mysql.time_zone_transition OK
|
mysql.time_zone_transition OK
|
||||||
mysql.time_zone_transition_type OK
|
mysql.time_zone_transition_type OK
|
||||||
mysql.user OK
|
mysql.user OK
|
||||||
@hadGrantPriv:=1
|
CREATE USER mysqltest1@'%' IDENTIFIED by 'sakila';
|
||||||
1
|
GRANT ALL ON *.* TO mysqltest1@'%';
|
||||||
1
|
Run mysql_upgrade with password protected account
|
||||||
1
|
mysql.columns_priv OK
|
||||||
@hadShowDbPriv:=1
|
mysql.db OK
|
||||||
1
|
mysql.func OK
|
||||||
1
|
mysql.help_category OK
|
||||||
1
|
mysql.help_keyword OK
|
||||||
@hadCreateViewPriv:=1
|
mysql.help_relation OK
|
||||||
1
|
mysql.help_topic OK
|
||||||
1
|
mysql.host OK
|
||||||
1
|
mysql.proc OK
|
||||||
@hadCreateRoutinePriv:=1
|
mysql.procs_priv OK
|
||||||
1
|
mysql.tables_priv OK
|
||||||
1
|
mysql.time_zone OK
|
||||||
1
|
mysql.time_zone_leap_second OK
|
||||||
@hadCreateUserPriv:=1
|
mysql.time_zone_name OK
|
||||||
1
|
mysql.time_zone_transition OK
|
||||||
1
|
mysql.time_zone_transition_type OK
|
||||||
1
|
mysql.user OK
|
||||||
@hadEventPriv :=1
|
DROP USER mysqltest1@'%';
|
||||||
1
|
Run mysql_upgrade with a non existing server socket
|
||||||
1
|
mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket 'var/tmp/no_sock_here' (2) when trying to connect
|
||||||
1
|
FATAL ERROR: Upgrade failed
|
||||||
@hadTriggerPriv :=1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
|
@ -7,17 +7,55 @@
|
|||||||
select LENGTH("$MYSQL_UPGRADE")>0 as have_mysql_upgrade;
|
select LENGTH("$MYSQL_UPGRADE")>0 as have_mysql_upgrade;
|
||||||
--enable_query_log
|
--enable_query_log
|
||||||
|
|
||||||
|
# Get version of the server so it can be masked out in the
|
||||||
|
# error messages from mysql_upgrade
|
||||||
|
let $VERSION=`select LEFT(version(), 6)`;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Basic test thta we can run mysql_upgrde and that it finds the
|
# Basic test that we can run mysql_upgrde and that it finds the
|
||||||
# expected binaries it uses.
|
# expected binaries it uses.
|
||||||
#
|
#
|
||||||
--echo Run mysql_upgrade once
|
--echo Run mysql_upgrade once
|
||||||
--exec $MYSQL_UPGRADE 2> $MYSQLTEST_VARDIR/log/mysql_upgrade.err
|
--exec $MYSQL_UPGRADE --skip-verbose 2>&1
|
||||||
|
|
||||||
|
# It should have created a file in the MySQL Servers datadir
|
||||||
|
file_exists $MYSQLTEST_VARDIR/master-data/mysql_upgrade_info;
|
||||||
|
|
||||||
--echo Run it again - should say already completed
|
--echo Run it again - should say already completed
|
||||||
--exec $MYSQL_UPGRADE 2> $MYSQLTEST_VARDIR/log/mysql_upgrade.err
|
--replace_result $VERSION VERSION
|
||||||
|
--error 1
|
||||||
|
--exec $MYSQL_UPGRADE --skip-verbose 2>&1
|
||||||
|
|
||||||
--echo Force should run it regardless of wheter it's been run before
|
# It should have created a file in the MySQL Servers datadir
|
||||||
--exec $MYSQL_UPGRADE --force 2> $MYSQLTEST_VARDIR/log/mysql_upgrade.err
|
file_exists $MYSQLTEST_VARDIR/master-data/mysql_upgrade_info;
|
||||||
|
|
||||||
|
--echo Force should run it regardless of wether it's been run before
|
||||||
|
--exec $MYSQL_UPGRADE --skip-verbose --force 2>&1
|
||||||
|
|
||||||
|
# It should have created a file in the MySQL Servers datadir
|
||||||
|
file_exists $MYSQLTEST_VARDIR/master-data/mysql_upgrade_info;
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #25452 mysql_upgrade access denied.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Password protect a root account and run mysql_upgrade
|
||||||
|
|
||||||
|
CREATE USER mysqltest1@'%' IDENTIFIED by 'sakila';
|
||||||
|
GRANT ALL ON *.* TO mysqltest1@'%';
|
||||||
|
--echo Run mysql_upgrade with password protected account
|
||||||
|
--exec $MYSQL_UPGRADE --skip-verbose --force --user=mysqltest1 --password=sakila 2>&1
|
||||||
|
|
||||||
|
DROP USER mysqltest1@'%';
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #26639 mysql_upgrade exits successfully even if external command failed
|
||||||
|
#
|
||||||
|
|
||||||
|
--echo Run mysql_upgrade with a non existing server socket
|
||||||
|
--replace_result $MYSQLTEST_VARDIR var
|
||||||
|
--replace_regex /.*mysqlcheck.*: Got/mysqlcheck: Got/
|
||||||
|
--error 1
|
||||||
|
--exec $MYSQL_UPGRADE --skip-verbose --force --socket=$MYSQLTEST_VARDIR/tmp/no_sock_here 2>&1
|
||||||
|
28
scripts/CMakeLists.txt
Executable file
28
scripts/CMakeLists.txt
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
# Copyright (C) 2006 MySQL AB
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; version 2 of the License.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
|
||||||
|
ADD_EXECUTABLE(comp_sql comp_sql.c)
|
||||||
|
TARGET_LINK_LIBRARIES(comp_sql dbug mysys strings)
|
||||||
|
|
||||||
|
# Build comp_sql - used for embedding SQL in C or C++ programs
|
||||||
|
GET_TARGET_PROPERTY(COMP_SQL_EXE comp_sql LOCATION)
|
||||||
|
|
||||||
|
ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_SOURCE_DIR}/client/mysql_fix_privilege_tables_sql.c
|
||||||
|
COMMAND ${COMP_SQL_EXE}
|
||||||
|
${PROJECT_SOURCE_DIR}/scripts/mysql_fix_privilege_tables.sql
|
||||||
|
${PROJECT_SOURCE_DIR}/client/mysql_fix_privilege_tables_sql.c
|
||||||
|
DEPENDS comp_sql ${PROJECT_SOURCE_DIR}/scripts/mysql_fix_privilege_tables.sql)
|
||||||
|
|
@ -154,5 +154,19 @@ SUFFIXES = .sh
|
|||||||
@CHMOD@ +x $@-t
|
@CHMOD@ +x $@-t
|
||||||
@MV@ $@-t $@
|
@MV@ $@-t $@
|
||||||
|
|
||||||
|
|
||||||
|
BUILT_SOURCES = mysql_fix_privilege_tables_sql.c
|
||||||
|
noinst_PROGRAMS = comp_sql
|
||||||
|
|
||||||
|
#
|
||||||
|
# Build mysql_fix_privilege_tables_sql.c from
|
||||||
|
# mysql_fix_privileges_tables.sql using comp_sql
|
||||||
|
#
|
||||||
|
mysql_fix_privilege_tables_sql.c: comp_sql.c mysql_fix_privilege_tables.sql
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) comp_sql$(EXEEXT)
|
||||||
|
$(top_builddir)/scripts/comp_sql$(EXEEXT) \
|
||||||
|
mysql_fix_privilege_tables.sql $@
|
||||||
|
|
||||||
|
|
||||||
# Don't update the files from bitkeeper
|
# Don't update the files from bitkeeper
|
||||||
%::SCCS/s.%
|
%::SCCS/s.%
|
||||||
|
119
scripts/comp_sql.c
Normal file
119
scripts/comp_sql.c
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
/* Copyright (C) 2004 MySQL AB
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; version 2 of the License.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
|
/*
|
||||||
|
Written by Magnus Svensson
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
Converts a SQL file into a C file that can be compiled and linked
|
||||||
|
into other programs
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
FILE *in, *out;
|
||||||
|
|
||||||
|
static void die(const char *fmt, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
|
||||||
|
/* Print the error message */
|
||||||
|
fprintf(stderr, "FATAL ERROR: ");
|
||||||
|
if (fmt)
|
||||||
|
{
|
||||||
|
va_start(args, fmt);
|
||||||
|
vfprintf(stderr, fmt, args);
|
||||||
|
va_end(args);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
fprintf(stderr, "unknown error");
|
||||||
|
fprintf(stderr, "\n");
|
||||||
|
fflush(stderr);
|
||||||
|
|
||||||
|
/* Close any open files */
|
||||||
|
if (in)
|
||||||
|
fclose(in);
|
||||||
|
if (out)
|
||||||
|
fclose(out);
|
||||||
|
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
char buff[512];
|
||||||
|
char* infile_name= argv[1];
|
||||||
|
char* outfile_name= argv[2];
|
||||||
|
char* end= infile_name;
|
||||||
|
|
||||||
|
if (argc != 3)
|
||||||
|
die("Usage: comp_sql <sql_filename> <c_filename>");
|
||||||
|
|
||||||
|
/* Open input and output file */
|
||||||
|
if (!(in= fopen(infile_name, "r")))
|
||||||
|
die("Failed to open SQL file '%s'", infile_name);
|
||||||
|
if (!(out= fopen(outfile_name, "w")))
|
||||||
|
die("Failed to open output file '%s'", outfile_name);
|
||||||
|
|
||||||
|
while(*end && *end != '.')
|
||||||
|
end++;
|
||||||
|
*end= 0;
|
||||||
|
fprintf(out, "const char* %s={\"\\\n", infile_name);
|
||||||
|
|
||||||
|
while (fgets(buff, sizeof(buff), in))
|
||||||
|
{
|
||||||
|
char *curr= buff;
|
||||||
|
while (*curr)
|
||||||
|
{
|
||||||
|
if (*curr == '\n')
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
Reached end of line, add escaped newline, escaped
|
||||||
|
backslash and a newline to outfile
|
||||||
|
*/
|
||||||
|
fprintf(out, "\\n\\\n");
|
||||||
|
curr++;
|
||||||
|
}
|
||||||
|
else if (*curr == '\r')
|
||||||
|
{
|
||||||
|
curr++; /* Skip */
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (*curr == '"')
|
||||||
|
{
|
||||||
|
/* Needs escape */
|
||||||
|
fputc('\\', out);
|
||||||
|
}
|
||||||
|
|
||||||
|
fputc(*curr, out);
|
||||||
|
curr++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fprintf(out, "\\\n\"};\n");
|
||||||
|
|
||||||
|
fclose(in);
|
||||||
|
fclose(out);
|
||||||
|
|
||||||
|
exit(0);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -263,7 +263,6 @@ MY_LOCALE *my_locale_by_number(uint number);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__WIN__)
|
#if defined(__WIN__)
|
||||||
#define IF_WIN(A,B) (A)
|
|
||||||
#undef FLUSH_TIME
|
#undef FLUSH_TIME
|
||||||
#define FLUSH_TIME 1800 /* Flush every half hour */
|
#define FLUSH_TIME 1800 /* Flush every half hour */
|
||||||
|
|
||||||
@ -272,7 +271,6 @@ MY_LOCALE *my_locale_by_number(uint number);
|
|||||||
#define WAIT_PRIOR 0
|
#define WAIT_PRIOR 0
|
||||||
#define QUERY_PRIOR 2
|
#define QUERY_PRIOR 2
|
||||||
#else
|
#else
|
||||||
#define IF_WIN(A,B) (B)
|
|
||||||
#define INTERRUPT_PRIOR 10
|
#define INTERRUPT_PRIOR 10
|
||||||
#define CONNECT_PRIOR 9
|
#define CONNECT_PRIOR 9
|
||||||
#define WAIT_PRIOR 8
|
#define WAIT_PRIOR 8
|
||||||
|
Loading…
x
Reference in New Issue
Block a user