Aleksey Midenkov
39db116562
MDEV-18862 Unfortunate error message upon attempt to drop system versioning
...
Fix error code.
2019-08-14 11:58:58 +03:00
Alexander Barkov
95cdc1ca5f
Merge commit '43882e764d6867c6855b1ff057758a3f08b25c55' into 10.4
2019-08-13 11:42:31 +04:00
Aleksey Midenkov
0b74c8832d
MDEV-19127 Assertion `row_start_field' failed in vers_prepare_keys upon ALTER TABLE
...
Prevent conflicting clauses at parser level.
Clear HA_VERSIONED_TABLE flag for DROP SYSTEM VERSIONING (for the sake
of strictness).
2019-08-11 12:32:08 +03:00
Aleksey Midenkov
638e78853f
MDEV-18862 Unfortunate error message upon attempt to drop system versioning
...
Special case for DROP PERIOD when system fields are implicit.
2019-08-11 12:32:08 +03:00
Aleksey Midenkov
5851e668d7
MDEV-19304 Segfault in ALTER TABLE after UPDATE for SIMULTANEOUS_ASSIGNMENT
...
For MODE_SIMULTANEOUS_ASSIGNMENT it is required to return back field
offsets from record[1] to record[0]. 'continue' in warning branch did
skip of rfield->move_field_offset() call.
2019-08-11 12:32:08 +03:00
Aleksey Midenkov
98758b52b3
MDEV-20068 History partition rotation is not done under LOCK TABLES
...
Wrong value F_WRLCK for thr_lock_type.
2019-08-11 12:32:08 +03:00
Aleksey Midenkov
cdbac54df0
MDEV-17613 MIN/MAX Optimization (Select tables optimized away) does not work
...
Prune to now-partition when there is no FOR SYSTEM_TIME clause.
2019-08-11 12:32:08 +03:00
Alexey Botchkov
c6efbc543d
MDEV-17544 No warning when trying to name a primary key constraint.
...
Warning added.
2019-07-30 21:57:48 +04:00
Eugene Kosov
c0743e4b00
Merge 10.3 into 10.4
2019-07-26 18:31:48 +03:00
Aleksey Midenkov
00a254cc06
MDEV-20186 Wrong result or Assertion on INSERT after DELETE HISTORY
...
Fix reinitialize vers_write on table reopen.
2019-07-26 18:21:23 +03:00
Eugene Kosov
4c7a743964
Merge 10.3 into 10.4
2019-07-26 15:22:31 +03:00
Aleksey Midenkov
f6d0d309fa
MDEV-19814 Assertion `update->n_fields < ulint(table->n_cols + table->n_v_cols)' on DELETE HISTORY
...
Turn off versioned_write for DELETE HISTORY.
2019-07-25 21:11:15 +03:00
Aleksey Midenkov
b0dd048edd
MDEV-19175 Server crashes in ha_partition::vers_can_native upon INSERT DELAYED into versioned partitioned table
...
Uninitialized LEX::part_info on ha_partition::vers_can_native().
2019-07-09 10:01:54 +03:00
Aleksey Midenkov
3ffa06bc20
Tests: versioning suite fix when no test_versioning plugin
2019-07-09 10:01:54 +03:00
Aleksey Midenkov
af5b0dbab6
MDEV-19175 Server crashes in ha_partition::vers_can_native upon INSERT DELAYED into versioned partitioned table
...
Uninitialized LEX::part_info on ha_partition::vers_can_native().
2019-07-08 13:25:05 +03:00
Aleksey Midenkov
c7f818928d
Tests: versioning suite fix when no test_versioning plugin
2019-07-08 13:25:04 +03:00
Sergei Golubchik
b3f3b3eaca
fix versioning.simple for embedded
2019-06-17 12:26:25 +02:00
Sergei Golubchik
95d783af62
fix versioning.simple for embedded
2019-06-15 22:32:09 +02:00
Oleksandr Byelkin
f66d1850ac
Merge branch '10.3' into 10.4
2019-06-14 22:10:50 +02:00
Aleksey Midenkov
2e73561c6c
MDEV-16804 SYSTEM VERSIONING columns not showing as GENERATED
...
Closes #830
2019-06-14 11:12:18 +02:00
Marko Mäkelä
cf77951fb6
Merge 10.3 into 10.4
2019-05-22 08:42:31 +03:00
Aleksey Midenkov
c86773f46f
MDEV-18136 Server crashes in Item_func_dyncol_create::prepare_arguments
...
[Closes tempesta-tech/mariadb#572 ]
2019-05-20 15:28:20 +04:00
Eugene Kosov
6473641b9a
MDEV-18512 using DATETIME(6) as row_start/row_end crashes server
...
Disallow DATETIME for SYSTEM VERSIONING tables.
2019-05-20 15:19:01 +04:00
Eugene Kosov
48a662dae5
MDEV-19486 Server crashes in row_upd or row_upd_del_mark_clust_rec on REPLACE into a versioned table
...
row_insert_for_mysql(): InnoDB sets values for row_start and row_end.
And this function used to return those values to server in
ha_innobase::write_row(). This buggy behavior was removed. Also,
a piece of code in this function was reformatted.
upd_node_t::make_versioned_helper(): Assert that the preallocated size
of the update vector is not exceeded.
2019-05-20 10:23:17 +03:00
Oleksandr Byelkin
c07325f932
Merge branch '10.3' into 10.4
2019-05-19 20:55:37 +02:00
Sergei Golubchik
d199591cf2
generalize the error message
2019-05-18 20:34:03 +02:00
Sergei Golubchik
ececc50252
MDEV-15966 Behavior for TRUNCATE versioned table is not documented and not covered by tests
...
* add error for truncation of versioned tables: `ER_TRUNCATE_ILLEGAL_VERS`
* make a full table open with `tdc_aquire_share` instead of just `ha_table_exists` check
test suites run: main, parts, versioning
Closes #785
2019-05-18 20:34:03 +02:00
Sergei Golubchik
e506bef430
MDEV-15458 Segfault in heap_scan() upon UPDATE after ADD SYSTEM VERSIONING
...
* Versioning tests support
Closes #1043
2019-05-17 13:53:22 +02:00
Eugene Kosov
3d649c6e37
MDEV-15408 Confusing error message upon ER_VERS_FIELD_WRONG_TYPE while omitting UNSIGNED in BIGINT
...
Improve diagnostics. Try to guess what type user tried to type.
2019-05-17 13:53:22 +02:00
Marko Mäkelä
d3dcec5d65
Merge 10.3 into 10.4
2019-05-05 15:06:44 +03:00
Aleksey Midenkov
d46ffaf6af
MDEV-17655 Inconsistent grant-name usage between grant-statement and privilege tables
...
Closes #1044
2019-05-02 11:40:06 +02:00
Sergey Vojtovich
914bb5387f
Removed redundant partitioning check
...
This check was introduced in 602a222 and then became redundant in ad1553e,
where we attempt to open a table even for non-copy algorithms.
Added missing test case from 602a222 .
Part of MDEV-17805 - Remove InnoDB cache for temporary tables.
2019-04-03 16:47:27 +04:00
Marko Mäkelä
5c3ff5cb93
Merge 10.3 into 10.4
2019-04-02 11:04:54 +03:00
Michael Widenius
b5615eff0d
Write information about restart in .result
...
Idea comes from MySQL which does something similar
2019-04-01 19:47:24 +03:00
Sergei Golubchik
a82cfe109c
cleanup: move rbr-only test to rpl_row.test
2019-03-29 12:51:19 +01:00
Nikita Malyavin
39d7e5969b
MDEV-16252: MINIMAL binlog_row_image does not work for versioned tables
...
* mark columns for binlog before inserting history row
Closes #822
2019-03-29 12:51:19 +01:00
Sergei Golubchik
8123d79911
MDEV-15951 system versioning by trx id doesn't work with partitioning
...
Clarify the error message, use the wording from the manual.
Closes #870
2019-03-29 12:51:19 +01:00
Nikita Malyavin
e6230e844c
MDEV-15951 system versioning by trx id doesn't work with partitioning
...
Fix partitioning for trx_id-versioned tables.
`partition by hash`, `range` and others now work.
`partition by system_time` is forbidden.
Currently we cannot use row_start and row_end in `partition by`, because
insertion of versioned field is done by engine's handler, as well as
row_start/row_end's value set up, which is a transaction id -- so it's
also forbidden.
The drawback is that it's now impossible to use `partition by key()`
without parameters for such tables, because it references row_start and
row_end implicitly.
* add handler::vers_can_native()
* drop Table_scope_and_contents_source_st::vers_native()
* drop partition_element::find_engine_flag as unused
* forbid versioning partitioning for trx_id as not supported
* adopt vers tests for trx_id partitioning
* forbid any row_end referencing in `partition by` clauses,
including implicit `by key()`
2019-03-29 12:51:19 +01:00
Aleksey Midenkov
f6ee132491
Versioning tests stability improvement
...
Fix SELECT resultset order.
2019-03-29 12:51:19 +01:00
Aleksey Midenkov
8df04fb894
MDEV-15412 For any non-existing transaction ID, AS OF provides the current table contents without a warning
...
Fail with error on non-existing TRX_ID.
Closes #832
2019-03-29 12:51:19 +01:00
Marko Mäkelä
349560d5d5
Merge 10.2 into 10.3
2019-03-27 13:27:04 +02:00
Marko Mäkelä
0bc4260226
Merge 10.3 into 10.4
2019-03-26 17:43:59 +02:00
Aleksey Midenkov
a138d061b5
MDEV-18869 Assertion `!((field)->vcol_info && (field)->stored_in_db())' failed in innodb_col_no upon altering table with system versioning
...
WITH/WITHOUT SYSTEM VERSIONING is not supported for generated columns
at parser level (see definition of field_def rule).
2019-03-26 15:04:06 +02:00
Marko Mäkelä
96f8793a7a
Merge 10.3 into 10.4
2019-03-20 19:08:47 +02:00
Marko Mäkelä
b47cec6c55
MDEV-18879/MDEV-18972 Corrupted record inserted by FOREIGN KEY operation
...
row_ins_foreign_check_on_constraint(): When constructing
cascade->historical_row for tables WITH SYSTEM VERSIONING,
use the appropriate mode ROW_COPY_DATA, because the pointers
will be stale after mtr_commit() is invoked.
2019-03-20 18:10:23 +02:00
Nikita Malyavin
47e28a94d5
MDEV-16973 Application-time periods: DELETE
...
* inject portion of time updates into mysql_delete main loop
* triggered case emits delete+insert, no updates
* PORTION OF `SYSTEM_TIME` is forbidden
* `DELETE HISTORY .. FOR PORTION OF ...` is forbidden as well
2019-02-21 14:48:04 +01:00
Sergei Golubchik
9b76e2843b
Merge branch '10.3' into 10.4
2019-01-26 01:13:41 +01:00
Aleksey Midenkov
06a37d37a1
MDEV-18122 Assertion 'table->versioned() == m_prebuilt->table->versioned()' failed in ha_innobase::open
...
Closes #1134
2019-01-25 23:30:45 +02:00
Eugene Kosov
0e1f7f5c4a
MDEV-18057 Assertion `(node->state == 5) || (node->state == 6)' failed in row_upd_sec_step upon DELETE after UPDATE failed due to FK violation
...
The idea of the fix: reset state from previous query.
row_upd_clust_step(): reset cached index before updating a clustered index
Closes #1133
2019-01-25 16:35:50 +02:00
Aleksey Midenkov
35318d730a
MDEV-18173 Assertion o->ind == vers_end' or o->ind == vers_start' failed in dict_table_t::instant_column
2019-01-14 14:05:21 +03:00