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
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
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
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
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
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
Monty
a071e0e029
Merge branch '10.2' into 10.3
2019-09-03 13:17:32 +03:00
Aleksey Midenkov
2e73561c6c
MDEV-16804 SYSTEM VERSIONING columns not showing as GENERATED
...
Closes #830
2019-06-14 11:12:18 +02: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
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
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
Eugene Kosov
1903b407da
SQL: ignore columns WITHOUT VERSIONING [ fixes #220 ]
2017-07-04 17:45:14 +03:00
Aleksey Midenkov
bdcce58fad
IB: long names in information_schema
2017-07-04 12:09:33 +03:00
Aleksey Midenkov
72de7721b9
SQL: No implicit versioning when created from SELECT [ closes #219 ]
2017-07-03 17:38:59 +03:00
Aleksey Midenkov
4b0f1284ee
SQL: revisit error messages [ closes #217 ]
2017-07-03 14:04:34 +03:00
Eugene Kosov
46d572dde4
SQL: default engine fix in create from versioned [ fixes #206 ]
2017-06-29 12:07:16 +03:00
kevg
ec0002e908
Parser: useful attributes for AS ROW fields
2017-05-18 17:46:04 +03:00
Aleksey Midenkov
b19645caf5
Tests: verify_vtq() fix
2017-05-05 20:36:38 +03:00
Aleksey Midenkov
67cd92b6f4
SQL, IB: Copy history via CREATE .. SELECT [ closes #157 , #152 ]
2017-05-05 20:36:33 +03:00
Aleksey Midenkov
7a525e7e93
Parser: no implicit NOT NULL for system fields [ fixes #163 ]
2017-05-05 20:36:33 +03:00