db3be33ec8
MDEV-16783 Assertion `!conds' failed in mysql_delete upon 2nd execution of SP with DELETE HISTORY
...
* remove assertion
* do not setup `conds` if it's already cached
Fixes #823
2018-08-24 11:20:06 +02:00
21eccff625
MDEV-15979 DELETE HISTORY from a table with transaction-precise versioning causes Assertion `table_list->vers_conditions.type == SYSTEM_TIME_BEFORE' failure
...
* Fix versioning.truncate,trx_id to create transaction-based tables
* Fix SYSTEM_TIME_BEFORE condition for VERS_TRX_ID
2018-05-17 15:33:42 +02:00
17f8e0ecdf
unify error messages a bit
2018-02-24 01:28:45 +01:00
e36c5ec0a5
PARTITION BY SYSTEM_TIME INTERVAL ...
...
Lots of changes:
* calculate the current history partition in ::external_lock(),
not in ::write_row() or ::update_row()
* remove dynamically collected per-partition row_end stats
* no full table scan in open_table_from_share to calculate these
stats, no manual MDL/thr_locks in open_table_from_share
* no shared stats in TABLE_SHARE = no mutexes or condition waits when
calculating current history partition
* always compare timestamps, don't convert them to MYSQL_TIME
(avoid DST ambiguity, and it's faster too)
* correct interval handling, 1 month = 1 month, not 30 * 24 * 3600 seconds
* save/restore first partition start time, and count intervals from there
* only allow to drop first partitions if INTERVAL
* when adding new history partitions, split the data in the last history
parition, if it was overflowed
* show partition boundaries in INFORMATION_SCHEMA.PARTITIONS
2018-02-23 19:17:48 +01:00
9f6a7ed2d7
SQL: Truncate history of partitioned table [ fixes #399 , closes #403 ]
...
also, don't rotate versioning partitions for DELETE HISTORY
originally by: Aleksey Midenkov
2018-02-23 15:33:21 +01:00
5c760d952b
Parser: default SYSTEM_TIME ALL for DELETE HISTORY
2017-12-21 10:48:48 +03:00
7eff2080fd
MDEV-14687 DELETE HISTORY in prepared stmt crash [ fixes #421 ]
...
Also fixes broken truncate after 617e108fb6
2017-12-20 16:12:32 +03:00
c5d0c38efc
MDEV-14676 Redundancy in error codes
...
ER_VERS_NOT_VERSIONED vs ER_VERSIONING_REQUIRED
2017-12-19 22:05:25 +03:00
617e108fb6
s/TRUNCATE ... TO/DELETE HISTORY FROM ... BEFORE/
2017-12-19 16:35:38 +03:00
8ba06032ae
MDEV-14684 Assertion `table' failed in mysql_delete
...
SQL: disable TRUNCATE table_name TO statement for VIEWs
2017-12-19 15:12:11 +03:00
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
4624e565f3
System Versioning 1.0 pre6
...
Merge remote-tracking branch 'mariadb/bb-10.3-temporal-serg' into trunk
2017-12-15 18:12:18 +03:00
ab5ec0f346
SQL: disable truncate history on partitioned [ fixes #399 ]
2017-12-14 19:11:02 +03:00
a49239b57a
SQL: truncate syntax and privilege [ closes #229 ]
2017-09-08 10:22:24 +03:00
d3d2ea9fd5
SQL, Parser: system_time logic and syntax fixes [ closes #237 ]
2017-08-08 17:12:16 +03:00
c2c8808a16
SQL: compare TRX_ID fields against timestamps [ closes #231 ]
2017-08-03 16:01:16 +03:00
c99bd3ac1a
Tests: truncate.test: get rid of transaction number
2017-07-20 17:15:11 +03:00
91c8b43e77
Parser: syntax for query system_time [ closes #230 ]
...
Eliminated `QUERY FOR`.
2017-07-12 12:10:13 +03:00