- 19 Sep, 2018 2 commits
-
-
Igor Babaev authored
for blob column ANALYZE TABLE <table> does not collect statistical data on min/max values for BLOB columns of <table>. However these values can be added into mysql.column_stats manually by executing proper statements. Unfortunately this led to a memory leak because the memory allocated for these values was never freed. This patch provides the server with a function to free memory allocated for min/max statistical values of BLOB types.
-
Igor Babaev authored
If the command CREATE OR REPLACE TABLE really replaces a table then it should remove all data on this table from all statistical tables.
-
- 17 Sep, 2018 1 commit
-
-
Oleksandr Byelkin authored
Mysql Bug#56124 bug analog fix using Sys_var_bit.
-
- 11 Sep, 2018 1 commit
-
-
Sergey Vojtovich authored
This assertion fails in thread that removes all table instances for particular table from table cache (e.g. "DROP TABLE") while another thread evicts table instance of the same table from table cache concurrently. After "MDEV-10296 - Multi-instance table cache" there is a gap in eviction code of tc_add_table() between removing table from free_tables and all_tables not protected by any mutexes. This is now valid table cache state, however assertion wasn't amended along with original patch. Moved assertion down, after waiting for such table instances to get closed.
-
- 05 Sep, 2018 1 commit
-
-
Monty authored
-
- 07 Aug, 2018 1 commit
-
-
Alexander Barkov authored
(cherry-pick from 10.3)
-
- 31 Jul, 2018 1 commit
-
-
sachin authored
Problem:- Create/drop index was logged into binlog. Goal:- Operation on temporary table should not be binlog when binlog format is row. Solution:- We should add CF_FORCE_ORIGINAL_BINLOG_FORMAT when there is ddl on temp table. For optimize, analyze, repair we wont change anything ,Then will be logged in binlog , But they also dont throw any error if operation fails Since slave wont be having any temp table , but these operation on tmp table will be processed without breaking replication. For rename we need a different logic MDEV-16728 will solve it. (cherry-pick from 10.0)
-
- 20 Jul, 2018 2 commits
-
-
Sergei Golubchik authored
make thd_get_error_context_description() to show not just thd->proc_info, but exactly the same thread state that SHOW PROCESSLIST shows. (cherry-pick)
-
Sergei Golubchik authored
Change the semantics of thd_get_error_context_description(). It no longer expects the caller to lock LOCK_thread_count (no caller ever did that anyway), but takes care of it internally. (cherry-pick)
-
- 19 Jun, 2018 1 commit
-
-
Marko Mäkelä authored
-
- 15 Jun, 2018 1 commit
-
-
Marko Mäkelä authored
This branch contains a very old version of MyRocks, which is not really needed. Do not build it, so that the builds and tests will run faster and will not cause unnecessary failures.
-
- 13 Jun, 2018 1 commit
-
-
Sergei Golubchik authored
set the pointer to NULL to avoid double-free when the item is cleaned up many times (once in JOIN_TAB::cleanup(): tmp->jtbm_subselect->cleanup() and once at the end of the query, with all other items)
-
- 07 Jun, 2018 2 commits
-
-
Marko Mäkelä authored
Revert the dead code for MySQL 5.7 multi-master replication (GCS), also known as WL#6835: InnoDB: GCS Replication: Deterministic Deadlock Handling (High Prio Transactions in InnoDB). Also, make innodb_lock_schedule_algorithm=vats skip SPATIAL INDEX, because the code does not seem to be compatible with them. Add FIXME comments to some SPATIAL INDEX locking code. It looks like Galera write-set replication might not work with SPATIAL INDEX.
-
Marko Mäkelä authored
-
- 06 Apr, 2018 7 commits
-
-
Michael Widenius authored
MDEV-14762 Server crashes in MDL_ticket::has_stronger_or_equal_type upon inserting into temporary sequence Fix is to not upgrade MDL locks for temporary tables
-
Monty authored
This could crash in mysql_unlock_tables in servers compiled with DBUG
-
Michael Widenius authored
MDEV-15742 Assertion `table_share->tmp_table != NO_TMP_TABLE || m_lock_type == 1' failed in handler::ha_write_row
-
Monty authored
MDEV-14831 CREATE OR REPLACE SEQUENCE under LOCK TABLE corrupts the sequence, causes ER_KEY_NOT_FOUND The problem was that sequence_insert didn't properly handle the case where there where there was a LOCK TABLE while creating the sequence. Fixed by opening the sequence table, for inserting the first record, in a new environment without any other open tables. Found also a bug in Locked_tables_list::reopen_tables() where the lock structure for the new tables was allocated in THD::mem_root, which causes crashes. This could cause problems with other create tables done under LOCK TABLES.
-
Monty authored
Problem was that sequence_insert closed and reopened the like table without proper locking. Fixed by ensuring that the like table is not reopened in sequence_insert
-
Monty authored
Other changes done to get this to work: - Added 'internal_tables' to TABLE object to list which sequence tables is needed to use the table. - Mark any expression using DEFAULT() with LEX->default_used. This is needed when deciding if we should open internal sequence tables when a table is opened (we don't need to open sequence tables if the main table is only used with SELECT). - Create_and_open_temporary_table() can now also open all internal sequence tables. - Added option MYSQL_LOCK_USE_MALLOC to mysql_lock_tables() to force memory allocation to be used with malloc instead of memroot. - Added flag to MYSQL_LOCK to remember if allocation was done with malloc or memroot (makes code simpler and safer). - init_one_table_for_prelocking() now takes argument for what lock to use instead of it's a routine or something else. - Renamed prelocking placeholders to make them more understandable as they are now used in more code. - Changed test in check_lock_and_start_stmt() if found table has correct locks. The old test didn't work for tables that has lock TL_WRITE_ALLOW_WRITE, which is what sequence tables are using. - Added VCOL_NOT_VIRTUAL option to ensure that sequence functions can't be used with virtual columns - More sequence tests
-
Monty authored
This is needed for MDEV 13679 Enabled sequences to be used in DEFAULT Added new option for count_cuted_fields: CHECK_FIELD_EXPRESSION which is used to check if a DEFAULT expression is correct before ALTER TABLE starts Changed also all test: if (thd->count_cuted_fields) to if (thd->count_cuted_fields > CHECK_FIELD_EXPRESSION)
-
- 06 Mar, 2018 1 commit
-
-
Alexander Barkov authored
-
- 28 Feb, 2018 1 commit
-
-
Alexander Barkov authored
-
- 27 Feb, 2018 1 commit
-
-
Alexander Barkov authored
Backporting from bb-10.2-compatibility to bb-10.2-ext Version: 2018-01-26 - CREATE PACKAGE [BODY] statements are now entirely written to mysql.proc with type='PACKAGE' and type='PACKAGE BODY'. - CREATE PACKAGE BODY now supports IF NOT EXISTS - DROP PACKAGE BODY now supports IF EXISTS - CREATE OR REPLACE PACKAGE [BODY] is now supported - CREATE PACKAGE [BODY] now support the DEFINER clause: CREATE DEFINER user@host PACKAGE pkg ... END; CREATE DEFINER user@host PACKAGE BODY pkg ... END; - CREATE PACKAGE [BODY] now supports SQL SECURITY and COMMENT clauses, e.g.: CREATE PACKAGE p1 SQL SECURITY INVOKER COMMENT "comment" AS ... END; - Package routines are now created from the package CREATE PACKAGE BODY statement and don't produce individual records in mysql.proc. - CREATE PACKAGE BODY now supports package-wide variables. Package variables can be read and set inside package routines. Package variables are stored in a separate sp_rcontext, which is cached in THD on the first packate routine call. - CREATE PACKAGE BODY now supports the initialization section. - All public routines (i.e. declared in CREATE PACKAGE) must have implementations in CREATE PACKAGE BODY - Only public package routines are available outside of the package - {CREATE|DROP} PACKAGE [BODY] now respects CREATE ROUTINE and ALTER ROUTINE privileges - "GRANT EXECUTE ON PACKAGE BODY pkg" is now supported - SHOW CREATE PACKAGE [BODY] is now supported - SHOW PACKAGE [BODY] STATUS is now supported - CREATE and DROP for PACKAGE [BODY] now works for non-current databases - mysqldump now supports packages - "SHOW {PROCEDURE|FUNCTION) CODE pkg.routine" now works for package routines - "SHOW PACKAGE BODY CODE pkg" now works (the package initialization section) - A new package body level MDL was added - Recursive calls for package procedures are now possible - Routine forward declarations in CREATE PACKATE BODY are now supported. - Package body variables now work as SP OUT parameters - Package body variables now work as SELECT INTO targets - Package body variables now support ROW, %ROWTYPE, %TYPE
-
- 22 Feb, 2018 8 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
fix the compilation error. no support for plugins yet.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Jan Lindström authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
rocksdb and spider
-
Sergei Golubchik authored
-
- 21 Feb, 2018 8 commits
-
-
Daniel Black authored
Regression introducted in c2118a08 where LOCK_thd_data was moveed to LOCK_thd_kill
-
Vladislav Vaintroub authored
-
Sergei Golubchik authored
despite the name, it logs both stdout and stderr
-
Sergei Golubchik authored
tokudb apparently requires perfschema now
-
Sergei Golubchik authored
-
Sergei Petrunia authored
-
Daniel Black authored
Analysis:- The problem is the change in the implementation of wait_for_listen in wsrep_sst_xtrabackup-v2.sh. The new script uses lsof which will always exit with an error code if it can't find all the items, and because the script has the -e option set in the hashbang line (#!/bin/bash -ue), the script will abort right after running lsof if lsof can't find even a single item among all the items listed in its arguments. This will happen even if socat is running and listening, because it can't find nc. The loop in wait_for_listen will therefore always quit after one iteration without writing the "ready" line to signal the parent. Solution:- We will or the lsof with true. Patch Credit :Daniel Black and David Wang
-
Sergei Petrunia authored
Part #2: some transactions have m_rocksdb_tx==NULL (and most functions of Rdb_transction_impl handle this case. Do like they do)
-