Commit d13af06b authored by unknown's avatar unknown

Merge pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint

into  pilot.blaudden:/home/msvensson/mysql/mysql-5.1-maint


BitKeeper/etc/ignore:
  auto-union
scripts/Makefile.am:
  Auto merged
sql/mysql_priv.h:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~1:
  Auto merged
client/mysql_upgrade.c:
  Use remote
mysql-test/r/mysql_upgrade.result:
  Use remote
Makefile.am:
  Merge "build scripts/ a little earlier"
include/my_global.h:
  Merge
parents 76091b91 1b6c2b4c
...@@ -1805,6 +1805,7 @@ repl-tests/test-repl/sum-wlen-slave.master.re ...@@ -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 ...@@ -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 ...@@ -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@ \
......
This diff is collapsed.
...@@ -77,6 +77,13 @@ ...@@ -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
......
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 ...@@ -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 ...@@ -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 @@ ...@@ -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
# 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
--echo Force should run it regardless of wheter it's been run before DROP USER mysqltest1@'%';
--exec $MYSQL_UPGRADE --force 2> $MYSQLTEST_VARDIR/log/mysql_upgrade.err
#
# 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
# 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 ...@@ -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.%
/* 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); ...@@ -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); ...@@ -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
......
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