- 12 Mar, 2010 1 commit
-
-
Alexander Nozdrin authored
-
- 10 Mar, 2010 7 commits
-
-
Davi Arnaut authored
The problem was that in read only mode (read_only enabled), the server would mistakenly deny data modification attempts for temporary tables which belong to a transactional storage engine (eg. InnoDB). The solution is to allow transactional temporary tables to be modified under read only mode. As a whole, the read only mode does not apply to any kind of temporary table. mysql-test/r/read_only_innodb.result: Add test case result for Bug#33669 mysql-test/t/read_only_innodb.test: Add test case for Bug#33669 sql/lock.cc: Rename mysql_lock_tables_check to lock_tables_check and make it static. Move locking related checks from get_lock_data to lock_tables_check. Allow write locks to temporary tables even under read-only.
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Joerg Bruehe authored
-
Joerg Bruehe authored
Plugins included into bin release cannot be installed on debug version of server IF the build process was split into separate "debug" and "optimized" builds AND the plugin files of the debug build got copied into "plugin/debug/" (both is done for MySQL release builds starting from 5.5.3), THEN these debug plugin files are to be included in the final binary package. This change deals with the inclusion only, the other parts are done in different changesets. plugin/Makefile.am: The "install" rule must not assume that "debug" files are present, this depends on the preceding steps in the build. If they are present, we cannot copy them by simply using "libtool install" (as we could do during an ordinary build) because they are already kept in "plugin/debug/". When doing the copy to the destination hierarchy, we must ensure that symlinks are not expanded but rather copied as symlinks. "cp -d" is specific to GNU, the portable way would use "cp -P", but that is not fully specified with recursion. So we fall back on "tar c | tar x", which is known to keep symlinks unchanged (and un-expanded). Using "$(TAR)" is just a precaution in case of weird path settings or other portability issues.
-
Mats Kindahl authored
-
- 09 Mar, 2010 9 commits
-
-
Marc Alff authored
This is a fix specific for HPUX, for which the compiler does not resolve properly dependencies involving unused inline functions. (See existing comments in mysql_thread.h) In include/mysql/psi/mysql_thread.h, the instrumentation helpers for mysql_prlock_* uses the pr lock apis. These apis are implemented in mysys/thr_rwlock.c, which is not linked to client code. As a result, the code does not link in libmysql_r, on HPUX. The fix is to cut dependencies explicitely, by introducing -DDISABLE_MYSQL_RWLOCK_H, when building client code.
-
Tor Didriksen authored
Ensure that we store the correct cached_field_type whenever we cache Field items (in this case it allows us to compare dates as dates, rather than strings) mysql-test/r/type_timestamp.result: Add test case. mysql-test/t/type_timestamp.test: Add test case. sql/item.h: Initialize cached_field_type from the Field item.
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
Before this fix, client tools (mysql_upgrade, mysqlcheck, mysqldump) would try to process performance schema tables, leading to failures. The fix is to align FIRST_PERFORMANCE_SCHEMA_VERSION to 5.5.3, which is the version number of mysql-trunk where the performance schema is first available.
-
- 07 Mar, 2010 6 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
Marc Alff authored
Before this fix, the performance schema instrumentation in mdl.h / mdl.cc was incomplete, causing: - build warnings, - no data collection for the performance schema This fix: - added instrumentation helpers for the new preferred reader read write lock, mysql_prlock_* - implemented completely the performance schema instrumentation of mdl.h / mdl.cc
-
Marc Alff authored
-
Marc Alff authored
-
Marc Alff authored
-
- 06 Mar, 2010 11 commits
-
-
Bjorn Munch authored
Set $glob_bindir, like $bindir in v2 Removed some obsolete IM code rather than changing it
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
- 05 Mar, 2010 6 commits
-
-
Marc Alff authored
Before this fix, mysql_upgrade would always drop and re create the performance_schema database. This in theory could destroy user data created using 5.1 or older versions. With this fix, mysql_upgrade checks the content of the performance_schema database before droping it.
-
Guilhem Bichot authored
Fix for BUG#51215 "log-error partially works with version 5.5": WL 4738 (reengineering of server variables) had broken the 5.1 behaviour of --log-error: --log-error without argument sent to stderr instead of writing to a file with an autogenerated name. mysql-test/suite/sys_vars/t/log_error_func.test: test that error log is created and shown in SHOW VARIABLES. Interestingly the error log's path is apparently relative if --log-error=argument is used, but may be absolute or relative if --log-error(no argument) is used (because then the path is derived from that of pidfile_name, which can be absolute or relative, depending on if autogenerated or not). mysql-test/suite/sys_vars/t/log_error_func2.test: test that error log is created and shown in SHOW VARIABLES mysql-test/suite/sys_vars/t/log_error_func3.test: test that error log is empty in SHOW VARIABLES sql/mysql_priv.h: id for option --log-error sql/mysqld.cc: No --log-error means "write errors to stderr", whereas --log-error without argument means "write errors to a file". So we cannot use the default logic of class sys_var_charptr, which treats "option not used" the same as "option used without argument" and uses the same default for both. We need to catch "option used", in mysqld_get_one_option(), and then "without argument". Setting to "" makes sure that init_server_components() will create the log, with an autogenerated name. sql/sys_vars.cc: need to give the option a numeric id so that we can catch it in mysqld_get_one_option()
-
Alexander Nozdrin authored
-
Alexander Barkov authored
-
Marc Alff authored
The unit test pfs_instr-t: - generates a very long (10,000) bytes file name - calls find_or_create_file. This leads to a buffer overflow in mysys in my_realpath(), because my_realpath and mysys file APIs in general do not test for input parameters: mysys assumes every file name is less that FN_REFLEN in length. Calling find_or_create_file with a very long file name is likely to happen when instrumenting third party code that does not use mysys, so this test is legitimate. The fix is to make find_or_create_file in the performance schema more robust in this case.
-
Marc Alff authored
The root cause of the failure is that when Bug#51447 performance schema evil twin files was fixed, instrumented file names got normalized. The pfs-t unit test depends on this file normalization, but it was not updated. This fix aligns pfs-t.cc lookup_file_by_name() with the logic in pfs_instr.cc find_or_create_file().
-