- 13 Feb, 2017 22 commits
-
-
Sergei Golubchik authored
old code didn't calculate vcols that were part of keyread, but calculated other vcols. It was wrong - there was no guarantee that vcol's base columns were part of keyread. Technically it's possible for the vcol not be a part of keyread, but all its base columns being part of keyread. But currently the optimizer doesn't do that, keyread is only used if it covers all columns used in the query. This fixes crashes of vcol.vcol_trigger_sp_innodb
-
Sergei Golubchik authored
TABLE::add_read_columns_used_by_index() is conceptually wrong, it *adds* columns used by index to the bitmap, without clearing it first. But it also enables keyread, meaning that *only* columns from the index will be read. It is supposed to be used to add columns used by an index to a bitmap that already has columns of a primary key - for engines where a primary key is part of every index. The correct fix is to change mark_columns_used_by_index() to take into account extended keys. this reverts 1d0acc77 and cf97cbd1
-
Sergei Golubchik authored
it should not mark base columns that a vcol depends on, because keyread (on a vcol) will not read them
-
Sergei Golubchik authored
use table->mark_columns_used_by_index, don't copy it
-
Sergei Golubchik authored
use table->mark_columns_used_by_index, don't copy it
-
Sergei Golubchik authored
Do *not* modify write_set. keyread only affects what columns are *read*, UPDATE statement can *write* into columns that aren't part of the keyread.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
move the check where it make sense, remove incorrect comment
-
Sergei Golubchik authored
EINVAL means that the filesystem doesn't support posix_fallocate(). There were two places where this error was issued, one checked for EINVAL, the other did not. This commit fixed the other place to also check for EINVAL. Also, remove the space after the REFMAN to get the valid url with no space in the middle. Also don't say "Make sure the file system supports this function." when posix_fallocate() fails, because this message is only shown when the filesystem does support this function.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
fix Item_default_value not to pretend being const_item if the field's default_value expression isn't parsed yet
-
Sergei Golubchik authored
MDEV-11750 Assertion `vfield' failed in TABLE::update_virtual_fields after crash recovery on corrupted MyISAM table Adjust the length of the BIT field (same as in _mi_put_key_in_record())
-
Sergei Golubchik authored
move TABLE::key_read into handler. Because in index merge and DS-MRR there can be many handlers per table, and some of them use key read while others don't. "keyread" is really per handler, not per TABLE property.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
MDEV-11784 View is created with invalid definition which causes ERROR 1241 (21000): Operand should contain 1 column(s) set the correct print precedence for IN subqueries
-
Sergei Golubchik authored
Item_default_value::calculate was updating table->s->default_values, but it is supposed to be read-only
-
Sergei Golubchik authored
Optionally do table->update_default_fields() even for INSERT that supposedly provides values for all column. Because these "values" might be DEFAULT, which would need table->update_default_fields() at the end. Also set Item_default_value::used_tables() from the default expression. Non-zero used_field() means that mysql_insert() will initialize all fields to their default values (with restore_record()) even if all columns are later provided with values. Because default expressions may refer to other columns and they must be initialized.
-
Marko Mäkelä authored
Remove also the field trx_t::read_write that was only used by the Memcached hooks.
-
Marko Mäkelä authored
Oracle introduced a Memcached plugin interface to the InnoDB storage engine in MySQL 5.6. That interface is essentially a fork of Memcached development snapshot 1.6.0-beta1 of an old development branch 'engine-pu'. To my knowledge, there have not been any updates to the Memcached code between MySQL 5.6 and 5.7; only bug fixes and extensions related to the Oracle modifications. The Memcached plugin is not part of the MariaDB Server. Therefore it does not make sense to include the InnoDB interfaces for the Memcached plugin, or to have any related configuration parameters: innodb_api_bk_commit_interval innodb_api_disable_rowlock innodb_api_enable_binlog innodb_api_enable_mdl innodb_api_trx_level Removing this code in one commit makes it possible to easily restore it, in case it turns out to be needed later.
-
Marko Mäkelä authored
log_crypt_101_read_checkpoint(): Read the encryption information from a MariaDB 10.1 checkpoint page. log_crypt_101_read_block(): Attempt to decrypt a MariaDB 10.1 redo log page. recv_log_format_0_recover(): Only attempt decryption on checksum mismatch. NOTE: With the MariaDB 10.1 innodb_encrypt_log format, we can actually determine from the cleartext portion of the redo log whether the redo log is empty. We do not really have to decrypt the redo log here, if we did not want to determine if the checksum is valid.
-
Marko Mäkelä authored
We can use log_sys->buf instead of recv_sys->last_block during crash recovery. Remove the redundant buffer.
-
Marko Mäkelä authored
innodb_shutdown(), trx_sys_close(): Startup may be aborted between purge_sys and trx_sys creation. Therefore, purge_sys must be freed independently of trx_sys. innobase_start_or_create_for_mysql(): Remember to free purge_queue if it was not yet attached to purge_sys.
-
- 12 Feb, 2017 1 commit
-
-
Igor Babaev authored
These are different bugs, but the fixing code is the same: if window functions are used over implicit grouping then now the execution should follow the general path calling the function set in JOIN::first_select.
-
- 11 Feb, 2017 3 commits
-
-
Nirbhay Choubey authored
-
Sergei Golubchik authored
-
Igor Babaev authored
Corrected an assertion in JOIN::create_postjoin_aggr_table(): JOIN::join_tab[0] can be the first aggregation table if the query uses window functions.
-
- 10 Feb, 2017 14 commits
-
-
Sergei Golubchik authored
-
Vladislav Vaintroub authored
main thread may destroy mutexes that bootstrap is using in THD destructor.
-
Nirbhay Choubey authored
-
Elena Stepanova authored
-
Nirbhay Choubey authored
Print the message as a note instead of warning.
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
New default sql_mode includes: * STRICT_TRANS_TABLES * ERROR_FOR_DIVISION_BY_ZERO * NO_ENGINE_SUBSTITUTION * NO_AUTO_CREATE_USER
-
Nirbhay Choubey authored
The supplied sql_mode(s) should be converted to ASCII first, before comparing it with the sql_mode set.
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
innodb_autoinc_lock_mode = 2 innodb_buffer_pool_dump_at_shutdown = ON innodb_buffer_pool_dump_pct = 25 innodb_buffer_pool_load_at_startup = ON innodb_checksum_algorithm = CRC32 innodb_file_format = Barracuda innodb_large_prefix = ON innodb_log_compressed_pages = ON innodb_purge_threads = 4 innodb_strict_mode = ON binlog_annotate_row_events = ON binlog_format = MIXED binlog-row-event-max-size = 8192 group_concat_max_len = 1M lock_wait_timeout = 86400 log_slow_admin_statements = ON log_slow_slave_statements = ON log_warnings = 2 max_allowed_packet = 16M replicate_annotate_row_events = ON slave_net_timeout = 60 sync_binlog = 1 aria_recover = BACKUP,QUICK myisam_recover_options = BACKUP,QUICK
-
Nirbhay Choubey authored
-