Marko Mäkelä
1657b7a583
Merge 10.4 to 10.5
2020-10-22 17:08:49 +03:00
Marko Mäkelä
46957a6a77
Merge 10.3 into 10.4
2020-10-22 13:27:18 +03:00
Aleksey Midenkov
9b46d8e5c4
MDEV-23968 CREATE TEMPORARY TABLE .. LIKE (system versioned table) returns error if unique index is defined in the table
...
- Remove row_start/row_end from keys in fix_create_like();
- Disable manual adding of implicit row_start/row_end to indexes on
CREATE TABLE. INVISIBLE_SYSTEM fields are unoperable by user;
- Fix memory leak on allocation of Key_part_spec.
2020-10-20 10:49:54 +03:00
Marko Mäkelä
d04f2de80a
Merge 10.4 into 10.5
2019-10-11 08:41:36 +03:00
Marko Mäkelä
09afd3da1a
Merge 10.3 into 10.4
2019-10-10 21:30:40 +03:00
Aleksey Midenkov
6684989801
versioning test suite fixes
...
Preparation for MDEV-16210:
replace.test:
key_type combinations: PK and UNIQUE.
foreign.test:
Preparation for key_type combinations.
Other fixes:
* Merged versioning.update2 into versioning.update;
* Removed test2 database and done individual drop instead.
2019-10-10 00:20:34 +03:00
Aleksey Midenkov
58fdf5b2fa
MDEV-16144 Default TIMESTAMP clause for SELECT from versioned
...
1. Removed TIMESTAMP/TRANSACTION unit auto-detection in favor of default TIMESTAMP.
Reasons:
1.1. rare practical use and doubtful advantage of such auto-detection;
1.2. it conflicts with MDEV-16226 (TRX_ID-based versioned tables performance improvement).
Needless check_unit membership removed.
2. SQL: versioning type handling refactoring
Vers_type_handler hierarchy stores versioning properties of type.
virtual Type_handler::vers() accesses specialization of
Vers_type_handler for specific type.
virtual Vers_type_handler::kind() returns versioning kind
(timestamp/trx_id).
Removed Type_handler::Vers_history_point_check_unit() in favor of
Type_handler::vers().
Renames:
require_timestamp() -> require_timestamp_error()
require_trx_id() -> require_trx_id_error()
EDIT by Alexander Barkov (@abarkov):
check_sys_fields() moved to Vers_type_handler::check_sys_fields()
2019-09-30 14:05:09 +03:00
Marko Mäkelä
60c04be659
Merge 10.3 into 10.4
2019-09-12 12:16:40 +03:00
Nikita Malyavin
f6a7730c45
MDEV-16490: It's possible to make a system versioned table without any versioning field
...
* do not allow versioned table to be without versioned (non-system) fields
* prohibit changing field versioning, when removing table versioning
* handle CREATE...SELECT as well
2019-09-09 20:14:47 +03:00
Sergei Golubchik
244f0e6dd8
Merge branch '10.3' into 10.4
2019-09-06 11:53:10 +02:00
Monty
a071e0e029
Merge branch '10.2' into 10.3
2019-09-03 13:17:32 +03: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
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
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
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
Oleksandr Byelkin
de745ecf29
MDEV-11953: support of brackets in UNION/EXCEPT/INTERSECT operations
2018-07-04 19:13:55 +02:00
Sergei Golubchik
9bd3af97df
MDEV-15413 Unexpected errors upon CREATE TABLE .. WITH SYSTEM VERSIONING AS SELECT ...
...
numerous fixes for CREATE ... SELECT with system versioning:
In CREATE ... SELECT the table is created based on the result set,
field properties do not count. That is
* field invisibility is *not* copied over
* AS ROW START/END is *not* copied over
* the history is *not* copied over
* system row_start/row_end fields can *not* be created from the SELECT part
2018-04-10 13:12:36 +02:00
Sergei Golubchik
041e9de6f8
wording: don't prohibit
2018-04-10 13:12:36 +02:00
Sergei Golubchik
052668f500
simplify versioning tests
2018-02-24 00:50:57 +01:00
Sergei Golubchik
558ee2ee84
fix --embedded tests
2018-01-13 02:01:35 +01:00
Sergei Golubchik
26971c9aea
SQL: versioning info in INFORMATION_SCHEMA
...
* show SYSTEM VERSIONED in INFORMATION_SCHEMA.TABLES
* show ROW START/ROW END columns in INFORMATION_SCHEMA.COLUMNS
2018-01-10 11:54:21 +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
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
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
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
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
Eugene Kosov
a04a283469
MDEV-14692 Server crash in MDL_ticket::has_stronger_or_equal_type
...
SQL: disable system-versioning stuff on TEMPORARY tables
2017-12-21 10:14:25 +03:00
Aleksey Midenkov
ee68d019d1
SQL: removed VERS_HIDDEN_FLAG [ closes #409 ]
2017-12-19 16:12:56 +03:00
Aleksey Midenkov
82379ce14d
SQL: error messages revised
2017-12-18 19:11:54 +03:00
Aleksey Midenkov
b55a149194
Timestamp-based versioning for InnoDB [ closes #209 ]
...
* Removed integer_fields check
* Reworked Vers_parse_info::check_sys_fields()
* Misc renames
* versioned as vers_sys_type_t
* Removed versioned_by_sql(), versioned_by_engine()
versioned() works as before;
versioned(VERS_TIMESTAMP) is versioned_by_sql();
versioned(VERS_TRX_ID) is versioned_by_engine().
* create_tmp_table() fix
* Foreign constraints for timestamp-based
* Range auto-specifier fix
* SQL: 1-row partition rotation fix [fixes #260 ]
* Fix 'drop system versioning, algorithm=inplace'
2017-12-18 19:03:51 +03:00
Aleksey Midenkov
27187443ef
MDEV-14650 Assertion 0 failed in TABLE::vers_update_fields [ fixes #402 ]
...
SQL: fixed selecion of handlerton by respecting partitioning
2017-12-14 19:45:11 +03:00
Aleksey Midenkov
459f40a232
SQL: create..select revisited [ closes #370 ]
2017-12-12 21:30:49 +03:00
Eugene Kosov
03b54a6b8a
SQL: table with duplicate ROW START/END columns [ fixes #369 ]
2017-12-08 16:26:17 +03:00
Sergei Golubchik
b3fe45bcd4
rephrase error messages, fix quoting
2017-12-08 16:26:17 +03:00
Aleksey Midenkov
68e160fb25
Tests: removed common.inc from results
2017-12-04 00:49:44 +03:00
Aleksey Midenkov
5c820a7125
SQL: create_like_table strip versioning for tmp tables [ #365 bug 6]
...
Tests affected (forced versioning):
rpl.rpl_row_merge_engine
2017-12-01 12:21:49 +03:00
Aleksey Midenkov
7320c683b9
Parser: disable SV for tmp tables [ closes #344 ]
2017-11-27 15:07:33 +03:00
Eugene Kosov
f9b8c908a0
SQL: ADD/DROP SYSTEM VERSIONING syntax for ALTER TABLE
2017-11-17 11:25:49 +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
17bd486f36
SQL: thd_start_utime() fix [ fixes #284 ]
2017-10-17 17:20:46 +03:00
Aleksey Midenkov
75bc483d7a
Tests: moved concat_execN() to common.inc
2017-09-25 22:07:01 +03:00
Eugene Kosov
b4cd2d3c12
Tests: duplicate system versioning field
2017-08-18 15:30:55 +03:00
Aleksey Midenkov
d3d2ea9fd5
SQL, Parser: system_time logic and syntax fixes [ closes #237 ]
2017-08-08 17:12:16 +03:00