- 13 Apr, 2017 4 commits
-
-
Vladislav Vaintroub authored
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Alexander Barkov authored
-
- 12 Apr, 2017 1 commit
-
-
Alexander Barkov authored
-
- 11 Apr, 2017 3 commits
-
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Daniel Black authored
Remove clang-3.8 which doesn't have a repository on apt.llvm.org any more. For OSX, xcode8.3 is explicitly specified. /usr/local/Cellar is used as a cache repository to save brew install time on OSX (and /usr/local was too big). Debian autobake.sh is moved to a matrix include. Other branches of the matrix build test other test suites. An Ubuntu galera is downloaded and used in the test suite. TYPE=RelWithDebInfo used with the test to provide backtraces with line numbers when crashes occur. Build of PLUGIN_AWS_KEY_MANAGEMENT enabled in build. Code supporting TYPE=Debug and -DWITH_ASAN=ON included by not enabled due to large numbers of errors. Running more tests in parallel (6) as container based builds seem to support them. The test case timeout has been set to 2 minutes as large stalls will put test cases over 50 minute interval. ccache enabled where possible. Linux clang builds don't use them as the minimum CMake version isn't there.
-
- 09 Apr, 2017 3 commits
-
-
=Ian Gilfillan authored
-
Michael Widenius authored
-
Michael Widenius authored
Problem was that we got an error in sequence_insert while opening the newly created sequence table in an prepared statement as the table id didn't match. Fixed by temporarly removing the reprepare observer during sequence_insert as there can never be a table missmatch in this case.
-
- 08 Apr, 2017 4 commits
-
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Alexander Barkov authored
storage/rocksdb/rdb_datadic.cc failed to compile on big endian machines (wrong usage of static_assert)
-
Alexander Barkov authored
-
- 07 Apr, 2017 25 commits
-
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Vladislav Vaintroub authored
-
Oleksandr Byelkin authored
Data loss in case of partituon removing is documented => do not try to prevent it
-
Alexander Barkov authored
-
Oleksandr Byelkin authored
In case of error on opening VIEW (absent table for example) it is still possible to print its definition but some variable is not set (table_list->derived->derived) so it is better do not try to test it when there is safer alternative (table_list itself).
-
Monty authored
- Don't call my_chsize() for small (less than 64K) binary log tmp files - Don't flush cache to disk on reset.
-
Monty authored
- Added file name to error in mysql-test-run - When creating tags, first do it for sql to make it easier to find things in server
-
Marko Mäkelä authored
We introduce a NO_ROLLBACK flag for InnoDB tables. This flag only works for tables that have a single index. Apart from undo logging, this flag will also prevent locking and the assignment of DB_ROW_ID or DB_TRX_ID, and imply READ UNCOMMITTED isolation. It is assumed that the SQL layer is guaranteeing mutual exclusion. After the initial insert of the single record during CREATE SEQUENCE, InnoDB will be updating the single record in-place. This is crash-safe thanks to the redo log. (That is, after a crash after CREATE SEQUENCE was committed, the effect of sequence operations will be observable fully or not at all.) When it comes to the durability of the updates of SEQUENCE in InnoDB, there is a clear analogy to MDEV-6076 Persistent AUTO_INCREMENT. The updates would be made persistent by the InnoDB redo log flush at transaction commit or rollback (or XA PREPARE), provided that innodb_log_flush_at_trx_commit=1. Similar to AUTO_INCREMENT, it is possible that the update of a SEQUENCE in a middle of transaction becomes durable before the COMMIT/ROLLBACK of the transaction, in case the InnoDB redo log is being flushed as a result of the a commit or rollback of some other transaction, or as a result of a redo log checkpoint that can be initiated at any time by operations that are writing redo log. dict_table_t::no_rollback(): Check if the table does not support rollback. BTR_NO_ROLLBACK: Logging and locking flags for no_rollback() tables. DICT_TF_BITS: Add the NO_ROLLBACK flag. row_ins_step(): Assign 0 to DB_ROW_ID and DB_TRX_ID, and skip any locking for no-rollback tables. There will be only a single row in no-rollback tables (or there must be a proper PRIMARY KEY). row_search_mvcc(): Execute the READ UNCOMMITTED code path for no-rollback tables. ha_innobase::external_lock(), ha_innobase::store_lock(): Block CREATE/DROP SEQUENCE in innodb_read_only mode. This probably has no effect for CREATE SEQUENCE, because already ha_innobase::create() should have been called (and refused) before external_lock() or store_lock() is called. ha_innobase::store_lock(): For CREATE SEQUENCE, do not acquire any InnoDB locks, even though TL_WRITE is being requested. (This is just a performance optimization.) innobase_copy_frm_flags_from_create_info(), row_drop_table_for_mysql(): Disable persistent statistics for no_rollback tables.
-
Vladislav Vaintroub authored
link rocksdb with librt, for clock_gettime()
-
Monty authored
"Unknown table" to "Unknown view"
-
Monty authored
Working features: CREATE OR REPLACE [TEMPORARY] SEQUENCE [IF NOT EXISTS] name [ INCREMENT [ BY | = ] increment ] [ MINVALUE [=] minvalue | NO MINVALUE ] [ MAXVALUE [=] maxvalue | NO MAXVALUE ] [ START [ WITH | = ] start ] [ CACHE [=] cache ] [ [ NO ] CYCLE ] ENGINE=xxx COMMENT=".." SELECT NEXT VALUE FOR sequence_name; SELECT NEXTVAL(sequence_name); SELECT PREVIOUS VALUE FOR sequence_name; SELECT LASTVAL(sequence_name); SHOW CREATE SEQUENCE sequence_name; SHOW CREATE TABLE sequence_name; CREATE TABLE sequence-structure ... SEQUENCE=1 ALTER TABLE sequence RENAME TO sequence2; RENAME TABLE sequence TO sequence2; DROP [TEMPORARY] SEQUENCE [IF EXISTS] sequence_names Missing features - SETVAL(value,sequence_name), to be used with replication. - Check replication, including checking that sequence tables are marked not transactional. - Check that a commit happens for NEXT VALUE that changes table data (may already work) - ALTER SEQUENCE. ANSI SQL version of setval. - Share identical sequence entries to not add things twice to table list. - testing insert/delete/update/truncate/load data - Run and fix Alibaba sequence tests (part of mysql-test/suite/sql_sequence) - Write documentation for NEXT VALUE / PREVIOUS_VALUE - NEXTVAL in DEFAULT - Ensure that NEXTVAL in DEFAULT uses database from base table - Two NEXTVAL for same row should give same answer. - Oracle syntax sequence_table.nextval, without any FOR or FROM. - Sequence tables are treated as 'not read constant tables' by SELECT; Would be better if we would have a separate list for sequence tables so that select doesn't know about them, except if refereed to with FROM. Other things done: - Improved output for safemalloc backtrack - frm_type_enum changed to Table_type - Removed lex->is_view and replaced with lex->table_type. This allows use to more easy check if item is view, sequence or table. - Added table flag HA_CAN_TABLES_WITHOUT_ROLLBACK, needed for handlers that want's to support sequences - Added handler calls: - engine_name(), to simplify getting engine name for partition and sequences - update_first_row(), to be able to do efficient sequence implementations. - Made binlog_log_row() global to be able to call it from ha_sequence.cc - Added handler variable: row_already_logged, to be able to flag that the changed row is already logging to replication log. - Added CF_DB_CHANGE and CF_SCHEMA_CHANGE flags to simplify deny_updates_if_read_only_option() - Added sp_add_cfetch() to avoid new conflicts in sql_yacc.yy - Moved code for add_table_options() out from sql_show.cc::show_create_table() - Added String::append_longlong() and used it in sql_show.cc to simplify code. - Added extra option to dd_frm_type() and ha_table_exists to indicate if the table is a sequence. Needed by DROP SQUENCE to not drop a table.
-
Monty authored
This happens because the master writes a table_map event to the binary log, but no row event. The slave has a check that there should always be a row event if there was a table_map event, which causes a crash. Fixed by remembering in the cache what kind of events are logged and ignore cached statements which is just a table map event.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Also, merge some test changes from MySQL 5.7.10, for deprecating innodb_support_xa.
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Sergei Golubchik authored
because on Windows it cannot properly append to the file, doesn't use CreateFile(..., FILE_APPEND_DATA, ...) this fixes main.shutdown failures on Windows
-
Sergei Golubchik authored
-
Sergei Golubchik authored
Annotate_rows_log_event again. When a new annotate event comes, the server applies it first (which backs up thd->query_string), then frees the old annotate event, if any. Normally there isn't. But with sub-statements (e.g. triggers) new annotate event comes before the first one is freed, so the second event backs up thd->query_string that was set by the first annotate event. Then the first event is freed, together with its query string. And then the second event restores thd->query_string to this freed memory. Fix: free old annotate event before applying the new one.
-
Sergei Golubchik authored
Annotate_rows_log_event should always restore thd->query_string if it was backed up. Even if the backed up value is NULL.
-
Sergei Golubchik authored
automatic shortening of a too-long non-unique key should be not a warning, but a note. It's a normal optimization, doesn't affect correctness, and should never be converted to an error, no matter how strict sql_mode is.
-
Vladislav Vaintroub authored
to fix build on Win64
-
Alexander Barkov authored
-
Alexander Barkov authored
-