Commit graph

23 commits

Author SHA1 Message Date
Aleksey Midenkov
947aa0bab9 SQL: vers_setup_select() misc refactoring
Renamed to SELECT_LEX::vers_setup_conds().
Moved optimized fields check to JOIN::vers_check_items().
2017-12-08 19:37:24 +03:00
Aleksey Midenkov
f924a94d2f SQL: disable versioned DML for transaction_registry=off [closes #364] 2017-11-28 18:38:54 +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
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
Aleksey Midenkov
5994b6873c Daemon: TRT check doesn't abort [fixes #335]
Added schema check logging messages.
2017-11-22 22:20:14 +03:00
Aleksey Midenkov
2b16681ee0 SQL, IB: single check of vers_update_trt [#305]
Warnings cleanup in vtmd.cc
Stale thd->vers_update_trt after rollback to savepoint fix
2017-11-21 21:54:11 +03:00
Aleksey Midenkov
f39df037f6 Daemon: TRT check respects --transaction-registry [#302] 2017-11-17 11:51:41 +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
Aleksey Midenkov
72274c10f0 SQL: TRT failure fixes [closes #318]
Unclosed stmt transaction
TRT failure in inplace

Related to #305
2017-11-15 00:22:12 +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
d8d7251019 System Versioning pre0.12
Merge remote-tracking branch 'origin/archive/2017-10-17' into 10.3
2017-11-07 00:37:49 +03:00
Eugene Kosov
d7a484b04f SQL: segfault after make_select() in VTMD 2017-10-04 13:36:31 +03:00
Aleksey Midenkov
1d056f5abc SQL: not a VTMD table warning [related to #199] 2017-10-03 00:31:44 +03:00
Aleksey Midenkov
9062385c20 SQL: invalidate current SP at archive substitution [closes #127]
Related to #125
2017-09-29 17:52:07 +03:00
Aleksey Midenkov
5e42511ce1 SQL: SELECT from archive table [closes #127] 2017-09-28 13:16:04 +03:00
Eugene Kosov
c5801dd67b SQL: hide archive tables [closes #193] 2017-09-27 22:08:20 +03:00
Aleksey Midenkov
e9e3cb0f6e SQL: VTMD for SHOW CREATE fixes [related to #125] 2017-09-27 20:42:22 +03:00
Aleksey Midenkov
79e17b26fb SQL: VTMD_table::get_archive_tables() misc fixes 2017-09-27 10:24:40 +03:00
Eugene Kosov
f79c4469ff SQL: helpers to get archive tables list [closes #199] 2017-09-25 22:06:53 +03:00
Aleksey Midenkov
6c9b71d734 SQL: VTMD for OR REPLACE [fixes #270] 2017-09-20 13:07:15 +03:00
Aleksey Midenkov
07ff0e1202 SQL: start_end_t members as LEX_CSTRING 2017-06-23 12:02:06 +03:00
Eugene Kosov
ac5eb9771e SQL: Versioned SHOW CREATE TABLE [closes #125] 2017-06-19 15:21:48 +03:00
Aleksey Midenkov
448374a228 SQL, IB: (0.10) VTMD tracking [closes #124]
IB: Fixes in logic when to do versioned or usual row updates. Now it is
able to do unversioned updates for versioned tables just by disabling
`TABLE_SHARE::versioned` flag.

SQL: DDL tracking for:
* RENAME TABLE, ALTER TABLE .. RENAME TO;
* DROP TABLE;
* data-modifying operations (f.ex. ALTER TABLE .. ADD/DROP COLUMN).
2017-06-19 15:21:39 +03:00