- 30 Oct, 2017 2 commits
-
-
Alexander Barkov authored
MDEV-13997 Change Item_bool_rowready_func2 to cache const items at fix time rather than evaluation time Side effect: the second debug Note in cache_temporal_4265.result disappeared. Before this change: - During JOIN::cache_const_exprs(), Item::get_cache() for Item_date_add_interval() was called. The data type for date_add('2001-01-01',interval 5 day) is VARCHAR, because the first argument is VARCHAR (not temporal). Item_get_cache() created Item_cache_str('2001-01-06'). - During evaluate_join_record(), get_datetime_value() was called, which called Item::get_date() for Item_cache_str('2001-01-06'). This gave the second Note. Then, get_datetime_value() created a new cache, now Item_cache_temporal for '2001-01-06', so not further str_to_datetime() happened. After this change: - During tem_bool_rowready_func2::fix_length_and_dec(), Arg_comparator::set_cmp_func_datetime() is called, which immediately creates an instance of Item_cache_date for the result of date_add('2001-01-01',interval 5 day). So later no str_to_datetime happens any more, neither during JOIN::cache_const_exprs(), nor during evaluate_join_record().
-
Alexander Barkov authored
-
- 27 Oct, 2017 1 commit
-
-
Alexander Barkov authored
-
- 23 Oct, 2017 1 commit
-
-
Alexander Barkov authored
Using "this" instead of "thd->sphead" in sp_rcontext::set_variable_row_field()
-
- 22 Oct, 2017 6 commits
-
-
Aleksey Midenkov authored
This happens when doing NEXT VALUE for a temporary table Fixed by giving ER_NOT_SEQUENCE when trying to use normal temporary table with sequence functions Signed-off-by: Monty <monty@mariadb.org>
-
Aleksey Midenkov authored
This happened when trying to do delete a sequence hidden by a temporary table. Fixed by ignoring non-sequence temporary tables when trying to drop sequences. Signed-off-by: Monty <monty@mariadb.org>
-
Monty authored
Added also suppression of openssl warnings from valgrind
-
Aleksey Midenkov authored
Fixes two issues: - Update assert in open_and_process_tables to handle sequences - Removed not needed and conflicting mdl_context.release_transactional_locks in sql_sequence.cc. The MDL lock is released at end of mysql_execute_command(). Signed-off-by: Monty <monty@mariadb.org>
-
Aleksey Midenkov authored
CREATE TABLE ... sequence=0 and sequence=DEFAULT created sequence tables when they should not. Signed-off-by: Monty <monty@mariadb.org>
-
Aleksey Midenkov authored
This happened when trying to PARTITION a SEQUENCE table Problem was that wrong function was used to get engine name Signed-off-by: Monty <monty@mariadb.org>
-
- 20 Oct, 2017 1 commit
-
-
Alexander Barkov authored
Fixing mysql_execute_command() and store_schema_proc() not to use stored object type codes TYPE_ENUM_PROCEDURE and TYPE_ENUM_FUNCTION. Using pointers to Sp_handler instead, to make the code symmetric across existing (function,procedure) and future (e.g package) SP object types.
-
- 19 Oct, 2017 3 commits
-
-
Michael Widenius authored
The problem was that the code in replication didn't distinguish between a setval() failing because the stored sequence number was bigger than the current (should have been ignored) and a failure from the storage engine.
-
Alexander Barkov authored
- Renaming sp_rcontext::sp to sp_rcontext:m_sp for consistency with other sp_rcontext_members, and for consistency with the same purpose member Item_sp_variable::m_sp. - Passing a "const sp_head*" pointer to sp_rcontext::sp_rcontext() and to sp_rcontext::create(). Initializing sp_rcontext::m_sp right in the constructor instead of having a separate initialization after "new sp_rcontext" or sp_rcontext::create(). - Adding the "const" qualifier to sp_rcontext::m_sp and Item_sp_variable::m_sp
-
Alexander Barkov authored
Reason: - avoid huge functions - sp_acquire_routine() will be reused for Oracle-style packages soon
-
- 18 Oct, 2017 2 commits
-
-
Alexander Barkov authored
-
Marko Mäkelä authored
MySQL 5.7 added code to push down the LIMIT to fulltext search in InnoDB: commit 2cd0ebf97e1b265e2282d7ceb5d8dfb663ffc48f Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com> Date: Fri May 27 13:49:28 2016 +0530 Bug #22709692 FTS QUERY EXCEEDS RESULT CACHE LIMIT The code was disabled when MySQL 5.7.9 was merged to MariaDB 10.2.2. We shall remove the disabled code and unnecessary variables.
-
- 17 Oct, 2017 1 commit
-
-
Marko Mäkelä authored
fil_mutex_enter_and_prepare_for_io(): Reacquire fil_system->mutex after failing to close a file and before retrying.
-
- 14 Oct, 2017 2 commits
-
-
halfspawn authored
-
Marko Mäkelä authored
This was a false alarm in a debug check that was introduced in commit 48192f96 which was a 10.2 code refactoring in preparation for MDEV-11369 (instant ADD COLUMN) in 10.3.2. The code refactoring only affected debug builds. InnoDB B-tree record locks are only supposed to exist on leaf page records. An assertion failed, because the debug function lock_validate() was invoking lock_rec_block_validate() on a page for which there were no locks set in the record lock bitmap. This could happen on a page split. Especially when the index size grows from a single page to multiple pages, the root page would transform from a leaf node into an internal node, and its record lock bitmap would be emptied. lock_validate(): Skip empty lock bitmaps.
-
- 13 Oct, 2017 3 commits
-
-
Vladislav Vaintroub authored
-
Marko Mäkelä authored
There is no call to os_thread_join(), so we should detach the thread handles in order to avoid any resource leaks.
-
Sergei Petrunia authored
-
- 12 Oct, 2017 1 commit
-
-
Jan Lindström authored
Problem was that we could take page latches on different order than wat is entitled with SX-lock. To follow the latching order defined in WL#6326, acquire index->lock X-latch. This entitles us to acquire page latches in any order for the index. btr0btr.cc Document latch rules before and after MariaDB 10.2.2 sync0rw.cc Document latch compatibility rules better. btr_defragment_merge_pages Fix parameter value. btr_defragment_thread Acquire X-lock to dict_index_t::lock before restoring cursor position and continuing defragmentation. ha_innobase::optimize Restore defragment feature. Testing Add GIS-index and FT-index to table being defragmented. Defragmentation is not done to GIS-indexes and FT auxiliary tables.
-
- 11 Oct, 2017 12 commits
-
-
Igor Babaev authored
A reference to a CTE may occur not in the master of the CTE specification. In this case if the reference to the CTE is the first one the specification should be detached from its master and attached to the referencing select. Also fixed the TYPE column in the lines of the EXPLAIN output created for CTE tables.
-
Varun Gupta authored
rdb_sst_info.cc must be compiled with RTTI
-
Alexander Barkov authored
Changing Field::set_default from void to int. It now uses the same return value notation with Field::store*() and Item::save_in_field().
-
Sergei Petrunia authored
-
Sergei Golubchik authored
in 10.1 innodb was basically ignoring virtual columns. In particular, information about them was not stored in system tables. To make 10.1 table usable in 10.2 it needs to be rebuilt to have virtual colunm metadata properly recreated. See also a followup: MDEV-14046 Allow ALGORITHM=INPLACE for 10.1 tables that contain virtual columns
-
Marko Mäkelä authored
fil_ibd_create(): commit b731a5bc introduced a variable that was unused outside Windows. Use it on all platforms.
-
Marko Mäkelä authored
btr_store_big_rec_extern_fields(): Remove the unused parameter 'upd' that was added in https://github.com/mysql/mysql-server/commit/ce0a1e85e24e48b8171f767b44330d and merged to MariaDB 10.2.2 in commit 2e814d47.
-
Alexey Botchkov authored
is_bulk_op())' failed upon altering table with geometry field. Tests added.
-
Alexey Botchkov authored
is_bulk_op())' failed upon altering table with geometry field. Check for the validity of the DEFAULT value for the geometry field.
-
Vladislav Vaintroub authored
This fixes some truncation warnings on Win64
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
- 10 Oct, 2017 5 commits
-
-
Marko Mäkelä authored
Reapply a MySQL 5.6.23/5.7.10 Oracle Bug#20029625 fix that was inadvertently reverted in MariaDB 10.2.2 The fix https://github.com/mysql/mysql-server/commit/716f97e2714e70f35d2dc01f0125ed833c62b408 was inadvertently reverted in commit 2e814d47 "Merge InnoDB 5.7 from mysql-5.7.9". Reapply the fix, because the test of the bug would fail after merging MDEV-13838, which replaced an earlier incorrect bug fix with a correct one.
-
Varun Gupta authored
Added cstdlib librabry to rdb_datadic.h
-
Jan Lindström authored
of WSREP_TO_ISOLATION_BEGIN.
-
Marko Mäkelä authored
Mariabackup 10.2.7 would delete the redo log files after a successful --prepare operation. If the user is manually copying the prepared files instead of using the --copy-back option, it could happen that some old redo log file would be preserved in the restored location. These old redo log files could cause corruption of the restored data files when the server is started up. We prevent this scenario by creating a "poisoned" redo log file ib_logfile0 at the end of the --prepare step. The poisoning consists of simply truncating the file to an empty file. InnoDB will refuse to start up on an empty redo log file. copy_back(): Delete all redo log files in the target if the source file ib_logfile0 is empty. (Previously we did this if the source file is missing.) SRV_OPERATION_RESTORE_EXPORT: A new variant of SRV_OPERATION_RESTORE when the --export option is specified. In this mode, we will keep deleting all redo log files, instead of truncating the first one. delete_log_files(): Add a parameter for the first file to delete, to be passed as 0 or 1. innobase_start_or_create_for_mysql(): In mariabackup --prepare, tolerate an empty ib_logfile0 file. Otherwise, require the first redo log file to be longer than 4 blocks (2048 bytes). Unless --export was specified, truncate the first log file at the end of --prepare.
-
Vladislav Vaintroub authored
-