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
|
||||
replace/*.ds?
|
||||
replace/*.vcproj
|
||||
scripts/comp_sql
|
||||
scripts/fill_func_tables
|
||||
scripts/fill_func_tables.sql
|
||||
scripts/fill_help_tables
|
||||
@ -1822,6 +1823,7 @@ scripts/mysql_find_rows
|
||||
scripts/mysql_fix_extensions
|
||||
scripts/mysql_fix_privilege_tables
|
||||
scripts/mysql_fix_privilege_tables.sql
|
||||
scripts/mysql_fix_privilege_tables_sql.c
|
||||
scripts/mysql_install_db
|
||||
scripts/mysql_secure_installation
|
||||
scripts/mysql_setpermission
|
||||
|
@ -21,9 +21,9 @@ AUTOMAKE_OPTIONS = foreign
|
||||
EXTRA_DIST = INSTALL-SOURCE INSTALL-WIN-SOURCE \
|
||||
README COPYING EXCEPTIONS-CLIENT CMakeLists.txt
|
||||
SUBDIRS = . include @docs_dirs@ @zlib_dir@ \
|
||||
@readline_topdir@ sql-common \
|
||||
@readline_topdir@ sql-common scripts \
|
||||
@thread_dirs@ pstack \
|
||||
@sql_union_dirs@ unittest storage plugin \
|
||||
@sql_union_dirs@ scripts unittest storage plugin \
|
||||
@sql_server@ scripts @man_dirs@ tests \
|
||||
netware @libmysqld_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 /* _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
|
||||
#ifdef WITH_NDB_BINLOG
|
||||
#define HAVE_NDB_BINLOG 1
|
||||
|
@ -1,20 +1,14 @@
|
||||
Run mysql_upgrade once
|
||||
mysql.columns_priv OK
|
||||
mysql.db OK
|
||||
mysql.event OK
|
||||
mysql.func OK
|
||||
mysql.general_log OK
|
||||
mysql.help_category OK
|
||||
mysql.help_keyword OK
|
||||
mysql.help_relation OK
|
||||
mysql.help_topic OK
|
||||
mysql.host OK
|
||||
mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
mysql.time_zone 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_type 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
|
||||
@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
|
||||
Force should run it regardless of wheter it's been run before
|
||||
This installation of MySQL is already upgraded to VERSION, use --force if you still need to run mysql_upgrade
|
||||
Force should run it regardless of wether it's been run before
|
||||
mysql.columns_priv OK
|
||||
mysql.db OK
|
||||
mysql.event OK
|
||||
mysql.func OK
|
||||
mysql.general_log OK
|
||||
mysql.help_category OK
|
||||
mysql.help_keyword OK
|
||||
mysql.help_relation OK
|
||||
mysql.help_topic OK
|
||||
mysql.host OK
|
||||
mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
mysql.time_zone 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_type 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
|
||||
CREATE USER mysqltest1@'%' IDENTIFIED by 'sakila';
|
||||
GRANT ALL ON *.* TO mysqltest1@'%';
|
||||
Run mysql_upgrade with password protected account
|
||||
mysql.columns_priv OK
|
||||
mysql.db OK
|
||||
mysql.func OK
|
||||
mysql.help_category OK
|
||||
mysql.help_keyword OK
|
||||
mysql.help_relation OK
|
||||
mysql.help_topic OK
|
||||
mysql.host OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.tables_priv OK
|
||||
mysql.time_zone OK
|
||||
mysql.time_zone_leap_second OK
|
||||
mysql.time_zone_name OK
|
||||
mysql.time_zone_transition OK
|
||||
mysql.time_zone_transition_type OK
|
||||
mysql.user OK
|
||||
DROP USER mysqltest1@'%';
|
||||
Run mysql_upgrade with a non existing server socket
|
||||
mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket 'var/tmp/no_sock_here' (2) when trying to connect
|
||||
FATAL ERROR: Upgrade failed
|
||||
|
@ -7,17 +7,55 @@
|
||||
select LENGTH("$MYSQL_UPGRADE")>0 as have_mysql_upgrade;
|
||||
--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.
|
||||
#
|
||||
--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
|
||||
--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
|
||||
--exec $MYSQL_UPGRADE --force 2> $MYSQLTEST_VARDIR/log/mysql_upgrade.err
|
||||
# It should have created a file in the MySQL Servers datadir
|
||||
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
|
||||
@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
|
||||
%::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
|
||||
|
||||
#if defined(__WIN__)
|
||||
#define IF_WIN(A,B) (A)
|
||||
#undef FLUSH_TIME
|
||||
#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 QUERY_PRIOR 2
|
||||
#else
|
||||
#define IF_WIN(A,B) (B)
|
||||
#define INTERRUPT_PRIOR 10
|
||||
#define CONNECT_PRIOR 9
|
||||
#define WAIT_PRIOR 8
|
||||
|
Loading…
x
Reference in New Issue
Block a user