Oleksandr Byelkin
f5c5f8e41e
Merge branch '10.5' into 10.6
2022-02-03 17:01:31 +01:00
Oleksandr Byelkin
a576a1cea5
Merge branch '10.3' into 10.4
2022-01-30 09:46:52 +01:00
Aleksey Midenkov
585cb18ed1
MDEV-27452 TIMESTAMP(0) system field is allowed for certain creation of system-versioned table
...
First, we do not add VERS_UPDATE_UNVERSIONED_FLAG for system field and
that fixes SHOW CREATE result.
Second, we have to call check_sys_fields() for any CREATE TABLE and
there correct type is checked for system fields.
Third, we update system_time like as_row structures for ALTER TABLE
and that makes check_sys_fields() happy for ALTER TABLE when we make
system fields hidden.
2022-01-13 23:35:17 +03:00
Marko Mäkelä
25ac047baf
Merge 10.5 into 10.6
2021-11-09 09:11:50 +02:00
Marko Mäkelä
47ab793d71
Merge 10.3 into 10.4
2021-11-09 08:40:14 +02:00
Aleksey Midenkov
c8cece9144
MDEV-26928 Column-inclusive WITH SYSTEM VERSIONING doesn't work with explicit system fields
...
versioning_fields flag indicates that any columns were specified WITH
SYSTEM VERSIONING. In that case we imply WITH SYSTEM VERSIONING for
the whole table and WITHOUT SYSTEM VERSIONING for the other columns.
2021-11-02 11:49:47 +03:00
Oleksandr Byelkin
6efb5e9f5e
Merge branch '10.5' into 10.6
2021-08-02 10:11:41 +02:00
Oleksandr Byelkin
7841a7eb09
Merge branch '10.3' into 10.4
2021-07-31 22:59:58 +02:00
Aleksey Midenkov
e09e304b78
MDEV-16857 system-invisible row_end is displayed in SHOW INDEX
...
Skip system-invisible keypart in get_schema_stat_record().
2021-07-06 01:02:09 +03:00
Dmitry Shulga
97e8d27bed
MDEV-16708: fix in test failures(added --enable_prepared_warnings/--disable_prepared_warnings)
2021-06-17 19:30:24 +02: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ä
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
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
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
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
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
6470a9343d
Tests: use bigint in versioning.create,trx_id
2018-01-10 11:53:20 +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
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
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
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
Sergei Golubchik
903be4e6be
remove my_error_as and one unnecessary error message
2017-12-08 16:26:16 +03:00
Aleksey Midenkov
5bf14f93a4
Tests: fix combinations
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
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
Eugene Kosov
1903b407da
SQL: ignore columns WITHOUT VERSIONING [ fixes #220 ]
2017-07-04 17:45:14 +03:00