mirror of
https://github.com/MariaDB/server.git
synced 2026-10-23 18:49:29 +03:00
MDEV-32745 followup for 7828fb475b
* add a test for new --cat_file feature * fix off-by-one error in --cat_file lines limit * fix broken INCLUDE_DIRECTORIES in extra/ * fix typos * remove mtr-specific workaround from the tool, solve it in the test * remove dead code * fixed memory leak in mariadb-migration-config-file [client-server] section * fixed memory leak in mariadbd --character_set_server=xxx (execution time for main.mariadb-migrate-config-file went down from 150s to 2s) * moved tool header to the tool dir * avoid tripple-initialization of plugins * disable tool builds in ASAN builds (because of RocksDB) * compilation failure on x86 (signedness)
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -64,6 +64,7 @@ extra/generate_option_list
|
||||
extra/mariabackup/mariabackup
|
||||
extra/mariabackup/mbstream
|
||||
extra/mariadb-migrate-config-file
|
||||
extra/mariadbd_options.h
|
||||
extra/my_print_defaults
|
||||
extra/mysql_waitpid
|
||||
extra/mysqld_safe_helper
|
||||
@@ -75,7 +76,6 @@ extra/wolfssl/user_settings.h
|
||||
import_executables.cmake
|
||||
include/*.h.tmp
|
||||
include/config.h
|
||||
include/mariadbd_options.h
|
||||
include/my_config.h
|
||||
include/mysql_version.h
|
||||
include/mysqld_ername.h
|
||||
|
||||
@@ -2187,7 +2187,7 @@ int cat_file(DYNAMIC_STRING* ds, const char* filename, uint max_lines)
|
||||
max_lines= 10000; // Enough for mtr
|
||||
|
||||
char *p= buff, *start= buff, *end=buff+len;
|
||||
while (p < end && line <= max_lines)
|
||||
while (p < end && line < max_lines)
|
||||
{
|
||||
/* Convert cr/lf to lf */
|
||||
if (*p == '\r' && p+1 < end && *(p+1)== '\n')
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
|
||||
|
||||
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${ZLIB_INCLUDE_DIRS} ${PCRE_INCLUDE_DIRS} pcre2-8})
|
||||
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${ZLIB_INCLUDE_DIRS} ${PCRE_INCLUDE_DIRS})
|
||||
|
||||
# Default install component for the files is Server here
|
||||
SET(MYSQL_INSTALL_COMPONENT Server)
|
||||
@@ -46,10 +46,12 @@ ADD_CUSTOM_TARGET(GenError
|
||||
DEPENDS
|
||||
${CMAKE_BINARY_DIR}/include/mysqld_error.h.tmp)
|
||||
|
||||
IF(NOT CMAKE_CROSSCOMPILING AND TARGET mariadbd)
|
||||
# this approach doesn't work with cross-compiing (runs mariadbd)
|
||||
# and doesn't work with ASAN, because LSAN complains about RocksDB (MDEV-36345).
|
||||
IF(NOT CMAKE_CROSSCOMPILING AND NOT WITH_ASAN AND TARGET mariadbd)
|
||||
ADD_EXECUTABLE(generate_option_list generate_option_list.cc)
|
||||
TARGET_LINK_LIBRARIES(generate_option_list mysys pcre2-8)
|
||||
TARGET_INCLUDE_DIRECTORIES(generate_option_list PRIVATE ${PCRE_INCLUDE_DIRS} pcre2-8)
|
||||
TARGET_INCLUDE_DIRECTORIES(generate_option_list PRIVATE ${PCRE_INCLUDE_DIRS})
|
||||
GET_PROPERTY(dynamic_plugins GLOBAL PROPERTY SERVER_DYNAMIC_PLUGINS)
|
||||
GET_PROPERTY(is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
IF(is_multi_config)
|
||||
@@ -83,7 +85,7 @@ IF(NOT CMAKE_CROSSCOMPILING AND TARGET mariadbd)
|
||||
ENDIF()
|
||||
|
||||
STRING(REPLACE ";" ":" escaped_plugin_load "${plugin_load}")
|
||||
SET(genhdr ${CMAKE_BINARY_DIR}/include/mariadbd_options.h)
|
||||
SET(genhdr ${CMAKE_BINARY_DIR}/extra/mariadbd_options.h)
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${genhdr}
|
||||
# COMMAND ${CMAKE_COMMAND} -E echo "Executing ${populate_plugin_dir}"
|
||||
${populate_plugin_dir}
|
||||
@@ -105,6 +107,7 @@ IF(NOT CMAKE_CROSSCOMPILING AND TARGET mariadbd)
|
||||
# Make sure consumers cannot compile before the header exists:
|
||||
SET_SOURCE_FILES_PROPERTIES("${genhdr}" PROPERTIES GENERATED TRUE)
|
||||
TARGET_LINK_LIBRARIES(mariadb-migrate-config-file PRIVATE mysys)
|
||||
TARGET_INCLUDE_DIRECTORIES(mariadb-migrate-config-file PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
||||
ENDIF()
|
||||
|
||||
MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.c COMPONENT Client)
|
||||
|
||||
@@ -792,6 +792,7 @@ static void generator_free(struct generator *generator)
|
||||
delete_dynamic(&generator->old_version);
|
||||
delete_dynamic(&generator->unsupported_version);
|
||||
delete_dynamic(&generator->mariadbd_additions);
|
||||
delete_dynamic(&generator->client_server);
|
||||
my_free(generator->output_group);
|
||||
}
|
||||
|
||||
@@ -2267,7 +2268,7 @@ static void print_to_width(const char *line, uint width)
|
||||
|
||||
for (start= line ; *line ; line++)
|
||||
{
|
||||
if ((line-start) >= width)
|
||||
if ((uint)(line-start) >= width)
|
||||
{
|
||||
if (!space)
|
||||
space= line; /* No space */
|
||||
@@ -2520,8 +2521,6 @@ int main(int argc, char **argv)
|
||||
{
|
||||
/* Write 'add options' only to the first found config file */
|
||||
add_new_options_once= 1;
|
||||
/* Ensure that symbolic links are not expanded. Needed for mtr */
|
||||
my_defaults_use_original_paths= 1;
|
||||
if ((error= my_load_defaults(config_file, groups_to_use,
|
||||
&count, &arguments, &default_directories)))
|
||||
goto handle_error;
|
||||
|
||||
@@ -23,7 +23,7 @@ default_regex_flags=invalid
|
||||
EOF
|
||||
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp2.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --edit=remove
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -56,7 +56,7 @@ log-bin=1
|
||||
log_error_verbosity = 3
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp2.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --edit=last
|
||||
|
||||
--echo # Changed files
|
||||
@@ -65,7 +65,7 @@ EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp2.cnf
|
||||
|
||||
--echo # Verify no more changes
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --edit=last
|
||||
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -81,7 +81,7 @@ invalid=true
|
||||
alter_algorithm=invalid
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --edit=comment
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -122,7 +122,7 @@ port=33
|
||||
key_buffer_size=20M
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --error-group=mysqld-5.7 --edit=inline --from=mariadb
|
||||
--echo # Changed file
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -158,7 +158,7 @@ port=33
|
||||
key_buffer_size=20M
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --error-group=mysqld-5.7 --edit=last --from=mariadb
|
||||
--echo # Changed file
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -219,7 +219,7 @@ key_buffer_size=20M
|
||||
alter_algorithm=invalid
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --error-group=unknown --edit=last --from=mariadb
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -232,7 +232,7 @@ EOF
|
||||
key_buffer_size=20M
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --error-group=mysqld-5.7 --edit=last --from=mysql
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -245,7 +245,7 @@ EOF
|
||||
key_buffer_size=20M
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --error-group=mysqld-5.7 --edit=last --from=mysql --no-myisam
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -258,7 +258,7 @@ EOF
|
||||
key_buffer_size=20M
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --error-group=mysqld-5.7 --edit=last
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -271,7 +271,7 @@ EOF
|
||||
key_buffer_size=20M
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --error-group=mysqld-5.7 --edit=last --no-myisam
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -284,7 +284,7 @@ EOF
|
||||
default_week_format=1
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --error-group=mysqld-5.7 --edit=last --add-skip-slave-start
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -297,7 +297,7 @@ EOF
|
||||
skip_slave_start
|
||||
EOF
|
||||
#--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --error-group=mysqld-5.7 --edit=last --add-skip-slave-start
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -313,7 +313,7 @@ audit_log-disabled
|
||||
audit_log=on
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --error-group=mysqld-5.7 --edit=last --add-skip-slave-start
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -327,7 +327,7 @@ audit_log=ON
|
||||
audit_log_file=name
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --error-group=mysqld-5.7 --edit=last --add-skip-slave-start
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -341,7 +341,7 @@ audit_log-disabled
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --error-group=mysqld-5.7 --edit=last --add-skip-slave-start
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -357,7 +357,7 @@ log_error_verbosity = 3
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --error-group=mysqld-5.7 --edit=last --add-skip-slave-start
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -371,7 +371,7 @@ innodb_data_file_path=/var/mysql/test2
|
||||
key_buffer_size=20M
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --error-group=mysqld-5.7 --edit=last --fix-all
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -385,7 +385,7 @@ innodb_data_file_path=/var/mysql/test2
|
||||
key_buffer_size=20M
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --update --verify --error-group=mysqld-5.7 --edit=last --fix-all --update-paths
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -406,10 +406,10 @@ dummy2=2
|
||||
innodb_data_file_path=/var/mysql/test2
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--error 2
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --update-paths --add-mariadb-replication-compatibility
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd="not_found_here" --update --verify --edit=last --silent --update-paths --verify=0
|
||||
--echo # Changed file
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -424,9 +424,9 @@ innodb_stats_sample_pages=1
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_regex /### File[^\n]*/### File [name hidden]/
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --print --edit=last
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--error 2
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -441,16 +441,16 @@ innodb_log_file_size=2G
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--echo # Checking file
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--error 2
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--echo # Updating file
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --update --verify --edit=last --mariadbd=$MYSQLD --verify
|
||||
--echo # Changed file
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--echo # Checking if file is ok now
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --verify=0
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
|
||||
@@ -478,11 +478,11 @@ character-set-server=utf8mb4
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--echo # MySQL -> MariaDB compatibility
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --print --edit=last --verify=0 --add-mariadb-replication-compatibility
|
||||
|
||||
--echo # MariaDB -> MySQL compatibility
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --print --edit=last --verify=0 --add-mysql-replication-compatibility
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
|
||||
@@ -505,7 +505,7 @@ socket="/tmp/mysql8.sock"
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--echo # --add-client-server-group
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --print --edit=last --verify=0 --add-client-server-group --update-paths
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
|
||||
@@ -522,7 +522,7 @@ port=99
|
||||
socket="/tmp/mysql8.sock"
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --update --edit=last --add-client-server-group --mariadbd=$MYSQLD --verify
|
||||
--echo # Changed file
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -538,13 +538,13 @@ socket="/tmp/mysql.sock"
|
||||
EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--echo # Testing with --copy-mysqld-groups=0
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --update --edit=last --copy-mysqld-groups=0 --mariadbd=$MYSQLD --verify
|
||||
--echo # Testing with --copy-mysqld-groups=1
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--error 2
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --copy-mysqld-groups=1
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --update --edit=last --copy-mysqld-groups=1 --mariadbd=$MYSQLD --verify
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
@@ -583,21 +583,21 @@ EOF
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--echo # Output from --print --edit=last --update-paths
|
||||
--replace_regex /### File[^\n]*/### File [name hidden]/
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd="not_found_here" --print --edit=last --update-paths
|
||||
|
||||
--echo #
|
||||
--echo # Test that second update of file with 'last' will no do anything
|
||||
--echo #
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --update --edit=last --update-paths --verify=0
|
||||
# Check file
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --mariadbd=$MYSQLD --copy-mysqld-groups=0
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --update-paths --mariadbd=$MYSQLD --copy-mysqld-groups=0
|
||||
--echo "Next command should not change anything"
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $MYSQLTEST_REAL_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MARIADB_MIGRATE_CONFIG_FILE --defaults-file=$MYSQLTEST_VARDIR/tmp/tmp1.cnf --update --edit=last --update-paths --backup --verify=0
|
||||
--cat_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/tmp1.cnf
|
||||
|
||||
@@ -733,6 +733,10 @@ These lines should be repeated,
|
||||
if things work as expected
|
||||
These lines should be repeated,
|
||||
if things work as expected
|
||||
===
|
||||
These lines should be repeated,
|
||||
if things work as expected
|
||||
===
|
||||
Some data
|
||||
for cat_file command
|
||||
of mysqltest
|
||||
|
||||
@@ -2274,6 +2274,9 @@ EOF
|
||||
}
|
||||
|
||||
cat_file $MYSQLTEST_VARDIR/tmp/app_while.tmp;
|
||||
echo ===;
|
||||
cat_file $MYSQLTEST_VARDIR/tmp/app_while.tmp 2; # feature sneaked inside MDEV-32745
|
||||
echo ===;
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/app_while.tmp;
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
@@ -1544,7 +1544,7 @@ sub command_line_setup {
|
||||
$opt_vardir= $default_vardir;
|
||||
}
|
||||
|
||||
# We make the path asbolute, as the server will do a chdir() before usage
|
||||
# We make the path absolute, as the server will do a chdir() before usage
|
||||
unless ( $opt_vardir =~ m,^/, or
|
||||
(IS_WINDOWS and $opt_vardir =~ m,^[a-z]:[/\\],i) )
|
||||
{
|
||||
|
||||
@@ -52,14 +52,14 @@
|
||||
*/
|
||||
static char *file_marker= (char*)"----file-marker----";
|
||||
my_bool my_defaults_mark_files= FALSE;
|
||||
my_bool my_defaults_use_original_paths= FALSE;
|
||||
|
||||
my_bool is_file_marker(const char* arg)
|
||||
{
|
||||
return arg == file_marker;
|
||||
}
|
||||
|
||||
my_bool my_no_defaults=FALSE, my_print_defaults= FALSE;
|
||||
static my_bool my_print_defaults= FALSE;
|
||||
my_bool my_no_defaults=FALSE;
|
||||
const char *my_defaults_file=0;
|
||||
const char *my_defaults_group_suffix=0;
|
||||
const char *my_defaults_extra_file=0;
|
||||
@@ -162,6 +162,7 @@ static int my_search_option_files(const char *conf_file,
|
||||
const char **dirs;
|
||||
int error= 0;
|
||||
DBUG_ENTER("my_search_option_files");
|
||||
DBUG_ASSERT(default_directories);
|
||||
|
||||
if (my_defaults_group_suffix)
|
||||
{
|
||||
@@ -200,8 +201,8 @@ static int my_search_option_files(const char *conf_file,
|
||||
|
||||
if (my_defaults_file)
|
||||
{
|
||||
if ((error= search_default_file_with_ext(ctx, "", "",
|
||||
my_defaults_file, 0)) < 0)
|
||||
error= search_default_file_with_ext(ctx, "", "", my_defaults_file, 0);
|
||||
if (error < 0)
|
||||
goto err;
|
||||
if (error > 0)
|
||||
{
|
||||
@@ -210,7 +211,7 @@ static int my_search_option_files(const char *conf_file,
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
else if (dirname_length(conf_file) || !default_directories)
|
||||
else if (dirname_length(conf_file))
|
||||
{
|
||||
if ((error= search_default_file(ctx, NullS, conf_file)) < 0)
|
||||
goto err;
|
||||
@@ -327,15 +328,13 @@ int get_defaults_options(char **argv)
|
||||
if (! my_defaults_group_suffix)
|
||||
my_defaults_group_suffix= getenv("MYSQL_GROUP_SUFFIX");
|
||||
|
||||
if (my_defaults_extra_file && my_defaults_extra_file != extra_file_buffer &&
|
||||
! my_defaults_use_original_paths)
|
||||
if (my_defaults_extra_file && my_defaults_extra_file != extra_file_buffer)
|
||||
{
|
||||
my_realpath(extra_file_buffer, my_defaults_extra_file, MYF(0));
|
||||
my_defaults_extra_file= extra_file_buffer;
|
||||
}
|
||||
|
||||
if (my_defaults_file && my_defaults_file != file_buffer &&
|
||||
! my_defaults_use_original_paths)
|
||||
if (my_defaults_file && my_defaults_file != file_buffer)
|
||||
{
|
||||
my_realpath(file_buffer, my_defaults_file, MYF(0));
|
||||
my_defaults_file= file_buffer;
|
||||
@@ -382,8 +381,8 @@ int load_defaults(const char *conf_file, const char **groups,
|
||||
Points to an null terminated array of pointers
|
||||
argc Pointer to argc of original program
|
||||
argv Pointer to argv of original program
|
||||
default_directories Pointer to a location where a pointer to the list
|
||||
of default directories will be stored
|
||||
default_directories Pointer to a location where a pointer to the
|
||||
list of default directories will be stored
|
||||
|
||||
IMPLEMENTATION
|
||||
|
||||
@@ -405,8 +404,8 @@ int load_defaults(const char *conf_file, const char **groups,
|
||||
|
||||
- 1 is returned if the given conf_file didn't exist. In this case, the
|
||||
value pointed to by default_directories is undefined.
|
||||
- 4 is returned --print-defaults was used. The caller should just do exit(0)
|
||||
in this ase
|
||||
- 4 is returned --print-defaults was used. The caller should just do
|
||||
exit(0) in this case
|
||||
*/
|
||||
|
||||
|
||||
@@ -438,7 +437,7 @@ int my_load_defaults(const char *conf_file, const char **groups, int *argc,
|
||||
|
||||
if (!my_no_defaults)
|
||||
{
|
||||
TYPELIB group; // XXX
|
||||
TYPELIB group;
|
||||
struct handle_option_ctx ctx;
|
||||
|
||||
group.count=0;
|
||||
|
||||
@@ -202,7 +202,6 @@ error:
|
||||
|
||||
/*
|
||||
Remove directory recursively.
|
||||
Symlinks are deleted, not followed
|
||||
*/
|
||||
int my_rmtree(const char *dir, myf MyFlags)
|
||||
{
|
||||
@@ -211,9 +210,7 @@ int my_rmtree(const char *dir, myf MyFlags)
|
||||
int err = 0;
|
||||
size_t i;
|
||||
|
||||
MY_DIR *dir_info = my_dir(dir,
|
||||
MYF(MY_DONT_SORT | MY_WANT_STAT |
|
||||
(MyFlags & (MY_NOSYMLINKS | MY_WME))));
|
||||
MY_DIR *dir_info = my_dir(dir, MYF(MY_DONT_SORT | MY_WANT_STAT));
|
||||
if (!dir_info)
|
||||
return 1;
|
||||
|
||||
@@ -228,7 +225,7 @@ int my_rmtree(const char *dir, myf MyFlags)
|
||||
|
||||
if (!MY_S_ISDIR(file->mystat->st_mode))
|
||||
{
|
||||
err = my_delete(path, (MyFlags & ~MY_NOSYMLINKS));
|
||||
err = my_delete(path, MyFlags);
|
||||
#ifdef _WIN32
|
||||
/*
|
||||
On Windows, check and possible reset readonly attribute.
|
||||
|
||||
@@ -352,18 +352,8 @@ MY_STAT *my_stat(const char *path, MY_STAT *stat_area, myf my_flags)
|
||||
my_flags)))
|
||||
goto err;
|
||||
#ifndef _WIN32
|
||||
{
|
||||
int error;
|
||||
if (my_flags & MY_NOSYMLINKS)
|
||||
error= lstat((char *) path, (struct stat *) stat_area);
|
||||
else
|
||||
error= stat((char *) path, (struct stat *) stat_area);
|
||||
|
||||
if (!error)
|
||||
{
|
||||
DBUG_RETURN(stat_area);
|
||||
}
|
||||
}
|
||||
if (!stat((char *) path, (struct stat *) stat_area))
|
||||
DBUG_RETURN(stat_area);
|
||||
#else
|
||||
if (!my_win_stat(path, stat_area))
|
||||
DBUG_RETURN(stat_area);
|
||||
|
||||
@@ -7936,14 +7936,15 @@ static void print_help()
|
||||
static void usage(void)
|
||||
{
|
||||
DBUG_ENTER("usage");
|
||||
myf utf8_flag= global_system_variables.old_behavior &
|
||||
OLD_MODE_UTF8_IS_UTF8MB3 ? MY_UTF8_IS_UTF8MB3 : 0;
|
||||
if (!(default_charset_info= get_charset_by_csname(default_character_set_name,
|
||||
MY_CS_PRIMARY,
|
||||
MYF(utf8_flag | MY_WME))))
|
||||
exit(1);
|
||||
if (!default_collation_name)
|
||||
default_collation_name= (char*) default_charset_info->coll_name.str;
|
||||
{
|
||||
myf utf8_flag= global_system_variables.old_behavior &
|
||||
OLD_MODE_UTF8_IS_UTF8MB3 ? MY_UTF8_IS_UTF8MB3 : 0;
|
||||
default_charset_info= get_charset_by_csname(default_character_set_name,
|
||||
MY_CS_PRIMARY, MYF(utf8_flag | MY_WME));
|
||||
if (default_charset_info)
|
||||
default_collation_name= (char*) default_charset_info->coll_name.str;
|
||||
}
|
||||
print_version();
|
||||
puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000"));
|
||||
puts("Starts the MariaDB database server.\n");
|
||||
|
||||
@@ -1118,8 +1118,7 @@ static st_plugin_int *plugin_insert_or_reuse(struct st_plugin_int *plugin)
|
||||
NOTE
|
||||
Requires that a write-lock is held on LOCK_system_variables_hash
|
||||
*/
|
||||
static enum install_status
|
||||
plugin_add(MEM_ROOT *tmp_root, bool if_not_exists,
|
||||
static enum install_status plugin_add(MEM_ROOT *tmp_root, bool if_not_exists,
|
||||
const LEX_CSTRING *name, LEX_CSTRING *dl, myf MyFlags)
|
||||
{
|
||||
struct st_plugin_int tmp, *maybe_dupe;
|
||||
@@ -1808,7 +1807,8 @@ int plugin_init(int *argc, char **argv, int flags)
|
||||
}
|
||||
|
||||
/* load and init plugins from the plugin table (unless done already) */
|
||||
if (flags & PLUGIN_INIT_SKIP_PLUGIN_TABLE)
|
||||
if (flags & PLUGIN_INIT_SKIP_PLUGIN_TABLE ||
|
||||
plugin_table_engine_name.length == 0)
|
||||
break;
|
||||
|
||||
mysql_mutex_unlock(&LOCK_plugin);
|
||||
@@ -4072,13 +4072,13 @@ static int construct_options(MEM_ROOT *mem_root, struct st_plugin_int *tmp,
|
||||
|
||||
if (opt->flags & PLUGIN_VAR_NOCMDOPT)
|
||||
{
|
||||
char *val= global_system_variables.dynamic_variables_ptr + offset;
|
||||
char **val= (char**)(global_system_variables.dynamic_variables_ptr + offset);
|
||||
if (((opt->flags & PLUGIN_VAR_TYPEMASK) == PLUGIN_VAR_STR) &&
|
||||
(opt->flags & PLUGIN_VAR_MEMALLOC))
|
||||
{
|
||||
char *def_val= *(char**)var_def_ptr(opt);
|
||||
my_free(*(char**)val);
|
||||
*(char**)val= def_val ? my_strdup(PSI_INSTRUMENT_ME, def_val, MYF(0)) : NULL;
|
||||
my_free(*val);
|
||||
*val= def_val ? my_strdup(PSI_INSTRUMENT_ME, def_val, MYF(0)) : NULL;
|
||||
}
|
||||
else
|
||||
memcpy(val, var_def_ptr(opt), var_storage_size(opt->flags));
|
||||
|
||||
Reference in New Issue
Block a user