- 28 Sep, 2017 7 commits
-
-
Alexander Barkov authored
-
Alexander Barkov authored
The intent of this patch is to avoid copying arguments from a pair "Item **args, uint arg_count" to List<Item> in sp_head::execute_function(). If the number of a stored function parameters is huge, such copying can affect performance. Change: 1. Adding a new method Row_definition_list::adjust_formal_params_to_actual_params, which accepts a pair of "Item **, uint". 2. Modifying the code to use the new method: - the calls for sp_rcontext::retrieve_field_definitions() and Row_definition_list::adjust_formal_params_to_actual_params() have been moved from sp_rcontext::create() to sp_head::rcontext_create(), to handle different argument notations easier (Item** vs List<Item>). - sp_rcontext::create() now assumes that the passed Row_definition_list is already adjusted to the actual SP parameters, and all "TYPE OF" and "ROWTYPE OF" references are resolved. 3. Removing creation of List<Item> in sp_head::execute_procedure(), using the code with "Item**, uint" notation instead. 4. Improvement of the code for MDEV-10577: As a good side effect, this patch gets rid of double security context switch inside sp_head::execute_trigger(): sp_rcontext is created when the context is already switched, so the second context switch inside sp_head::rcontext_create() was redundant. This is solved by adding a "bool switch_secutiry_ctx" parameter to rcontext_create(), so now execute_function() and execute_procedure() pass "true", while execute_trigger() passes "false".
-
Alexander Barkov authored
Moving a few methods from sp_rcontext to different classes: - Table_ident::resolve_table_rowtype_ref - Qualified_column_ident::resolve_type_ref - Row_definition_list::resolve_table_rowtype_ref - Row_definition_list::adjust_formal_params_to_actual_params It easier to reuse these methods this way in the future.
-
Alexander Barkov authored
-
Marko Mäkelä authored
-
Alexander Barkov authored
-
- 27 Sep, 2017 6 commits
-
-
Daniel Bartholomew authored
-
Monty authored
-
Monty authored
-
Vladislav Vaintroub authored
Update.rdiff fle Also, introduce my_popen()/my_fgets() wrapper function for popen()/fgets() in mysqltest to workaround a popen() bug in Windows C runtime, mentioned in MDEV-9409 This workaround was used previously for "exec". From now on, it is also used are used also for "perl" snippets.
-
halfspawn authored
MDEV-13919 sql_mode=ORACLE: Derive length of VARCHAR SP parameters with no length from actual parameters
-
Eugene Kosov authored
reapply 6192f0bf TSAN warnings count decreased from 206 to 195
-
- 26 Sep, 2017 1 commit
-
-
Alexander Barkov authored
-
- 25 Sep, 2017 8 commits
-
-
Monty authored
- Clean up formulas and comments for host_cache_size and back_log - Added test of autoset (for host_cache_size) - Marked open_files_limit as auto_set
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Ensure that no adaptive hash index exists for any system tables, so that the blocked TRUNCATE TABLE t1 will not block the concurrent TRUNCATE TABLE t2.
-
Marko Mäkelä authored
-
Will authored
Made a few links in README.md secure (https).
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
This bug is a regression caused by the code refactoring in commit f5a833c3. It was not present in any release of the MariaDB server. The bug affects table-rebuilding ALTER TABLE when the source table is in ROW_FORMAT=REDUNDANT and contains no virtual columns. row_log_table_low_redundant(): Log virtual column data only if virtual columns are present.
-
- 24 Sep, 2017 3 commits
-
-
Varun Gupta authored
The issue was that r_loops, r_rows and r_filtered in ANALYZE FORMAT= JSON were not calculated for the table on which we were performing the MRR scan in the BKA join Fixed this by adding respective counter in the JOIN_TAB_SCAN_MRR::open and JOIN_TAB_SCAN_MRR::next
-
Varun Gupta authored
The problem is there is an overflow for the key_file_length. Added the maximum limit for the key_file_length
-
Marko Mäkelä authored
The ALTER TABLE…IMPORT TABLESPACE adjustment code that was introduced by WL#5522 in MySQL 5.6 is incorrectly invoking rec_get_status() on a ROW_FORMAT=REDUNDANT record to determine if a record is a leaf page record. The function rec_get_status(rec) is only to be called on ROW_FORMAT=COMPACT, DYNAMIC or COMPRESSED records.
-
- 23 Sep, 2017 7 commits
-
-
Vladislav Vaintroub authored
-
Sergei Golubchik authored
3-argument form of DATE_FORMAT
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Alexander Barkov authored
-
- 22 Sep, 2017 8 commits
-
-
Vladislav Vaintroub authored
-
Alexander Barkov authored
-
Elena Stepanova authored
-
Elena Stepanova authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
Implement Field_timestamp::save_in_field(timestamp_field) that stores timestamp values without converting them to MYSQL_TIME and back, because this conversion is lossy around DST change time. This fixes main.old-mode test. This is 10.2 version of f8a800be
-
Sergei Golubchik authored
Implement a special Copy_func function for timestamps, that copies timestamps without converting them to MYSQL_TIME (the conversion is lossy around DST change time). This fixes ALTER TABLE part of main.old-mode test. This is 10.2 version of f4f48e06
-
Sergei Golubchik authored
make insert NULL into a timestamp mark the field as having an explicit value. So that the field won't be assigned the value again in TABLE::update_default_field() make Item_func_now_local::save_in_field(timestamp_field) not to go through MYSQL_TIME - this conversion is lossy around DST change times. This fixes inserting a default value into a timestamp field.
-