- 06 Jul, 2017 9 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
xtrabackup_copy_log(), xtrabackup_copy_logfile(): Change the Boolean parameter to an enum, with the values COPY_FIRST, COPY_ONLINE, COPY_LAST. xtrabackup_copy_log(): Return the latest scanned LSN, which may be less than the last copied LSN. Remove some dead code that was duplicating some logic that in 10.2 has been moved to log_group_read_log_seg(). log_copying_thread(): Correct the termination condition. stop_backup_threads(): Shut down the threads that were created during backup.
-
Marko Mäkelä authored
Use GET_STR instead of GET_STR_ALLOC, so that the memory will cannot be leaked. For some reason, calling my_cleanup_options() on xb_server_options or xb_client_options would not work.
-
Vladislav Vaintroub authored
This reduces the probability having output of external utilities (e.g mariabackup) truncated.
-
Vladislav Vaintroub authored
MDEV-12445 : Rocksdb does not shutdown worker threads and aborts in memleak check on server shutdown Disable memory leak check in debug server, if rocksdb is loaded. There is some subtle bug somewhere in 3rd party code we cannot do much about. The bug is manifested as follows Rocksdb does not shutdown worker threads, when plugin is shut down. Thus OS does not unload the library since there are some active threads using this library's code. Thus global destructors in the library do not run, and there is still some memory allocated when server exits. The workaround disables server's memory leak check, if rocksdb engine was loaded.
-
Vladislav Vaintroub authored
Use thd_query_safe() to read query from a different connection.
-
Marko Mäkelä authored
The option innodb_log_compressed_pages was contributed by Facebook to MySQL 5.6. It was disabled in the 5.6.10 GA release due to problems that were fixed in 5.6.11, which is when the option was enabled. The option was set to innodb_log_compressed_pages=ON by default (disabling the feature), because safety was considered more important than speed. The option innodb_log_compressed_pages=OFF can *CORRUPT* ROW_FORMAT=COMPRESSED tables on crash recovery if the zlib deflate function is behaving differently (producing a different amount of compressed data) from how it behaved when the redo log records were written (prior to the crash recovery). In MDEV-6935, the default value was changed to innodb_log_compressed_pages=OFF. This is inherently unsafe, because there are very many different environments where MariaDB can be running, using different zlib versions. While zlib can decompress data just fine, there are no guarantees that different versions will always compress the same data to the exactly same size. To avoid problems related to zlib upgrades or version mismatch, we must use a safe default setting. This will reduce the write performance for users of ROW_FORMAT=COMPRESSED tables. If you configure innodb_log_compressed_pages=ON, please make sure that you will always cleanly shut down InnoDB before upgrading the server or zlib.
-
Sergey Vojtovich authored
-
Fredrik Fornwall authored
Replace S_IREAD, S_IWRITE and S_IEXEC with more modern equivalents. Fixes building for Android.
-
- 05 Jul, 2017 31 commits
-
-
Marko Mäkelä authored
Since MariaDB 10.2.2, temporary table metadata is not written to the InnoDB data dictionary tables. Therefore, the DICT_TF2_TEMPORARY flag cannot be set in SYS_TABLES, except if there exist orphan temporary tables that were created before MariaDB 10.2.2. trx_resurrect_table_locks(): Do not skip temporary tables. If a resurrect transaction modified a temporary table that was created before MariaDB 10.2.2, that table would be treated internally as a persistent table. It is safer to resurrect locks than to skip the table, because the table would be modified on transaction rollback.
-
Elena Stepanova authored
The test did not handle correctly possible difference in system timezone. The fix is to remove non-functional setting of local time_zone and instead allow timestamp replacement to work with any date/time
-
Marko Mäkelä authored
buf_flush_page_cleaner_coordinator: In the first loop, use an appropriate termination condition, waiting for !recv_writer_thread_active. logs_empty_and_mark_files_at_shutdown(): Signal recv_sys->flush_start in case the recv_writer_thread was never started, or buf_flush_page_cleaner_coordinator failed to notice its termination. innobase_start_or_create_for_mysql(): Remove a redundant, unreachable condition, and properly release resources when aborting startup due to recv_sys->found_corrupt_log.
-
Sergei Golubchik authored
-
Eugene Kosov authored
Patch submitted by Eugene Kosov <claprix@yandex.ru>, comments added by commiter. Signed-off-by: Vicențiu Ciorbaru <vicentiu@mariadb.org>
-
Sergei Golubchik authored
-
Sergei Golubchik authored
for compatibility with MySQL, add 'JSON' as an alias for 'TEXT'
-
Sergei Golubchik authored
with -DPLUGIN_PARTITION=NO and -DPLUGIN_PERFSCHEMA=NO
-
Sergei Golubchik authored
Fix INFORMATION_SCHEMA.COLUMNS.COLUMN_DEFAULT to be standard-compliant, but keep SHOW COLUMNS backward-compatibly unchanged.
-
Sergei Golubchik authored
if we don't need to print field's table name, we surely don't need to print field's db name either
-
Sergei Golubchik authored
Use the correct target name when querying libmariadb.so dependencies. Filter out linker options (no-undefined and the version script)
-
Sergei Golubchik authored
remove double-initialization of MYSQL structure
-
Sergei Golubchik authored
-
Sergei Golubchik authored
remove ANSI_QUOTES when generating partition syntax for frm
-
Sergei Golubchik authored
Remove now-unused part_func_string and subpart_func_string from partition_info.
-
Sergei Golubchik authored
don't print partitioning expression as it was entered by the user, use Item::print() according to the sql_mode and sql_quote_show_create
-
Sergei Golubchik authored
Don't write to a temporary file, use String. Remove strange one-liner "helpers", use String methods. Don't use current_thd, don't allocate memory for 1-byte strings, etc.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
don't do auditing if thd is NULL. Collaterals: * copy-paste bugs server_audit.c * uninitialized user field when thd in NULL
-
Sergei Golubchik authored
when opening 10.1- table that has virtual columns: 1. don't error out if it has vcols over autoinc columns. just issue a warning. 2. set vcol type properly 3. in innodb: use table->s->stored_fields instead of table->s->fields, because that's what was stored in innodb data dictionary
-
Sergei Golubchik authored
and MDEV-13144 regexp on views - crashed mariadb server implement Item_func_regex::build_clone()
-
Sergei Golubchik authored
use correct type for Alter_inplace_info flags.
-
Sergei Golubchik authored
MDEV-11930 Unexpected ER_ERROR_EVALUATING_EXPRESSION warning upon dropping database with a bad table DBUG_EXECUTE_IF was wrong, it used my_error, but didn't do error=1. It's not clear what it was actually testing, what it was supposed to be testing, and what it has to do with bug#43138, so I removed it.
-
Sergei Golubchik authored
CRYPTO_set_mem_functions() works only until the first allocation is done: * remove the second CRYPTO_set_mem_functions() call * check whether the first CRYPTO_set_mem_functions() call worked * stricter memory checks (==1, not >1, etc) * as coc_malloc cannot be removed, make the counter a bit cheaper * only do the check for OpenSSL 1.1 (because of OpenSSL 1.0 bug)
-
Sergei Golubchik authored
-
Sergei Golubchik authored
the array only needs to be reallocated if it's smaller than needed. Being larger is ok. also: remove a duplicated check (merge error)
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
don't use thd->query_id check in background purge threads (it doesn't work, because thd->query_id is never incremented there) instead use thd->open_tables directly, there can be only one table there anyway, and this is the table opened by this purge thread.
-
Sergei Golubchik authored
cannot use unireg_abort() until mutexes are initialized.
-
Sergei Golubchik authored
-