- 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 12 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)
-
Sergei Golubchik authored
-
Sergei Petrunia authored
Make MyRocks' non-XA commit path to first do the commit without syncing and then sync.
-
Alexander Barkov authored
-
Alexander Barkov authored
The change N7 in MDEV-15340 (see the commit message) introduced a regression in how CAST(AS TIME), HOUR(), TIME_TO_SEC() treat datetimes '0000-00-DD mm:hh:ss' (i.e. with zero YYYYMM part and a non-zero day). These functions historically do not mix days to hours on datetime-to-time conversion. Implementations of the underlying methods used get_arg0_time() to fetch MYSQL_TIME. After MDEV-15340, get_arg0_time() went through the Time() constructor, which always adds '0000-00-DD' to hours automatically (as in all other places in the code we do mix days to hours). Changes: 1. Extending Time() to make it possible to choose a desired way of treating '0000-00-DD' (ignore or mix to hours) on datetime-to-time conversion. Adding a helper class Time::Options for this, which now describes two aspects of Time() creation: 1. Flags for get_date() 2. Days/hours mixing behavior. 2. Removing Item_func::get_arg0_time(). Using Time() directly in all affected classes. Forcing Time() to ignore (rather than mix) '0000-00-DD' in these affected classes by passing a suitable Options value. 3. Adding Time::to_seconds(), to reuse the code between Item_func_time_to_sec::decimal_op() and Item_func_time_to_sec::int_op(). 4. Item_func::get_arg0_date() now returns only a datetime value, with automatic time-to-datetime conversion if needed. An assert was added to catch attempts to pass TIME_TIME_ONLY to get_arg0_date(). All callers were checked not to pass TIME_TIME_ONLY, this revealed a bug MDEV-15363. 5. Changing Item_func_last_day::get_date() to remove the TIME_TIME_ONLY flag before calling get_arg0_date(). This fixes MDEV-15363.
-
- 20 Feb, 2018 2 commits
-
-
Vladislav Vaintroub authored
a) We do not need this on Windows, and it is not clear what it does,inside service. b) It hinders debugging. mysql-test-run.pl --debugger=vsjitdebugger more often than , would stop here throwing "invalid handle" exception.
-
Jan Lindström authored
* galera_gtid_slave * galera_unicode_identifiers
-