Commit graph

180514 commits

Author SHA1 Message Date
Aleksey Midenkov
34abee2c21 Daemon: debug_system_versioning_show, debug_system_versioning_force 2018-01-10 11:50:44 +03:00
Sergei Golubchik
c777add74f Tests: inserting an explicit value into a vers column
must behave as any other generated column: an error in the strict mode,
a warning otherwise.
2018-01-09 15:52:04 +03:00
Sergei Golubchik
b85efdc3af rename system_time columns
sys_trx_start -> row_start
sys_trx_end -> row_end
2018-01-09 15:49:07 +03:00
Aleksey Midenkov
cf1e5bef59 Cleanup: needless set_current_time() 2018-01-09 15:48:37 +03:00
Sergei Golubchik
be81b00c84 MDEV-14788 System versioning cannot be based on local timestamps, as it is now
use system time, not @@timestamp
2018-01-09 15:38:50 +03:00
Sergei Golubchik
c92bf28b5f cleanup: don't use thd->set_current_time() directly 2018-01-09 15:31:30 +03:00
Sergei Golubchik
d20d7a92c0 make versioning plugin more clearly a test-only thing
rename to test_versioning
set maturity to experimental
2018-01-09 15:29:43 +03:00
Aleksey Midenkov
07b1a77430 SQL: Backup_query_start_time RAII 2018-01-09 15:28:08 +03:00
Sergei Golubchik
3395ab7324 small cleanup: backup_query_start_time() 2018-01-09 14:40:16 +03:00
Sergei Golubchik
e52a237fe9 remove ifdefs around PSI_THREAD_CALL
same change as for PSI_TABLE_CALL
2018-01-09 14:21:20 +03:00
Sergei Golubchik
e577b5667a fix compilation w/o P_S 2018-01-09 14:21:08 +03:00
Sergei Golubchik
ca4dbcff69 Tests: system columns *not* being auto-renamed (create, alter)
it's correct, they preserve their documented names
2018-01-09 14:18:39 +03:00
Sergei Golubchik
35b679b924 SQL: error messages
remove unused error messages
reword ER_VERS_SYS_FIELD_NOT_HIDDEN->ER_VERS_SYS_FIELD_EXISTS
2018-01-09 14:16:47 +03:00
Sergei Golubchik
e6a7457653 SQL: derived, hiding, error messages
Many related changes.

Note that AS OF condition must always be pushed down to physical tables,
it cannot be applied to a derived or a view. Thus:

* no versioning for internal temporary tables, they can never store
  historical data.
* remove special versioning code from mysql_derived_prepare and
  remove ER_VERS_DERIVED_PROHIBITED - derived can have no historical
  data and cannot be prohibited for system versioning related reasons.
* do not expand select list for derived/views with sys vers fields,
  derived/views can never have historical data.
* remove special invisiblity rules for sys vers fields, they are no
  longer needed after the previous change
* remove system_versioning_hide, it lost the meaning after the
  previous change.
* remove ER_VERS_SYSTEM_TIME_CLASH, it's no "clash", the inner
  AS OF clause always wins.
* non-versioned fields in a historical query

reword the warning text, downgrade to note, don't
replace values with NULLs
2018-01-09 14:12:41 +03:00
Sergei Golubchik
b06b5c3eab Tests: disabled cte.test
CTE don't work, report MDEV-14820
2018-01-09 13:57:33 +03:00
Sergei Golubchik
1a0b986e78 MDEV-14764 Confusing error message: Table t1 must have at least one temporal column
compiler warning (mix of bool and enum in ?:)
2018-01-09 13:56:31 +03:00
Eugene Kosov
5dddbafa4e
MDEV-14821 Assertion !is_set() || (m_status == DA_OK_BULK && is_bulk_op()) failed in Diagnostics_area::set_ok_status 2018-01-08 13:32:02 +03:00
Aleksey Midenkov
912769b7dc SQL: lower priority of warning in vers_part_rotate() for ALTER [fixes #446] 2018-01-06 11:56:51 +03:00
Aleksey Midenkov
daf883f95c MDEV-14817 Server crashes in prep_alter_part_table() after table lock and multiple add partition [fixes #440]
Cause: `table->part_info` is stale after `prep_alter_part_table()` while
`table->m_needs_reopen == true`.

Fix: restore `table->part_info` in case of error in `prep_alter_part_table()`.

Tested with main, parts, innodb suites.
2018-01-04 01:24:38 +03:00
Eugene Kosov
dbf21ff396
MDEV-14787 CREATE does not allow tables with versioning columns only, but ALTER does 2018-01-03 15:51:23 +03:00
Aleksey Midenkov
b8b5d8d87d MDEV-14828 Server crashes in JOIN::prepare / setup_fields on 2nd execution of PS [fixes #437] 2018-01-02 15:28:50 +03:00
Aleksey Midenkov
8efca72f4a MDEV-14792 INSERT without column list into table with explicit versioning columns produces bad data 2018-01-01 23:37:02 +03:00
Eugene Kosov
157150cfcf MDEV-14769 Temporary table can be altered into system versioning + system_versioning_alter_history has no effect 2018-01-01 23:37:02 +03:00
Aleksey Midenkov
7069071d7d MDEV-14786 Server crashes in Item_cond::transform on 2nd execution of SP querying from a view [fixes #436] 2018-01-01 23:34:39 +03:00
Eugene Kosov
19f0b512a9 Tests: record mariabackup.system_versioning [#387] 2017-12-29 00:23:21 +03:00
Eugene Kosov
2a3c66a636 IB: move methods to proper place 2017-12-29 00:23:21 +03:00
Eugene Kosov
d72462a29b SQL: TRX_ID to TIMESTAMP versioning switch [fixes #428] 2017-12-29 00:23:20 +03:00
Aleksey Midenkov
d1e4c5d13e MDEV-14748 Assertion in ha_myisammrg::attach_children() [fixes #434] 2017-12-29 00:23:20 +03:00
Sergei Golubchik
9daf583ab6 fix CREATE ... SELECT
move table->vers_update_fields() where it belongs - into fill_record(),
right after table_arg->update_virtual_fields()
2017-12-29 00:23:13 +03:00
Sergei Golubchik
1a06a48230 Tests: ER_VERS_DUPLICATE_ROW_START_END check 2017-12-29 00:23:13 +03:00
Sergei Golubchik
759843ae60 dead code prev_insert_id() 2017-12-29 00:23:12 +03:00
Eugene Kosov
0fe67f2ef9 MDEV-14744 Assertion `table->versioned() == m_prebuilt->table->versioned()' failed in ha_innobase::open 2017-12-29 00:23:07 +03:00
Aleksey Midenkov
04451f0f8a MDEV-14765 Server crashes in Sys_var_vers_asof::update 2017-12-26 15:25:39 +03:00
Aleksey Midenkov
11c6882741 MDEV-14747 ALTER PARTITION BY SYSTEM_TIME after LOCK TABLES 2017-12-26 15:25:39 +03:00
Aleksey Midenkov
4236f589b6 MDEV-14751 Server crashes in TABLE::versioned on 2nd execution of SP [fixes #431]
SQL: TABLE_LIST cleanup on free_tmp_table()

May affect non-versioning tests (main suite passed).
2017-12-26 15:25:39 +03:00
Aleksey Midenkov
b9bc8bbdc0 SQL: SP forced invalidate via 0
Invalidate via ULONG_MAX was wrong because sp_cache_flush_obsolete()
works incorrectly in this case.

Fixes MDEV-14749
2017-12-26 15:24:48 +03:00
Eugene Kosov
d8aabb44b5
SQL: prohibit ALTER ... AS ROW START|END [fixes #429] 2017-12-25 13:38:03 +03:00
Aleksey Midenkov
ea49441c41 Partition: uninitialized vers_info fix 2017-12-22 16:40:09 +03:00
Eugene Kosov
9cbf9e3b92 Tests: rocksdb.misc [#387] 2017-12-22 16:33:24 +03:00
Aleksey Midenkov
57f827cdd6 MDEV-14741 Assertion '(trx)->start_file == 0' failed
in row_truncate_table_for_mysql()
2017-12-22 14:52:17 +03:00
Eugene Kosov
7f1777af88 SQL: DELETE HISTORY error message in prepared statements [#387] 2017-12-22 14:31:04 +03:00
Eugene Kosov
098a1d7ddb MDEV-14632 Assertion `!((new_col->prtype ^ col->prtype) & ~256U)' failed in row_log_table_apply_convert_mrec
Follow up on comments.
2017-12-22 13:32:00 +03:00
Aleksey Midenkov
1e8eae40ce MDEV-14740 Locking assertion for system_time partitioning
Assertion `thd->locked_tables_mode <= LTM_LOCK_TABLES ||
!thd->lex->requires_prelocking()' failed in lock_tables().
2017-12-22 12:51:48 +03:00
Eugene Kosov
d6b68b0e8d Tests: mariabackup.system_versioning [#387] 2017-12-21 21:15:20 +03:00
Aleksey Midenkov
e6c5eb5c58 MDEV-14730 Assertion `m_lock_type == 2' failed in handler::ha_close
SQL: class Table_locker
2017-12-21 18:24:58 +03:00
Aleksey Midenkov
7e39f70044 MDEV-14722 Partition: assertion in ha_commit_trans() for sub-statement 2017-12-21 16:15:56 +03:00
Sergei Golubchik
368ad5ec36 compiler warning
sql/table.h:1531:17: warning: enumeral and non-enumeral type in conditional expression [-Wextra]
2017-12-21 15:22:38 +03:00
Sergei Golubchik
c968a7ebfd Fix tests
* test results
* HISTORY in ora parser
2017-12-21 15:22:31 +03:00
Sergei Golubchik
64749432ef Revert "MDEV-14681 Bogus ER_UNSUPPORTED_EXTENSION", fix differently
This reverts commit b13f1cc59a

Don't scan the list of added columns for every row
in copy_data_between tables.
2017-12-21 15:22:22 +03:00
Aleksey Midenkov
e65a695f28 Tests: disabled embedded for versioning.trx_id [#387]
Error ER_VERS_TRT_IS_DISABLED is not thrown.
2017-12-21 15:08:34 +03:00