- 01 Dec, 2017 3 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
srv_purge_wakeup(): If thd_destructor_proxy has initiated the first step of shutdown, ensure that all purge threads terminate. logs_empty_and_mark_files_at_shutdown(): Add a debug assertion. (The purge threads should have been shut down already before this step.)
-
- 30 Nov, 2017 1 commit
-
-
Vladislav Vaintroub authored
(possibly intermittent) checksum mismatch.
-
- 29 Nov, 2017 5 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
is detected. The checksum mismatch can be due to partial write, thus retry the read
-
Alexander Barkov authored
-
Vicențiu Ciorbaru authored
Window is a reserved keyword according to SQL Standard 2016. However, we can make the grammar slightly flexible by allowing WINDOW keyword everywhere except table aliases. Change yacc grammar to separate between all keywords and table_alias keywords.
-
Alexander Barkov authored
1. Removing data type specific constants from enum_item_param_state, adding SHORT_DATA_VALUE instead. 2. Replacing tests for Item_param::state for the removed constants to tests for Type_handler::cmp_type() against {INT|REAL|TIME|DECIAML}_RESULT. Deriving Item_param::PValue from Type_handler_hybrid_field_type, to store the data type handler of the current value of the parameter. 3. Moving Item_param::decimal_value and Item_param::str_value_ptr to Item_param::PValue. Adding Item_param::PValue::m_string and changing Item_param to use it to store string values, instead of Item::str_value. The intent is to replace Item_param::value to a st_value based implementation in the future, to avoid duplicate code. Adding a sub-class Item::PValue_simple, to implement Item_param::PValue::swap() easier. Remaming Item_basic_value::fix_charset_and_length_from_str_value() to fix_charset_and_length() and adding the "CHARSET_INFO" pointer parameter, instead of getting it directly from item->str_value.charset(). Changing Item_param to pass value.m_string.charset() instead of str_value.charset(). Adding a String argument to the overloaded fix_charset_and_length_from_str_value() and changing Item_param to pass value.m_string instead of str_value. 4. Replacing the case in Item_param::save_in_field() to a call for Type_handler::Item_save_in_field(). 5. Adding new methods into Item_param::PValue: val_real(), val_int(), val_decimal(), val_str(). Changing the corresponding Item_param methods to use these new Item_param::PValue methods internally. Adding a helper method Item_param::can_return_value() and removing duplicate code in Item_param::val_xxx(). 6. Removing value.set_handler() from Item_param::set_conversion() and Type_handler_xxx::Item_param_set_from_value(). It's now done inside Item_param::set_param_func(), Item_param::set_value() and Item_param::set_limit_clause_param(). 7. Changing Type_handler_int_result::Item_param_set_from_value() to set max_length using attr->max_length instead of MY_INT64_NUM_DECIMAL_DIGITS, to preserve the data type of the assigned expression more precisely. 8. Adding Type_handler_hybrid_field_type::swap(), using it in Item_param::PValue::swap(). 9. Moving the data-type specific code from Item_param::query_val_str(), Item_param::eq(), Item_param::clone_item() to Item_param::value_query_type_str(), Item_param::value_eq(), Item_param::value_clone_item(), to split the "state" dependent code and the data type dependent code. Later we'll split the data type related code further and add new methods in Type_handler. This will be done after we replace Item_param::PValue to st_value. 10. Adding asserts into set_int(), set_double(), set_decimal(), set_time(), set_str(), set_longdata() to make sure that the value set to Item_param corresponds to the previously set data type handler. 11. Adding tests into t/ps.test and suite/binlog/t/binlog_stm_ps.test, to cover Item_param::print() and Item_param::append_for_log() for LIMIT clause parameters. Note, the patch does not change the behavior covered by the new tests. Adding for better code coverage. 12. Adding tests for more precise integer data type in queries like this: EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 AS SELECT 999999999 AS a,? AS b' USING 999999999; The explicit integer literal and the same integer literal passed as a PS parameter now produce columns of the same data type. Re-recording old results in ps.result, gis.result, func_hybrid_type.result accordingly.
-
- 28 Nov, 2017 4 commits
-
-
Daniel Bartholomew authored
-
Marko Mäkelä authored
-
Vladislav Vaintroub authored
- get rid of casts between int and HANDLE. - store file descriptor in TP_connection_generic to get rid of multiple mysql_socket_getfd(c->thd->net.vio->mysql_socket)) Also support named pipes (no reason not to support, since it is easy)
-
Alexander Barkov authored
-
- 27 Nov, 2017 1 commit
-
-
Elena Stepanova authored
-
- 24 Nov, 2017 10 commits
-
-
Vladislav Vaintroub authored
-
Sergey Vojtovich authored
mariabackup fails to builds with PFS disabled. The reason was missing include, which was included by PFS otherwise.
-
Vladislav Vaintroub authored
# Conflicts: # storage/innobase/include/os0file.h
-
Vladislav Vaintroub authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
When Mariabackup is invoked on an instance that uses a multi-file InnoDB system tablespace, it may fail to other files of the system tablespace than the first one. This was revealed by the MDEV-14447 test case. The offending code is assuming that the first page of each data file is page 0. But, in multi-file system tablespaces that is not the case. xb_fil_cur_open(): Instead of re-reading the first page of the file, rely on the fil_space_t metadata that already exists in memory. xb_get_space_flags(): Remove.
-
Vladislav Vaintroub authored
-
Alexander Barkov authored
- sql_prepare.cc: Moving functions set_param_xxx() as methods to Item_param - Replacing a pointer to a function Item_param::set_param_func to Type_handler based implementation: Item_param::value now derives from Type_handler_hybrid_field_type. Adding new virtual methods Type_handler::Item_param_setup_conversion() and Type_handler::Item_param_set_param_func() - Moving declaration of some Item_param members from "public:" to "private:" (CONVERSION_INFO, value, decimal_value) - Adding a new method Item_param::set_limit_clause_param(), to share duplicate code, as well as to encapsulate Item_param::value. - Adding Item_param::setup_conversion_string() and Item_param::setup_conversion_blob() to share the code for binding from a client value (mysql_stmt_bind_param), and for binding from an expression (Item). - Removing two different functions set_param_str_or_null() and set_param_str(). Adding a common method Item_param::set_param_str(). Item_param::m_empty_string_is_null, used by Item_param::set_param_str(). - Removing the call for setup_one_conversion_function() from insert_params_from_actual_params_with_log(). It's not needed, because the call for ps_param->save_in_param() makes sure to initialized all data type dependent members properly, by calling setup_conversion_string() from Type_handler_string_result::Item_param_set_from_value() and by calling setup_conversion_blob() from Type_handler_blob_common::Item_param_set_from_value() - Cleanup: removing multiplication to MY_CHARSET_BIN_MB_MAXLEN in a few places. It's 1 anyway, and will never change.
-
Vladislav Vaintroub authored
Update C/C to include fix for this bug.
-
Vladislav Vaintroub authored
for multi-file innodb_data_file_path. Use fil_extend_space_to_desired_size() to correctly extend system tablespace. Make sure to get tablespace size from the first tablespace part.
-
- 23 Nov, 2017 5 commits
-
-
Elena Stepanova authored
-
Andrei Elkin authored
MDEV-12012. Post-push attempt to catch failure in rpl_gtid_delete_domain failing on P8. The test is made more verbose.
-
Marko Mäkelä authored
Import and adjust the MySQL 5.7 tests innodb.update_time innodb.update_time_wl6658 into MariaDB. The functionality is present since MariaDB 10.2.2 merged InnoDB from MySQL 5.7.9. It was implemented in MySQL 5.7.2.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 22 Nov, 2017 5 commits
-
-
Sergei Golubchik authored
-
Aleksey Midenkov authored
List<>::last is wrong after memcpy(). Doing it on constructed objects is bad practice.
-
Sergei Golubchik authored
-
David Carlier authored
* rocksdb fails without timer_delete() - only use it when it exists
-
Alexander Barkov authored
A cleanup for MDEV-12846 sql_mode=ORACLE: using Oracle-style placeholders in direct query execution makes the server crash Fixing a test failure in "mtr --ps compat/oracle.ps" caused by "SELECT ?" returning different errors: - CR_PARAMS_NOT_BOUND in prepared execution - ER_PARSE_ERROR in direct execution Disabling PS protocol for this test chunk.
-
- 21 Nov, 2017 6 commits
-
-
Vladislav Vaintroub authored
-
wlad authored
-
wlad authored
- introduce system check for posix_memalign (not available on Solaris 10) - Disable dtrace probes, to fix weird link errors in mariabackup
-
Sergei Golubchik authored
we now have cmake/submodules.cmake that updates all submodules
-
Sergei Golubchik authored
another followup for 4c2c057d. there are six possible cases: --port can be set or not. --address can be set, not set, or set but without a port number The correct behavior is: 1 both --port and --address have a port number - use it if it's the same, otherwise an error 2 only --port has the number (--address isn't set) - use the value from --port 3 only --port has the number (--address is set, but has no port) - use the value from --port 4 --port is unset, --address has the port number - use the value from --address 5 --port is unset, --address has no port number - use the value from --address, that is, port is empty string 6 --port is unset, --address is unset - port is unset (an error somewhere later) case 5 wasn't handled correctly
-
Sergei Golubchik authored
-