Term::ReadKey"
Add the missing module import. Also, while here, fix a few glaring problems
with the script, and ensure that it behaves properly. It seems this script
may have never been working correctly (e.g., reading password didn't chomp()
the result, so password was set with \n at the end; comparing the re-typed
password to original was done with inverted test).
Add END { cleanup(); } block to ensure the script removes temporary working
files.
Add SIG{INT} / SIG{QUIT} handler.
Do a bit of reorganization to make the code easier to understand.
Limit failed connection attempts to 3.
Use ./bin/mysql if it exists, and then fall back on mysql in PATH (before it
assumed 'mysql' in the path). Print a nicer error if 'mysql' can't be called.
This has been tested on Windows (ActivePerl from cmd.exe, no cygwin needed)
and Linux.
Problem 1:
column_priv_hash uses utf8_general_ci collation
for the key comparison. The key consists of user name,
db name and table name. Thus user with privileges on table t1
is able to perform the same operation on T1
(the similar situation with user name & db name, see acl_cache).
So collation which is used for column_priv_hash and acl_cache
should be case sensitive.
The fix:
replace system_charset_info with my_charset_utf8_bin for
column_priv_hash and acl_cache
Problem 2:
The same situation with proc_priv_hash, func_priv_hash,
the only difference is that Routine name is case insensitive.
So the fix is to use my_charset_utf8_bin for
proc_priv_hash & func_priv_hash and convert routine name into lower
case before writing the element into the hash and
before looking up the key.
Additional fix: mysql.procs_priv Routine_name field collation
is changed to utf8_general_ci.
It's necessary for REVOKE command
(to find a field by routine hash element values).
Note:
It's safe for lower-case-table-names mode too because
db name & table name are converted into lower case
(see GRANT_NAME::GRANT_NAME).
mysql-test/include/have_case_insensitive_fs.inc:
test case
mysql-test/r/case_insensitive_fs.require:
test case
mysql-test/r/grant_lowercase_fs.result:
test result
mysql-test/r/lowercase_fs_off.result:
test result
mysql-test/r/ps_grant.result:
test result
mysql-test/r/system_mysql_db.result:
changed Routine_name field collation to case insensitive
mysql-test/t/grant_lowercase_fs.test:
test case
mysql-test/t/lowercase_fs_off.test:
test case
scripts/mysql_system_tables.sql:
changed Routine_name field collation to case insensitive
scripts/mysql_system_tables_fix.sql:
changed Routine_name field collation to case insensitive
sql/sql_acl.cc:
Problem 1:
column_priv_hash uses utf8_general_ci collation
for the key comparison. The key consists of user name,
db name and table name. Thus user with privileges on table t1
is able to perform the same operation on T1
(the similar situation with user name & db name, see acl_cache).
So collation which is used for column_priv_hash and acl_cache
should be case sensitive.
The fix:
replace system_charset_info with my_charset_utf8_bin for
column_priv_hash and acl_cache
Problem 2:
The same situation with proc_priv_hash, func_priv_hash,
the only difference is that Routine name is case insensitive.
So the fix is to use my_charset_utf8_bin for
proc_priv_hash & func_priv_hash and convert routine name into lower
case before writing the element into the hash and
before looking up the key.
Additional fix: mysql.procs_priv Routine_name field collation
is changed to utf8_general_ci.
It's necessary for REVOKE command
(to find a field by routine hash element values).
Note:
It's safe for lower-case-table-names mode too because
db name & table name are converted into lower case
(see GRANT_NAME::GRANT_NAME).
indexed column in mysql.plugin table should use case-insensitive collation
for index lookups to work
(backport from 6.0)
sql/sql_plugin.cc:
generate the key correctly using key_copy.
field->store() stores the value in record format, not key format.
Original revision in 6.0:
------------------------------------------------------------
revno: 2630.13.11
committer: Alexander Nozdrin <alik@mysql.com>
branch nick: 6.0-rt-wl4300
timestamp: Thu 2008-07-24 11:44:21 +0400
message:
A patch for WL#4300: Define privileges for tablespaces.
------------------------------------------------------------
per-file messages:
mysql-test/r/grant.result
Update result file: new columm 'Create_tablespace_priv' has been added to mysql.user.
mysql-test/r/ps.result
Update result file: new columm 'Create_tablespace_priv' has been added to mysql.user.
mysql-test/r/system_mysql_db.result
Update result file: new columm 'Create_tablespace_priv' has been added to mysql.user.
mysql-test/suite/falcon/r/falcon_tablespace_priv.result
Test case for WL#4300.
mysql-test/suite/falcon/t/falcon_tablespace_priv.test
Test case for WL#4300.
mysql-test/suite/ndb/r/ndb_dd_ddl.result
Test case for WL#4300.
mysql-test/suite/ndb/t/ndb_dd_ddl.test
Test case for WL#4300.
scripts/mysql_system_tables.sql
New columm 'Create_tablespace_priv' has been added to mysql.user.
scripts/mysql_system_tables_data.sql
'CREATE TABLESPACE' is granted by default to the root user.
scripts/mysql_system_tables_fix.sql
Grant 'CREATE TABLESPACE' privilege during system table upgrade
if a user had SUPER privilege.
sql/sql_acl.cc
Added CREATE TABLESPACE privilege.
sql/sql_acl.h
Added CREATE TABLESPACE privilege.
sql/sql_parse.cc
Check global 'CREATE TABLESPACE' privilege for the following SQL statements:
- CREATE | ALTER | DROP TABLESPACE
- CREATE | ALTER | DROP LOGFILE GROUP
sql/sql_show.cc
Added CREATE TABLESPACE privilege.
sql/sql_yacc.yy
Added CREATE TABLESPACE privilege.
strict SQL mode
The problem was that a COMMENT longer than 64 characters
caused CREATE PROCEDURE to fail.
This patch fixed the problem by changing the COMMENT field in
mysql.proc from char(64) to text. The corresponding ROUTINE_COMMENT
field in INFORMATION_SCHEMA.ROUTINES is also changed from
varchar(64) to longtext.
mysql_system_tables.sql and mysql_system_tables_fix.sql updated.
Test case added to sp.test and affected result-files updated.
http://lists.mysql.com/commits/57725
Vladislav Vaintroub 2008-11-03
Cleanup CMakeLists.txt(s) - remove winsock2 (ws2_32) from
TARGET_LINK_LIBRARIES.
Every exe or dll linked with mysys needs ws2_32, because
mysys uses winsock function WSAStartup in my_init().
However, there is no need to explicitely add ws2_32 to
the list of TARGET_LINK_LIBRARIES multiple times.
Visual Studio comes with a handy pragma that tells linker
to add library. So patch replaces bunch of ws2_32 in
CMakeLists with single pragma comment(lib,"ws2_32")
in my_init.c
Additionally, reference to non-existing "debug" library
has been removed from TARGET_LINK_LIBRARIES. The correct
name of the library is "dbug".
Unresolved reference to 'innodb_system_libs' in "mysql_config"
In 5.4.2, we use InnoDB 1.0.4 which does file IO via separate
threads, opposed to the use of asynchronous IO previously.
So there is no InnoDB call to "aio_read()" which was searched
in "librt", causing a "-lrt" value of "innodb_system_libs",
that whole variable is gone.
This fix was applied in the build of 5.4.2-beta.
scripts/Makefile.am:
There is no "innodb_system_libs" variable any more,
so it cannot be replaced by its value.
scripts/mysql_config.pl.in:
InnoDB does not need any platform-specific libraries any more,
"innodb_system_libs" may go.
scripts/mysql_config.sh:
InnoDB does not need any platform-specific libraries any more,
"innodb_system_libs" may go.
bzr branch mysql-5.1-performance-version mysql-trunk # Summit
cd mysql-trunk
bzr merge mysql-5.1-innodb_plugin # which is 5.1 + Innodb plugin
bzr rm innobase # remove the builtin
Next step: build, test fixes.
"make_binary_distribution" does not always generate correct names
Originally, we solved deficiencies of the predefined "autoconf" macros
(at least on OS X 10.5, they do not correctly differ between "x86" and
"x86_64") by providing explicit "--platform" arguments.
With this patch, "make_binary_distribution" evaluates CFLAGS, so it
"just works" because CFLAGS contains information about the target CPU.
This patch is accompanied by a change in our build tools that drops the
setting of "--platform" arguments.
scripts/make_binary_distribution.sh:
This is a fix for bug#37808
"make_binary_distribution" does not always generate correct names
Our platform names are the combination of operating system, architecture (CPU),
and a possible suffix (typically "64bit", if a CPU is available in 32 bit too).
We get these values from some predefined "autoconf" macros.
However, these macros are not perfect, especially on OS X 10.5 they do not
differ correctly between x86 (32 bit) and x86_64 (64 bit).
Originally, we solved that by providing an explicit "--platform" argument,
but it is better to get rid of that and ensure the script "just works".
The best indication we have about the CPU is the "CFLAGS" value provided
with "configure" and used in "make": It describes for which CPU the
binaries are generated, not just which one was running the build.
This approach should work even if we implement cross-compilation.
So this patch evaluates CFLAGS and extracts its "-arch XYZ" part.
When touching the file, I also replaced some tab characters by blanks.
occasionally.
mysql_multi can call mysqld_safe. In doing this it's not changing the
current working directory. This may cause confusion in the case where
mysqld_multi is handling instances of servers of different versions
and the current working directory is the installation directory of one
of these servers.
Fixed by enhancing the meaning of basedir in [mysqldN] sections of
mysqld_multi. If specified, mysqld_multi will change the current
working directory to the basedir directory before starting the server
in mysqld_multi ... start ... and then change it back to what it was.
scripts/mysqld_multi.sh:
Bug #36654: optionally preserve, change and restore the cwd when
starting server instances
include/Makefile.am: use @PERL@ to call scripts/dheadgen.pl - don't rely on #! /usr/bin/perl
scripts/dheadgen.pl: use 2-arg open() for compatibility with older Perl versions
storage/innobase/srv/srv0srv.c: Don't use C++-style comments in C code
doesn't find 'logger'
Due to a variable quoting mistake, the $PATH environment
variable isn't parsed correctly when searching for the
existence of the desired executable(s) (logger in this
case).
This patch removes the quotes.
165 changesets with 23 conflicts:
Text conflict in mysql-test/r/lock_multi.result
Text conflict in mysql-test/t/lock_multi.test
Text conflict in mysql-test/t/mysqldump.test
Text conflict in sql/item_strfunc.cc
Text conflict in sql/log.cc
Text conflict in sql/log_event.cc
Text conflict in sql/parse_file.cc
Text conflict in sql/slave.cc
Text conflict in sql/sp.cc
Text conflict in sql/sp_head.cc
Text conflict in sql/sql_acl.cc
Text conflict in sql/sql_base.cc
Text conflict in sql/sql_class.cc
Text conflict in sql/sql_crypt.cc
Text conflict in sql/sql_db.cc
Text conflict in sql/sql_lex.cc
Text conflict in sql/sql_parse.cc
Text conflict in sql/sql_select.cc
Text conflict in sql/sql_table.cc
Text conflict in sql/sql_view.cc
Text conflict in storage/innobase/handler/ha_innodb.cc
Text conflict in storage/myisam/mi_packrec.c
Text conflict in tests/mysql_client_test.c
Updates to Innobase, taken from main 5.1:
bzr: ERROR: Some change isn't sane:
File mysql-test/r/innodb-semi-consistent.result is owned by Innobase and should not be updated.
File mysql-test/t/innodb-semi-consistent.test is owned by Innobase and should not be updated.
File storage/innobase/handler/ha_innodb.cc is owned by Innobase and should not be updated.
File storage/innobase/ibuf/ibuf0ibuf.c is owned by Innobase and should not be updated.
File storage/innobase/include/row0mysql.h is owned by Innobase and should not be updated.
File storage/innobase/include/srv0srv.h is owned by Innobase and should not be updated.
File storage/innobase/include/trx0trx.h is owned by Innobase and should not be updated.
File storage/innobase/include/trx0trx.ic is owned by Innobase and should not be updated.
File storage/innobase/lock/lock0lock.c is owned by Innobase and should not be updated.
File storage/innobase/page/page0cur.c is owned by Innobase and should not be updated.
File storage/innobase/row/row0mysql.c is owned by Innobase and should not be updated.
File storage/innobase/row/row0sel.c is owned by Innobase and should not be updated.
File storage/innobase/srv/srv0srv.c is owned by Innobase and should not be updated.
File storage/innobase/trx/trx0trx.c is owned by Innobase and should not be updated.
(Set env var 'ALLOW_UPDATE_INNOBASE_OWNED' to override.)
preventing a change that would result in table data loss. (Bug #27149)
Also updated mysql_convert_table_format to use --engine as the documentation
claimed, and use the engine terminology throughout instead of the obsolete
'table type'.
Bug#32136: mysqld_multi --defaults-file not respected while using \
--mysqld=mysqld_safe
Revert change that adds "--no-defaults" to mysqld_multi.
This closes Bug#43508 and re-opens Bug#32136.
(general server part + NDB part)
automatically when creating a binary package,
include only the NDBpart in the package (file) name.
scripts/make_binary_distribution.sh:
The "version" string of a cluster build contains information
about both the general server part and the NDB part.
This is intentional, but it isn't suitable for the package file name.
When packaging a binary build, the script now detects whether
it is dealing with a cluster build or not.
If it is a cluster build, the script now removes the server part
from the version number, leaving the NDB part.
Example: "5.1.31-ndb-6.4.2" -> "6.4.2"
so packages are named like
"mysql-cluster-gpl-6.4.2-linux-i686-glibc23.tar.gz"
The problem is that creating a event could fail if the value of
the variable server_id didn't fit in the originator column of
the event system table. The cause is two-fold: it was possible
to set server_id to a value outside the documented range (from
0 to 2^32-1) and the originator column of the event table didn't
have enough room for values in this range.
The log tables (general_log and slow_log) also don't have a proper
column type to store the server_id and having a large server_id
value could prevent queries from being logged.
The solution is to ensure that all system tables that store the
server_id value have a proper column type (int unsigned) and that
the variable can't be set to a value that is not within the range.
mysql-test/r/events_bugs.result:
Add test case result for Bug#36540
mysql-test/r/log_tables.result:
Update column type.
mysql-test/r/system_mysql_db.result:
Update column type.
mysql-test/r/variables.result:
Add test case result for server_id value range.
mysql-test/suite/sys_vars/r/server_id_basic_64.result:
Update test case results.
mysql-test/t/events_bugs.test:
Add test case for Bug#36540
mysql-test/t/log_tables.test:
Fix column type.
mysql-test/t/variables.test:
Add test case for server_id value range.
scripts/mysql_system_tables.sql:
Columns that store the server_id value must be of type INT UNSIGNED,
fix event (originator), general_log and slow_log (server_id) tables
in accordance.
scripts/mysql_system_tables_fix.sql:
Columns that store the server_id value must be of type INT UNSIGNED,
fix event (originator), general_log and slow_log (server_id) tables
in accordance.
sql/mysqld.cc:
Set min and max values for the server_id variable.
Unfortunately we can't easily change server_id variable type
from ulong to uint32 because of the sys_var classes.
Options got normalised to long rather than short options
since we gave primary name and alias in wrong order.
Consequently querying for the option using the short
options (the correct primary name) didn't work, rendering
the options in question inaccessible.
We restore the right order of the universe, or at least
the alii for --debug and --verbose.
scripts/mysqldumpslow.sh:
Normalise --verbose/-v and --debug/-d to short
options, not long options.
include/probes_mysql_nodtrace.h:
Regenerated with dheadgen.pl
scripts/dheadgen.pl:
Set the executable bit.
sql/Makefile.am:
Since libndb.la is a libtool library, we should process objects in .libs/.
Removed '-n' from the echo command since the Solaris version does not understand it.
Changed the order of dependencies so that dtrace_files and dtrace_providers are
created before probes_all.o
--mysqld=mysqld_safe
The server run didn't know the correct section to read in a
configuration file, and would read from "[mysqld]" even though
mysqld_multi had already read the defaults and made them into explicit
parameters.
Worse, the "defaults-file" parameter says that it means "Read only
this configuration file, do not read the standard system-wide and
user-specific files", which should apply not only to mysql-multi, but
to the server also.
So, now if "defaults-file" is given, put "no-defaults" before all the
explicit parameters we read from the defaults-file and feed to the
mysqld or mysqld_safe.
mysql_config did not output -ldl (or equivalent) when needed for --libmysqld-libs,
so its output could be insufficient to build an application using the embedded
server.
LIBDL was already set in configure; it's now propagated all the way into the
relevant mysql_config scripts.
scripts/Makefile.am:
We "manually" replace configure's constants in .sh scripts using sed,
so AC_SUBST() alone is not good enough. Add LIBDL to the substitution
list; we'll be needing it for mysql_config --libmysqld-libs
scripts/mysql_config.pl.in:
Add LIBDL (usually -ldl) to output of mysql_config --libmysqld-libs (perl version)
scripts/mysql_config.sh:
Add LIBDL (usually -ldl) to output of mysql_config --libmysqld-libs (shell version)
Machines with hostname set to "localhost" cause uniqueness errors in
the SQL bootstrap data.
Now, insert zero lines for cases where the (lowercased) hostname is
the same as an already-inserted 'localhost' name. Also, fix a few tests
that expect certain local accounts to have a certain host name.
- Use myisam as default storage engine when running mysqld in --bootstrap mode
scripts/mysql_install_db.sh:
Use myisam as default storage engine when running mysqld in --bootstrap mode
Merge it up from 5.0 to 5.1,
adapt to some version differences.
configure.in:
Add an "automake condition" whether InnoDB is configured
so that we can evaluate it for the (non)generation of "innochecksum".
In 5.1, the test command must differ from 5.0.
Mostly, this affected files (programs, scripts, and manual pages)
which got built during a RPM build but were not listed in the
appropriate "%files" section of the "spec" file.
This is fixed now, they are added.
To make this consistent, this patch also makes the build of "innochecksum"
(and its inclusion in a tar.gz or other package) depend on whether InnoDB
is configured in the build.
Also, some tools to create Windows packages are irrelevant in any binary
Unix package (not the sources !), and so they are deleted before packaging.
configure.in:
To prevent "innochecksum" from getting built even if InnoDB is not configured
(and then being included in such packages),
we need an "automake condition" that evaluates whether we have InnoDB.
extra/Makefile.am:
Evaluate the new automake condition about having InnoDB,
and make the build of "innochecksum" depend on it.
man/Makefile.am:
Cleanup: There are manual files which we do not need,
like those about tools for Windows builds / packaging
(irrelevant in any Unix binary package)
and about NDB tools which do not get built.
scripts/make_binary_distribution.sh:
In any Unix binary package, do not include tools for Windows builds
(and their manual pages).
This does not affect source packages, of course.
support-files/mysql.spec.sh:
There were several files (binaries, scripts, and manuals)
which got built with a RPM but never packages,
add them to the respective RPM.
Reset session sql_mode before creating system tables as it
is done in the mysql_fix_privilege_tables.sql script.
scripts/mysql_system_tables.sql:
reset sql mode
make_binary_distribution.sh got clobbered by the 5.0 version during a merge.
This caused a few packaging problems, including message files put in the wrong
place and some missing files. Fix is just to revert back to the 5.1 version
from before the merge.
Problem introduced in
ChangeSet 1.2606.2.1 2008/05/13 15:56:07 kent@kent-amd64.(none)
This change was made in the 5.1.25 release clone in BK, but never made it to the main mysql-5.1 BK tree. I am adding it to mysql-5.1 bzr.
into mysql.com:/home/kent/bk/mysql-5.1
BUILD/Makefile.am:
Auto merged
mysql-test/Makefile.am:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/std_data/funcs_1/innodb_tb1.txt:
Auto merged
mysql-test/std_data/funcs_1/innodb_tb2.txt:
Auto merged
mysql-test/std_data/funcs_1/innodb_tb3.txt:
Auto merged
mysql-test/std_data/funcs_1/innodb_tb4.txt:
Auto merged
mysql-test/std_data/funcs_1/memory_tb1.txt:
Auto merged
mysql-test/std_data/funcs_1/memory_tb2.txt:
Auto merged
mysql-test/std_data/funcs_1/memory_tb3.txt:
Auto merged
mysql-test/std_data/funcs_1/memory_tb4.txt:
Auto merged
mysql-test/std_data/funcs_1/myisam_tb1.txt:
Auto merged
mysql-test/std_data/funcs_1/myisam_tb2.txt:
Auto merged
mysql-test/std_data/funcs_1/myisam_tb3.txt:
Auto merged
mysql-test/std_data/funcs_1/myisam_tb4.txt:
Auto merged
mysql-test/std_data/funcs_1/t3.txt:
Auto merged
mysql-test/std_data/funcs_1/t4.txt:
Auto merged
mysql-test/std_data/funcs_1/t7.txt:
Auto merged
mysql-test/std_data/funcs_1/t9.txt:
Auto merged
mysql-test/suite/funcs_1/README.txt:
Auto merged
mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc:
Auto merged
mysql-test/suite/funcs_1/datadict/datadict_load.inc:
Auto merged
mysql-test/suite/funcs_1/include/innodb_tb1.inc:
Auto merged
mysql-test/suite/funcs_1/include/innodb_tb2.inc:
Auto merged
mysql-test/suite/funcs_1/include/innodb_tb3.inc:
Auto merged
mysql-test/suite/funcs_1/include/innodb_tb4.inc:
Auto merged
mysql-test/suite/funcs_1/include/memory_tb1.inc:
Auto merged
mysql-test/suite/funcs_1/include/memory_tb2.inc:
Auto merged
mysql-test/suite/funcs_1/include/memory_tb3.inc:
Auto merged
mysql-test/suite/funcs_1/include/memory_tb4.inc:
Auto merged
mysql-test/suite/funcs_1/include/myisam_tb1.inc:
Auto merged
mysql-test/suite/funcs_1/include/myisam_tb2.inc:
Auto merged
mysql-test/suite/funcs_1/include/myisam_tb3.inc:
Auto merged
mysql-test/suite/funcs_1/include/myisam_tb4.inc:
Auto merged
mysql-test/suite/funcs_1/include/sp_tb.inc:
Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_02.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_03.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_06.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_07.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_08.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_10.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_0102.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_03.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_0407.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_08.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_09.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_frkey.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_views.result:
Auto merged
mysql-test/suite/funcs_1/r/is_columns_innodb.result:
Auto merged
mysql-test/suite/funcs_1/r/is_columns_memory.result:
Auto merged
mysql-test/suite/funcs_1/r/is_columns_myisam.result:
Auto merged
mysql-test/suite/funcs_1/r/is_tables_ndb.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_02.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_03.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_06.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_07.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_08.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_10.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_trig_0102.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_trig_03.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_trig_0407.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_trig_08.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_trig_09.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_trig_1011ext.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_views.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_02.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_03.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_06.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_07.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_08.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_10.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_0102.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_03.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_0407.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_08.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_09.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result:
Auto merged
mysql-test/suite/funcs_1/storedproc/cleanup_sp_tb.inc:
Auto merged
mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc:
Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_02.inc:
Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_03.inc:
Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_06.inc:
Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_10.inc:
Auto merged
mysql-test/suite/funcs_1/t/innodb_trig_0407.test:
Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_02.test:
Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_03.test:
Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_06.test:
Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_07.test:
Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_08.test:
Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_10.test:
Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_02.test:
Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_03.test:
Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_06.test:
Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_07.test:
Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_08.test:
Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_10.test:
Auto merged
mysql-test/suite/funcs_1/triggers/trig_frkey2.inc:
Auto merged
mysql-test/suite/funcs_1/triggers/triggers_0102.inc:
Auto merged
mysql-test/suite/funcs_1/triggers/triggers_03.inc:
Auto merged
mysql-test/suite/funcs_1/triggers/triggers_0407.inc:
Auto merged
mysql-test/suite/funcs_1/triggers/triggers_08.inc:
Auto merged
mysql-test/suite/funcs_1/triggers/triggers_09.inc:
Auto merged
mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc:
Auto merged
mysql-test/suite/funcs_1/views/func_view.inc:
Auto merged
mysql-test/suite/funcs_1/views/views_master.inc:
Auto merged
The problem is that when upgrading the event table, the sql_mode
column was always being added instead of being updated to list new
sql_mode values, causing upgrades of the event which already have
a sql_mode column to not be updated to the new sql_mode values.
The solution is to always add first a stub sql_mode column and
subsequently update the column to the new sql_mode values.
scripts/mysql_system_tables_fix.sql:
Always add and update the sql_mode column of the event table.
into trift2.:/MySQL/M51/push-5.1
client/mysqldump.c:
Auto merged
configure.in:
Auto merged
include/my_global.h:
Auto merged
scripts/mysql_config.sh:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/unireg.h:
Auto merged
into kaamos.(none):/data/src/opt/mysql-5.1-opt
client/mysql.cc:
Auto merged
client/mysqldump.c:
Auto merged
configure.in:
Auto merged
include/my_global.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
mysql-test/include/mix1.inc:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/func_str.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/innodb_mysql.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/filesort.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_plugin.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
storage/ndb/src/kernel/blocks/backup/Backup.hpp:
Auto merged
tests/mysql_client_test.c:
Auto merged
mysql-test/r/func_time.result:
Manual merge.
mysql-test/r/view.result:
Manual merge.
mysql-test/t/view.test:
Manual merge.
scripts/mysql_config.sh:
Manual merge.
sql-common/client.c:
Manual merge.
sql/sql_parse.cc:
Manual merge.
into kaamos.(none):/data/src/opt/mysql-5.0-opt
client/mysql.cc:
Auto merged
sql/filesort.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
tests/mysql_client_test.c:
Auto merged
mysql-test/r/view.result:
Manual merge.
mysql-test/t/view.test:
Manual merge.
scripts/mysql_config.sh:
Manual merge.
Make mysqld_multi.server executable, and allow it to be installed
via chkconfig on LSB-compliant systems.
scripts/make_binary_distribution.sh:
Adjust permissions on some support-files/* scripts: make mysqld_multi.server
executable, and mysql-VERSION.spec not executable.
support-files/mysqld_multi.server.sh:
Add LSB comments for chkconfig to simplify installation for sysadmins.
- Make sure mysqlhotcopy doesn't create unrestorable slaves.
scripts/mysqlhotcopy.sh:
Bug #27101 mysqlhotcopy --record_log_pos retrieves wrong slave parameters
- Record what's been executed by the slave, not what's been delivered.
into chorlton.adsl.perkin.org.uk:/Users/jonathan/mysql/bk/build/5.1
libmysqld/Makefile.am:
Auto merged
scripts/Makefile.am:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
scripts/mysql_config.sh:
Auto merged
sql/Makefile.am:
Auto merged
sql/mysqld.cc:
Auto merged
sql/unireg.h:
Auto merged
mysql_config --cflags gave a flag that forced the HP/UX
C++ compiler into C-mode; as a result, C++ sources could
not be compiled correctly.
We now filter out the offending flag (like we do for Sun)
so that --cflags will work for both C and C++.
scripts/mysql_config.sh:
Add -AC99 (for HP/UX) to the list of flags we need to remove
from "mysql_config --cflags" so they work for C and C++ both.
Remove code from mysqlhotcopy which deals with the so-called "RAID"
feature of older MyISAM.
scripts/mysqlhotcopy.sh:
Remove code which tried to handle the so-called "RAID" files.
The "RAID" feature has been dropped from MySQL builds, and this
code caused mysqlhotcopy to skip (silently) over databases with
two-character names (e.g., "ab").
Add -lmygcc to mysql_config output for libs, libs_r, and embedded_libs.
Required when linking against our static libs, if yassl is used, and gcc
used to build library is significantly different from that which is using
the library.
scripts/mysql_config.sh:
Add -lmygcc to --libs, --libs_r, and --embedded-libs output, if libmygcc.a
is found in the pkglibdir.
This works around a problem when linking against the static client
libs which were built with a different GCC than the current compiler.
In this case, without -lmygcc, several builtin functions (e.g.,
__pure_virtual, __builtin_delete) are left undefined. Currently it
is yassl which pulls in these symbols.
This isn't a problem when linking against shared libraries, or when
using the same compiler version.
Currently it shows up with libs built on build.mysql.com with gcc 2.95.3,
when using them on more recent systems.
Also strip the -mcpu, -mtune, and -march cflags. The calling package can
determine what optimization parameters to choose.
into trift2.:/MySQL/M51/push-5.1
configure.in:
Auto merged
extra/resolveip.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/t/disabled.def:
Take both new entries into "disabled.def".
into dipika.(none):/opt/local/work/mysql-5.1-runtime
include/my_sys.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/suite/binlog/r/binlog_row_binlog.result:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_view.cc:
Auto merged
The problem is that one can not create a stored routine if sql_mode
contains NO_ENGINE_SUBSTITUTION or PAD_CHAR_TO_FULL_LENGTH. Also when
a event is created, the mode is silently lost if sql_mode contains one
of the aforementioned. This was happening because the table definitions
which stored sql_mode values weren't being updated to accept new values
of sql_mode.
The solution is to update, in a backwards compatible manner, the various
table definitions (columns) that store the sql_mode value to take into
account the new possible values. One incompatible change is that if a event
that is being created can't be stored to the mysql.event table, an error
will be raised.
The tests case also ensure that new SQL modes will be added to the mysql.proc
and mysql.event tables, otherwise the tests will fail.
mysql-test/r/events_bugs.result:
Add test case result for Bug#32633
mysql-test/r/information_schema.result:
Update the sql_mode column definition.
mysql-test/r/sp.result:
Add test case result for Bug#32633
mysql-test/r/system_mysql_db.result:
Update the sql_mode column definition.
mysql-test/t/events_bugs.test:
Add test case for Bug#32633
mysql-test/t/sp.test:
Add test case for Bug#32633
mysql-test/t/system_mysql_db_fix50117.test:
Update the sql_mode column definition.
scripts/mysql_system_tables.sql:
Update the sql_mode column definition.
scripts/mysql_system_tables_fix.sql:
Update the sql_mode column definition.
sql/event_db_repository.cc:
Reset and restore SQL modes when storing and loading a
event from the data dictionary. Also throw out a error
if a store fails.
sql/mysqld.cc:
Add warning to avoid this problem in the future.
sql-common/my_user.c:
Truncate length if user name or host name does not fit
in the buffer.
sql/sp.cc:
SQL mode of the thread must not effect data dictionary operations.
Removed references to deleted "mysql_explain_log" and "mysql_tableinfo"
scripts/CMakeLists.txt:
Removed references to deleted "mysql_explain_log" and "mysql_tableinfo"
scripts/Makefile.am:
Removed references to deleted "mysql_explain_log" and "mysql_tableinfo"
scripts/make_win_bin_dist:
Removed references to deleted "mysql_explain_log" and "mysql_tableinfo"
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
client/client_priv.h:
Auto merged
include/my_sys.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/suite/rpl/t/rpl_err_ignoredtable.test:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_view.cc:
Auto merged
mysql-test/suite/rpl/r/rpl_invoked_features.result:
Manual merge.
mysql-test/suite/rpl/t/rpl_invoked_features.test:
Manual merge.
sql/log.cc:
Manual merge.
into chorlton.adsl.perkin.org.uk:/Users/jonathan/mysql/bk/bug-31736/5.1
scripts/Makefile.am:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
scripts/CMakeLists.txt:
Auto merged
scripts/Makefile.am:
Auto merged
scripts/make_win_bin_dist:
Auto merged
couple of Makefiles. Continuation of the fix for bug#31736.
libmysqld/Makefile.am:
Use pkglibdir
plugin/daemon_example/Makefile.am:
Use pkglibdir
plugin/fulltext/Makefile.am:
Use pkglibdir
scripts/Makefile.am:
Use pkglibdir
scripts/make_binary_distribution.sh:
Update comment
sql/Makefile.am:
Use pkglibdir
storage/archive/Makefile.am:
Use pkglibdir
storage/blackhole/Makefile.am:
Use pkglibdir
storage/example/Makefile.am:
Use pkglibdir, fix pkgplugindir
storage/federated/Makefile.am:
Use pkglibdir
storage/innobase/Makefile.am:
Use pkglibdir, fix pkgplugindir
Added Perl version of script "mysql_secure_installation"
make_win_bin_dist:
Corrected copy of SQL files to "share" directory
scripts/mysql_secure_installation.pl.in:
Added Perl version of script "mysql_secure_installation"
scripts/CMakeLists.txt:
Added Perl version of script "mysql_secure_installation"
scripts/Makefile.am:
Added Perl version of script "mysql_secure_installation"
scripts/make_win_bin_dist:
Corrected copy of SQL files to "share" directory
After-merge fix for bug#33536: The target to copy to is now called "$DEST".
scripts/make_binary_distribution.sh:
After-merge fix for bug#33536: The target to copy to is now called "$DEST".
into trift2.:/MySQL/M51/bug33536-5.1
scripts/make_binary_distribution.sh:
Manual merge of the fix for bug#33536 from 5.0 to 5.1,
the restructuring of this script makes automerge fail.
into mysql.com:/home/kent/bk/windows-cleanup/mysql-5.1-build
extra/CMakeLists.txt:
Auto merged
extra/resolveip.c:
Auto merged
scripts/CMakeLists.txt:
Auto merged
scripts/Makefile.am:
Auto merged
scripts/make_win_bin_dist:
Auto merged
scripts/mysql_convert_table_format.sh:
Auto merged
scripts/mysqld_multi.sh:
Auto merged
BitKeeper/deleted/.del-mysql_explain_log.sh~5ddc62808e16bd57:
Auto merged
BitKeeper/deleted/.del-mysql_tableinfo.sh~c715458838a2a818:
Auto merged
Better Windows support in the scripts directory
mysql_config.pl.in, mysql_install_db.pl.in:
New Perl version of Unix shell script, mainly for Windows
Many files in scripts directory:
Use default Perl location "#!/usr/bin/perl" instead of the build host path
extra/CMakeLists.txt:
Added target for executable "resolveip"
extra/resolveip.c:
Exclude Unix specific headers when compiling on Windows
scripts/CMakeLists.txt:
On Windows, filter Perl scripts and change name from ".sh" to ".pl"
mysql_convert_table_format.sh mysql_explain_log.sh
mysql_secure_installation.sh mysql_tableinfo.sh
mysqld_multi.sh mysqldumpslow.sh
mysqlhotcopy.sh
Do the same for the new Windows specific Perl versions of shell scripts
mysql_config.pl.in mysql_install_db.pl.in
In CMake, set reasonable values for 'CFLAGS', 'prefix', 'datadir' and so on.
scripts/Makefile.am:
Include "mysql_config.pl.in" and "mysql_install_db.pl.in" in the source TAR
scripts/make_win_bin_dist:
Only include explicitly listed scripts from the "scripts" directory
scripts/mysql_convert_table_format.sh:
Use default Perl location "#!/usr/bin/perl" instead of the build host path
scripts/mysql_explain_log.sh:
Use default Perl location "#!/usr/bin/perl" instead of the build host path
scripts/mysql_tableinfo.sh:
Use default Perl location "#!/usr/bin/perl" instead of the build host path
scripts/mysqld_multi.sh:
Use default Perl location "#!/usr/bin/perl" instead of the build host path
scripts/mysqldumpslow.sh:
Use default Perl location "#!/usr/bin/perl" instead of the build host path
scripts/mysqlhotcopy.sh:
Use default Perl location "#!/usr/bin/perl" instead of the build host path
scripts/mysql_config.pl.in:
New Perl version of Unix shell script, mainly for Windows
scripts/mysql_install_db.pl.in:
New Perl version of Unix shell script, mainly for Windows
Fix the code to get the "libgcc" file name so that the failure of Intel's ICC
to provide this information does not cause any problems.
This fixes bug#33536 Option "--print-libgcc-file" does not work with ICC compiler
scripts/make_binary_distribution.sh:
The (old) code to get the "libgcc" file name does not really work when using Intel's ICC.
ICC accepts the "--print-libgcc-file" option but ignores it, does not produce any output.
However, ICC tricks automake into taking it for a GCC ("GXX" variable is set, see
http://www.gnu.org/software/autoconf/manual/html_node/C_002b_002b-Compiler.html#C_002b_002b-Compiler
and its discussion of the "AC_PROG_CXX" macro).
There are two possible approaches:
a) Check "$CC" or "$CXX" to tell ICC from GCC, and do not ask ICC for the "libgcc" file name.
b) Just ask it, but protect that code so that its failure does not cause any damage.
This patch takes the second route:
1) Put the call "@CC@ ... --print-libgcc-file" into a pipeline, followed by "|| true",
so that (for the shell semantics) the command cannot fail.
(ICC will exit non-zero because it is not given a source file.)
2) Explicitly redirect any error messages.
3) Do not use the compiler's return code but rather the (non)empty variable to check success.
4) Ensure that the contents really is a file before taking it as a file name.
Item 1) is especially important when the tool gets a "set -e" (this happens in 5.1, currently)
which would make the failing compiler call a fatal thing.
This fixes bug#33536 Option "--print-libgcc-file" does not work with ICC compiler
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
mysql-test/include/have_multi_ndb.inc:
Auto merged
mysql-test/lib/mtr_cases.pl:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
Auto merged
mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result:
Auto merged
mysql-test/suite/rpl_ndb/t/disabled.def:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log_event_old.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/rpl_rli.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_binlog.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_string.cc:
Auto merged
mysql-test/Makefile.am:
SCCS merged
mysql-test/mysql-test-run.pl:
Manual merge.
mysql-test/suite/binlog/t/disabled.def:
Manual merge.
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
Manual merge.
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
Manual merge.
sql/log_event.cc:
Manual merge.
,
and allow override for binary distributions. Extend mysql_config
to print compiled-in plugin location for third-party plugins to
use. Resolves bug#31736.
libmysqld/Makefile.am:
Use pkgplugindir.
plugin/daemon_example/Makefile.am:
Use pkgplugindir.
plugin/fulltext/Makefile.am:
Use pkgplugindir.
scripts/Makefile.am:
Add pkgplugindir.
scripts/make_binary_distribution.sh:
Add pkgplugindir.
scripts/mysql_config.sh:
Add pkgplugindir.
sql/Makefile.am:
Use pkgplugindir.
sql/mysqld.cc:
Use PLUGINDIR, derived from pkgplugindir, instead of
LIBDIR for plugins.
sql/unireg.h:
Use PLUGINDIR instead of LIBDIR, and define to be the
default setting of pkgplugindir.
storage/innobase/Makefile.am:
Use pkgplugindir.
storage/archive/Makefile.am:
Use pkgplugindir.
storage/blackhole/Makefile.am:
Use pkgplugindir.
storage/example/Makefile.am:
Use pkgplugindir.
storage/federated/Makefile.am:
Use pkgplugindir.