- 12 Jun, 2018 3 commits
-
-
Vicențiu Ciorbaru authored
-
Alexey Botchkov authored
Check the name of the primary key to be 'PRIMARY'. Than differs it from any implicit primary keys created by an engine.
-
Marko Mäkelä authored
When attempting to rename a table to a non-existing database, InnoDB would misleadingly report "OS error 71" when in fact the error code is InnoDB's own (OS_FILE_NOT_FOUND), and not report both pathnames. Errors on rename could occur due to reasons connected to either pathname. os_file_handle_rename_error(): New function, to report errors in renaming files.
-
- 11 Jun, 2018 3 commits
-
-
Sergei Golubchik authored
update table->pos_in_table_list during prepare, just like it's done in normal execution. otherwise it'll be a dangling pointer
-
Sergei Golubchik authored
adjust tests
-
Sergei Golubchik authored
rewrite tautological engine descriptions
-
- 10 Jun, 2018 15 commits
-
-
Vicențiu Ciorbaru authored
On OS X, (u)int64_t is defined as (unsigned) long long int while on 74 bit Linux it is defined as (unsigned) long int. Ensure the type matches when doing printf on all systems.
-
Vicențiu Ciorbaru authored
Missed printfs from: 21246066
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
-
Rutuja Surve authored
The order of outputting stored procedures is important. Stored procedures must be available on view creation, for views which make use of them. Make sure to print them before outputting tables.
-
Teodor Mircea Ionita authored
Undo the revert that happened by mystake in commit 7fca4b50.
-
Vicențiu Ciorbaru authored
GCC-8 introduced multiple warnings and increased the level of strictness. * -Wshadow will warn if a local variable shadows a typedef. * GCC will also warn when memsetting a non-trivial type. In this case a non-trivial type can not have a custom constructor. For all intents and purposes, the class is trivially-copyable. * GCC will also warn if you use too many paranthesses which are not necessary
-
Vicențiu Ciorbaru authored
This reverts commit 1735fa34.
-
Teodor Mircea Ionita authored
Assign all tests added via MY_ADD_TEST to a bogus default_ignore target, so that they are not ran by default when doing bare make test. Add default test named MTR that calls mysql-test-run suite, which is now the single test run by make test. In consequence, modified unit/suite.pm to exclude the MTR test and run the real ctests flagged for default_ignore target, thus no circular loop.
-
Teodor Mircea Ionita authored
-
Teodor Mircea Ionita authored
-
Teodor Mircea Ionita authored
Several issues were encountered and fixed as explained bellow: * missing link to dbug lib; * user proper fprintf format specifier; * ZERO_COND_INITIALIZER was using wrong toku_cond_t struct initializer for first member of type pthread_cond_t and not considering the TOKU_PTHREAD_DEBUG case which has one extra struct member of type pfs_key_t; * Remove likely(!opt_debug_sync_timeout), argument is declared extern and not available to Toku; * pthread_mutex_timedlock() is not available in pthreads for Mac, as it's not part of the POSIX pthreads spec. The encompassing event_t::wait(ms) methods are unused, thus have been removed;
-
Teodor Mircea Ionita authored
Permissions were probably due to a file copy in: 15f7f5c6 Merge branch 'merge-tokudb-5.6' into 10.0
-
Teodor Mircea Ionita authored
This is happening because they are declared as packed and clang has -Waddress-of-packed-member when passing the address of a packed member, a legit concern on different architectures. The easiest way to get rid of the errors is to remove the packed attribute from said structs.
-
Teodor Mircea Ionita authored
Fix build on macOS 10.13: 39dceaae MDEV-10983: TokuDB does not compile on OS X 10.12 Make use of a different function to get the current tid. Additionally, librt doesn't exist on OS X. Use System library instead. storage/tokudb/PerconaFT/cmake_modules/TokuFeatureDetection.cmake | 4 +++- storage/tokudb/PerconaFT/portability/portability.cc | 9 ++++++++- storage/tokudb/PerconaFT/portability/tests/test-xid.cc | 9 ++++++++- storage/tokudb/PerconaFT/portability/toku_config.h.in | 1 + 4 files changed, 20 insertions(+), 3 deletions(-)
-
- 09 Jun, 2018 1 commit
-
-
Varun Gupta authored
MDEV-16374: Filtered shows 0 for materilization scan for a semi join, which makes optimizer always picks materialization scan over materialization lookup For non-mergeable semi-joins we don't store the estimates of the IN subquery in table->file->stats.records. In the function TABLE_LIST::fetch_number_of_rows, we store the number of rows in the tables (estimates in case of derived table/views). Currently we don't store the estimates for non-mergeable semi-joins, which leads to a problem of selecting materialization scan over materialization lookup. Fixed this by storing these estimated appropriately
-
- 08 Jun, 2018 3 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
Fixed CreateFile() for the log file - TRUNCATE_EXISTING does not create a new file, use CREATE_ALWAYS - Make log file handle inheritable
-
- 07 Jun, 2018 1 commit
-
-
Chris Calender authored
The bug arises when one uses --auto-generate-sql-guid-primary (and --auto-generate-sql-secondary-indexes) with mysqlslap and also have sql_mode=STRICT_TRANS_TABLE. When using this option, mysqlslap should create a column with varchar(36), but it appears to create it as a varchar(32) only. Then if one has sql_mode=STRICT_TRANS_TABLES, it throws an error, like: mysqlslap: Cannot run query INSERT INTO t1 VALUES (...) ERROR : Data too long for column 'id' at row 1 Upstream bug report: BUG#80329.
-
- 06 Jun, 2018 1 commit
-
-
Oleksandr Byelkin authored
-
- 05 Jun, 2018 2 commits
-
-
Vladislav Vaintroub authored
Partially revert 4ef74979 that caused regression. Any ssl- option must imply use_ssl=1, even if mysql_set_ssl() was not used.
-
Marko Mäkelä authored
InnoDB insisted on closing the file handle before renaming a file. Renaming a file should never be a problem on POSIX systems. Also on Windows it should work if the file was opened in FILE_SHARE_DELETE mode. fil_space_t::stop_ios: Remove. We no longer need to stop file access during rename operations. fil_mutex_enter_and_prepare_for_io(): Remove the wait for stop_ios. fil_rename_tablespace(): Remove the retry logic; do not close the file handle. Remove the unused fault injection that was added along with the DATA DIRECTORY functionality (MySQL WL#5980). os_file_create_simple_func(), os_file_create_func(), os_file_create_simple_no_error_handling_func(): Include FILE_SHARE_DELETE in the share_mode. (We will still prevent multiple InnoDB instances from using the same files by not setting FILE_SHARE_WRITE.)
-
- 02 Jun, 2018 1 commit
-
-
Varun Gupta authored
For non-semi-join subquery optimization we do a cost based decision between Materialisation and IN -> EXIST transformation. The issue in this case is that for IN->EXIST transformation we run JOIN::reoptimize with the IN->EXISt conditions and we come up with a new query plan. But when we compare the cost with Materialization, we make the decision to chose Materialization so we need to restore the query plan for Materilization. The saving and restoring for keyuse array and join_tab keyuse is only done when we have atleast one element in the keyuse_array , we are now changing to do it even for 0 elements to main the generality.
-
- 24 May, 2018 1 commit
-
-
Marko Mäkelä authored
i_s_innodb_buffer_page_fill(), i_s_innodb_buf_page_lru_fill(): Only invoke Field::set_notnull() if the index was found.
-
- 23 May, 2018 2 commits
-
-
Teodor Mircea Ionita authored
gdb's "set args" equivalent for lldb would be "settings set target.run-args", however it doesn't play well with double dashed args (--).
-
Monty authored
MDEV-16123 ASAN heap-use-after-free handler::ha_index_or_rnd_end MDEV-13828 Segmentation fault on RENAME TABLE Problem was that destructor called methods for closed table. Fixed by removing code in destructor.
-
- 22 May, 2018 4 commits
-
-
Monty authored
Problem was that handle_if_exists_options() didn't correct alter_info->flags when things was removed from the list.
-
Monty authored
Problem was that detection of temporary tables was all wrong for RENAME TABLE. (Temporary tables where opened by top level call to open_temporary_tables(), which can't detect if a temporary table was renamed to something and then reused). Fixed by adding proper parsing of rename list to check against the current name of a table at each rename stage. Also change do_rename_temporary() to check against the current state of temporary tables, not according to the state of start of RENAME TABLE.
-
Monty authored
MDEV-10130 Assertion `share->in_trans == 0' failed in storage/maria/ma_close.c MDEV-10378 Assertion `trn' failed in virtual int ha_maria::start_stmt The problem was that maria_handler->trn was not properly reset at commit/rollback and ha_maria::exernal_lock() could get confused because. There was some old code in ha_maria::implicit_commit() that tried to take care of this, but it was not bullet proof. Fixed by adding list of all tables that is part of the maria transaction to TRN. A nice side effect was of the fix is that loops in ha_maria::implict_commit() got to be much simpler. Other things: - Fixed a bug in mysql_admin_table() where argument open_for_modify was wrongly reset for the next table in the chain - rollback admin command also in case of fatal error. - Split _ma_set_trn_for_table() to three version to simplify code and debugging. - Several new asserts to detect the original problem (that file was not properly removed from trn before calling ma_close())
-
Igor Babaev authored
upon SELECT .. LIMIT 0 The code must differentiate between a SELECT with contradictory WHERE/HAVING and one with LIMIT 0. Also for the latter printed 'Zero limit' instead of 'Impossible where' in the EXPLAIN output.
-
- 19 May, 2018 2 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
fix a typo that broke the main.view test followup for ef295c31
-
- 18 May, 2018 1 commit
-
-
Vladislav Vaintroub authored
It should work ok on all Unixes, but on Windows ,only worked by accident in the past, with client not being Unicode safe. It stopped working with Visual Studio 2017 15.7 update now.
-