Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
0f967642
Commit
0f967642
authored
Apr 10, 2006
by
mikael@c-4908e253.1238-1-64736c10.cust.bredbandsbolaget.se
Browse files
Options
Browse Files
Download
Plain Diff
manual merge
parents
bb88aeec
23c05e13
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
681 additions
and
50 deletions
+681
-50
VC++Files/client/mysql_upgrade.dsp
VC++Files/client/mysql_upgrade.dsp
+71
-0
VC++Files/client/mysql_upgrade_ia64.dsp
VC++Files/client/mysql_upgrade_ia64.dsp
+77
-0
VC++Files/mysql.dsw
VC++Files/mysql.dsw
+25
-0
VC++Files/mysql_ia64.dsw
VC++Files/mysql_ia64.dsw
+20
-0
client/Makefile.am
client/Makefile.am
+5
-2
client/mysql_upgrade.c
client/mysql_upgrade.c
+400
-0
mysql-test/r/partition.result
mysql-test/r/partition.result
+17
-0
mysql-test/t/disabled.def
mysql-test/t/disabled.def
+43
-42
mysql-test/t/partition.test
mysql-test/t/partition.test
+15
-0
sql/ha_partition.cc
sql/ha_partition.cc
+8
-6
No files found.
VC++Files/client/mysql_upgrade.dsp
0 → 100644
View file @
0f967642
# Microsoft Developer Studio Project File - Name="mysql_upgrade" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=mysql_upgrade - Win32 Release
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "mysql_upgrade.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "mysql_upgrade.mak" CFG="mysql_upgrade - Win32 Release"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "mysql_upgrade - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "mysql_upgrade___Win32_Release"
# PROP BASE Intermediate_Dir "mysql_upgrade___Win32_Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "mysql_upgrade___Win32_Release"
# PROP Intermediate_Dir "mysql_upgrade___Win32_Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /Fp"Release/mysql_upgrade.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c
# ADD BASE RSC /l 0x416 /d "NDEBUG"
# ADD RSC /l 0x416 /d "NDEBUG"
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 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 mysqlclient.lib wsock32.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 zlib.lib /nologo /subsystem:console /pdb:"release/mysql_upgrade.pdb" /machine:I386 /out:"../client_release/mysql_upgrade.exe" /libpath:"..\lib_release\\"
# SUBTRACT LINK32 /pdb:none
# Begin Target
# Name "mysql_upgrade - Win32 Release"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\mysql_upgrade.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project
VC++Files/client/mysql_upgrade_ia64.dsp
0 → 100644
View file @
0f967642
# Microsoft Developer Studio Project File - Name="mysql_upgrade" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=mysql_upgrade - Win32 Release
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "mysql_upgrade.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "mysql_upgrade.mak" CFG="mysql_upgrade - Win32 Release"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "mysql_upgrade - WinIA64 Release" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "mysql - WinIA64 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "mysql_upgrade___WinIA64_Release"
# PROP BASE Intermediate_Dir "mysql_upgrade___WinIA64_Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "mysql_upgrade___WinIA64_Release"
# PROP Intermediate_Dir "mysql_upgrade___WinIA64_Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MT /W3 /I "../include" /D"NDEBUG" /D"DBUG_OFF" /D"_CONSOLE" /D"_MBCS" /D"_WINDOWS" /Fp"Release/mysql_upgrade.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c /O2 /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600
# ADD BASE RSC /l 0x416 /d "NDEBUG"
# ADD RSC /l 0x416 /d "NDEBUG"
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 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64
# ADD LINK32 mysqlclient.lib wsock32.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 zlib.lib /nologo /subsystem:console /pdb:"release/mysql_upgrade.pdb" /machine:IA64 /out:"../client_release/mysql_upgrade.exe" /libpath:"..\lib_release\\" /incremental:no
# SUBTRACT LINK32
!ENDIF
# Begin Target
# Name "mysql_upgrade - WinIA64 Release"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\mysql_upgrade.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project
VC++Files/mysql.dsw
View file @
0f967642
...
...
@@ -339,6 +339,27 @@ Package=<4>
###############################################################################
Project: "mysql_upgrade"=".\client\mysql_upgrade.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name mysqlclient
End Project Dependency
Begin Project Dependency
Project_Dep_Name zlib
End Project Dependency
Begin Project Dependency
Project_Dep_Name mysys
End Project Dependency
}}}
###############################################################################
Project: "mysqlbinlog"=".\mysqlbinlog\mysqlbinlog.dsp" - Package Owner=<4>
Package=<5>
...
...
@@ -415,6 +436,8 @@ Package=<4>
End Project Dependency
Begin Project Dependency
Project_Dep_Name mysqladmin
Begin Project Dependency
Project_Dep_Name myqsl_upgrade
End Project Dependency
Begin Project Dependency
Project_Dep_Name mysqldump
...
...
@@ -802,6 +825,8 @@ Package=<4>
End Project Dependency
Begin Project Dependency
Project_Dep_Name mysqladmin
Begin Project Dependency
Project_Dep_Name mysql_upgrade
End Project Dependency
Begin Project Dependency
Project_Dep_Name mysql_client_test
...
...
VC++Files/mysql_ia64.dsw
View file @
0f967642
...
...
@@ -436,6 +436,24 @@ Package=<4>
###############################################################################
Project: "mysql_upgrade"=".\client\mysql_upgrade_ia64.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name mysqlclient
End Project Dependency
Begin Project Dependency
Project_Dep_Name zlib
End Project Dependency
}}}
###############################################################################
Project: "mysqlbinlog"=".\mysqlbinlog\mysqlbinlog_ia64.dsp" - Package Owner=<4>
Package=<5>
...
...
@@ -500,6 +518,8 @@ Package=<4>
End Project Dependency
Begin Project Dependency
Project_Dep_Name mysqladmin_ia64
Begin Project Dependency
Project_Dep_Name mysql_upgrade_ia64
End Project Dependency
Begin Project Dependency
Project_Dep_Name mysqldump
...
...
client/Makefile.am
View file @
0f967642
...
...
@@ -39,7 +39,7 @@ LDADD= @CLIENT_EXTRA_LDFLAGS@ $(CLIENT_THREAD_LIBS) \
bin_PROGRAMS
=
mysql mysqladmin mysqlcheck mysqlshow
\
mysqldump mysqlimport mysqltest mysqlbinlog
\
mysqltestmanagerc mysqltestmanager-pwgen
\
mysqlslap
mysqlslap
mysql_upgrade
noinst_HEADERS
=
sql_string.h completion_hash.h my_readline.h
\
client_priv.h
mysql_SOURCES
=
mysql.cc readline.cc sql_string.cc completion_hash.cc
...
...
@@ -72,11 +72,14 @@ mysqlslap_SOURCES= mysqlslap.c \
mysqldump_SOURCES
=
mysqldump.c my_user.c
$(yassl_dummy_link_fix)
mysqlimport_SOURCES
=
mysqlimport.c
\
$(yassl_dummy_link_fix)
mysql_upgrade_SOURCES
=
mysql_upgrade.c
$(yassl_dummy_link_fix)
sql_src
=
log_event.h mysql_priv.h log_event.cc my_decimal.h my_decimal.cc
strings_src
=
decimal.c
# Fix for mit-threads
DEFS
=
-DUNDEF_THREADS_HACK
DEFS
=
-DUNDEF_THREADS_HACK
\
-DDEFAULT_MYSQL_HOME
=
"
\"
$(prefix)
\"
"
\
-DDATADIR
=
"
\"
$(localstatedir)
\"
"
EXTRA_DIST
=
get_password.c cmakelists.txt
link_sources
:
...
...
client/mysql_upgrade.c
0 → 100644
View file @
0f967642
/* Copyright (C) 2000 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; either version 2 of the License, or
(at your option) any later version.
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 */
#include "client_priv.h"
#include <my_dir.h>
static
my_bool
opt_force
=
0
,
opt_verbose
=
0
,
tty_password
=
0
;
static
char
*
user
=
(
char
*
)
"root"
,
*
basedir
=
0
,
*
datadir
=
0
,
*
opt_password
=
0
;
static
my_bool
upgrade_defaults_created
=
0
;
static
my_string
opt_mysql_port
,
opt_mysql_unix_port
=
0
;
static
char
*
default_dbug_option
=
(
char
*
)
"d:t:O,/tmp/comp_err.trace"
;
static
my_bool
info_flag
=
0
;
static
struct
my_option
my_long_options
[]
=
{
{
"help"
,
'?'
,
"Display this help message and exit."
,
0
,
0
,
0
,
GET_NO_ARG
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"basedir"
,
'b'
,
"Specifies the directory where MySQL is installed"
,
(
gptr
*
)
&
basedir
,
(
gptr
*
)
&
basedir
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"datadir"
,
'd'
,
"Specifies the data directory"
,
(
gptr
*
)
&
datadir
,
(
gptr
*
)
&
datadir
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
#ifdef DBUG_OFF
{
"debug"
,
'#'
,
"This is a non-debug version. Catch this and exit"
,
0
,
0
,
0
,
GET_DISABLED
,
OPT_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
#else
{
"debug"
,
'#'
,
"Output debug log"
,
(
gptr
*
)
&
default_dbug_option
,
(
gptr
*
)
&
default_dbug_option
,
0
,
GET_STR
,
OPT_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
#endif
{
"debug-info"
,
'T'
,
"Print some debug info at exit."
,
(
gptr
*
)
&
info_flag
,
(
gptr
*
)
&
info_flag
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"force"
,
'f'
,
"Continue even if we get an sql-error."
,
(
gptr
*
)
&
opt_force
,
(
gptr
*
)
&
opt_force
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"password"
,
'p'
,
"Password to use when connecting to server. If password is not given it's solicited on the tty."
,
0
,
0
,
0
,
GET_STR
,
OPT_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"port"
,
'P'
,
"Port number to use for connection."
,
(
gptr
*
)
&
opt_mysql_port
,
(
gptr
*
)
&
opt_mysql_port
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"protocol"
,
OPT_MYSQL_PROTOCOL
,
"The protocol of connection (tcp,socket,pipe,memory)."
,
0
,
0
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"socket"
,
'S'
,
"Socket file to use for connection."
,
(
gptr
*
)
&
opt_mysql_unix_port
,
(
gptr
*
)
&
opt_mysql_unix_port
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"user"
,
'u'
,
"User for login if not current user."
,
(
gptr
*
)
&
user
,
(
gptr
*
)
&
user
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"verbose"
,
'v'
,
"Display more output about the process"
,
(
gptr
*
)
&
opt_verbose
,
(
gptr
*
)
&
opt_verbose
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
,
0
,
0
,
GET_NO_ARG
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
}
};
static
const
char
*
load_default_groups
[]
=
{
"mysql_upgrade"
,
"client"
,
0
};
#include <help_end.h>
static
my_bool
get_one_option
(
int
optid
,
const
struct
my_option
*
opt
__attribute__
((
unused
)),
char
*
argument
)
{
switch
(
optid
)
{
case
'?'
:
puts
(
"MySQL utility script to upgrade database to the current server version"
);
puts
(
""
);
my_print_help
(
my_long_options
);
exit
(
0
);
case
'#'
:
DBUG_PUSH
(
argument
?
argument
:
default_dbug_option
);
break
;
case
'f'
:
opt_force
=
TRUE
;
break
;
case
'p'
:
tty_password
=
1
;
if
(
argument
)
{
char
*
start
=
argument
;
my_free
(
opt_password
,
MYF
(
MY_ALLOW_ZERO_PTR
));
opt_password
=
my_strdup
(
argument
,
MYF
(
MY_FAE
));
while
(
*
argument
)
*
argument
++=
'x'
;
/* Destroy argument */
if
(
*
start
)
start
[
1
]
=
0
;
/* Cut length of argument */
tty_password
=
0
;
}
break
;
default:
;
};
return
0
;
}
/* buffer should be not smaller than FN_REFLEN */
static
my_bool
test_file_exists_res
(
const
char
*
dir
,
const
char
*
fname
,
char
*
buffer
,
char
**
buf_end
)
{
MY_STAT
stat_info
;
*
buf_end
=
strxnmov
(
buffer
,
FN_REFLEN
-
1
,
dir
,
"/"
,
fname
,
NullS
);
unpack_filename
(
buffer
,
buffer
);
return
my_stat
(
buffer
,
&
stat_info
,
MYF
(
0
))
!=
0
;
}
static
my_bool
test_file_exists
(
const
char
*
dir
,
const
char
*
fname
)
{
char
path
[
FN_REFLEN
];
char
*
path_end
;
return
test_file_exists_res
(
dir
,
fname
,
path
,
&
path_end
);
}
static
int
create_check_file
(
const
char
*
path
)
{
File
check_file
=
my_open
(
path
,
O_CREAT
|
O_WRONLY
,
MYF
(
MY_FAE
|
MY_WME
));
int
error
;
if
(
check_file
<
0
)
return
1
;
error
=
my_write
(
check_file
,
VERSION
,
strlen
(
VERSION
),
MYF
(
MY_WME
|
MY_FNABP
));
error
=
my_close
(
check_file
,
MYF
(
MY_FAE
|
MY_WME
))
||
error
;
return
error
;
}
static
int
create_defaults_file
(
const
char
*
path
,
const
char
*
our_defaults_path
)
{
uint
b_read
;
File
our_defaults_file
;
char
buffer
[
512
];
char
*
buffer_end
;
int
error
;
/* check if the defaults file is needed at all */
if
(
!
opt_password
)
return
0
;
File
defaults_file
=
my_open
(
path
,
O_BINARY
|
O_CREAT
|
O_WRONLY
,
MYF
(
MY_FAE
|
MY_WME
));
if
(
defaults_file
<
0
)
return
1
;
upgrade_defaults_created
=
1
;
if
(
our_defaults_path
)
{
our_defaults_file
=
my_open
(
our_defaults_path
,
O_RDONLY
,
MYF
(
MY_FAE
|
MY_WME
));
if
(
our_defaults_file
<
0
)
return
1
;
do
{
if
(((
b_read
=
my_read
(
our_defaults_file
,
buffer
,
sizeof
(
buffer
),
MYF
(
MY_WME
)))
==
MY_FILE_ERROR
)
||
my_write
(
defaults_file
,
buffer
,
b_read
,
MYF
(
MY_FNABP
|
MY_WME
)))
{
error
=
1
;
goto
close_return
;
}
}
while
(
b_read
==
sizeof
(
buffer
));
}
buffer_end
=
strnmov
(
buffer
,
"
\n
[client]"
,
sizeof
(
buffer
));
if
(
opt_password
)
buffer_end
=
strxnmov
(
buffer
,
sizeof
(
buffer
),
"
\n
password="
,
opt_password
,
NullS
);
error
=
my_write
(
defaults_file
,
buffer
,
(
int
)
(
buffer_end
-
buffer
),
MYF
(
MY_WME
|
MY_FNABP
));
close_return:
return
my_close
(
defaults_file
,
MYF
(
MY_WME
))
||
error
;
}
int
main
(
int
argc
,
char
**
argv
)
{
char
bindir
[
FN_REFLEN
];
char
*
bindir_end
,
*
buf_end
;
char
datadir_buf
[
FN_REFLEN
];
char
mysqlcheck_line
[
FN_REFLEN
],
*
mysqlcheck_end
;
char
check_file_name
[
FN_REFLEN
];
int
check_file
;
char
fix_priv_tables_cmd
[
FN_REFLEN
],
*
fix_cmd_end
;
char
script_line
[
FN_REFLEN
];
int
error
;
char
*
forced_defaults_file
;
char
*
forced_extra_defaults
;
char
*
defaults_group_suffix
;
char
upgrade_defaults_path
[
FN_REFLEN
],
*
defaults_to_use
=
0
;
char
port_socket
[
100
],
*
port_socket_end
;
MY_INIT
(
argv
[
0
]);
#ifdef __NETWARE__
setscreenmode
(
SCR_AUTOCLOSE_ON_EXIT
);
#endif
load_defaults
(
"my"
,
load_default_groups
,
&
argc
,
&
argv
);
if
((
error
=
handle_options
(
&
argc
,
&
argv
,
my_long_options
,
get_one_option
)))
exit
(
error
);
if
(
tty_password
)
opt_password
=
get_tty_password
(
NullS
);
/* Check if we want to force the use a specific default file */
get_defaults_options
(
argc
,
argv
,
&
forced_defaults_file
,
&
forced_extra_defaults
,
&
defaults_group_suffix
);
port_socket_end
=
port_socket
;
if
(
opt_mysql_port
)
port_socket_end
=
strxnmov
(
port_socket
,
sizeof
(
port_socket
)
-
1
,
" --port="
,
opt_mysql_port
,
NullS
);
if
(
opt_mysql_unix_port
)
port_socket_end
=
strxnmov
(
port_socket_end
,
sizeof
(
port_socket
)
-
(
int
)(
port_socket_end
-
port_socket
)
-
1
,
" --socket="
,
opt_mysql_unix_port
,
NullS
);
*
port_socket_end
=
0
;
if
(
basedir
)
{
bindir_end
=
strmake
(
bindir
,
basedir
,
sizeof
(
bindir
)
-
1
);
}
else
{
if
(
test_file_exists
(
"./share/mysql/english"
,
"errmsg.sys"
)
&&
(
test_file_exists
(
"./bin"
,
"mysqld"
)
||
test_file_exists
(
"./libexec"
,
"mysqld"
)))
{
getcwd
(
bindir
,
sizeof
(
bindir
));
bindir_end
=
bindir
+
strlen
(
bindir
);
}
else
{
bindir_end
=
strmake
(
bindir
,
DEFAULT_MYSQL_HOME
,
sizeof
(
bindir
)
-
1
);
}
}
if
(
!
datadir
)
{
datadir
=
datadir_buf
;
if
(
test_file_exists
(
bindir
,
"data/mysql"
))
{
*
strxnmov
(
datadir_buf
,
sizeof
(
datadir_buf
)
-
1
,
bindir
,
"/data"
,
NullS
)
=
0
;
}
else
if
(
test_file_exists
(
bindir
,
"var/mysql"
))
{
*
strxnmov
(
datadir_buf
,
sizeof
(
datadir_buf
)
-
1
,
bindir
,
"/var"
,
NullS
)
=
0
;
}
else
datadir
=
(
char
*
)
DATADIR
;
}
strmake
(
bindir_end
,
"/bin"
,
sizeof
(
bindir
)
-
(
int
)
(
bindir_end
-
bindir
)
-
1
);
if
(
!
test_file_exists_res
(
bindir
,
"mysqlcheck"
,
mysqlcheck_line
,
&
mysqlcheck_end
))
{
printf
(
"Can't find program '%s'
\n
"
,
mysqlcheck_line
);
puts
(
"Please restart with --basedir=mysql-install-directory"
);
exit
(
1
);
}
if
(
!
test_file_exists
(
datadir
,
"mysql/user.frm"
))
{
puts
(
"Can't find data directory. Please restart with --datadir=path-to-data-dir"
);
exit
(
1
);
}
/* create the modified defaults file to be used by mysqlcheck */
/* and mysql tools */
*
strxnmov
(
upgrade_defaults_path
,
sizeof
(
upgrade_defaults_path
)
-
1
,
datadir
,
"/upgrade_defaults"
,
NullS
)
=
0
;
unpack_filename
(
upgrade_defaults_path
,
upgrade_defaults_path
);
if
((
error
=
create_defaults_file
(
upgrade_defaults_path
,
forced_extra_defaults
)))
goto
err_exit
;
defaults_to_use
=
upgrade_defaults_created
?
upgrade_defaults_path
:
forced_extra_defaults
;
if
(
test_file_exists_res
(
datadir
,
"mysql_upgrade_info"
,
check_file_name
,
&
buf_end
)
&&
!
opt_force
)
{
char
chf_buffer
[
50
];
int
b_read
;
check_file
=
my_open
(
check_file_name
,
O_RDONLY
,
MYF
(
0
));
b_read
=
my_read
(
check_file
,
chf_buffer
,
sizeof
(
chf_buffer
)
-
1
,
MYF
(
0
));
chf_buffer
[
b_read
]
=
0
;
my_close
(
check_file
,
MYF
(
0
));
if
(
!
strcmp
(
chf_buffer
,
VERSION
))
{
if
(
opt_verbose
)
puts
(
"mysql_upgrade already done for this version"
);
goto
fix_priv_tables
;
}
}
if
(
defaults_to_use
)
{
mysqlcheck_end
=
strxnmov
(
mysqlcheck_end
,
sizeof
(
mysqlcheck_line
)
-
(
int
)
(
mysqlcheck_end
-
mysqlcheck_line
),
" --defaults-extra-file="
,
defaults_to_use
,
NullS
);
}
mysqlcheck_end
=
strxnmov
(
mysqlcheck_end
,
sizeof
(
mysqlcheck_line
)
-
(
int
)
(
mysqlcheck_end
-
mysqlcheck_line
-
1
),
" --check-upgrade --all-databases --auto-repair --user="
,
user
,
port_socket
,
NullS
);
*
mysqlcheck_end
=
0
;
if
(
opt_verbose
)
printf
(
"Running %s
\n
"
,
mysqlcheck_line
);
if
((
error
=
system
(
mysqlcheck_line
)))
{
printf
(
"Error executing '%s'
\n
"
,
mysqlcheck_line
);
goto
err_exit
;
}
if
((
error
=
create_check_file
(
check_file_name
)))
goto
err_exit
;
fix_priv_tables:
if
(
!
test_file_exists_res
(
bindir
,
"mysql"
,
fix_priv_tables_cmd
,
&
fix_cmd_end
))
{
puts
(
"Could not find MySQL command-line client (mysql)."
);
puts
(
"Please use --basedir to specify the directory where MySQL is installed."
);
error
=
1
;
goto
err_exit
;
}
if
(
!
test_file_exists_res
(
basedir
,
"support_files/mysql_fix_privilege_tables.sql"
,
script_line
,
&
buf_end
)
&&
!
test_file_exists_res
(
basedir
,
"share/mysql_fix_privilege_tables.sql"
,
script_line
,
&
buf_end
)
&&
!
test_file_exists_res
(
basedir
,
"share/mysql/mysql_fix_privilege_tables.sql"
,
script_line
,
&
buf_end
)
&&
!
test_file_exists_res
(
basedir
,
"scripts/mysql_fix_privilege_tables.sql"
,
script_line
,
&
buf_end
)
&&
!
test_file_exists_res
(
"/usr/local/mysql/share/mysql"
,
"mysql_fix_privilege_tables.sql"
,
script_line
,
&
buf_end
))
{
puts
(
"Could not find file mysql_fix_privilege_tables.sql"
);
puts
(
"Please use --basedir to specify the directory where MySQL is installed"
);
error
=
1
;
goto
err_exit
;
}
if
(
defaults_to_use
)
{
fix_cmd_end
=
strxnmov
(
fix_cmd_end
,
sizeof
(
fix_priv_tables_cmd
)
-
(
int
)
(
fix_cmd_end
-
fix_priv_tables_cmd
-
1
),
" --defaults-extra-file="
,
defaults_to_use
,
NullS
);
}
fix_cmd_end
=
strxnmov
(
fix_cmd_end
,
sizeof
(
fix_priv_tables_cmd
)
-
(
int
)
(
fix_cmd_end
-
fix_priv_tables_cmd
),
" --user="
,
user
,
port_socket
,
" mysql < "
,
script_line
,
NullS
);
*
fix_cmd_end
=
0
;
if
((
error
=
system
(
fix_priv_tables_cmd
)))
{
/* Problem is that the 'Duplicate column' error */
/* which is not a bug for the script makes 'mysql' return */
/* an error */
/* printf("Error executing '%s'\n", fix_priv_tables_cmd); */
}
err_exit:
if
(
upgrade_defaults_created
)
my_delete
(
upgrade_defaults_path
,
MYF
(
0
));
my_end
(
info_flag
?
MY_CHECK_ERROR
|
MY_GIVE_INFO
:
0
);
return
error
;
}
/* main */
mysql-test/r/partition.result
View file @
0f967642
...
...
@@ -848,4 +848,21 @@ t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY LIST (a) (PARTITION p0 VALUES IN (NULL) ENGINE = MyISAM)
DROP TABLE t1;
create table t1 (s1 int auto_increment primary key)
partition by list (s1)
(partition p1 values in (1),
partition p2 values in (2),
partition p3 values in (3));
insert into t1 values (null);
insert into t1 values (null);
insert into t1 values (null);
select auto_increment from information_schema.tables where table_name='t1';
auto_increment
4
select * from t1;
s1
1
2
3
drop table t1;
End of 5.1 tests
mysql-test/t/disabled.def
View file @
0f967642
...
...
@@ -4,49 +4,50 @@
#
# Separate the test case name and the comment with ':'.
#
#
<testcasename> : Comment test
#
<testcasename> : BUG#<xxxx> <date disabled> <disabler> <comment>
#
# Do not use any TAB characters for whitespace.
#
##############################################################################
events_bugs : test case unstable (race conditions). andrey will fix
events_stress : test case unstable. andrey will fix
events : test case unstable. andrey will fix
#ndb_alter_table_row : sometimes wrong error 1015!=1046
ndb_autodiscover : Needs to be fixed w.r.t binlog
ndb_autodiscover2 : Needs to be fixed w.r.t binlog
#ndb_binlog_basic : Results are not deterministic, Tomas will fix
#ndb_binlog_multi : Results are not deterministic, Tomas will fix
ndb_cache2 : Bug #18597
ndb_gis : Bug #18600
ndb_load : Bug#17233
partition_03ndb : Bug#16385
ps_7ndb : dbug assert in RBR mode when executing test suite
#rpl_bit_npk : Bug#13418
#rpl_ddl : Bug#15963 SBR does not show "Definer" correctly
rpl_ndb_dd_basic : Bug #18569
rpl_row_basic_7ndb : Bug #18923
rpl_ndb_dd_advance : Bug #18924
rpl_ndb_multi_update2 : Bug #18928
rpl_ndb_2innodb : assertion in get_parts_for_update()
rpl_ndb_2myisam : assertion in get_parts_for_update()
rpl_ndb_auto_inc : Bug#17086
rpl_ndb_basic : Bug #18592
#rpl_ndb_blob : interferes with following tests, causing hang
#rpl_ndb_blob2 : interferes with following tests, causing hang
rpl_ndb_ddl : master hangs
#rpl_ndb_delete_nowhere : Bug#17400: delete & update of rows in table without pk fails
rpl_ndb_insert_ignore : Bug #18567
rpl_ndb_innodb2ndb : Bug#18261: Cluster Replication: tests rpl_ndb_xxx2ndb fails
rpl_ndb_myisam2ndb : Bug#18261: Cluster Replication: tests rpl_ndb_xxx2ndb fails
rpl_ndb_multi_update3 : Bug#18627: Cluster Replication: rpl_ndb_multi_update3 fails on Intel 64 bit
rpl_ndb_log : result not deterministic, TBD if should remove
rpl_ndb_relay_space : Bug#16993
#rpl_ndb_multi_update3 : Bug#17400: delete & update of rows in table without pk fails
rpl_switch_stm_row_mixed : Bug #18590
rpl_row_inexist_tbl : Disabled since patch makes this test wait forever
rpl_sp : Bug#16456
rpl_until : Unstable test case, bug#15886
sp-goto : GOTO is currently is disabled - will be fixed in the future
mysqldump : BUG#18078
udf : Bug#18564 (Permission by Brian)
events_bugs : BUG#17619 2006-02-21 andrey Test case unstable (race conditions)
events_stress : BUG#17619 2006-02-21 andrey Test case unstable
events : BUG#17619 2006-02-21 andrey Test case unstable
ndb_autodiscover : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog
ndb_autodiscover2 : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog
ndb_cache2 : BUG#18597 2006-03-28 brian
ndb_gis : BUG#18600 2006-03-28 brian
ndb_load : BUG#17233 2006-02-16 jmiller
partition_03ndb : BUG#16385 2006-03-24 mikael
ps_7ndb : BUG#18950 2006-02-16 jmiller Dbug assert in RBR mode when executing test suite
rpl_ndb_dd_basic : BUG#18569 2006-03-28 brian
rpl_row_basic_7ndb : BUG#18923 2006-04-09 brian
rpl_ndb_dd_advance : BUG#18924 2006-04-09 brian
rpl_ndb_multi_update2 : BUG#18928 2006-04-09 brian
rpl_ndb_2innodb : BUG#18945 2006-03-22 tomas Assertion in get_parts_for_update()
rpl_ndb_2myisam : BUG#18945 2006-03-22 tomas Assertion in get_parts_for_update()
rpl_ndb_auto_inc : BUG#17086 2006-02-16 jmiller
rpl_ndb_basic : BUG#18592 2006-03-28 brian
rpl_ndb_ddl : BUG#18946 2006-03-16 mats Master hangs (Probably related to BUG#17400)
rpl_ndb_insert_ignore : BUG#18567 2006-03-28 brian
rpl_ndb_innodb2ndb : BUG#18261 2006-03-16 mats Cluster Replication: tests rpl_ndb_xxx2ndb fails (BUG#17400)
rpl_ndb_myisam2ndb : BUG#18261 2006-03-16 mats Cluster Replication: tests rpl_ndb_xxx2ndb fails (BUG#17400)
rpl_ndb_multi_update3 : BUG#18627 2006-03-29 monty Cluster Replication: rpl_ndb_multi_update3 fails on Intel 64 bit
rpl_ndb_log : BUG#18947 2006-03-21 tomas Result not deterministic, TBD if should remove
rpl_ndb_relay_space : BUG#16993 2006-02-16 jmiller
rpl_switch_stm_row_mixed : BUG#18590 2006-03-28 brian
rpl_row_inexist_tbl : BUG#18948 2006-03-09 mats Disabled since patch makes this test wait forever
rpl_sp : BUG#16456 2006-02-16 jmiller
rpl_until : BUG#15886 2006-02-16 jmiller Unstable test case
sp-goto : BUG#18949 2006-02-16 jmiller GOTO is currently is disabled - will be fixed in the future
mysqldump : BUG#18078 2006-03-10 lars
udf : BUG#18564 2006-03-27 ian (Permission by Brian)
#ndb_alter_table_row : sometimes wrong error 1015!=1046
#ndb_binlog_basic : Results are not deterministic, Tomas will fix
#ndb_binlog_multi : Results are not deterministic, Tomas will fix
#rpl_bit_npk : Bug#13418
#rpl_ddl : Bug#15963 SBR does not show "Definer" correctly
#rpl_ndb_blob : interferes with following tests, causing hang
#rpl_ndb_blob2 : interferes with following tests, causing hang
#rpl_ndb_delete_nowhere : Bug#17400: delete & update of rows in table without pk fails
#rpl_ndb_multi_update3 : Bug#17400: delete & update of rows in table without pk fails
mysql-test/t/partition.test
View file @
0f967642
...
...
@@ -965,4 +965,19 @@ PARTITION BY LIST (a)
SHOW
CREATE
TABLE
t1
;
DROP
TABLE
t1
;
#
# Bug#18753 Partitions: auto_increment fails
#
create
table
t1
(
s1
int
auto_increment
primary
key
)
partition
by
list
(
s1
)
(
partition
p1
values
in
(
1
),
partition
p2
values
in
(
2
),
partition
p3
values
in
(
3
));
insert
into
t1
values
(
null
);
insert
into
t1
values
(
null
);
insert
into
t1
values
(
null
);
select
auto_increment
from
information_schema
.
tables
where
table_name
=
't1'
;
select
*
from
t1
;
drop
table
t1
;
--
echo
End
of
5.1
tests
sql/ha_partition.cc
View file @
0f967642
...
...
@@ -4201,11 +4201,7 @@ void ha_partition::info(uint flag)
if
(
flag
&
HA_STATUS_AUTO
)
{
DBUG_PRINT
(
"info"
,
(
"HA_STATUS_AUTO"
));
/*
The auto increment value is only maintained by the first handler
so we will only call this.
*/
m_file
[
0
]
->
info
(
HA_STATUS_AUTO
);
auto_increment_value
=
get_auto_increment
();
}
if
(
flag
&
HA_STATUS_VARIABLE
)
{
...
...
@@ -5349,9 +5345,15 @@ void ha_partition::restore_auto_increment()
ulonglong
ha_partition
::
get_auto_increment
()
{
ulonglong
auto_inc
,
max_auto_inc
=
0
;
DBUG_ENTER
(
"ha_partition::get_auto_increment"
);
DBUG_RETURN
(
m_file
[
0
]
->
get_auto_increment
());
for
(
uint
i
=
0
;
i
<
m_tot_parts
;
i
++
)
{
auto_inc
=
m_file
[
i
]
->
get_auto_increment
();
set_if_bigger
(
max_auto_inc
,
auto_inc
);
}
DBUG_RETURN
(
max_auto_inc
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment