- 01 Nov, 2019 3 commits
-
-
Marko Mäkelä authored
GCC 4.7 only knows about std::map::insert(), not emplace(). Also, reformat the function in the common style.
-
Marko Mäkelä authored
page_recv_t: Replaces recv_sys_t::recs_t. page_recv_t::state is not private, even though some accessors exist. page_recv_t::log: A singly-linked list of log_rec_t* with STL decoration and the custom operations trim() and append(). The list members are private. recv_t::data_t: Replaces recv_data_t. recv_t::data: Remove the pointer indirection for the first log chunk, and copy the first chunk directly after the record. Adjust the definition of RECV_DATA_BLOCK_SIZE accordingly.
-
Marko Mäkelä authored
In the collections of Standard Template Library, empty() is a predicate and clear() empties a collection. Let us rename recv_sys.empty() to recv_sys.clear() to avoid confusion.
-
- 31 Oct, 2019 2 commits
-
-
Sergei Golubchik authored
simplify type naming (less boilerplate code). don't force a plugin to specify the name twice.
-
Sergei Golubchik authored
typos, comments
-
- 30 Oct, 2019 4 commits
-
-
Monty authored
-
Alexander Barkov authored
-
Alexander Barkov authored
In order to: - unify sql_yacc.yy and sql_yacc_ora.yy easier - move more functionality from the parser to Type_handler (so plugins can override the behavior) this patch: - removes rules sp_param_field_type_string and sp_param_field_type from sql_yacc_ora.yy - adds a new virtial method Type_handler::Column_definition_set_attributes()
-
Marko Mäkelä authored
ut_strcmp(), ut_strcpy(), ut_strlen(), ut_memcpy(), ut_memcmp(), ut_memmove(): Remove. Invoke the standard library functions directly.
-
- 29 Oct, 2019 5 commits
-
-
Eugene Kosov authored
TODO: do not use fil_* functions for redo log files. log_t::checkpoint_lock: remove this lock which was used to wait for async I/O completion. checkpoint_lock_key checkpoint_lock: remove now unneeded globals log_write_checkpoint_info(): remove sync argument because all checkpoint writes are synchronous now log_write_checkpoint_info(): remove sync argument log_group_checkpoint(): merge with the only caller log_complete_checkpoint(): merge with the only caller log_t::complete_checkpoint(): remove by merging with the only caller.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Alexander Barkov authored
Adding the missing grammar.
-
Alexander Barkov authored
Fixing unintentionally diverged parts: - syncing indentation - syncing "unlikely" - syncyning missing new lines - fixing typos
-
- 28 Oct, 2019 8 commits
-
-
Marko Mäkelä authored
The test rpl.rpl_failed_drop_tbl_binlog exercises a scenario where the adaptive hash index is enabled. Try to explicitly enable the adaptive hash index for this test, and skip the test if it does not succeed (that is, if the server was not built WITH_INNODB_AHI=ON).
-
Sergei Golubchik authored
Don't assume that passwords (and other conv replies) are zero-terminated. If they are, though, strndup() down below will take care of that.
-
Marko Mäkelä authored
Historically, InnoDB split the redo log into at least 2 files. MDEV-12061 allowed the minimum to be innodb_log_files_in_group=1, but it kept the default at innodb_log_files_in_group=2. Because performance seems to be slightly better with only one log file, and because implementing an append-only variant of the log would require a single file, let us define the default to be 1, and have innodb_log_file_size=96M, to retain the same default total size.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
clang warns if only some overridden member functions in a class are tagged with the C++11 override keyword. Add the missing keywords.
-
Marko Mäkelä authored
Remove redundant NULL checks for __attribute__((nonnull)) parameters, because clang warns about them.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
This reverts commit 2b5f4b3e due to build failures.
-
- 25 Oct, 2019 1 commit
-
-
Jan Lindström authored
-
- 24 Oct, 2019 2 commits
-
-
Daniele Sciascia authored
Update wsrep-lib, and adapt to wsrep-lib interface changes.
-
Alexander Barkov authored
-
- 23 Oct, 2019 3 commits
-
-
Marko Mäkelä authored
Based on the performance testing that was conducted in MDEV-17492, the InnoDB adaptive hash index could only help performance in specific, almost-read-only workloads. It could slow down all kinds of workloads (especially DROP TABLE, TRUNCATE TABLE, ALTER TABLE, or DROP INDEX operations), and it can become corrupted, causing crashes (such as MDEV-18815, MDEV-20203) and possibly data corruption. Furthermore, the adaptive hash index consumes space from the InnoDB buffer pool, which could hurt performance when the working set would almost fit in the buffer pool. Given all this, it is best to disable the adaptive hash index by default.
-
Jan Lindström authored
Ignore warning.
-
Jan Lindström authored
Changes to be committed: modified: mysql-test/suite/galera_sr/disabled.def modified: mysql-test/suite/galera_sr/r/GCF-561.result modified: mysql-test/suite/galera_sr/r/galera_sr_ddl_master.result modified: mysql-test/suite/galera_sr/r/galera_sr_kill_query.result modified: mysql-test/suite/galera_sr/r/galera_sr_shutdown_slave.result new file: mysql-test/suite/galera_sr/suite.pm modified: mysql-test/suite/galera_sr/t/GCF-561.test modified: mysql-test/suite/galera_sr/t/galera_sr_ddl_master.test modified: mysql-test/suite/galera_sr/t/galera_sr_kill_query.test modified: mysql-test/suite/galera_sr/t/galera_sr_shutdown_slave.test
-
- 20 Oct, 2019 4 commits
-
-
Monty authored
Test should die if innodb_compression_algorithm=3 doesn't exists
-
Monty authored
Fixes MDEV-18067, MDEV-18068 and MDEV-18069 The problem was that FLUSH TABLES table_name combined with UNLOCK TABLES calls MDL_context::set_transaction_duration_for_all_locks(), which changed backup_locks from MDL_EXPLICT to MDL_TRANSACTION. Fixed by ensuring that set_transaction_duration_for_all_locks() doesn't touch BACKUP locks.
-
Monty authored
-
Monty authored
-
- 18 Oct, 2019 2 commits
-
-
Alexander Barkov authored
MDEV-20844 RBR from binary(16) to inet6 fails with error 171: The event was corrupt, leading to illegal data being read This patch changes the way how INET6 is packed to the RBR binary log: - from fixed length 16 bytes - to BINARY(16) compatible variable length style with trailing 0x00 byte compression. This is to make INET6 fully compatible with BINARY(16) in RBR binary logs, so RBR replication works in this scenarios: - Old master BINARY(16) -> New slave INET6 - New master INET6 -> Old slave BINARY(16) A new class StringPack was added to share the code between Field_string and Field_inet6.
-
Alexander Barkov authored
The old code to print partition values was too complicated: - it created new Items for character set conversion purposes. - it mixed string conversion and partition error reporting in the same code blocks. Simplifying the code as follows: - Adding helper methods String::can_be_safely_convert_to() and String::append_introducer_and_hex(). - Adding DBUG_EXECUTE_IF("generate_partition_syntax_for_frm", push_warning...) into generate_partition_syntax_for_frm(), to test the PARTITON clause written to FRM. Adding test partition_utf8-debug.test for this. - Removing functions get_cs_converted_part_value_from_string() and get_cs_converted_string_value. Changing get_partition_column_description() to use Type_handler::partition_field_append_value() instead. This makes SHOW CREATE TABLE and SELECT FROM I_S.PARTITIONS use the same code path. - Changing Type_handler::partition_field_append_value() not to call convert_charset_partition_constant(), to avoid creating a new Item for string conversion pursposes. Rewritting the code to use only String methods. - Removing error reporting code (ER_PARTITION_FUNCTION_IS_NOT_ALLOWED) from Type_handler::partition_field_append_value(). The error is correctly detected and reported on the caller level. So error reporting was redundant here. Also: - Moving methods Type_handler::partition_field_*() from sql_partition.cc to sql_type.cc. This fixes compilation problem with -DPLUGIN_PARTITION=NO, earlier introduced by the patch for MDEV-20831.
-
- 17 Oct, 2019 1 commit
-
-
Oleksandr Byelkin authored
added forgotem WITH option to spacial case with INTO
-
- 16 Oct, 2019 3 commits
-
-
Alexander Barkov authored
Removing MariaDB_FUNCTION_COLLECTION_PLUGIN
-
Alexander Barkov authored
- Defining MariaDB_FUNCTION_PLUGIN - Changing the code in /plugins/type_inet/ and /plugins/type_test/ to use MariaDB_FUNCTION_PLUGIN instead of MariaDB_FUNCTION_COLLECTION_PLUGIN. - Changing maturity for the INET6 data type plugin from experimental to alpha.
-
seppo authored
Instrumenting parallel slave worker thread with wsrep replication hooks. Added mtr test for testing parallel slave support. The test is based on the test attached in MDEV-6860 jira tracker.
-
- 15 Oct, 2019 1 commit
-
-
Alexander Barkov authored
This clause in CREATE TABLE: PARTITION BY LIST COLUMNS (inet6column) (PARTITION p1 VALUES IN ('::')) was erroneously written to frm file as: PARTITION BY LIST COLUMNS(inet6column) (PARTITION p1 VALUES IN (_binary 0x3A3A)) I.e. the text value '::' was converted to HEX representation and prefixed with _binary. A simple fix could write `_latin1 0x3A3A` instead of `_binary 0x3A3A`, but in case of INET6 we don't need neither character set introducers, nor HEX encoding, because text representation of INET6 values consist of pure ASCII characters. So this patch changes the above clause to be printed as: PARTITION BY LIST COLUMNS(inet6column) (PARTITION p1 VALUES IN ('::')) Details: The old code in check_part_field() was not friendly to pluggable data types. Replacing this function to two new virtual methods in Type_handler: virtual bool partition_field_check(const LEX_CSTRING &field_name, Item *item_expr) const; virtual bool partition_field_append_value(String *str, Item *item_expr, CHARSET_INFO *field_cs, partition_value_print_mode_t mode) const; so data type plugins can decide whether they need to use character set introducer and/or hex encoding when printing partition values.
-
- 14 Oct, 2019 1 commit
-
-
Alexander Barkov authored
The code erroneously assumed that only Field_str descendants can store character set information. After adding Field_inet6, it's not true anymore. Also, after adding Field_inet6, storing field->charset() become not correct either: - Field_inet6::charset() return &my_charset_latin1, because clients see INET6 as VARCHAR(39). - Field_inet6::binlog_type_info().m_cs returns &my_charset_bin because storage engines see INET6 as BINARY(16). We need to store &my_charset_bin to the binlog metadata, so the slave sees INET6 as BINARY(16), like storage engines do, to make the slave treat the replicated data as binary IPv6 address representation (rather than text representation). The correct character set that needs to be stored to the metadata is already populated to binlog_type_info_array[i].m_cs. So the fixed code version uses this value rather than field->charset().
-