Commit graph

11150 commits

Author SHA1 Message Date
Aleksey Midenkov
f826f1249b Tests: suppress tinyint error for ppc64le [#347] 2017-11-28 14:21:00 +03:00
Eugene Kosov
8eac050440
Tests: revert unneded changes 2017-11-28 11:40:13 +03:00
Aleksey Midenkov
f9d875d212 SQL: disable engine change [fixes #358] 2017-11-27 19:48:36 +03:00
Aleksey Midenkov
941e8b7b0b Tests: suppression for innodb.log_corruption 2017-11-27 16:38:43 +03:00
Aleksey Midenkov
1e3620cc39 Tests: commit_id, truncate for Windows fix [#307] 2017-11-27 16:31:18 +03:00
Aleksey Midenkov
7fab5ecabb Tests: enable disabled tests [closes #341] 2017-11-27 15:07:34 +03:00
Eugene Kosov
01a8bad897 SQL: allow PERIOD as identifier [fixes #331] 2017-11-27 15:07:34 +03:00
Eugene Kosov
62470fc787 SQL: recreate PRIMARY KEY on DROP SYSTEM VERSIONING [#348] 2017-11-27 15:07:34 +03:00
Aleksey Midenkov
0c571f8c4e SQL: versioning_alter_history ERROR mode [closes #350]
Disabled DROP and SURVIVE modes.
2017-11-27 15:07:34 +03:00
Aleksey Midenkov
7320c683b9 Parser: disable SV for tmp tables [closes #344] 2017-11-27 15:07:33 +03:00
Marko Mäkelä
0b89a42ffc Remove the flag vers_update_trt
THD::vers_update_trt, trx_t::vers_update_trt, trx_savept_t::vers_update_trt:
Remove. Instead, determine from trx_t::mod_tables whether versioned
columns were affected by the transaction.

handlerton::prepare_commit_versioned: Replaces vers_get_trt_data.
Return the transaction start ID and also the commit ID, in case
the transaction modified any system-versioned columns (0 if not).

TR_table::store_data(): Remove (merge with update() below).

TR_table::update(): Add the parameters start_id, end_id.

ha_commit_trans(): Remove a condition on SQLCOM_ALTER_TABLE.
If we need something special for ALTER TABLE...ALGORITHM=INPLACE,
that can be done inside InnoDB by modifying trx_t::mod_tables.

innodb_prepare_commit_versioned(): Renamed from innodb_get_trt_data().
Check trx_t::mod_tables to see if any changes to versioned columns
are present.

trx_mod_table_time_t: A pair of logical timestamps, replacing the
undo_no_t in trx_mod_tables_t. Keep track of not only the first
modification to a persistent table in each transaction, but also
the first modification of a versioned column in a table.

dtype_t, dict_col_t: Add the accessor is_any_versioned(), to check
if the type refers to a system-versioned user or system column.

upd_t::affects_versioned(): Check if an update affects a versioned
column.

trx_undo_report_row_operation(): If a versioned column is affected
by the update, invoke trx_mod_table_time_t::set_versioned().

trx_rollback_to_savepoint_low(): If all changes to versioned columns
were rolled back, invoke trx_mod_table_time_t::rollback_versioned(),
so that trx_mod_table_time_t::is_versioned() will no longer hold.
2017-11-27 15:07:33 +03:00
Aleksey Midenkov
6e0b2c7fe0 System Versioning 1.0pre2
Merge branch '10.3' into trunk
2017-11-23 19:41:44 +03:00
Aleksey Midenkov
cbe93291e4 SQL,IB: add auto_inc copy mode fix [#347]
Related to #212.

Extra update of sys_trx_start removed [#87].
2017-11-23 18:31:55 +03:00
Marko Mäkelä
b612f3baa2 Tests: more fine-grained TRT check 2017-11-23 17:44:47 +03:00
Aleksey Midenkov
3d51315912 Tests: disabled DDL survival tests [#196] 2017-11-23 17:44:39 +03:00
Marko Mäkelä
1773116fe0 Use ST_AsText() to get textual result 2017-11-23 15:02:26 +02:00
Marko Mäkelä
d8ada08152 MDEV-14477 InnoDB update_time is wrongly updated after partial rollback or internal COMMIT
The non-persistent UPDATE_TIME for InnoDB tables was not being
updated consistently at transaction commit.

If a transaction is partly rolled back so that in the end it will
not modify a table that it intended to modify, the update_time will
be updated nevertheless. This will also happen when InnoDB fails
to write an undo log record for the intended modification.

If a transaction is committed internally in InnoDB, instead of
being committed from the SQL interface, then the trx_t::mod_tables
will not be applied to the update_time of the tables.

trx_t::mod_tables: Replace the std::set<dict_table_t*>
with std::map<dict_table_t*,undo_no_t>, so that the very first
modification within the transaction is identified.

trx_undo_report_row_operation(): Update mod_tables for every operation
after the undo log record was successfully written.

trx_rollback_to_savepoint_low(): After partial rollback, erase from
trx_t::mod_tables any tables for which all changes were rolled back.

trx_commit_in_memory(): Tighten some assertions and simplify conditions.
Invoke trx_update_mod_tables_timestamp() if persistent tables were
affected.

trx_commit_for_mysql(): Remove the call to
trx_update_mod_tables_timestamp(), as it is now invoked at the
lower level, in trx_commit_in_memory().

trx_rollback_finish(): Clear mod_tables before invoking trx_commit(),
because the trx_commit_in_memory() would otherwise wrongly process
mod_tables after a full ROLLBACK.
2017-11-23 09:54:24 +02:00
Eugene Kosov
91ba4f04be SQL: prohibit column conversion to system fields for non-empty table [fixes #310] 2017-11-22 15:31:03 +03:00
Eugene Kosov
c31aa75dee SQL: open TRT only after versioned write [#305][fixes #321] 2017-11-21 21:54:11 +03:00
Aleksey Midenkov
e83b54cb34 Tests: disabled tests failing in 10.3 [#302]
main.tc_heuristic_recover
main.func_regexp_pcre
main.mysql_client_test
main.mysql_client_test_comp
main.mysql_client_test_nonblock
encryption.innodb_encrypt_log_corruption
innodb.group_commit_binlog_pos
innodb.group_commit_binlog_pos_no_optimize_thread
innodb.innodb-alter-tempfile
innodb.log_file
innodb.log_file_name
innodb.log_file_name_debug
innodb.log_file_size
innodb.log_corruption
innodb_gis.rtree_compress
innodb_gis.rtree_compress2
innodb_gis.rtree_purge
innodb_gis.rtree_split
mariabackup.huge_lsn
rpl.rpl_semi_sync_event_after_sync
rpl.rpl_semi_sync_after_sync_row
rpl.rpl_semi_sync_after_sync
2017-11-21 21:54:11 +03:00
Aleksey Midenkov
64d9b82825 Tests: TRT-related results [#305] 2017-11-21 21:54:10 +03:00
Aleksey Midenkov
4f386579f8 Tests: renamed to mariabackup.system_versioning [#307]
Removed needless combinations.
2017-11-21 21:54:10 +03:00
Vladislav Vaintroub
e0a00c5a2f MDEV-14412 Support TCP keepalive options
Based on pull request by Oleg Obleukhov
https://github.com/MariaDB/server/pull/400
2017-11-17 21:40:20 +00:00
Vladislav Vaintroub
faee08c10c MDEV-14114 Intoduce variable for binlog io cache size. 2017-11-17 19:28:39 +00:00
Eugene Kosov
75cf92fac9 Tests: regenerate embedded [#302]
sys_vars.sysvars_server_embedded
funcs_1.is_key_column_usage_embedded
funcs_1.is_statistics_mysql_embedded
funcs_1.is_table_constraints_mysql_embedded
funcs_1.is_tables_mysql_embedded
funcs_1.is_columns_mysql_embedded
innodb.monitor
2017-11-17 14:28:45 +03:00
Aleksey Midenkov
a1e5b4a3c8 Tests: table_flags result [#302] 2017-11-17 11:51:42 +03:00
Aleksey Midenkov
6d78496aee Tests: disabled TRT for some IB tests [#302]
As they fail on TRT schema check:
innodb.log_file
innodb.table_flags
innodb.row_format_redundant
encryption.innodb_encrypt_log_corruption
encryption.innodb_first_page
2017-11-17 11:51:41 +03:00
Aleksey Midenkov
3fc943cd87 Tests: suppressions for innodb_force_recovery, ibuf_not_empty [#302] 2017-11-17 11:51:40 +03:00
Aleksey Midenkov
af88c66252 SQL,Client: mysqldump for TRT fix [#302]
Test results:
main.
mysqldump
mysqldump-max
mysqld--help
openssl_1
2017-11-17 11:50:40 +03:00
Eugene Kosov
97540a5e00 Tests: regenerated encryption.innodb_lotoftables [#302] 2017-11-17 11:25:52 +03:00
Aleksey Midenkov
9980886cab Revert "SQL: 1-row partition rotation fix [fixes #260]"
Related to IB partitioning only.
This reverts commit 7e764ae188.
2017-11-17 11:25:52 +03:00
Aleksey Midenkov
2b60afe8d2 SQL: TRT fix for crash_commit_after [#305, #302]
Tests affected: innodb.group_commit_crash (verbosity improved)
2017-11-17 11:25:51 +03:00
Eugene Kosov
ab04950136 Tests: innodb encryption [#305, #302]
encryption.encrypt_and_grep - regenerate .result
encryption.innodb_encryption - regenerate .result and fix test itself
2017-11-17 11:25:51 +03:00
Aleksey Midenkov
ad69c4b722 Tests: dependency on wsrep removed from sql_sequence tests
Affected tests:
sql_sequence.gtid sql_sequence.replication
2017-11-17 11:25:50 +03:00
Eugene Kosov
f9b8c908a0 SQL: ADD/DROP SYSTEM VERSIONING syntax for ALTER TABLE 2017-11-17 11:25:49 +03:00
Aleksey Midenkov
67907c699c Tests: better 'near' place fix
Related to ecde299c3b7afd71f16181b6bd0bc8dda31fad5f
2017-11-17 11:25:49 +03:00
Michael Widenius
326bfb071c MDEV-14378 - Allow on to drop orphaned #sql- tables
DROP TABLE now also works on empty or short .frm files
2017-11-17 07:30:05 +02:00
Aleksey Midenkov
31bd86c8df Tests: dependency on wsrep removed from sql_sequence tests
Affected tests:
sql_sequence.gtid sql_sequence.replication
2017-11-16 16:29:14 +08:00
Marko Mäkelä
761e6574c8 MDEV-14396 Assertion failed in create_option_need_rebuild
Relax a too strict debug assertion, and add a test.
2017-11-15 02:41:45 +02:00
Aleksey Midenkov
cc6701a7b3 Tests: vtmd, optimized, partition 2017-11-15 00:22:11 +03:00
Aleksey Midenkov
33085349e9 IB, SQL: removed VTQ, added TRT on SQL layer [closes #305] 2017-11-15 00:22:10 +03:00
Aleksey Midenkov
a80c71dfbb Scripts: bootstrap fix [#307] 2017-11-13 19:11:04 +03:00
Eugene Kosov
70a4659d0e Tests: result updates
encryption.innodb_lotoftables
encryption.innodb_encryption
funcs_1.is_columns_mysql
2017-11-13 19:11:03 +03:00
Eugene Kosov
e707502a13 Tests: mariabackup simple case [closes #282] 2017-11-13 19:11:03 +03:00
Eugene Kosov
f5ba28404b Tests: innodb.row_format_redundant 2017-11-13 19:11:03 +03:00
Eugene Kosov
3f790104c9 Tests: full test results
innodb.innodb-index-online-fk
innodb.instant_alter_debug
innodb.innodb_skip_innodb_is_tables
sys_vars.sysvars_server_notembedded
main.mysqld--help
2017-11-13 19:11:03 +03:00
Aleksey Midenkov
d47dc0747b Tests: partition_syntax, innodb_zip.16k, innodb.table_flags 2017-11-13 19:11:03 +03:00
Aleksey Midenkov
73f655d576 SQL: VIEW without VERS_COMMIT_TS + CTE fix [fixes #295] 2017-11-13 19:11:03 +03:00
Aleksey Midenkov
9aae0be8f9 SQL: disabled SYSTEM_TIME partitioning for InnoDB [fixes #294] 2017-11-13 19:11:02 +03:00
Aleksey Midenkov
0ab99d2f34 SQL: no_replicate for VTMD [fixes #289] 2017-11-13 19:11:02 +03:00