- 03 Oct, 2017 1 commit
-
-
Alexander Barkov authored
Changing datatypes for: - Item_spvar_args::m_table - sp_rcontext::m_var_table - return value of create_virtual_tmp_table() from TABLE* to Virtual_tmp_table* Advantages: - Stricter data type control - Removing the duplicate code (a loop with free_blobs) from destructors ~sp_rcontext() and ~Item_spvar_args(), using "delete m_(var_)table" in both instead. - Using Virtual_tmp_table::delete makes the code call Field::delete, which calls TRASH() for the freed fields, which is good for valgrind test runs.
-
- 02 Oct, 2017 9 commits
-
-
Alexander Barkov authored
-
Marko Mäkelä authored
The method handlerton::replace_native_transaction_in_thd was added into MySQL 5.7 in WL#6860, Binlogging XA-prepared transaction. In MariaDB we do not have that change yet.
-
Marko Mäkelä authored
The field dict_table_t::big_rows was only used for determining if the adaptive hash index should be used when the internal InnoDB SQL parser is used. That parser is only used for modifying the InnoDB data dictionary, updating persistent tables, and for fulltext indexes.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
btr_cur_pessimistic_delete(): Discard a possible record lock also in the case when the record was the only one in the page. Failure to do this would corrupt the record lock data structures in a partial rollback (ROLLBACK TO SAVEPOINT or rolling back a row operation due to some error, such as a duplicate key in a unique secondary index).
-
Marko Mäkelä authored
MySQL 5.7 allows the creation of InnoDB tables in a user-created tablespace, but MariaDB does not. Remove the remaining references. This is a non-functional change.
-
- 30 Sep, 2017 3 commits
-
-
Alexander Barkov authored
- Implementing stricter data type control for Item_long_func descendants - Cleanup: renaming Type_handler::can_return_str_ascii() to can_return_text() (a better name).
-
Vladislav Vaintroub authored
-
Alexander Barkov authored
-
- 29 Sep, 2017 10 commits
-
-
Alexander Barkov authored
-
Vladislav Vaintroub authored
warning
-
Vladislav Vaintroub authored
Only microsoft compiler, which can be correctly tested with #ifdef _MSC_VER) has __declspec(noreturn)
-
Vladislav Vaintroub authored
Prior to this patch, creating or even opening any innodb file in 10.2 would set a sparse flag on file. The file extension was done by setting end of file, without writing zeros. This technique is fine, however due to sparsedness, it created a hole at the end of the file, which lead to much higher fragmentation subsequently. The fix is only to use sparse flag for compressed tables, where holes are actually wanted, but not for normal tables.
-
Vladislav Vaintroub authored
'version' variables. The warnings occur on Windows build, yet they are also are valid on 32bit Unix. Fix is to consistently use 64bit integer on all platforms.
-
Vladislav Vaintroub authored
some ulonglong variables were printed as %lu
-
Alexander Barkov authored
-
Marko Mäkelä authored
upd_field_set_field_no(): Remove the unused parameter trx, and remove a debug message. In debug builds, the out-of-bounds access would still be caught by dict_index_get_nth_col(). trx_undo_update_rec_get_update(): Remove the unnecessary parameter trx.
-
Marko Mäkelä authored
The InnoDB native partitioning (ha_innopart) is a MySQL 5.7 code refactoring exercise that was not merged to MariaDB.
-
Jan Lindström authored
Patch contibuted by Gordon Fisher. Thank you for your contribution!
-
- 28 Sep, 2017 12 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
Fixes some warnings in popular headers.
-
Vladislav Vaintroub authored
- Fix win64 pointer truncation warnings (usually coming from misusing 0x%lx and long cast in DBUG) - Also fix printf-format warnings Make the above mentioned warnings fatal. - fix pthread_join on Windows to set return value.
-
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
-
Jan Lindström authored
After review cleanup.
-
Alexander Barkov authored
-
- 27 Sep, 2017 5 commits
-
-
Daniel Bartholomew authored
-
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.
-